@emailmaker/emailmaker 1.1.85-dev.6 → 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.
Files changed (79) hide show
  1. package/README.md +17 -5
  2. package/{emailmaker-core.fd7c3ffe.js → emailmaker-core.2047dd1a.js} +42 -42
  3. package/emailmaker-esm.js +10 -10
  4. package/{emailmaker-po.fd7c3ffe.js → emailmaker-po.2047dd1a.js} +1 -1
  5. package/emailmaker.d.ts +33 -6
  6. package/emailmaker.js +12 -12
  7. package/iframe/.vite/manifest.json +4 -4
  8. package/iframe/js/{discussHandlers.Clc2uPQ5.js → discussHandlers.DEF7Kx48.js} +5 -5
  9. package/iframe/js/iframe-eblock.body.js +1 -1
  10. package/iframe/js/iframe-eblock.js +1 -1
  11. package/iframe/js/iframe.body.js +2 -2
  12. package/iframe/js/iframe.js +1 -1
  13. package/node_modules/@emailmaker/ui-kit/es/components/Custom/FormPanel/FormSection/index.js +1 -1
  14. package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/ColorPickerInput/index.js +1 -1
  15. package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/ControlFontFamily/index.js +1 -1
  16. package/node_modules/@emailmaker/ui-kit/es/components/Custom/Inputs/InputSelect/index.js +34 -31
  17. package/node_modules/@emailmaker/ui-kit/es/components/Custom/PanelForm/index.js +1 -1
  18. package/node_modules/@emailmaker/ui-kit/es/components/DataDisplay/Card/index.js +1 -1
  19. package/node_modules/@emailmaker/ui-kit/es/components/DataDisplay/Skeleton/index.js +1 -1
  20. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Cascader/index.js +1 -1
  21. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Checkbox/index.js +1 -1
  22. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/ColorPicker/index.js +1 -1
  23. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/DatePicker/index.js +1 -1
  24. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Form/index.js +1 -1
  25. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Input/index.js +1 -1
  26. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/InputNumber/index.js +1 -1
  27. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/InputOTP/index.js +1 -1
  28. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Password/index.js +1 -1
  29. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Radio/index.js +1 -1
  30. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/SearchInput/index.js +1 -1
  31. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/Switch/index.js +2 -2
  32. package/node_modules/@emailmaker/ui-kit/es/components/DataEntry/TextArea/index.js +1 -1
  33. package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Alert/index.js +1 -1
  34. package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Popconfirm/index.js +1 -1
  35. package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Spin/index.js +1 -1
  36. package/node_modules/@emailmaker/ui-kit/es/components/Feedback/Tooltip/index.js +1 -1
  37. package/node_modules/@emailmaker/ui-kit/es/components/General/Button/index.js +1 -1
  38. package/node_modules/@emailmaker/ui-kit/es/components/Layout/Divider/index.js +1 -1
  39. package/node_modules/@emailmaker/ui-kit/es/components/Layout/Row/index.js +1 -1
  40. package/node_modules/@emailmaker/ui-kit/es/components/Layout/Space/index.js +1 -1
  41. package/node_modules/@emailmaker/ui-kit/es/components/Navigation/FloatButton/index.js +1 -1
  42. package/node_modules/@emailmaker/ui-kit/es/components/Navigation/Segmented/index.js +1 -1
  43. package/node_modules/@emailmaker/ui-kit/es/components/Navigation/Tabs/index.js +1 -1
  44. package/node_modules/@emailmaker/ui-kit/package.json +1 -1
  45. package/package.json +2 -2
  46. package/runtime/react/index.js +1 -1
  47. package/static/core/{dc224a5b.js → 134673be.js} +1 -1
  48. package/static/core/{f0138633.js → 13cb7458.js} +1 -1
  49. package/static/core/{baf39a20.js → 20510a35.js} +1 -1
  50. package/static/core/{ceff9046.js → 3364944b.js} +1 -1
  51. package/static/core/{af5819b6.js → 357b2101.js} +1 -1
  52. package/static/core/{922df02d.js → 3608ef89.js} +1 -1
  53. package/static/core/{1cb0ff80.js → 384f52ae.js} +1 -1
  54. package/static/core/{dd291b53.js → 38ea40d5.js} +1 -1
  55. package/static/core/{1c31ec91.js → 49417e0f.js} +1 -1
  56. package/static/core/{48270509.js → 4a69e61b.js} +2 -2
  57. package/static/core/{afb434bd.js → 4ce7d544.js} +1 -1
  58. package/static/core/{7b8ce310.js → 4ed7c44e.js} +1 -1
  59. package/static/core/{7010b77d.js → 4eec44be.js} +1 -1
  60. package/static/core/{d240cf62.js → 52727b3c.js} +2 -2
  61. package/static/core/{6a5804ca.js → 6dd8d273.js} +1 -1
  62. package/static/core/{72c8c438.js → a259d477.js} +1 -1
  63. package/static/core/{adf163ad.js → a6d4a170.js} +1 -1
  64. package/static/core/{422d6166.js → bb9b0659.js} +1 -1
  65. package/static/core/{9ce867fe.js → bfb41946.js} +1 -1
  66. package/static/core/{8130abb3.js → c463cfc9.js} +1 -1
  67. package/static/core/{dbb931dd.js → c70ac7ca.js} +1 -1
  68. package/static/core/{9bc03055.js → d1a1a5b2.js} +1 -1
  69. package/static/core/{7cc4b0e9.js → e7c35a6b.js} +1 -1
  70. package/static/core/{c54e9dcb.js → f220d2ff.js} +1 -1
  71. package/static/core/{ad7afbf4.js → fc16423f.js} +8 -8
  72. package/static/esm/e1e55006.js +1 -0
  73. package/static/umd-runtime/runtime.js +1 -1
  74. package/static/umd-runtime/ui-kit.js +2 -2
  75. package/vite/index.cjs +38 -0
  76. package/vite/index.js +38 -0
  77. package/static/esm/6e6cc619.js +0 -1
  78. /package/iframe/{iframe-eblock.fd7c3ffe.html → iframe-eblock.2047dd1a.html} +0 -0
  79. /package/iframe/{iframe.fd7c3ffe.html → iframe.2047dd1a.html} +0 -0
package/emailmaker.js CHANGED
@@ -1014,7 +1014,7 @@ var __amdEnv = window.__emailmaker__ || (window.__emailmaker__ = {});
1014
1014
 
1015
1015
 
1016
1016
  // Configure AMD loader
1017
- __amdEnv.require.config({ baseUrl: "./", paths: {"core":"emailmaker-core.fd7c3ffe.js","monaco":"static/monaco/index.js","po":"emailmaker-po.fd7c3ffe.js"} });
1017
+ __amdEnv.require.config({ baseUrl: "./", paths: {"core":"emailmaker-core.2047dd1a.js","monaco":"static/monaco/index.js","po":"emailmaker-po.2047dd1a.js"} });
1018
1018
 
1019
1019
  // PublicPath (script detection: entry script lookup → document.currentScript)
1020
1020
  if (!__emailmaker__.publicPath) {
@@ -1362,7 +1362,7 @@ if (!ns.assetUrl) {
1362
1362
  }
1363
1363
 
1364
1364
  if (!ns.version) {
1365
- ns.version = "1.1.85-dev.6";
1365
+ ns.version = "1.1.85-dev.8";
1366
1366
  }
1367
1367
 
1368
1368
  var modules = ns.modules = Object.create(null);
@@ -2072,17 +2072,17 @@ if (typeof ns.define === 'function') {
2072
2072
  })();
2073
2073
 
2074
2074
 
2075
- __emailmaker__.define("static/umd/d84cba13.js",["require","exports","module"],function(bn,u,Dn){var g=class ct{_inner;_isDisposed=!1;constructor(t=[]){this._inner=t}addDisposable(t){return this._inner.push(t),t instanceof ct&&t.addDispose(()=>{this.removeDisposable(t)}),t}addDispose(t){this.addDisposable({dispose:t})}removeDisposable(t){const r=this._inner.indexOf(t);r>=0&&this._inner.splice(r,1)}isDisposed(){return this._isDisposed}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(const t of[...this._inner])t.dispose()}}};function M(e){return`service_container_${e}`}var P=new Set,X;function ut(){if(!X)return;const e=new Error("getInstanceAsync"),t=Error;return typeof t.captureStackTrace=="function"&&t.captureStackTrace(e,se.prototype.getInstanceAsync),e.stack}function V(e){P.delete(e)&&X?.end(e)}var se=class oe extends g{_parent;_injectCallbacks=[];_injections=Object.create(null);_runCallbacks(t){this._injectCallbacks.forEach(r=>r(t))}constructor(t=null){super(),this._parent=t,t&&this.addDisposable(t.onInject(r=>this._runCallbacks(r)))}onInject=t=>(this._injectCallbacks.push(t),{dispose:()=>{const r=this._injectCallbacks.indexOf(t);r>=0&&this._injectCallbacks.splice(r,1)}});inject(t,r){this._injections[t]=()=>r,this._runCallbacks(t)}injectFactory(t,r,n){const i=this._injections[t];let o=typeof i=="function"?i():i;const s=this._injections[t]=()=>(o=r(this,o),o);n&&s(),this._runCallbacks(t)}_find(t,r=!0){return this._injections[t]||r&&this._parent?._find(t)}_onInject(t,r,n=new g){return n.addDisposable(this.onInject(i=>{t===i&&(n.dispose(),r(this.getInstance(i)))})),this._parent&&n.addDisposable(this._parent._onInject(t,r,n)),this.addDisposable(n),n}getInstance(t,r=!0){const n=this._find(t,r);if(typeof n=="function")return n()}getOrCreateInstance(t,r){const n=this._find(t);if(typeof n=="function")return n();const i=r(this);return this.inject(t,i),i}getInstanceAsync(t){const r=this._find(t);if(typeof r=="function")return Promise.resolve(r());const n=ut();return new Promise((i,o)=>{const s={id:String(t),startedAt:Date.now(),origin:n,container:this,reject:o};P.add(s),X?.start(s),this._onInject(t,()=>{V(s),i(this.getInstance(t))})})}failPendingWaits(t){for(const r of Array.from(P))r.container===this&&(V(r),r.reject(t))}pendingWaits(){return[...P].filter(t=>t.container===this)}addService(t,r){const n=M(t);this.injectFactory(n,(o,s=[])=>s.indexOf(r)<0?[...s,r]:s);const i=new g;return i.addDispose(()=>{this.injectFactory(n,(o,s=[])=>s.filter(a=>a!==r))}),i}addServiceFactory(t,r,n){const i=M(t);let o;this.injectFactory(i,(a,c=[])=>(o=r(a,o),o===void 0?c:c.indexOf(o)<0?[...c,o]:c),n);const s=new g;return s.addDispose(()=>{this.injectFactory(i,(a,c=[])=>o===void 0?c:c.filter(_=>_!==o))}),s}getServices(t){const r=M(t);return[...this.getInstance(r,!1)||[],...this._parent?.getServices(t)||[]]}createChild(){return new oe(this)}getOrCreateIsolatedContainer(t){return this.getOrCreateInstance(t,()=>{const r=this._parent?.getOrCreateIsolatedContainer(t);return new oe(r)})}remove(t){const r=this._injections;delete r[String(t)]}injectListenerCount(){return this._injectCallbacks.length}dispose(){for(const t of Array.from(P))t.container===this&&V(t);this._injections=Object.create(null),this._injectCallbacks=[],super.dispose()}};function $(e){return e.startsWith("__")?e:`__${e}__`}function _t(e){if(typeof globalThis>"u")throw new Error("[di] globalThis is required for namespace container access.");const t=$(e),r=globalThis;return r[t]??={}}function lt(e){return e!=null&&typeof e=="object"&&typeof e.inject=="function"&&typeof e.getInstance=="function"}function dt(e){if(e)return $(e);const t="emailmaker".trim();if(!t)throw new Error("[di] REACT_APP_NAME is required for resolveContainer().");return $(t)}function ae(e){const t=dt(e),r=_t(t);if(lt(r.container))return r.container;const n=new se(null);return r.container=n,n}function ft(e){return ae(e)}function Et(){let e=new Date().getTime(),t=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){let n=Math.random()*16;return e>0?(n=(e+n)%16|0,e=Math.floor(e/16)):(n=(t+n)%16|0,t=Math.floor(t/16)),(r==="x"?n:n&3|8).toString(16)})}function ce(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Et()}function f(e=ce()){return e}function ue(){return"umd".trim()||"unknown"}function pt(e){if(typeof globalThis>"u")return;const t=ue(),r=globalThis[e]??{};globalThis[e]=r;const n=r.__diagnostics??={},i=n.diModuleEval??={evalCount:0,records:[]};i.records.push({buildSource:t,timestamp:Date.now(),stack:new Error().stack}),i.evalCount+=1}function ht(){const e="emailmaker".trim();if(!e)throw new Error("[di] REACT_APP_NAME is required for DependencyResolver diagnostics.");return`__${e}__`}function Ot(e,t){if(pt(t),typeof globalThis>"u")return e;const r=ue(),n=globalThis,i=n[t]=n[t]||{},o=i.__diagnostics=i.__diagnostics||{},s=o.dependencyResolver=o.dependencyResolver||{entries:[]},a={container:e,source:"packages/runtime-core/di/index.ts",buildSource:r,timestamp:Date.now(),stack:new Error().stack};return s.entries.push(a),e}var j;function At(){if(j)return j;const e=ht();return j=Ot(ae(e),e),j}var W=new Proxy({},{get(e,t,r){const n=At(),i=Reflect.get(n,t,r);return typeof i=="function"?i.bind(n):i}});function It(e,t="BackendError"){switch(e){case 400:return"ValidationError";case 401:return"AuthenticationFailed";case 403:return"AuthorizationFailed";case 404:return"FileNotFound";case 413:return"PayloadTooLarge";case 415:return"UnsupportedMediaType";case 429:return"RateLimitExceeded";case 500:return"BackendError";case 503:return"ServiceUnavailable";case 504:return"Timeout";default:return t}}function S(e){if(e instanceof DOMException&&e.name==="AbortError")return e;const t=e===void 0?"The operation was aborted.":typeof e=="string"?e:e instanceof Error?e.message:String(e);return new DOMException(t,"AbortError")}function q(e){if(e?.aborted)throw S(e.reason)}function gt(e,t){return t?(t.aborted&&e.catch(()=>{}),q(t),new Promise((r,n)=>{const i=()=>{o(),n(S(t.reason))},o=()=>{t.removeEventListener("abort",i)};t.addEventListener("abort",i),e.then(s=>{o(),r(s)},s=>{o(),n(s)})})):e}var _e=class extends g{_options;_listeners=[];constructor(e={}){super(),this._options=e}getListeners(e){return this._listeners.flatMap(([t])=>typeof t=="function"?t:t.getListeners(e))}hasListeners(){for(const[e]of this._listeners){if(typeof e=="function")return!0;const t=e;if(typeof t.hasListeners=="function"){if(t.hasListeners())return!0;continue}return!0}return!1}_addListener(e,t=0,r){if(this.isDisposed())return{dispose:()=>{}};const n=this._listeners,i=this._options;r&&typeof e=="function"&&(e=e.bind(r));const o=n.findIndex(([,a])=>a<t),s=[e,t];return n.splice(o>=0?o:n.length,0,s),n.length===1&&i.onFirstListenerAdd&&i.onFirstListenerAdd(),{dispose:()=>{const a=n.indexOf(s);a>=0&&(n.splice(a,1),!n.length&&i.onLastListenerRemove&&i.onLastListenerRemove())}}}on=this._addListener.bind(this);event=this._addListener.bind(this);once=(e,t=0,r)=>{const n=this._addListener((...i)=>(n?.dispose(),r?e.call(r,...i):e(...i)),t);return n};un=e=>{const t=this._listeners.findIndex(([r])=>r===e);t>=0&&(this._listeners.splice(t,1),this._listeners.length===0&&this._options.onLastListenerRemove&&this._options.onLastListenerRemove())};dispose(){this._listeners.splice(0,this._listeners.length),this._options.onLastListenerRemove&&this._options.onLastListenerRemove(),super.dispose()}},b=class extends _e{execute(e,t){for(const r of t)try{r(...e)}catch{}}fire(...e){if(!this.isDisposed()){const t=this.execute(e,this.getListeners(e));return t===void 0?void 0:t}}},mt=class extends b{execute([e],t){for(const r of t)try{r(e)}catch{}}},Tt=class extends b{_suspendCounter=0;_wasFired=!1;execute([e],t){if(this._suspendCounter)this._wasFired=!0;else for(const r of t)try{r(e)}catch{}}suspend(){this._suspendCounter++}resume(){--this._suspendCounter===0&&this._wasFired&&(this.fire(),this._wasFired=!1)}},B=class extends b{async execute([e],t){const r=[];for(const n of t)try{r.push(await n(e))}catch{}return r}async fireSettled(e){const t={results:[],errors:[]};if(this.isDisposed())return t;for(const r of this.getListeners([e]))try{t.results.push(await r(e))}catch(n){t.errors.push(n)}return t}};function St(e,t=0){const r=new _e,n=e(r,t);return n&&r.addDisposable(n),r.event}function bt(e,t,r=0){const n=new b,i=e((...o)=>{if(t(...o))return n.fire(...o)},r);return i&&n.addDisposable(i),n.event}function Dt(e,t=0,r=0){const n=new b;let i,o;const s=e((...a)=>{o=a,i||(i=setTimeout(()=>{o&&n.fire(...o),i=void 0},t))},r);return s&&n.addDisposable(s),n.event}function Nt(e,t){return e.getOrCreateInstance(t,()=>new B)}function d(e){return f(e)}var K;(function(e){e.BEFORE_SAVE_EMAIL=d("events.BEFORE_SAVE_EMAIL"),e.ON_SAVEBUTTON_CLICK_ID=d("events.ON_SAVEBUTTON_CLICK_ID"),e.ON_NEXTBUTTON_CLICK_ID=d("events.ON_NEXTBUTTON_CLICK_ID"),e.ON_PREVIOUSBUTTON_CLICK_ID=d("events.ON_PREVIOUSBUTTON_CLICK_ID"),e.ON_DOCUMENT_SESSION_CHANGE=d("events.ON_DOCUMENT_SESSION_CHANGE"),e.WILL_EMAIL_INIT_ID=d("events.WILL_EMAIL_INIT_ID"),e.ON_EMAIL_INIT_ID=d("events.ON_EMAIL_INIT_ID"),e.ON_BLOCK_INIT_ID=d("events.ON_BLOCK_INIT_ID"),e.ON_CONTENT_CHANGED_ID=d("events.ON_CONTENT_CHANGED_ID"),e.ON_PREHEADER_CHANGED_ID=d("events.ON_PREHEADER_CHANGED_ID"),e.ON_SUBJECT_CHANGED_ID=d("events.ON_SUBJECT_CHANGED_ID"),e.ON_EMAIL_CHANGED_ID=d("events.ON_EMAIL_CHANGED_ID"),e.ON_HEADER_APPLIED_ID=d("events.ON_HEADER_APPLIED_ID"),e.ON_BLOCK_CHANGED_ID=d("events.ON_BLOCK_CHANGED_ID"),e.ON_CHUNKS_LOADED=d("events.ON_CHUNKS_LOADED"),e.ON_SEND_TESTEMAIL_ID=d("events.ON_SEND_TESTEMAIL_ID"),e.ON_SEND_LIVEPREVIEW_ID=d("events.ON_SEND_LIVEPREVIEW_ID"),e.ON_SHARE_ID=d("events.ON_SHARE_ID"),e.ON_SHOW_PREVIEW_ID=d("events.ON_SHOW_PREVIEW_ID"),e.ON_EMAIL_CLONE_ID=d("events.ON_EMAIL_CLONE_ID"),e.ON_SEND_EMAIL_MODAL_ID=d("events.ON_SEND_EMAIL_MODAL_ID"),e.ON_NOTIFICATION=d("events.ON_NOTIFICATION"),e.READ_LOCALE=d("events.READ_LOCALE"),e.ON_TRANSLATE_ID=d("events.ON_TRANSLATE_ID"),e.ON_CODE_VALIDATE_ID=d("events.ON_CODE_VALIDATE_ID"),e.UPLOAD_EVENT_ID=d("events.UPLOAD_EVENT_ID"),e.PROXY_URL_EVENT_ID=d("events.PROXY_URL_EVENT_ID"),e.FILE_PROXY_EVENT_ID=d("events.FILE_PROXY_EVENT_ID"),e.ON_LIMIT_ID=d("events.ON_LIMIT_ID"),e.ON_BROWSER_EXTENSION_DETECTED_ID=d("events.ON_BROWSER_EXTENSION_DETECTED_ID"),e.ON_LAYOUT_CONVERT_REQUEST_ID=d("events.ON_LAYOUT_CONVERT_REQUEST_ID"),e.ON_BROWSER_TRANSLATE_DETECTED_ID=d("events.ON_BROWSER_TRANSLATE_DETECTED_ID"),e.AI_TEXT_REQUEST_ID=d("events.AI_TEXT_REQUEST_ID"),e.AI_IMAGE_REQUEST_ID=d("events.AI_IMAGE_REQUEST_ID"),e.AI_TEXT_PROGRESS_ID=d("events.AI_TEXT_PROGRESS_ID"),e.AI_IMAGE_PROGRESS_ID=d("events.AI_IMAGE_PROGRESS_ID"),e.AI_TEXT_STREAM_ID=d("events.AI_TEXT_STREAM_ID")})(K||(K={}));function yt(e,t){return e.getOrCreateInstance(t,()=>new B).event}function Pt(e,t){return e.getOrCreateInstance(t,()=>new B)}var Ct=f("plugin.app"),Lt=f("plugin.disposable"),Rt=f("InitPipelineContext"),vt=f("plugin.instance"),wt=f("plugin.lateSurfaceListeners"),le=f("plugin.optionsSource"),Mt=f("plugin.store"),de=f("ConfigSource"),jt=f("plugin.standalone.project"),fe=f("plugin.standalone.bootstrapToken"),Nn=f("plugin.element"),Ee=f("plugin.securityModule"),Bt=f("plugin.standalone.activated"),xt=f("plugin.standalone.fileProxyRegistered"),z=f("plugin.jwt.token"),C=f("plugin.jwt.error"),Ft=f("PluginCollection"),kt=d("APP_LOAD_EVENT"),Ut=d("CONFIG_CHANGED_EVENT"),Gt=(function(e){return e.Json="application/json",e.FormData="multipart/form-data",e.UrlEncoded="application/x-www-form-urlencoded",e.Text="text/plain",e})({}),Ht=class{baseUrl="https://api.emailmaker.ru/wp-json";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(r=>this.encodeQueryParam(t,r)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(r=>typeof t[r]<"u").map(r=>Array.isArray(t[r])?this.addArrayQueryParam(t,r):this.addQueryParam(t,r)).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,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>Object.keys(e||{}).reduce((t,r)=>{const n=e[r];return t.append(r,n instanceof Blob?n:typeof n=="object"&&n!==null?JSON.stringify(n):`${n}`),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 r=this.abortControllers.get(e);return r?r.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))};async request({body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:s,cancelToken:a,extraQuery:c,proxyHandler:_,...l}){const E=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},h=this.mergeRequestParams(l,E);c&&(i=i?{...i,...c}:c);const p=i&&this.toQueryString(i),I=this.contentFormatters[n||"application/json"],O=o||h.format,G=`${s||this.baseUrl||""}${r}${p?`?${p}`:""}`,Tn=_?_(G,{body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:s,cancelToken:a,extraQuery:c,proxyHandler:_,...l}):G,st=new Request(Tn,{...h,headers:{...h.headers||{},...n&&n!=="multipart/form-data"?{"Content-Type":n}:{}},signal:(a?this.createAbortSignal(a):h.signal)||null,body:typeof e>"u"||e===null?null:I(e)});return this.customFetch(st).then(async at=>{const m=at;m.data=null,m.error=null,m.meta={request:st,response:m};const Sn=O?await at[O]().then(H=>(m.ok?m.data=H:m.error={data:H},m)).catch(H=>(m.error=H,m)):m;return a&&this.abortControllers.delete(a),Sn})}},Xt=f("prewarm.networkActivity");function Vt(){let e=0;const t=new Set,r=()=>{t.forEach(n=>n())};return{begin(){e+=1,r();let n=!1;return()=>{n||(n=!0,e-=1,r())}},inFlight:()=>e,watch(n){return t.add(n),()=>t.delete(n)}}}function $t(e){return e.getOrCreateInstance(Xt,()=>Vt())}var pe=Symbol("rest.publicRequest"),x=f("rest.requestHandler"),Wt=f("rest.responseHandler"),J=f("rest.customFetch"),Y=f("rest_transport"),qt=e=>{e.inject(J,{execute:async(t,r={})=>{const n=e.getServices(x),i={public:r[pe]===!0},o=$t(e).begin();try{let s=t instanceof Request?t:new Request(t,r);for(const _ of n){const l=await _.execute(s,i);l instanceof Request&&(s=l)}let a=await fetch(s);const c=e.getServices(Wt);for(const _ of c)a=await _.execute(a);return a}finally{o()}}})};function Kt(e,t){const r=e.getInstance(Y);if(!r)throw new Error("[restApi] транспорт не зарегистрирован в контейнере");return Object.assign({},...t.map(n=>new n(r)))}function zt(e,t=window){return{peer:e,send(r){e.postMessage(r,"*")},subscribe(r){const n=i=>{r({data:i.data,source:i.source,ports:i.ports})};return t.addEventListener("message",n),{dispose:()=>t.removeEventListener("message",n)}},close(){}}}function Jt(e){let t=!1;return{peer:e,send(r){e.postMessage(r)},subscribe(r){const n=i=>{r({data:i.data,source:e})};return e.addEventListener("message",n),t||(t=!0,e.start()),{dispose:()=>e.removeEventListener("message",n)}},close(){e.close()}}}function Yt(e){return e}function Qt(e){return e&&typeof e=="object"}function he(e,t){return e&&typeof e=="object"&&e.operationId===t}var T="INIT_MESSAGE",Oe="em:port-ready",Zt="em:window-drained",Q="";function Ae(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}var er=class extends g{_listeners=Object.create(null);addListenerAsync=(e,t,r=0,n)=>{const i=this._listeners[e]||(this._listeners[e]=[]);n&&typeof t=="function"&&(t=t.bind(n));const o=i.findIndex(([a,c])=>r<=c),s=[t,r];return this.isDisposed()||i.splice(o>=0?o:i.length,0,s),{dispose(){const a=i.indexOf(s);a>=0&&i.splice(a,1)}}};fireAsync=(e,t)=>{if(!this.isDisposed()){const r=this._listeners[e]||(this._listeners[e]=[]);let n;for(let i=0;i<r.length;i++){const o=r[i][0],s=n;n=a=>o(a,s)}if(n)return n(t)}};addListener=(e,t,r=0)=>this.addListenerAsync(e,(n,i)=>{try{t(n)}catch{}return i&&i(n)},r)},tr=class extends g{_singleton;_target;_transport;_transportSubscription;_ports=new Map;_drained=new WeakSet;_inited=!1;_emitter=this.addDisposable(new er);_handshaken=new WeakSet;_greeted=new WeakSet;_outgoingFilter;constructor(e,t){super(),this._singleton=t,this._transport=zt({postMessage:()=>{}},window),this._transportSubscription=this.addDisposable(this._transport.subscribe(this._onTransportMessage)),this.addListener(T,()=>{this._inited||(this._inited=!0,this._target&&this._handshaken.add(this._target),this.send(T))}),e&&this.setTarget(e)}_onTransportMessage=e=>{const t=e,r=t.data,n=t.source,i=r?.port===!0?t.ports?.[0]:void 0,o=!this._isPortSource(t.source);if(o&&n&&r?.operationId==="em:window-drained"){this._drained.add(n);return}if(!(o&&n&&this._drained.has(n))){if(n&&n!==this._target&&this._greeted.has(n)&&he(r,T)){this._greeted.delete(n),this._handshaken.add(n),this._postMessage(n,{operationId:T,data:{}}),i&&this.usePort(i,!0,n);return}if(Qt(r)&&(t.source===this.target||this._isCurrentPort(t.source))||this._singleton&&he(r,T)){if(i){const _=this._target;Promise.resolve().then(()=>this.usePort(i,!0,_))}const s=this._emitter.fireAsync(r.operationId||Q,r.operationId===void 0?t:r.data),a=r.result,c=r.error;a&&c&&Promise.resolve(s).then(_=>this._sendMessage(a,_),_=>this._sendMessage(c,_))}}};setTarget(e){if(this._target!==e){if(this._target=e,!e){this._inited=!1;return}if(this._handshaken.has(e)){this._inited=!0,this._emitter.fireAsync(T,void 0);return}this._inited=!1,this._postMessage(e,{operationId:T,data:{}})}}sendPort(e,t){this._postMessage(e,{operationId:T,data:{},port:!0},[t])}setOutgoingFilter(e){return this._outgoingFilter=e,()=>{this._outgoingFilter===e&&(this._outgoingFilter=void 0)}}greet(e){this._handshaken.has(e)||this._greeted.has(e)||this._target===e||(this._greeted.add(e),this._postMessage(e,{operationId:T,data:{}}))}forget(e){this._handshaken.delete(e),this._greeted.delete(e),this._closePort(e),this._drained.delete(e),this._target===e&&(this._inited=!1)}usePort(e,t=!1,r=this._target){if(!r||this._ports.has(r))return;const n=Jt(e),i=n.subscribe(this._onTransportMessage);this._ports.set(r,{transport:n,subscription:i}),t&&(n.send({operationId:Oe,data:{}}),this.drainWindow(r))}useWindow(e=this._target){e&&(this._closePort(e),this._drained.delete(e))}get usesPort(){return this._target!==void 0&&this._ports.has(this._target)}hasPort(e){return this._ports.has(e)}_closePort(e){const t=this._ports.get(e);t&&(t.subscription.dispose(),t.transport.close(),this._ports.delete(e))}drainWindow(e){this._ports.has(e)&&e.postMessage({operationId:Zt,data:{}},"*")}isWindowDrained(e){return this._drained.has(e)}_isPortSource(e){for(const t of this._ports.values())if(t.transport.peer===e)return!0;return!1}_isCurrentPort(e){return this._target!==void 0&&this._ports.get(this._target)?.transport.peer===e}getTarget(){return this._target}get target(){return this._target}_postMessage(e,t,r){let n=t;this._outgoingFilter&&!r?.length&&(n="data"in t?{...t,data:this._outgoingFilter(t.data)}:this._outgoingFilter(t));try{const i=this._ports.get(e);if(i){i.transport.send(n);return}if(r?.length){e.postMessage(n,"*",r);return}e.postMessage(n,"*")}catch(i){if(i?.name==="DataCloneError"){const o=typeof n?.data=="object"&&n?.data!==null?n.data:void 0}throw i}}_sendMessage(e,t,r=!0){if(!r&&!this.isInited())return;const n=this.addDisposable(this.onInit(i=>{const o=e?{operationId:e,data:t}:t;try{this._postMessage(i,{...o})}finally{n.dispose()}}))}send(e,t,r){return typeof e=="string"?this._sendMessage(e,t,r):this._sendMessage(Q,e,t)}sendAsync(e,t,r=!0){if(!r&&!this.isInited())return Promise.resolve();const n=Ae(),i=Ae();return new Promise((o,s)=>{const a=this.addDisposable(new g);a.addDisposable(this.onInit(c=>{try{this._postMessage(c,{operationId:e,data:t,result:n,error:i})}catch(_){a.dispose(),s(_);return}a.addDisposable(this._onMessage(n,_=>{o(_),a.dispose()})),a.addDisposable(this._onMessage(i,_=>{s(_),a.dispose()}))}))})}_onMessage(e,t,r=0){return this._emitter.addListener(e,t,r)}addListener(e,t,r){return t?this._onMessage(e,t,r):this._onMessage(Q,e)}addListenerAsyncPipe(e,t,r=0){return this._emitter.addListenerAsync(e,t,r)}addListenerAsync(e,t,r=0){return this._emitter.addListenerAsync(e,async(n,i)=>{const o=await t(n);return i?i(n):o},r)}isInited(){return this._inited}get inited(){return this._inited}onInit(e,t=!0,r=0){const n=this.addDisposable(new g);return this._inited&&this._target?t&&Promise.resolve().then(()=>{!this._inited||!this._target?n.addDisposable(this.onInit(e,t,r)):e(this._target)}):n.addDisposable(this._onMessage(T,()=>{e(this._target)},r)),n}dispose(){for(const e of Array.from(this._ports.keys()))this._closePort(e);this._transport.close(),super.dispose()}};function L(e){return f(e)}var rr=f("extensions.atomsHandlers"),nr=L("HANDLE_ATOM_INSERT"),ir=f("extensions.sandboxExtensions"),or="SANDBOX_EXTENSION_SCRIPT_STATUS",sr=f("MESSAGE_SERVICE"),ar=L("SETTINGS_PANEL_EVENT"),cr="advanced",ur=L("MODAL_SHOW_EVENT"),_r=L("MODAL_CLOSE_EVENT"),lr=L("MODAL_UPDATE_EVENT"),yn=f("client"),Pn=f("v2_client"),Cn=f("ai_client"),dr=f("app.cookieManager"),Ln=f("app.storageProvider"),Rn=f("image-blob-resolver"),fr=f("template-directives"),Er="INJECTION";function pr(e){return e.getState}function hr(e){if(!pr(e)){e.dispose();return}const t=e.getState()[Er];t&&(W.getInstance(t)?.dispose(),W.remove(t))}function Ie(e){return Object.assign({},...e)}var ge=["generic","stockImages","emFiles","cdn"];function Z(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function me(e){return!Z(e)||"match"in e||"rewrite"in e||"proxyBase"in e?!1:Object.keys(e).some(t=>ge.includes(t))}function Te(e){return e.length===0?[]:e.length===1?e[0]:e}function Se(e){let t=!1,r=[];for(const n of e)if(n!==void 0){if(t=!0,Array.isArray(n)){r=[...n,...r];continue}r=[n,...r]}if(t)return Te(r)}function Or(e){return Z(e)&&("value"in e||"replace"in e)}function be(e,t){return t===void 0?e:Array.isArray(t)?[...t,...e]:[t,...e]}function Ar(e){let t=!1,r=[],n=!1;for(const o of e)if(o!==void 0){if(Or(o)){t=!0,o.replace&&(r=[],n=!0),o.value!==void 0&&(r=be(r,o.value),n=!0);continue}r=be(r,o),n=!0}const i=n?Te(r):void 0;if(!t)return i;if(i!==void 0)return{value:i}}function Ir(e){const t=e.filter(n=>n!==void 0);if(t.length===0)return;if(!t.some(n=>me(n)))return Se(t);const r={};for(const n of ge){const i=Ar(e.map(o=>{if(o!==void 0)return me(o)?o[n]:n==="generic"?o:void 0}));i!==void 0&&(r[n]=i)}return Object.keys(r).length>0?r:void 0}function gr(e){return Se(e)}function mr(e){if(e!==void 0){if(Array.isArray(e))return{replace:!1,hosts:e};if(Z(e)&&Array.isArray(e.value))return{replace:!!e.replace,hosts:e.value}}}function Tr(e,t){const r=[...e],n=new Set(r.map(i=>i.toLowerCase()));for(const i of t){const o=i.trim().replace(/:\d+$/,"");if(!o)continue;const s=o.toLowerCase();n.has(s)||(n.add(s),r.push(o))}return r}function Sr(e){let t=[],r=!1;for(const n of e){const i=mr(n);i&&(r=!0,i.replace&&(t=[]),t=Tr(t,i.hosts))}return r?t:void 0}function br(e){const t=e.filter(i=>i!==void 0);if(t.length===0)return;const r=Ie(t.map(({directHosts:i,...o})=>o)),n=Sr(t.map(i=>i?.directHosts));return n!==void 0&&(r.directHosts=n),r}function ee(e){return e?.backendProxy}function R(e){return e.replace(/\/$/,"")}function De(e){return/^https?:\/\//i.test(e)}function Ne(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Dr(e){const t=new Set;return e.filter(r=>!r.url||t.has(r.url)?!1:(t.add(r.url),!0))}function Nr(e){const t=ee(e);return t?[t]:[]}function yr(e){return{proxyEmFiles:!0,proxyAi:!1}}function Pr(e,t){const r=yr(t),n=t?.backendProxyPolicy;switch(e){case"emFiles":return n?.proxyEmFiles??r.proxyEmFiles;case"ai":return n?.proxyAi??r.proxyAi;default:return!0}}var Cr={url:".+",url_encoded:".+",origin:"https?:\\/\\/[^\\/?#]+",origin_encoded:".+",proxy_url:"https?:\\/\\/[^\\/?#]+",proxy_url_encoded:".+",path:"[^?#]*",pathname:"[^?#]*",path_with_slash:"\\/[^?#]*",pathname_with_slash:"\\/[^?#]*",query:"[^#]*",search:"\\?[^#]*",hash:"#.*",fragment:".*",pathname_after_wp_json:"[^?#]*",pathname_after_wp_json_with_slash:"\\/[^?#]*",rest_namespace:"[^/?#]*",rest_version:"[^/?#]*",rest_route:"[^?#]*",rest_route_with_slash:"\\/[^?#]*"};function Lr(e){const t=[],r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\{([a-z_]+)\\\}/gi,(n,i)=>(t.push(i),`(${Cr[i]||".+"})`));return{regex:new RegExp(`^${r}$`,"i"),tokens:t}}function Rr(e){return/[?#]/.test(e)||/\{(?:url|url_encoded|query|search|hash|fragment)\}/i.test(e)}function vr(e,t){if(Rr(t))return e;try{const r=new URL(e);return`${r.origin}${r.pathname}`}catch{return e.split(/[?#]/)[0]||e}}function wr(e,t,r){if(r.endsWith("_encoded"))return!0;const n=e.slice(0,t),i=n.lastIndexOf("#"),o=n.lastIndexOf("?"),s=n.lastIndexOf("&"),a=n.lastIndexOf("=");return a>Math.max(o,s)&&a>i}function Mr(e){try{const t=new URL(e),r=t.pathname.replace(/^\/+/,""),n=t.search.replace(/^\?/,""),i=t.hash.replace(/^#/,""),o=r.replace(/^wp-json\/?/i,""),s=o?`/${o}`:"/",a=o.match(/^([^/]+)(?:\/([^/]+))?(?:\/(.*))?$/),c=a?.[1]||"",_=a?.[2]||"",l=a?.[3]||"";return{url:e,url_encoded:encodeURIComponent(e),origin:t.origin,origin_encoded:encodeURIComponent(t.origin),proxy_url:t.origin,proxy_url_encoded:encodeURIComponent(t.origin),path:r,pathname:r,path_with_slash:t.pathname||"/",pathname_with_slash:t.pathname||"/",query:n,search:t.search,hash:t.hash,fragment:i,pathname_after_wp_json:o,pathname_after_wp_json_with_slash:s,rest_namespace:c,rest_version:_,rest_route:l,rest_route_with_slash:l?`/${l}`:"/"}}catch{return}}function te(e,t){if(!e)return{};if(Array.isArray(e)){for(const a of e){const c=te(a,t);if(c!==void 0)return c}return}if(e==="*")return{};const r=vr(t,e),{regex:n,tokens:i}=Lr(e),o=n.exec(r);if(!o)return;const s={};return i.forEach((a,c)=>{s[`matched_${a}`]=o[c+1]||""}),s}function F(e,t,r={}){const n=Mr(t);if(!n)return t;const i={...n,...r};let o="",s=0;const a=/\{([a-z_]+)\}/gi;let c;for(;c=a.exec(e);){o+=e.slice(s,c.index);const _=i[c[1]]??"",l=wr(e,c.index,c[1])?encodeURIComponent(_):_;o+=l,s=c.index+c[0].length}o+=e.slice(s);try{const _=new URL(o),l=new URL(t);return!o.includes("{search}")&&!o.includes("{query}")&&l.search&&l.searchParams.forEach((E,h)=>{_.searchParams.has(h)||_.searchParams.append(h,E)}),!o.includes("{hash}")&&!o.includes("{fragment}")&&l.hash&&!_.hash&&(_.hash=l.hash),_.toString()}catch{return o}}function ye(e,t){try{const r=new URL(t);return`${R(e)}/${r.pathname.replace(/^\//,"")}${r.search}${r.hash}`}catch{return t}}function Pe(e,t){const r=R(e);return t?De(t)?t:t.startsWith("?")||t.startsWith("#")?`${r}${t}`:`${r}${t.startsWith("/")?"":"/"}${t}`:r}function Ce(e,t,r,n){const i=e.match;return i?Array.isArray(i)?i.some(o=>Ce({...e,match:o},t,r,n)):typeof i=="function"?!!i({url:t,method:n,requestType:r}):i==="*"?!0:te(i,t)!==void 0:!0}function jr(e,t,r,n="generic"){if(e==null)return[];const i=Array.isArray(e)?e:[e],o=[];return i.forEach((s,a)=>{if(!s)return;if(typeof s=="string"){const E=s.includes("{")&&s.includes("}")?F(s,t):ye(s,t);o.push({key:`backend:${a}`,url:E,source:"resource"});return}if(!Ne(s)||!("rewrite"in s))return;const c=s;if(!Ce(c,t,n,r))return;const _=typeof c.match=="string"||Array.isArray(c.match)?te(c.match,t)||{}:{},l=typeof c.proxyBase=="string"&&c.proxyBase.trim()?c.proxyBase.trim():void 0;(Array.isArray(c.rewrite)?c.rewrite:[c.rewrite]).filter(Boolean).forEach((E,h)=>{const p=typeof E=="function"?(()=>{const I=E({url:t,proxyBase:l,method:r,requestType:n,..._}),O=l&&!De(I)?Pe(l,I):I;return O.includes("{")&&O.includes("}")?F(O,t,_):O})():l?F(Pe(l,E),t,_):E.includes("{")&&E.includes("}")?F(E,t,_):ye(E,t);o.push({key:`backend:${c.id||"rule"}:${a}:${h}`,url:p,source:"resource"})})}),Dr(o)}function Br(e){try{const t=new URL(e);return/(?:^|\/)wp-json\/em-files\/v\d+(?:\/|$)/i.test(t.pathname)?"emFiles":/(?:^|\/)wp-json\/ai-generator\/v\d+(?:\/|$)/i.test(t.pathname)?"ai":"generic"}catch{return"generic"}}function xr(e,t=[]){return e==null||(Array.isArray(e)?e:[e]).forEach(r=>{if(r){if(typeof r=="string"){const n=r.split("{")[0]?.trim();n&&t.push(R(n));return}!Ne(r)||!("rewrite"in r)||(typeof r.proxyBase=="string"&&r.proxyBase.trim()&&t.push(R(r.proxyBase.trim())),(Array.isArray(r.rewrite)?r.rewrite:[r.rewrite]).forEach(n=>{if(typeof n!="string")return;const i=n.split("{")[0]?.trim();i&&t.push(R(i))}))}}),t}function Fr(e,t){return Nr(t).flatMap(r=>xr(r)).filter(Boolean).some(r=>r&&e.startsWith(r))}function kr(e,t){return!!ee(t)&&Pr(e,t)}function Ur(e,t={}){const r=t.requestType||Br(e);return kr(r,t.config)?jr(ee(t.config),e,t.method,r):[]}function Gr(e,t={}){return Fr(e,t.config)?[e]:Ur(e,t).map(r=>r.url)}function D(e){for(;e.endsWith("/");)e=e.slice(0,e.length-1);return/\/wp-json$/i.test(e)?e:`${e}/wp-json`}function Le(...e){const t=e.filter(o=>o!=null);if(t.length===0)return;if(t.length===1)return t[0];const r=t.find(o=>o.aborted);if(r)return r;if(typeof AbortSignal<"u"&&typeof AbortSignal.any=="function")return AbortSignal.any(t);const n=new AbortController,i=o=>{n.signal.aborted||n.abort(o.reason)};for(const o of t)o.addEventListener("abort",()=>i(o),{once:!0});return n.signal}var Re=3e5,ve=15e3,A=null,we=!1;function Hr(){return!0}function Xr(){const e=String({}.REACT_APP_OPENAPI_FAILOVER_TTL_MS||"").trim();if(!e)return Re;const t=Number(e);return Number.isFinite(t)&&t>0?t:Re}function Vr(){const e=String({}.REACT_APP_OPENAPI_FAILOVER_ATTEMPT_TIMEOUT_MS||"").trim();if(!e)return ve;const t=Number(e);return Number.isFinite(t)&&t>0?t:ve}function $r(){const e="https://app.emailmaker.ru/api/".trim();return e?D(e):void 0}function Wr(e){const t=e.trim();if(!t)return[];if(t.startsWith("["))try{const r=JSON.parse(t);if(!Array.isArray(r))throw new Error("expected JSON array");return r.map(n=>String(n).trim()).filter(Boolean)}catch{return we||(we=!0),[]}return t.split(",").map(r=>r.trim()).filter(Boolean)}function qr(e){const t=new Set,r=[];for(const n of e){const i=D(n);t.has(i)||(t.add(i),r.push(i))}return r}function Me(e){const t=String(e||"").trim();return t?D(t):$r()}function je(e,t=[]){return e?qr([e,...t]).slice(0,3):[]}function Be(){return Wr(String({}.REACT_APP_OPENAPI_FAILOVER_BASE_URLS||"").trim())}function Kr(e=Date.now()){return A?e-A.switchedAt>=Xr():!0}function xe(e=Date.now()){A&&Kr(e)&&(A=null)}function N(e){if(!Hr())return!1;const t=Me(e);if(!t)return!1;const r=Be();return r.length===0?!1:je(t,r).length>1}function v(e){const t=Me(e);if(!t)return[];const r=Be();return r.length===0?[t]:je(t,r)}function k(e){const t=v(e);if(t.length===0)return"";if(xe(),A){const r=t.indexOf(A.activeUrl);if(r>=0)return t[r]}return t[0]}function Fe(e){const t=v(e);if(t.length<=1||(xe(),!A||!t.includes(A.activeUrl)))return t;const r=A.activeUrl;return[r,...t.filter(n=>n!==r)]}function ke(e){return k(e)||void 0}function Ue(e){const t=e||void 0;if(typeof AbortController>"u")return{signal:t,timeoutError:()=>{},done:()=>{}};const r=Vr(),n=new AbortController;let i;const o=setTimeout(()=>{i=zr(r),n.abort(i)},r);return{signal:Le(t,n.signal),timeoutError:()=>i,done:()=>clearTimeout(o)}}function zr(e){const t=`[apiOriginFailover] origin attempt timed out after ${e}ms`;if(typeof DOMException=="function")return new DOMException(t,"TimeoutError");const r=new Error(t);return r.name="TimeoutError",r}function Ge(e){return e===502||e===503||e===504}function He(e){return!(e instanceof Error)&&!(e instanceof DOMException)?!1:e.name==="TimeoutError"?!0:e instanceof TypeError}var Xe;function Jr(e){Xe=e}function U(e,t){if(!N(t))return;const r=v(t);if(r.length<=1)return;const n=r.indexOf(D(e));if(n<0)return;const i=n+1;if(i>=r.length)return;const o=r[i],s=A?.activeUrl;A={activeUrl:o,switchedAt:Date.now()},s!==o&&Xe?.()}function Ve(e,t){if(!N(t))return;const r=D(e),n=v(t);if(n.includes(r)){if(r===n[0]){A=null;return}A?.activeUrl!==r&&(A={activeUrl:r,switchedAt:Date.now()})}}function $e(){A=null}var Yr=e=>{const t=new FormData,r=(n,i,o)=>{if(i!=null){if(i instanceof Blob){n.append(o,i);return}if(Array.isArray(i)){i.forEach((s,a)=>{const c=o?`${o}[${a}]`:`${a}`;r(n,s,c)});return}if(typeof i=="object"){Object.keys(i).forEach(s=>{const a=i[s],c=o?`${o}[${s}]`:s;r(n,a,c)});return}n.append(o,String(i))}};return r(t,e),t},Qr={baseUrl:D("https://app.emailmaker.ru/api/"),baseApiParams:{secure:!0,credentials:"same-origin",format:"json"},securityWorker:()=>({credentials:"same-origin"})},y=new Map;function Zr(e){const t=e?.getInstance(de);return t?t.get()??t.bootstrap():void 0}var en=class extends Ht{container;constructor(e={},t){super(e),this.container=t}buildRequestUrl(e){const{path:t,baseUrl:r,extraQuery:n}=e;let{query:i}=e;n&&(i=i?{...i,...n}:n);const o=i&&this.toQueryString(i);return`${r||this.baseUrl||""}${t}${o?`?${o}`:""}`}buildRequestKey(e,t){return`${t.toUpperCase()} ${e}`}getBackendProxyCandidates(e,t){const r=Zr(this.container),n=this.container?.getInstance(Ee)!==void 0,i=Gr(e,{config:r,method:t,standalone:n}),o=i.length>0?i:[e],s=this.buildRequestKey(e,t),a=y.get(s);return!a||!o.includes(a)?o:[a,...o.filter(c=>c!==a)]}shouldRetryResponse(e){return e.status===502||e.status===503||e.status===504}resolveFailoverBaseUrl(){return String(this.baseUrl||"").trim()||void 0}async requestOnOrigin(e,t,r=!1){const n={...e,baseUrl:t},i=this.buildRequestUrl(n),o=n.method||"GET",s=this.buildRequestKey(i,o),a=this.getBackendProxyCandidates(i,o);let c,_;for(const l of a){const E=p=>p===i?l:p,h=r?Ue(e.signal):void 0;try{const p=await super.request({...n,proxyHandler:E,...h?{signal:h.signal}:{}});if(!p.ok&&this.shouldRetryResponse(p)&&l!==a[a.length-1]){_=p,y.get(s)===l&&y.delete(s);continue}return y.set(s,l),p}catch(p){y.get(s)===l&&y.delete(s);const I=h?.timeoutError();if(I)throw I;if(c=p,(p instanceof DOMException||p instanceof Error)&&p.name==="AbortError")throw p}finally{h?.done()}}if(_)return _;throw c instanceof Error?c:new Error("Backend proxy chain failed")}async request(e){const t=String(e.baseUrl||"").trim();if(t)return this.requestOnOrigin(e,t);const r=this.resolveFailoverBaseUrl(),n=N(r),i=e.failoverAttemptTimeout??n,o=n?Fe(r):r?[k(r)]:[this.baseUrl].filter(Boolean);if(o.length===0)return this.requestOnOrigin(e,this.baseUrl);let s,a;for(let c=0;c<o.length;c++){const _=o[c],l=c===o.length-1;try{const E=await this.requestOnOrigin(e,_,i);if(!E.ok&&Ge(E.status)){if(a=E,!l){U(_,r);continue}break}return E.ok&&Ve(_,r),E}catch(E){if(!He(E))throw E;s=E,l||U(_,r)}}if(n&&$e(),a)return a;throw s instanceof Error?s:new Error("API origin failover chain failed")}};function We(e={},t){const r=new en({...Qr,...e},t);return r.contentFormatters["multipart/form-data"]=Yr,r}var qe=f("rest.clientFactory"),tn=e=>{qt(e);const t=We({customFetch:e.getInstance(J)?.execute||fetch},e);e.inject(Y,t)},Ke;(function(e){const t="https://racs.emcdn.ru/v3";function r(i,o){const s={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(o)};return fetch(`${t}?resource=${i}&dataset=${document.location.hostname}`,s)}e.post=r;async function n(i,o=0){const s={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:`{"filter":{},"limit":${o}}`};return await(await fetch(`${t}/get?resource=${i}&dataset=${document.location.hostname}`,s)).json()}e.getAll=n})(Ke||(Ke={}));function w(e,t){if(e!==t){if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const r=Array.isArray(e),n=Array.isArray(t);if(r){if(!n)return!1;const a=e.length;if(t.length!==a)return!1;for(let c=0;c<a;c++)if(!w(e[c],t[c]))return!1}else if(n)return!1;const i=Object.keys(e),o=Object.keys(t),s=i.length;if(s!==o.length)return!1;for(let a=0;a<s;a++){const c=i[a];if(!t.hasOwnProperty(c)||!w(e[c],t[c]))return!1}}return!0}function rn(e){const t=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(e.length+(4-e.length%4)%4,"="),r=atob(t),n=new Uint8Array(r.length);for(let i=0;i<r.length;i++)n[i]=r.charCodeAt(i);return new TextDecoder().decode(n)}function ze(e){const[t,r,n]=e.split("."),i=JSON.parse(rn(r));return{exp:i.exp,createdAt:i.iat,data:i}}var re=f("plugin.auth.token"),Je=new WeakMap,nn=3e4;function on(e){let t;try{t=ze(e).exp}catch{return!0}return typeof t!="number"||!Number.isFinite(t)?!0:t*1e3<=Date.now()+nn}function sn(e,t,r,n){const i=Je.get(e);i&&(i.stale=!0);const o={stale:!1};Je.set(e,o),e.injectFactory(re,async(s,a)=>{if(o.stale)return"";try{let c=await a||void 0;if(!c){const _=e.getInstance(fe);_&&(c=await _)}return t?!c||on(c)?await t(r,n,c):c:""}catch{return""}},!0)}var Ye=f("auth.oauthProvided"),Qe=new WeakMap;function Ze(e,t){const r=Qe.get(e)??{applied:!1};(!r.applied||r.getAuthToken!==t.getAuthToken||!w(r.user,t.user)||r.project!==t.project)&&(Qe.set(e,{applied:!0,getAuthToken:t.getAuthToken,user:t.user,project:t.project}),sn(e,t.getAuthToken,t.user,t.project))}function et(e){if(e.getInstance(Ye))return;e.inject(Ye,!0);let t;e.getInstance(le)?.watch(r=>{t=r}),e.addService(x,{execute:async(r,n)=>{if(n?.public||!t?.getAuthToken)return;e.getInstance(re)===void 0&&Ze(e,t);const i=await e.getInstanceAsync(re);i&&r.headers.set("authorization",`Bearer ${i}`)}})}var an={text:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},headings:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, 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},links:{color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},buttons:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, 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:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},textAlign:"center",padding:{all:null,top:null,right:null,bottom:null,left:null}},block:{backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:{all:null,top:null,right:null,bottom:null,left:null}},cards:{contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null}}},tt="ERROR",cn="useblocks",un={em_color_scheme:"em_color_scheme",em_code_mode_pane_sizes:"em_code_mode_pane_sizes",em_preview_pane_sizes:"em_preview_pane_sizes",em_default_sizes:"em_default_sizes",em_pane_sizes:"em_pane_sizes",em_test_emails:"em_test_emails",em_menu_is_locked:"em_menu_is_locked",em_code_mode_settings:"em_code_mode_settings",em_folder_is_open:"em_folder_is_open",em_active_tab:"em_active_tab",em_ai_settings:"em_ai_settings",em_last_active_page:"em_last_active_page",em_layout_convert_never_suggest:"em_layout_convert_never_suggest",em_filemanager_v2:"em_filemanager_v2",em_projects_v2:"em_projects_v2",em_translations_v2:"em_translations_v2",em_defer_chrome:"em_defer_chrome",em_stripo_import:"em_stripo_import",em_guest_locale:"em_guest_locale"},_n="light",ln="dark",dn="(prefers-color-scheme: dark)",fn={MESSAGE:"message",INIT_PREVIEW:"init_preview",UPDATE_PREVIEW:"update_preview",UPDATE_EDITOR:"update_editor",UPDATE_EDITOR_POSITION:"update_editor_position",UPDATE_SIDE_MENU_EDITOR:"update_side_menu_editor",SAVE_EMAIL:"saveEmail",SANDBOX_ELEMENT_SETTINGS_SET:"sandbox_element_settings_set",SANDBOX_IMAGE_RESET:"sandbox_image_reset",SANDBOX_NATIVE_IMAGE_DROP_CLEAR:"sandbox_native-image-drop-clear",SANDBOX_EMAIL_SETTINGS_SET:"sandbox_email_settings_set",SANDBOX_BLOCK_SETTINGS_SET:"sandbox_block_settings_set",SANDBOX_ELEMENT_PARENT_GET:"sandbox_element_parent_get",SANDBOX_ELEMENT_PARENT_TABLE_GET:"sandbox_element_parent_table_get",SANDBOX_ELEMENT_PREV_GET:"sandbox_element_prev_get",SANDBOX_ELEMENT_NEXT_GET:"sandbox_element_next_get",SANDBOX_ELEMENT_REMOVE:"sandbox_element_remove",SANDBOX_ELEMENT_ACTIVE_RESET:"sandbox_element_active_reset",SANDBOX_ELEMENT_ACTIVE_SET:"sandbox_element_active_set",SANDBOX_ELEMENT_HOVER_SET:"sandbox_element_hover_set",SANDBOX_ELEMENT_IMG_LINK:"sandbox_element_img_link",SANDBOX_ELEMENT_TEXT:"sandbox_element_text",SANDBOX_EMAIL_CONTENT_GET:"sandbox_email_content_get",SANDBOX_SET_POSITION_TO_IMG:"sandbox_set_position_to_img",SANDBOX_SET_POSITION_TO_LINK:"sandbox_set_position_to_link",SANDBOX_ACCORDION_ADD_SECTION:"sandbox_accordion_add_section",SANDBOX_ACCORDION_REMOVE_SECTION:"sandbox_accordion_remove_section",APPLICATION_FOCUS_IN_IFRAME:"application_focus_in_iframe",APPLICATION_EMAIL_SETTINGS_SET:"application_email_settings_set",APPLICATION_BLOCK_SETTINGS_SET:"application_block_settings_set",APPLICATION_ELEMENT_SETTINGS_SET:"application_element_settings_set",_APPLICATION_ELEMENT_SETTINGS_SET:"application_element_settings_set",APPLICATION_ELEMENT_SETTINGS_CLOSE:"application_element_settings_close",APPLICATION_ACTION:"application_action",APPLICATION_EBLOCK_ADD:"application_eblock_add",SANDBOX_EBLOCK_SET_EM_BLOCK_ID:"sandbox_eblock_set_em_block_id",SANDBOX_GLOBAL_BLOCK_REPLACE:"sandbox_global_block_replace",APPLICATION_SCROLL_TO:"application_scroll-to",APPLICATION_SCROLL_BLOCK_SHOW:"application_scroll-block-show",APPLICATION_SCROLL_BLOCK_HIDE:"application_scroll-block-hide",APPLICATION_DISCUSS_SET_ID:"application_discuss_set_id",APPLICATION_DISCUSS_GET_COMMENT:"application_discuss_get_comment",APPLICATION_DISCUSS_NO_COMMENT:"application_discuss_no_comment",APPLICATION_DISCUSS_SAVE_TARGET:"application_discuss_save_target",APPLICATION_IFRAME_SET_HEIGHT:"application_iframe_set_height",APPLICATION_COMMON_STYLES_UPDATE:"application_commonStyles_update",APPLICATION_EMAIL_CONTENT_GET:"application_email_content_get",APPLICATION_OPEN_IMAGE_AI_POPUP:"application_open-image-ai-popup",APPLICATION_OPEN_IMAGE_UPLOAD_POPUP:"application_open-image-upload-popup",APPLICATION_OPEN_IMAGE_EDIT_POPUP:"application_open-image-edit-popup",APPLICATION_OPEN_IMAGE_GIF_POPUP:"application_open-image-gif-popup",APPLICATION_OPEN_IMAGE_STOCK_POPUP:"application_open-image-stock-popup",APPLICATION_CLOSE_IMAGE_EDIT_POPUP:"application_close-image-edit-popup",APPLICATION_NATIVE_IMAGE_DROP:"application_native-image-drop",APPLICATION_SUBJECT_UPDATE:"application_subject_update",APPLICATION_PREHEADER_UPDATE:"application_preheader_update",APPLICATION_DOMPARSER_ERROR:"application_domparser_error",APPLICATION_UPDATE_ENTITY:"application_update_entity",APPLICATION_IFRAME_DRAG_EVENT:"application_iframe_drag_event",APPLICATION_HAS_AMP:"application_has_amp",APPLICATION_CANVAS_IMAGE_GET:"application_canvas_image_get",APPLICATION_PREVIEW_ALERT_SHOW:"application_preview_alert_show",APPLICATION_ATOM_INSERTED:"application_atom_inserted",APPLICATION_TEMPLATE_NOT_EM_ALERT_SHOW:"application_template_not_em_alert_show",SANDBOX_WINDOW_CHARACTERISTIC:"sandbox_window-characteristic",SANDBOX_IFRAME_SETSIZE:"sandbox_iframe-setsize",SANDBOX_BLOCK_INSERT:"sandbox_block-insert",SANDBOX_ATOM_INSERT:"sandbox_atom-insert",SANDBOX_DRAG_CANCEL:"sandbox_drag-cancel",UPDATE_EDITOR_POSITION_FROM_EDITOR:"update_position_from_editor",UPDATE_EDITOR_POSITION_FROM_IFRAME:"update_position_from_iframe",SANDBOX_CHANGE_PREVIEW:"sandbox_change_preview",APPLICATION_CHANGE_PREVIEW:"application_change_preview",SANDBOX_LOCK_EDIT:"sandbox_lock_edit",SANDBOX_FLOATBLOCK_ADD:"sandbox_floatBlock_add",SANDBOX_FLOATBLOCK_REMOVE:"sandbox_floatBlock_remove",SANDBOX_FLOATBLOCK_COPY:"sandbox_floatBlock_copy",SANDBOX_FLOATBLOCK_SWAP:"sandbox_floatBlock_swap",EDITOR_CHANGE_FOCUS:"editor_change_focus",SANDBOX_RESIZED:"sandbox_resized",SANDBOX_LOCK_DISCUSS:"sandbox_lock_discuss",SANDBOX_DISCUSS_SET_TARGET:"sandbox_discuss_set_target",SANDBOX_DISCUSS_REMOVE_TARGET:"sandbox_discuss_remove_target",SANDBOX_DISCUSS_RESET:"sandbox_discuss_reset",SANDBOX_DISCUSS_GET_TARGET:"sandbox_discuss_get_target",SANDBOX_READY:"SANDBOX_READY",SANDBOX_FLOATBLOCK_WRAP:"sandbox_floatblock_wrap",SANDBOX_FLOATBLOCK_DIR:"sandbox_floatblock_dir",SANDBOX_SUBJECT_UPDATE:"sandbox_subject_update",SANDBOX_PREHEADER_UPDATE:"sandbox_preheader_update",SANDBOX_DRAG_EVENT:"sandbox_drag_event",SANDBOX_WHEEL:"sandbox_wheel",SANDBOX_ADD_MERGETAG:"sandbox_add_mergetag",SANDBOX_TRANSLATIONS:"sandbox_send_translations",SANDBOX_SET_THEME_VARIABLES:"sandbox_send_theme_variables",SANDBOX_SET_PROJECT_FONTS:"sandbox_set_project_fonts",SANDBOX_CANVAS_IMAGE_CACHE_SETUP:"sandbox_canvas_image_cache_setup",SANDBOX_SET_ENTITY:"sandbox_set_entity",SANDBOX_INIT_START:"sandbox_init_start",SANDBOX_INITED:"sandbox_inited",SANDBOX_UPDATE_ENTITY:"sandbox_update_entity",RELOAD:"reload",SANDBOX_ADD_EXTENSIONS:"sandbox_add_extensions",SANDBOX_REMOVE_EXTENSIONS:"sandbox_remove_extensions",SANDBOX_ADD_SCRIPT:"sandbox_add_script",SANDBOX_IS_EMAIL_EMPTY:"sandbox_is_email_empty",SANDBOX_SWITCH_THEME:"sandbox_switch_theme"},rt=e=>{const t={current:Promise.resolve(),state:e,decorate:(r,n)=>(n&&(r=r.bind(n)),function(...i){const o=t.current.then(()=>r(...i));return t.current=o.then(s=>{t.state=s},s=>{}),o})};return t};function ne(e){return function(t){return{setOptions:()=>{},instance:{},dispose:()=>{},...e(t)||{}}}}function En(e){return t=>{const r={},n=[];for(const s of e)n.push(s(t));for(const s of n)Object.assign(r,s.instance);return{instance:r,setOptions:async s=>{for(const a of n)await a.setOptions(s)},dispose:()=>{for(const s of n)s.dispose()}}}}function pn(e=tt){const t=new Error(e);return t.name="AuthPipelineError",t}async function hn(e,t,r,n){const i=n?.attemptTimeout??N(r),o=N(r)?Fe(r):v(r).length>0?[k(r)]:[];if(o.length===0)throw new Error("[apiOriginFailover] no API base URL configured");const s=e.startsWith("/")?e:`/${e}`;let a,c;for(let _=0;_<o.length;_++){const l=o[_],E=_===o.length-1,h=i?Ue(t.signal):void 0;try{const p=await fetch(`${l}${s}`,{...t,...h?{signal:h.signal}:{}});if(!p.ok&&Ge(p.status)){if(a=p,!E){U(l,r);continue}break}return p.ok&&Ve(l,r),p}catch(p){const I=h?.timeoutError();if(!I&&!He(p))throw p;c=I||p,E||U(l,r)}finally{h?.done()}}if(N(r)&&$e(),a)return a;throw c instanceof Error?c:new Error("[apiOriginFailover] fetch chain failed")}function nt(e){e.inject(C,void 0),e.inject(z,void 0)}var On=ne(e=>{let t,r;const n=rt();return e.addService(x,{execute:n.decorate(async(i,o)=>{if(o?.public||!t)return;const s=String(e.getInstance(z)||"").trim();if(s){i.headers.append("authorization",`Bearer ${s}`);return}if(!e.getInstance(C))try{const a=e.getInstance(qe),c=String(a?.getOptions()?.baseUrl||"").trim(),_=ke(r||c||void 0);if(!_)throw new Error("JWT auth requires baseUrl");const l=await hn("/jwt-auth/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)},_);if(!l.ok)throw new Error(`JWT auth failed: ${l.status}`);const E=await l.json(),h=String(E.token||"").trim();if(!h)throw new Error("JWT auth failed: empty token");e.inject(C,void 0),e.inject(z,h),i.headers.append("authorization",`Bearer ${h}`)}catch{throw e.inject(C,tt),pn()}})}),{setOptions(i){const o=i.jwtAuth,s=String(i.baseUrl||"").trim()||void 0,a=!w(o,t),c=s!==r;if(t=o,r=s,!o){nt(e);return}a||c?nt(e):e.inject(C,void 0)}}}),An=ne(e=>(et(e),{setOptions(t){Ze(e,t)}}));function In(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/([^a-zA-Z0-9_-])/g,"\\$1")}function ie(e,t=document){try{const n=t.querySelector(e);if(n)return n}catch{return null}const r=t.querySelectorAll("*");for(let n=0;n<r.length;n++){const i=r[n]?.shadowRoot;if(!i)continue;const o=ie(e,i);if(o)return o}return null}function it(e,t=[]){const r=e.querySelectorAll("*");for(let n=0;n<r.length;n++){const i=r[n]?.shadowRoot;i&&(t.push(i),it(i,t))}return t}function gn(e,t,r){if(e.isConnected)return e;const n=e.id?.trim();return n?ot(`#${In(n)}`,t,r):Promise.reject(S("Editor mount element was disconnected and has no id — pass a CSS selector or call init() again after the host remounts the container."))}function ot(e,t,r){if(q(r),typeof e<"u"){if(typeof e=="string"){const n=e,i=ie(n);if(i)return i;const o=t.addDisposable(new g);return new Promise((s,a)=>{const c=O=>{o.dispose(),O()},_=()=>{c(()=>a(S(r?.reason)))};if(r?.aborted){_();return}r?.addEventListener("abort",_),o.addDispose(()=>r?.removeEventListener("abort",_));const l=document.body??document.documentElement;if(!l){c(()=>a(S("Document is not ready to observe mount element")));return}const E=new Set,h=new MutationObserver(()=>{const O=ie(n);if(O){c(()=>s(O));return}I()}),p=O=>{E.has(O)||(E.add(O),h.observe(O,{attributes:!0,childList:!0,subtree:!0}))},I=()=>{const O=document.documentElement;if(O)for(const G of it(O))p(G)};p(l),I(),o.addDispose(()=>h.disconnect())})}return e instanceof Element?gn(e,t,r):e}return e}var mn=new Map;Object.defineProperty(u,"ADVANCED_SETTINGS_PANEL",{enumerable:!0,get:function(){return cr}}),Object.defineProperty(u,"APP_ID",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(u,"APP_LOAD_EVENT_ID",{enumerable:!0,get:function(){return kt}}),Object.defineProperty(u,"ATOMS_HANDLERS_ID",{enumerable:!0,get:function(){return rr}}),Object.defineProperty(u,"AsyncEmitter",{enumerable:!0,get:function(){return B}}),Object.defineProperty(u,"BaseEmitter",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"COMMON_STYLES",{enumerable:!0,get:function(){return an}}),Object.defineProperty(u,"CONFIG_CHANGED_EVENT_ID",{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(u,"CONFIG_SOURCE_ID",{enumerable:!0,get:function(){return de}}),Object.defineProperty(u,"COOKIE_MANAGER_ID",{enumerable:!0,get:function(){return dr}}),Object.defineProperty(u,"CUSTOM_FETCH_ID",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"ContentType",{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(u,"DARK",{enumerable:!0,get:function(){return ln}}),Object.defineProperty(u,"DISPOSABLE_ID",{enumerable:!0,get:function(){return Lt}}),Object.defineProperty(u,"DependencyResolver",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"Disposable",{enumerable:!0,get:function(){return g}}),Object.defineProperty(u,"ELEMENT_MAP",{enumerable:!0,get:function(){return mn}}),Object.defineProperty(u,"EVENT_TYPES",{enumerable:!0,get:function(){return fn}}),Object.defineProperty(u,"Emitter",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(u,"HANDLE_ATOM_INSERT_ID",{enumerable:!0,get:function(){return nr}}),Object.defineProperty(u,"INIT_PIPELINE_ID",{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(u,"INSTANCE_ID",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(u,"JWTMixin",{enumerable:!0,get:function(){return On}}),Object.defineProperty(u,"LATE_SURFACE_LISTENERS_ID",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(u,"LIGHT",{enumerable:!0,get:function(){return _n}}),Object.defineProperty(u,"LOCAL_STORAGE_ITEMS",{enumerable:!0,get:function(){return un}}),Object.defineProperty(u,"MESSAGE_SERVICE_ID",{enumerable:!0,get:function(){return sr}}),Object.defineProperty(u,"MODAL_CLOSE_EVENT",{enumerable:!0,get:function(){return _r}}),Object.defineProperty(u,"MODAL_SHOW_EVENT",{enumerable:!0,get:function(){return ur}}),Object.defineProperty(u,"MODAL_UPDATE_EVENT",{enumerable:!0,get:function(){return lr}}),Object.defineProperty(u,"MessageService",{enumerable:!0,get:function(){return tr}}),Object.defineProperty(u,"OAuthMixin",{enumerable:!0,get:function(){return An}}),Object.defineProperty(u,"OPTIONS_SOURCE_ID",{enumerable:!0,get:function(){return le}}),Object.defineProperty(u,"PLUGIN_COLLECTION_ID",{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(u,"PORT_READY",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(u,"PREFERS_COLOR_SCHEME_DARK",{enumerable:!0,get:function(){return dn}}),Object.defineProperty(u,"PUBLIC_REQUEST",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"REQUEST_HANDLER_ID",{enumerable:!0,get:function(){return x}}),Object.defineProperty(u,"REST_CLIENT_FACTORY_ID",{enumerable:!0,get:function(){return qe}}),Object.defineProperty(u,"REST_TRANSPORT_ID",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"SANDBOX_EXTENSIONS_ID",{enumerable:!0,get:function(){return ir}}),Object.defineProperty(u,"SANDBOX_EXTENSION_SCRIPT_STATUS_ID",{enumerable:!0,get:function(){return or}}),Object.defineProperty(u,"SECURITY_MODULE_ID",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(u,"SETTINGS_PANEL_EVENT",{enumerable:!0,get:function(){return ar}}),Object.defineProperty(u,"STANDALONE_ACTIVATED_ID",{enumerable:!0,get:function(){return Bt}}),Object.defineProperty(u,"STANDALONE_BOOTSTRAP_TOKEN_ID",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"STANDALONE_FILE_PROXY_REGISTERED_ID",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(u,"STANDALONE_PROJECT_ID",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(u,"STORE_ID",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(u,"Signal",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(u,"TEMPLATE_DIRECTIVES_ID",{enumerable:!0,get:function(){return fr}}),Object.defineProperty(u,"USEBLOCKS",{enumerable:!0,get:function(){return cn}}),Object.defineProperty(u,"combineMixins",{enumerable:!0,get:function(){return En}}),Object.defineProperty(u,"composeAbortSignals",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(u,"createAbortError",{enumerable:!0,get:function(){return S}}),Object.defineProperty(u,"createIdentifier",{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(u,"createIdentifier$1",{enumerable:!0,get:function(){return f}}),Object.defineProperty(u,"createQueue",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(u,"createTransport",{enumerable:!0,get:function(){return We}}),Object.defineProperty(u,"debounce",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(u,"decodeJwt",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(u,"deepEqual",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"defineMixin",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(u,"events",{enumerable:!0,get:function(){return K}}),Object.defineProperty(u,"filter",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(u,"generateUUID",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(u,"getActiveBaseUrl",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"getApi",{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(u,"getEmitter",{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(u,"getEmitter$1",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(u,"getEvent",{enumerable:!0,get:function(){return yt}}),Object.defineProperty(u,"getServiceContainerId",{enumerable:!0,get:function(){return M}}),Object.defineProperty(u,"mapHttpStatusToErrorCode",{enumerable:!0,get:function(){return It}}),Object.defineProperty(u,"mergeBackendProxyLayers",{enumerable:!0,get:function(){return gr}}),Object.defineProperty(u,"mergeResourceProxyLayers",{enumerable:!0,get:function(){return Ir}}),Object.defineProperty(u,"mergeResourceProxyPolicyLayers",{enumerable:!0,get:function(){return br}}),Object.defineProperty(u,"mergeShallowConfigLayers",{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(u,"provideOAuth",{enumerable:!0,get:function(){return et}}),Object.defineProperty(u,"raceWithAbortSignal",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(u,"registerRestTransport",{enumerable:!0,get:function(){return tn}}),Object.defineProperty(u,"releaseContainer",{enumerable:!0,get:function(){return hr}}),Object.defineProperty(u,"resolveContainer",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(u,"resolveExplicitApiBaseUrl",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(u,"setApiOriginFailoverHook",{enumerable:!0,get:function(){return Jr}}),Object.defineProperty(u,"snapshot",{enumerable:!0,get:function(){return St}}),Object.defineProperty(u,"throwIfAborted",{enumerable:!0,get:function(){return q}}),Object.defineProperty(u,"waitForElement",{enumerable:!0,get:function(){return ot}})});
2075
+ __emailmaker__.define("static/umd/25f23ba5.js",["require","exports","module"],function(Dn,u,Nn){var I=class ct{_inner;_isDisposed=!1;constructor(t=[]){this._inner=t}addDisposable(t){return this._inner.push(t),t instanceof ct&&t.addDispose(()=>{this.removeDisposable(t)}),t}addDispose(t){this.addDisposable({dispose:t})}removeDisposable(t){const r=this._inner.indexOf(t);r>=0&&this._inner.splice(r,1)}isDisposed(){return this._isDisposed}dispose(){if(!this._isDisposed){this._isDisposed=!0;for(const t of[...this._inner])t.dispose()}}};function M(e){return`service_container_${e}`}var P=new Set,X;function ut(){if(!X)return;const e=new Error("getInstanceAsync"),t=Error;return typeof t.captureStackTrace=="function"&&t.captureStackTrace(e,se.prototype.getInstanceAsync),e.stack}function V(e){P.delete(e)&&X?.end(e)}var se=class oe extends I{_parent;_injectCallbacks=[];_injections=Object.create(null);_runCallbacks(t){this._injectCallbacks.forEach(r=>r(t))}constructor(t=null){super(),this._parent=t,t&&this.addDisposable(t.onInject(r=>this._runCallbacks(r)))}onInject=t=>(this._injectCallbacks.push(t),{dispose:()=>{const r=this._injectCallbacks.indexOf(t);r>=0&&this._injectCallbacks.splice(r,1)}});inject(t,r){this._injections[t]=()=>r,this._runCallbacks(t)}injectFactory(t,r,n){const i=this._injections[t];let o=typeof i=="function"?i():i;const s=this._injections[t]=()=>(o=r(this,o),o);n&&s(),this._runCallbacks(t)}_find(t,r=!0){return this._injections[t]||r&&this._parent?._find(t)}_onInject(t,r,n=new I){return n.addDisposable(this.onInject(i=>{t===i&&(n.dispose(),r(this.getInstance(i)))})),this._parent&&n.addDisposable(this._parent._onInject(t,r,n)),this.addDisposable(n),n}getInstance(t,r=!0){const n=this._find(t,r);if(typeof n=="function")return n()}getOrCreateInstance(t,r){const n=this._find(t);if(typeof n=="function")return n();const i=r(this);return this.inject(t,i),i}getInstanceAsync(t){const r=this._find(t);if(typeof r=="function")return Promise.resolve(r());const n=ut();return new Promise((i,o)=>{const s={id:String(t),startedAt:Date.now(),origin:n,container:this,reject:o};P.add(s),X?.start(s),this._onInject(t,()=>{V(s),i(this.getInstance(t))})})}failPendingWaits(t){for(const r of Array.from(P))r.container===this&&(V(r),r.reject(t))}pendingWaits(){return[...P].filter(t=>t.container===this)}addService(t,r){const n=M(t);this.injectFactory(n,(o,s=[])=>s.indexOf(r)<0?[...s,r]:s);const i=new I;return i.addDispose(()=>{this.injectFactory(n,(o,s=[])=>s.filter(a=>a!==r))}),i}addServiceFactory(t,r,n){const i=M(t);let o;this.injectFactory(i,(a,c=[])=>(o=r(a,o),o===void 0?c:c.indexOf(o)<0?[...c,o]:c),n);const s=new I;return s.addDispose(()=>{this.injectFactory(i,(a,c=[])=>o===void 0?c:c.filter(_=>_!==o))}),s}getServices(t){const r=M(t);return[...this.getInstance(r,!1)||[],...this._parent?.getServices(t)||[]]}createChild(){return new oe(this)}getOrCreateIsolatedContainer(t){return this.getOrCreateInstance(t,()=>{const r=this._parent?.getOrCreateIsolatedContainer(t);return new oe(r)})}remove(t){const r=this._injections;delete r[String(t)]}injectListenerCount(){return this._injectCallbacks.length}dispose(){for(const t of Array.from(P))t.container===this&&V(t);this._injections=Object.create(null),this._injectCallbacks=[],super.dispose()}};function $(e){return e.startsWith("__")?e:`__${e}__`}function _t(e){if(typeof globalThis>"u")throw new Error("[di] globalThis is required for namespace container access.");const t=$(e),r=globalThis;return r[t]??={}}function lt(e){return e!=null&&typeof e=="object"&&typeof e.inject=="function"&&typeof e.getInstance=="function"}function dt(e){if(e)return $(e);const t="emailmaker".trim();if(!t)throw new Error("[di] REACT_APP_NAME is required for resolveContainer().");return $(t)}function ae(e){const t=dt(e),r=_t(t);if(lt(r.container))return r.container;const n=new se(null);return r.container=n,n}function ft(e){return ae(e)}function Et(){let e=new Date().getTime(),t=typeof performance<"u"&&performance.now&&performance.now()*1e3||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(r){let n=Math.random()*16;return e>0?(n=(e+n)%16|0,e=Math.floor(e/16)):(n=(t+n)%16|0,t=Math.floor(t/16)),(r==="x"?n:n&3|8).toString(16)})}function ce(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Et()}function f(e=ce()){return e}function ue(){return"umd".trim()||"unknown"}function pt(e){if(typeof globalThis>"u")return;const t=ue(),r=globalThis[e]??{};globalThis[e]=r;const n=r.__diagnostics??={},i=n.diModuleEval??={evalCount:0,records:[]};i.records.push({buildSource:t,timestamp:Date.now(),stack:new Error().stack}),i.evalCount+=1}function ht(){const e="emailmaker".trim();if(!e)throw new Error("[di] REACT_APP_NAME is required for DependencyResolver diagnostics.");return`__${e}__`}function Ot(e,t){if(pt(t),typeof globalThis>"u")return e;const r=ue(),n=globalThis,i=n[t]=n[t]||{},o=i.__diagnostics=i.__diagnostics||{},s=o.dependencyResolver=o.dependencyResolver||{entries:[]},a={container:e,source:"packages/runtime-core/di/index.ts",buildSource:r,timestamp:Date.now(),stack:new Error().stack};return s.entries.push(a),e}var j;function At(){if(j)return j;const e=ht();return j=Ot(ae(e),e),j}var W=new Proxy({},{get(e,t,r){const n=At(),i=Reflect.get(n,t,r);return typeof i=="function"?i.bind(n):i}});function gt(e,t="BackendError"){switch(e){case 400:return"ValidationError";case 401:return"AuthenticationFailed";case 403:return"AuthorizationFailed";case 404:return"FileNotFound";case 413:return"PayloadTooLarge";case 415:return"UnsupportedMediaType";case 429:return"RateLimitExceeded";case 500:return"BackendError";case 503:return"ServiceUnavailable";case 504:return"Timeout";default:return t}}function S(e){if(e instanceof DOMException&&e.name==="AbortError")return e;const t=e===void 0?"The operation was aborted.":typeof e=="string"?e:e instanceof Error?e.message:String(e);return new DOMException(t,"AbortError")}function It(e){return e instanceof DOMException&&e.name==="AbortError"}function q(e){if(e?.aborted)throw S(e.reason)}function mt(e,t){return t?(t.aborted&&e.catch(()=>{}),q(t),new Promise((r,n)=>{const i=()=>{o(),n(S(t.reason))},o=()=>{t.removeEventListener("abort",i)};t.addEventListener("abort",i),e.then(s=>{o(),r(s)},s=>{o(),n(s)})})):e}var _e=class extends I{_options;_listeners=[];constructor(e={}){super(),this._options=e}getListeners(e){return this._listeners.flatMap(([t])=>typeof t=="function"?t:t.getListeners(e))}hasListeners(){for(const[e]of this._listeners){if(typeof e=="function")return!0;const t=e;if(typeof t.hasListeners=="function"){if(t.hasListeners())return!0;continue}return!0}return!1}_addListener(e,t=0,r){if(this.isDisposed())return{dispose:()=>{}};const n=this._listeners,i=this._options;r&&typeof e=="function"&&(e=e.bind(r));const o=n.findIndex(([,a])=>a<t),s=[e,t];return n.splice(o>=0?o:n.length,0,s),n.length===1&&i.onFirstListenerAdd&&i.onFirstListenerAdd(),{dispose:()=>{const a=n.indexOf(s);a>=0&&(n.splice(a,1),!n.length&&i.onLastListenerRemove&&i.onLastListenerRemove())}}}on=this._addListener.bind(this);event=this._addListener.bind(this);once=(e,t=0,r)=>{const n=this._addListener((...i)=>(n?.dispose(),r?e.call(r,...i):e(...i)),t);return n};un=e=>{const t=this._listeners.findIndex(([r])=>r===e);t>=0&&(this._listeners.splice(t,1),this._listeners.length===0&&this._options.onLastListenerRemove&&this._options.onLastListenerRemove())};dispose(){this._listeners.splice(0,this._listeners.length),this._options.onLastListenerRemove&&this._options.onLastListenerRemove(),super.dispose()}},b=class extends _e{execute(e,t){for(const r of t)try{r(...e)}catch{}}fire(...e){if(!this.isDisposed()){const t=this.execute(e,this.getListeners(e));return t===void 0?void 0:t}}},Tt=class extends b{execute([e],t){for(const r of t)try{r(e)}catch{}}},St=class extends b{_suspendCounter=0;_wasFired=!1;execute([e],t){if(this._suspendCounter)this._wasFired=!0;else for(const r of t)try{r(e)}catch{}}suspend(){this._suspendCounter++}resume(){--this._suspendCounter===0&&this._wasFired&&(this.fire(),this._wasFired=!1)}},B=class extends b{async execute([e],t){const r=[];for(const n of t)try{r.push(await n(e))}catch{}return r}async fireSettled(e){const t={results:[],errors:[]};if(this.isDisposed())return t;for(const r of this.getListeners([e]))try{t.results.push(await r(e))}catch(n){t.errors.push(n)}return t}};function bt(e,t=0){const r=new _e,n=e(r,t);return n&&r.addDisposable(n),r.event}function Dt(e,t,r=0){const n=new b,i=e((...o)=>{if(t(...o))return n.fire(...o)},r);return i&&n.addDisposable(i),n.event}function Nt(e,t=0,r=0){const n=new b;let i,o;const s=e((...a)=>{o=a,i||(i=setTimeout(()=>{o&&n.fire(...o),i=void 0},t))},r);return s&&n.addDisposable(s),n.event}function yt(e,t){return e.getOrCreateInstance(t,()=>new B)}function d(e){return f(e)}var K;(function(e){e.BEFORE_SAVE_EMAIL=d("events.BEFORE_SAVE_EMAIL"),e.ON_SAVEBUTTON_CLICK_ID=d("events.ON_SAVEBUTTON_CLICK_ID"),e.ON_NEXTBUTTON_CLICK_ID=d("events.ON_NEXTBUTTON_CLICK_ID"),e.ON_PREVIOUSBUTTON_CLICK_ID=d("events.ON_PREVIOUSBUTTON_CLICK_ID"),e.ON_DOCUMENT_SESSION_CHANGE=d("events.ON_DOCUMENT_SESSION_CHANGE"),e.WILL_EMAIL_INIT_ID=d("events.WILL_EMAIL_INIT_ID"),e.ON_EMAIL_INIT_ID=d("events.ON_EMAIL_INIT_ID"),e.ON_BLOCK_INIT_ID=d("events.ON_BLOCK_INIT_ID"),e.ON_CONTENT_CHANGED_ID=d("events.ON_CONTENT_CHANGED_ID"),e.ON_PREHEADER_CHANGED_ID=d("events.ON_PREHEADER_CHANGED_ID"),e.ON_SUBJECT_CHANGED_ID=d("events.ON_SUBJECT_CHANGED_ID"),e.ON_EMAIL_CHANGED_ID=d("events.ON_EMAIL_CHANGED_ID"),e.ON_HEADER_APPLIED_ID=d("events.ON_HEADER_APPLIED_ID"),e.ON_BLOCK_CHANGED_ID=d("events.ON_BLOCK_CHANGED_ID"),e.ON_CHUNKS_LOADED=d("events.ON_CHUNKS_LOADED"),e.ON_SEND_TESTEMAIL_ID=d("events.ON_SEND_TESTEMAIL_ID"),e.ON_SEND_LIVEPREVIEW_ID=d("events.ON_SEND_LIVEPREVIEW_ID"),e.ON_SHARE_ID=d("events.ON_SHARE_ID"),e.ON_SHOW_PREVIEW_ID=d("events.ON_SHOW_PREVIEW_ID"),e.ON_EMAIL_CLONE_ID=d("events.ON_EMAIL_CLONE_ID"),e.ON_SEND_EMAIL_MODAL_ID=d("events.ON_SEND_EMAIL_MODAL_ID"),e.ON_NOTIFICATION=d("events.ON_NOTIFICATION"),e.READ_LOCALE=d("events.READ_LOCALE"),e.ON_TRANSLATE_ID=d("events.ON_TRANSLATE_ID"),e.ON_CODE_VALIDATE_ID=d("events.ON_CODE_VALIDATE_ID"),e.UPLOAD_EVENT_ID=d("events.UPLOAD_EVENT_ID"),e.PROXY_URL_EVENT_ID=d("events.PROXY_URL_EVENT_ID"),e.FILE_PROXY_EVENT_ID=d("events.FILE_PROXY_EVENT_ID"),e.ON_LIMIT_ID=d("events.ON_LIMIT_ID"),e.ON_BROWSER_EXTENSION_DETECTED_ID=d("events.ON_BROWSER_EXTENSION_DETECTED_ID"),e.ON_LAYOUT_CONVERT_REQUEST_ID=d("events.ON_LAYOUT_CONVERT_REQUEST_ID"),e.ON_BROWSER_TRANSLATE_DETECTED_ID=d("events.ON_BROWSER_TRANSLATE_DETECTED_ID"),e.AI_TEXT_REQUEST_ID=d("events.AI_TEXT_REQUEST_ID"),e.AI_IMAGE_REQUEST_ID=d("events.AI_IMAGE_REQUEST_ID"),e.AI_TEXT_PROGRESS_ID=d("events.AI_TEXT_PROGRESS_ID"),e.AI_IMAGE_PROGRESS_ID=d("events.AI_IMAGE_PROGRESS_ID"),e.AI_TEXT_STREAM_ID=d("events.AI_TEXT_STREAM_ID")})(K||(K={}));function Pt(e,t){return e.getOrCreateInstance(t,()=>new B).event}function Ct(e,t){return e.getOrCreateInstance(t,()=>new B)}var Lt=f("plugin.app"),Rt=f("plugin.disposable"),vt=f("InitPipelineContext"),wt=f("plugin.instance"),Mt=f("plugin.lateSurfaceListeners"),le=f("plugin.optionsSource"),jt=f("plugin.store"),de=f("ConfigSource"),Bt=f("plugin.standalone.project"),fe=f("plugin.standalone.bootstrapToken"),yn=f("plugin.element"),Ee=f("plugin.securityModule"),xt=f("plugin.standalone.activated"),Ft=f("plugin.standalone.fileProxyRegistered"),z=f("plugin.jwt.token"),C=f("plugin.jwt.error"),kt=f("PluginCollection"),Ut=d("APP_LOAD_EVENT"),Gt=d("CONFIG_CHANGED_EVENT"),Ht=(function(e){return e.Json="application/json",e.FormData="multipart/form-data",e.UrlEncoded="application/x-www-form-urlencoded",e.Text="text/plain",e})({}),Xt=class{baseUrl="https://api.emailmaker.ru/wp-json";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(r=>this.encodeQueryParam(t,r)).join("&")}toQueryString(e){const t=e||{};return Object.keys(t).filter(r=>typeof t[r]<"u").map(r=>Array.isArray(t[r])?this.addArrayQueryParam(t,r):this.addQueryParam(t,r)).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,"text/plain":e=>e!==null&&typeof e!="string"?JSON.stringify(e):e,"multipart/form-data":e=>Object.keys(e||{}).reduce((t,r)=>{const n=e[r];return t.append(r,n instanceof Blob?n:typeof n=="object"&&n!==null?JSON.stringify(n):`${n}`),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 r=this.abortControllers.get(e);return r?r.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))};async request({body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:s,cancelToken:a,extraQuery:c,proxyHandler:_,...l}){const E=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},h=this.mergeRequestParams(l,E);c&&(i=i?{...i,...c}:c);const p=i&&this.toQueryString(i),g=this.contentFormatters[n||"application/json"],O=o||h.format,G=`${s||this.baseUrl||""}${r}${p?`?${p}`:""}`,Sn=_?_(G,{body:e,secure:t,path:r,type:n,query:i,format:o,baseUrl:s,cancelToken:a,extraQuery:c,proxyHandler:_,...l}):G,st=new Request(Sn,{...h,headers:{...h.headers||{},...n&&n!=="multipart/form-data"?{"Content-Type":n}:{}},signal:(a?this.createAbortSignal(a):h.signal)||null,body:typeof e>"u"||e===null?null:g(e)});return this.customFetch(st).then(async at=>{const m=at;m.data=null,m.error=null,m.meta={request:st,response:m};const bn=O?await at[O]().then(H=>(m.ok?m.data=H:m.error={data:H},m)).catch(H=>(m.error=H,m)):m;return a&&this.abortControllers.delete(a),bn})}},Vt=f("prewarm.networkActivity");function $t(){let e=0;const t=new Set,r=()=>{t.forEach(n=>n())};return{begin(){e+=1,r();let n=!1;return()=>{n||(n=!0,e-=1,r())}},inFlight:()=>e,watch(n){return t.add(n),()=>t.delete(n)}}}function Wt(e){return e.getOrCreateInstance(Vt,()=>$t())}var pe=Symbol("rest.publicRequest"),x=f("rest.requestHandler"),qt=f("rest.responseHandler"),J=f("rest.customFetch"),Y=f("rest_transport"),Kt=e=>{e.inject(J,{execute:async(t,r={})=>{const n=e.getServices(x),i={public:r[pe]===!0},o=Wt(e).begin();try{let s=t instanceof Request?t:new Request(t,r);for(const _ of n){const l=await _.execute(s,i);l instanceof Request&&(s=l)}let a=await fetch(s);const c=e.getServices(qt);for(const _ of c)a=await _.execute(a);return a}finally{o()}}})};function zt(e,t){const r=e.getInstance(Y);if(!r)throw new Error("[restApi] транспорт не зарегистрирован в контейнере");return Object.assign({},...t.map(n=>new n(r)))}function Jt(e,t=window){return{peer:e,send(r){e.postMessage(r,"*")},subscribe(r){const n=i=>{r({data:i.data,source:i.source,ports:i.ports})};return t.addEventListener("message",n),{dispose:()=>t.removeEventListener("message",n)}},close(){}}}function Yt(e){let t=!1;return{peer:e,send(r){e.postMessage(r)},subscribe(r){const n=i=>{r({data:i.data,source:e})};return e.addEventListener("message",n),t||(t=!0,e.start()),{dispose:()=>e.removeEventListener("message",n)}},close(){e.close()}}}function Qt(e){return e}function Zt(e){return e&&typeof e=="object"}function he(e,t){return e&&typeof e=="object"&&e.operationId===t}var T="INIT_MESSAGE",Oe="em:port-ready",er="em:window-drained",Q="";function Ae(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}var tr=class extends I{_listeners=Object.create(null);addListenerAsync=(e,t,r=0,n)=>{const i=this._listeners[e]||(this._listeners[e]=[]);n&&typeof t=="function"&&(t=t.bind(n));const o=i.findIndex(([a,c])=>r<=c),s=[t,r];return this.isDisposed()||i.splice(o>=0?o:i.length,0,s),{dispose(){const a=i.indexOf(s);a>=0&&i.splice(a,1)}}};fireAsync=(e,t)=>{if(!this.isDisposed()){const r=this._listeners[e]||(this._listeners[e]=[]);let n;for(let i=0;i<r.length;i++){const o=r[i][0],s=n;n=a=>o(a,s)}if(n)return n(t)}};addListener=(e,t,r=0)=>this.addListenerAsync(e,(n,i)=>{try{t(n)}catch{}return i&&i(n)},r)},rr=class extends I{_singleton;_target;_transport;_transportSubscription;_ports=new Map;_drained=new WeakSet;_inited=!1;_emitter=this.addDisposable(new tr);_handshaken=new WeakSet;_greeted=new WeakSet;_outgoingFilter;constructor(e,t){super(),this._singleton=t,this._transport=Jt({postMessage:()=>{}},window),this._transportSubscription=this.addDisposable(this._transport.subscribe(this._onTransportMessage)),this.addListener(T,()=>{this._inited||(this._inited=!0,this._target&&this._handshaken.add(this._target),this.send(T))}),e&&this.setTarget(e)}_onTransportMessage=e=>{const t=e,r=t.data,n=t.source,i=r?.port===!0?t.ports?.[0]:void 0,o=!this._isPortSource(t.source);if(o&&n&&r?.operationId==="em:window-drained"){this._drained.add(n);return}if(!(o&&n&&this._drained.has(n))){if(n&&n!==this._target&&this._greeted.has(n)&&he(r,T)){this._greeted.delete(n),this._handshaken.add(n),this._postMessage(n,{operationId:T,data:{}}),i&&this.usePort(i,!0,n);return}if(Zt(r)&&(t.source===this.target||this._isCurrentPort(t.source))||this._singleton&&he(r,T)){if(i){const _=this._target;Promise.resolve().then(()=>this.usePort(i,!0,_))}const s=this._emitter.fireAsync(r.operationId||Q,r.operationId===void 0?t:r.data),a=r.result,c=r.error;a&&c&&Promise.resolve(s).then(_=>this._sendMessage(a,_),_=>this._sendMessage(c,_))}}};setTarget(e){if(this._target!==e){if(this._target=e,!e){this._inited=!1;return}if(this._handshaken.has(e)){this._inited=!0,this._emitter.fireAsync(T,void 0);return}this._inited=!1,this._postMessage(e,{operationId:T,data:{}})}}sendPort(e,t){this._postMessage(e,{operationId:T,data:{},port:!0},[t])}setOutgoingFilter(e){return this._outgoingFilter=e,()=>{this._outgoingFilter===e&&(this._outgoingFilter=void 0)}}sendNow(e){const t=this._target;return!this._inited||!t?!1:(this._postMessage(t,e),!0)}greet(e){this._handshaken.has(e)||this._greeted.has(e)||this._target===e||(this._greeted.add(e),this._postMessage(e,{operationId:T,data:{}}))}forget(e){this._handshaken.delete(e),this._greeted.delete(e),this._closePort(e),this._drained.delete(e),this._target===e&&(this._inited=!1)}usePort(e,t=!1,r=this._target){if(!r||this._ports.has(r))return;const n=Yt(e),i=n.subscribe(this._onTransportMessage);this._ports.set(r,{transport:n,subscription:i}),t&&(n.send({operationId:Oe,data:{}}),this.drainWindow(r))}useWindow(e=this._target){e&&(this._closePort(e),this._drained.delete(e))}get usesPort(){return this._target!==void 0&&this._ports.has(this._target)}hasPort(e){return this._ports.has(e)}_closePort(e){const t=this._ports.get(e);t&&(t.subscription.dispose(),t.transport.close(),this._ports.delete(e))}drainWindow(e){this._ports.has(e)&&e.postMessage({operationId:er,data:{}},"*")}isWindowDrained(e){return this._drained.has(e)}_isPortSource(e){for(const t of this._ports.values())if(t.transport.peer===e)return!0;return!1}_isCurrentPort(e){return this._target!==void 0&&this._ports.get(this._target)?.transport.peer===e}getTarget(){return this._target}get target(){return this._target}_postMessage(e,t,r){let n=t;this._outgoingFilter&&!r?.length&&(n="data"in t?{...t,data:this._outgoingFilter(t.data)}:this._outgoingFilter(t));try{const i=this._ports.get(e);if(i){i.transport.send(n);return}if(r?.length){e.postMessage(n,"*",r);return}e.postMessage(n,"*")}catch(i){if(i?.name==="DataCloneError"){const o=typeof n?.data=="object"&&n?.data!==null?n.data:void 0}throw i}}_sendMessage(e,t,r=!0){if(!r&&!this.isInited())return;const n=this.addDisposable(this.onInit(i=>{const o=e?{operationId:e,data:t}:t;try{this._postMessage(i,{...o})}finally{n.dispose()}}))}send(e,t,r){return typeof e=="string"?this._sendMessage(e,t,r):this._sendMessage(Q,e,t)}sendAsync(e,t,r=!0){if(!r&&!this.isInited())return Promise.resolve();const n=Ae(),i=Ae();return new Promise((o,s)=>{const a=this.addDisposable(new I);a.addDisposable(this.onInit(c=>{try{this._postMessage(c,{operationId:e,data:t,result:n,error:i})}catch(_){a.dispose(),s(_);return}a.addDisposable(this._onMessage(n,_=>{o(_),a.dispose()})),a.addDisposable(this._onMessage(i,_=>{s(_),a.dispose()}))}))})}_onMessage(e,t,r=0){return this._emitter.addListener(e,t,r)}addListener(e,t,r){return t?this._onMessage(e,t,r):this._onMessage(Q,e)}addListenerAsyncPipe(e,t,r=0){return this._emitter.addListenerAsync(e,t,r)}addListenerAsync(e,t,r=0){return this._emitter.addListenerAsync(e,async(n,i)=>{const o=await t(n);return i?i(n):o},r)}isInited(){return this._inited}get inited(){return this._inited}onInit(e,t=!0,r=0){const n=this.addDisposable(new I);return this._inited&&this._target?t&&Promise.resolve().then(()=>{!this._inited||!this._target?n.addDisposable(this.onInit(e,t,r)):e(this._target)}):n.addDisposable(this._onMessage(T,()=>{e(this._target)},r)),n}dispose(){for(const e of Array.from(this._ports.keys()))this._closePort(e);this._transport.close(),super.dispose()}};function L(e){return f(e)}var nr=f("extensions.atomsHandlers"),ir=L("HANDLE_ATOM_INSERT"),or=f("extensions.sandboxExtensions"),sr="SANDBOX_EXTENSION_SCRIPT_STATUS",ar=f("MESSAGE_SERVICE"),cr=L("SETTINGS_PANEL_EVENT"),ur="advanced",_r=L("MODAL_SHOW_EVENT"),lr=L("MODAL_CLOSE_EVENT"),dr=L("MODAL_UPDATE_EVENT"),Pn=f("client"),Cn=f("v2_client"),Ln=f("ai_client"),fr=f("app.cookieManager"),Rn=f("app.storageProvider"),vn=f("image-blob-resolver"),Er=f("template-directives"),pr="INJECTION";function hr(e){return e.getState}function Or(e){if(!hr(e)){e.dispose();return}const t=e.getState()[pr];t&&(W.getInstance(t)?.dispose(),W.remove(t))}function ge(e){return Object.assign({},...e)}var Ie=["generic","stockImages","emFiles","cdn"];function Z(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function me(e){return!Z(e)||"match"in e||"rewrite"in e||"proxyBase"in e?!1:Object.keys(e).some(t=>Ie.includes(t))}function Te(e){return e.length===0?[]:e.length===1?e[0]:e}function Se(e){let t=!1,r=[];for(const n of e)if(n!==void 0){if(t=!0,Array.isArray(n)){r=[...n,...r];continue}r=[n,...r]}if(t)return Te(r)}function Ar(e){return Z(e)&&("value"in e||"replace"in e)}function be(e,t){return t===void 0?e:Array.isArray(t)?[...t,...e]:[t,...e]}function gr(e){let t=!1,r=[],n=!1;for(const o of e)if(o!==void 0){if(Ar(o)){t=!0,o.replace&&(r=[],n=!0),o.value!==void 0&&(r=be(r,o.value),n=!0);continue}r=be(r,o),n=!0}const i=n?Te(r):void 0;if(!t)return i;if(i!==void 0)return{value:i}}function Ir(e){const t=e.filter(n=>n!==void 0);if(t.length===0)return;if(!t.some(n=>me(n)))return Se(t);const r={};for(const n of Ie){const i=gr(e.map(o=>{if(o!==void 0)return me(o)?o[n]:n==="generic"?o:void 0}));i!==void 0&&(r[n]=i)}return Object.keys(r).length>0?r:void 0}function mr(e){return Se(e)}function Tr(e){if(e!==void 0){if(Array.isArray(e))return{replace:!1,hosts:e};if(Z(e)&&Array.isArray(e.value))return{replace:!!e.replace,hosts:e.value}}}function Sr(e,t){const r=[...e],n=new Set(r.map(i=>i.toLowerCase()));for(const i of t){const o=i.trim().replace(/:\d+$/,"");if(!o)continue;const s=o.toLowerCase();n.has(s)||(n.add(s),r.push(o))}return r}function br(e){let t=[],r=!1;for(const n of e){const i=Tr(n);i&&(r=!0,i.replace&&(t=[]),t=Sr(t,i.hosts))}return r?t:void 0}function Dr(e){const t=e.filter(i=>i!==void 0);if(t.length===0)return;const r=ge(t.map(({directHosts:i,...o})=>o)),n=br(t.map(i=>i?.directHosts));return n!==void 0&&(r.directHosts=n),r}function ee(e){return e?.backendProxy}function R(e){return e.replace(/\/$/,"")}function De(e){return/^https?:\/\//i.test(e)}function Ne(e){return!!e&&typeof e=="object"&&!Array.isArray(e)}function Nr(e){const t=new Set;return e.filter(r=>!r.url||t.has(r.url)?!1:(t.add(r.url),!0))}function yr(e){const t=ee(e);return t?[t]:[]}function Pr(e){return{proxyEmFiles:!0,proxyAi:!1}}function Cr(e,t){const r=Pr(t),n=t?.backendProxyPolicy;switch(e){case"emFiles":return n?.proxyEmFiles??r.proxyEmFiles;case"ai":return n?.proxyAi??r.proxyAi;default:return!0}}var Lr={url:".+",url_encoded:".+",origin:"https?:\\/\\/[^\\/?#]+",origin_encoded:".+",proxy_url:"https?:\\/\\/[^\\/?#]+",proxy_url_encoded:".+",path:"[^?#]*",pathname:"[^?#]*",path_with_slash:"\\/[^?#]*",pathname_with_slash:"\\/[^?#]*",query:"[^#]*",search:"\\?[^#]*",hash:"#.*",fragment:".*",pathname_after_wp_json:"[^?#]*",pathname_after_wp_json_with_slash:"\\/[^?#]*",rest_namespace:"[^/?#]*",rest_version:"[^/?#]*",rest_route:"[^?#]*",rest_route_with_slash:"\\/[^?#]*"};function Rr(e){const t=[],r=e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/\\\{([a-z_]+)\\\}/gi,(n,i)=>(t.push(i),`(${Lr[i]||".+"})`));return{regex:new RegExp(`^${r}$`,"i"),tokens:t}}function vr(e){return/[?#]/.test(e)||/\{(?:url|url_encoded|query|search|hash|fragment)\}/i.test(e)}function wr(e,t){if(vr(t))return e;try{const r=new URL(e);return`${r.origin}${r.pathname}`}catch{return e.split(/[?#]/)[0]||e}}function Mr(e,t,r){if(r.endsWith("_encoded"))return!0;const n=e.slice(0,t),i=n.lastIndexOf("#"),o=n.lastIndexOf("?"),s=n.lastIndexOf("&"),a=n.lastIndexOf("=");return a>Math.max(o,s)&&a>i}function jr(e){try{const t=new URL(e),r=t.pathname.replace(/^\/+/,""),n=t.search.replace(/^\?/,""),i=t.hash.replace(/^#/,""),o=r.replace(/^wp-json\/?/i,""),s=o?`/${o}`:"/",a=o.match(/^([^/]+)(?:\/([^/]+))?(?:\/(.*))?$/),c=a?.[1]||"",_=a?.[2]||"",l=a?.[3]||"";return{url:e,url_encoded:encodeURIComponent(e),origin:t.origin,origin_encoded:encodeURIComponent(t.origin),proxy_url:t.origin,proxy_url_encoded:encodeURIComponent(t.origin),path:r,pathname:r,path_with_slash:t.pathname||"/",pathname_with_slash:t.pathname||"/",query:n,search:t.search,hash:t.hash,fragment:i,pathname_after_wp_json:o,pathname_after_wp_json_with_slash:s,rest_namespace:c,rest_version:_,rest_route:l,rest_route_with_slash:l?`/${l}`:"/"}}catch{return}}function te(e,t){if(!e)return{};if(Array.isArray(e)){for(const a of e){const c=te(a,t);if(c!==void 0)return c}return}if(e==="*")return{};const r=wr(t,e),{regex:n,tokens:i}=Rr(e),o=n.exec(r);if(!o)return;const s={};return i.forEach((a,c)=>{s[`matched_${a}`]=o[c+1]||""}),s}function F(e,t,r={}){const n=jr(t);if(!n)return t;const i={...n,...r};let o="",s=0;const a=/\{([a-z_]+)\}/gi;let c;for(;c=a.exec(e);){o+=e.slice(s,c.index);const _=i[c[1]]??"",l=Mr(e,c.index,c[1])?encodeURIComponent(_):_;o+=l,s=c.index+c[0].length}o+=e.slice(s);try{const _=new URL(o),l=new URL(t);return!o.includes("{search}")&&!o.includes("{query}")&&l.search&&l.searchParams.forEach((E,h)=>{_.searchParams.has(h)||_.searchParams.append(h,E)}),!o.includes("{hash}")&&!o.includes("{fragment}")&&l.hash&&!_.hash&&(_.hash=l.hash),_.toString()}catch{return o}}function ye(e,t){try{const r=new URL(t);return`${R(e)}/${r.pathname.replace(/^\//,"")}${r.search}${r.hash}`}catch{return t}}function Pe(e,t){const r=R(e);return t?De(t)?t:t.startsWith("?")||t.startsWith("#")?`${r}${t}`:`${r}${t.startsWith("/")?"":"/"}${t}`:r}function Ce(e,t,r,n){const i=e.match;return i?Array.isArray(i)?i.some(o=>Ce({...e,match:o},t,r,n)):typeof i=="function"?!!i({url:t,method:n,requestType:r}):i==="*"?!0:te(i,t)!==void 0:!0}function Br(e,t,r,n="generic"){if(e==null)return[];const i=Array.isArray(e)?e:[e],o=[];return i.forEach((s,a)=>{if(!s)return;if(typeof s=="string"){const E=s.includes("{")&&s.includes("}")?F(s,t):ye(s,t);o.push({key:`backend:${a}`,url:E,source:"resource"});return}if(!Ne(s)||!("rewrite"in s))return;const c=s;if(!Ce(c,t,n,r))return;const _=typeof c.match=="string"||Array.isArray(c.match)?te(c.match,t)||{}:{},l=typeof c.proxyBase=="string"&&c.proxyBase.trim()?c.proxyBase.trim():void 0;(Array.isArray(c.rewrite)?c.rewrite:[c.rewrite]).filter(Boolean).forEach((E,h)=>{const p=typeof E=="function"?(()=>{const g=E({url:t,proxyBase:l,method:r,requestType:n,..._}),O=l&&!De(g)?Pe(l,g):g;return O.includes("{")&&O.includes("}")?F(O,t,_):O})():l?F(Pe(l,E),t,_):E.includes("{")&&E.includes("}")?F(E,t,_):ye(E,t);o.push({key:`backend:${c.id||"rule"}:${a}:${h}`,url:p,source:"resource"})})}),Nr(o)}function xr(e){try{const t=new URL(e);return/(?:^|\/)wp-json\/em-files\/v\d+(?:\/|$)/i.test(t.pathname)?"emFiles":/(?:^|\/)wp-json\/ai-generator\/v\d+(?:\/|$)/i.test(t.pathname)?"ai":"generic"}catch{return"generic"}}function Fr(e,t=[]){return e==null||(Array.isArray(e)?e:[e]).forEach(r=>{if(r){if(typeof r=="string"){const n=r.split("{")[0]?.trim();n&&t.push(R(n));return}!Ne(r)||!("rewrite"in r)||(typeof r.proxyBase=="string"&&r.proxyBase.trim()&&t.push(R(r.proxyBase.trim())),(Array.isArray(r.rewrite)?r.rewrite:[r.rewrite]).forEach(n=>{if(typeof n!="string")return;const i=n.split("{")[0]?.trim();i&&t.push(R(i))}))}}),t}function kr(e,t){return yr(t).flatMap(r=>Fr(r)).filter(Boolean).some(r=>r&&e.startsWith(r))}function Ur(e,t){return!!ee(t)&&Cr(e,t)}function Gr(e,t={}){const r=t.requestType||xr(e);return Ur(r,t.config)?Br(ee(t.config),e,t.method,r):[]}function Hr(e,t={}){return kr(e,t.config)?[e]:Gr(e,t).map(r=>r.url)}function D(e){for(;e.endsWith("/");)e=e.slice(0,e.length-1);return/\/wp-json$/i.test(e)?e:`${e}/wp-json`}function Le(...e){const t=e.filter(o=>o!=null);if(t.length===0)return;if(t.length===1)return t[0];const r=t.find(o=>o.aborted);if(r)return r;if(typeof AbortSignal<"u"&&typeof AbortSignal.any=="function")return AbortSignal.any(t);const n=new AbortController,i=o=>{n.signal.aborted||n.abort(o.reason)};for(const o of t)o.addEventListener("abort",()=>i(o),{once:!0});return n.signal}var Re=3e5,ve=15e3,A=null,we=!1;function Xr(){return!0}function Vr(){const e=String({}.REACT_APP_OPENAPI_FAILOVER_TTL_MS||"").trim();if(!e)return Re;const t=Number(e);return Number.isFinite(t)&&t>0?t:Re}function $r(){const e=String({}.REACT_APP_OPENAPI_FAILOVER_ATTEMPT_TIMEOUT_MS||"").trim();if(!e)return ve;const t=Number(e);return Number.isFinite(t)&&t>0?t:ve}function Wr(){const e="https://app.emailmaker.ru/api/".trim();return e?D(e):void 0}function qr(e){const t=e.trim();if(!t)return[];if(t.startsWith("["))try{const r=JSON.parse(t);if(!Array.isArray(r))throw new Error("expected JSON array");return r.map(n=>String(n).trim()).filter(Boolean)}catch{return we||(we=!0),[]}return t.split(",").map(r=>r.trim()).filter(Boolean)}function Kr(e){const t=new Set,r=[];for(const n of e){const i=D(n);t.has(i)||(t.add(i),r.push(i))}return r}function Me(e){const t=String(e||"").trim();return t?D(t):Wr()}function je(e,t=[]){return e?Kr([e,...t]).slice(0,3):[]}function Be(){return qr(String({}.REACT_APP_OPENAPI_FAILOVER_BASE_URLS||"").trim())}function zr(e=Date.now()){return A?e-A.switchedAt>=Vr():!0}function xe(e=Date.now()){A&&zr(e)&&(A=null)}function N(e){if(!Xr())return!1;const t=Me(e);if(!t)return!1;const r=Be();return r.length===0?!1:je(t,r).length>1}function v(e){const t=Me(e);if(!t)return[];const r=Be();return r.length===0?[t]:je(t,r)}function k(e){const t=v(e);if(t.length===0)return"";if(xe(),A){const r=t.indexOf(A.activeUrl);if(r>=0)return t[r]}return t[0]}function Fe(e){const t=v(e);if(t.length<=1||(xe(),!A||!t.includes(A.activeUrl)))return t;const r=A.activeUrl;return[r,...t.filter(n=>n!==r)]}function ke(e){return k(e)||void 0}function Ue(e){const t=e||void 0;if(typeof AbortController>"u")return{signal:t,timeoutError:()=>{},done:()=>{}};const r=$r(),n=new AbortController;let i;const o=setTimeout(()=>{i=Jr(r),n.abort(i)},r);return{signal:Le(t,n.signal),timeoutError:()=>i,done:()=>clearTimeout(o)}}function Jr(e){const t=`[apiOriginFailover] origin attempt timed out after ${e}ms`;if(typeof DOMException=="function")return new DOMException(t,"TimeoutError");const r=new Error(t);return r.name="TimeoutError",r}function Ge(e){return e===502||e===503||e===504}function He(e){return!(e instanceof Error)&&!(e instanceof DOMException)?!1:e.name==="TimeoutError"?!0:e instanceof TypeError}var Xe;function Yr(e){Xe=e}function U(e,t){if(!N(t))return;const r=v(t);if(r.length<=1)return;const n=r.indexOf(D(e));if(n<0)return;const i=n+1;if(i>=r.length)return;const o=r[i],s=A?.activeUrl;A={activeUrl:o,switchedAt:Date.now()},s!==o&&Xe?.()}function Ve(e,t){if(!N(t))return;const r=D(e),n=v(t);if(n.includes(r)){if(r===n[0]){A=null;return}A?.activeUrl!==r&&(A={activeUrl:r,switchedAt:Date.now()})}}function $e(){A=null}var Qr=e=>{const t=new FormData,r=(n,i,o)=>{if(i!=null){if(i instanceof Blob){n.append(o,i);return}if(Array.isArray(i)){i.forEach((s,a)=>{const c=o?`${o}[${a}]`:`${a}`;r(n,s,c)});return}if(typeof i=="object"){Object.keys(i).forEach(s=>{const a=i[s],c=o?`${o}[${s}]`:s;r(n,a,c)});return}n.append(o,String(i))}};return r(t,e),t},Zr={baseUrl:D("https://app.emailmaker.ru/api/"),baseApiParams:{secure:!0,credentials:"same-origin",format:"json"},securityWorker:()=>({credentials:"same-origin"})},y=new Map;function en(e){const t=e?.getInstance(de);return t?t.get()??t.bootstrap():void 0}var tn=class extends Xt{container;constructor(e={},t){super(e),this.container=t}buildRequestUrl(e){const{path:t,baseUrl:r,extraQuery:n}=e;let{query:i}=e;n&&(i=i?{...i,...n}:n);const o=i&&this.toQueryString(i);return`${r||this.baseUrl||""}${t}${o?`?${o}`:""}`}buildRequestKey(e,t){return`${t.toUpperCase()} ${e}`}getBackendProxyCandidates(e,t){const r=en(this.container),n=this.container?.getInstance(Ee)!==void 0,i=Hr(e,{config:r,method:t,standalone:n}),o=i.length>0?i:[e],s=this.buildRequestKey(e,t),a=y.get(s);return!a||!o.includes(a)?o:[a,...o.filter(c=>c!==a)]}shouldRetryResponse(e){return e.status===502||e.status===503||e.status===504}resolveFailoverBaseUrl(){return String(this.baseUrl||"").trim()||void 0}async requestOnOrigin(e,t,r=!1){const n={...e,baseUrl:t},i=this.buildRequestUrl(n),o=n.method||"GET",s=this.buildRequestKey(i,o),a=this.getBackendProxyCandidates(i,o);let c,_;for(const l of a){const E=p=>p===i?l:p,h=r?Ue(e.signal):void 0;try{const p=await super.request({...n,proxyHandler:E,...h?{signal:h.signal}:{}});if(!p.ok&&this.shouldRetryResponse(p)&&l!==a[a.length-1]){_=p,y.get(s)===l&&y.delete(s);continue}return y.set(s,l),p}catch(p){y.get(s)===l&&y.delete(s);const g=h?.timeoutError();if(g)throw g;if(c=p,(p instanceof DOMException||p instanceof Error)&&p.name==="AbortError")throw p}finally{h?.done()}}if(_)return _;throw c instanceof Error?c:new Error("Backend proxy chain failed")}async request(e){const t=String(e.baseUrl||"").trim();if(t)return this.requestOnOrigin(e,t);const r=this.resolveFailoverBaseUrl(),n=N(r),i=e.failoverAttemptTimeout??n,o=n?Fe(r):r?[k(r)]:[this.baseUrl].filter(Boolean);if(o.length===0)return this.requestOnOrigin(e,this.baseUrl);let s,a;for(let c=0;c<o.length;c++){const _=o[c],l=c===o.length-1;try{const E=await this.requestOnOrigin(e,_,i);if(!E.ok&&Ge(E.status)){if(a=E,!l){U(_,r);continue}break}return E.ok&&Ve(_,r),E}catch(E){if(!He(E))throw E;s=E,l||U(_,r)}}if(n&&$e(),a)return a;throw s instanceof Error?s:new Error("API origin failover chain failed")}};function We(e={},t){const r=new tn({...Zr,...e},t);return r.contentFormatters["multipart/form-data"]=Qr,r}var qe=f("rest.clientFactory"),rn=e=>{Kt(e);const t=We({customFetch:e.getInstance(J)?.execute||fetch},e);e.inject(Y,t)},Ke;(function(e){const t="https://racs.emcdn.ru/v3";function r(i,o){const s={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(o)};return fetch(`${t}?resource=${i}&dataset=${document.location.hostname}`,s)}e.post=r;async function n(i,o=0){const s={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:`{"filter":{},"limit":${o}}`};return await(await fetch(`${t}/get?resource=${i}&dataset=${document.location.hostname}`,s)).json()}e.getAll=n})(Ke||(Ke={}));function w(e,t){if(e!==t){if(!e||!t||typeof e!="object"||typeof t!="object")return!1;const r=Array.isArray(e),n=Array.isArray(t);if(r){if(!n)return!1;const a=e.length;if(t.length!==a)return!1;for(let c=0;c<a;c++)if(!w(e[c],t[c]))return!1}else if(n)return!1;const i=Object.keys(e),o=Object.keys(t),s=i.length;if(s!==o.length)return!1;for(let a=0;a<s;a++){const c=i[a];if(!t.hasOwnProperty(c)||!w(e[c],t[c]))return!1}}return!0}function nn(e){const t=e.replace(/-/g,"+").replace(/_/g,"/").padEnd(e.length+(4-e.length%4)%4,"="),r=atob(t),n=new Uint8Array(r.length);for(let i=0;i<r.length;i++)n[i]=r.charCodeAt(i);return new TextDecoder().decode(n)}function ze(e){const[t,r,n]=e.split("."),i=JSON.parse(nn(r));return{exp:i.exp,createdAt:i.iat,data:i}}var re=f("plugin.auth.token"),Je=new WeakMap,on=3e4;function sn(e){let t;try{t=ze(e).exp}catch{return!0}return typeof t!="number"||!Number.isFinite(t)?!0:t*1e3<=Date.now()+on}function an(e,t,r,n){const i=Je.get(e);i&&(i.stale=!0);const o={stale:!1};Je.set(e,o),e.injectFactory(re,async(s,a)=>{if(o.stale)return"";try{let c=await a||void 0;if(!c){const _=e.getInstance(fe);_&&(c=await _)}return t?!c||sn(c)?await t(r,n,c):c:""}catch{return""}},!0)}var Ye=f("auth.oauthProvided"),Qe=new WeakMap;function Ze(e,t){const r=Qe.get(e)??{applied:!1};(!r.applied||r.getAuthToken!==t.getAuthToken||!w(r.user,t.user)||r.project!==t.project)&&(Qe.set(e,{applied:!0,getAuthToken:t.getAuthToken,user:t.user,project:t.project}),an(e,t.getAuthToken,t.user,t.project))}function et(e){if(e.getInstance(Ye))return;e.inject(Ye,!0);let t;e.getInstance(le)?.watch(r=>{t=r}),e.addService(x,{execute:async(r,n)=>{if(n?.public||!t?.getAuthToken)return;e.getInstance(re)===void 0&&Ze(e,t);const i=await e.getInstanceAsync(re);i&&r.headers.set("authorization",`Bearer ${i}`)}})}var cn={text:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif"],fontSize:16,fontSizeDim:"px",lineHeight:21,lineHeightDim:"px",color:"#5a5a5a",contrastColor:"#FFFFFF",textAlign:"left",paddingBottom:10,paddingBottomDim:"px"},headings:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, 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},links:{color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},buttons:{fontFamily:["Safe Fonts","-apple-system, 'Segoe UI', 'Helvetica Neue', Helvetica, 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:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:5,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null},textAlign:"center",padding:{all:null,top:null,right:null,bottom:null,left:null}},block:{backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:{all:null,top:null,right:null,bottom:null,left:null}},cards:{contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:{all:null,top:null,right:null,bottom:null,left:null},borderRadius:{all:10,topLeft:null,topRight:null,bottomRight:null,bottomLeft:null}}},tt="ERROR",un="useblocks",_n={em_color_scheme:"em_color_scheme",em_code_mode_pane_sizes:"em_code_mode_pane_sizes",em_preview_pane_sizes:"em_preview_pane_sizes",em_default_sizes:"em_default_sizes",em_pane_sizes:"em_pane_sizes",em_test_emails:"em_test_emails",em_menu_is_locked:"em_menu_is_locked",em_code_mode_settings:"em_code_mode_settings",em_folder_is_open:"em_folder_is_open",em_active_tab:"em_active_tab",em_ai_settings:"em_ai_settings",em_last_active_page:"em_last_active_page",em_layout_convert_never_suggest:"em_layout_convert_never_suggest",em_filemanager_v2:"em_filemanager_v2",em_projects_v2:"em_projects_v2",em_translations_v2:"em_translations_v2",em_defer_chrome:"em_defer_chrome",em_stripo_import:"em_stripo_import",em_guest_locale:"em_guest_locale"},ln="light",dn="dark",fn="(prefers-color-scheme: dark)",En={MESSAGE:"message",INIT_PREVIEW:"init_preview",UPDATE_PREVIEW:"update_preview",UPDATE_EDITOR:"update_editor",UPDATE_EDITOR_POSITION:"update_editor_position",UPDATE_SIDE_MENU_EDITOR:"update_side_menu_editor",SAVE_EMAIL:"saveEmail",SANDBOX_ELEMENT_SETTINGS_SET:"sandbox_element_settings_set",SANDBOX_IMAGE_RESET:"sandbox_image_reset",SANDBOX_NATIVE_IMAGE_DROP_CLEAR:"sandbox_native-image-drop-clear",SANDBOX_EMAIL_SETTINGS_SET:"sandbox_email_settings_set",SANDBOX_BLOCK_SETTINGS_SET:"sandbox_block_settings_set",SANDBOX_ELEMENT_PARENT_GET:"sandbox_element_parent_get",SANDBOX_ELEMENT_PARENT_TABLE_GET:"sandbox_element_parent_table_get",SANDBOX_ELEMENT_PREV_GET:"sandbox_element_prev_get",SANDBOX_ELEMENT_NEXT_GET:"sandbox_element_next_get",SANDBOX_ELEMENT_REMOVE:"sandbox_element_remove",SANDBOX_ELEMENT_ACTIVE_RESET:"sandbox_element_active_reset",SANDBOX_ELEMENT_ACTIVE_SET:"sandbox_element_active_set",SANDBOX_ELEMENT_HOVER_SET:"sandbox_element_hover_set",SANDBOX_ELEMENT_IMG_LINK:"sandbox_element_img_link",SANDBOX_ELEMENT_TEXT:"sandbox_element_text",SANDBOX_EMAIL_CONTENT_GET:"sandbox_email_content_get",SANDBOX_SET_POSITION_TO_IMG:"sandbox_set_position_to_img",SANDBOX_SET_POSITION_TO_LINK:"sandbox_set_position_to_link",SANDBOX_ACCORDION_ADD_SECTION:"sandbox_accordion_add_section",SANDBOX_ACCORDION_REMOVE_SECTION:"sandbox_accordion_remove_section",APPLICATION_FOCUS_IN_IFRAME:"application_focus_in_iframe",APPLICATION_EMAIL_SETTINGS_SET:"application_email_settings_set",APPLICATION_BLOCK_SETTINGS_SET:"application_block_settings_set",APPLICATION_ELEMENT_SETTINGS_SET:"application_element_settings_set",_APPLICATION_ELEMENT_SETTINGS_SET:"application_element_settings_set",APPLICATION_ELEMENT_SETTINGS_CLOSE:"application_element_settings_close",APPLICATION_ACTION:"application_action",APPLICATION_EBLOCK_ADD:"application_eblock_add",SANDBOX_EBLOCK_SET_EM_BLOCK_ID:"sandbox_eblock_set_em_block_id",SANDBOX_GLOBAL_BLOCK_REPLACE:"sandbox_global_block_replace",APPLICATION_SCROLL_TO:"application_scroll-to",APPLICATION_SCROLL_BLOCK_SHOW:"application_scroll-block-show",APPLICATION_SCROLL_BLOCK_HIDE:"application_scroll-block-hide",APPLICATION_DISCUSS_SET_ID:"application_discuss_set_id",APPLICATION_DISCUSS_GET_COMMENT:"application_discuss_get_comment",APPLICATION_DISCUSS_NO_COMMENT:"application_discuss_no_comment",APPLICATION_DISCUSS_SAVE_TARGET:"application_discuss_save_target",APPLICATION_IFRAME_SET_HEIGHT:"application_iframe_set_height",APPLICATION_COMMON_STYLES_UPDATE:"application_commonStyles_update",APPLICATION_EMAIL_CONTENT_GET:"application_email_content_get",APPLICATION_OPEN_IMAGE_AI_POPUP:"application_open-image-ai-popup",APPLICATION_OPEN_IMAGE_UPLOAD_POPUP:"application_open-image-upload-popup",APPLICATION_OPEN_IMAGE_EDIT_POPUP:"application_open-image-edit-popup",APPLICATION_OPEN_IMAGE_GIF_POPUP:"application_open-image-gif-popup",APPLICATION_OPEN_IMAGE_STOCK_POPUP:"application_open-image-stock-popup",APPLICATION_CLOSE_IMAGE_EDIT_POPUP:"application_close-image-edit-popup",APPLICATION_NATIVE_IMAGE_DROP:"application_native-image-drop",APPLICATION_SUBJECT_UPDATE:"application_subject_update",APPLICATION_PREHEADER_UPDATE:"application_preheader_update",APPLICATION_DOMPARSER_ERROR:"application_domparser_error",APPLICATION_UPDATE_ENTITY:"application_update_entity",APPLICATION_IFRAME_DRAG_EVENT:"application_iframe_drag_event",APPLICATION_HAS_AMP:"application_has_amp",APPLICATION_CANVAS_IMAGE_GET:"application_canvas_image_get",APPLICATION_PREVIEW_ALERT_SHOW:"application_preview_alert_show",APPLICATION_ATOM_INSERTED:"application_atom_inserted",APPLICATION_TEMPLATE_NOT_EM_ALERT_SHOW:"application_template_not_em_alert_show",SANDBOX_WINDOW_CHARACTERISTIC:"sandbox_window-characteristic",SANDBOX_IFRAME_SETSIZE:"sandbox_iframe-setsize",SANDBOX_BLOCK_INSERT:"sandbox_block-insert",SANDBOX_ATOM_INSERT:"sandbox_atom-insert",SANDBOX_DRAG_CANCEL:"sandbox_drag-cancel",UPDATE_EDITOR_POSITION_FROM_EDITOR:"update_position_from_editor",UPDATE_EDITOR_POSITION_FROM_IFRAME:"update_position_from_iframe",SANDBOX_CHANGE_PREVIEW:"sandbox_change_preview",APPLICATION_CHANGE_PREVIEW:"application_change_preview",SANDBOX_LOCK_EDIT:"sandbox_lock_edit",SANDBOX_FLOATBLOCK_ADD:"sandbox_floatBlock_add",SANDBOX_FLOATBLOCK_REMOVE:"sandbox_floatBlock_remove",SANDBOX_FLOATBLOCK_COPY:"sandbox_floatBlock_copy",SANDBOX_FLOATBLOCK_SWAP:"sandbox_floatBlock_swap",EDITOR_CHANGE_FOCUS:"editor_change_focus",SANDBOX_RESIZED:"sandbox_resized",SANDBOX_LOCK_DISCUSS:"sandbox_lock_discuss",SANDBOX_DISCUSS_SET_TARGET:"sandbox_discuss_set_target",SANDBOX_DISCUSS_REMOVE_TARGET:"sandbox_discuss_remove_target",SANDBOX_DISCUSS_RESET:"sandbox_discuss_reset",SANDBOX_DISCUSS_GET_TARGET:"sandbox_discuss_get_target",SANDBOX_READY:"SANDBOX_READY",SANDBOX_FLOATBLOCK_WRAP:"sandbox_floatblock_wrap",SANDBOX_FLOATBLOCK_DIR:"sandbox_floatblock_dir",SANDBOX_SUBJECT_UPDATE:"sandbox_subject_update",SANDBOX_PREHEADER_UPDATE:"sandbox_preheader_update",SANDBOX_DRAG_EVENT:"sandbox_drag_event",SANDBOX_WHEEL:"sandbox_wheel",SANDBOX_ADD_MERGETAG:"sandbox_add_mergetag",SANDBOX_TRANSLATIONS:"sandbox_send_translations",SANDBOX_SET_THEME_VARIABLES:"sandbox_send_theme_variables",SANDBOX_SET_PROJECT_FONTS:"sandbox_set_project_fonts",SANDBOX_CANVAS_IMAGE_CACHE_SETUP:"sandbox_canvas_image_cache_setup",SANDBOX_SET_ENTITY:"sandbox_set_entity",SANDBOX_INIT_START:"sandbox_init_start",SANDBOX_INITED:"sandbox_inited",SANDBOX_UPDATE_ENTITY:"sandbox_update_entity",RELOAD:"reload",SANDBOX_ADD_EXTENSIONS:"sandbox_add_extensions",SANDBOX_REMOVE_EXTENSIONS:"sandbox_remove_extensions",SANDBOX_ADD_SCRIPT:"sandbox_add_script",SANDBOX_IS_EMAIL_EMPTY:"sandbox_is_email_empty",SANDBOX_SWITCH_THEME:"sandbox_switch_theme"},rt=e=>{const t={current:Promise.resolve(),state:e,decorate:(r,n)=>(n&&(r=r.bind(n)),function(...i){const o=t.current.then(()=>r(...i));return t.current=o.then(s=>{t.state=s},s=>{}),o})};return t};function ne(e){return function(t){return{setOptions:()=>{},instance:{},dispose:()=>{},...e(t)||{}}}}function pn(e){return t=>{const r={},n=[];for(const s of e)n.push(s(t));for(const s of n)Object.assign(r,s.instance);return{instance:r,setOptions:async s=>{for(const a of n)await a.setOptions(s)},dispose:()=>{for(const s of n)s.dispose()}}}}function hn(e=tt){const t=new Error(e);return t.name="AuthPipelineError",t}async function On(e,t,r,n){const i=n?.attemptTimeout??N(r),o=N(r)?Fe(r):v(r).length>0?[k(r)]:[];if(o.length===0)throw new Error("[apiOriginFailover] no API base URL configured");const s=e.startsWith("/")?e:`/${e}`;let a,c;for(let _=0;_<o.length;_++){const l=o[_],E=_===o.length-1,h=i?Ue(t.signal):void 0;try{const p=await fetch(`${l}${s}`,{...t,...h?{signal:h.signal}:{}});if(!p.ok&&Ge(p.status)){if(a=p,!E){U(l,r);continue}break}return p.ok&&Ve(l,r),p}catch(p){const g=h?.timeoutError();if(!g&&!He(p))throw p;c=g||p,E||U(l,r)}finally{h?.done()}}if(N(r)&&$e(),a)return a;throw c instanceof Error?c:new Error("[apiOriginFailover] fetch chain failed")}function nt(e){e.inject(C,void 0),e.inject(z,void 0)}var An=ne(e=>{let t,r;const n=rt();return e.addService(x,{execute:n.decorate(async(i,o)=>{if(o?.public||!t)return;const s=String(e.getInstance(z)||"").trim();if(s){i.headers.append("authorization",`Bearer ${s}`);return}if(!e.getInstance(C))try{const a=e.getInstance(qe),c=String(a?.getOptions()?.baseUrl||"").trim(),_=ke(r||c||void 0);if(!_)throw new Error("JWT auth requires baseUrl");const l=await On("/jwt-auth/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)},_);if(!l.ok)throw new Error(`JWT auth failed: ${l.status}`);const E=await l.json(),h=String(E.token||"").trim();if(!h)throw new Error("JWT auth failed: empty token");e.inject(C,void 0),e.inject(z,h),i.headers.append("authorization",`Bearer ${h}`)}catch{throw e.inject(C,tt),hn()}})}),{setOptions(i){const o=i.jwtAuth,s=String(i.baseUrl||"").trim()||void 0,a=!w(o,t),c=s!==r;if(t=o,r=s,!o){nt(e);return}a||c?nt(e):e.inject(C,void 0)}}}),gn=ne(e=>(et(e),{setOptions(t){Ze(e,t)}}));function In(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/([^a-zA-Z0-9_-])/g,"\\$1")}function ie(e,t=document){try{const n=t.querySelector(e);if(n)return n}catch{return null}const r=t.querySelectorAll("*");for(let n=0;n<r.length;n++){const i=r[n]?.shadowRoot;if(!i)continue;const o=ie(e,i);if(o)return o}return null}function it(e,t=[]){const r=e.querySelectorAll("*");for(let n=0;n<r.length;n++){const i=r[n]?.shadowRoot;i&&(t.push(i),it(i,t))}return t}function mn(e,t,r){if(e.isConnected)return e;const n=e.id?.trim();return n?ot(`#${In(n)}`,t,r):Promise.reject(S("Editor mount element was disconnected and has no id — pass a CSS selector or call init() again after the host remounts the container."))}function ot(e,t,r){if(q(r),typeof e<"u"){if(typeof e=="string"){const n=e,i=ie(n);if(i)return i;const o=t.addDisposable(new I);return new Promise((s,a)=>{const c=O=>{o.dispose(),O()},_=()=>{c(()=>a(S(r?.reason)))};if(r?.aborted){_();return}r?.addEventListener("abort",_),o.addDispose(()=>r?.removeEventListener("abort",_));const l=document.body??document.documentElement;if(!l){c(()=>a(S("Document is not ready to observe mount element")));return}const E=new Set,h=new MutationObserver(()=>{const O=ie(n);if(O){c(()=>s(O));return}g()}),p=O=>{E.has(O)||(E.add(O),h.observe(O,{attributes:!0,childList:!0,subtree:!0}))},g=()=>{const O=document.documentElement;if(O)for(const G of it(O))p(G)};p(l),g(),o.addDispose(()=>h.disconnect())})}return e instanceof Element?mn(e,t,r):e}return e}var Tn=new Map;Object.defineProperty(u,"ADVANCED_SETTINGS_PANEL",{enumerable:!0,get:function(){return ur}}),Object.defineProperty(u,"APP_ID",{enumerable:!0,get:function(){return Lt}}),Object.defineProperty(u,"APP_LOAD_EVENT_ID",{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(u,"ATOMS_HANDLERS_ID",{enumerable:!0,get:function(){return nr}}),Object.defineProperty(u,"AsyncEmitter",{enumerable:!0,get:function(){return B}}),Object.defineProperty(u,"BaseEmitter",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"COMMON_STYLES",{enumerable:!0,get:function(){return cn}}),Object.defineProperty(u,"CONFIG_CHANGED_EVENT_ID",{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(u,"CONFIG_SOURCE_ID",{enumerable:!0,get:function(){return de}}),Object.defineProperty(u,"COOKIE_MANAGER_ID",{enumerable:!0,get:function(){return fr}}),Object.defineProperty(u,"CUSTOM_FETCH_ID",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"ContentType",{enumerable:!0,get:function(){return Ht}}),Object.defineProperty(u,"DARK",{enumerable:!0,get:function(){return dn}}),Object.defineProperty(u,"DISPOSABLE_ID",{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(u,"DependencyResolver",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"Disposable",{enumerable:!0,get:function(){return I}}),Object.defineProperty(u,"ELEMENT_MAP",{enumerable:!0,get:function(){return Tn}}),Object.defineProperty(u,"EVENT_TYPES",{enumerable:!0,get:function(){return En}}),Object.defineProperty(u,"Emitter",{enumerable:!0,get:function(){return Tt}}),Object.defineProperty(u,"HANDLE_ATOM_INSERT_ID",{enumerable:!0,get:function(){return ir}}),Object.defineProperty(u,"INIT_PIPELINE_ID",{enumerable:!0,get:function(){return vt}}),Object.defineProperty(u,"INSTANCE_ID",{enumerable:!0,get:function(){return wt}}),Object.defineProperty(u,"JWTMixin",{enumerable:!0,get:function(){return An}}),Object.defineProperty(u,"LATE_SURFACE_LISTENERS_ID",{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(u,"LIGHT",{enumerable:!0,get:function(){return ln}}),Object.defineProperty(u,"LOCAL_STORAGE_ITEMS",{enumerable:!0,get:function(){return _n}}),Object.defineProperty(u,"MESSAGE_SERVICE_ID",{enumerable:!0,get:function(){return ar}}),Object.defineProperty(u,"MODAL_CLOSE_EVENT",{enumerable:!0,get:function(){return lr}}),Object.defineProperty(u,"MODAL_SHOW_EVENT",{enumerable:!0,get:function(){return _r}}),Object.defineProperty(u,"MODAL_UPDATE_EVENT",{enumerable:!0,get:function(){return dr}}),Object.defineProperty(u,"MessageService",{enumerable:!0,get:function(){return rr}}),Object.defineProperty(u,"OAuthMixin",{enumerable:!0,get:function(){return gn}}),Object.defineProperty(u,"OPTIONS_SOURCE_ID",{enumerable:!0,get:function(){return le}}),Object.defineProperty(u,"PLUGIN_COLLECTION_ID",{enumerable:!0,get:function(){return kt}}),Object.defineProperty(u,"PORT_READY",{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(u,"PREFERS_COLOR_SCHEME_DARK",{enumerable:!0,get:function(){return fn}}),Object.defineProperty(u,"PUBLIC_REQUEST",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"REQUEST_HANDLER_ID",{enumerable:!0,get:function(){return x}}),Object.defineProperty(u,"REST_CLIENT_FACTORY_ID",{enumerable:!0,get:function(){return qe}}),Object.defineProperty(u,"REST_TRANSPORT_ID",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"SANDBOX_EXTENSIONS_ID",{enumerable:!0,get:function(){return or}}),Object.defineProperty(u,"SANDBOX_EXTENSION_SCRIPT_STATUS_ID",{enumerable:!0,get:function(){return sr}}),Object.defineProperty(u,"SECURITY_MODULE_ID",{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(u,"SETTINGS_PANEL_EVENT",{enumerable:!0,get:function(){return cr}}),Object.defineProperty(u,"STANDALONE_ACTIVATED_ID",{enumerable:!0,get:function(){return xt}}),Object.defineProperty(u,"STANDALONE_BOOTSTRAP_TOKEN_ID",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"STANDALONE_FILE_PROXY_REGISTERED_ID",{enumerable:!0,get:function(){return Ft}}),Object.defineProperty(u,"STANDALONE_PROJECT_ID",{enumerable:!0,get:function(){return Bt}}),Object.defineProperty(u,"STORE_ID",{enumerable:!0,get:function(){return jt}}),Object.defineProperty(u,"Signal",{enumerable:!0,get:function(){return St}}),Object.defineProperty(u,"TEMPLATE_DIRECTIVES_ID",{enumerable:!0,get:function(){return Er}}),Object.defineProperty(u,"USEBLOCKS",{enumerable:!0,get:function(){return un}}),Object.defineProperty(u,"combineMixins",{enumerable:!0,get:function(){return pn}}),Object.defineProperty(u,"composeAbortSignals",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(u,"createAbortError",{enumerable:!0,get:function(){return S}}),Object.defineProperty(u,"createIdentifier",{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(u,"createIdentifier$1",{enumerable:!0,get:function(){return f}}),Object.defineProperty(u,"createQueue",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(u,"createTransport",{enumerable:!0,get:function(){return We}}),Object.defineProperty(u,"debounce",{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(u,"decodeJwt",{enumerable:!0,get:function(){return ze}}),Object.defineProperty(u,"deepEqual",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"defineMixin",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(u,"events",{enumerable:!0,get:function(){return K}}),Object.defineProperty(u,"filter",{enumerable:!0,get:function(){return Dt}}),Object.defineProperty(u,"generateUUID",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(u,"getActiveBaseUrl",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"getApi",{enumerable:!0,get:function(){return zt}}),Object.defineProperty(u,"getEmitter",{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(u,"getEmitter$1",{enumerable:!0,get:function(){return yt}}),Object.defineProperty(u,"getEvent",{enumerable:!0,get:function(){return Pt}}),Object.defineProperty(u,"getServiceContainerId",{enumerable:!0,get:function(){return M}}),Object.defineProperty(u,"isAbortError",{enumerable:!0,get:function(){return It}}),Object.defineProperty(u,"mapHttpStatusToErrorCode",{enumerable:!0,get:function(){return gt}}),Object.defineProperty(u,"mergeBackendProxyLayers",{enumerable:!0,get:function(){return mr}}),Object.defineProperty(u,"mergeResourceProxyLayers",{enumerable:!0,get:function(){return Ir}}),Object.defineProperty(u,"mergeResourceProxyPolicyLayers",{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(u,"mergeShallowConfigLayers",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(u,"provideOAuth",{enumerable:!0,get:function(){return et}}),Object.defineProperty(u,"raceWithAbortSignal",{enumerable:!0,get:function(){return mt}}),Object.defineProperty(u,"registerRestTransport",{enumerable:!0,get:function(){return rn}}),Object.defineProperty(u,"releaseContainer",{enumerable:!0,get:function(){return Or}}),Object.defineProperty(u,"resolveContainer",{enumerable:!0,get:function(){return ft}}),Object.defineProperty(u,"resolveExplicitApiBaseUrl",{enumerable:!0,get:function(){return ke}}),Object.defineProperty(u,"setApiOriginFailoverHook",{enumerable:!0,get:function(){return Yr}}),Object.defineProperty(u,"snapshot",{enumerable:!0,get:function(){return bt}}),Object.defineProperty(u,"throwIfAborted",{enumerable:!0,get:function(){return q}}),Object.defineProperty(u,"waitForElement",{enumerable:!0,get:function(){return ot}})});
2076
2076
 
2077
2077
 
2078
- __emailmaker__.define("emailmaker.js",["require","exports","module","static/umd/d84cba13.js"],function(mi,K,Kp){Object.defineProperties(K,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var gn=Object.defineProperty,En=(e,t)=>{let n={};for(var r in e)gn(n,r,{get:e[r],enumerable:!0});return t||gn(n,Symbol.toStringTag,{value:"Module"}),n};const a=mi("./static/umd/d84cba13.js");var hi=new Function("url","return import(url)");function gi(e){if(typeof e!="function")return!1;try{return Reflect.construct(String,[],e),!0}catch{return!1}}function Ei(e){return typeof e=="object"&&e!==null&&"type"in e&&"url"in e}function vi(e){return e.type==="umd"||e.resolve==="registry"}function Wp(e){return e}var bi=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(Ei(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(vi(e)&&await this._options.ensureHostRuntimeReady?.(e),e.type==="esm"){const n=await hi(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:s,options:i}=await this._resolveEntry(r),o=this._getOrCreate(s,i);n.has(o)||(n.add(o),t.push(o))}this._activated=!0,await this._startPluginsBatch(t)}async setPlugins(e){const t=new Set,n=[];for(const o of e){const c=await this._resolveEntry(o);t.add(c.ctor),n.push(c)}const r=[];this._map.forEach((o,c)=>{t.has(c)||r.push({key:c,plugin:o})});for(let o=r.length-1;o>=0;o--){const{key:c,plugin:l}=r[o];await this._initializingPlugins.get(l),await this._disposePlugin(l,l.constructor.name),this._map.delete(c),this._optionsMap.delete(c),this._readyMap.delete(l),this._resolveMap.delete(l),this._initializingPlugins.delete(l),this._initializedPlugins.delete(l);const u=this._creationOrder.indexOf(l);u>=0&&this._creationOrder.splice(u,1)}const s=[],i=new Set;for(const{ctor:o,options:c}of n){const l=this._getOrCreate(o,c);i.has(l)||(i.add(l),s.push(l))}this._activated&&await this._startPluginsBatch(s)}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,s)=>{let i,o=!1;const c=()=>{o||(o=!0,i&&clearTimeout(i),this._pluginRegistry.off(e,c),r())};this._pluginRegistry.on(e,c),n!==void 0&&n>0&&(i=setTimeout(()=>{o||(o=!0,this._pluginRegistry.off(e,c),s(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),s=this._createPluginInstance(e,r),i=s.constructor.name;this._emitLifecycle({type:"created",plugin:s,name:i}),s.required?.(),this._map.set(n,s),this._creationOrder.push(s),this._setupReadyPromise(s)}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 gi(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 s of t){if(this._initializedPlugins.has(s))continue;const i=this._initializingPlugins.get(s);if(i){n.add(i);continue}r.push(s)}if(r.length>0){const s=this._runBatchLifecycle(r);for(const i of r)this._initializingPlugins.set(i,s);n.add(s),s.finally(()=>{for(const i of r)this._initializingPlugins.get(i)===s&&this._initializingPlugins.delete(i)})}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(s){this._emitLifecycle({type:"init:error",plugin:n,name:r,error:s})}}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(s){this._emitLifecycle({type:"afterInit:error",plugin:n,name:r,error:s})}}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)}))}},_i=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 s of n)try{s.callback(t)}catch{}const r=n.filter(s=>!s.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(s=>(t.ctor=s,t.loading=void 0,this._notifyListeners(e,s),s));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 s={callback:t,once:!1};return r.push(s),{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 s={callback:t,once:!0};return r.push(s),{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(s=>s.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)}}}},yi=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()}},vn=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 Si(e,t){return t+e}function wi(){return typeof performance>"u"?Date.now():Si(performance.now(),performance.timeOrigin)}var Ii="emailmaker:diagnostics",Ti="diagnostics",Ai="diagnostics";function bn(e,t){return t?`${e}${e.includes("?")?"&":"?"}${Ai}=1`:e}var nt;function Ci(){try{const e=new URLSearchParams(window.location.search).get(Ti);return e===null?void 0:e!=="0"}catch{return}}function Pi(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function Di(){try{const e=window.localStorage.getItem(Ii);return e===null?void 0:e==="1"}catch{return}}function _e(){return nt===void 0&&(nt=typeof window>"u"?!1:Ci()??Pi()??Di()??!1),nt}function Ri(e){return`__${(e||"emailmaker").toLowerCase().replaceAll("-","")}__`}var z={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"},Xp=Object.values(z),Jp=[z.canvasPainted,z.canvasSettled,z.appVisible,z.editorVisible],Oi=5e3,Li=3e3,_n="diagnosticsStore",Me,ye;function yn(){return{marks:new vn(Oi),resources:new vn(Li)}}function Sn(){if(ye)return ye;const e=rt();return e?(ye=e[_n]??Me??yn(),e[_n]=ye,Me=void 0,ye):(Me??=yn(),Me)}function U(e,t){_e()&&Sn().marks.push({phase:e,at:wi(),...t})}function rt(){if(typeof __emailmaker__<"u"&&__emailmaker__)return __emailmaker__;if(typeof window>"u")return;const e=window[Ri()];return e!==null&&typeof e=="object"?e:void 0}function Ni(e){const t=e.length,n=Sn();return e.forEach(r=>n.marks.push(r)),e.length=0,t}function Mi(){const e=rt();return!e||!Array.isArray(e.diagnosticsBuffer)?0:Ni(e.diagnosticsBuffer)}var xi="Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";function st(){const e=new Error(xi);return e.name="DestroyedInstanceError",e}function it(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 i=e,o=t;return i.length===o.length&&i.every((c,l)=>it(c,o[l]))}const r=Object.keys(e),s=Object.keys(t);return r.length!==s.length?!1:r.every(i=>Object.prototype.hasOwnProperty.call(t,i)&&it(e[i],t[i]))}function wn(e,t){const n={watch(r){let s,i=!1;return e.watch(o=>{const c=t(o);i&&it(s,c)||(s=c,i=!0,r(c))})},select(r){return wn(n,r)}};return n}function pe(...e){let t=e[0],n=e.length>0;const r=new Set,s={get(){return n?t:void 0},set(i){t=i,n=!0;for(const o of Array.from(r))o(i)},watch(i){return r.add(i),n&&i(t),{dispose:()=>r.delete(i)}},select(i){return wn(s,i)}};return s}var In=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:a.ContentType.UrlEncoded,...t})},Tn=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 ki(e){return String(e||"").trim()||void 0}var Fi=class extends a.Disposable{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=ki(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)}},ot=a.createIdentifier$1("AppInitService");function Bi(e){return async()=>{const t=await e();return(await new In(t).app_init_create({})).data}}function ji(e){e.injectFactory(ot,()=>{const t=new Fi({options:e.getInstance(a.OPTIONS_SOURCE_ID),isStandalone:()=>!!e.getInstance(a.SECURITY_MODULE_ID),resolveRestBaseUrl:n=>n?a.getActiveBaseUrl(n):a.getActiveBaseUrl()||void 0,setRestBaseUrl:n=>{e.getInstance(a.REST_CLIENT_FACTORY_ID)?.setOptions(n?{baseUrl:n}:{})},fallbackAppInit:Bi(()=>e.getInstanceAsync(a.REST_TRANSPORT_ID)),publish:n=>{e.inject(a.APP_ID,n)}});return e.getInstance(a.DISPOSABLE_ID)?.addDisposable(t),t},!0)}var at=a.createIdentifier$1("documentSession.emailDocuments");function lt(e){return e?.getInstance(at)}var Ui=a.createIdentifier$1("RevisionServiceFlag");function Hi(e){return e.getOrCreateInstance(Ui,()=>{let t=!1;return{isEnabled:()=>t,set:n=>{t=n}}})}function An(e){return Hi(e).isEnabled()}var $i=a.createIdentifier$1("EmailRightsResolver");function Gi(e,t){const n=e.getInstance($i);return n?n(t):!0}var Cn=a.createIdentifier$1("EmailHistoryAvailabilityResolver");function Vi(e){return e.getInstance(Cn)!==void 0}async function Yi(e){const t=e.getInstance(Cn);if(!t)return!0;try{return await t()}catch{return!1}}var ct={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},Pn=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],Dn=2e4,qi=Pn.reduce((e,t)=>e+ct[t],0),Rn=Dn+qi+3e3;function zi(e){return Pn.reduce((t,n)=>t+On(n,e),0)}function On(e,t){const n=t?.[e];return typeof n=="number"&&n>0?n:ct[e]}function Ln(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:Rn}function Nn(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:Dn}function Mn(e=Rn){return e+3e3}var Qp="[show-pipeline]";function Zp(e,t){}var Ki=()=>Mn();function Wi(e,t){let n;return Promise.race([e,new Promise(r=>{n=setTimeout(()=>{r()},t)})]).finally(()=>{n!==void 0&&clearTimeout(n)})}function Xi(e){return t=>Wi(e.getOrCreateInstance(a.events.BEFORE_SAVE_EMAIL,()=>new a.AsyncEmitter).fire(t),Ki())}function Ji(e){return e!=null&&e!==""}var Qi;function xe(e,t){return Qi?.capture(e,t)}function Zi(e=""){let t=e;return{read:()=>t,write:n=>{t=n},dispose:()=>{t=""}}}function ke(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var J=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} "${ke(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${ke(this.oldText)}")`:`(replace@${this.oldPosition} "${ke(this.oldText)}" with "${ke(this.newText)}")`}};function xn(e,t){return e===null||e.length===0?t:new eo(e,t).compress()}var eo=class te{_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),s=this._getCurr(n);for(;t<this._prevLen||n<this._currLen;){if(r===null){if(s===null)break;this._acceptCurr(s),s=this._getCurr(++n);continue}if(s===null){this._acceptPrev(r),r=this._getPrev(++t);continue}if(s.oldEnd<=r.newPosition){this._acceptCurr(s),s=this._getCurr(++n);continue}if(r.newEnd<=s.oldPosition){this._acceptPrev(r),r=this._getPrev(++t);continue}if(s.oldPosition<r.newPosition){const[l,u]=te._splitCurr(s,r.newPosition-s.oldPosition);this._acceptCurr(l),s=u;continue}if(r.newPosition<s.oldPosition){const[l,u]=te._splitPrev(r,s.oldPosition-r.newPosition);this._acceptPrev(l),r=u;continue}let o,c;if(s.oldEnd===r.newEnd)o=r,c=s,r=this._getPrev(++t),s=this._getCurr(++n);else if(s.oldEnd<r.newEnd){const[l,u]=te._splitPrev(r,s.oldLength);o=l,c=s,r=u,s=this._getCurr(++n)}else{const[l,u]=te._splitCurr(s,r.newLength);o=r,c=l,r=this._getPrev(++t),s=u}this._result[this._resultLen++]=new J(o.oldPosition,o.oldText,c.newPosition,c.newText),this._prevDeltaOffset+=o.newLength-o.oldLength,this._currDeltaOffset+=c.newLength-c.oldLength}const i=te._merge(this._result);return te._removeNoOps(i)}_acceptCurr(t){this._result[this._resultLen++]=te._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++]=te._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 J(n.oldPosition-t,n.oldText,n.newPosition,n.newText)}static _rebasePrev(t,n){return new J(n.oldPosition,n.oldText,n.newPosition+t,n.newText)}static _splitPrev(t,n){const r=t.newText.substr(0,n),s=t.newText.substr(n);return[new J(t.oldPosition,t.oldText,t.newPosition,r),new J(t.oldEnd,"",t.newPosition+n,s)]}static _splitCurr(t,n){const r=t.oldText.substr(0,n),s=t.oldText.substr(n);return[new J(t.oldPosition,r,t.newPosition,t.newText),new J(t.oldPosition+n,s,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const n=[];let r=0,s=t[0];for(let i=1;i<t.length;i++){const o=t[i];s.oldEnd===o.oldPosition?s=new J(s.oldPosition,s.oldText+o.oldText,s.newPosition,s.newText+o.newText):(n[r++]=s,s=o)}return n[r++]=s,n}static _removeNoOps(t){if(t.length===0)return t;const n=[];let r=0;for(let s=0;s<t.length;s++){const i=t[s];i.oldText!==i.newText&&(n[r++]=i)}return n}};function to(e){return new J(e.newPosition,e.newText,e.oldPosition,e.oldText)}function no(e){return e.map(to)}function kn(e,t){return t.every(n=>e.slice(n.oldPosition,n.oldEnd)===n.oldText)}function ro(e,t){let n=e;for(let r=t.length-1;r>=0;r-=1){const s=t[r];n=n.slice(0,s.oldPosition)+s.newText+n.slice(s.oldEnd)}return n}function so(e,t,n){let r=0;const s=e.start===e.end;for(const i of t){const o=i.newLength-i.oldLength;if(i.oldLength===0){const c=i.oldPosition;if(s&&c===e.start)r+=n==="after"?o:0;else{if(e.start<c&&c<e.end)return null;c<=e.start&&(r+=o)}continue}if(s){if(e.start>=i.oldEnd)r+=o;else if(e.start>i.oldPosition)return null;continue}if(e.start>=i.oldEnd)r+=o;else if(e.end>i.oldPosition)return null}return{start:e.start+r,end:e.end+r}}var Fe=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},Fn=0,io=Math.random().toString(36).slice(2,8);function oo(){return Fn+=1,`doc-${io}-${Fn}`}function ao(e){const t=e.createBuffer(),n=e.docId??oo();let r=e.serverId??null,s=0,i=null,o=e.attributes??{};const c=new Set;let l=!1,u=!1,d;const p=new Set;let m=null;const v=()=>(m?.version!==s&&(m={version:s,value:t.read()}),m.value),y=E=>Object.entries(E).some(([g,b])=>o[g]!==b);return{get:()=>({docId:n,serverId:r,version:s,savedVersion:i,attributes:o}),getContent:v,mutate(E,{source:g}){if(l)return s;const b=E.changes?.length?E.changes:void 0,_=b?ro(v(),b):E.content!==void 0?E.content:void 0,w=_!==void 0&&_!==v(),P=E.attributes!==void 0&&y(E.attributes);if(!w&&!P)return s;const D=!(s>(i??-1));return w&&t.write(_),P&&(o={...o,...E.attributes}),s+=1,g!=="user"&&D&&(i=s),c.forEach(h=>h({source:g,version:s,changes:b})),s},markSaved(E,g){const b={serverId:r,savedVersion:i};g!==void 0&&(r=g),(i===null||E>i)&&(i=E),(b.serverId!==r||b.savedVersion!==i)&&c.forEach(_=>_({source:"system",version:s}))},markReady(){u||d!==void 0||(u=!0,p.forEach(E=>E.resolve()),p.clear(),c.forEach(E=>E({source:"system",version:s})))},isReady:()=>u,markFailed(E){u||d!==void 0||l||(d=E,p.forEach(g=>g.reject(new Fe(E))),p.clear(),c.forEach(g=>g({source:"system",version:s})))},failure:()=>d,whenReady(){return u?Promise.resolve():d!==void 0?Promise.reject(new Fe(d)):l?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((E,g)=>{p.add({resolve:E,reject:g})})},subscribe(E){return c.add(E),()=>c.delete(E)},isNew:()=>r===null,isDirty:()=>s>(i??-1),isDisposed:()=>l,dispose(){l=!0,p.forEach(E=>E.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),p.clear(),c.clear(),t.dispose()}}}var lo=500,co=100,dt=0;function uo(e,t={}){const n=t.groupIntervalMs??lo,r=t.maxSteps??co,s=t.now??(()=>0);let i=[],o=0,c=dt+=1,l=null,u=!1,d=!1,p=!1;const m=new Set,v=()=>m.forEach(h=>h()),y=(h,I)=>{if(h.length){d=!0;try{e.mutate({changes:h},{source:I})}finally{d=!1}}},E=h=>y(h,"user"),g=h=>{const I=s();u&&l!==null&&I-l<n?i[o-1]=xn(i[o-1],h):(i=i.slice(0,o),i.push(h),o=i.length,u=!0,i.length>r&&(i=i.slice(i.length-r),o=i.length,c=dt+=1)),l=I,v()},b=()=>{u=!1,l=null},_=h=>{if(!h.length)return;const I=i.length>o;I&&(i=i.slice(0,o)),o>0&&(i[o-1]=xn(i[o-1],h)),b(),I&&v()},w=e.subscribe(({source:h,changes:I})=>{if(!(p||d||!I?.length)){if(h==="remote"){P();return}if(h!=="user"){_(I);return}g(I)}}),P=()=>{i=[],o=0,b(),c=dt+=1,v()},D=()=>{if(o===0)return!1;const h=no(i[o-1]);return kn(e.getContent(),h)?(E(h),o-=1,b(),!0):(i=i.slice(0,o-1),o=i.length,b(),v(),!1)};return{canUndo:()=>o>0,canRedo:()=>o<i.length,undo(){D()&&v()},redo(){if(!(o>=i.length)){if(!kn(e.getContent(),i[o])){i=i.slice(0,o),b(),v();return}E(i[o]),o+=1,b(),v()}},clear:P,applyWithoutHistory(h){const I=e.get().version;if(y(h,"system"),e.get().version===I){b();return}_(h)},getPast:h=>i.slice(0,o).reverse().slice(0,h),getFuture:h=>i.slice(o).reverse().slice(0,h),createSnapshot:()=>({stackId:c,index:o}),restoreSnapshot(h){if(h.stackId!==c||h.index>o)return!1;for(;o>h.index;)if(!D())return v(),!1;return v(),!0},subscribe(h){return m.add(h),()=>m.delete(h)},dispose(){p=!0,w(),m.clear(),i=[],o=0}}}var fo=["edit","move","resize","insert"];function ut(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function po(e){return typeof e=="string"?e:null}function mo(e){return!Array.isArray(e)||!e.every(t=>typeof t=="string")?null:e}function ho(e){return fo.includes(e)?e:null}function go(e){const t=typeof e=="object"&&e!==null?e:{},n={originId:po(t.originId),changeId:ut(t.changeId),rev:ut(t.rev),baseRev:ut(t.baseRev),expected:mo(t.expected),intent:ho(t.intent)};return{...n,legacy:Object.values(n).every(r=>r===null)}}var Bn=class extends Error{reason;constructor(e){super(`сохранение не состоялось: ${e}`),this.name="SaveRefusedError",this.reason=e}},jn="draft";function Se(e){return e==null||e===""?jn:String(e)}function Eo(e){return e==null||e===""?`${ft}${jn}`:`${ft}${String(e)}`}var ft="block:";function ne(e){return e?.startsWith(ft)===!0}function we(e){return ne(e.sessionKey())?void 0:e.current()}function em(e,t){}function Ie(e,t,n){const r=typeof performance<"u"?performance.now():Date.now();return U(`show:gate:${e}`,{kind:"wait"}),t.then(s=>(U(`show:gate:${e}:end`,{kind:"wait"}),s),s=>{const i=Math.round((typeof performance<"u"?performance.now():Date.now())-r);throw`${e}`,{error:String(s),...n},s})}var tm=5e3;function Un(e){return e?.length?[...e].sort((t,n)=>Date.parse(n.modified)-Date.parse(t.modified))[0]:null}function Hn(e,{freshSince:t}={}){return!(!e?.slug?.includes("autosave")||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function vo(e,t={}){const n=Un((e??[]).filter(r=>r?.html?.trim()));return Hn(n,t)?n:null}function bo(e){const t=Date.parse(Un(e)?.modified??"");return{autosave:vo(e),...Number.isFinite(t)?{latestAt:t}:{}}}function _o({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var $n=e=>e.replace(/\r\n?/g,`
2079
- `),Gn=["recovery","plugin","rest"],yo=["subject","preheader"];function So(e){let t={},n;for(let s=Gn.length-1;s>=0;s--){const i=e.get(Gn[s]);i&&(i.attributes&&(t={...t,...i.attributes}),i.content!==void 0&&(n=i.content))}const r=e.get("plugin")?.attributes;for(const s of yo){const i=r?.[s];typeof i=="string"&&i!==""&&(t={...t,[s]:i})}return n!==void 0?{content:n,attributes:t}:{attributes:t}}function Vn(e,t){if(!e||!t)return;const n=e.getContent(),r=t.content!==void 0?$n(t.content):void 0,s=r!==void 0&&r!==n;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...s?{changes:[new J(0,n,0,r)]}:{}},{source:"remote"})}var Yn=e=>typeof e=="string"?e.trim():"";function wo(e,t,n){const{version:r,attributes:s}=e.get(),i=s,o=Yn(i.title)||Yn(i.subject);return{version:r,payload:{html:e.getContent(),title:o,subject:i.subject,preheader:i.preheader,description:i.description,common_styles:i.common_styles||"",meta:i.meta,utm_parameters:i.utm_parameters,parent_email:i.parent_email,is_template:i.is_template||!1,is_inited:i.is_inited,tags:i.tags,emailtags:i.emailtags,group:i.group,renderGuid:e.get().docId,project:t.project??i.project,folder:t.folder,...n?.emailtags?{emailtags:n.emailtags}:{},...n?.group?{group:n.group}:{},source:t.source}}}async function Io(e,t,n,r,s){if(n==="materialize"||n==="publish"&&r==null)return e.createEmail(s);if(r==null)throw new Error("Письмо ещё не создано на сервере");return n==="publish"?e.updateEmail(r,s):t.saveAutosave(r,s)}function re(e,t=!1){const n={};for(const r of Object.keys(e)){let s=e[r];s!==void 0&&!(typeof s=="number"&&Number.isNaN(s))&&(t&&typeof s=="object"&&s!==null&&(s=re(s)),n[r]=s)}return n}var To=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function qn(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!To.has(t))):{}}function Be(e,t,n={}){e&&e.mutate({attributes:Ao(e.get().attributes,t)},{source:n.source??"user"})}function Ao(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function pt(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function Co(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function zn(e){if(!e)return null;const t=qn(e);return e.common_styles!==void 0&&(t.common_styles=Co(e.common_styles)),pt(e.html,t)}function Kn(e){return e?pt(e.html,re(qn(e))):null}var Po=["common_styles","subject","preheader","meta"];function Wn(e){if(!e?.html?.trim())return null;const t={};for(const n of Po)Do(n,e[n])&&(t[n]=e[n]);return pt(e.html,t)}function Do(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 Ro=10,Oo=(e,t)=>e.key===t.key&&Lo(e.serverId,t.serverId),Lo=(e,t)=>e==null||e===t;function No(e){return typeof e?.then=="function"}var Xn=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},Jn=e=>{e.request.serverId!=null&&e.document.markSaved(e.document.get().version)},Mo=e=>{Vn(e.document,So(e.reports)),Jn(e)},mt=(e,t)=>{if(!e.ready){Mo(e);return}Vn(e.document,t)},xo=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 ko(e){const{resolveAdapters:t,timeoutMs:n,resolveWritePort:r,resolveHistoryPort:s,resolveTerms:i,canEdit:o,notifyBeforeSave:c,onAdapterError:l,onTimeout:u}=e;let d;const p=new Set,m=new Set,v=()=>p.forEach(f=>f()),y=(f,S)=>{if(!(f.closed||f.ready)){if(f.error!==void 0){f.document.markFailed(f.error),f.document.get().docId;return}Jn(f),f.ready=!0,f.document.markReady(),f.document.get().docId,[...f.reports.keys()]}},E=(f,S,T)=>{l?.(S.id,T),!(!S.required||f.closed)&&(f.error=T,f.document.get().docId,S.id,v())},g=(f,S)=>{const T=new Set(S.map(C=>C.id));S.forEach(C=>{C.watch&&f.watchers.push(C.watch(L=>f.closed?!1:f.ready&&L?.content!==void 0&&_o({hasUnsavedUserEdit:f.document.isDirty()})==="skip"?(f.document.get().docId,C.id,!1):(L&&f.reports.set(C.id,L),mt(f,L),!0)))});const A=(C,L)=>{f.closed||(L&&f.reports.set(C.id,L),mt(f,L))},O=()=>{T.size>0||f.closed||(Xn(f),y(f,[]))},x=[];if(S.forEach(C=>{let L;try{L=C.load()}catch(H){E(f,C,H),T.delete(C.id);return}if(No(L)){x.push({id:C.id,required:C.required,load:()=>L});return}A(C,L),T.delete(C.id)}),x.length===0){O();return}f.timer=setTimeout(()=>{f.timer=void 0,u?.([...T]),f.document.get().docId,[...T],y(f,[...T])},n),f.timer.unref?.(),x.forEach(C=>{C.load().then(L=>A(C,L)).catch(L=>{E(f,C,L)}).finally(()=>{T.delete(C.id),O()})})},b=async(f,S,T)=>{if(T==="snapshot"||T==="anchor")return;const A=i?.();if(A)return A.resolve({project:S.project??f.project,tags:(f.tags??[]).map(O=>({name:O}))})},_=f=>{if(f.lock===!0&&o?.(f)===!1)return new Bn("locked");const S=f.tags?.length??0,T=f.emailtags?.length??0;if(Math.max(S,T)>Ro)return new Bn("too-many-tags")},w=async(f,S,T)=>{try{await f.document.whenReady()}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,!1}if(f.closed)return!1;const A=_(f.document.get().attributes);if(A)return f.saveError=A,f.saveFailures+=1,A.reason,v(),!1;if(c&&(await c(xo(f)).catch(()=>{}),f.closed))return!1;let O;try{O=await b(f.document.get().attributes,T,S)}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,v(),!1}if(f.closed)return!1;const{payload:x,version:C}=wo(f.document,T,O);f.document.get().docId;try{const L=f.document.get().serverId!=null,H=await Io(r(),s(f.request.key),S,f.document.get().serverId,x);if(f.closed)return!0;let k;if(S==="snapshot"||S==="anchor"){const N=H?.modified!=null?Date.parse(H.modified):NaN;k=Number.isFinite(N)?N:Date.now(),f.snapshotVersion=C,f.lastRevisionAt=k}else f.document.markSaved(C,H?.id!=null?String(H.id):void 0);const V=f.document.get().serverId;!L&&V!=null&&(f.recoveryFacts={emailId:V,historyLoaded:!0,isRecovering:!1}),f.saveError=void 0,f.saveFailures=0,f.document.get().serverId,v();const ae={intent:S,serverId:f.document.get().serverId,created:!L,...k!==void 0?{revisionAt:k}:{}};return m.forEach(N=>N(ae)),!0}catch(L){return f.saveError=L,f.saveFailures+=1,f.saveFailures,v(),!1}},P=()=>{d&&(d.closed=!0,d.watchers.forEach(f=>f()),d.watchers=[],Xn(d),d.history.dispose(),d.document.dispose(),d=void 0)},D=(f,S,T)=>{let A=!1;S.show&&(f.show?.id!==S.show.id||f.show.token!==S.show.token)&&(f.show=S.show,A=!0,{docId:f.document.get().docId,...S.show});const O=T==="show"?Kn(S.patch):null;O&&(f.reports.set("plugin",O),mt(f,O)),A&&v()},h=(f,S={})=>{const T=d;return!T||T.closed?Promise.resolve(!1):T.saving?f==="snapshot"?Promise.resolve(!1):(T.inFlight??Promise.resolve(!1)).then(()=>h(f,S)):(T.saving=!0,T.inFlight=w(T,f,S).finally(()=>{T.saving=!1,T.inFlight=void 0}),T.inFlight)},I=(f,S="open")=>{if(d&&!d.closed&&S!=="new"&&Oo(d.request,f))return D(d,f,S),d.document;P();const T=ao({createBuffer:()=>Zi(""),serverId:f.serverId??null}),A={request:f,show:f.show,document:T,history:uo(T,{now:Date.now}),watchers:[],saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return d=A,T.get().docId,f.serverId,g(A,t(f,{publishRecoveryFacts(O){A.closed||(A.recoveryFacts=O,v())},readShownContent:()=>A.closed?null:A.document.getContent()})),v(),T};return{openWith:I,open:(f,S={})=>I({key:Se(f),serverId:f,email:S.email,patch:S.patch,show:S.show},"open"),openDraft:(f,S={})=>I({key:Se(void 0),serverId:null,email:f,patch:S.patch,show:S.show},"open"),startNewDraft:(f,S={})=>I({key:Se(void 0),serverId:null,email:f,patch:S.patch,show:S.show},"new"),reload:(f,S={})=>I({key:Se(f),serverId:f,email:S.email,patch:S.patch,show:S.show},"new"),openBlock:(f,S)=>I({key:ne(f)?f:Eo(f),serverId:S?.id!=null?String(S.id):null,email:S},"open"),show:(f,S)=>{const T=d;if(!(!T||T.closed))return I({...T.request,patch:f,show:S},"show")},current:()=>d?.document,save:h,saveState:()=>({error:d?.saveError,failures:d?.saveFailures??0,saving:d?.saving===!0}),revisionFacts(){if(!d)return;const f=d.revisionFactsSnapshot;return f&&f.snapshotVersion===d.snapshotVersion&&f.lastRevisionAt===d.lastRevisionAt?f:(d.revisionFactsSnapshot={snapshotVersion:d.snapshotVersion,lastRevisionAt:d.lastRevisionAt},d.revisionFactsSnapshot)},recoveryFacts:()=>d?.recoveryFacts,history:()=>d?.history,forcedHeaders:()=>d?.forcedHeaders,beginForcedHeaders(f){d&&!d.closed&&(d.forcedHeaders=f)},endForcedHeaders(){d&&(d.forcedHeaders=void 0)},onSaved(f){return m.add(f),()=>m.delete(f)},showFacts:()=>d?.show,sessionKey:()=>d?.request.key,openError:()=>d?.error,subscribe(f){return p.add(f),()=>p.delete(f)},close(){d&&(P(),v())}}}var Qn=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function Zn(e){if(e instanceof Qn)return e.reason;if(e instanceof Fe)return Zn(e.reason)}function Fo(e,t){return{id:"rest",required:!0,load:async()=>{const n=await e.readEmail(t);if(!n)throw new Qn("not-found");return zn(n)}}}var er=a.createIdentifier$1("EmailPort");function Bo(e){return e.getInstance(er)}function jo(e,t){e.inject(er,t)}var tr=a.createIdentifier$1("documentSession.restEmailPortFactories");function nr(e){return e.getInstance(tr)!==void 0}function le(e){const t=e.getInstance(tr);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var Uo=a.createIdentifier$1("EmailTermsResolver");function Ho(e){return e.getInstance(Uo)}var rr=a.createIdentifier$1("EmailHistoryPort"),$o=a.createIdentifier$1("BlockHistoryPort");function sr(e){return e.getInstance($o)}function ir(e){return e.getInstance(rr)}function Go(e,t){e.inject(rr,t)}var Vo="em_autosave_pending",nm=6e4;function je(e){return`${Vo}_${e}`}function Yo(e,t){try{sessionStorage.setItem(je(e),JSON.stringify(t))}catch{}}function qo(e){try{const t=sessionStorage.getItem(je(e));if(!t)return null;const n=JSON.parse(t);return Date.now()-n.sentAt>6e4?(sessionStorage.removeItem(je(e)),null):n}catch{return null}}function Ue(e){try{sessionStorage.removeItem(je(e))}catch{}}var zo=2e3,Ko=5e3,Wo=5,Xo=5e3,Jo=4;function Qo(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function Zo(e,t){return e==null||t==null?!1:e.replaceAll(`\r
2078
+ __emailmaker__.define("emailmaker.js",["require","exports","module","static/umd/25f23ba5.js"],function(_i,K,am){Object.defineProperties(K,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var wn=Object.defineProperty,In=(e,t)=>{let n={};for(var r in e)wn(n,r,{get:e[r],enumerable:!0});return t||wn(n,Symbol.toStringTag,{value:"Module"}),n};const a=_i("./static/umd/25f23ba5.js");var yi=new Function("url","return import(url)");function Si(e){if(typeof e!="function")return!1;try{return Reflect.construct(String,[],e),!0}catch{return!1}}function wi(e){return typeof e=="object"&&e!==null&&"type"in e&&"url"in e}function Ii(e){return e.type==="umd"||e.resolve==="registry"}function lm(e){return e}var Ti=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(wi(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(Ii(e)&&await this._options.ensureHostRuntimeReady?.(e),e.type==="esm"){const n=await yi(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:s,options:i}=await this._resolveEntry(r),o=this._getOrCreate(s,i);n.has(o)||(n.add(o),t.push(o))}this._activated=!0,await this._startPluginsBatch(t)}async setPlugins(e){const t=new Set,n=[];for(const o of e){const c=await this._resolveEntry(o);t.add(c.ctor),n.push(c)}const r=[];this._map.forEach((o,c)=>{t.has(c)||r.push({key:c,plugin:o})});for(let o=r.length-1;o>=0;o--){const{key:c,plugin:l}=r[o];await this._initializingPlugins.get(l),await this._disposePlugin(l,l.constructor.name),this._map.delete(c),this._optionsMap.delete(c),this._readyMap.delete(l),this._resolveMap.delete(l),this._initializingPlugins.delete(l),this._initializedPlugins.delete(l);const u=this._creationOrder.indexOf(l);u>=0&&this._creationOrder.splice(u,1)}const s=[],i=new Set;for(const{ctor:o,options:c}of n){const l=this._getOrCreate(o,c);i.has(l)||(i.add(l),s.push(l))}this._activated&&await this._startPluginsBatch(s)}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,s)=>{let i,o=!1;const c=()=>{o||(o=!0,i&&clearTimeout(i),this._pluginRegistry.off(e,c),r())};this._pluginRegistry.on(e,c),n!==void 0&&n>0&&(i=setTimeout(()=>{o||(o=!0,this._pluginRegistry.off(e,c),s(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),s=this._createPluginInstance(e,r),i=s.constructor.name;this._emitLifecycle({type:"created",plugin:s,name:i}),s.required?.(),this._map.set(n,s),this._creationOrder.push(s),this._setupReadyPromise(s)}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 Si(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 s of t){if(this._initializedPlugins.has(s))continue;const i=this._initializingPlugins.get(s);if(i){n.add(i);continue}r.push(s)}if(r.length>0){const s=this._runBatchLifecycle(r);for(const i of r)this._initializingPlugins.set(i,s);n.add(s),s.finally(()=>{for(const i of r)this._initializingPlugins.get(i)===s&&this._initializingPlugins.delete(i)})}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(s){this._emitLifecycle({type:"init:error",plugin:n,name:r,error:s})}}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(s){this._emitLifecycle({type:"afterInit:error",plugin:n,name:r,error:s})}}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)}))}},Ai=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 s of n)try{s.callback(t)}catch{}const r=n.filter(s=>!s.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(s=>(t.ctor=s,t.loading=void 0,this._notifyListeners(e,s),s));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 s={callback:t,once:!1};return r.push(s),{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 s={callback:t,once:!0};return r.push(s),{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(s=>s.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)}}}},Ci=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()}},Tn=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 Pi(e,t){return t+e}function Di(){return typeof performance>"u"?Date.now():Pi(performance.now(),performance.timeOrigin)}var Ri="emailmaker:diagnostics",Oi="diagnostics",Li="diagnostics";function An(e,t){return t?`${e}${e.includes("?")?"&":"?"}${Li}=1`:e}var rt;function Ni(){try{const e=new URLSearchParams(window.location.search).get(Oi);return e===null?void 0:e!=="0"}catch{return}}function Mi(){const e=window.__DIAGNOSTICS__;return typeof e=="boolean"?e:void 0}function xi(){try{const e=window.localStorage.getItem(Ri);return e===null?void 0:e==="1"}catch{return}}function _e(){return rt===void 0&&(rt=typeof window>"u"?!1:Ni()??Mi()??xi()??!1),rt}function Fi(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"},cm=Object.values(q),dm=[q.canvasPainted,q.canvasSettled,q.appVisible,q.editorVisible],ki=5e3,Bi=3e3,Cn="diagnosticsStore",Fe,ye;function Pn(){return{marks:new Tn(ki),resources:new Tn(Bi)}}function Dn(){if(ye)return ye;const e=st();return e?(ye=e[Cn]??Fe??Pn(),e[Cn]=ye,Fe=void 0,ye):(Fe??=Pn(),Fe)}function H(e,t){_e()&&Dn().marks.push({phase:e,at:Di(),...t})}function st(){if(typeof __emailmaker__<"u"&&__emailmaker__)return __emailmaker__;if(typeof window>"u")return;const e=window[Fi()];return e!==null&&typeof e=="object"?e:void 0}function ji(e){const t=e.length,n=Dn();return e.forEach(r=>n.marks.push(r)),e.length=0,t}function Ui(){const e=st();return!e||!Array.isArray(e.diagnosticsBuffer)?0:ji(e.diagnosticsBuffer)}var Hi="Editor instance was destroyed and cannot be reused. A fresh instance will be created instead.";function it(){const e=new Error(Hi);return e.name="DestroyedInstanceError",e}function ot(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 i=e,o=t;return i.length===o.length&&i.every((c,l)=>ot(c,o[l]))}const r=Object.keys(e),s=Object.keys(t);return r.length!==s.length?!1:r.every(i=>Object.prototype.hasOwnProperty.call(t,i)&&ot(e[i],t[i]))}function Rn(e,t){const n={watch(r){let s,i=!1;return e.watch(o=>{const c=t(o);i&&ot(s,c)||(s=c,i=!0,r(c))})},select(r){return Rn(n,r)}};return n}function pe(...e){let t=e[0],n=e.length>0;const r=new Set,s={get(){return n?t:void 0},set(i){t=i,n=!0;for(const o of Array.from(r))o(i)},watch(i){return r.add(i),n&&i(t),{dispose:()=>r.delete(i)}},select(i){return Rn(s,i)}};return s}var On=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:a.ContentType.UrlEncoded,...t})},Ln=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 $i(e){return String(e||"").trim()||void 0}var Gi=class extends a.Disposable{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=$i(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)}},at=a.createIdentifier$1("AppInitService");function Vi(e){return async()=>{const t=await e();return(await new On(t).app_init_create({})).data}}function Yi(e){e.injectFactory(at,()=>{const t=new Gi({options:e.getInstance(a.OPTIONS_SOURCE_ID),isStandalone:()=>!!e.getInstance(a.SECURITY_MODULE_ID),resolveRestBaseUrl:n=>n?a.getActiveBaseUrl(n):a.getActiveBaseUrl()||void 0,setRestBaseUrl:n=>{e.getInstance(a.REST_CLIENT_FACTORY_ID)?.setOptions(n?{baseUrl:n}:{})},fallbackAppInit:Vi(()=>e.getInstanceAsync(a.REST_TRANSPORT_ID)),publish:n=>{e.inject(a.APP_ID,n)}});return e.getInstance(a.DISPOSABLE_ID)?.addDisposable(t),t},!0)}var lt=a.createIdentifier$1("documentSession.emailDocuments");function ct(e){return e?.getInstance(lt)}var zi=a.createIdentifier$1("RevisionServiceFlag");function qi(e){return e.getOrCreateInstance(zi,()=>{let t=!1;return{isEnabled:()=>t,set:n=>{t=n}}})}function Nn(e){return qi(e).isEnabled()}var Wi=a.createIdentifier$1("EmailRightsResolver");function Ki(e,t){const n=e.getInstance(Wi);return n?n(t):!0}var Mn=a.createIdentifier$1("EmailHistoryAvailabilityResolver");function Xi(e){return e.getInstance(Mn)!==void 0}async function Ji(e){const t=e.getInstance(Mn);if(!t)return!0;try{return await t()}catch{return!1}}var dt={INIT_START:5e3,SET_ENTITY:12e3,PREHEADER:5e3,SUBJECT:5e3,INITED:5e3,UPDATE_ENTITY:5e3},xn=["INIT_START","SET_ENTITY","PREHEADER","SUBJECT","INITED"],Fn=2e4,Qi=xn.reduce((e,t)=>e+dt[t],0),kn=Fn+Qi+3e3;function Zi(e){return xn.reduce((t,n)=>t+Bn(n,e),0)}function Bn(e,t){const n=t?.[e];return typeof n=="number"&&n>0?n:dt[e]}function jn(e){const t=e?.contentReady;return typeof t=="number"&&t>0?t:kn}function Un(e){const t=e?.sandboxReady;return typeof t=="number"&&t>0?t:Fn}function Hn(e=kn){return e+3e3}var um="[show-pipeline]";function $n(e){return e instanceof Error?`${e.name}: ${e.message}`:typeof e=="string"?e:JSON.stringify(e)??"undefined"}function fm(e,t){}var eo=()=>Hn();function to(e,t){let n;return Promise.race([e,new Promise(r=>{n=setTimeout(()=>{r()},t)})]).finally(()=>{n!==void 0&&clearTimeout(n)})}function no(e){return t=>to(e.getOrCreateInstance(a.events.BEFORE_SAVE_EMAIL,()=>new a.AsyncEmitter).fire(t),eo())}function ro(e){return e!=null&&e!==""}var so;function ke(e,t){return so?.capture(e,t)}function io(e=""){let t=e;return{read:()=>t,write:n=>{t=n},dispose:()=>{t=""}}}function Be(e){return e.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}var Q=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} "${Be(this.newText)}")`:this.newText.length===0?`(delete@${this.oldPosition} "${Be(this.oldText)}")`:`(replace@${this.oldPosition} "${Be(this.oldText)}" with "${Be(this.newText)}")`}};function Gn(e,t){return e===null||e.length===0?t:new oo(e,t).compress()}var oo=class ne{_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),s=this._getCurr(n);for(;t<this._prevLen||n<this._currLen;){if(r===null){if(s===null)break;this._acceptCurr(s),s=this._getCurr(++n);continue}if(s===null){this._acceptPrev(r),r=this._getPrev(++t);continue}if(s.oldEnd<=r.newPosition){this._acceptCurr(s),s=this._getCurr(++n);continue}if(r.newEnd<=s.oldPosition){this._acceptPrev(r),r=this._getPrev(++t);continue}if(s.oldPosition<r.newPosition){const[l,u]=ne._splitCurr(s,r.newPosition-s.oldPosition);this._acceptCurr(l),s=u;continue}if(r.newPosition<s.oldPosition){const[l,u]=ne._splitPrev(r,s.oldPosition-r.newPosition);this._acceptPrev(l),r=u;continue}let o,c;if(s.oldEnd===r.newEnd)o=r,c=s,r=this._getPrev(++t),s=this._getCurr(++n);else if(s.oldEnd<r.newEnd){const[l,u]=ne._splitPrev(r,s.oldLength);o=l,c=s,r=u,s=this._getCurr(++n)}else{const[l,u]=ne._splitCurr(s,r.newLength);o=r,c=l,r=this._getPrev(++t),s=u}this._result[this._resultLen++]=new Q(o.oldPosition,o.oldText,c.newPosition,c.newText),this._prevDeltaOffset+=o.newLength-o.oldLength,this._currDeltaOffset+=c.newLength-c.oldLength}const i=ne._merge(this._result);return ne._removeNoOps(i)}_acceptCurr(t){this._result[this._resultLen++]=ne._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++]=ne._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 Q(n.oldPosition-t,n.oldText,n.newPosition,n.newText)}static _rebasePrev(t,n){return new Q(n.oldPosition,n.oldText,n.newPosition+t,n.newText)}static _splitPrev(t,n){const r=t.newText.substr(0,n),s=t.newText.substr(n);return[new Q(t.oldPosition,t.oldText,t.newPosition,r),new Q(t.oldEnd,"",t.newPosition+n,s)]}static _splitCurr(t,n){const r=t.oldText.substr(0,n),s=t.oldText.substr(n);return[new Q(t.oldPosition,r,t.newPosition,t.newText),new Q(t.oldPosition+n,s,t.newEnd,"")]}static _merge(t){if(t.length===0)return t;const n=[];let r=0,s=t[0];for(let i=1;i<t.length;i++){const o=t[i];s.oldEnd===o.oldPosition?s=new Q(s.oldPosition,s.oldText+o.oldText,s.newPosition,s.newText+o.newText):(n[r++]=s,s=o)}return n[r++]=s,n}static _removeNoOps(t){if(t.length===0)return t;const n=[];let r=0;for(let s=0;s<t.length;s++){const i=t[s];i.oldText!==i.newText&&(n[r++]=i)}return n}};function ao(e){return new Q(e.newPosition,e.newText,e.oldPosition,e.oldText)}function lo(e){return e.map(ao)}function Vn(e,t){return t.every(n=>e.slice(n.oldPosition,n.oldEnd)===n.oldText)}function co(e,t){let n=e;for(let r=t.length-1;r>=0;r-=1){const s=t[r];n=n.slice(0,s.oldPosition)+s.newText+n.slice(s.oldEnd)}return n}function uo(e,t,n){let r=0;const s=e.start===e.end;for(const i of t){const o=i.newLength-i.oldLength;if(i.oldLength===0){const c=i.oldPosition;if(s&&c===e.start)r+=n==="after"?o:0;else{if(e.start<c&&c<e.end)return null;c<=e.start&&(r+=o)}continue}if(s){if(e.start>=i.oldEnd)r+=o;else if(e.start>i.oldPosition)return null;continue}if(e.start>=i.oldEnd)r+=o;else if(e.end>i.oldPosition)return null}return{start:e.start+r,end:e.end+r}}var je=class extends Error{reason;constructor(e){super("Открытие документа не удалось"),this.reason=e,this.name="DocumentOpenFailedError"}},Yn=0,fo=Math.random().toString(36).slice(2,8);function po(){return Yn+=1,`doc-${fo}-${Yn}`}function mo(e){const t=e.createBuffer(),n=e.docId??po();let r=e.serverId??null,s=0,i=null,o=e.attributes??{};const c=new Set;let l=!1,u=!1,d;const p=new Set;let m=null;const v=()=>(m?.version!==s&&(m={version:s,value:t.read()}),m.value),S=E=>Object.entries(E).some(([g,b])=>o[g]!==b);return{get:()=>({docId:n,serverId:r,version:s,savedVersion:i,attributes:o}),getContent:v,mutate(E,{source:g}){if(l)return s;const b=E.changes?.length?E.changes:void 0,_=b?co(v(),b):E.content!==void 0?E.content:void 0,w=_!==void 0&&_!==v(),P=E.attributes!==void 0&&S(E.attributes);if(!w&&!P)return s;const D=!(s>(i??-1));return w&&t.write(_),P&&(o={...o,...E.attributes}),s+=1,g!=="user"&&D&&(i=s),c.forEach(h=>h({source:g,version:s,changes:b})),s},markSaved(E,g){const b={serverId:r,savedVersion:i};g!==void 0&&(r=g),(i===null||E>i)&&(i=E),(b.serverId!==r||b.savedVersion!==i)&&c.forEach(_=>_({source:"system",version:s}))},markReady(){u||d!==void 0||(u=!0,p.forEach(E=>E.resolve()),p.clear(),c.forEach(E=>E({source:"system",version:s})))},isReady:()=>u,markFailed(E){u||d!==void 0||l||(d=E,p.forEach(g=>g.reject(new je(E))),p.clear(),c.forEach(g=>g({source:"system",version:s})))},failure:()=>d,whenReady(){return u?Promise.resolve():d!==void 0?Promise.reject(new je(d)):l?Promise.reject(new Error("Документ закрыт до того, как наполнение закончилось")):new Promise((E,g)=>{p.add({resolve:E,reject:g})})},subscribe(E){return c.add(E),()=>c.delete(E)},isNew:()=>r===null,isDirty:()=>s>(i??-1),isDisposed:()=>l,dispose(){l=!0,p.forEach(E=>E.reject(new Error("Документ закрыт до того, как наполнение закончилось"))),p.clear(),c.clear(),t.dispose()}}}var ho=500,go=100,ut=0;function Eo(e,t={}){const n=t.groupIntervalMs??ho,r=t.maxSteps??go,s=t.now??(()=>0);let i=[],o=0,c=ut+=1,l=null,u=!1,d=!1,p=!1;const m=new Set,v=()=>m.forEach(h=>h()),S=(h,I)=>{if(h.length){d=!0;try{e.mutate({changes:h},{source:I})}finally{d=!1}}},E=h=>S(h,"user"),g=h=>{const I=s();u&&l!==null&&I-l<n?i[o-1]=Gn(i[o-1],h):(i=i.slice(0,o),i.push(h),o=i.length,u=!0,i.length>r&&(i=i.slice(i.length-r),o=i.length,c=ut+=1)),l=I,v()},b=()=>{u=!1,l=null},_=h=>{if(!h.length)return;const I=i.length>o;I&&(i=i.slice(0,o)),o>0&&(i[o-1]=Gn(i[o-1],h)),b(),I&&v()},w=e.subscribe(({source:h,changes:I})=>{if(!(p||d||!I?.length)){if(h==="remote"){P();return}if(h!=="user"){_(I);return}g(I)}}),P=()=>{i=[],o=0,b(),c=ut+=1,v()},D=()=>{if(o===0)return!1;const h=lo(i[o-1]);return Vn(e.getContent(),h)?(E(h),o-=1,b(),!0):(i=i.slice(0,o-1),o=i.length,b(),v(),!1)};return{canUndo:()=>o>0,canRedo:()=>o<i.length,undo(){D()&&v()},redo(){if(!(o>=i.length)){if(!Vn(e.getContent(),i[o])){i=i.slice(0,o),b(),v();return}E(i[o]),o+=1,b(),v()}},clear:P,applyWithoutHistory(h){const I=e.get().version;if(S(h,"system"),e.get().version===I){b();return}_(h)},getPast:h=>i.slice(0,o).reverse().slice(0,h),getFuture:h=>i.slice(o).reverse().slice(0,h),createSnapshot:()=>({stackId:c,index:o}),restoreSnapshot(h){if(h.stackId!==c||h.index>o)return!1;for(;o>h.index;)if(!D())return v(),!1;return v(),!0},subscribe(h){return m.add(h),()=>m.delete(h)},dispose(){p=!0,w(),m.clear(),i=[],o=0}}}var vo=["edit","move","resize","insert"];function ft(e){return typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function bo(e){return typeof e=="string"?e:null}function _o(e){return!Array.isArray(e)||!e.every(t=>typeof t=="string")?null:e}function yo(e){return vo.includes(e)?e:null}function So(e){const t=typeof e=="object"&&e!==null?e:{},n={originId:bo(t.originId),changeId:ft(t.changeId),rev:ft(t.rev),baseRev:ft(t.baseRev),expected:_o(t.expected),intent:yo(t.intent)};return{...n,legacy:Object.values(n).every(r=>r===null)}}var zn=class extends Error{reason;constructor(e){super(`сохранение не состоялось: ${e}`),this.name="SaveRefusedError",this.reason=e}},qn="draft";function Se(e){return e==null||e===""?qn:String(e)}function wo(e){return e==null||e===""?`${pt}${qn}`:`${pt}${String(e)}`}var pt="block:";function re(e){return e?.startsWith(pt)===!0}function we(e){return re(e.sessionKey())?void 0:e.current()}function pm(e,t){}function Ie(e,t,n){const r=typeof performance<"u"?performance.now():Date.now();return H(`show:gate:${e}`,{kind:"wait"}),t.then(s=>(H(`show:gate:${e}:end`,{kind:"wait"}),s),s=>{const i=Math.round((typeof performance<"u"?performance.now():Date.now())-r);throw a.isAbortError(s)?(`${e}`,{...n}):(`${e}`,{error:$n(s),...n},void 0),s})}var mm=5e3;function Wn(e){return e?.length?[...e].sort((t,n)=>Date.parse(n.modified)-Date.parse(t.modified))[0]:null}function Kn(e,{freshSince:t}={}){return!(!e?.slug?.includes("autosave")||!e?.html?.trim()||t!==void 0&&Date.parse(e.modified)<t-5e3)}function Io(e,t={}){const n=Wn((e??[]).filter(r=>r?.html?.trim()));return Kn(n,t)?n:null}function To(e){const t=Date.parse(Wn(e)?.modified??"");return{autosave:Io(e),...Number.isFinite(t)?{latestAt:t}:{}}}function Ao({hasUnsavedUserEdit:e}){return e?"skip":"apply"}var Xn=e=>e.replace(/\r\n?/g,`
2079
+ `),Jn=["recovery","plugin","rest"],Co=["subject","preheader"];function Po(e){let t={},n;for(let s=Jn.length-1;s>=0;s--){const i=e.get(Jn[s]);i&&(i.attributes&&(t={...t,...i.attributes}),i.content!==void 0&&(n=i.content))}const r=e.get("plugin")?.attributes;for(const s of Co){const i=r?.[s];typeof i=="string"&&i!==""&&(t={...t,[s]:i})}return n!==void 0?{content:n,attributes:t}:{attributes:t}}function Qn(e,t){if(!e||!t)return;const n=e.getContent(),r=t.content!==void 0?Xn(t.content):void 0,s=r!==void 0&&r!==n;e.get().docId,Object.keys(t.attributes??{}),e.mutate({attributes:t.attributes??{},...s?{changes:[new Q(0,n,0,r)]}:{}},{source:"remote"})}var Zn=e=>typeof e=="string"?e.trim():"";function Do(e,t,n){const{version:r,attributes:s}=e.get(),i=s,o=Zn(i.title)||Zn(i.subject);return{version:r,payload:{html:e.getContent(),title:o,subject:i.subject,preheader:i.preheader,description:i.description,common_styles:i.common_styles||"",meta:i.meta,utm_parameters:i.utm_parameters,parent_email:i.parent_email,is_template:i.is_template||!1,is_inited:i.is_inited,tags:i.tags,emailtags:i.emailtags,group:i.group,renderGuid:e.get().docId,project:t.project??i.project,folder:t.folder,...n?.emailtags?{emailtags:n.emailtags}:{},...n?.group?{group:n.group}:{},source:t.source}}}async function Ro(e,t,n,r,s){if(n==="materialize"||n==="publish"&&r==null)return e.createEmail(s);if(r==null)throw new Error("Письмо ещё не создано на сервере");return n==="publish"?e.updateEmail(r,s):t.saveAutosave(r,s)}function se(e,t=!1){const n={};for(const r of Object.keys(e)){let s=e[r];s!==void 0&&!(typeof s=="number"&&Number.isNaN(s))&&(t&&typeof s=="object"&&s!==null&&(s=se(s)),n[r]=s)}return n}var Oo=new Set(["html","id","renderGuid","showToken","showId","isNew"]);function er(e){return e?Object.fromEntries(Object.entries(e).filter(([t])=>!Oo.has(t))):{}}function Ue(e,t,n={}){e&&e.mutate({attributes:Lo(e.get().attributes,t)},{source:n.source??"user"})}function Lo(e,t){return t.subject===void 0||t.title!==void 0?t:(e.title??"")===(e.subject??"")?{...t,title:t.subject}:t}function mt(e,t){return e===void 0&&Object.keys(t).length===0?null:{...e!==void 0?{content:e}:{},attributes:t}}function No(e){return typeof e=="string"&&e.startsWith("{")?e:"{}"}function tr(e){if(!e)return null;const t=er(e);return e.common_styles!==void 0&&(t.common_styles=No(e.common_styles)),mt(e.html,t)}function nr(e){return e?mt(e.html,se(er(e))):null}var Mo=["common_styles","subject","preheader","meta"];function rr(e){if(!e?.html?.trim())return null;const t={};for(const n of Mo)xo(n,e[n])&&(t[n]=e[n]);return mt(e.html,t)}function xo(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 Fo=10,ko=(e,t)=>e.key===t.key&&Bo(e.serverId,t.serverId),Bo=(e,t)=>e==null||e===t;function jo(e){return typeof e?.then=="function"}var sr=e=>{e.timer!==void 0&&(clearTimeout(e.timer),e.timer=void 0)},ir=e=>{e.request.serverId!=null&&e.document.markSaved(e.document.get().version)},Uo=e=>{Qn(e.document,Po(e.reports)),ir(e)},ht=(e,t)=>{if(!e.ready){Uo(e);return}Qn(e.document,t)},Ho=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 $o(e){const{resolveAdapters:t,timeoutMs:n,resolveWritePort:r,resolveHistoryPort:s,resolveTerms:i,canEdit:o,notifyBeforeSave:c,onAdapterError:l,onTimeout:u}=e;let d;const p=new Set,m=new Set,v=()=>p.forEach(f=>f()),S=(f,y)=>{if(!(f.closed||f.ready)){if(f.error!==void 0){f.document.markFailed(f.error),f.document.get().docId;return}ir(f),f.ready=!0,f.document.markReady(),f.document.get().docId,[...f.reports.keys()]}},E=(f,y,A)=>{l?.(y.id,A),!(!y.required||f.closed)&&(f.error=A,f.document.get().docId,y.id,v())},g=(f,y)=>{const A=new Set(y.map(C=>C.id));y.forEach(C=>{C.watch&&f.watchers.push(C.watch(T=>f.closed?!1:f.ready&&T?.content!==void 0&&Ao({hasUnsavedUserEdit:f.document.isDirty()})==="skip"?(f.document.get().docId,C.id,!1):(T&&f.reports.set(C.id,T),ht(f,T),!0)))});const L=(C,T)=>{f.closed||(T&&f.reports.set(C.id,T),ht(f,T))},F=()=>{A.size>0||f.closed||(sr(f),S(f,[]))},z=[];if(y.forEach(C=>{let T;try{T=C.load()}catch(O){E(f,C,O),A.delete(C.id);return}if(jo(T)){z.push({id:C.id,required:C.required,load:()=>T});return}L(C,T),A.delete(C.id)}),z.length===0){F();return}f.timer=setTimeout(()=>{f.timer=void 0,u?.([...A]),f.document.get().docId,[...A],S(f,[...A])},n),f.timer.unref?.(),z.forEach(C=>{C.load().then(T=>L(C,T)).catch(T=>{E(f,C,T)}).finally(()=>{A.delete(C.id),F()})})},b=async(f,y,A)=>{if(A==="snapshot"||A==="anchor")return;const L=i?.();if(L)return L.resolve({project:y.project??f.project,tags:(f.tags??[]).map(F=>({name:F}))})},_=f=>{if(f.lock===!0&&o?.(f)===!1)return new zn("locked");const y=f.tags?.length??0,A=f.emailtags?.length??0;if(Math.max(y,A)>Fo)return new zn("too-many-tags")},w=async(f,y,A)=>{try{await f.document.whenReady()}catch(T){return f.saveError=T,f.saveFailures+=1,f.saveFailures,!1}if(f.closed)return!1;const L=_(f.document.get().attributes);if(L)return f.saveError=L,f.saveFailures+=1,L.reason,v(),!1;if(c&&(await c(Ho(f)).catch(()=>{}),f.closed))return!1;let F;try{F=await b(f.document.get().attributes,A,y)}catch(T){return f.saveError=T,f.saveFailures+=1,f.saveFailures,v(),!1}if(f.closed)return!1;const{payload:z,version:C}=Do(f.document,A,F);f.document.get().docId;try{const T=f.document.get().serverId!=null,O=await Ro(r(),s(f.request.key),y,f.document.get().serverId,z);if(f.closed)return!0;let N;if(y==="snapshot"||y==="anchor"){const M=O?.modified!=null?Date.parse(O.modified):NaN;N=Number.isFinite(M)?M:Date.now(),f.snapshotVersion=C,f.lastRevisionAt=N}else f.document.markSaved(C,O?.id!=null?String(O.id):void 0);const k=f.document.get().serverId;!T&&k!=null&&(f.recoveryFacts={emailId:k,historyLoaded:!0,isRecovering:!1}),f.saveError=void 0,f.saveFailures=0,f.document.get().serverId,v();const W={intent:y,serverId:f.document.get().serverId,created:!T,...N!==void 0?{revisionAt:N}:{}};return m.forEach(M=>M(W)),!0}catch(T){return f.saveError=T,f.saveFailures+=1,f.saveFailures,v(),!1}},P=()=>{d&&(d.closed=!0,d.watchers.forEach(f=>f()),d.watchers=[],sr(d),d.history.dispose(),d.document.dispose(),d=void 0)},D=(f,y,A)=>{let L=!1;y.show&&(f.show?.id!==y.show.id||f.show.token!==y.show.token)&&(f.show=y.show,L=!0,{docId:f.document.get().docId,...y.show});const F=A==="show"?nr(y.patch):null;F&&(f.reports.set("plugin",F),ht(f,F)),L&&v()},h=(f,y={})=>{const A=d;return!A||A.closed?Promise.resolve(!1):A.saving?f==="snapshot"?Promise.resolve(!1):(A.inFlight??Promise.resolve(!1)).then(()=>h(f,y)):(A.saving=!0,A.inFlight=w(A,f,y).finally(()=>{A.saving=!1,A.inFlight=void 0}),A.inFlight)},I=(f,y="open")=>{if(d&&!d.closed&&y!=="new"&&ko(d.request,f))return D(d,f,y),d.document;P();const A=mo({createBuffer:()=>io(""),serverId:f.serverId??null}),L={request:f,show:f.show,document:A,history:Eo(A,{now:Date.now}),watchers:[],saveFailures:0,saving:!1,reports:new Map,ready:!1,closed:!1};return d=L,A.get().docId,f.serverId,g(L,t(f,{publishRecoveryFacts(F){L.closed||(L.recoveryFacts=F,v())},readShownContent:()=>L.closed?null:L.document.getContent()})),v(),A};return{openWith:I,open:(f,y={})=>I({key:Se(f),serverId:f,email:y.email,patch:y.patch,show:y.show},"open"),openDraft:(f,y={})=>I({key:Se(void 0),serverId:null,email:f,patch:y.patch,show:y.show},"open"),startNewDraft:(f,y={})=>I({key:Se(void 0),serverId:null,email:f,patch:y.patch,show:y.show},"new"),reload:(f,y={})=>I({key:Se(f),serverId:f,email:y.email,patch:y.patch,show:y.show},"new"),openBlock:(f,y)=>I({key:re(f)?f:wo(f),serverId:y?.id!=null?String(y.id):null,email:y},"open"),show:(f,y)=>{const A=d;if(!(!A||A.closed))return I({...A.request,patch:f,show:y},"show")},current:()=>d?.document,save:h,saveState:()=>({error:d?.saveError,failures:d?.saveFailures??0,saving:d?.saving===!0}),revisionFacts(){if(!d)return;const f=d.revisionFactsSnapshot;return f&&f.snapshotVersion===d.snapshotVersion&&f.lastRevisionAt===d.lastRevisionAt?f:(d.revisionFactsSnapshot={snapshotVersion:d.snapshotVersion,lastRevisionAt:d.lastRevisionAt},d.revisionFactsSnapshot)},recoveryFacts:()=>d?.recoveryFacts,history:()=>d?.history,forcedHeaders:()=>d?.forcedHeaders,beginForcedHeaders(f){d&&!d.closed&&(d.forcedHeaders=f)},endForcedHeaders(){d&&(d.forcedHeaders=void 0)},onSaved(f){return m.add(f),()=>m.delete(f)},showFacts:()=>d?.show,sessionKey:()=>d?.request.key,openError:()=>d?.error,subscribe(f){return p.add(f),()=>p.delete(f)},close(){d&&(P(),v())}}}var or=class extends Error{reason;constructor(e,t){super(`письмо не открылось: ${e}`),this.name="EmailOpenFailedError",this.reason=e,this.cause=t}};function ar(e){if(e instanceof or)return e.reason;if(e instanceof je)return ar(e.reason)}function Go(e,t){return{id:"rest",required:!0,load:async()=>{const n=await e.readEmail(t);if(!n)throw new or("not-found");return tr(n)}}}var lr=a.createIdentifier$1("EmailPort");function Vo(e){return e.getInstance(lr)}function Yo(e,t){e.inject(lr,t)}var cr=a.createIdentifier$1("documentSession.restEmailPortFactories");function dr(e){return e.getInstance(cr)!==void 0}function le(e){const t=e.getInstance(cr);if(!t)throw new Error("[documentSession] порты поверх REST ещё не загружены — работа с сервером начинается с init()");return t}var zo=a.createIdentifier$1("EmailTermsResolver");function qo(e){return e.getInstance(zo)}var ur=a.createIdentifier$1("EmailHistoryPort"),Wo=a.createIdentifier$1("BlockHistoryPort");function fr(e){return e.getInstance(Wo)}function pr(e){return e.getInstance(ur)}function Ko(e,t){e.inject(ur,t)}var Xo="em_autosave_pending",hm=6e4;function He(e){return`${Xo}_${e}`}function Jo(e,t){try{sessionStorage.setItem(He(e),JSON.stringify(t))}catch{}}function Qo(e){try{const t=sessionStorage.getItem(He(e));if(!t)return null;const n=JSON.parse(t);return Date.now()-n.sentAt>6e4?(sessionStorage.removeItem(He(e)),null):n}catch{return null}}function $e(e){try{sessionStorage.removeItem(He(e))}catch{}}var Zo=2e3,ea=5e3,ta=5,na=5e3,ra=4;function sa(){return typeof performance<"u"&&typeof performance.timeOrigin=="number"?performance.timeOrigin:Date.now()}function ia(e,t){return e==null||t==null?!1:e.replaceAll(`\r
2080
2080
  `,`
2081
2081
  `)===t.replaceAll(`\r
2082
2082
  `,`
2083
- `)}function ea({emailId:e,readAutosave:t,revisionServiceEnabled:n,isHistoryAvailable:r,readShownContent:s,onFacts:i,onLate:o,onError:c,pageLoadTs:l=Qo()}){let u=null,d=!1,p=!1,m=0,v={emailId:e,historyLoaded:!1,isRecovering:!1},y=null;const E=new Promise(C=>{y=C}),g=C=>{v={...v,...C},i(v)},b=C=>{m+=1,g({applied:{phase:C,seq:m}})},_=()=>{u?.timer&&clearTimeout(u.timer),u=null},w=C=>{if(!p){if(y){const L=y;y=null,L(C),C.revision&&b(C.phase);return}o(C)&&C.revision&&b(C.phase)}},P=()=>{if(!u||p)return;const C=u.phase==="fast",L=C?zo:Xo,H=C?Wo:Jo;u.timer=setTimeout(()=>{const k=u;if(!(!k||p)){if(k.attempts+=1,S(),C&&k.attempts>=H){const{pending:V}=k;Ue(e),g({isRecovering:!1}),w({revision:{html:V.html,common_styles:V.common_styles,subject:V.subject,preheader:V.preheader},phase:"timeout"}),d=!0,k.phase="bg",k.attempts=0,P();return}if(!C&&k.attempts>=H){Ue(e),_(),g({isRecovering:!1}),d=!0;return}P()}},L),u.timer.unref?.()},D=C=>{u={phase:"fast",attempts:0,pending:C,timer:null},g({isRecovering:!0}),P()},h=(C,L)=>Hn(C.autosave,L===void 0?{}:{freshSince:L})?C.autosave:null,I=C=>{if(p)return;if(g({historyLoaded:!0,latestRevisionAt:C.latestAt!==void 0&&Number.isFinite(C.latestAt)?C.latestAt:void 0}),n&&u){const k=h(C,u.pending.sentAt);if(!k)return;const V=u.phase==="fast"?"found":"bg";Ue(e),_(),g({isRecovering:!1}),d=!0,w({revision:k,phase:V});return}if(d)return;const L=n?qo(e):null,H=L&&(L.sentAt<l||!Zo(L.html,s()))?L:null;if(H){const k=h(C,H.sentAt);if(k){Ue(e),d=!0,w({revision:k,phase:"found"});return}D(H);return}d=!0,w({revision:h(C),phase:"normal"})},f=C=>{p||(c?.(C),v.historyLoaded||(g({historyLoaded:!1,latestRevisionAt:void 0}),O()),!u&&w({revision:null,phase:"normal"}))},S=()=>t(e).then(I).catch(f);let T,A=!1;const O=()=>{A||u||p||(A=!0,T=setTimeout(()=>{T=void 0,!p&&!v.historyLoaded&&S()},Ko))},x=()=>{p||(g({historyLoaded:!1,latestRevisionAt:void 0}),w({revision:null,phase:"normal"}))};return r?r().then(C=>C?S():x()):S(),{verdict:()=>E,dispose(){p=!0,T!==void 0&&(clearTimeout(T),T=void 0),_()}}}function ta({port:e,revisionServiceEnabled:t,isHistoryAvailable:n,emailId:r,readShownContent:s,onFacts:i}){let o=null;const c=ea({emailId:r,readAutosave:l=>e.readAutosave(l),revisionServiceEnabled:t,...n?{isHistoryAvailable:n}:{},readShownContent:s,onFacts:i,onLate:({revision:l,phase:u})=>{const d=Wn(l);return o?.(d)??!1},onError:l=>{l instanceof Error&&l.message}});return{id:"recovery",load:()=>c.verdict().then(({revision:l})=>Wn(l)),watch(l){return o=l,()=>{o=null,c.dispose()}}}}function or(e,t){return{readRevisions:(n,r)=>t.readRevisions(n,r),readAutosave:n=>t.readAutosave(n),async saveAutosave(n,r){Yo(n,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader});const s=await t.saveAutosave(n,r);return await e.saveAutosave(n,r),s}}}function na(e,t){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,r){const s=await t.updateEmail(n,r);return await e.updateEmail(n,r),s}}}var ar=a.createIdentifier$1("CurrentUser"),lr={};function cr(e){return e.getOrCreateInstance(ar,()=>pe(lr))}function dr(e){return e?.getInstance(ar)?.get()??lr}function ur(e){return e?.getInstance(a.CONFIG_SOURCE_ID)?.get()??{}}var ra=1.5;function sa(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<=ra*e.autosaveTimeoutMs?"none":"revision"}var ia=4;function oa(e){const{readDocument:t,readEnvironment:n,onCreate:r,onRevision:s}=e,i=e.readFailures??(()=>0),o=()=>n().autosaveTimeoutMs*2**Math.min(i(),ia),c=()=>{const b=t();if(!b||b.isDisposed())return"none";const{latestRevisionAt:_,snapshotVersion:w,...P}=n();return sa({...P,isDirty:b.isDirty(),isNew:b.isNew(),isReady:b.isReady(),latestRevisionAgeMs:_!=null?Date.now()-_:void 0,isSnapshotSent:w!=null&&w===b.get().version})},l=()=>{const b=t();if(!b||b.isDisposed())return!1;if(!b.isDirty())return b.isNew();const{snapshotVersion:_}=n();return!(_!=null&&_===b.get().version)};let u,d,p,m,v=!1;const y=()=>{d=void 0;const b=t();if(!b||b.isDisposed())return;if(b.get().docId!==u){E();return}const _=c();_==="create"?r():_==="revision"?s():l()&&(u=b.get().docId,d=setTimeout(y,o()))},E=()=>{const b=t();v||!b||d!==void 0||c()==="none"&&!l()||(u=b.get().docId,d=setTimeout(y,o()))},g=()=>{const b=t();b!==p&&(m?.(),p=b,m=b?.subscribe(E),d!==void 0&&(clearTimeout(d),d=void 0))};return g(),E(),{refresh:()=>{v||(g(),E())},stop:()=>{v=!0,m?.(),m=void 0,p=void 0,d!==void 0&&(clearTimeout(d),d=void 0)}}}var fr=a.createIdentifier$1("documentSession.autosaveUiFacts"),pr={isUserBusy:!1,saveContext:{}};function aa(e){return e.getOrCreateInstance(fr,()=>pe(pr))}function mr(e){return e?.getInstance(fr)?.get()??pr}var la=1e4;function ca(e,t){const n=()=>{const l=t.current(),u=l?.get().serverId??void 0,d=ne(t.sessionKey()),p=t.recoveryFacts(),m=p?.emailId===u?p:void 0,v=t.revisionFacts(),y=m?.latestRevisionAt,E=v?.lastRevisionAt,g=dr(e).profile;return{isInited:d||l?.get().attributes.is_inited===!0,isEnabled:!!g?.autosaves,isHistoryLoaded:m?.historyLoaded===!0,isUserBusy:mr(e).isUserBusy,autosaveTimeoutMs:ur(e).autosaveTimeout||la,latestRevisionAt:y!==void 0||E!==void 0?Math.max(y??0,E??0):void 0,snapshotVersion:v?.snapshotVersion}},r=()=>{const l=mr(e).saveContext;return{...l,project:l.project??t.current()?.get().attributes.project}},s=oa({readDocument:()=>t.current(),readEnvironment:n,readFailures:()=>t.saveState().failures,onCreate:()=>{ne(t.sessionKey())||t.save("materialize",r())},onRevision:()=>{t.save("snapshot",{project:r().project})}}),i=t.subscribe(s.refresh),o=cr(e).watch(()=>s.refresh()),c=aa(e).watch(()=>s.refresh());return()=>{i(),o.dispose(),c.dispose(),s.stop()}}var hr=12e3;function se(e){return e.getOrCreateInstance(at,()=>{const t=ko({resolveAdapters:(r,s)=>fa(r,e,s),resolveWritePort:()=>gr(e),resolveHistoryPort:r=>ne(r)?vr(e):Er(e),resolveTerms:()=>Ho(e),canEdit:r=>Gi(e,r),notifyBeforeSave:Xi(e),timeoutMs:hr,onAdapterError:(r,s)=>{s instanceof Error&&s.message,xe(s,{origin:"email-source-adapter",tags:{source:r}})},onTimeout:r=>{}}),n=ca(e,t);return e.getInstance(a.DISPOSABLE_ID)?.addDispose(n),t})}function ht(e){return e?.getInstance(at)}function gr(e){const t=Bo(e);return t?gt(e)?na(t,le(e).email(e)):t:le(e).email(e)}function da(e){return ir(e)!==void 0||nr(e)}function Er(e){const t=ir(e);return t?gt(e)?(U("port:history:server-backed"),or(t,le(e).history(e))):(U("port:history:integrator"),t):(U("port:history:rest (порт не зарегистрирован)"),le(e).history(e))}function vr(e){const t=sr(e);return t?gt(e)?(U("port:block-history:server-backed"),or(t,le(e).blockHistory(e))):(U("port:block-history:integrator"),t):(U("port:block-history:rest (порт не зарегистрирован)"),le(e).blockHistory(e))}function ua(e){return sr(e)!==void 0||nr(e)}function gt(e){return An(e)}function fa({email:e,patch:t,serverId:n,key:r},s,i){const o=[];e?o.push({id:"rest",load:()=>zn(e),required:!0}):n&&o.push(Fo(gr(s),n)),t&&o.push({id:"plugin",load:()=>Kn(t)});const c=ne(r);return Ji(n)&&(c?ua(s):da(s))&&o.push(ta({port:c?vr(s):Er(s),revisionServiceEnabled:An(s),...!c&&Vi(s)?{isHistoryAvailable:()=>Yi(s)}:{},emailId:n,readShownContent:()=>i.readShownContent(),onFacts:l=>i.publishRecoveryFacts(l)})),o}function q(e){return e.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}var br=new WeakMap,Et=new WeakMap;function ie(e){return br.get(e)??0}function _r(e,t){let n=Et.get(e);return n||(n=new Set,Et.set(e,n)),n.add(t),()=>{n?.delete(t)}}function pa(e){br.set(e,ie(e)+1),Et.get(e)?.forEach(t=>t())}function ma(e){const t=se(e),n=q(e).addListener(a.EVENT_TYPES.APPLICATION_HAS_AMP,r=>{we(t)?.mutate({attributes:{isAmp:r}},{source:"remote"})});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>n.dispose())}function ha(e){return e.size>0&&(e.type===""||e.type.startsWith("image/"))}function ga(e){const t=e.fetchImpl??((i,o)=>fetch(i,o)),n=e.pageHost??(()=>window.location.hostname),r=new Set,s=i=>{try{const o=new URL(i,window.location.href);return o.protocol!=="https:"&&o.protocol!=="http:"?!1:o.hostname===n()||e.sourceHosts().includes(o.hostname)}catch{return!1}};return{accepts:s,async load(i){if(!s(i))return;const o=!r.has(i);r.add(i);try{const c=await t(i,{mode:"cors",credentials:"omit",cache:o?"no-cache":"default"});if(!c.ok)return;const l=await c.blob();return ha(l)?l:void 0}catch{return}}}}var ce={maxBytes:67108864,maxImageBytes:4194304,ttlMs:18e5};function Ea(e){const t={maxBytes:e.maxBytes??ce.maxBytes,maxImageBytes:e.maxImageBytes??ce.maxImageBytes,ttlMs:e.ttlMs??ce.ttlMs},n=e.now??(()=>Date.now()),r=new Map,s=new Map,i={hits:0,loads:0,failures:0};let o=0;const c=p=>{const m=r.get(p);m&&(o-=m.bytes,r.delete(p))},l=p=>t.ttlMs<=0||n()-p.storedAt<t.ttlMs,u=()=>{if(o<=t.maxBytes)return;const p=[...r.entries()].sort((m,v)=>m[1].usedAt-v[1].usedAt);for(const[m]of p){if(o<=t.maxBytes)return;c(m)}},d=(p,m)=>{m.size>t.maxImageBytes||(r.set(p,{blob:m,bytes:m.size,storedAt:n(),usedAt:n()}),o+=m.size,u())};return{async get(p){const m=r.get(p);if(m&&l(m))return m.usedAt=n(),i.hits+=1,m.blob;m&&c(p);const v=s.get(p);if(v!==void 0)return v;i.loads+=1;const y=(async()=>{try{const E=await e.load(p);return E?d(p,E):i.failures+=1,E}catch{i.failures+=1;return}finally{s.delete(p)}})();return s.set(p,y),y},forget(p){c(p),s.delete(p)},clear(){r.clear(),s.clear(),o=0},stats(){return{entries:r.size,bytes:o,...i}}}}var va=["emcdn.ru","scr.emcdn.ru"];function ba(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 _a(e,t){const n=(r,s)=>{const i=new Set(s?t:[]);for(const o of r){const c=ba(o);c&&i.add(c)}return[...i]};return e?Array.isArray(e)?n(e,!0):n(e.value??[],e.replace!==!0):[...t]}function yr(e){const t=e??{},n=t.isPlugin!==!0?va:[],r=t.canvasImageCache;if(r===!1)return{enabled:!1,sourceHosts:[],...ce};const s=r===!0||r===void 0?{}:r;return{enabled:s.enabled!==!1,sourceHosts:_a(s.sourceHosts,n),maxBytes:s.maxBytes??ce.maxBytes,maxImageBytes:s.maxImageBytes??ce.maxImageBytes,ttlMs:s.ttlMs??ce.ttlMs}}function ya(e){const t=q(e),n=e.getInstance(a.CONFIG_SOURCE_ID);let r=yr(n?.get());const s=ga({sourceHosts:()=>r.sourceHosts}),i=Ea({load:y=>s.load(y),maxBytes:r.maxBytes,maxImageBytes:r.maxImageBytes,ttlMs:r.ttlMs}),o=()=>{t.send(a.EVENT_TYPES.SANDBOX_CANVAS_IMAGE_CACHE_SETUP,{enabled:r.enabled,sourceHosts:[...r.sourceHosts]})},c=t.onInit(()=>o()),l=n?.watch(()=>{const y=yr(n.get()),E=JSON.stringify(y)!==JSON.stringify(r);r=y,y.enabled||i.clear(),E&&t.isInited()&&o()}),u={asked:0,served:0,refused:0},d=[],p=(y,E)=>(u.refused+=1,d.push({url:y,reason:E}),d.length>20&&d.shift(),{refused:!0}),m=Object.assign(globalThis,{__emmCanvasImages__:()=>({settings:r,counters:{...u},refusals:[...d],store:i.stats()})}),v=t.addListenerAsync(a.EVENT_TYPES.APPLICATION_CANVAS_IMAGE_GET,async y=>{const E=y?.url??"";if(u.asked+=1,!r.enabled||!E)return p(E,"disabled");if(!s.accepts(E))return p(E,"host");y.fresh&&i.forget(E);const g=await i.get(E);return g?(u.served+=1,{blob:g}):p(E,"load-failed")});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{c.dispose(),l?.dispose(),v.dispose(),i.clear(),delete m.__emmCanvasImages__})}var Sa=2e3;function wa(e){const t=q(e),n=new Set,r=()=>{const o=t.getTarget();if(!o||t.hasPort(o))return;const c=new MessageChannel;let l=!1;const u=p=>{p.data?.operationId==="em:port-ready"&&(l=!0,c.port1.removeEventListener("message",u),t.drainWindow(o))};c.port1.addEventListener("message",u),t.sendPort(o,c.port2),t.usePort(c.port1,!1,o);const d=setTimeout(()=>{n.delete(d),!l&&(xe(new Error("canvas port did not come up, staying on window messaging"),{origin:"canvas-channel"}),c.port1.removeEventListener("message",u),t.useWindow(o))},Sa);n.add(d)},s=Object.assign(globalThis,{__emmCanvasPort__:()=>{const o=t.getTarget();return{usesPort:t.usesPort,windowDrained:o?t.isWindowDrained(o):!1}}}),i=t.onInit(()=>r());e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{for(const o of n)clearTimeout(o);i.dispose(),delete s.__emmCanvasPort__})}var Ia=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function Ta(e){return Ia.test(e)||e.indexOf("//")===0}function He(e){return e&&(e.endsWith("/")?e:`${e}/`)}function Aa(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function Sr(e,t){const n=e==null||e===""?"./":String(e);if(Ta(n))return He(n);const r=t??Aa();if(!r)return He(n);try{return He(new URL(n,r).href)}catch{return He(n)}}function Ca(){return typeof __emailmaker__<"u"&&__emailmaker__?.publicPath?Sr(__emailmaker__.publicPath):Sr("/")}var Pa=()=>"",Da=()=>"fd7c3ffe";function wr(e){const t=e?"iframe-eblock":"iframe",n=Pa();if(n){const i=n.replace(/\/?$/,"/");return bn(`${i}${t}.html`,_e())}const r=Da(),s=`${Ca().replace(/\/?$/,"/")}iframe/`;return bn(`${s}${t}${r?`.${r}`:""}.html`,_e())}var Ir="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox";function vt(e){return/^file:/i.test(String(e||"").trim())}function Ra(e){return vt(e)?`${Ir} allow-same-origin`:Ir}var rm="em:module-body",Oa="em:module-body-ack";function La(e,t,n){try{const r=new URL("./",new URL(t,n)).href,s=new URL(e,r).href;return s.startsWith(r)?s:void 0}catch{return}}function bt(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 Na(e,t){const n=bt(t)?.replace(/^js\/|\.body\.js$/g,""),r=n?e[`${n}.html`]:void 0;return r?(r.imports??[]).map(s=>e[s]?.file).filter(s=>!!s):[]}function Ma(e,t){const n=bt(t)?.replace(/\.body\.js$/,".js");if(!n||!(n in e))return[];const r=new Set([n]),s=[n],i=[];for(;s.length>0;)for(const o of e[s.shift()]??[])r.has(o)||(r.add(o),i.push(o),s.push(o));return i}async function xa(e){try{const t=await fetch(e);return t.ok?await t.blob():void 0}catch{return}}function ka(e){const t=new Map,n=r=>{const s=La(r,e.canvasSrc,e.origin);if(!s)return;const i=t.get(s);if(i!==void 0)return i;const o=e.fetchBody(s);return t.set(s,o),o};return{take(r){return n(r)??Promise.resolve(void 0)},warm(r){for(const s of r)n(s)},reset(){t.clear()},get size(){return t.size}}}async function Fa(e,t,n){try{const r=new URL(".vite/manifest.json",new URL("./",new URL(e,t))).href,s=await fetch(r);if(!s.ok)return;const i=await s.json();n(Na(i,e))}catch{}}function Ba(e){try{return vt(new URL(e,window.location.href).href)}catch{return vt(window.location.href)}}function ja(e){q(e);const t=wr(!1);if(Ba(t))return;const n=ka({canvasSrc:t,origin:window.location.href,fetchBody:xa}),r=bt(t);r&&n.warm([r]);const s={"js/iframe-eblock.js":["js/discussHandlers.Clc2uPQ5.js","js/typograf.all.B0pVhMV_.js"],"js/iframe.js":["js/rolldown-runtime.qcwTIabA.js","js/discussHandlers.Clc2uPQ5.js"],"js/darkreader.CLd5EML2.js":[],"js/discussHandlers.Clc2uPQ5.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"]};s?n.warm(Ma(s,t)):Fa(t,window.location.href,o=>n.warm(o));const i=o=>{const c=o.data;if(!c||c.operationId!=="em:module-body"||!c.result)return;const l=o.source;l&&(l.postMessage({operationId:Oa,for:c.result},"*"),n.take(c.data?.url??"").then(u=>{l.postMessage({operationId:c.result,data:u??null},"*")}))};window.addEventListener("message",i),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{window.removeEventListener("message",i),n.reset()})}var me=/<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,Ua=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,he=/<style\b[^>]*>[\s\S]*?<\/style>/gi,Tr=/display:\s*none\s*!important/gi,Ha=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,$a=/\s*height\s*:\s*100%\s*!important\s*;?/gi,Ga=/height\s*:\s*100%\s*!important/i,Va=[".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 Ya(e){return Tr.lastIndex=0,(e.match(Tr)||[]).length}function Ar(e){const t=e.trim(),n=Ya(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=Va.filter(s=>t.includes(s)).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 qa(e){he.lastIndex=0;for(const t of e.matchAll(he))if(Ar(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function za(e){let t=!1;return he.lastIndex=0,{html:e.replace(he,n=>Ar(n.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):n),found:t}}function Ka(e){return me.lastIndex=0,me.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||qa(e)}function Wa(e){if(!Ka(e))return{html:e,found:!1};let t=!1,n=e;me.lastIndex=0,me.test(n)&&(me.lastIndex=0,n=n.replace(me,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(n)||/\sdata-bis-config\s*=/.test(n))&&(n=n.replace(Ua,""),t=!0);const r=za(n);return n=r.html,t=t||r.found,{html:n,found:t}}function Xa(e){return!e||!Ga.test(e)?e:(he.lastIndex=0,e.replace(he,t=>t.replace(Ha,(n,r,s,i)=>`${r}${s.replace($a,"")}${i}`)))}function Cr(e){const t=Wa(e.replaceAll(`\r
2083
+ `)}function oa({emailId:e,readAutosave:t,revisionServiceEnabled:n,isHistoryAvailable:r,readShownContent:s,onFacts:i,onLate:o,onError:c,pageLoadTs:l=sa()}){let u=null,d=!1,p=!1,m=0,v={emailId:e,historyLoaded:!1,isRecovering:!1},S=null;const E=new Promise(C=>{S=C}),g=C=>{v={...v,...C},i(v)},b=C=>{m+=1,g({applied:{phase:C,seq:m}})},_=()=>{u?.timer&&clearTimeout(u.timer),u=null},w=C=>{if(!p){if(S){const T=S;S=null,T(C),C.revision&&b(C.phase);return}o(C)&&C.revision&&b(C.phase)}},P=()=>{if(!u||p)return;const C=u.phase==="fast",T=C?Zo:na,O=C?ta:ra;u.timer=setTimeout(()=>{const N=u;if(!(!N||p)){if(N.attempts+=1,y(),C&&N.attempts>=O){const{pending:k}=N;$e(e),g({isRecovering:!1}),w({revision:{html:k.html,common_styles:k.common_styles,subject:k.subject,preheader:k.preheader},phase:"timeout"}),d=!0,N.phase="bg",N.attempts=0,P();return}if(!C&&N.attempts>=O){$e(e),_(),g({isRecovering:!1}),d=!0;return}P()}},T),u.timer.unref?.()},D=C=>{u={phase:"fast",attempts:0,pending:C,timer:null},g({isRecovering:!0}),P()},h=(C,T)=>Kn(C.autosave,T===void 0?{}:{freshSince:T})?C.autosave:null,I=C=>{if(p)return;if(g({historyLoaded:!0,latestRevisionAt:C.latestAt!==void 0&&Number.isFinite(C.latestAt)?C.latestAt:void 0}),n&&u){const N=h(C,u.pending.sentAt);if(!N)return;const k=u.phase==="fast"?"found":"bg";$e(e),_(),g({isRecovering:!1}),d=!0,w({revision:N,phase:k});return}if(d)return;const T=n?Qo(e):null,O=T&&(T.sentAt<l||!ia(T.html,s()))?T:null;if(O){const N=h(C,O.sentAt);if(N){$e(e),d=!0,w({revision:N,phase:"found"});return}D(O);return}d=!0,w({revision:h(C),phase:"normal"})},f=C=>{p||(c?.(C),v.historyLoaded||(g({historyLoaded:!1,latestRevisionAt:void 0}),F()),!u&&w({revision:null,phase:"normal"}))},y=()=>t(e).then(I).catch(f);let A,L=!1;const F=()=>{L||u||p||(L=!0,A=setTimeout(()=>{A=void 0,!p&&!v.historyLoaded&&y()},ea))},z=()=>{p||(g({historyLoaded:!1,latestRevisionAt:void 0}),w({revision:null,phase:"normal"}))};return r?r().then(C=>C?y():z()):y(),{verdict:()=>E,dispose(){p=!0,A!==void 0&&(clearTimeout(A),A=void 0),_()}}}function aa({port:e,revisionServiceEnabled:t,isHistoryAvailable:n,emailId:r,readShownContent:s,onFacts:i}){let o=null;const c=oa({emailId:r,readAutosave:l=>e.readAutosave(l),revisionServiceEnabled:t,...n?{isHistoryAvailable:n}:{},readShownContent:s,onFacts:i,onLate:({revision:l,phase:u})=>{const d=rr(l);return o?.(d)??!1},onError:l=>{l instanceof Error&&l.message}});return{id:"recovery",load:()=>c.verdict().then(({revision:l})=>rr(l)),watch(l){return o=l,()=>{o=null,c.dispose()}}}}function mr(e,t){return{readRevisions:(n,r)=>t.readRevisions(n,r),readAutosave:n=>t.readAutosave(n),async saveAutosave(n,r){Jo(n,{sentAt:Date.now(),html:r.html??"",common_styles:r.common_styles??"",subject:r.subject,preheader:r.preheader});const s=await t.saveAutosave(n,r);return await e.saveAutosave(n,r),s}}}function la(e,t){return{readEmail:n=>e.readEmail(n),createEmail:n=>e.createEmail(n),async updateEmail(n,r){const s=await t.updateEmail(n,r);return await e.updateEmail(n,r),s}}}var hr=a.createIdentifier$1("CurrentUser"),gr={};function Er(e){return e.getOrCreateInstance(hr,()=>pe(gr))}function vr(e){return e?.getInstance(hr)?.get()??gr}function br(e){return e?.getInstance(a.CONFIG_SOURCE_ID)?.get()??{}}var ca=1.5;function da(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<=ca*e.autosaveTimeoutMs?"none":"revision"}var ua=4;function fa(e){const{readDocument:t,readEnvironment:n,onCreate:r,onRevision:s}=e,i=e.readFailures??(()=>0),o=()=>n().autosaveTimeoutMs*2**Math.min(i(),ua),c=()=>{const b=t();if(!b||b.isDisposed())return"none";const{latestRevisionAt:_,snapshotVersion:w,...P}=n();return da({...P,isDirty:b.isDirty(),isNew:b.isNew(),isReady:b.isReady(),latestRevisionAgeMs:_!=null?Date.now()-_:void 0,isSnapshotSent:w!=null&&w===b.get().version})},l=()=>{const b=t();if(!b||b.isDisposed())return!1;if(!b.isDirty())return b.isNew();const{snapshotVersion:_}=n();return!(_!=null&&_===b.get().version)};let u,d,p,m,v=!1;const S=()=>{d=void 0;const b=t();if(!b||b.isDisposed())return;if(b.get().docId!==u){E();return}const _=c();_==="create"?r():_==="revision"?s():l()&&(u=b.get().docId,d=setTimeout(S,o()))},E=()=>{const b=t();v||!b||d!==void 0||c()==="none"&&!l()||(u=b.get().docId,d=setTimeout(S,o()))},g=()=>{const b=t();b!==p&&(m?.(),p=b,m=b?.subscribe(E),d!==void 0&&(clearTimeout(d),d=void 0))};return g(),E(),{refresh:()=>{v||(g(),E())},stop:()=>{v=!0,m?.(),m=void 0,p=void 0,d!==void 0&&(clearTimeout(d),d=void 0)}}}var _r=a.createIdentifier$1("documentSession.autosaveUiFacts"),yr={isUserBusy:!1,saveContext:{}};function pa(e){return e.getOrCreateInstance(_r,()=>pe(yr))}function Sr(e){return e?.getInstance(_r)?.get()??yr}var ma=1e4;function ha(e,t){const n=()=>{const l=t.current(),u=l?.get().serverId??void 0,d=re(t.sessionKey()),p=t.recoveryFacts(),m=p?.emailId===u?p:void 0,v=t.revisionFacts(),S=m?.latestRevisionAt,E=v?.lastRevisionAt,g=vr(e).profile;return{isInited:d||l?.get().attributes.is_inited===!0,isEnabled:!!g?.autosaves,isHistoryLoaded:m?.historyLoaded===!0,isUserBusy:Sr(e).isUserBusy,autosaveTimeoutMs:br(e).autosaveTimeout||ma,latestRevisionAt:S!==void 0||E!==void 0?Math.max(S??0,E??0):void 0,snapshotVersion:v?.snapshotVersion}},r=()=>{const l=Sr(e).saveContext;return{...l,project:l.project??t.current()?.get().attributes.project}},s=fa({readDocument:()=>t.current(),readEnvironment:n,readFailures:()=>t.saveState().failures,onCreate:()=>{re(t.sessionKey())||t.save("materialize",r())},onRevision:()=>{t.save("snapshot",{project:r().project})}}),i=t.subscribe(s.refresh),o=Er(e).watch(()=>s.refresh()),c=pa(e).watch(()=>s.refresh());return()=>{i(),o.dispose(),c.dispose(),s.stop()}}var wr=12e3;function ie(e){return e.getOrCreateInstance(lt,()=>{const t=$o({resolveAdapters:(r,s)=>va(r,e,s),resolveWritePort:()=>Ir(e),resolveHistoryPort:r=>re(r)?Ar(e):Tr(e),resolveTerms:()=>qo(e),canEdit:r=>Ki(e,r),notifyBeforeSave:no(e),timeoutMs:wr,onAdapterError:(r,s)=>{s instanceof Error&&s.message,ke(s,{origin:"email-source-adapter",tags:{source:r}})},onTimeout:r=>{}}),n=ha(e,t);return e.getInstance(a.DISPOSABLE_ID)?.addDispose(n),t})}function gt(e){return e?.getInstance(lt)}function Ir(e){const t=Vo(e);return t?Et(e)?la(t,le(e).email(e)):t:le(e).email(e)}function ga(e){return pr(e)!==void 0||dr(e)}function Tr(e){const t=pr(e);return t?Et(e)?(H("port:history:server-backed"),mr(t,le(e).history(e))):(H("port:history:integrator"),t):(H("port:history:rest (порт не зарегистрирован)"),le(e).history(e))}function Ar(e){const t=fr(e);return t?Et(e)?(H("port:block-history:server-backed"),mr(t,le(e).blockHistory(e))):(H("port:block-history:integrator"),t):(H("port:block-history:rest (порт не зарегистрирован)"),le(e).blockHistory(e))}function Ea(e){return fr(e)!==void 0||dr(e)}function Et(e){return Nn(e)}function va({email:e,patch:t,serverId:n,key:r},s,i){const o=[];e?o.push({id:"rest",load:()=>tr(e),required:!0}):n&&o.push(Go(Ir(s),n)),t&&o.push({id:"plugin",load:()=>nr(t)});const c=re(r);return ro(n)&&(c?Ea(s):ga(s))&&o.push(aa({port:c?Ar(s):Tr(s),revisionServiceEnabled:Nn(s),...!c&&Xi(s)?{isHistoryAvailable:()=>Ji(s)}:{},emailId:n,readShownContent:()=>i.readShownContent(),onFacts:l=>i.publishRecoveryFacts(l)})),o}function Y(e){return e.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}var Cr=new WeakMap,vt=new WeakMap;function oe(e){return Cr.get(e)??0}function Pr(e,t){let n=vt.get(e);return n||(n=new Set,vt.set(e,n)),n.add(t),()=>{n?.delete(t)}}function ba(e){Cr.set(e,oe(e)+1),vt.get(e)?.forEach(t=>t())}function _a(e){const t=ie(e),n=Y(e).addListener(a.EVENT_TYPES.APPLICATION_HAS_AMP,r=>{we(t)?.mutate({attributes:{isAmp:r}},{source:"remote"})});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>n.dispose())}function ya(e){return e.size>0&&(e.type===""||e.type.startsWith("image/"))}function Sa(e){const t=e.fetchImpl??((i,o)=>fetch(i,o)),n=e.pageHost??(()=>window.location.hostname),r=new Set,s=i=>{try{const o=new URL(i,window.location.href);return o.protocol!=="https:"&&o.protocol!=="http:"?!1:o.hostname===n()||e.sourceHosts().includes(o.hostname)}catch{return!1}};return{accepts:s,async load(i){if(!s(i))return;const o=!r.has(i);r.add(i);try{const c=await t(i,{mode:"cors",credentials:"omit",cache:o?"no-cache":"default"});if(!c.ok)return;const l=await c.blob();return ya(l)?l:void 0}catch{return}}}}var ce={maxBytes:67108864,maxImageBytes:4194304,ttlMs:18e5};function wa(e){const t={maxBytes:e.maxBytes??ce.maxBytes,maxImageBytes:e.maxImageBytes??ce.maxImageBytes,ttlMs:e.ttlMs??ce.ttlMs},n=e.now??(()=>Date.now()),r=new Map,s=new Map,i={hits:0,loads:0,failures:0};let o=0;const c=p=>{const m=r.get(p);m&&(o-=m.bytes,r.delete(p))},l=p=>t.ttlMs<=0||n()-p.storedAt<t.ttlMs,u=()=>{if(o<=t.maxBytes)return;const p=[...r.entries()].sort((m,v)=>m[1].usedAt-v[1].usedAt);for(const[m]of p){if(o<=t.maxBytes)return;c(m)}},d=(p,m)=>{m.size>t.maxImageBytes||(r.set(p,{blob:m,bytes:m.size,storedAt:n(),usedAt:n()}),o+=m.size,u())};return{async get(p){const m=r.get(p);if(m&&l(m))return m.usedAt=n(),i.hits+=1,m.blob;m&&c(p);const v=s.get(p);if(v!==void 0)return v;i.loads+=1;const S=(async()=>{try{const E=await e.load(p);return E?d(p,E):i.failures+=1,E}catch{i.failures+=1;return}finally{s.delete(p)}})();return s.set(p,S),S},forget(p){c(p),s.delete(p)},clear(){r.clear(),s.clear(),o=0},stats(){return{entries:r.size,bytes:o,...i}}}}var Ia=["emcdn.ru","scr.emcdn.ru"];function Ta(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 Aa(e,t){const n=(r,s)=>{const i=new Set(s?t:[]);for(const o of r){const c=Ta(o);c&&i.add(c)}return[...i]};return e?Array.isArray(e)?n(e,!0):n(e.value??[],e.replace!==!0):[...t]}function Dr(e){const t=e??{},n=t.isPlugin!==!0?Ia:[],r=t.canvasImageCache;if(r===!1)return{enabled:!1,sourceHosts:[],...ce};const s=r===!0||r===void 0?{}:r;return{enabled:s.enabled!==!1,sourceHosts:Aa(s.sourceHosts,n),maxBytes:s.maxBytes??ce.maxBytes,maxImageBytes:s.maxImageBytes??ce.maxImageBytes,ttlMs:s.ttlMs??ce.ttlMs}}function Ca(e){const t=Y(e),n=e.getInstance(a.CONFIG_SOURCE_ID);let r=Dr(n?.get());const s=Sa({sourceHosts:()=>r.sourceHosts}),i=wa({load:S=>s.load(S),maxBytes:r.maxBytes,maxImageBytes:r.maxImageBytes,ttlMs:r.ttlMs}),o=()=>{t.send(a.EVENT_TYPES.SANDBOX_CANVAS_IMAGE_CACHE_SETUP,{enabled:r.enabled,sourceHosts:[...r.sourceHosts]})},c=t.onInit(()=>o()),l=n?.watch(()=>{const S=Dr(n.get()),E=JSON.stringify(S)!==JSON.stringify(r);r=S,S.enabled||i.clear(),E&&t.isInited()&&o()}),u={asked:0,served:0,refused:0},d=[],p=(S,E)=>(u.refused+=1,d.push({url:S,reason:E}),d.length>20&&d.shift(),{refused:!0}),m=Object.assign(globalThis,{__emmCanvasImages__:()=>({settings:r,counters:{...u},refusals:[...d],store:i.stats()})}),v=t.addListenerAsync(a.EVENT_TYPES.APPLICATION_CANVAS_IMAGE_GET,async S=>{const E=S?.url??"";if(u.asked+=1,!r.enabled||!E)return p(E,"disabled");if(!s.accepts(E))return p(E,"host");S.fresh&&i.forget(E);const g=await i.get(E);return g?(u.served+=1,{blob:g}):p(E,"load-failed")});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{c.dispose(),l?.dispose(),v.dispose(),i.clear(),delete m.__emmCanvasImages__})}var Pa=2e3;function Da(e){const t=Y(e),n=new Set,r=()=>{const o=t.getTarget();if(!o||t.hasPort(o))return;const c=new MessageChannel;let l=!1;const u=p=>{p.data?.operationId==="em:port-ready"&&(l=!0,c.port1.removeEventListener("message",u),t.drainWindow(o))};c.port1.addEventListener("message",u),t.sendPort(o,c.port2),t.usePort(c.port1,!1,o);const d=setTimeout(()=>{n.delete(d),!l&&(ke(new Error("canvas port did not come up, staying on window messaging"),{origin:"canvas-channel"}),c.port1.removeEventListener("message",u),t.useWindow(o))},Pa);n.add(d)},s=Object.assign(globalThis,{__emmCanvasPort__:()=>{const o=t.getTarget();return{usesPort:t.usesPort,windowDrained:o?t.isWindowDrained(o):!1}}}),i=t.onInit(()=>r());e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{for(const o of n)clearTimeout(o);i.dispose(),delete s.__emmCanvasPort__})}var Ra=/^[a-zA-Z][a-zA-Z\d+\-.]*:/;function Oa(e){return Ra.test(e)||e.indexOf("//")===0}function Ge(e){return e&&(e.endsWith("/")?e:`${e}/`)}function La(){return typeof document<"u"&&document.baseURI?document.baseURI:typeof window<"u"&&window.location?window.location.href:""}function Rr(e,t){const n=e==null||e===""?"./":String(e);if(Oa(n))return Ge(n);const r=t??La();if(!r)return Ge(n);try{return Ge(new URL(n,r).href)}catch{return Ge(n)}}function Na(){return typeof __emailmaker__<"u"&&__emailmaker__?.publicPath?Rr(__emailmaker__.publicPath):Rr("/")}var Ma=()=>"",xa=()=>"2047dd1a";function Or(e){const t=e?"iframe-eblock":"iframe",n=Ma();if(n){const i=n.replace(/\/?$/,"/");return An(`${i}${t}.html`,_e())}const r=xa(),s=`${Na().replace(/\/?$/,"/")}iframe/`;return An(`${s}${t}${r?`.${r}`:""}.html`,_e())}var Lr="allow-top-navigation allow-scripts allow-popups allow-popups-to-escape-sandbox";function bt(e){return/^file:/i.test(String(e||"").trim())}function Fa(e){return bt(e)?`${Lr} allow-same-origin`:Lr}var gm="em:module-body",ka="em:module-body-ack";function Ba(e,t,n){try{const r=new URL("./",new URL(t,n)).href,s=new URL(e,r).href;return s.startsWith(r)?s:void 0}catch{return}}function _t(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 ja(e,t){const n=_t(t)?.replace(/^js\/|\.body\.js$/g,""),r=n?e[`${n}.html`]:void 0;return r?(r.imports??[]).map(s=>e[s]?.file).filter(s=>!!s):[]}function Ua(e,t){const n=_t(t)?.replace(/\.body\.js$/,".js");if(!n||!(n in e))return[];const r=new Set([n]),s=[n],i=[];for(;s.length>0;)for(const o of e[s.shift()]??[])r.has(o)||(r.add(o),i.push(o),s.push(o));return i}async function Ha(e){try{const t=await fetch(e);return t.ok?await t.blob():void 0}catch{return}}function $a(e){const t=new Map,n=r=>{const s=Ba(r,e.canvasSrc,e.origin);if(!s)return;const i=t.get(s);if(i!==void 0)return i;const o=e.fetchBody(s);return t.set(s,o),o};return{take(r){return n(r)??Promise.resolve(void 0)},warm(r){for(const s of r)n(s)},reset(){t.clear()},get size(){return t.size}}}async function Ga(e,t,n){try{const r=new URL(".vite/manifest.json",new URL("./",new URL(e,t))).href,s=await fetch(r);if(!s.ok)return;const i=await s.json();n(ja(i,e))}catch{}}function Va(e){try{return bt(new URL(e,window.location.href).href)}catch{return bt(window.location.href)}}function Ya(e){Y(e);const t=Or(!1);if(Va(t))return;const n=$a({canvasSrc:t,origin:window.location.href,fetchBody:Ha}),r=_t(t);r&&n.warm([r]);const s={"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"]};s?n.warm(Ua(s,t)):Ga(t,window.location.href,o=>n.warm(o));const i=o=>{const c=o.data;if(!c||c.operationId!=="em:module-body"||!c.result)return;const l=o.source;l&&(l.postMessage({operationId:ka,for:c.result},"*"),n.take(c.data?.url??"").then(u=>{l.postMessage({operationId:c.result,data:u??null},"*")}))};window.addEventListener("message",i),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{window.removeEventListener("message",i),n.reset()})}var me=/<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,za=/\s(?:bis_[a-z0-9_-]+|data-bis-config|data-dynamic-id)=(["'])(?:(?!\1).)*\1/gi,he=/<style\b[^>]*>[\s\S]*?<\/style>/gi,Nr=/display:\s*none\s*!important/gi,qa=/((?:html\s*,\s*body|body\s*,\s*html)\s*\{)([^}]*)(\})/gi,Wa=/\s*height\s*:\s*100%\s*!important\s*;?/gi,Ka=/height\s*:\s*100%\s*!important/i,Xa=[".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 Ja(e){return Nr.lastIndex=0,(e.match(Nr)||[]).length}function Mr(e){const t=e.trim(),n=Ja(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=Xa.filter(s=>t.includes(s)).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 Qa(e){he.lastIndex=0;for(const t of e.matchAll(he))if(Mr(t[0].replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,"")))return!0;return!1}function Za(e){let t=!1;return he.lastIndex=0,{html:e.replace(he,n=>Mr(n.replace(/^<style\b[^>]*>/i,"").replace(/<\/style>$/i,""))?(t=!0,""):n),found:t}}function el(e){return me.lastIndex=0,me.test(e)||/\sbis_[a-z0-9_-]+\s*=/.test(e)||/\sdata-bis-config\s*=/.test(e)||Qa(e)}function tl(e){if(!el(e))return{html:e,found:!1};let t=!1,n=e;me.lastIndex=0,me.test(n)&&(me.lastIndex=0,n=n.replace(me,""),t=!0),(/\sbis_[a-z0-9_-]+\s*=/.test(n)||/\sdata-bis-config\s*=/.test(n))&&(n=n.replace(za,""),t=!0);const r=Za(n);return n=r.html,t=t||r.found,{html:n,found:t}}function nl(e){return!e||!Ka.test(e)?e:(he.lastIndex=0,e.replace(he,t=>t.replace(qa,(n,r,s,i)=>`${r}${s.replace(Wa,"")}${i}`)))}function xr(e){const t=tl(e.replaceAll(`\r
2084
2084
  `,`
2085
- `));return{html:Xa(t.html),hasBrowserExtensionArtifacts:t.found}}function _t(e){return e?.getContent()??""}function Pr(e,t){e?.mutate({content:$n(t)},{source:"remote"})}function Dr(e){return a.createIdentifier$1(e)}function Q(e,t){return e.getOrCreateInstance(t,()=>new a.AsyncEmitter)}function $(e,t){return e.getOrCreateInstance(t,()=>new a.AsyncEmitter).event}function yt(e,t,n,r){return{html:e,guid:t,...Object.keys(n).length>0?{templateDirectivesPolicy:n}:{},...r!==void 0?{rev:r}:{}}}var Ja=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}},Qa=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(a.createAbortError("Superseded by newer show()")),n.aborted?Promise.reject(a.createAbortError(n.reason)):(this._activeRequest=e,new Promise((r,s)=>{const i=setTimeout(()=>{this._settle(e.showId,()=>{s(new Ja(e.showId,t))})},t);i.unref?.();const o=()=>{this._settle(e.showId,()=>{s(a.createAbortError(n.reason))})};n.addEventListener("abort",o,{once:!0});const c=()=>{clearTimeout(i),n.removeEventListener("abort",o)};this._pending.set(e.showId,{request:e,resolve:r,reject:s,timeoutId:i,dispose:c});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 Za(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function el(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=Ln(e),n=Nn(e),r=zi(e.sandbox);t<n+r}var Rr=class{_controller=new AbortController;_externalSignalDisposable=new a.Disposable;_sessionChangeListeners=new Set;_showRegistry=new Qa;_timeouts;_generation=0;_sessionStarted=!1;get signal(){return this._controller.signal}get generation(){return this._generation}get contentReadyTimeoutMs(){return Ln(this._timeouts)}getSandboxTimeoutMs(e){return On(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return Nn(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=Za(this._timeouts,e.timeouts),el(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??a.createAbortError("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new a.Disposable}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new a.Disposable,this._showRegistry.rejectAll(a.createAbortError("Init session replaced")),this._controller.signal.aborted||this._controller.abort(a.createAbortError("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??a.createAbortError()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??a.createAbortError()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},St=(()=>{const e=new Rr;return e.configure({}),e})(),tl=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 nl(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 rl(e,t,n){return e.isInited()&&e.getTarget()?Promise.resolve():(a.throwIfAborted(n),new Promise((r,s)=>{let i=!1,o,c;const l=d=>{i||(i=!0,o!==void 0&&(clearTimeout(o),o=void 0),c?.dispose(),n?.removeEventListener("abort",u),d())},u=()=>{l(()=>s(a.createAbortError(n?.reason)))};if(c=e.onInit(()=>{e.isInited()&&e.getTarget()&&l(()=>r())}),e.isInited()&&e.getTarget()){l(()=>r());return}t>0&&(o=setTimeout(()=>{l(()=>s(new tl(t)))},t)),n?.addEventListener("abort",u)}))}var sl=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 il(e,t,n){return t<=0?e:new Promise((r,s)=>{let i=!1,o;const c=l=>{i||(i=!0,o!==void 0&&(clearTimeout(o),o=void 0),l())};o=setTimeout(()=>{c(()=>s(new sl(n,t)))},t),e.then(l=>{c(()=>r(l))},l=>{c(()=>s(l))})})}var ol=2,$e=Symbol("sandbox:frame-replaced");function ee(e,t,n,r,s,i,o){const c=`sandbox:${t}`,l=i?.getSandboxTimeoutMs(t)??ct[t],u=()=>{let y=il(e.sendAsync(n,r),l,c);return y=a.raceWithAbortSignal(y,i?.signal),Ie(c,y,s)};if(t==="INIT_START"&&nl(e)){const y=i?.getSandboxReadyTimeoutMs()??2e4,E=e,g=b=>{const _=rl(E,y,i?.signal);return Ie("sandbox:INIT_START:ready-wait",_,s).then(()=>{if(!o||b<=0)return u();const w=o.getGeneration();let P;const D=new Promise((I,f)=>{P=o.onChange(()=>{o.getGeneration()!==w&&f($e)})}),h=u();return h.catch(()=>{}),Promise.race([h,D]).finally(()=>P?.()).catch(I=>{if(I!==$e)throw I;return{...s},g(b-1)})})};return g(ol)}if(!o)return u();const d=o.getGeneration();let p;const m=new Promise((y,E)=>{p=o.onChange(()=>{o.getGeneration()!==d&&E($e)})}),v=u();return v.catch(()=>{}),Promise.race([v,m]).finally(()=>p?.()).catch(y=>{throw y===$e&&{...s},y})}var al=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],ll=200;function cl(e=new Set){const t=new Set;return(n,r)=>{if(!al.some(([i,o])=>!e.has(i)&&o.test(n)))return;const s=r??`new:${n.length}:${n.slice(0,200)}`;t.has(s)||(t.size>=ll&&t.clear(),t.add(s))}}function dl(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:cl()}}var ul=dl();function ge(e){return e?.getInstance(a.TEMPLATE_DIRECTIVES_ID)??ul}function fl(e){const t=se(e),n=q(e),r=()=>e.getInstance(a.INIT_PIPELINE_ID)??St;let s,i,o=!1,c=!1;const l=async(_,w,P)=>{const D=P.generation,h=()=>P.generation!==D||P.signal.aborted||t.current()!==_||c,I=ie(n);o=!0;try{if(await ee(n,"INIT_START",a.EVENT_TYPES.SANDBOX_INIT_START,{guid:w},void 0,P),h())return;const{html:f,hasBrowserExtensionArtifacts:S}=Cr(_t(_));if(S&&Q(e,a.events.ON_BROWSER_EXTENSION_DETECTED_ID).fire(),Pr(_,f),await ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,yt(_t(_),w,ge(e).editorPolicy,_.get().version),void 0,P),h())return;await ee(n,"INITED",a.EVENT_TYPES.SANDBOX_INITED,{guid:w},void 0,P),s=w,i=I}finally{o=!1}},u=()=>ne(t.sessionKey())?t.current():void 0,d=()=>{if(c||o)return;const _=u(),w=_?.get().docId;if(!_||!w||s===w&&i===ie(n)||!_.isReady())return;const P=r();P.signal.aborted||l(_,w,P).catch(()=>{})};let p=!1;const m=()=>{p||c||(p=!0,queueMicrotask(()=>{p=!1,d()}))};let v,y;const E=()=>{const _=u(),w=_?.get().docId;w!==y&&(v?.(),y=w,v=_?.subscribe(m)),m()},g=t.subscribe(E),b=_r(n,m);E(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{c=!0,b(),v?.(),g()})}var pl=200;function ml({startVersion:e,limit:t=pl}){let n=[],r=e;const s=i=>{n=n.filter(o=>o.version>i),r=Math.max(r,i)};return{record(i){!i.changes?.length&&!i.contentReplaced||(n.push(i),n.length>t&&s(n[n.length-t-1].version))},rebase(i,o){if(o<r)return null;const c=n.filter(u=>u.version>o);s(o);let l=i;for(const u of c){if(u.fromCanvas||u.contentReplaced||!u.changes)return null;const d=u.changes,p=[];for(const m of l){const v=so(m.range,d,"after");if(!v)return null;p.push({range:v,text:m.text})}l=p}return l}}}function hl(e,t){let n=0;return e.map(({start:r,end:s,text:i})=>{const o=new J(r,t.slice(r,s),r+n,i);return n+=i.length-(s-r),o})}function gl(e,t){const n=[...e].sort((r,s)=>r.range.start-s.range.start);return hl(n.map(({range:r,text:s})=>({start:r.start,end:r.end,text:s})),t)}function El(e){return[...e].sort((t,n)=>n.oldPosition-t.oldPosition).map(t=>({range:{start:t.oldPosition,end:t.oldEnd},text:t.newText}))}var wt=a.createIdentifier$1("canvas.sandboxFill");function Or(e){return e.getInstance(wt)?.pipeline.isEventsLocked()===!0}function It(e){xe(e,{origin:"canvas-channel"})}function vl(e){const t=se(e),n=q(e);let r;const s=(l,u)=>{const d=l.get().docId;let p=!1,m=null,v=null;const y=ml({startVersion:l.get().version});let E=l.getContent();const g=async(D,h)=>{if(v){v.push({edits:D,rev:h});return}v=[{edits:D,rev:h}];try{do{const I=v.splice(0,v.length);await n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:I.map(f=>f.edits),guid:d,rev:I[I.length-1].rev})}while(v.length)}finally{v=null}},b=(D,h)=>{const I=v?.splice(0,v.length)??[];I.length&&n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:I.map(f=>f.edits),guid:d,rev:I[I.length-1].rev}).catch(It),n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:[D],guid:d,rev:l.get().version,...h!==null?{changeId:h}:{}}).catch(It)},_=D=>{const{guid:h,pushUndoStop:I}=D;if(h!==d)return;const f=go(D);let{edits:S}=D;if(f.baseRev!==null){const A=y.rebase(S,f.baseRev);if(!A){xe(new Error("canvas batch conflicts with newer document changes"),{origin:"canvas-channel"}),b([],f.changeId);return}S=A}const T=l.get().version;try{p=!0,m=f.changeId;const A=gl(S,l.getContent());I===!1?u.applyWithoutHistory(A):l.mutate({changes:A},{source:Or(e)?"system":"user"})}finally{p=!1,m=null}l.get().version===T&&f.baseRev!==null&&b([],f.changeId)},w=l.subscribe(({changes:D,version:h})=>{const I=l.getContent(),f=!D?.length&&I!==E;if(E=I,y.record({version:h,changes:D,contentReplaced:f,fromCanvas:p}),!D?.length)return;const S=El(D);p?b(S,m):g(S,h).catch(It)}),P=n.addListener(a.EVENT_TYPES.APPLICATION_UPDATE_ENTITY,_);return()=>{w(),P.dispose()}};let i;const o=()=>{const l=t.current(),u=t.history(),d=l?.get().docId;d!==i&&(r?.(),r=void 0,i=d,l&&u&&(r=s(l,u)))},c=t.subscribe(o);o(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r?.(),c()})}var bl=300,_l=15e3,Lr="em-canvas-busy-style";function yl(){if(document.getElementById(Lr))return;const e=document.createElement("style");e.id=Lr,e.textContent="@keyframes em-canvas-busy-spin{to{transform:rotate(360deg)}}",document.head.appendChild(e)}function Sl(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(){yl(),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 wl=8e3;function Il(){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 Tl=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 Al(e,t,n,r,s){const i=n.readyTimeoutMs??wl,o=document.createElement("div");o.dataset.canvasHost=e,r&&(o.dataset.canvasPlace=r),o.style.position="fixed",o.style.overflow="hidden",o.style.visibility="hidden";const c=n.resolveSrc(e),l=document.createElement("iframe");l.setAttribute("sandbox",n.resolveSandbox(c)),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=c,o.appendChild(l),t.appendChild(o),n.mark?.("created"),s||n.onCreated?.(l);const u=new a.Disposable;let d=!1,p=!1,m,v,y,E;const g=()=>{clearTimeout(E),E=setTimeout(()=>{p||(p=!0,v?.(new Error(`[canvas] ${e}: документ не загрузился за ${i} мс`)))},i)},b=()=>d?(y=Promise.resolve(),p=!0,y):(p=!1,y=new Promise((N,B)=>{m=N,v=B}),g(),y),_=()=>{if(clearTimeout(E),d=!0,p){y=Promise.resolve();return}p=!0,n.mark?.("loaded"),m?.()};l.addEventListener("load",_),u.addDispose(()=>{clearTimeout(E),l.removeEventListener("load",_)});let w;const P=()=>{w??=n.bindResizer?.(l)};let D=null,h=null,I;const f=()=>{if(!D){o.style.visibility="hidden",l.removeAttribute("id");return}n.elementId&&(l.id=n.elementId);const N=D.getBoundingClientRect(),B=h?.isConnected?h:Tl(D),F=B?B.getBoundingClientRect():null,Y=F?Math.max(N.top,F.top):N.top,de=F?Math.min(N.bottom,F.bottom):N.bottom,tt=Math.max(0,de-Y);o.style.visibility=tt>0?"visible":"hidden",o.style.left=`${N.left}px`,o.style.top=`${Y}px`,o.style.width=`${N.width}px`,o.style.height=`${tt}px`,l.style.transform=`translateY(${N.top-Y}px)`};let S="",T="",A=0,O;const x=()=>{if(!D){O=void 0;return}O=window.requestAnimationFrame(x);const N=D.getBoundingClientRect(),B=h?.isConnected?h.getBoundingClientRect():void 0,F=`${Math.round(N.left)}:${Math.round(N.top)}:${Math.round(N.width)}:${Math.round(N.height)}:${B?`${Math.round(B.top)}:${Math.round(B.height)}`:"-"}`;F!==S&&(S=F,f());const Y=l.getBoundingClientRect().height;Y>0&&Y!==A&&(A=Y,D.style.height=`${Y}px`);const de=getComputedStyle(D).pointerEvents;de!==T&&(T=de,o.style.pointerEvents=de)},C=()=>{O===void 0&&D&&(O=window.requestAnimationFrame(x))},L=()=>{O!==void 0&&(window.cancelAnimationFrame(O),O=void 0)},H=()=>f();let k=[];const V=(N,B)=>{if(h=B,N&&k.length>0){const F=k;k=[],F.forEach(Y=>Y())}if(N===D){f();return}if(I?.disconnect(),I=void 0,D&&D.style.removeProperty("height"),S="",A=0,T="",D=N,!N){L(),f();return}n.onShown?.(l);try{if(typeof ResizeObserver=="function"){const F=new ResizeObserver(f);typeof F.observe=="function"&&(I=F,I.observe(N))}}catch{I=void 0}f(),P(),C()};window.addEventListener("scroll",H,!0),window.addEventListener("resize",H),u.addDispose(()=>{I?.disconnect(),O!==void 0&&window.cancelAnimationFrame(O),window.removeEventListener("scroll",H,!0),window.removeEventListener("resize",H)});const ae=N=>{d=!1,N&&n.onReload?.(l);let B;p||y===void 0?B=b():(g(),B=y);try{l.contentWindow?.location.reload()}catch{l.src=c}return B};return{element:l,ready(){return y??b()},reload:()=>ae(!0),reloadQuietly:()=>ae(!1),get shown(){return D!==null},whenShown(){return D!==null?Promise.resolve():new Promise(N=>{k.push(N)})},alignTo(N,B){V(N,B??null)},scrollBy(N,B){for(let F=D?.parentElement??null;F;F=F.parentElement){const Y=getComputedStyle(F);if((Y.overflowY==="auto"||Y.overflowY==="scroll")&&F.scrollHeight>F.clientHeight){F.scrollBy({left:N,top:B,behavior:"instant"});return}}window.scrollBy({left:N,top:B,behavior:"instant"})},resize(){w?.resize()},dispose(){V(null,null),w?.dispose(),u.dispose(),o.remove()}}}function Cl(e){const t=new Map;let n="a";const r=()=>n==="a"?"b":"a",s=(d,p)=>d==="email"?`email:${p??n}`:d;let i,o=[];const c=()=>{o.forEach(d=>clearTimeout(d)),o=[],i?.remove(),i=void 0},l=new Map,u=(d,p,m)=>{const v=s(d,p),y=t.get(v);if(y)return y;const E=e.resolveMount();if(!E)return Il();const g=Al(d,E,e,d==="email"?p??n:void 0,m);return t.set(v,g),g};return{get:d=>u(d),current:d=>u(d),peek:d=>t.get(s(d)),spare:()=>t.get(s("email",r())),ensureSpare:()=>u("email",r(),!0),promote(){const d=t.get(s("email",r()));if(!d)return;const p=t.get(s("email"));n=r();const m=l.get("email");d.alignTo(m?.slot??null,m?.clip??null),p?.alignTo(null)},alignSurface(d,p,m){l.set(d,{slot:p,clip:m??null}),(p?u(d):t.get(s(d)))?.alignTo(p,m??null)},visible(){for(const d of t.values())if(d.shown)return d},byWindow(d){if(d){for(const p of t.values())if(p.element.contentWindow===d)return p}},busy(d){c();const p=d?e.resolveMount():void 0;if(!p)return;const m=Sl(p);i=m,o=[setTimeout(()=>m.showSpinner(),bl),setTimeout(c,_l)]},dispose(){c(),t.forEach(d=>d.dispose()),t.clear(),l.clear(),n="a"}}}var Pl=a.createIdentifier$1("canvas.resizerBinder"),Tt=a.createIdentifier$1("canvas.service"),Dl={created:z.canvasCreated,loaded:z.canvasLoaded};function Rl(e,t){if(e.getInstance(Tt))return;const n=Cl({resolveMount:()=>t.resolveMount(),resolveSrc:s=>t.resolveSrc(s),resolveSandbox:Ra,elementId:t.elementId,bindResizer:s=>e.getInstance(Pl)?.(s),onCreated:s=>Ge(e,s,"fresh"),onReload:s=>Ge(e,s,"fresh"),onShown:s=>Ge(e,s,"switch"),mark:s=>t.mark?.(Dl[s])}),r=q(e).addListener(a.EVENT_TYPES.SANDBOX_WHEEL,s=>{n.visible()?.scrollBy(s?.deltaX??0,s?.deltaY??0)});e.inject(Tt,n),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r.dispose(),n.dispose()})}function Ge(e,t,n){const r=q(e),s=t.contentWindow;if(!s)return;const i=r.getTarget()===s;i&&n==="switch"||(n==="fresh"&&(r.forget(s),i&&r.setTarget(void 0)),r.setTarget(s),pa(r))}function Ol(e,t){Ge(e,t,"promote")}function Ll(e,t){const n=t.contentWindow;n&&q(e).greet(n)}function Nl(e,t){const n=t.contentWindow;n&&q(e).forget(n)}function oe(e){return e.getInstance(Tt)}function Ml(e){const t=q(e),n=()=>oe(e)?.byWindow(t.getTarget()),r=t.addListenerAsync(a.EVENT_TYPES.RELOAD,async()=>{await n()?.reload()}),s=t.addListener(o=>{o.data?.operation===a.EVENT_TYPES.SANDBOX_RESIZED&&n()?.resize()}),i=$(e,a.events.ON_EMAIL_INIT_ID)(()=>{n()?.resize()});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r.dispose(),s.dispose(),i.dispose()})}var sm=a.createIdentifier$1("HeadlessMode"),xl=a.createIdentifier$1("HiddenMount");function kl(e){return e.getOrCreateInstance(xl,()=>pe(!1))}function Nr(){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 Fl(e){const t=e.getInstance(a.OPTIONS_SOURCE_ID);let n,r;e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r?.remove(),r=void 0}),Rl(e,{resolveMount:()=>n,resolveSrc:i=>wr(i==="block"),elementId:"email_iframe",mark:i=>U(i)}),t?.watch(i=>{if(n)return;const o=i?.element;if(o instanceof HTMLElement)n=o;else if(i!==void 0)n=r??=Nr();else return;oe(e)?.get("email")});let s;e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{s?.remove(),s=void 0}),kl(e).watch(i=>{const o=oe(e);if(o){if(i){s??=Nr(),o.alignSurface("email",s,s);return}s&&(o.alignSurface("email",null),s.remove(),s=void 0)}})}var Mr=a.createIdentifier$1("canvas.headerFlow"),xr=["subject","preheader"],Bl=3e3,jl={subject:a.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,preheader:a.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE};function Ul(e){const t=se(e),n=q(e),r=E=>E?"remote":Or(e)?"system":"user",s=(E,{guid:g,value:b,forced:_})=>{const w=we(t);if(!w||typeof b!="string"||g&&g!==w.get().docId)return;const P=t.forcedHeaders();if(P?.[E]&&!_&&b!==P[E])return;_&&t.endForcedHeaders();const D=w.get().attributes[E]??"";c=!0;try{Be(w,{[E]:b},{source:r(_)})}finally{c=!1}i[E]=b,Q(e,a.events.ON_HEADER_APPLIED_ID).fire({field:E,value:b,forced:!!_,isGenerated:b!==D&&!!b})};let i={},o,c=!1,l=Promise.resolve();const u=(E,g,b)=>{l=n.sendAsync(jl[E],{value:g,guid:we(t)?.get().docId,...b?{force:!0,echo:!0}:{}}).catch(_=>{})};let d;e.inject(Mr,{whenDelivered:async()=>{await l},reassert:E=>{const g=we(t),b=xr.filter(_=>E[_]);if(!(!g||b.length===0)){c=!0;try{Be(g,Object.fromEntries(b.map(_=>[_,E[_]])),{source:"system"})}finally{c=!1}t.beginForcedHeaders({subject:E.subject??"",preheader:E.preheader??""}),clearTimeout(d),d=setTimeout(()=>t.endForcedHeaders(),Bl);for(const _ of b)i[_]=E[_],u(_,E[_],!0)}}});const p=()=>{o?.(),o=void 0;const E=we(t);if(!E){i={};return}const g=E.get().attributes;i={subject:g.subject,preheader:g.preheader},o=E.subscribe(({source:b})=>{if(c)return;const _=E.get().attributes,w=t.forcedHeaders();for(const P of xr){const D=_[P];D!==i[P]&&(i[P]=D,u(P,D??"",b==="system"&&w?.[P]!==void 0))}})};p();const m=t.subscribe(p),v=n.addListenerAsync(a.EVENT_TYPES.APPLICATION_SUBJECT_UPDATE,E=>s("subject",E)),y=n.addListenerAsync(a.EVENT_TYPES.APPLICATION_PREHEADER_UPDATE,E=>s("preheader",E));e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{v.dispose(),y.dispose(),m(),o?.(),clearTimeout(d)})}function kr(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function At(e,t){const n={...e};for(const r of Object.keys(t)){const s=t[r],i=e[r];kr(s)&&kr(i)?n[r]=At(i,s):s!==void 0&&(n[r]=s)}return n}function Hl(e,t){const n=a.COMMON_STYLES;if(typeof e=="string"){const r=e.trim();if(r.startsWith("{"))try{const s=JSON.parse(r);if(s&&typeof s=="object"&&!Array.isArray(s)&&Object.keys(s).length>0)return At(n,s)}catch{}}return t&&typeof t=="object"&&!Array.isArray(t)?At(n,t):n}function $l(){const e=window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_color_scheme),t=matchMedia("(prefers-color-scheme: dark)").matches?a.DARK:a.LIGHT;return e&&e!=="system"?e:t}function Gl(){const e=window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.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 Vl(e){const{config:t}=e;return{operation:a.EVENT_TYPES.UPDATE_PREVIEW,theme:e.theme,commonStyles:Hl(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 Yl(e){const t=q(e),n=e.getInstance(a.CONFIG_SOURCE_ID),r=e.getInstance(a.OPTIONS_SOURCE_ID),s=se(e);let i,o="";const c=()=>{const b=n?.get()??{},_=Vl({config:b,emailCommonStyles:s.current()?.get().attributes?.common_styles,defaultCommonStyles:i,theme:$l(),codeMode:Gl(),appName:"emailmaker"}),w=JSON.stringify(_);w!==o&&(o=w,t.send(_))},l=t.onInit(()=>{o="",c()}),u=()=>{t.isInited()&&c()},d=n?.watch(u),p=r?.watch(b=>{i=b?.commonStyles,u()});let m;const v=()=>{m?.(),m=s.current()?.subscribe(u),u()};v();const y=s.subscribe(v),E=matchMedia(a.PREFERS_COLOR_SCHEME_DARK),g=()=>u();E.addEventListener("change",g),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{l.dispose(),d?.dispose(),p?.dispose(),m?.(),y(),E.removeEventListener("change",g)})}var Ct;(function(e){function t(s,i,o=(c,l)=>c===l){if(s===i)return!0;if(s.length!==i.length)return!1;for(let c=0;c<s.length;c++)if(!o(s[c],i[c]))return!1;return!0}e.isEqual=t;function n(s,i=o=>o){const o=new Set;return s.filter(c=>{const l=i(c);return o.has(l)?!1:(o.add(l),!0)})}e.unique=n;function r(s=[],i=[],o=(c,l)=>c===l){const c=[],l=[],u=[];for(const d of s){const p=i.find(m=>o(d,m));p?u.push({prev:d,next:p}):l.push(d)}for(const d of i)s.find(p=>o(d,p))||c.push(d);return{added:c,removed:l,exists:u}}e.diff=r})(Ct||(Ct={}));function ql(e,t){return e.type===t.type&&e.key===t.key}function zl(e){const t=q(e),n=()=>e.getServices(a.SANDBOX_EXTENSIONS_ID)??[];let r=[];const s=t.onInit(()=>{r=n(),t.send(a.EVENT_TYPES.SANDBOX_ADD_EXTENSIONS,r)}),i=a.getServiceContainerId(a.SANDBOX_EXTENSIONS_ID),o=e.onInject(c=>{if(c!==i)return;const l=n();if(!t.isInited()){r=l;return}const{added:u,removed:d}=Ct.diff(r,l,ql);if(r=l,d.length){if(d.some(p=>p.type==="script")){t.send(a.EVENT_TYPES.RELOAD);return}t.send(a.EVENT_TYPES.SANDBOX_REMOVE_EXTENSIONS,d.map(p=>p.key))}u.length&&t.send(a.EVENT_TYPES.SANDBOX_ADD_EXTENSIONS,u)});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{s.dispose(),o?.dispose()})}var Kl=a.createIdentifier$1("prewarm.editorVisible");function Wl(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function Xl(e={}){const t=e.paint??Wl;let n=!1,r=!1,s=!1,i=!1,o=!1;const c=[],l=()=>{o||i||!n||!r||!s||(i=!0,t(()=>{o=!0,U(z.editorVisible);for(const u of c.splice(0))u()}))};return{noteShellVisible(){n=!0,l()},notePagePainted(){r=!0,l()},noteContentShown(){s=!0,l()},whenVisible(u){if(o){u();return}c.push(u)},contentShown:()=>s}}function Jl(e){return e.getOrCreateInstance(Kl,()=>Xl())}var Ql=500,Zl=500,ec=5e3;function tc(e){const t=e.quietMs??Ql,n=e.floorMs??Zl,r=e.ceilingMs??ec;let s,i,o=0;const c=()=>{clearTimeout(s),clearTimeout(i),s=void 0,i=void 0},l=()=>{c(),e.run()},u=()=>{clearTimeout(s);const d=n-(Date.now()-o);s=setTimeout(l,Math.max(t,d))};return{start(){c(),o=Date.now(),i=setTimeout(l,r),u()},notify(){s!==void 0&&u()},cancel:c}}function nc({attributes:e,readContent:t,docId:n,hasSession:r,serverId:s,show:i}){if(!r)return;const o={id:s??void 0,renderGuid:n,showId:i?.id,isNew:s==null,showToken:i?.token},c={...e,...o};return Object.defineProperty(c,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),c}var Fr="self-init:";function rc(e){return e.startsWith(Fr)}function Br(e,t){const n=e.getActiveShowRequest();return rc(t)?n===null:n?.showId===t&&e.hasPendingShow(t)}function sc(e){const t=()=>e.initPipeline(),n=e.messageService,r=()=>e.waitScope?.()??t();let s="";const i=()=>e.readDocument()?_t(e.readDocument()):s,o=()=>ge(e.container).editorPolicy,c=()=>e.readEmail(),l=()=>{const u=c();return{...u,id:e.isTemplate()||u.isNew?void 0:u.id,html:i()}};return{readContent:i,publicEmail:l,sendInitStart:()=>ee(n,"INIT_START",a.EVENT_TYPES.SANDBOX_INIT_START,{guid:c().renderGuid},void 0,r()),sendInited:()=>ee(n,"INITED",a.EVENT_TYPES.SANDBOX_INITED,{guid:c().renderGuid},void 0,r()),async sendContent(){const u=c(),{html:d,hasBrowserExtensionArtifacts:p}=Cr(u?.html||"");p&&e.events.browserExtensionDetected(),Pr(e.readDocument(),d),s=d,await ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,yt(i(),u.renderGuid,o(),e.readDocument()?.get().version),{guid:u.renderGuid,emailId:u.id??null},r())},refreshContent:()=>ee(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,yt(i(),c().renderGuid,o(),e.readDocument()?.get().version),void 0,r()),sendPreheader:async()=>{const u=c();if(u.preheader!==void 0)return ee(n,"PREHEADER",a.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE,{value:u.preheader,guid:u.renderGuid,force:!0},void 0,r())},sendSubject:async()=>{const u=c();if(u.subject!==void 0)return ee(n,"SUBJECT",a.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,{value:u.subject,guid:u.renderGuid,force:!0},void 0,r())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:u=>e.showFilled?.(u),readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(l()),fireInit(u,d){if(!Br(t(),u)){t().getActiveShowRequest()?.showId;return}const p=c();p.id,p.renderGuid,t().completeShow(u),Be(e.readDocument(),{is_inited:!0},{source:"system"});const m=l();return d&&(m.reset=!0),e.events.inited(m)},fireEmailChanged(){e.events.emailChanged(l())},fireContentChanged(){e.events.contentChanged(i())}}}function ic(e){const t=()=>e.initPipeline();let n=!1,r,s,i,o=0,c;const l=sc({...e,waitScope:()=>({getSandboxTimeoutMs:g=>t().getSandboxTimeoutMs(g),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:c?.signal??t().signal})});let u;const d=(g,b)=>{if(u===g)return;u=g;const _=o;setTimeout(()=>{o!==_||t().signal.aborted||y(g,b).catch(()=>{})},0)},p=()=>{c?.abort(),c=void 0};let m;const v=()=>{const g=t().signal;g!==m&&(m?.removeEventListener("abort",p),m=g,g.addEventListener("abort",p))};async function y(g,b){const _=++o;p(),c=new AbortController,v();const w=()=>o!==_,P=l.readTarget(),D=t().generation,h=()=>D===t().generation&&!t().signal.aborted,I=b?"init:reset-":"init:";if(!b){const T=l.publicEmail();T?.id,T?.renderGuid,T?.preheader}let f=!1,S=!1;try{n=!0,await l.sendInitStart(),l.fireWillInit(),await(b?l.refreshContent():l.sendContent()),f=!0,b||l.publicEmail()?.id;try{await l.sendPreheader()}catch(T){`${I}`,String(T)}try{await l.sendSubject()}catch(T){`${I}`,String(T)}if(w()||l.showFilled(P),await l.sendInited(),S=!0,s===g){const T=e.readSandboxGeneration?.()??i;T!==void 0&&(r=T)}await l.revealFilled()}catch(T){throw w()||(`${I}`,{...e.describeSurface?.(),error:String(T)},void 0),!w()&&Br(t(),g)&&t().failShow(g,T),T}finally{E(g,b,I,{superseded:w(),sessionGeneration:D,contentApplied:f,sandboxInitedAcked:S,commit:h()})}}function E(g,b,_,w){const{superseded:P,contentApplied:D,sandboxInitedAcked:h}=w;if(P){`${_}`;return}h&&w.commit?l.fireInit(g,b||void 0):h?(`${_}`,w.sessionGeneration,t().generation,t().signal.aborted,void 0):D?(`${_}`,void 0):(`${_}`,void 0),n=!1,c=void 0,!h&&s===g&&(s=void 0,r===i&&(r=void 0)),!h&&D&&d(g,b)}return{channel:l,isEventsLocked:()=>n,filledGeneration:()=>r,markFilled:g=>{r=g},lastCorrelation:()=>s,markCorrelation:g=>{s=g},bumpRunSeq:()=>{o+=1},noteSandboxGeneration:g=>{i=g},fill:g=>y(g,!1),refill:g=>y(g,!0),stop:()=>{o+=1,p(),n=!1,m?.removeEventListener("abort",p),m=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:jr(e,n)}function jr(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function ac(e){const{pipeline:t,readEmail:n,readDocument:r,readRouteEmailId:s,readSandboxGeneration:i}=e,o=d=>{const p=n(),m=s();if(!oc(p,d,m)){d.showId,d.navId,d.emailId,p?.id,p?.showId,p?.renderGuid;return}d.showId,p?.id,p?.renderGuid,t.markFilled(i()),t.markCorrelation(d.showId),t.fill(d.showId).catch(()=>{})};return{showRequested:d=>{o(d)},showRequestIdentityChanged:()=>{const d=e.initPipeline().getActiveShowRequest();d&&o(d)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const d=i();if(t.filledGeneration()===d)return;const p=n(),m=s();if(!p?.renderGuid||!jr(p,m))return;const v=`${Fr}${p.renderGuid}`;t.markFilled(d),t.markCorrelation(v);const y=r()?.isReady()===!0;p.id,p.renderGuid,(y?E=>t.refill(E):E=>t.fill(E))(v).catch(()=>{t.lastCorrelation()===v&&t.markFilled(void 0)})},saasChanged:()=>{const d=n();d?.renderGuid,d?.showToken,d?.id}}}function lc(e){return e??""}function cc(e,t,n,r){return[e??"",t??"",n==null?"":String(n),r??""].join("|")}function dc(e){const t=se(e),n=q(e),r=()=>ne(t.sessionKey())?void 0:t.current(),s=()=>{const R=r();return nc({attributes:R?.get().attributes??{},readContent:()=>R?.getContent(),docId:R?.get().docId,hasSession:!!R,serverId:R?.get().serverId,show:t.showFacts()})},i=()=>e.getInstance(a.INIT_PIPELINE_ID)??St;let o={},c=!1;const l=e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(R=>{c=!!R?.element});let u=!1,d=!1,p=!1,m=0;const v=()=>{const R=oe(e);if(!R)return;const G=++m,j=R.spare();return j&&Nl(e,j.element),(j?j.reloadQuietly():R.ensureSpare()?.ready())?.then(()=>{if(G!==m)return;u=!0;const Z=R.spare();Z&&Ll(e,Z.element),p&&(p=!1,T(),V())})},y=tc({run:()=>{p||v()?.catch(()=>{})}}),E=()=>{Jl(e).noteContentShown(),!u&&!p&&y.start()};let g=!1;const w=ic({container:e,messageService:n,initPipeline:i,readDocument:r,readEmail:s,revealFilled:()=>{const R=oe(e);return g&&R&&(g=!1,y.start()),c?R?.current("email").whenShown()??Promise.resolve():Promise.resolve()},showFilled:R=>{const G=oe(e),j=G?.spare()?.element.contentWindow;d&&G&&j&&R===j&&(d=!1,G.promote(),G.busy(!1),g=!0)},readTarget:()=>n.getTarget(),isTemplate:()=>!!o.isTemplate,readSandboxGeneration:()=>ie(n),describeSurface:()=>({canvasPath:S,promoted:d,spareClean:u,handshake:n.isInited(),generation:ie(n)}),events:{willInit:R=>{Q(e,a.events.WILL_EMAIL_INIT_ID).fire(R)},inited:R=>{E(),Q(e,a.events.ON_EMAIL_INIT_ID).fire(R)},contentChanged:R=>{Q(e,a.events.ON_CONTENT_CHANGED_ID).fire(R)},emailChanged:R=>{Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(R)},browserExtensionDetected:()=>{Q(e,a.events.ON_BROWSER_EXTENSION_DETECTED_ID).fire()}}}),P=ac({pipeline:w,initPipeline:i,readEmail:s,readDocument:r,readRouteEmailId:()=>o.emailId,readSandboxGeneration:()=>ie(n)});let D="",h="",I="";const f=R=>R.length>0;let S="none";const T=()=>{const R=oe(e)?.spare();R&&(n.send({operation:a.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!0}),u=!1,d=!0,Ol(e,R.element))},A=(R,G)=>{const j=oe(e);if(!j)return!0;const Z=j.spare(),ue=Z&&u?"spare":"prepare";if(S=ue,j.busy(!0),Z&&u)return T(),!0;y.cancel(),n.send({operation:a.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!0});const fe=v();if(fe===void 0)return S="reload",j.busy(!1),j.peek("email")?.reload(),!0;p=!0;const hn=m;return fe.catch(()=>{!p||hn!==m||(p=!1,S="reload",j.busy(!1),j.peek("email")?.reload())}),!1},O=()=>{de(),w.noteSandboxGeneration(ie(n));const R=s(),G=cc(R?.renderGuid,R?.showId,R?.id,o.emailId),j=lc(R?.renderGuid);if(j!==h){const fe=f(h),hn=h;h=j,fe&&A(hn,j)}if(p)return;G!==D&&(D=G,P.showRequestIdentityChanged());const Z=r(),ue=`${G}|${Z?.get().docId??""}|${ie(n)}`;ue!==I&&Z?.isReady()===!0&&(I=ue,P.selfInitChanged()),P.saasChanged(),H()};let x=!1,C="",L="";const H=()=>{const R=s();if(!R?.renderGuid)return;const G=w.channel.readContent(),j=JSON.stringify([R.preheader,R.common_styles,R.meta,R.subject,R.utm_parameters?.utm_campaign??"",R.utm_parameters?.utm_content??"",R.utm_parameters?.utm_medium??"",R.utm_parameters?.utm_source??"",R.utm_parameters?.utm_term??""]),Z=x&&G!==L,ue=x&&j!==C;if(x=!0,L=G,C=j,w.isEventsLocked())return;const fe={...R,id:o.isTemplate||R.isNew?void 0:R.id,html:G};if(Z){Q(e,a.events.ON_CONTENT_CHANGED_ID).fire(G),Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(fe);return}ue&&R.is_inited&&Q(e,a.events.ON_EMAIL_CHANGED_ID).fire(fe)};let k=!1;const V=()=>{k||(k=!0,queueMicrotask(()=>{k=!1,O()}))};e.inject(wt,{pipeline:w,setRoute:R=>{R.emailId===o.emailId&&!!R.isTemplate==!!o.isTemplate||(o=R,V())}});let ae,N;const B=()=>{const R=r()?.get().docId;R!==N&&(ae?.(),N=R,ae=r()?.subscribe(V)),V()};let F,Y;const de=()=>{const R=e.getInstance(a.INIT_PIPELINE_ID);!R||R===F||(Y?.(),F=R,Y=R.onShowRequested(G=>P.showRequested(G)))},tt=n.addListener(R=>{R.data?.operation===a.EVENT_TYPES.SANDBOX_RESIZED&&y.notify()}),qp=t.subscribe(B),zp=_r(n,V);B(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{l?.dispose(),Y?.(),zp(),qp(),ae?.(),tt.dispose(),y.cancel(),w.stop()})}function uc(){return a.USEBLOCKS!=="emailmaker"}var Ur={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},Hr={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}},$r=Hr,fc=["pro"],Gr={};function pc(e){Gr=e}var Vr=e=>fc.includes(e)?$r:Gr[e]??$r,Pt={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},mc={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},hc={...Pt,config:{...Pt.config,imageCenterFileManagerView:!1}};pc({pro:Hr,editor:mc,simple:uc()?Pt:hc,freeUserBlocks:Ur,blocks:Ur});var Yr=new Set;function gc(){return window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_color_scheme)??void 0}function Ec(e){return Yr.add(e),e(gc()),{dispose(){Yr.delete(e)}}}function Dt(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function vc(e,t){return t.modeDefaults(Dt(e,t.fallbackMode))}function bc(e,t){const n=Dt(e,t);return e.serverSide.advancedConfigs?.[n]||{}}function _c(e,t){const n=Dt(e,t),r=e.user?.advancedConfigs?.[n],s=r!==void 0?r:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[n],...s}}function yc(e){let t;for(const n of e)n?.fileManager&&(t={...t,...n.fileManager});return t}function Sc(e){return a.mergeResourceProxyLayers(e.map(t=>t?.resourceProxy))}function wc(e){return a.mergeResourceProxyPolicyLayers(e.map(t=>t?.resourceProxyPolicy))}function Ic(e){return a.mergeBackendProxyLayers(e.map(t=>t?.backendProxy))}function Tc(e){return a.mergeShallowConfigLayers(e.map(t=>t?.backendProxyPolicy||{}).filter(Boolean))}function Ac(e,t){return[e.base,vc(e,t),e.profile,e.serverSide,bc(e,t.fallbackMode),e.user,_c(e,t.fallbackMode),e.local]}function Rt(e,t){const n=Ac(e,t),r=a.mergeShallowConfigLayers(n),s=yc(n);s!==void 0&&(r.fileManager=s);const i=Sc(n);i!==void 0&&(r.resourceProxy=i);const o=wc(n);o&&Object.keys(o).length>0&&(r.resourceProxyPolicy=o);const c=Ic(n);c!==void 0&&(r.backendProxy=c);const l=Tc(n);return l&&Object.keys(l).length>0&&(r.backendProxyPolicy=l),r}var Cc=["backendProxy","backendProxyPolicy","resourceProxy","resourceProxyPolicy"];function qr(e){return e==="server"?"serverSide":e}function Pc({env:e,base:t={},budgetMs:n}){const r={base:t,profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}},s=pe();let i={kind:"pending"},o;const c=new Promise(m=>{o=m}),l=n===void 0?void 0:setTimeout(()=>{d({kind:"absent",reason:`серверный слой не пришёл за ${n} мс`})},n);function u(){i.kind!=="pending"&&s.set(Rt(r,e))}function d(m){if(i.kind!=="pending")return;clearTimeout(l),i=m;const v=Rt(r,e);s.set(v),o(v)}function p(m,v){r[qr(m)]=v,m==="server"&&i.kind==="pending"?d({kind:"applied"}):u()}return{watch:m=>s.watch(m),select:m=>s.select(m),get:()=>s.get(),ready:()=>c,state:()=>i,layers:()=>({...r}),bootstrap(){const m=Rt(r,e);return Object.fromEntries(Cc.map(v=>[v,m[v]]))},merge(m,v){p(v,{...r[qr(v)],...m})},replace(m,v){p(v,m)},setMode(m){r.user={...r.user,mode:m},u()},setAdvancedConfigs(m){r.advancedConfigs=m,u()},serverAbsent(m){d({kind:"absent",reason:m})},applyServerResponse(m){i.kind==="pending"&&p("server",{...r.serverSide,...m})},dispose(){clearTimeout(l)}}}var Dc=5e3,im="pro";function Rc(){return{...Vr("pro")?.config,mergeTags:void 0}}function Oc(e,t){e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(n=>{t.setAdvancedConfigs({...n.advancedConfigs,...n.config?.advancedConfigs}),t.replace(n.config??{},"user")})}function Lc(e,t){let n;cr(e).watch(({profile:r})=>{const s=`${r?.theme??""}|${r?.locale??""}`;if(s===n)return;n=s;const i={};r?.theme&&(i.theme=r.theme),r?.locale&&(i.locale=r.locale),t.replace(i,"profile")})}function Nc(e,t){let n=null;const r=Ec(s=>{const i=typeof s=="string"&&s?s:void 0;i!==n&&(n=i,t.replace(i?{theme:i}:{},"local"))});e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r)}async function Mc(e,t){if(e.getInstance(ot)===void 0){t.serverAbsent("app_init не зарегистрирован");return}try{const n=await e.getInstanceAsync(a.APP_ID);t.applyServerResponse(n?.app_config??{})}catch(n){t.serverAbsent(`app_init не выполнился: ${String(n)}`)}}function xc(e){e.injectFactory(a.CONFIG_SOURCE_ID,(t,n)=>{if(n)return n;const r=Pc({base:Rc(),env:{modeDefaults:s=>Vr(s)?.config||{},fallbackMode:localStorage.getItem("configSwither")||void 0},budgetMs:Dc});return Oc(e,r),Lc(e,r),Nc(e,r),Mc(e,r),e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r),r},!0)}var Ee=class extends a.Disposable{_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 M(e,t,n){const r=a.snapshot(e);return(s,i,o)=>{const c=r(async l=>{const u=t?t(l):l;o&&s.bind(o);const d=await s(u);return n?n(d):d},i,o);return()=>c.dispose()}}var kc=class{deps;handleDestroy;constructor(e){this.deps=e;const t=new a.Emitter;this.handleDestroy=M(t.event),e.lifetime.addDispose(()=>t.fire(e.getInstance()));const n=e.lifetime.addDisposable(new Ee(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{}}},Ot=a.createIdentifier$1("DestroyableService");function Fc(e){e.injectFactory(Ot,()=>{const t=e.getInstance(a.DISPOSABLE_ID);if(!t)throw new Error("[plugin] время жизни экземпляра не зарегистрировано");return new kc({lifetime:t,options:e.getInstance(a.OPTIONS_SOURCE_ID),getInstance:()=>e.getInstance(a.INSTANCE_ID),release:()=>a.releaseContainer(e.getInstance(a.STORE_ID)??e)})},!0)}function Bc(e){const t=e.getInstance(Ot);if(!t)throw new Error("[plugin] provideDestroyable не выполнен до сборки поверхности");return{handleDestroy:t.handleDestroy,destroy:()=>t.destroy()}}var jc=1e3;function zr(e,t,n=jc,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 s=Object.keys(e),i=Object.keys(t);if(s.length!==i.length)return!1;for(const o of s)if(!zr(e[o],t[o],n,r+1))return!1;return!0}return!1}function Te(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 s=t[r],i=e[r];zr(s,i)||(n[r]=s)}return n}var Uc=class extends Error{timeoutMs;constructor(e){super(`[emailmaker] handleSaveEmail не ответил за ${e}ms — письмо не сохранено`),this.timeoutMs=e,this.name="IntegratorSaveTimeoutError"}},Hc=({source:e,emailtags:t,group:n,tags:r,...s})=>s,$c=()=>Mn();async function Gc({emails:e},t){const n=$c();let r;try{return await Promise.race([e.notifySave(t),new Promise((s,i)=>{r=setTimeout(()=>{const o=new Uc(n);t.value.id,i(o)},n)})])}finally{r!==void 0&&clearTimeout(r)}}function Vc(e){const{emails:t}=e,n=async(r,s)=>{const i=Hc(s),o=r===void 0?void 0:await t.cache.getIfPresent(r),c=o?{...o,...i}:i,l=await Gc(e,{prev:o,patch:o?Te(o,i):i,value:c,source:s.source??""}),u=String(l.id??r??a.generateUUID()),d=l.id===void 0?{...l,id:u}:l;return await t.cache.addOrUpdate(u,()=>d)};return{async readEmail(r){return await t.get(r)??null},async createEmail(r){const s=await n(void 0,r);return s?.renderGuid?s:{...s,renderGuid:a.generateUUID()}},async updateEmail(r,s){return await n(r,s)}}}var Lt=20,Yc=({source:e,emailtags:t,group:n,tags:r,...s})=>s;function qc({revisions:e,revisionsByEmail:t}){const n=async(r,s)=>(t.clear(),await t.get(r,{page:s}),(await e.cache.values()??[]).filter(i=>String(i?.parent)===String(r)));return{async readRevisions(r,s=1){const i=await n(r,s);return{revisions:i.slice(Lt*(s-1),Lt*s),page:s,hasMore:i.length>Lt*s}},async readAutosave(r){return bo(await n(r,1))},async saveAutosave(r,s){const i=Yc(s);return await e.create({...i,parent:r,modified:new Date().toString()})}}}var zc=class extends a.BaseEmitter{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}},Kc=class extends a.AsyncEmitter{};function om(e){return e}var Kr=class extends a.Disposable{_items=new Map;_onChangeEmitter=new a.Signal;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 s=await t(n);return a.deepEqual(n,s)||this._onChangeEmitter.fire(),s}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(([s,i])=>s)),r=(await this.entries()).filter(([s,i])=>!n.has(s));for(const[s,i]of e)t.push(this.addOrUpdate(s,()=>i)),n.add(s);for(const[s]of r)t.push(this.remove(s));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 Wc(e,{filter:t,order:n="asc",orderBy:r,page:s,pageSize:i=20}={}){const o=e.length;let c=e.length;if(t!==void 0){const l=Object.keys(t);e=e.filter(u=>{for(const d of l){const p=u[d],m=t[d];return d==="id"||typeof p!="string"?p===m:typeof m=="string"&&p.startsWith(m)}return!0}),c=e.length}return r&&(e=e.sort((l,u)=>(l[r]>u[r]?1:u[r]>l[r]?-1:0)*(n==="asc"?1:-1))),s!==void 0&&(e=e.slice(i*(s-1),i*s)),{data:e,filteredTotal:c,total:o,totalPages:Math.ceil(c/i)}}function Xc(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 s=t.get(r.id)||{};t.set(r.id,{...s,...r})}return[...t].map(([n,r])=>r)}function Jc(e,t){return Wr(e)&&Wr(t)?String(e)===String(t):e===t}function Wr(e){return typeof e=="string"||typeof e=="number"}var Qc=class extends a.Disposable{_cache=new Kr;_readEmitter=new a.AsyncEmitter;_saveEmitter=this.addDisposable(new zc);_removeEmitter=this.addDisposable(new Kc);_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 a.Disposable);n.addDispose(()=>delete this._foreignCache[e]);const r=n.addDisposable(new Kr),s=n.addDisposable(new a.AsyncEmitter);t=this._foreignCache[e]={get:async(i,o={})=>{await r.getOrCreate(i,async()=>{try{const l=Xc(await s.fire(i))||[];for(const u of l)u[e]=i,await this._cache.add(u.id,u);return l}catch{return[]}});const c=(await this._cache.values()||[]).filter(l=>{const u=l[e];return u==null||Jc(u,i)});return Wc(c,o)},first(i,o={}){return t.get(i,{...o,page:1,pageSize:1}).then(({data:c})=>c[0])},handleRead:s.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=a.generateUUID()),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 s=>{const i=s?{...s,...t}:t;if(!r)return t=s?Te(s,t):t,await this._saveEmitter.fire({prev:s,patch:t,value:i,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 Ae(e){const t=a.createIdentifier$1(e);return n=>n.getOrCreateInstance(t,()=>new Qc)}function Zc(e){const t=e.getInstance(a.DISPOSABLE_ID);if(!t)throw new Error("Failed");return t}function Xr(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function ed(e,t,n){return e&&!Xr(t)&&Xr(e)?{...n,meta:e.meta}:n}var Jr=Ae("plugin.dataSource.emails"),Qr=Ae("plugin.dataSource.emailRevisions"),Zr=a.createIdentifier$1("emailDocuments.provided");function td(e){const t=Jr(e),n=Qr(e),r=n.byForeignKey("parent");return e.getInstance(Zr)?{emails:t,emailRevisions:n}:(e.inject(Zr,!0),jo(e,Vc({emails:t})),Go(e,qc({revisions:n,revisionsByEmail:r})),Zc(e).addDisposable(t.onSave(({prev:s,patch:i,value:o})=>ed(s,i,o),Number.MIN_VALUE)),{emails:t,emailRevisions:n})}function es(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 nd(e){try{return localStorage.getItem(e)===null?!1:(localStorage.removeItem(e),!0)}catch{return!1}}var rd="po",Ve=null;function sd(){const e=typeof __emailmaker__<"u"?__emailmaker__?.require:void 0;return typeof e!="function"?Promise.reject(new Error("[loadPoParser] AMD loader is unavailable")):new Promise((t,n)=>{e([rd],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadPoParser] Failed to require po module")))})}function id(){return Ve===null&&(Ve=sd().catch(e=>{throw Ve=null,e})),Ve}async function ts(e){if(typeof e=="object")return Nt(e);if(typeof e!="string")return;const t=e.trim();if(t)return t.startsWith("{")||t.startsWith("[")?od(t):ad(t)}function Nt(e){if(!(e==null||typeof e!="object"||Array.isArray(e)))return e}function od(e){try{return Nt(JSON.parse(e))}catch{return}}var ns=!1;async function ad(e){try{return Nt((await id()).parsePoCatalog(e))}catch{ns||(ns=!0);return}}var ld="em_locale",cd="em_ant_locale",dd="locale",ud="ant_locale";function Mt(e){try{return JSON.parse(localStorage.getItem(e)||"")}catch{return null}}function rs(e,t){const n=Mt(e);if(!n)return null;try{localStorage.removeItem(e),localStorage.setItem(t,JSON.stringify(n))}catch{}return n}function fd(){return Mt("em_locale")??rs(dd,"em_locale")}function ss(e){try{localStorage.setItem(ld,JSON.stringify(e))}catch{}}function pd(){return Mt("em_ant_locale")??rs(ud,"em_ant_locale")}function md(e,t){try{localStorage.setItem(cd,JSON.stringify({id:e,data:t}))}catch{}}var am="en_US",hd=8e3;function gd(e,t){const n=e,r=t,s=Object.keys(n).filter(i=>i!=="");return s.length!==Object.keys(r).filter(i=>i!=="").length?!1:s.every(i=>JSON.stringify(n[i])===JSON.stringify(r[i]))}function Ed(e){const t=fd(),n=pd();let r={ready:!1},s;const i=pe(r);let o=0;const c=g=>{r={...r,...g},i.set(r)},l=()=>{r.ready||c({ready:!0})},u=setTimeout(l,e.unlockAfterMs??hd),d=g=>g!==o;let p;async function m(g,b){if(n?.id===g&&n.data&&c({antd:n.data}),!p)return;const _=await p(g).catch(()=>{});!_||d(b)||(c({antd:_}),md(g,_))}async function v(g,b){const _=await e.askHost(g).catch(()=>null);if(d(b))return!0;if(_==null)return!1;const w=await ts(_);return d(b)||(w&&c({catalog:w}),l()),!0}async function y(g,b){const _=await e.readList();if(d(b))return;if("error"in _){c({failure:{kind:"GET_LOCALES_ERROR",error:_.error}}),l();return}const w=_.data.find(D=>D.locale===g);if(!w){nd("em_locale")&&c({catalog:void 0}),l();return}if(es(t,w)&&(!s||s.catalog===t?.data)){l();return}if(s?.entry&&r.catalog===s.catalog&&es(s.entry,w)){ss(s.entry),l();return}const P=await e.readCatalog(g);if(!d(b)){if("error"in P){c({failure:{kind:"GET_LOCALE_ERROR",error:P.error}}),l();return}P.data&&(s?.id===g&&r.catalog===s.catalog&&gd(s.catalog,P.data)||c({catalog:P.data}),ss({id:g,time:w.updatedAt||Math.floor(Date.now()/1e3),hash:w.contentHash,data:P.data})),l()}}async function E(g,b){if(!await v(g,b)){if(!d(b)&&(s?.id===g&&r.catalog===s.catalog||g==="en_US")&&l(),e.canUseNetwork&&!e.canUseNetwork()){l();return}await y(g,b)}}return{set(g){if(!g||g===r.id)return;const b=o+=1;c({id:g,failure:void 0});const _=s?.id===g&&r.catalog===s.catalog;(s&&!_&&r.catalog===s.catalog||g==="en_US"&&r.catalog)&&c({catalog:void 0}),t?.id===g&&t.data&&(c({catalog:t.data}),l()),m(g,b),E(g,b)},prime(g,b,_){r.id||r.catalog||!b||(s=t?.id===g&&t.data&&(!_||t.time>=_.time)?{id:g,catalog:t.data}:{id:g,catalog:b,entry:_?{id:g,time:_.time,hash:_.hash,data:b}:void 0},c({catalog:s.catalog}))},useAntdLoader(g){p=g,r.id&&m(r.id,o)},state:i,snapshot:()=>r,dispose:()=>clearTimeout(u)}}var vd=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})},bd=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:s,format:i,baseUrl:o,cancelToken:c,...l})=>{const u=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},d=this.mergeRequestParams(l,u),p=s&&this.toQueryString(s),m=this.contentFormatters[r||"application/json"],v=i||d.format;return this.customFetch(`${o||this.baseUrl||""}${n}${p?`?${p}`:""}`,{...d,headers:{...d.headers||{},...r&&r!=="multipart/form-data"?{"Content-Type":r}:{}},signal:(c?this.createAbortSignal(c):d.signal)||null,body:typeof e>"u"||e===null?null:m(e)}).then(async y=>{const E=y;E.data=null,E.error=null;const g=v?y.clone():y,b=v?await g[v]().then(_=>(E.ok?E.data=_:E.error=_,E)).catch(_=>(E.error=_,E)):E;return c&&this.abortControllers.delete(c),b})}},_d=a.createIdentifier$1("rest.v2.transport"),is=Symbol("rest.v2.secureRequest");function yd(e){return e.getOrCreateInstance(_d,()=>{const t=e.getInstance(a.CUSTOM_FETCH_ID)?.execute||fetch;return new bd({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[is]:!0}),customFetch:(n,r={})=>{const{[is]:s,...i}=r;return t(n,{...i,[a.PUBLIC_REQUEST]:s!==!0})}})})}function Sd(e,t){const n=yd(e);return Object.assign({},...t.map(r=>new r(n)))}function os(e,t){if(e!=null&&typeof e=="object"){const n=e[t];if(typeof n=="string"&&n!=="")return n}}function as(e){const t=e.error,n=t?.error;return n&&typeof n=="object"?{status:e.status,data:{code:os(n.details,"wp_code")??n.code,message:os(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 ls(e){return!e.ok||!!e.error}function wd(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}function cs(){return wd(a.LOCAL_STORAGE_ITEMS.em_translations_v2)??!0}function Id(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Td(e){const t=e?Date.parse(e):NaN;return Number.isNaN(t)?0:Math.floor(t/1e3)}function Ad(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=Array.isArray(n)?n:[],s=r[0];return typeof s=="string"&&s!==""&&t.push({locale:s,updatedAt:Id(r[1])}),t},[]):[]}function Cd(e){return(e?.items??[]).reduce((t,n)=>(n.locale&&t.push({locale:n.locale,updatedAt:Td(n.updated_at),contentHash:n.content_hash}),t),[])}function ds(e){return Sd(e,[vd])}function Ye(e){return{error:{status:"FETCH_ERROR",error:e instanceof Error?e.message:"locale request failed"}}}function xt(e){return!e.ok||e.error!=null}function kt(e){const t=e.error;return{error:{status:e.status,data:t?.data??e.error}}}async function Ft(e){return{data:await ts(e)??null}}async function Pd(e){if(cs())try{const n=await ds(e).localesList();return ls(n)?{error:as(n)}:{data:Cd(n.data)}}catch(n){return Ye(n)}const t=a.getApi(e,[Tn]);try{const n=await t.get_translations2({file:"react_app"});return xt(n)?kt(n):{data:Ad(n.data)}}catch(n){return Ye(n)}}async function Dd(e,t){if(cs())try{const r=await ds(e).jsonList({locale:t});return ls(r)?{error:as(r)}:Ft(r.data)}catch(r){return Ye(r)}const n=a.getApi(e,[Tn]);try{const r=await n.get_translations3({id:t,file:"react_app"});return xt(r)?kt(r):Ft(r.data)}catch{try{const r=await n.get_translations3({id:"en_US",file:"react_app"});return xt(r)?kt(r):Ft(r.data)}catch(r){return Ye(r)}}}var Ce=a.createIdentifier$1("locale.service");function Rd(e){if(e.getInstance(Ce))return;const t=Ed({readList:()=>Pd(e),readCatalog:n=>Dd(e,n),askHost:async n=>(await Q(e,a.events.READ_LOCALE).fire(n))[0],canUseNetwork:()=>!e.getInstance(a.SECURITY_MODULE_ID)});e.inject(Ce,t),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>t.dispose())}function Od(e){const t=e.getInstance(a.CONFIG_SOURCE_ID);if(!t)return;const n=e.getInstance(Ce);if(!n)return;const r=t.select(s=>s.locale).watch(s=>n.set(s));e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r)}var Ld="user_id",Nd="project_id",us=a.createIdentifier$1("rest.identityHeadersProvided");function Md(e){if(e.getInstance(us))return;e.inject(us,!0);let t;e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(n=>{t=n}),e.addService(a.REQUEST_HANDLER_ID,{execute(n,r){if(r?.public)return;const s=t?.user?.id??dr(e).profile?.id;s!=null&&s!==""&&n.headers.set(Ld,String(s));const i=t?.project;i!=null&&i!==""&&n.headers.set(Nd,String(i))}})}function xd(e){if(!e)return!1;try{return e.getInstance(a.SECURITY_MODULE_ID)!==void 0}catch{return!1}}var kd="Invalid standaloneKey.",lm=a.createIdentifier$1("StandaloneMockGuard");function Fd(){const e=new Error(kd);return e.name="InvalidStandaloneKeyError",e}function Bd(e){e.addService(a.REQUEST_HANDLER_ID,{execute:()=>{if(xd(e))throw Fd()}})}function jd(e){a.registerRestTransport(e),Bd(e)}function Ud(e){const t=new Rr;e.inject(a.INIT_PIPELINE_ID,t);let n;const r=e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(i=>{i&&(i.signal!==void 0&&(n=i.signal),t.configure({replaceSession:!0,...i.timeouts!==void 0?{timeouts:i.timeouts}:{},...n!==void 0?{signal:n}:{}}))}),s=e.getInstance(a.DISPOSABLE_ID);r&&s?.addDisposable(r),s?.addDispose(()=>{t.abort()})}var Hd=Ae("plugin.dataSource.blocks"),$d=Ae("plugin.dataSource.blockRevisions"),Gd=Ae("plugin.dataSource.comments"),Vd=Dr(),Yd=Dr(),fs=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2085
+ `));return{html:nl(t.html),hasBrowserExtensionArtifacts:t.found}}function yt(e){return e?.getContent()??""}function Fr(e,t){e?.mutate({content:Xn(t)},{source:"remote"})}function kr(e){return a.createIdentifier$1(e)}function Z(e,t){return e.getOrCreateInstance(t,()=>new a.AsyncEmitter)}function $(e,t){return e.getOrCreateInstance(t,()=>new a.AsyncEmitter).event}function St(e,t,n,r){return{html:e,guid:t,...Object.keys(n).length>0?{templateDirectivesPolicy:n}:{},...r!==void 0?{rev:r}:{}}}var rl=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}},sl=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(a.createAbortError("Superseded by newer show()")),n.aborted?Promise.reject(a.createAbortError(n.reason)):(this._activeRequest=e,new Promise((r,s)=>{const i=setTimeout(()=>{this._settle(e.showId,()=>{s(new rl(e.showId,t))})},t);i.unref?.();const o=()=>{this._settle(e.showId,()=>{s(a.createAbortError(n.reason))})};n.addEventListener("abort",o,{once:!0});const c=()=>{clearTimeout(i),n.removeEventListener("abort",o)};this._pending.set(e.showId,{request:e,resolve:r,reject:s,timeoutId:i,dispose:c});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 il(e,t){return{contentReady:t.contentReady??e?.contentReady,sandboxReady:t.sandboxReady??e?.sandboxReady,sandbox:t.sandbox?{...e?.sandbox,...t.sandbox}:e?.sandbox}}function ol(e){if(!e||!(e.contentReady!==void 0||e.sandboxReady!==void 0||e.sandbox!==void 0))return;const t=jn(e),n=Un(e),r=Zi(e.sandbox);t<n+r}var Br=class{_controller=new AbortController;_externalSignalDisposable=new a.Disposable;_sessionChangeListeners=new Set;_showRegistry=new sl;_timeouts;_generation=0;_sessionStarted=!1;get signal(){return this._controller.signal}get generation(){return this._generation}get contentReadyTimeoutMs(){return jn(this._timeouts)}getSandboxTimeoutMs(e){return Bn(e,this._timeouts?.sandbox)}getSandboxReadyTimeoutMs(){return Un(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=il(this._timeouts,e.timeouts),ol(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??a.createAbortError("Editor instance destroyed");this._showRegistry.rejectAll(t),this._controller.signal.aborted||(this._controller.abort(t),this.bumpGeneration()),this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new a.Disposable}_replaceSessionController(){this._externalSignalDisposable.dispose(),this._externalSignalDisposable=new a.Disposable,this._showRegistry.rejectAll(a.createAbortError("Init session replaced")),this._controller.signal.aborted||this._controller.abort(a.createAbortError("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??a.createAbortError()),this.bumpGeneration());return}const t=()=>{this._controller.signal.aborted||(this._controller.abort(e.reason??a.createAbortError()),this.bumpGeneration())};e.addEventListener("abort",t),this._externalSignalDisposable.addDispose(()=>{e.removeEventListener("abort",t)})}},wt=(()=>{const e=new Br;return e.configure({}),e})(),al=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 ll(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 cl(e,t,n){return e.isInited()&&e.getTarget()?Promise.resolve():(a.throwIfAborted(n),new Promise((r,s)=>{let i=!1,o,c;const l=d=>{i||(i=!0,o!==void 0&&(clearTimeout(o),o=void 0),c?.dispose(),n?.removeEventListener("abort",u),d())},u=()=>{l(()=>s(a.createAbortError(n?.reason)))};if(c=e.onInit(()=>{e.isInited()&&e.getTarget()&&l(()=>r())}),e.isInited()&&e.getTarget()){l(()=>r());return}t>0&&(o=setTimeout(()=>{l(()=>s(new al(t)))},t)),n?.addEventListener("abort",u)}))}var dl=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 ul(e,t,n){return t<=0?e:new Promise((r,s)=>{let i=!1,o;const c=l=>{i||(i=!0,o!==void 0&&(clearTimeout(o),o=void 0),l())};o=setTimeout(()=>{c(()=>s(new dl(n,t)))},t),e.then(l=>{c(()=>r(l))},l=>{c(()=>s(l))})})}var fl=2,Ve=Symbol("sandbox:frame-replaced");function te(e,t,n,r,s,i,o){const c=`sandbox:${t}`,l=i?.getSandboxTimeoutMs(t)??dt[t],u=()=>{let S=ul(e.sendAsync(n,r),l,c);return S=a.raceWithAbortSignal(S,i?.signal),Ie(c,S,s)};if(t==="INIT_START"&&ll(e)){const S=i?.getSandboxReadyTimeoutMs()??2e4,E=e,g=b=>{const _=cl(E,S,i?.signal);return Ie("sandbox:INIT_START:ready-wait",_,s).then(()=>{if(!o||b<=0)return u();const w=o.getGeneration();let P;const D=new Promise((I,f)=>{P=o.onChange(()=>{o.getGeneration()!==w&&f(Ve)})}),h=u();return h.catch(()=>{}),Promise.race([h,D]).finally(()=>P?.()).catch(I=>{if(I!==Ve)throw I;return{...s},g(b-1)})})};return g(fl)}if(!o)return u();const d=o.getGeneration();let p;const m=new Promise((S,E)=>{p=o.onChange(()=>{o.getGeneration()!==d&&E(Ve)})}),v=u();return v.catch(()=>{}),Promise.race([v,m]).finally(()=>p?.()).catch(S=>{throw S===Ve&&{...s},S})}var pl=[["brace-percent",/<!--\{%/],["brace-hash",/<!--\{#/],["proscript",/<!--\[%/],["getresponse",/<!--\[\[(?:if|else\]\]|endif\]\])/i],["mailchimp",/<!--\*\|/],["expert-sender",/<!--<\/?(?:if|else|var)/i]],ml=200;function hl(e=new Set){const t=new Set;return(n,r)=>{if(!pl.some(([i,o])=>!e.has(i)&&o.test(n)))return;const s=r??`new:${n.length}:${n.slice(0,200)}`;t.has(s)||(t.size>=ml&&t.clear(),t.add(s))}}function gl(){return{isConfigured:()=>!1,toEditorForm:e=>e,toOutputForm:e=>e,keepWrappedOnOutput:new Set,editorPolicy:{},warnAboutUnconfiguredInput:hl()}}var El=gl();function ge(e){return e?.getInstance(a.TEMPLATE_DIRECTIVES_ID)??El}function vl(e){const t=ie(e),n=Y(e),r=()=>e.getInstance(a.INIT_PIPELINE_ID)??wt;let s,i,o=!1,c=!1;const l=async(_,w,P)=>{const D=P.generation,h=()=>P.generation!==D||P.signal.aborted||t.current()!==_||c,I=oe(n);o=!0;try{if(await te(n,"INIT_START",a.EVENT_TYPES.SANDBOX_INIT_START,{guid:w},void 0,P),h())return;const{html:f,hasBrowserExtensionArtifacts:y}=xr(yt(_));if(y&&Z(e,a.events.ON_BROWSER_EXTENSION_DETECTED_ID).fire(),Fr(_,f),await te(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,St(yt(_),w,ge(e).editorPolicy,_.get().version),void 0,P),h())return;await te(n,"INITED",a.EVENT_TYPES.SANDBOX_INITED,{guid:w},void 0,P),s=w,i=I}finally{o=!1}},u=()=>re(t.sessionKey())?t.current():void 0,d=()=>{if(c||o)return;const _=u(),w=_?.get().docId;if(!_||!w||s===w&&i===oe(n)||!_.isReady())return;const P=r();P.signal.aborted||l(_,w,P).catch(()=>{})};let p=!1;const m=()=>{p||c||(p=!0,queueMicrotask(()=>{p=!1,d()}))};let v,S;const E=()=>{const _=u(),w=_?.get().docId;w!==S&&(v?.(),S=w,v=_?.subscribe(m)),m()},g=t.subscribe(E),b=Pr(n,m);E(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{c=!0,b(),v?.(),g()})}var bl=200;function _l({startVersion:e,limit:t=bl}){let n=[],r=e;const s=i=>{n=n.filter(o=>o.version>i),r=Math.max(r,i)};return{record(i){!i.changes?.length&&!i.contentReplaced||(n.push(i),n.length>t&&s(n[n.length-t-1].version))},rebase(i,o){if(o<r)return null;const c=n.filter(u=>u.version>o);s(o);let l=i;for(const u of c){if(u.fromCanvas||u.contentReplaced||!u.changes)return null;const d=u.changes,p=[];for(const m of l){const v=uo(m.range,d,"after");if(!v)return null;p.push({range:v,text:m.text})}l=p}return l}}}function yl(e,t){let n=0;return e.map(({start:r,end:s,text:i})=>{const o=new Q(r,t.slice(r,s),r+n,i);return n+=i.length-(s-r),o})}function Sl(e,t){const n=[...e].sort((r,s)=>r.range.start-s.range.start);return yl(n.map(({range:r,text:s})=>({start:r.start,end:r.end,text:s})),t)}function wl(e){return[...e].sort((t,n)=>n.oldPosition-t.oldPosition).map(t=>({range:{start:t.oldPosition,end:t.oldEnd},text:t.newText}))}var It=a.createIdentifier$1("canvas.sandboxFill");function jr(e){return e.getInstance(It)?.pipeline.isEventsLocked()===!0}function Tt(e){ke(e,{origin:"canvas-channel"})}function Il(e){const t=ie(e),n=Y(e);let r;const s=(l,u)=>{const d=l.get().docId;let p=!1,m=null,v=null;const S=_l({startVersion:l.get().version});let E=l.getContent();const g=async(D,h)=>{if(v){v.push({edits:D,rev:h});return}v=[{edits:D,rev:h}];try{do{const I=v.splice(0,v.length);await n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:I.map(f=>f.edits),guid:d,rev:I[I.length-1].rev})}while(v.length)}finally{v=null}},b=(D,h)=>{const I=v?.splice(0,v.length)??[];I.length&&n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:I.map(f=>f.edits),guid:d,rev:I[I.length-1].rev}).catch(Tt),n.sendAsync(a.EVENT_TYPES.SANDBOX_UPDATE_ENTITY,{edits:[D],guid:d,rev:l.get().version,...h!==null?{changeId:h}:{}}).catch(Tt)},_=D=>{const{guid:h,pushUndoStop:I}=D;if(h!==d)return;const f=So(D);let{edits:y}=D;if(f.baseRev!==null){const L=S.rebase(y,f.baseRev);if(!L){ke(new Error("canvas batch conflicts with newer document changes"),{origin:"canvas-channel"}),b([],f.changeId);return}y=L}const A=l.get().version;try{p=!0,m=f.changeId;const L=Sl(y,l.getContent());I===!1?u.applyWithoutHistory(L):l.mutate({changes:L},{source:jr(e)?"system":"user"})}finally{p=!1,m=null}l.get().version===A&&f.baseRev!==null&&b([],f.changeId)},w=l.subscribe(({changes:D,version:h})=>{const I=l.getContent(),f=!D?.length&&I!==E;if(E=I,S.record({version:h,changes:D,contentReplaced:f,fromCanvas:p}),!D?.length)return;const y=wl(D);p?b(y,m):g(y,h).catch(Tt)}),P=n.addListener(a.EVENT_TYPES.APPLICATION_UPDATE_ENTITY,_);return()=>{w(),P.dispose()}};let i;const o=()=>{const l=t.current(),u=t.history(),d=l?.get().docId;d!==i&&(r?.(),r=void 0,i=d,l&&u&&(r=s(l,u)))},c=t.subscribe(o);o(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r?.(),c()})}var Tl=300,Al=15e3,Ur="em-canvas-busy-style";function Cl(){if(document.getElementById(Ur))return;const e=document.createElement("style");e.id=Ur,e.textContent="@keyframes em-canvas-busy-spin{to{transform:rotate(360deg)}}",document.head.appendChild(e)}function Pl(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(){Cl(),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 Dl=8e3;function Rl(){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 Ol=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 Ll(e,t,n,r,s){const i=n.readyTimeoutMs??Dl,o=document.createElement("div");o.dataset.canvasHost=e,r&&(o.dataset.canvasPlace=r),o.style.position="fixed",o.style.overflow="hidden",o.style.visibility="hidden";const c=n.resolveSrc(e),l=document.createElement("iframe");l.setAttribute("sandbox",n.resolveSandbox(c)),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=c,o.appendChild(l),t.appendChild(o),n.mark?.("created"),s||n.onCreated?.(l);const u=new a.Disposable;let d=!1,p=!1,m,v,S,E;const g=()=>{clearTimeout(E),E=setTimeout(()=>{p||(p=!0,v?.(new Error(`[canvas] ${e}: документ не загрузился за ${i} мс`)))},i)},b=()=>d?(S=Promise.resolve(),p=!0,S):(p=!1,S=new Promise((M,j)=>{m=M,v=j}),g(),S),_=()=>{if(clearTimeout(E),d=!0,p){S=Promise.resolve();return}p=!0,n.mark?.("loaded"),m?.()};l.addEventListener("load",_),u.addDispose(()=>{clearTimeout(E),l.removeEventListener("load",_)});let w;const P=()=>{w??=n.bindResizer?.(l)};let D=null,h=null,I;const f=()=>{if(!D){o.style.visibility="hidden",l.removeAttribute("id");return}n.elementId&&(l.id=n.elementId);const M=D.getBoundingClientRect(),j=h?.isConnected?h:Ol(D),B=j?j.getBoundingClientRect():null,V=B?Math.max(M.top,B.top):M.top,de=B?Math.min(M.bottom,B.bottom):M.bottom,nt=Math.max(0,de-V);o.style.visibility=nt>0?"visible":"hidden",o.style.left=`${M.left}px`,o.style.top=`${V}px`,o.style.width=`${M.width}px`,o.style.height=`${nt}px`,l.style.transform=`translateY(${M.top-V}px)`};let y="",A="",L=0,F;const z=()=>{if(!D){F=void 0;return}F=window.requestAnimationFrame(z);const M=D.getBoundingClientRect(),j=h?.isConnected?h.getBoundingClientRect():void 0,B=`${Math.round(M.left)}:${Math.round(M.top)}:${Math.round(M.width)}:${Math.round(M.height)}:${j?`${Math.round(j.top)}:${Math.round(j.height)}`:"-"}`;B!==y&&(y=B,f());const V=l.getBoundingClientRect().height;V>0&&V!==L&&(L=V,D.style.height=`${V}px`);const de=getComputedStyle(D).pointerEvents;de!==A&&(A=de,o.style.pointerEvents=de)},C=()=>{F===void 0&&D&&(F=window.requestAnimationFrame(z))},T=()=>{F!==void 0&&(window.cancelAnimationFrame(F),F=void 0)},O=()=>f();let N=[];const k=(M,j)=>{if(h=j,M&&N.length>0){const B=N;N=[],B.forEach(V=>V())}if(M===D){f();return}if(I?.disconnect(),I=void 0,D&&D.style.removeProperty("height"),y="",L=0,A="",D=M,!M){T(),f();return}n.onShown?.(l);try{if(typeof ResizeObserver=="function"){const B=new ResizeObserver(f);typeof B.observe=="function"&&(I=B,I.observe(M))}}catch{I=void 0}f(),P(),C()};window.addEventListener("scroll",O,!0),window.addEventListener("resize",O),u.addDispose(()=>{I?.disconnect(),F!==void 0&&window.cancelAnimationFrame(F),window.removeEventListener("scroll",O,!0),window.removeEventListener("resize",O)});const W=M=>{d=!1,M&&n.onReload?.(l);let j;p||S===void 0?j=b():(g(),j=S);try{l.contentWindow?.location.reload()}catch{l.src=c}return j};return{element:l,ready(){return S??b()},reload:()=>W(!0),reloadQuietly:()=>W(!1),get shown(){return D!==null},whenShown(){return D!==null?Promise.resolve():new Promise(M=>{N.push(M)})},alignTo(M,j){k(M,j??null)},scrollBy(M,j){for(let B=D?.parentElement??null;B;B=B.parentElement){const V=getComputedStyle(B);if((V.overflowY==="auto"||V.overflowY==="scroll")&&B.scrollHeight>B.clientHeight){B.scrollBy({left:M,top:j,behavior:"instant"});return}}window.scrollBy({left:M,top:j,behavior:"instant"})},resize(){w?.resize()},dispose(){k(null,null),w?.dispose(),u.dispose(),o.remove()}}}function Nl(e){const t=new Map;let n="a";const r=()=>n==="a"?"b":"a",s=(d,p)=>d==="email"?`email:${p??n}`:d;let i,o=[];const c=()=>{o.forEach(d=>clearTimeout(d)),o=[],i?.remove(),i=void 0},l=new Map,u=(d,p,m)=>{const v=s(d,p),S=t.get(v);if(S)return S;const E=e.resolveMount();if(!E)return Rl();const g=Ll(d,E,e,d==="email"?p??n:void 0,m);return t.set(v,g),g};return{get:d=>u(d),current:d=>u(d),peek:d=>t.get(s(d)),spare:()=>t.get(s("email",r())),ensureSpare:()=>u("email",r(),!0),promote(){const d=t.get(s("email",r()));if(!d)return;const p=t.get(s("email"));n=r();const m=l.get("email");d.alignTo(m?.slot??null,m?.clip??null),p?.alignTo(null)},alignSurface(d,p,m){l.set(d,{slot:p,clip:m??null}),(p?u(d):t.get(s(d)))?.alignTo(p,m??null)},visible(){for(const d of t.values())if(d.shown)return d},byWindow(d){if(d){for(const p of t.values())if(p.element.contentWindow===d)return p}},busy(d){c();const p=d?e.resolveMount():void 0;if(!p)return;const m=Pl(p);i=m,o=[setTimeout(()=>m.showSpinner(),Tl),setTimeout(c,Al)]},dispose(){c(),t.forEach(d=>d.dispose()),t.clear(),l.clear(),n="a"}}}var Ml=a.createIdentifier$1("canvas.resizerBinder"),At=a.createIdentifier$1("canvas.service"),xl={created:q.canvasCreated,loaded:q.canvasLoaded};function Fl(e,t){if(e.getInstance(At))return;const n=Nl({resolveMount:()=>t.resolveMount(),resolveSrc:s=>t.resolveSrc(s),resolveSandbox:Fa,elementId:t.elementId,bindResizer:s=>e.getInstance(Ml)?.(s),onCreated:s=>Ye(e,s,"fresh"),onReload:s=>Ye(e,s,"fresh"),onShown:s=>Ye(e,s,"switch"),mark:s=>t.mark?.(xl[s])}),r=Y(e).addListener(a.EVENT_TYPES.SANDBOX_WHEEL,s=>{n.visible()?.scrollBy(s?.deltaX??0,s?.deltaY??0)});e.inject(At,n),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r.dispose(),n.dispose()})}function Ye(e,t,n){const r=Y(e),s=t.contentWindow;if(!s)return;const i=r.getTarget()===s;i&&n==="switch"||(n==="fresh"&&(r.forget(s),i&&r.setTarget(void 0)),r.setTarget(s),ba(r))}function kl(e,t){Ye(e,t,"promote")}function Bl(e,t){const n=t.contentWindow;n&&Y(e).greet(n)}function jl(e,t){const n=t.contentWindow;n&&Y(e).forget(n)}function ae(e){return e.getInstance(At)}function Ul(e){const t=Y(e),n=()=>ae(e)?.byWindow(t.getTarget()),r=t.addListenerAsync(a.EVENT_TYPES.RELOAD,async()=>{await n()?.reload()}),s=t.addListener(o=>{o.data?.operation===a.EVENT_TYPES.SANDBOX_RESIZED&&n()?.resize()}),i=$(e,a.events.ON_EMAIL_INIT_ID)(()=>{n()?.resize()});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r.dispose(),s.dispose(),i.dispose()})}var Em=a.createIdentifier$1("HeadlessMode"),Hl=a.createIdentifier$1("HiddenMount");function $l(e){return e.getOrCreateInstance(Hl,()=>pe(!1))}function Hr(){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 Gl(e){const t=e.getInstance(a.OPTIONS_SOURCE_ID);let n,r;e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{r?.remove(),r=void 0}),Fl(e,{resolveMount:()=>n,resolveSrc:i=>Or(i==="block"),elementId:"email_iframe",mark:i=>H(i)}),t?.watch(i=>{if(n)return;const o=i?.element;if(o instanceof HTMLElement)n=o;else if(i!==void 0)n=r??=Hr();else return;ae(e)?.get("email")});let s;e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{s?.remove(),s=void 0}),$l(e).watch(i=>{const o=ae(e);if(o){if(i){s??=Hr(),o.alignSurface("email",s,s);return}s&&(o.alignSurface("email",null),s.remove(),s=void 0)}})}var $r=a.createIdentifier$1("canvas.headerFlow"),Gr=["subject","preheader"],Vl=3e3,Yl={subject:a.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,preheader:a.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE};function zl(e){const t=ie(e),n=Y(e),r=E=>E?"remote":jr(e)?"system":"user",s=(E,{guid:g,value:b,forced:_})=>{const w=we(t);if(!w||typeof b!="string"||g&&g!==w.get().docId)return;const P=t.forcedHeaders();if(P?.[E]&&!_&&b!==P[E])return;_&&t.endForcedHeaders();const D=w.get().attributes[E]??"";c=!0;try{Ue(w,{[E]:b},{source:r(_)})}finally{c=!1}i[E]=b,Z(e,a.events.ON_HEADER_APPLIED_ID).fire({field:E,value:b,forced:!!_,isGenerated:b!==D&&!!b})};let i={},o,c=!1,l=Promise.resolve();const u=(E,g,b)=>{l=n.sendAsync(Yl[E],{value:g,guid:we(t)?.get().docId,...b?{force:!0,echo:!0}:{}}).catch(_=>{})};let d;e.inject($r,{whenDelivered:async()=>{await l},reassert:E=>{const g=we(t),b=Gr.filter(_=>E[_]);if(!(!g||b.length===0)){c=!0;try{Ue(g,Object.fromEntries(b.map(_=>[_,E[_]])),{source:"system"})}finally{c=!1}t.beginForcedHeaders({subject:E.subject??"",preheader:E.preheader??""}),clearTimeout(d),d=setTimeout(()=>t.endForcedHeaders(),Vl);for(const _ of b)i[_]=E[_],u(_,E[_],!0)}}});const p=()=>{o?.(),o=void 0;const E=we(t);if(!E){i={};return}const g=E.get().attributes;i={subject:g.subject,preheader:g.preheader},o=E.subscribe(({source:b})=>{if(c)return;const _=E.get().attributes,w=t.forcedHeaders();for(const P of Gr){const D=_[P];D!==i[P]&&(i[P]=D,u(P,D??"",b==="system"&&w?.[P]!==void 0))}})};p();const m=t.subscribe(p),v=n.addListenerAsync(a.EVENT_TYPES.APPLICATION_SUBJECT_UPDATE,E=>s("subject",E)),S=n.addListenerAsync(a.EVENT_TYPES.APPLICATION_PREHEADER_UPDATE,E=>s("preheader",E));e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{v.dispose(),S.dispose(),m(),o?.(),clearTimeout(d)})}function Vr(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Ct(e,t){const n={...e};for(const r of Object.keys(t)){const s=t[r],i=e[r];Vr(s)&&Vr(i)?n[r]=Ct(i,s):s!==void 0&&(n[r]=s)}return n}function ql(e,t){const n=a.COMMON_STYLES;if(typeof e=="string"){const r=e.trim();if(r.startsWith("{"))try{const s=JSON.parse(r);if(s&&typeof s=="object"&&!Array.isArray(s)&&Object.keys(s).length>0)return Ct(n,s)}catch{}}return t&&typeof t=="object"&&!Array.isArray(t)?Ct(n,t):n}function Wl(){const e=window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_color_scheme),t=matchMedia("(prefers-color-scheme: dark)").matches?a.DARK:a.LIGHT;return e&&e!=="system"?e:t}function Kl(){const e=window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.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 Xl(e){const{config:t}=e;return{operation:a.EVENT_TYPES.UPDATE_PREVIEW,theme:e.theme,commonStyles:ql(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 Jl(e){const t=Y(e),n=e.getInstance(a.CONFIG_SOURCE_ID),r=e.getInstance(a.OPTIONS_SOURCE_ID),s=ie(e);let i,o="";const c=()=>{const b=n?.get()??{},_=Xl({config:b,emailCommonStyles:s.current()?.get().attributes?.common_styles,defaultCommonStyles:i,theme:Wl(),codeMode:Kl(),appName:"emailmaker"}),w=JSON.stringify(_);w!==o&&(o=w,t.send(_))},l=t.onInit(()=>{o="",c()}),u=()=>{t.isInited()&&c()},d=n?.watch(u),p=r?.watch(b=>{i=b?.commonStyles,u()});let m;const v=()=>{m?.(),m=s.current()?.subscribe(u),u()};v();const S=s.subscribe(v),E=matchMedia(a.PREFERS_COLOR_SCHEME_DARK),g=()=>u();E.addEventListener("change",g),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{l.dispose(),d?.dispose(),p?.dispose(),m?.(),S(),E.removeEventListener("change",g)})}var Pt;(function(e){function t(s,i,o=(c,l)=>c===l){if(s===i)return!0;if(s.length!==i.length)return!1;for(let c=0;c<s.length;c++)if(!o(s[c],i[c]))return!1;return!0}e.isEqual=t;function n(s,i=o=>o){const o=new Set;return s.filter(c=>{const l=i(c);return o.has(l)?!1:(o.add(l),!0)})}e.unique=n;function r(s=[],i=[],o=(c,l)=>c===l){const c=[],l=[],u=[];for(const d of s){const p=i.find(m=>o(d,m));p?u.push({prev:d,next:p}):l.push(d)}for(const d of i)s.find(p=>o(d,p))||c.push(d);return{added:c,removed:l,exists:u}}e.diff=r})(Pt||(Pt={}));function Ql(e,t){return e.type===t.type&&e.key===t.key}function Zl(e){const t=Y(e),n=()=>e.getServices(a.SANDBOX_EXTENSIONS_ID)??[];let r=[];const s=t.onInit(()=>{r=n(),t.send(a.EVENT_TYPES.SANDBOX_ADD_EXTENSIONS,r)}),i=a.getServiceContainerId(a.SANDBOX_EXTENSIONS_ID),o=e.onInject(c=>{if(c!==i)return;const l=n();if(!t.isInited()){r=l;return}const{added:u,removed:d}=Pt.diff(r,l,Ql);if(r=l,d.length){if(d.some(p=>p.type==="script")){t.send(a.EVENT_TYPES.RELOAD);return}t.send(a.EVENT_TYPES.SANDBOX_REMOVE_EXTENSIONS,d.map(p=>p.key))}u.length&&t.send(a.EVENT_TYPES.SANDBOX_ADD_EXTENSIONS,u)});e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{s.dispose(),o?.dispose()})}var ec=a.createIdentifier$1("prewarm.editorVisible");function tc(e){if(typeof requestAnimationFrame!="function"){setTimeout(e,0);return}requestAnimationFrame(()=>requestAnimationFrame(e))}function nc(e={}){const t=e.paint??tc;let n=!1,r=!1,s=!1,i=!1,o=!1;const c=[],l=()=>{o||i||!n||!r||!s||(i=!0,t(()=>{o=!0,H(q.editorVisible);for(const u of c.splice(0))u()}))};return{noteShellVisible(){n=!0,l()},notePagePainted(){r=!0,l()},noteContentShown(){s=!0,l()},whenVisible(u){if(o){u();return}c.push(u)},contentShown:()=>s}}function rc(e){return e.getOrCreateInstance(ec,()=>nc())}var sc=500,ic=500,oc=5e3;function ac(e){const t=e.quietMs??sc,n=e.floorMs??ic,r=e.ceilingMs??oc;let s,i,o=0;const c=()=>{clearTimeout(s),clearTimeout(i),s=void 0,i=void 0},l=()=>{c(),e.run()},u=()=>{clearTimeout(s);const d=n-(Date.now()-o);s=setTimeout(l,Math.max(t,d))};return{start(){c(),o=Date.now(),i=setTimeout(l,r),u()},notify(){s!==void 0&&u()},cancel:c}}function lc({attributes:e,readContent:t,docId:n,hasSession:r,serverId:s,show:i}){if(!r)return;const o={id:s??void 0,renderGuid:n,showId:i?.id,isNew:s==null,showToken:i?.token},c={...e,...o};return Object.defineProperty(c,"html",{get:()=>t()??"",enumerable:!0,configurable:!0}),c}var Yr="self-init:";function cc(e){return e.startsWith(Yr)}function zr(e,t){const n=e.getActiveShowRequest();return cc(t)?n===null:n?.showId===t&&e.hasPendingShow(t)}function dc(e){const t=()=>e.initPipeline(),n=e.messageService,r=()=>e.waitScope?.()??t();let s="";const i=()=>e.readDocument()?yt(e.readDocument()):s,o=()=>ge(e.container).editorPolicy,c=()=>e.readEmail(),l=()=>{const u=c();return{...u,id:e.isTemplate()||u.isNew?void 0:u.id,html:i()}};return{readContent:i,publicEmail:l,sendInitStart:()=>te(n,"INIT_START",a.EVENT_TYPES.SANDBOX_INIT_START,{guid:c().renderGuid},void 0,r()),sendInited:()=>te(n,"INITED",a.EVENT_TYPES.SANDBOX_INITED,{guid:c().renderGuid},void 0,r()),async sendContent(){const u=c(),{html:d,hasBrowserExtensionArtifacts:p}=xr(u?.html||"");p&&e.events.browserExtensionDetected(),Fr(e.readDocument(),d),s=d,await te(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,St(i(),u.renderGuid,o(),e.readDocument()?.get().version),{guid:u.renderGuid,emailId:u.id??null},r())},refreshContent:()=>te(n,"SET_ENTITY",a.EVENT_TYPES.SANDBOX_SET_ENTITY,St(i(),c().renderGuid,o(),e.readDocument()?.get().version),void 0,r()),sendPreheader:async()=>{const u=c();if(u.preheader!==void 0)return te(n,"PREHEADER",a.EVENT_TYPES.SANDBOX_PREHEADER_UPDATE,{value:u.preheader,guid:u.renderGuid,force:!0},void 0,r())},sendSubject:async()=>{const u=c();if(u.subject!==void 0)return te(n,"SUBJECT",a.EVENT_TYPES.SANDBOX_SUBJECT_UPDATE,{value:u.subject,guid:u.renderGuid,force:!0},void 0,r())},revealFilled:()=>e.revealFilled?.()??Promise.resolve(),showFilled:u=>e.showFilled?.(u),readTarget:()=>e.readTarget?.(),fireWillInit:()=>e.events.willInit(l()),fireInit(u,d){if(!zr(t(),u)){t().getActiveShowRequest()?.showId;return}const p=c();p.id,p.renderGuid,t().completeShow(u),Ue(e.readDocument(),{is_inited:!0},{source:"system"});const m=l();return d&&(m.reset=!0),e.events.inited(m)},fireEmailChanged(){e.events.emailChanged(l())},fireContentChanged(){e.events.contentChanged(i())}}}function uc(e){const t=()=>e.initPipeline();let n=!1,r,s,i,o=0,c;const l=dc({...e,waitScope:()=>({getSandboxTimeoutMs:g=>t().getSandboxTimeoutMs(g),getSandboxReadyTimeoutMs:()=>t().getSandboxReadyTimeoutMs(),signal:c?.signal??t().signal})});let u;const d=(g,b)=>{if(u===g)return;u=g;const _=o;setTimeout(()=>{o!==_||t().signal.aborted||S(g,b).catch(()=>{})},0)},p=()=>{c?.abort(),c=void 0};let m;const v=()=>{const g=t().signal;g!==m&&(m?.removeEventListener("abort",p),m=g,g.addEventListener("abort",p))};async function S(g,b){const _=++o;p(),c=new AbortController,v();const w=()=>o!==_,P=l.readTarget(),D=t().generation,h=()=>D===t().generation&&!t().signal.aborted,I=b?"init:reset-":"init:";if(!b){const A=l.publicEmail();A?.id,A?.renderGuid,A?.preheader}let f=!1,y=!1;try{n=!0,await l.sendInitStart(),l.fireWillInit(),await(b?l.refreshContent():l.sendContent()),f=!0,b||l.publicEmail()?.id;try{await l.sendPreheader()}catch(A){`${I}`,String(A)}try{await l.sendSubject()}catch(A){`${I}`,String(A)}if(w()||l.showFilled(P),await l.sendInited(),y=!0,s===g){const A=e.readSandboxGeneration?.()??i;A!==void 0&&(r=A)}await l.revealFilled()}catch(A){throw w()||(`${I}`,{...e.describeSurface?.(),error:String(A)},void 0),!w()&&zr(t(),g)&&t().failShow(g,A),A}finally{E(g,b,I,{superseded:w(),sessionGeneration:D,contentApplied:f,sandboxInitedAcked:y,commit:h()})}}function E(g,b,_,w){const{superseded:P,contentApplied:D,sandboxInitedAcked:h}=w;if(P){`${_}`;return}h&&w.commit?l.fireInit(g,b||void 0):h?(`${_}`,w.sessionGeneration,t().generation,t().signal.aborted,void 0):D?(`${_}`,void 0):(`${_}`,void 0),n=!1,c=void 0,!h&&s===g&&(s=void 0,r===i&&(r=void 0)),!h&&D&&d(g,b)}return{channel:l,isEventsLocked:()=>n,filledGeneration:()=>r,markFilled:g=>{r=g},lastCorrelation:()=>s,markCorrelation:g=>{s=g},bumpRunSeq:()=>{o+=1},noteSandboxGeneration:g=>{i=g},fill:g=>S(g,!1),refill:g=>S(g,!0),stop:()=>{o+=1,p(),n=!1,m?.removeEventListener("abort",p),m=void 0}}}function fc(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:qr(e,n)}function qr(e,t){return t?e?.id==null?!1:String(e.id)===String(t):!0}function pc(e){const{pipeline:t,readEmail:n,readDocument:r,readRouteEmailId:s,readSandboxGeneration:i}=e,o=d=>{const p=n(),m=s();if(!fc(p,d,m)){d.showId,d.navId,d.emailId,p?.id,p?.showId,p?.renderGuid;return}d.showId,p?.id,p?.renderGuid,t.markFilled(i()),t.markCorrelation(d.showId),t.fill(d.showId).catch(()=>{})};return{showRequested:d=>{o(d)},showRequestIdentityChanged:()=>{const d=e.initPipeline().getActiveShowRequest();d&&o(d)},selfInitChanged:()=>{if(e.initPipeline().getActiveShowRequest())return;const d=i();if(t.filledGeneration()===d)return;const p=n(),m=s();if(!p?.renderGuid||!qr(p,m))return;const v=`${Yr}${p.renderGuid}`;t.markFilled(d),t.markCorrelation(v);const S=r()?.isReady()===!0;p.id,p.renderGuid,(S?E=>t.refill(E):E=>t.fill(E))(v).catch(()=>{t.lastCorrelation()===v&&t.markFilled(void 0)})},saasChanged:()=>{const d=n();d?.renderGuid,d?.showToken,d?.id}}}function mc(e){return e??""}function hc(e,t,n,r){return[e??"",t??"",n==null?"":String(n),r??""].join("|")}function gc(e){const t=ie(e),n=Y(e),r=()=>re(t.sessionKey())?void 0:t.current(),s=()=>{const R=r();return lc({attributes:R?.get().attributes??{},readContent:()=>R?.getContent(),docId:R?.get().docId,hasSession:!!R,serverId:R?.get().serverId,show:t.showFacts()})},i=()=>e.getInstance(a.INIT_PIPELINE_ID)??wt;let o={},c=!1;const l=e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(R=>{c=!!R?.element});let u=!1,d=!1,p=!1,m=0;const v=()=>{const R=ae(e);if(!R)return;const G=++m,U=R.spare();return U&&jl(e,U.element),(U?U.reloadQuietly():R.ensureSpare()?.ready())?.then(()=>{if(G!==m)return;u=!0;const ee=R.spare();ee&&Bl(e,ee.element),p&&(p=!1,A(),k())})},S=ac({run:()=>{p||v()?.catch(()=>{})}}),E=()=>{rc(e).noteContentShown(),!u&&!p&&S.start()};let g=!1;const w=uc({container:e,messageService:n,initPipeline:i,readDocument:r,readEmail:s,revealFilled:()=>{const R=ae(e);return g&&R&&(g=!1,S.start()),c?R?.current("email").whenShown()??Promise.resolve():Promise.resolve()},showFilled:R=>{const G=ae(e),U=G?.spare()?.element.contentWindow;d&&G&&U&&R===U&&(d=!1,G.promote(),G.busy(!1),g=!0)},readTarget:()=>n.getTarget(),isTemplate:()=>!!o.isTemplate,readSandboxGeneration:()=>oe(n),describeSurface:()=>({canvasPath:y,promoted:d,spareClean:u,handshake:n.isInited(),generation:oe(n)}),events:{willInit:R=>{Z(e,a.events.WILL_EMAIL_INIT_ID).fire(R)},inited:R=>{E(),Z(e,a.events.ON_EMAIL_INIT_ID).fire(R)},contentChanged:R=>{Z(e,a.events.ON_CONTENT_CHANGED_ID).fire(R)},emailChanged:R=>{Z(e,a.events.ON_EMAIL_CHANGED_ID).fire(R)},browserExtensionDetected:()=>{Z(e,a.events.ON_BROWSER_EXTENSION_DETECTED_ID).fire()}}}),P=pc({pipeline:w,initPipeline:i,readEmail:s,readDocument:r,readRouteEmailId:()=>o.emailId,readSandboxGeneration:()=>oe(n)});let D="",h="",I="";const f=R=>R.length>0;let y="none";const A=()=>{const R=ae(e)?.spare();R&&(n.sendNow({operation:a.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!0}),u=!1,d=!0,kl(e,R.element))},L=(R,G)=>{const U=ae(e);if(!U)return!0;const ee=U.spare(),ue=ee&&u?"spare":"prepare";if(y=ue,U.busy(!0),ee&&u)return A(),!0;S.cancel(),n.sendNow({operation:a.EVENT_TYPES.SANDBOX_LOCK_EDIT,data:!0});const fe=v();if(fe===void 0)return y="reload",U.busy(!1),U.peek("email")?.reload(),!0;p=!0;const Sn=m;return fe.catch(()=>{!p||Sn!==m||(p=!1,y="reload",U.busy(!1),U.peek("email")?.reload())}),!1},F=()=>{de(),w.noteSandboxGeneration(oe(n));const R=s(),G=hc(R?.renderGuid,R?.showId,R?.id,o.emailId),U=mc(R?.renderGuid);if(U!==h){const fe=f(h),Sn=h;h=U,fe&&L(Sn,U)}if(p)return;G!==D&&(D=G,P.showRequestIdentityChanged());const ee=r(),ue=`${G}|${ee?.get().docId??""}|${oe(n)}`;ue!==I&&ee?.isReady()===!0&&(I=ue,P.selfInitChanged()),P.saasChanged(),O()};let z=!1,C="",T="";const O=()=>{const R=s();if(!R?.renderGuid)return;const G=w.channel.readContent(),U=JSON.stringify([R.preheader,R.common_styles,R.meta,R.subject,R.utm_parameters?.utm_campaign??"",R.utm_parameters?.utm_content??"",R.utm_parameters?.utm_medium??"",R.utm_parameters?.utm_source??"",R.utm_parameters?.utm_term??""]),ee=z&&G!==T,ue=z&&U!==C;if(z=!0,T=G,C=U,w.isEventsLocked())return;const fe={...R,id:o.isTemplate||R.isNew?void 0:R.id,html:G};if(ee){Z(e,a.events.ON_CONTENT_CHANGED_ID).fire(G),Z(e,a.events.ON_EMAIL_CHANGED_ID).fire(fe);return}ue&&R.is_inited&&Z(e,a.events.ON_EMAIL_CHANGED_ID).fire(fe)};let N=!1;const k=()=>{N||(N=!0,queueMicrotask(()=>{N=!1,F()}))};e.inject(It,{pipeline:w,setRoute:R=>{R.emailId===o.emailId&&!!R.isTemplate==!!o.isTemplate||(o=R,k())}});let W,M;const j=()=>{const R=r()?.get().docId;R!==M&&(W?.(),M=R,W=r()?.subscribe(k)),k()};let B,V;const de=()=>{const R=e.getInstance(a.INIT_PIPELINE_ID);!R||R===B||(V?.(),B=R,V=R.onShowRequested(G=>P.showRequested(G)))},nt=n.addListener(R=>{R.data?.operation===a.EVENT_TYPES.SANDBOX_RESIZED&&S.notify()}),im=t.subscribe(j),om=Pr(n,k);j(),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{l?.dispose(),V?.(),om(),im(),W?.(),nt.dispose(),S.cancel(),w.stop()})}function Ec(){return a.USEBLOCKS!=="emailmaker"}var Wr={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},Kr={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}},Xr=Kr,vc=["pro"],Jr={};function bc(e){Jr=e}var Qr=e=>vc.includes(e)?Xr:Jr[e]??Xr,Dt={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},_c={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},yc={...Dt,config:{...Dt.config,imageCenterFileManagerView:!1}};bc({pro:Kr,editor:_c,simple:Ec()?Dt:yc,freeUserBlocks:Wr,blocks:Wr});var Zr=new Set;function Sc(){return window.localStorage.getItem(a.LOCAL_STORAGE_ITEMS.em_color_scheme)??void 0}function wc(e){return Zr.add(e),e(Sc()),{dispose(){Zr.delete(e)}}}function Rt(e,t){return e.user.mode||e.serverSide.mode||t||"pro"}function Ic(e,t){return t.modeDefaults(Rt(e,t.fallbackMode))}function Tc(e,t){const n=Rt(e,t);return e.serverSide.advancedConfigs?.[n]||{}}function Ac(e,t){const n=Rt(e,t),r=e.user?.advancedConfigs?.[n],s=r!==void 0?r:e.user?.advancedConfigs?.pro;return{...e.advancedConfigs?.[n],...s}}function Cc(e){let t;for(const n of e)n?.fileManager&&(t={...t,...n.fileManager});return t}function Pc(e){return a.mergeResourceProxyLayers(e.map(t=>t?.resourceProxy))}function Dc(e){return a.mergeResourceProxyPolicyLayers(e.map(t=>t?.resourceProxyPolicy))}function Rc(e){return a.mergeBackendProxyLayers(e.map(t=>t?.backendProxy))}function Oc(e){return a.mergeShallowConfigLayers(e.map(t=>t?.backendProxyPolicy||{}).filter(Boolean))}function Lc(e,t){return[e.base,Ic(e,t),e.profile,e.serverSide,Tc(e,t.fallbackMode),e.user,Ac(e,t.fallbackMode),e.local]}function Ot(e,t){const n=Lc(e,t),r=a.mergeShallowConfigLayers(n),s=Cc(n);s!==void 0&&(r.fileManager=s);const i=Pc(n);i!==void 0&&(r.resourceProxy=i);const o=Dc(n);o&&Object.keys(o).length>0&&(r.resourceProxyPolicy=o);const c=Rc(n);c!==void 0&&(r.backendProxy=c);const l=Oc(n);return l&&Object.keys(l).length>0&&(r.backendProxyPolicy=l),r}var Nc=["backendProxy","backendProxyPolicy","resourceProxy","resourceProxyPolicy"];function es(e){return e==="server"?"serverSide":e}function Mc({env:e,base:t={},budgetMs:n}){const r={base:t,profile:{},serverSide:{},user:{},local:{},advancedConfigs:{}},s=pe();let i={kind:"pending"},o;const c=new Promise(m=>{o=m}),l=n===void 0?void 0:setTimeout(()=>{d({kind:"absent",reason:`серверный слой не пришёл за ${n} мс`})},n);function u(){i.kind!=="pending"&&s.set(Ot(r,e))}function d(m){if(i.kind!=="pending")return;clearTimeout(l),i=m;const v=Ot(r,e);s.set(v),o(v)}function p(m,v){r[es(m)]=v,m==="server"&&i.kind==="pending"?d({kind:"applied"}):u()}return{watch:m=>s.watch(m),select:m=>s.select(m),get:()=>s.get(),ready:()=>c,state:()=>i,layers:()=>({...r}),bootstrap(){const m=Ot(r,e);return Object.fromEntries(Nc.map(v=>[v,m[v]]))},merge(m,v){p(v,{...r[es(v)],...m})},replace(m,v){p(v,m)},setMode(m){r.user={...r.user,mode:m},u()},setAdvancedConfigs(m){r.advancedConfigs=m,u()},serverAbsent(m){d({kind:"absent",reason:m})},applyServerResponse(m){i.kind==="pending"&&p("server",{...r.serverSide,...m})},dispose(){clearTimeout(l)}}}var xc=5e3,vm="pro";function Fc(){return{...Qr("pro")?.config,mergeTags:void 0}}function kc(e,t){e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(n=>{t.setAdvancedConfigs({...n.advancedConfigs,...n.config?.advancedConfigs}),t.replace(n.config??{},"user")})}function Bc(e,t){let n;Er(e).watch(({profile:r})=>{const s=`${r?.theme??""}|${r?.locale??""}`;if(s===n)return;n=s;const i={};r?.theme&&(i.theme=r.theme),r?.locale&&(i.locale=r.locale),t.replace(i,"profile")})}function jc(e,t){let n=null;const r=wc(s=>{const i=typeof s=="string"&&s?s:void 0;i!==n&&(n=i,t.replace(i?{theme:i}:{},"local"))});e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r)}async function Uc(e,t){if(e.getInstance(at)===void 0){t.serverAbsent("app_init не зарегистрирован");return}try{const n=await e.getInstanceAsync(a.APP_ID);t.applyServerResponse(n?.app_config??{})}catch(n){t.serverAbsent(`app_init не выполнился: ${String(n)}`)}}function Hc(e){e.injectFactory(a.CONFIG_SOURCE_ID,(t,n)=>{if(n)return n;const r=Mc({base:Fc(),env:{modeDefaults:s=>Qr(s)?.config||{},fallbackMode:localStorage.getItem("configSwither")||void 0},budgetMs:xc});return kc(e,r),Bc(e,r),jc(e,r),Uc(e,r),e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r),r},!0)}var Ee=class extends a.Disposable{_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 x(e,t,n){const r=a.snapshot(e);return(s,i,o)=>{const c=r(async l=>{const u=t?t(l):l;o&&s.bind(o);const d=await s(u);return n?n(d):d},i,o);return()=>c.dispose()}}var $c=class{deps;handleDestroy;constructor(e){this.deps=e;const t=new a.Emitter;this.handleDestroy=x(t.event),e.lifetime.addDispose(()=>t.fire(e.getInstance()));const n=e.lifetime.addDisposable(new Ee(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{}}},Lt=a.createIdentifier$1("DestroyableService");function Gc(e){e.injectFactory(Lt,()=>{const t=e.getInstance(a.DISPOSABLE_ID);if(!t)throw new Error("[plugin] время жизни экземпляра не зарегистрировано");return new $c({lifetime:t,options:e.getInstance(a.OPTIONS_SOURCE_ID),getInstance:()=>e.getInstance(a.INSTANCE_ID),release:()=>a.releaseContainer(e.getInstance(a.STORE_ID)??e)})},!0)}function Vc(e){const t=e.getInstance(Lt);if(!t)throw new Error("[plugin] provideDestroyable не выполнен до сборки поверхности");return{handleDestroy:t.handleDestroy,destroy:()=>t.destroy()}}var Yc=1e3;function ts(e,t,n=Yc,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 s=Object.keys(e),i=Object.keys(t);if(s.length!==i.length)return!1;for(const o of s)if(!ts(e[o],t[o],n,r+1))return!1;return!0}return!1}function Te(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 s=t[r],i=e[r];ts(s,i)||(n[r]=s)}return n}var zc=class extends Error{timeoutMs;constructor(e){super(`[emailmaker] handleSaveEmail не ответил за ${e}ms — письмо не сохранено`),this.timeoutMs=e,this.name="IntegratorSaveTimeoutError"}},qc=({source:e,emailtags:t,group:n,tags:r,...s})=>s,Wc=()=>Hn();async function Kc({emails:e},t){const n=Wc();let r;try{return await Promise.race([e.notifySave(t),new Promise((s,i)=>{r=setTimeout(()=>{const o=new zc(n);t.value.id,i(o)},n)})])}finally{r!==void 0&&clearTimeout(r)}}function Xc(e){const{emails:t}=e,n=async(r,s)=>{const i=qc(s),o=r===void 0?void 0:await t.cache.getIfPresent(r),c=o?{...o,...i}:i,l=await Kc(e,{prev:o,patch:o?Te(o,i):i,value:c,source:s.source??""}),u=String(l.id??r??a.generateUUID()),d=l.id===void 0?{...l,id:u}:l;return await t.cache.addOrUpdate(u,()=>d)};return{async readEmail(r){return await t.get(r)??null},async createEmail(r){const s=await n(void 0,r);return s?.renderGuid?s:{...s,renderGuid:a.generateUUID()}},async updateEmail(r,s){return await n(r,s)}}}var Nt=20,Jc=({source:e,emailtags:t,group:n,tags:r,...s})=>s;function Qc({revisions:e,revisionsByEmail:t}){const n=async(r,s)=>(t.clear(),await t.get(r,{page:s}),(await e.cache.values()??[]).filter(i=>String(i?.parent)===String(r)));return{async readRevisions(r,s=1){const i=await n(r,s);return{revisions:i.slice(Nt*(s-1),Nt*s),page:s,hasMore:i.length>Nt*s}},async readAutosave(r){return To(await n(r,1))},async saveAutosave(r,s){const i=Jc(s);return await e.create({...i,parent:r,modified:new Date().toString()})}}}var Zc=class extends a.BaseEmitter{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}},ed=class extends a.AsyncEmitter{};function bm(e){return e}var ns=class extends a.Disposable{_items=new Map;_onChangeEmitter=new a.Signal;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 s=await t(n);return a.deepEqual(n,s)||this._onChangeEmitter.fire(),s}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(([s,i])=>s)),r=(await this.entries()).filter(([s,i])=>!n.has(s));for(const[s,i]of e)t.push(this.addOrUpdate(s,()=>i)),n.add(s);for(const[s]of r)t.push(this.remove(s));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 td(e,{filter:t,order:n="asc",orderBy:r,page:s,pageSize:i=20}={}){const o=e.length;let c=e.length;if(t!==void 0){const l=Object.keys(t);e=e.filter(u=>{for(const d of l){const p=u[d],m=t[d];return d==="id"||typeof p!="string"?p===m:typeof m=="string"&&p.startsWith(m)}return!0}),c=e.length}return r&&(e=e.sort((l,u)=>(l[r]>u[r]?1:u[r]>l[r]?-1:0)*(n==="asc"?1:-1))),s!==void 0&&(e=e.slice(i*(s-1),i*s)),{data:e,filteredTotal:c,total:o,totalPages:Math.ceil(c/i)}}function nd(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 s=t.get(r.id)||{};t.set(r.id,{...s,...r})}return[...t].map(([n,r])=>r)}function rd(e,t){return rs(e)&&rs(t)?String(e)===String(t):e===t}function rs(e){return typeof e=="string"||typeof e=="number"}var sd=class extends a.Disposable{_cache=new ns;_readEmitter=new a.AsyncEmitter;_saveEmitter=this.addDisposable(new Zc);_removeEmitter=this.addDisposable(new ed);_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 a.Disposable);n.addDispose(()=>delete this._foreignCache[e]);const r=n.addDisposable(new ns),s=n.addDisposable(new a.AsyncEmitter);t=this._foreignCache[e]={get:async(i,o={})=>{await r.getOrCreate(i,async()=>{try{const l=nd(await s.fire(i))||[];for(const u of l)u[e]=i,await this._cache.add(u.id,u);return l}catch{return[]}});const c=(await this._cache.values()||[]).filter(l=>{const u=l[e];return u==null||rd(u,i)});return td(c,o)},first(i,o={}){return t.get(i,{...o,page:1,pageSize:1}).then(({data:c})=>c[0])},handleRead:s.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=a.generateUUID()),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 s=>{const i=s?{...s,...t}:t;if(!r)return t=s?Te(s,t):t,await this._saveEmitter.fire({prev:s,patch:t,value:i,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 Ae(e){const t=a.createIdentifier$1(e);return n=>n.getOrCreateInstance(t,()=>new sd)}function id(e){const t=e.getInstance(a.DISPOSABLE_ID);if(!t)throw new Error("Failed");return t}function ss(e){return Object.prototype.hasOwnProperty.call(e,"meta")}function od(e,t,n){return e&&!ss(t)&&ss(e)?{...n,meta:e.meta}:n}var is=Ae("plugin.dataSource.emails"),os=Ae("plugin.dataSource.emailRevisions"),as=a.createIdentifier$1("emailDocuments.provided");function ad(e){const t=is(e),n=os(e),r=n.byForeignKey("parent");return e.getInstance(as)?{emails:t,emailRevisions:n}:(e.inject(as,!0),Yo(e,Xc({emails:t})),Ko(e,Qc({revisions:n,revisionsByEmail:r})),id(e).addDisposable(t.onSave(({prev:s,patch:i,value:o})=>od(s,i,o),Number.MIN_VALUE)),{emails:t,emailRevisions:n})}function ls(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 ld(e){try{return localStorage.getItem(e)===null?!1:(localStorage.removeItem(e),!0)}catch{return!1}}var cd="po",ze=null;function dd(){const e=typeof __emailmaker__<"u"?__emailmaker__?.require:void 0;return typeof e!="function"?Promise.reject(new Error("[loadPoParser] AMD loader is unavailable")):new Promise((t,n)=>{e([cd],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadPoParser] Failed to require po module")))})}function ud(){return ze===null&&(ze=dd().catch(e=>{throw ze=null,e})),ze}async function cs(e){if(typeof e=="object")return Mt(e);if(typeof e!="string")return;const t=e.trim();if(t)return t.startsWith("{")||t.startsWith("[")?fd(t):pd(t)}function Mt(e){if(!(e==null||typeof e!="object"||Array.isArray(e)))return e}function fd(e){try{return Mt(JSON.parse(e))}catch{return}}var ds=!1;async function pd(e){try{return Mt((await ud()).parsePoCatalog(e))}catch{ds||(ds=!0);return}}var md="em_locale",hd="em_ant_locale",gd="locale",Ed="ant_locale";function xt(e){try{return JSON.parse(localStorage.getItem(e)||"")}catch{return null}}function us(e,t){const n=xt(e);if(!n)return null;try{localStorage.removeItem(e),localStorage.setItem(t,JSON.stringify(n))}catch{}return n}function vd(){return xt("em_locale")??us(gd,"em_locale")}function fs(e){try{localStorage.setItem(md,JSON.stringify(e))}catch{}}function bd(){return xt("em_ant_locale")??us(Ed,"em_ant_locale")}function _d(e,t){try{localStorage.setItem(hd,JSON.stringify({id:e,data:t}))}catch{}}var _m="en_US",yd=8e3;function Sd(e,t){const n=e,r=t,s=Object.keys(n).filter(i=>i!=="");return s.length!==Object.keys(r).filter(i=>i!=="").length?!1:s.every(i=>JSON.stringify(n[i])===JSON.stringify(r[i]))}function wd(e){const t=vd(),n=bd();let r={ready:!1},s;const i=pe(r);let o=0;const c=g=>{r={...r,...g},i.set(r)},l=()=>{r.ready||c({ready:!0})},u=setTimeout(l,e.unlockAfterMs??yd),d=g=>g!==o;let p;async function m(g,b){if(n?.id===g&&n.data&&c({antd:n.data}),!p)return;const _=await p(g).catch(()=>{});!_||d(b)||(c({antd:_}),_d(g,_))}async function v(g,b){const _=await e.askHost(g).catch(()=>null);if(d(b))return!0;if(_==null)return!1;const w=await cs(_);return d(b)||(w&&c({catalog:w}),l()),!0}async function S(g,b){const _=await e.readList();if(d(b))return;if("error"in _){c({failure:{kind:"GET_LOCALES_ERROR",error:_.error}}),l();return}const w=_.data.find(D=>D.locale===g);if(!w){ld("em_locale")&&c({catalog:void 0}),l();return}if(ls(t,w)&&(!s||s.catalog===t?.data)){l();return}if(s?.entry&&r.catalog===s.catalog&&ls(s.entry,w)){fs(s.entry),l();return}const P=await e.readCatalog(g);if(!d(b)){if("error"in P){c({failure:{kind:"GET_LOCALE_ERROR",error:P.error}}),l();return}P.data&&(s?.id===g&&r.catalog===s.catalog&&Sd(s.catalog,P.data)||c({catalog:P.data}),fs({id:g,time:w.updatedAt||Math.floor(Date.now()/1e3),hash:w.contentHash,data:P.data})),l()}}async function E(g,b){if(!await v(g,b)){if(!d(b)&&(s?.id===g&&r.catalog===s.catalog||g==="en_US")&&l(),e.canUseNetwork&&!e.canUseNetwork()){l();return}await S(g,b)}}return{set(g){if(!g||g===r.id)return;const b=o+=1;c({id:g,failure:void 0});const _=s?.id===g&&r.catalog===s.catalog;(s&&!_&&r.catalog===s.catalog||g==="en_US"&&r.catalog)&&c({catalog:void 0}),t?.id===g&&t.data&&(c({catalog:t.data}),l()),m(g,b),E(g,b)},prime(g,b,_){r.id||r.catalog||!b||(s=t?.id===g&&t.data&&(!_||t.time>=_.time)?{id:g,catalog:t.data}:{id:g,catalog:b,entry:_?{id:g,time:_.time,hash:_.hash,data:b}:void 0},c({catalog:s.catalog}))},useAntdLoader(g){p=g,r.id&&m(r.id,o)},state:i,snapshot:()=>r,dispose:()=>clearTimeout(u)}}var Id=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})},Td=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:s,format:i,baseUrl:o,cancelToken:c,...l})=>{const u=(typeof t=="boolean"?t:this.baseApiParams.secure)&&this.securityWorker&&await this.securityWorker(this.securityData)||{},d=this.mergeRequestParams(l,u),p=s&&this.toQueryString(s),m=this.contentFormatters[r||"application/json"],v=i||d.format;return this.customFetch(`${o||this.baseUrl||""}${n}${p?`?${p}`:""}`,{...d,headers:{...d.headers||{},...r&&r!=="multipart/form-data"?{"Content-Type":r}:{}},signal:(c?this.createAbortSignal(c):d.signal)||null,body:typeof e>"u"||e===null?null:m(e)}).then(async S=>{const E=S;E.data=null,E.error=null;const g=v?S.clone():S,b=v?await g[v]().then(_=>(E.ok?E.data=_:E.error=_,E)).catch(_=>(E.error=_,E)):E;return c&&this.abortControllers.delete(c),b})}},Ad=a.createIdentifier$1("rest.v2.transport"),ps=Symbol("rest.v2.secureRequest");function Cd(e){return e.getOrCreateInstance(Ad,()=>{const t=e.getInstance(a.CUSTOM_FETCH_ID)?.execute||fetch;return new Td({baseUrl:"https://app.emailmaker.ru/api/v2",securityWorker:()=>({[ps]:!0}),customFetch:(n,r={})=>{const{[ps]:s,...i}=r;return t(n,{...i,[a.PUBLIC_REQUEST]:s!==!0})}})})}function Pd(e,t){const n=Cd(e);return Object.assign({},...t.map(r=>new r(n)))}function ms(e,t){if(e!=null&&typeof e=="object"){const n=e[t];if(typeof n=="string"&&n!=="")return n}}function hs(e){const t=e.error,n=t?.error;return n&&typeof n=="object"?{status:e.status,data:{code:ms(n.details,"wp_code")??n.code,message:ms(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 gs(e){return!e.ok||!!e.error}function Dd(e){try{const t=localStorage.getItem(e);if(t==="true")return!0;if(t==="false")return!1}catch{}}function Es(){return Dd(a.LOCAL_STORAGE_ITEMS.em_translations_v2)??!0}function Rd(e){return typeof e=="number"&&Number.isFinite(e)?e:0}function Od(e){const t=e?Date.parse(e):NaN;return Number.isNaN(t)?0:Math.floor(t/1e3)}function Ld(e){return Array.isArray(e)?e.reduce((t,n)=>{const r=Array.isArray(n)?n:[],s=r[0];return typeof s=="string"&&s!==""&&t.push({locale:s,updatedAt:Rd(r[1])}),t},[]):[]}function Nd(e){return(e?.items??[]).reduce((t,n)=>(n.locale&&t.push({locale:n.locale,updatedAt:Od(n.updated_at),contentHash:n.content_hash}),t),[])}function vs(e){return Pd(e,[Id])}function qe(e){return{error:{status:"FETCH_ERROR",error:e instanceof Error?e.message:"locale request failed"}}}function Ft(e){return!e.ok||e.error!=null}function kt(e){const t=e.error;return{error:{status:e.status,data:t?.data??e.error}}}async function Bt(e){return{data:await cs(e)??null}}async function Md(e){if(Es())try{const n=await vs(e).localesList();return gs(n)?{error:hs(n)}:{data:Nd(n.data)}}catch(n){return qe(n)}const t=a.getApi(e,[Ln]);try{const n=await t.get_translations2({file:"react_app"});return Ft(n)?kt(n):{data:Ld(n.data)}}catch(n){return qe(n)}}async function xd(e,t){if(Es())try{const r=await vs(e).jsonList({locale:t});return gs(r)?{error:hs(r)}:Bt(r.data)}catch(r){return qe(r)}const n=a.getApi(e,[Ln]);try{const r=await n.get_translations3({id:t,file:"react_app"});return Ft(r)?kt(r):Bt(r.data)}catch{try{const r=await n.get_translations3({id:"en_US",file:"react_app"});return Ft(r)?kt(r):Bt(r.data)}catch(r){return qe(r)}}}var Ce=a.createIdentifier$1("locale.service");function Fd(e){if(e.getInstance(Ce))return;const t=wd({readList:()=>Md(e),readCatalog:n=>xd(e,n),askHost:async n=>(await Z(e,a.events.READ_LOCALE).fire(n))[0],canUseNetwork:()=>!e.getInstance(a.SECURITY_MODULE_ID)});e.inject(Ce,t),e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>t.dispose())}function kd(e){const t=e.getInstance(a.CONFIG_SOURCE_ID);if(!t)return;const n=e.getInstance(Ce);if(!n)return;const r=t.select(s=>s.locale).watch(s=>n.set(s));e.getInstance(a.DISPOSABLE_ID)?.addDisposable(r)}var Bd="user_id",jd="project_id",bs=a.createIdentifier$1("rest.identityHeadersProvided");function Ud(e){if(e.getInstance(bs))return;e.inject(bs,!0);let t;e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(n=>{t=n}),e.addService(a.REQUEST_HANDLER_ID,{execute(n,r){if(r?.public)return;const s=t?.user?.id??vr(e).profile?.id;s!=null&&s!==""&&n.headers.set(Bd,String(s));const i=t?.project;i!=null&&i!==""&&n.headers.set(jd,String(i))}})}function Hd(e){if(!e)return!1;try{return e.getInstance(a.SECURITY_MODULE_ID)!==void 0}catch{return!1}}var $d="Invalid standaloneKey.",ym=a.createIdentifier$1("StandaloneMockGuard");function Gd(){const e=new Error($d);return e.name="InvalidStandaloneKeyError",e}function Vd(e){e.addService(a.REQUEST_HANDLER_ID,{execute:()=>{if(Hd(e))throw Gd()}})}function Yd(e){a.registerRestTransport(e),Vd(e)}function zd(e){const t=new Br;e.inject(a.INIT_PIPELINE_ID,t);let n;const r=e.getInstance(a.OPTIONS_SOURCE_ID)?.watch(i=>{i&&(i.signal!==void 0&&(n=i.signal),t.configure({replaceSession:!0,...i.timeouts!==void 0?{timeouts:i.timeouts}:{},...n!==void 0?{signal:n}:{}}))}),s=e.getInstance(a.DISPOSABLE_ID);r&&s?.addDisposable(r),s?.addDispose(()=>{t.abort()})}var qd=Ae("plugin.dataSource.blocks"),Wd=Ae("plugin.dataSource.blockRevisions"),Kd=Ae("plugin.dataSource.comments"),Xd=kr(),Jd=kr(),_s=`<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2086
2086
  <html>
2087
2087
  <head>
2088
2088
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
@@ -2123,10 +2123,10 @@ __emailmaker__.define("emailmaker.js",["require","exports","module","static/umd/
2123
2123
  </tr>
2124
2124
  </table>
2125
2125
  </body>
2126
- </html>`;function qd(e){return{isNew:!0,is_inited:!1,subject:void 0,preheader:void 0,description:"",html:fs,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 zd=a.createIdentifier$1("CurrentProject"),Kd={};function qe(e){return e?.getInstance(zd)?.get()??Kd}function ps(e){const t=qe(e).card?.id,n=Number(t);return t!=null&&t!==""&&Number.isFinite(n)?n:void 0}var ms=new Set(["email","block","blocks","autosaves","revisions","comments","templateId","reload"]);function Wd(e){return!Object.keys(e).some(t=>ms.has(t))}function Xd(e){const t={},n={};for(const[r,s]of Object.entries(e))ms.has(r)?t[r]=s:n[r]=s;return{showOptions:t,misplacedEmailFields:n}}function hs(e){const t=e.id;if(!(t===null||typeof t=="string"&&t.trim()===""))return e;const n={...e};return delete n.id,n}function cm(e){}function ze(e){return{emails:Jr(e),blocks:Hd(e),emailRevisions:Qr(e),blocksRevision:$d(e),comments:Gd(e)}}function Jd(e){const t=Object.values(ze(e));return{suspendChange(){t.forEach(n=>n.suspendChange())},resumeChange(){t.forEach(n=>n.resumeChange())}}}function Bt(e,t=!0){if(typeof e=="string")return{email:{code:e}};if(Wd(e))return{email:hs(e)};{const{showOptions:n,misplacedEmailFields:r}=Xd(e),s=Object.keys(r);t&&s.length>0&&void 0;const i=typeof e.email=="string"?{code:e.email}:e.email;return{...n,email:hs({...r,...i})}}}function gs(e){return ht(e)?.current()}function Ke(e){return gs(e)?.getContent()}function Qd(e,t){const n=t??qd(),r=gs(e)?.get();return r?{...n,...r.attributes,id:r.serverId??void 0,isNew:r.serverId===null,html:Ke(e)??n.html}:n}async function jt(e){return(await e.getInstanceAsync(a.APP_ID))?.project}function ve({code:e,project:t,...n},r){const s=re(n),i=ps(r),o=ge(r);return e&&o.warnAboutUnconfiguredInput(e,n.id),{...s,...e?{html:o.toEditorForm(e)}:{},...i===void 0?{}:{project:i},utm_parameters:s.utm_parameters||{},_embedded:void 0}}function W({html:e,renderGuid:t,showToken:n,showId:r,...s},i){const{requested:o}=qe(i),c=ur(i);return re({...s,code:ge(i).toOutputForm(e),project:o===void 0?s.project:o,utm_parameters:c.UTMEnabled?s.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 Ut(e){return e==null?"":e.replaceAll(`\r
2126
+ </html>`;function Qd(e){return{isNew:!0,is_inited:!1,subject:void 0,preheader:void 0,description:"",html:_s,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 Zd=a.createIdentifier$1("CurrentProject"),eu={};function We(e){return e?.getInstance(Zd)?.get()??eu}function ys(e){const t=We(e).card?.id,n=Number(t);return t!=null&&t!==""&&Number.isFinite(n)?n:void 0}var Ss=new Set(["email","block","blocks","autosaves","revisions","comments","templateId","reload"]);function tu(e){return!Object.keys(e).some(t=>Ss.has(t))}function nu(e){const t={},n={};for(const[r,s]of Object.entries(e))Ss.has(r)?t[r]=s:n[r]=s;return{showOptions:t,misplacedEmailFields:n}}function ws(e){const t=e.id;if(!(t===null||typeof t=="string"&&t.trim()===""))return e;const n={...e};return delete n.id,n}function Sm(e){}function Ke(e){return{emails:is(e),blocks:qd(e),emailRevisions:os(e),blocksRevision:Wd(e),comments:Kd(e)}}function ru(e){const t=Object.values(Ke(e));return{suspendChange(){t.forEach(n=>n.suspendChange())},resumeChange(){t.forEach(n=>n.resumeChange())}}}function jt(e,t=!0){if(typeof e=="string")return{email:{code:e}};if(tu(e))return{email:ws(e)};{const{showOptions:n,misplacedEmailFields:r}=nu(e),s=Object.keys(r);t&&s.length>0&&void 0;const i=typeof e.email=="string"?{code:e.email}:e.email;return{...n,email:ws({...r,...i})}}}function Is(e){return gt(e)?.current()}function Xe(e){return Is(e)?.getContent()}function su(e,t){const n=t??Qd(),r=Is(e)?.get();return r?{...n,...r.attributes,id:r.serverId??void 0,isNew:r.serverId===null,html:Xe(e)??n.html}:n}async function Ut(e){return(await e.getInstanceAsync(a.APP_ID))?.project}function ve({code:e,project:t,...n},r){const s=se(n),i=ys(r),o=ge(r);return e&&o.warnAboutUnconfiguredInput(e,n.id),{...s,...e?{html:o.toEditorForm(e)}:{},...i===void 0?{}:{project:i},utm_parameters:s.utm_parameters||{},_embedded:void 0}}function X({html:e,renderGuid:t,showToken:n,showId:r,...s},i){const{requested:o}=We(i),c=br(i);return se({...s,code:ge(i).toOutputForm(e),project:o===void 0?s.project:o,utm_parameters:c.UTMEnabled?s.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 Ht(e){return e==null?"":e.replaceAll(`\r
2127
2127
  `,`
2128
- `)}function Es(e){return e.replace(/<title[^>]*>[\s\S]*?<\/title>/gi,"")}function Zd(e,t,n,r){const s=eu(e,t,n,r);return s===void 0}function eu(e,t,n,r){const{email:s}=Bt(t,!1),i=ve(s,e),o=i.id;if(o===void 0)return"no-id";if(r!==void 0&&r!==o)return"other-id-shown";const c=ht(e)?.current();if(!c)return"no-session";const l=c.get(),u=l.attributes;if(l.serverId!==o)return"document-id";if(u.is_inited!==!0)return"not-inited";const d=Es(Ut(n??c.getContent()));if(i.html!==void 0&&Es(Ut(i.html))!==d)return"html";if(i.subject!==void 0&&i.subject!==u.subject)return"subject";if(i.preheader!==void 0&&i.preheader!==u.preheader)return"preheader";if(i.common_styles!==void 0&&i.common_styles!==u.common_styles)return"common_styles"}function vs(e,t){const{email:n}=Bt(t,!1),r=ve(n,e);if(r.id!==void 0)return JSON.stringify([r.id,r.html===void 0?null:Ut(r.html),r.subject??null,r.preheader??null,r.common_styles??null])}function tu(e,t){const n={...e};return delete n.id,{...n,...t}}function nu(e){return e.html?e:{...e,html:fs}}function Pe({code:e,project:t,...n},r,s){const i=s??ps(r);return{...n,...e?{html:ge(r).toEditorForm(e)}:{},renderGuid:a.generateUUID(),...i===void 0?{}:{project:i}}}function We({html:e,renderGuid:t,...n},r){const{requested:s}=qe(r);return re({...n,code:ge(r).toOutputForm(e),project:s===void 0?n.project:s,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 bs(e){return ht(e)?.current()?.get().serverId??void 0}function Ht(e,t,n){return n===void 0&&(n=e.post===void 0?bs(t):e.post),{...e,content:e.content?`<p>${e.content}</p>`:"",post:n}}function Xe(e,t){return re({...e,link:void 0,comment_status:void 0})}function $t({code:e,...t},n,r){return r===void 0&&(r=t.parent===void 0?bs(n):t.parent),{...t,...e?{html:e}:{},parent:r}}function _s({html:e,...t},n){return re({...t,code:e,guid:void 0,compiled:re({html:e,ampHtml:e&&""})})}var ru=a.createIdentifier$1("emailTemplate.reads");async function su(e,t){try{return await le(e).email(e).readEmail(t)??void 0}catch(n){n instanceof Error&&n.message;return}}function iu(e,t){const n=e.getOrCreateInstance(ru,()=>new Map),r=n.get(t);if(r!==void 0)return r;const s=su(e,t).then(i=>(i===void 0&&n.delete(t),i));return n.set(t,s),s}var ou="EXTERNAL";function au(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"сохранение не состоялось")}var lu="email_id",cu=class extends a.Disposable{_container;_prevCommand;_lastShow;_showToken=0;_showRequests=0;_dataSources;_eventLock;_queue=a.createQueue();_currentEmail;constructor(e){super(),this._container=e;const t=e;this._dataSources=ze(t),this._eventLock=Jd(t);const n=$(e,a.events.ON_EMAIL_CHANGED_ID);this.addDisposable(n(r=>{this._currentEmail=r})),this.addDisposable(e.addService(a.REQUEST_HANDLER_ID,{execute:(r,s)=>{!s?.public&&this._currentEmail?.id&&!this._currentEmail.isNew&&r.headers.append(lu,this._currentEmail.id)}}))}_getInitPipeline(){return this._container?.getInstance(a.INIT_PIPELINE_ID)??St}_throwIfDestroyed(){if(this.isDisposed())throw st()}async getTemplateEmail(e){const t=await iu(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 jt(this._container);await t.setAll(e.filter(r=>r.id!==void 0).map(r=>[r.id,Pe(r,this._container,n)]))}async setEmailRevisions(e,t){if(e===void 0)return;const{cache:n}=this._dataSources.emailRevisions,r=e.filter(s=>s.id!==void 0).map(s=>[s.id,$t(s,this._container,t)]);await n.setAll(r)}async setComments(e=[],t){const{cache:n}=this._dataSources.comments,r=e.filter(s=>s.id!==void 0).map(s=>[s.id,Ht(s,this._container,t)]);await n.setAll(r)}async setEmail(e,t,n,r,s){const i=this._dataSources.emails,o=i.cache,c=await jt(this._container),l=r??this._showToken;e=typeof e=="string"?{code:e}:{...e};let u=ve(e,this._container);const d=u.id;let p=d;if(d!==void 0){const m=await i.get(d);u={...m??{},...u,renderGuid:m?.renderGuid??a.generateUUID(),...l>0?{showToken:l}:{},...s?{showId:s}:{},project:c}}else{p=n??a.generateUUID();const m=await i.get(p);u={...u,renderGuid:m?.renderGuid??a.generateUUID(),...l>0?{showToken:l}:{},...s?{showId:s}:{},project:c},delete u.project}if(t){const m=await this.getTemplateEmail(String(t));m&&(u=tu(m,u))}return d===void 0&&(u=nu(u)),await o.addOrUpdate(p,()=>u),u}_rememberShow(e){this._prevCommand=e}_isRepeatOfLastShow(e){const t=this._lastShow;if(!t||t.signature!==vs(this._container,e))return!1;const n=Ke(this._container);return n===void 0||n===t.html}_rememberShownContent(e){const t=vs(this._container,e);this._lastShow=t===void 0?void 0:{signature:t,html:Ke(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(a.throwIfAborted(n.signal),Zd(this._container,e,Ke(this._container),this._prevCommand?.id)||this._isRepeatOfLastShow(e))return;const r=Bt(e);r.email.id,this._prevCommand?.id;let s,i="",o=0,c=!1,l,u=Promise.resolve(),d,p=!1;try{this._eventLock.suspendChange();const{email:m,blocks:v,autosaves:y,comments:E,templateId:g,reload:b}=r;s=m.id;const _=ve(m,this._container),w=_.id,P=w??a.generateUUID(),D=await Ie("getProject",jt(this._container));a.throwIfAborted(n.signal),i=a.generateUUID();const h={isNew:w===void 0,id:String(P),project:D},I=b===!0&&w!==void 0;I&&(await this._dataSources.emails.remove(String(w),{silent:!0}),String(w)),o=++this._showToken,String(P);const f=[];f.push(this.setBlocks(v)),m.id!==void 0&&(f.push(this.setComments(E)),f.push(this.setEmailRevisions(y,String(m.id)))),f.push(this.setEmail(m,Number(g),w===void 0?String(P):void 0,o,i)),await Ie("setEmail+blocks+revisions",Promise.all(f),{emailId:w??String(P),showId:i,targetShowToken:o}),a.throwIfAborted(n.signal);const S=await this._dataSources.emails.get(String(P)),T=se(this._container),A={id:i,token:o};w===void 0?d=T.startNewDraft(S??_,{patch:_,show:A}):I?d=T.reload(w,{email:S??_,patch:_,show:A}):T.sessionKey()===Se(w)?d=T.show(_,A):d=T.open(w,{email:S??_,patch:_,show:A});const O=!!this._prevCommand&&a.deepEqual(this._prevCommand,h);h.id,!this._prevCommand||a.deepEqual(this._prevCommand,h),this._prevCommand?.id,this._rememberShow(h),u=n.requestShow({showId:i,navId:String(P),emailId:w,isNew:w===void 0}),p=!0,String(P),c=!0}catch(m){l=m,p&&i&&n.failShow(i,m),String(m)}finally{this._eventLock.resumeChange()}if(!c)throw l instanceof Error?l:new Error(`[emailmaker] show() setup failed: ${String(l??"unknown error")}`);return Ie("show-init-deferred",Promise.all([u,d?.whenReady().catch(m=>{if(m instanceof Fe){const v=Zn(m);throw v?new Error(`[emailmaker] show(): email open failed (${v})`,{cause:m}):m}})??Promise.resolve()]).then(()=>{}),{showId:i,emailId:s??null}).then(()=>{this._rememberShownContent(e)})}async _save(){this._throwIfDestroyed();const e=this._getInitPipeline();a.throwIfAborted(e.signal);const t=se(this._container),n=await t.save("publish",{source:ou});if(a.throwIfAborted(e.signal),!n)throw au(t.saveState().error);return W(Qd(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 du(e){return String(e).replace(/"/g,"&quot;")}function uu(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 fu(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 ys(e,t,n){const r=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),s=du(n);return r.test(e)?e.replace(r,`${t}="${s}"`):e.replace(/>$/,` ${t}="${s}">`)}function pu(e,t,n){if(!e?.trim()||!t)return e;const r=fu(e);if(!r)return e;const s=String(t),i=uu(n??new Date);let{full:o,index:c}=r;const l=o.length;return/\bem-block-id\s*=/.test(o)||(o=ys(o,"em-block-id",s)),o=ys(o,"em-block-version",i),e.slice(0,c)+o+e.slice(c+l)}function mu(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 hu(e,t){const n=e.insertFrom??t?.type,r=t?.blockId??(e.id!=null&&e.id!==""?String(e.id):void 0),s=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:s,fragmentRole:e.fragmentRole,id:r,title:e.title??void 0,blockType:e.type,meta:mu(e)}}function Gt(e,t){return t?hu(t,e):{type:e.type,name:e.name,blockId:e.blockId,project:e.project,insertFrom:e.type}}var Ss=["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"],gu=[...Ss,"html","id","project","password"],dm=new Set(["html",...Ss,"global_block","project"]);function Eu(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(gu),r={};for(const s of Object.keys(e))n.has(s)||(r[s]=e[s]);return Object.keys(r).length>0&&(t.catalogExtra=r),t}function vu(e,t={}){return!e||typeof e!="object"?{html:"",insertFrom:t.type,name:t.name,project:t.project,id:t.blockId}:{...Eu(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 Vt=new WeakMap;function bu(e){let t=Vt.get(e);return t||(t={byId:new Map,fallback:[]},Vt.set(e,t)),t}function _u(e){Vt.delete(e)}function yu(e,t){const{byId:n,fallback:r}=bu(t);if(e.blockId){const s=n.get(e.blockId);if(s){n.delete(e.blockId);const i=r.indexOf(s);return i>=0&&r.splice(i,1),s}return}for(let s=r.length-1;s>=0;s--){const i=r[s],o=e.name!=null&&e.name!==""&&i.name!=null&&i.name!==""&&i.name===e.name,c=e.type!=null&&e.type!==""&&i.insertFrom===e.type;if(o&&c)return r.splice(s,1),i.id!=null&&i.id!==""&&n.delete(String(i.id)),i}}async function Su(e,t){const{blocks:n}=ze(e);return await n.cache.getIfPresent(t)??void 0}async function wu(e,t){if(!t.blockId)return;const n=await Su(e,t.blockId);if(n)return vu(n,t)}async function Iu(e,t){const n=yu(e,t);if(n)return Gt(e,n);const r=await wu(t,e);return r?Gt(e,r):Gt(e,void 0)}var Tu=a.createIdentifier("application_block_inserted"),Au=-1e3,ws=new WeakSet;function Cu(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 Pu(e){if(!e||ws.has(e))return;ws.add(e);const t=new a.Disposable,n=q(e);return t.addDisposable(n.addListenerAsyncPipe(Tu,async(r,s)=>{const i=Cu(r)?await Iu(r,e):r;return s?s(i):i},Au)),t.addDisposable({dispose:()=>{_u(e)}}),t}var Is=100,Du=class extends a.Disposable{_container;_events;constructor(e){super(),this._container=e;const t=Pu(e);t&&this.addDisposable(t)}_get(){const e=this._container,{blocks:t,emails:n,comments:r,emailRevisions:s}=ze(e),i=$(e,a.events.ON_SHARE_ID),o=$(e,a.events.ON_SHOW_PREVIEW_ID),c=$(e,a.events.ON_EMAIL_CLONE_ID),l=$(e,a.events.ON_CODE_VALIDATE_ID),u=$(e,a.events.ON_SUBJECT_CHANGED_ID),d=$(e,a.events.ON_EMAIL_CHANGED_ID),p=$(e,a.events.ON_PREHEADER_CHANGED_ID),m=$(e,a.events.ON_SAVEBUTTON_CLICK_ID),v=$(e,a.events.ON_NEXTBUTTON_CLICK_ID),y=$(e,a.events.ON_SEND_LIVEPREVIEW_ID),E=$(e,a.events.ON_SEND_TESTEMAIL_ID),g=$(e,Yd),b=$(e,a.events.ON_CONTENT_CHANGED_ID),_=$(e,Vd),w=$(e,a.events.ON_PREVIOUSBUTTON_CLICK_ID),P=$(e,a.events.ON_SEND_EMAIL_MODAL_ID),D=a.filter($(e,a.events.ON_EMAIL_INIT_ID),h=>!h.reset);return{handlePreheaderChanged:M(p),handleSubjectChanged:M(u),handleValidate:M(l),handleReadEmail:M(n.handlerRead,h=>h,h=>h&&ve(h,e)),handleSaveEmail:M(n.onSave,function({prev:h,patch:I,value:f,source:S}){const T=h?W(h,e):void 0;return{prev:T,patch:Te(T,W(I,e)),value:W(f,e),source:S}},h=>h?ve(h,e):void 0),handleRemoveEmail:M(n.onRemove,({value:h,source:I})=>({value:W(h,e),source:I}),()=>{}),handleReadCommonBlocks:M(g,h=>h.project,h=>h?.map(I=>Pe(I,e))),handleReadTemplateBlocks:M(_,h=>h,h=>h?.map(I=>Pe(I,e))),handleReadBlocks:M(t.byForeignKey("project").handleRead,h=>qe(e).requested||String(h),h=>h?.map(I=>Pe(I,e))),handleSaveBlock:M(t.onSave,function({prev:h,patch:I,value:f,source:S}){const T=f.global_block===!0&&f.id&&typeof f.html=="string"?{...f,html:pu(f.html,String(f.id))}:f,A=h?We(h,e):void 0;return{prev:A,patch:Te(A,We(I,e)),value:We(T,e),source:S}},h=>h?Pe(h,e):void 0),handleRemoveBlock:M(t.onRemove,({value:h,source:I})=>({value:We(h,e),source:I}),()=>{}),handleReadComments:M(r.byForeignKey("post").handleRead,h=>h,h=>h?.map(I=>Ht(I,e))),handleSaveComment:M(r.onSave,function({prev:h,patch:I,value:f,source:S}){const T=h?Xe(h,e):void 0;return{prev:T,patch:Te(T,Xe(I,e)),value:Xe(f,e),source:S}},h=>h?Ht(h,e):void 0),handleRemoveComment:M(r.onRemove,({value:h,source:I})=>({value:Xe(h,e),source:I}),()=>{}),handleReadEmailRevisions:M(s.byForeignKey("parent").handleRead,h=>h,h=>h?.map(I=>$t(I,e))),handleEmailAutosave:M(s.onSave,function({prev:h,patch:I,value:f,source:S}){return{value:_s(f,e),source:S}},h=>h?$t(h,e):void 0),handleRemoveEmailAutoSave:M(s.onRemove,({value:h,source:I})=>({value:_s(h,e),source:I}),()=>{}),handleEmailChanged:M(a.debounce(d,Is),h=>W(h,e)),handleEmailInit:M(D,h=>W(h,e)),handlePreviousButtonClick:M(w,h=>W(h,e)),handleNextButtonClick:M(v,h=>W(h,e)),handleSaveButtonClick:M(m,h=>W(h,e)),handleHtmlChanged:M(a.debounce(b,Is)),handleTestEmailSend:M(E,({html:h,...I})=>({...I,code:h,compiled:{html:h,ampHtml:""}})),handleTestEmailModal:M(P,h=>W(h,e)),handleCloneEmail:M(c,h=>W(h,e)),handleShareEmail:M(i),handlePreviewEmail:M(o),handleLivePreviewEmail:M(y)}}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 Ee(t[r]))}for(const r of Object.keys(t))n[r].setListener(e[r])}},Ru=a.createIdentifier$1("DataController"),Ou=a.createIdentifier$1("DataEvents");function Ts(e){return e.getOrCreateInstance(Ru,()=>{const t=new cu(e);return e.getInstance(a.DISPOSABLE_ID)?.addDisposable(t),t})}function As(e){return e.getOrCreateInstance(Ou,()=>new Du(e))}var Lu=a.createIdentifier$1("plugin.startupShow");function Nu(e){const t=Ts(e),n=As(e),r=e.getInstance(a.OPTIONS_SOURCE_ID),s=e.getInstance(a.DISPOSABLE_ID),i={current:Promise.resolve()};e.inject(Lu,i);const o=r?.watch(l=>{l&&n.setOptions(l)}),c=r?.select(l=>l?.content).watch(l=>{l!==void 0&&(U(z.showStart),i.current=(async()=>{try{await t.show(l)}catch{}finally{U(z.showEnd)}})())});o&&s?.addDisposable(o),c&&s?.addDisposable(c)}function Mu(e){const t=Ts(e);return{...As(e).get(),show(n){return U(z.showStart),t.show(n).finally(()=>U(z.showEnd))},save(){return t.save()}}}function um(e){return e}var xu=[{name:"rest.client",setup:jd},{name:"auth.oauth",setup:a.provideOAuth},{name:"rest.identityHeaders",setup:Md},{name:"lifetime.destroyable",provides:[Ot],setup:Fc},{name:"appInit",provides:[a.APP_ID,ot],setup:ji},{name:"config",provides:[a.CONFIG_SOURCE_ID],setup:xc},{name:"email.documents",setup:td},{name:"show.initPipeline",provides:[a.INIT_PIPELINE_ID],setup:Ud},{name:"show",setup:Nu},{name:"locale.service",provides:[Ce],setup:Rd},{name:"locale.fromConfig",awaits:{services:[a.CONFIG_SOURCE_ID,Ce]},setup:Od},{name:"canvas.early",setup:Fl},{name:"canvas.previewSettings",setup:Yl},{name:"canvas.sandboxExtensions",setup:zl},{name:"canvas.headerSync",provides:[Mr],setup:Ul},{name:"canvas.ampSync",setup:ma},{name:"canvas.moduleBridge",setup:ja},{name:"canvas.port",setup:wa},{name:"canvas.images",setup:ya},{name:"canvas.edits",setup:vl},{name:"canvas.blockContent",setup:fl},{name:"canvas.sandboxFill",provides:[wt],setup:dc},{name:"canvas.reactions",setup:Ml}],ku=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function Fu(e){const t=new Map;for(const n of e)for(const r of n.provides??[]){const s=t.get(r)??[];s.push(n),t.set(r,s)}return t}function Bu(e,t){const n=[];for(const r of e.awaits?.services??[])for(const s of t.get(r)??[])s!==e&&n.push(s);return n}function Cs(e){const t=Fu(e),n=[],r=new Set,s=[],i=new Set,o=c=>{if(!r.has(c)){if(i.has(c)){const l=s.indexOf(c);throw new ku([...s.slice(l),c].map(u=>u.name))}i.add(c),s.push(c);for(const l of Bu(c,t))o(l);s.pop(),i.delete(c),r.add(c),n.push(c)}};for(const c of e)o(c);return n}var Ps;function Yt(e){const t=e.getInstance(a.OPTIONS_SOURCE_ID);if(t)return t;e.getInstance(a.DISPOSABLE_ID)||e.inject(a.DISPOSABLE_ID,new a.Disposable);const n=pe();e.inject(a.OPTIONS_SOURCE_ID,n),Ps??=Cs(xu);for(const r of Ps)r.setup(e);return n}function ju(e){}var Uu=[{name:"save.previewFollow",setup:ju}],Ds=a.createIdentifier$1("plugin.lateUnitsInstalled");function Hu(e){if(!e.getInstance(Ds)){e.inject(Ds,!0);for(const t of Cs(Uu))t.setup(e)}}function $u(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function Gu(e){if(!e)return;const t=a.decodeJwt(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 Vu=a.defineMixin(e=>{let t,n,r;return{async setOptions(s){const i=r!==s.getAuthToken,o=!a.deepEqual(t,s.user),c=n!==s.project;if(r=s.getAuthToken,t=s.user,n=s.project,!(!e.getInstance(a.SECURITY_MODULE_ID)||!s.getAuthToken)&&!(!i&&!o&&!c))try{const l=await s.getAuthToken(s.user,s.project);e.inject(a.STANDALONE_BOOTSTRAP_TOKEN_ID,Promise.resolve(l||""));const u=Gu(l);if(!u)return;e.inject(a.STANDALONE_PROJECT_ID,u);const d=e.getInstance(a.APP_ID),p=d?await d.catch(()=>{}):void 0;e.inject(a.APP_ID,Promise.resolve($u(u,p)))}catch{}}}});function Yu(e,t){if(e.getInstance(a.STANDALONE_FILE_PROXY_REGISTERED_ID))return;e.inject(a.STANDALONE_FILE_PROXY_REGISTERED_ID,!0);const n=a.getEvent(e,a.events.FILE_PROXY_EVENT_ID);t.addDisposable(n(async({url:r})=>(await fetch(r)).blob(),Number.MIN_VALUE))}function qu(e){e.getInstance(a.STANDALONE_ACTIVATED_ID)||e.inject(a.SECURITY_MODULE_ID,void 0)}function Je(e){return String(e.standaloneKey||"").trim()||void 0}function zu(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function qt(e){return zu(e)?!!Je(e):!1}function Qe(e){return!!Je(e)&&!qt(e)}var Ku=a.defineMixin(e=>{let t,n=!1;return{setOptions(r){const s=n;if(n=!0,!Qe(r)){t&&(qu(e),qt(r)),t=void 0;return}const i=Je(r);if(!i||t===i&&e.getInstance(a.SECURITY_MODULE_ID))return;t=i,e.inject(a.SECURITY_MODULE_ID,i);const o=e.getInstance(a.DISPOSABLE_ID);o&&Yu(e,o)}}}),Wu=a.defineMixin(e=>{const t=e.getInstance(a.DISPOSABLE_ID),n=a.getEvent(e,a.APP_LOAD_EVENT_ID),r=M(n),s=t.addDisposable(new Ee(r));return{setOptions({handleLoad:i}){s.setListener(i)},instance:{handleLoad:r},dispose:()=>t.dispose()}}),Xu=a.defineMixin(e=>{const t=e.getInstance(a.DISPOSABLE_ID),n=t.addDisposable(new a.AsyncEmitter),r=t.addDisposable(new a.AsyncEmitter),s=a.getEmitter(e,a.CONFIG_CHANGED_EVENT_ID),i=M(n.event),o=M(r.event),c=M(s.event),l=t.addDisposable(new Ee(i)),u=t.addDisposable(new Ee(o)),d=t.addDisposable(new Ee(c));return{instance:{handleSetOptions:i,handleOptionsChanged:o,handleConfigChanged:c},async setOptions(p){l.setListener(p.handleSetOptions),u.setListener(p.handleOptionsChanged),d.setListener(p.handleConfigChanged),await n.fire(p),await r.fire(p)},dispose(){}}}),zt,Rs="core";function Ju(){const e=__emailmaker__?.require;return typeof e!="function"?Promise.reject(new Error("[loadCore] AMD loader is unavailable")):new Promise((t,n)=>{e([Rs],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadCore] Failed to require core module")))})}function Qu(e){const t=__emailmaker__?.require?.warm;return typeof t!="function"?De().then(()=>{}):t([Rs],e)}function De(){return zt===void 0&&(zt=Ju().then(e=>(_e()&&e.installDiagnostics().catch(t=>{}),e))),zt}var Kt=null,Wt=null;async function Zu(e){typeof e?.prefetch=="function"&&await e.prefetch()}function Xt(){return Kt||(Kt=De().then(()=>{})),Kt}function Os(e){return Wt||(Wt=Zu(e)),Wt}function ef(){return Os(typeof __emailmaker__<"u"?__emailmaker__:void 0)}function tf(e){return Promise.all([Xt(),Os(e)]).then(()=>{})}function nf(e){const t=e?.preload?.start??e?.startupPrefetchMode;return t==="eager"||t==="idle"||t==="manual"||t==="off"?t:"idle"}function Ls(e,t){const n=e?.preload?.execute!==!1;Promise.resolve().then(()=>Qu(t?{priority:t}:void 0)).then(()=>n?Xt():void 0).catch(()=>{})}function rf(e){const t=nf(e);if(t==="eager")Ls(e);else if(t==="idle"){const n=()=>Ls(e,"low");document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0})}}var Ns="PluginRegistry";function sf(e=a.resolveContainer()){return e.getOrCreateInstance(Ns,()=>new _i)}var Ms=new yi(()=>sf()),of=a.defineMixin(e=>{let t;function n(){if(!t)throw new Error("PluginCollection not initialized. Call init() first.");return t}return{async setOptions(r){const s=e.getInstance(a.INSTANCE_ID),i=e.getInstance(Ns);t||(t=new bi(s,i,{ensureHostRuntimeReady:ef}),e.inject(a.PLUGIN_COLLECTION_ID,t));const o=r?.plugins||[];s&&await t.setPlugins(o)},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}}}),xs=class{_listeners=[];add(e,t=0,n){const r={fn:n?e.bind(n):e,priority:t};return this._listeners.push(r),{dispose:()=>{const s=this._listeners.indexOf(r);s>=0&&this._listeners.splice(s,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}},af=a.createIdentifier$1("ELEMENT_INSERT_HTML_PIPELINE"),lf=a.createIdentifier$1("BLOCK_INSERT_HTML_PIPELINE"),cf="application_block_inserted",df=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(lf,()=>new xs).add(e,t??0,n)}handleInject(e,t,n){const r=this._container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService),s=n?e.bind(n):e;return r.addListener(cf,s,t)}},uf=a.createIdentifier$1("ComponentRegistry"),ks;function Re(e,t=uf){const n=a.DependencyResolver.getInstance(t);if(n)return n;if(!ks)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return a.DependencyResolver.getOrCreateInstance(t,ks)}var ff=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}getNames(){return new Promise(e=>{const t=this._container.addService(a.ATOMS_HANDLERS_ID,{execute:n=>{t.dispose(),e(n.value.map(r=>({name:r.name,html:r.html})))}})})}update(e,t){const n=this._container,r=Re(n);return n.addService(a.ATOMS_HANDLERS_ID,{execute:s=>{const i=s.value.find(o=>o.name===e);if(i){const{icon:o,title:c,fallbackTooltip:l,...u}=t;o&&(i.icon=r.getReactNode(o)),c&&(i.title=r.getReactNode(c)),l&&(i.fallbackTooltip=r.getReactNode(l)),Object.assign(i,u)}}})}delete(e){this._container.addService(a.ATOMS_HANDLERS_ID,{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=Re(n);return n.addService(a.ATOMS_HANDLERS_ID,{execute:s=>{s.value.splice(t??s.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(af,()=>new xs).add(e,t??0,n)}handleInject(e,t,n){return a.getEmitter$1(this._container,a.HANDLE_ATOM_INSERT_ID).event(r=>{e({name:r.name,className:r.className||"",html:r.html})},t,n)}},pf=class{_messageService;constructor(e){this._messageService=e.container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}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 mf(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}var hf=class{_context;_showModalEmitter;_closeModalEmitter;_updateModalEmitter;constructor(e){this._context=e;const t=e.container;this._showModalEmitter=a.getEmitter$1(t,a.MODAL_SHOW_EVENT),this._closeModalEmitter=a.getEmitter$1(t,a.MODAL_CLOSE_EVENT),this._updateModalEmitter=a.getEmitter$1(t,a.MODAL_UPDATE_EVENT)}get _container(){return this._context.container}show(e){const t=Re(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=Re(this._container),r=t.modalProps;this._updateModalEmitter.fire(mf({...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}))}},gf=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 s=()=>this._loadedDisposable.dispose(),i=()=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&s(),n())},o=c=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&s(),r(c))};this._resolveLoaded=i,this._rejectLoaded=o}),this.ready=new Promise((n,r)=>{const s=()=>this._loadedDisposable.dispose(),i=()=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&s(),n())},o=c=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&s(),r(c))};this._resolveReady=i,this._rejectReady=o})}_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)}},Ef=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}get _messageService(){return this._container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}_createScriptHandle(e,t){const n=this._messageService.addListener(a.SANDBOX_EXTENSION_SCRIPT_STATUS_ID,s=>{if(s.key===e){if(s.phase==="load"&&s.status==="success"){r.resolveLoaded();return}if(s.phase==="ready"&&s.status==="success"){r.resolveReady();return}if(s.phase==="load"){r.rejectLoad(new Error(s.error||`Sandbox script "${e}" failed to load.`));return}r.rejectReady(new Error(s.error||`Sandbox script "${e}" failed to initialize.`))}}),r=new gf(t,n);return r}registerSandboxCSS(e){return this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"link",key:e,parent:"head",attributes:{rel:"stylesheet",type:"text/css",href:e}})}registerSandboxCSSCode(e,t){return this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"style",key:e,parent:"head",attributes:{type:"text/css"},innerHTML:t})}registerSandboxScript(e){const t=this._container.addService(a.SANDBOX_EXTENSIONS_ID,{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(a.SANDBOX_EXTENSIONS_ID,{type:"script",key:e,parent:"head",attributes:{type:"text/javascript"},innerHTML:t});return this._createScriptHandle(e,n)}},vf=new Set([Symbol.for("react.element"),Symbol.for("react.transitional.element")]);function Jt(e){if(typeof e!="object"||e===null)return!1;const t=e.$$typeof;return typeof t=="symbol"&&vf.has(t)}function Fs(){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 Qt(){return`__settingsPanel:${Fs()}`}function Zt(e,t){return{type:e,props:t}}function bf(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!Jt(e)}function Bs(e,t,n){if(t==null||typeof t=="number"||typeof t=="boolean"||typeof t=="string")return t;if(Jt(t)){const r=Qt();return n(e.add(r,t)),Zt(r,{})}if(typeof t=="function"){const r=Qt();return n(e.add(r,t)),Zt(r,{})}if(bf(t)){const r=t.type;if(typeof r=="string")return t;if(Jt(r)||typeof r=="function"){const s=Qt();return n(e.add(s,r)),Zt(s,t.props)}return t}return t}var _f=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=Re(this._container),n=o=>this._trackRegistration(o),r=Bs(t,e.content,n),s=e.advancedTabs?.map(o=>({...o,content:Bs(t,o.content,n)})),i=e.instanceKey??Fs();a.getEmitter$1(this._container,a.SETTINGS_PANEL_EVENT).fire({...e,content:r,advancedTabs:s,instanceKey:i,type:a.ADVANCED_SETTINGS_PANEL})}closeSettingsPanel(){this._clearPanelRegistrations(),a.getEmitter$1(this._container,a.SETTINGS_PANEL_EVENT).fire(null)}},js={SandboxScriptApi:Ef,ElementsApi:ff,BlocksApi:df,MessageService:pf,SettingsPanelApi:_f,ModalApi:hf};function en(e,t,n,r={}){const s=Object.assign({},e);for(const[i,o]of Object.entries(t))if(o!==void 0)if(n.includes(i)&&typeof o=="object"&&o!==null){const c=s[i],l=r[i]??{};s[i]=Object.assign({},typeof c=="object"&&c!==null?c:l,o)}else s[i]=o;return s}var X={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}},yf={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"},tn={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},Us={color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},be={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:X.border,borderRadius:X.borderRadius,textAlign:"center",padding:X.padding},Hs={backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:X.padding},nn={contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:X.border,borderRadius:X.borderRadiusCards};function Sf(e){return{...yf,...e}}function wf(e){return{...tn,...e,bold:e?.bold??tn.bold,italic:e?.italic??tn.italic}}function If(e){return{...Us,...e,underline:e?.underline??Us.underline}}function Tf(e){return{...be,...e,bold:e?.bold??be.bold,italic:e?.italic??be.italic,border:{...be.border,...e?.border},borderRadius:{...be.borderRadius,...e?.borderRadius},padding:{...be.padding,...e?.padding}}}function Af(e){return{...Hs,...e,padding:{...Hs.padding,...e?.padding}}}function Cf(e){return{...nn,...e,border:{...nn.border,...e?.border},borderRadius:{...nn.borderRadius,...e?.borderRadius}}}function rn(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 $s(e){let t={...a.COMMON_STYLES};try{e&&e!=="{}"&&(t=JSON.parse(e))}catch{}return t}function sn(e){return{text:Sf(e.text),headings:wf(e.headings),links:If(e.links),buttons:Tf(e.buttons),block:Af(e.block),cards:Cf(e.cards)}}var Gs=a.createIdentifier$1("EmailSettingsPort"),Pf=1e4,Vs=class{_editor;_layoutSettingsChanged=new a.Emitter;_contentStylesChanged=new a.Emitter;_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(Gs);if(!t)throw new Error("[extensions] настройки письма ещё не загружены — работа с UI начинается с init()");return t}_getCurrentLayoutSettings(){return rn(this._settings().read())}_getCurrentContentStyles(){const e=lt(this._editor.container)?.current()?.get().attributes.common_styles;return sn($s(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(Gs),this._messageSubscription)return;const e=this._editor.container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService),t=this._getCurrentLayoutSettings(),n=this._getCurrentContentStyles();this._prevLayoutSnapshot=this._getLayoutSnapshot(t),this._prevContentSnapshot=this._getContentSnapshot(n),this._messageSubscription=e.addListener(r=>{const s=r?.data,i=s?.operation;if(i===a.EVENT_TYPES.APPLICATION_EMAIL_SETTINGS_SET){const l=rn(s?.settings),u=this._getLayoutSnapshot(l);u!==this._prevLayoutSnapshot&&(this._prevLayoutSnapshot=u,this._layoutSettingsChanged.fire(l));return}if(i!==a.EVENT_TYPES.APPLICATION_COMMON_STYLES_UPDATE)return;const o=sn(r.data?.settings?.commonStyles??{...a.COMMON_STYLES}),c=this._getContentSnapshot(o);c!==this._prevContentSnapshot&&(this._prevContentSnapshot=c,this._contentStylesChanged.fire(o))})})();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=rn(n);this._prevLayoutSnapshot=this._getLayoutSnapshot(r),this._layoutSettingsChanged.fire(r)}async _waitForEmailSettingsFromIframe(e=Pf){const t=lt(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,s=a.getEvent(r,a.events.ON_EMAIL_INIT_ID);return new Promise(i=>{let o=!1,c;const l=()=>{c&&(clearTimeout(c),c=void 0)},u=s(()=>{o||(o=!0,l(),u.dispose(),i())});c=setTimeout(()=>{o||(o=!0,u.dispose(),i())},e)})}async getEmailContentStyles(){return this._getCurrentContentStyles()}async setEmailContentStyles(e){const t=lt(this._editor.container)?.current();if(!t)return;const n=$s(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=en(n.buttons||{},e.buttons,["border","borderRadius","padding"],{border:X.border,borderRadius:X.borderRadius,padding:X.padding})),e.block!==void 0&&(n.block=en(n.block||{},e.block,["padding"],{padding:X.padding})),e.cards!==void 0&&(n.cards=en(n.cards||{},e.cards,["border","borderRadius"],{border:X.border,borderRadius:X.borderRadiusCards}));const r=JSON.stringify(n);Be(t,{common_styles:r}),this._settings().markAppearanceChanged();const s=sn(n);this._prevContentSnapshot=this._getContentSnapshot(s),this._contentStylesChanged.fire(s)}},Df={...js,EmailSettingsApi:Vs},Rf={...js},fm={...Rf,EmailSettingsApi:Vs},Of={...Df};function Lf(){Ms.addAll(Of)}var Nf=[a.defineMixin(()=>{Lf()}),Wu,Xu,Ku,a.JWTMixin,Vu,a.OAuthMixin];async function Mf(){return(await De()).asyncMixins}var xf=of,kf=e=>{let t=null,n=!1;return{instance:{},async setOptions(r){if(!t&&!n){let s;try{s=await Mf()}catch(o){throw e.failPendingWaits(o),o}t=s(e);const i=await e.getInstanceAsync(a.INSTANCE_ID);Object.assign(i,t.instance||{});for(const o of e.getInstance(a.LATE_SURFACE_LISTENERS_ID)??[])o()}t&&await t.setOptions(r)},dispose(){t?.dispose(),n=!0}}},Ff=a.combineMixins([...Nf]);function on(){let e,t=!1;const n=new Map,r=new Map;function s(){for(const i of r.values())i();r.clear()}return{event(i,o,c){const l=Symbol("subscription");return t||(n.set(l,{listener:i,priority:o,thisArg:c}),e&&r.set(l,e(i,o,c))),()=>{n.delete(l),r.get(l)?.(),r.delete(l)}},attach(i){s(),e=i;for(const[o,{listener:c,priority:l,thisArg:u}]of n)r.set(o,i(c,l,u))},dispose(){t=!0,s(),n.clear(),e=void 0}}}var Ys=a.createIdentifier$1("NotificationService");function Bf(e){const t=on(),n=on(),r=on();return e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{t.dispose(),n.dispose(),r.dispose()}),e.getInstanceAsync(Ys).then(s=>{t.attach(s.onNotify),n.attach(s.onError),r.attach(s.onSuccess)},()=>{}),{handleNotify:t.event,handleError:n.event,handleSuccess:r.event,notify(s){const i=e.getInstance(Ys);if(!i)throw new Error("[plugin] notify() вызван до загрузки редактора");i.notify(s)}}}var jf=[Bc,Mu,Bf];function Uf(e,t=jf){const n=Yt(e);Hu(e);const r=Ff(e),s=xf(e),i=kf(e),o={...r.instance,...s.instance,...i.instance};for(const l of t)Object.assign(o,l(e));let c=!0;return{instance:o,async setOptions(l){await r.setOptions(l);const u=c&&n.get()===l;c=!1,u||n.set(l),await s.setOptions(l),await i.setOptions(l)}}}var Hf=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]}},$f="editor-runtime.react.copies",an=8;function Oe(e){return e&&typeof e=="object"?e:void 0}function qs(e){const t=Oe(e);if(!t)return;if(typeof t.useState=="function")return t.useState;const n=Oe(t.default);return n&&typeof n.useState=="function"?n.useState:void 0}function Gf(e){const t=Oe(e),n=t&&typeof t.version=="string"?t.version:void 0,r=Oe(t?.default),s=r&&typeof r.version=="string"?r.version:void 0;return n??s??"unknown"}function Vf(e,t,n){return e.package===t&&e.version===n}function Yf({ourReact:e,entries:t,packageName:n,version:r}){const s=qs(e);if(!s||!Array.isArray(t))return[];const i=[],o=new Set;for(const c of t){const l=Oe(c);if(!l||!Vf(l,n,r))continue;const u=qs(l.react);!u||u===s||o.has(u)||(o.add(u),i.push({package:n,version:r,reactVersion:Gf(l.react),react:l.react}))}return i}function qf({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,an))n.push(` • React ${r.reactVersion}, loaded through ${r.package}@${r.version}/runtime/react`);return t.length>an&&n.push(` …and ${t.length-an} 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(`
2129
- `)}var zs=new Set;function zf({packageName:e="@emailmaker/emailmaker",version:t="1.1.85-dev.6",log:n=r=>{}}={}){const r=s=>{try{const i=globalThis[Symbol.for($f)],o=Yf({ourReact:s,entries:i,packageName:e,version:t}).filter(c=>!zs.has(c.react));if(!o.length)return;o.forEach(c=>zs.add(c.react)),n(qf({packageName:e,copies:o}))}catch{}};try{const s=rt()?.modules?.React;if(s&&typeof s.then=="function"){s.then(r,()=>{});return}r(s)}catch{}}async function Kf(e,t,n){a.throwIfAborted(e.signal);const r=t??a.DependencyResolver.createChild();Yt(r);const s=r.getInstance(a.DISPOSABLE_ID);async function i(){r.inject(a.COOKIE_MANAGER_ID,new Hf),zf();const o=Uf(r),c={...o.instance,container:r,async reset(l){if(a.throwIfAborted(l.signal),s.isDisposed())throw st();return await o.setOptions(l),c}};r.inject(a.INSTANCE_ID,c);try{if(n?.onInstance?.(c),await o.setOptions(e),a.throwIfAborted(e.signal),s.isDisposed()||await r.getInstance(a.PLUGIN_COLLECTION_ID)?.activate(),e.devTools)try{const l=r.getInstance(a.PLUGIN_COLLECTION_ID);l&&await(await De()).initDevTools(r,l)}catch{}return a.throwIfAborted(e.signal),a.getEmitter(r,a.APP_LOAD_EVENT_ID).fire(c),c}catch(l){throw s.dispose(),l}}try{return await a.raceWithAbortSignal(i(),e.signal)}catch(o){throw s.isDisposed()||s.dispose(),o}}var Le=new WeakMap;function Wf(e){return e?Le.get(e):void 0}function Ks(e){try{e.getInstance(a.DISPOSABLE_ID)?.dispose()}catch{}try{e.dispose()}catch{}}function Xf(e,t){if(!e)return;const n=Le.get(e);n&&n!==t&&Ks(n),Le.set(e,t)}function Jf(e,t){e&&Le.get(e)===t&&Le.delete(e)}function Qf(e){const t=a.DependencyResolver.createChild();return Qe(e)&&t.inject(a.SECURITY_MODULE_ID,Je(e)),t}var Ne=new WeakMap,Zf="data-emailmaker-config-styles";function ep(e){return typeof e=="string"?e.trim():""}function Ws(e,t){if(e.firstChild){e.insertBefore(t,e.firstChild);return}e.appendChild(t)}function tp(e,t,n){if(!e||typeof document>"u")return null;const r=ep(t),s=Ne.get(e),i=n||e;if(!r)return s&&(s.remove(),Ne.delete(e)),null;if(s)return s.textContent!==r&&(s.textContent=r),(s.parentNode!==i||s!==i.firstChild)&&Ws(i,s),s;const o=document.createElement("style");return o.setAttribute(Zf,"true"),o.textContent=r,Ws(i,o),Ne.set(e,o),o}function np(e){if(!e)return;const t=Ne.get(e);t&&(t.remove(),Ne.delete(e))}var pm=!1;function Xs(){return!1}var mm=28,rp=`
2128
+ `)}function Ts(e){return e.replace(/<title[^>]*>[\s\S]*?<\/title>/gi,"")}function iu(e,t,n,r){const s=ou(e,t,n,r);return s===void 0}function ou(e,t,n,r){const{email:s}=jt(t,!1),i=ve(s,e),o=i.id;if(o===void 0)return"no-id";if(r!==void 0&&r!==o)return"other-id-shown";const c=gt(e)?.current();if(!c)return"no-session";const l=c.get(),u=l.attributes;if(l.serverId!==o)return"document-id";if(u.is_inited!==!0)return"not-inited";const d=Ts(Ht(n??c.getContent()));if(i.html!==void 0&&Ts(Ht(i.html))!==d)return"html";if(i.subject!==void 0&&i.subject!==u.subject)return"subject";if(i.preheader!==void 0&&i.preheader!==u.preheader)return"preheader";if(i.common_styles!==void 0&&i.common_styles!==u.common_styles)return"common_styles"}function As(e,t){const{email:n}=jt(t,!1),r=ve(n,e);if(r.id!==void 0)return JSON.stringify([r.id,r.html===void 0?null:Ht(r.html),r.subject??null,r.preheader??null,r.common_styles??null])}function au(e,t){const n={...e};return delete n.id,{...n,...t}}function lu(e){return e.html?e:{...e,html:_s}}function Pe({code:e,project:t,...n},r,s){const i=s??ys(r);return{...n,...e?{html:ge(r).toEditorForm(e)}:{},renderGuid:a.generateUUID(),...i===void 0?{}:{project:i}}}function Je({html:e,renderGuid:t,...n},r){const{requested:s}=We(r);return se({...n,code:ge(r).toOutputForm(e),project:s===void 0?n.project:s,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 Cs(e){return gt(e)?.current()?.get().serverId??void 0}function $t(e,t,n){return n===void 0&&(n=e.post===void 0?Cs(t):e.post),{...e,content:e.content?`<p>${e.content}</p>`:"",post:n}}function Qe(e,t){return se({...e,link:void 0,comment_status:void 0})}function Gt({code:e,...t},n,r){return r===void 0&&(r=t.parent===void 0?Cs(n):t.parent),{...t,...e?{html:e}:{},parent:r}}function Ps({html:e,...t},n){return se({...t,code:e,guid:void 0,compiled:se({html:e,ampHtml:e&&""})})}var Vt=a.createIdentifier$1("NotificationService"),cu=a.createIdentifier$1("emailTemplate.reads");async function du(e,t){try{return await le(e).email(e).readEmail(t)??void 0}catch(n){n instanceof Error&&n.message,fu(e,t,n);return}}var uu=a.createIdentifier$1("emailTemplate.notifiedFailures");function fu(e,t,n){if(n instanceof DOMException&&n.name==="AbortError")return;const r=e.getOrCreateInstance(uu,()=>new Set);r.has(t)||(r.add(t),e.getInstanceAsync(Vt).then(()=>{a.getEmitter(e,a.events.ON_NOTIFICATION).fire({type:"error",id:"TEMPLATE_READ_ERROR",data:{templateId:t},innerException:n})},()=>{}))}function pu(e,t){const n=e.getOrCreateInstance(cu,()=>new Map),r=n.get(t);if(r!==void 0)return r;const s=du(e,t).then(i=>(i===void 0&&n.delete(t),i));return n.set(t,s),s}var mu="EXTERNAL";function hu(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"сохранение не состоялось")}var gu="email_id",Eu=class extends a.Disposable{_container;_prevCommand;_lastShow;_showToken=0;_showRequests=0;_dataSources;_eventLock;_queue=a.createQueue();_currentEmail;constructor(e){super(),this._container=e;const t=e;this._dataSources=Ke(t),this._eventLock=ru(t);const n=$(e,a.events.ON_EMAIL_CHANGED_ID);this.addDisposable(n(r=>{this._currentEmail=r})),this.addDisposable(e.addService(a.REQUEST_HANDLER_ID,{execute:(r,s)=>{!s?.public&&this._currentEmail?.id&&!this._currentEmail.isNew&&r.headers.append(gu,this._currentEmail.id)}}))}_getInitPipeline(){return this._container?.getInstance(a.INIT_PIPELINE_ID)??wt}_throwIfDestroyed(){if(this.isDisposed())throw it()}async getTemplateEmail(e){const t=await pu(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 Ut(this._container);await t.setAll(e.filter(r=>r.id!==void 0).map(r=>[r.id,Pe(r,this._container,n)]))}async setEmailRevisions(e,t){if(e===void 0)return;const{cache:n}=this._dataSources.emailRevisions,r=e.filter(s=>s.id!==void 0).map(s=>[s.id,Gt(s,this._container,t)]);await n.setAll(r)}async setComments(e=[],t){const{cache:n}=this._dataSources.comments,r=e.filter(s=>s.id!==void 0).map(s=>[s.id,$t(s,this._container,t)]);await n.setAll(r)}async setEmail(e,t,n,r,s){const i=this._dataSources.emails,o=i.cache,c=await Ut(this._container),l=r??this._showToken;e=typeof e=="string"?{code:e}:{...e};let u=ve(e,this._container);const d=u.id;let p=d;if(d!==void 0){const m=await i.get(d);u={...m??{},...u,renderGuid:m?.renderGuid??a.generateUUID(),...l>0?{showToken:l}:{},...s?{showId:s}:{},project:c}}else{p=n??a.generateUUID();const m=await i.get(p);u={...u,renderGuid:m?.renderGuid??a.generateUUID(),...l>0?{showToken:l}:{},...s?{showId:s}:{},project:c},delete u.project}if(t){const m=await this.getTemplateEmail(String(t));m&&(u=au(m,u))}return d===void 0&&(u=lu(u)),await o.addOrUpdate(p,()=>u),u}_rememberShow(e){this._prevCommand=e}_isRepeatOfLastShow(e){const t=this._lastShow;if(!t||t.signature!==As(this._container,e))return!1;const n=Xe(this._container);return n===void 0||n===t.html}_rememberShownContent(e){const t=As(this._container,e);this._lastShow=t===void 0?void 0:{signature:t,html:Xe(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(a.throwIfAborted(n.signal),iu(this._container,e,Xe(this._container),this._prevCommand?.id)||this._isRepeatOfLastShow(e))return;const r=jt(e);r.email.id,this._prevCommand?.id;let s,i="",o=0,c=!1,l,u=Promise.resolve(),d,p=!1;try{this._eventLock.suspendChange();const{email:m,blocks:v,autosaves:S,comments:E,templateId:g,reload:b}=r;s=m.id;const _=ve(m,this._container),w=_.id,P=w??a.generateUUID(),D=await Ie("getProject",Ut(this._container));a.throwIfAborted(n.signal),i=a.generateUUID();const h={isNew:w===void 0,id:String(P),project:D},I=b===!0&&w!==void 0;I&&(await this._dataSources.emails.remove(String(w),{silent:!0}),String(w)),o=++this._showToken,String(P);const f=[];f.push(this.setBlocks(v)),m.id!==void 0&&(f.push(this.setComments(E)),f.push(this.setEmailRevisions(S,String(m.id)))),f.push(this.setEmail(m,Number(g),w===void 0?String(P):void 0,o,i)),await Ie("setEmail+blocks+revisions",Promise.all(f),{emailId:w??String(P),showId:i,targetShowToken:o}),a.throwIfAborted(n.signal);const y=await this._dataSources.emails.get(String(P)),A=ie(this._container),L={id:i,token:o};w===void 0?d=A.startNewDraft(y??_,{patch:_,show:L}):I?d=A.reload(w,{email:y??_,patch:_,show:L}):A.sessionKey()===Se(w)?d=A.show(_,L):d=A.open(w,{email:y??_,patch:_,show:L});const F=!!this._prevCommand&&a.deepEqual(this._prevCommand,h);h.id,!this._prevCommand||a.deepEqual(this._prevCommand,h),this._prevCommand?.id,this._rememberShow(h),u=n.requestShow({showId:i,navId:String(P),emailId:w,isNew:w===void 0}),p=!0,String(P),c=!0}catch(m){l=m,p&&i&&n.failShow(i,m),a.isAbortError(m)||($n(m),void 0)}finally{this._eventLock.resumeChange()}if(!c)throw l instanceof Error?l:new Error(`[emailmaker] show() setup failed: ${String(l??"unknown error")}`);return Ie("show-init-deferred",Promise.all([u,d?.whenReady().catch(m=>{if(m instanceof je){const v=ar(m);throw v?new Error(`[emailmaker] show(): email open failed (${v})`,{cause:m}):m}})??Promise.resolve()]).then(()=>{}),{showId:i,emailId:s??null}).then(()=>{this._rememberShownContent(e)})}async _save(){this._throwIfDestroyed();const e=this._getInitPipeline();a.throwIfAborted(e.signal);const t=ie(this._container),n=await t.save("publish",{source:mu});if(a.throwIfAborted(e.signal),!n)throw hu(t.saveState().error);return X(su(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 vu(e){return String(e).replace(/"/g,"&quot;")}function bu(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 _u(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 Ds(e,t,n){const r=new RegExp(`\\b${t}\\s*=\\s*["'][^"']*["']`,"i"),s=vu(n);return r.test(e)?e.replace(r,`${t}="${s}"`):e.replace(/>$/,` ${t}="${s}">`)}function yu(e,t,n){if(!e?.trim()||!t)return e;const r=_u(e);if(!r)return e;const s=String(t),i=bu(n??new Date);let{full:o,index:c}=r;const l=o.length;return/\bem-block-id\s*=/.test(o)||(o=Ds(o,"em-block-id",s)),o=Ds(o,"em-block-version",i),e.slice(0,c)+o+e.slice(c+l)}function Su(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 wu(e,t){const n=e.insertFrom??t?.type,r=t?.blockId??(e.id!=null&&e.id!==""?String(e.id):void 0),s=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:s,fragmentRole:e.fragmentRole,id:r,title:e.title??void 0,blockType:e.type,meta:Su(e)}}function Yt(e,t){return t?wu(t,e):{type:e.type,name:e.name,blockId:e.blockId,project:e.project,insertFrom:e.type}}var Rs=["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"],Iu=[...Rs,"html","id","project","password"],wm=new Set(["html",...Rs,"global_block","project"]);function Tu(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(Iu),r={};for(const s of Object.keys(e))n.has(s)||(r[s]=e[s]);return Object.keys(r).length>0&&(t.catalogExtra=r),t}function Au(e,t={}){return!e||typeof e!="object"?{html:"",insertFrom:t.type,name:t.name,project:t.project,id:t.blockId}:{...Tu(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 zt=new WeakMap;function Cu(e){let t=zt.get(e);return t||(t={byId:new Map,fallback:[]},zt.set(e,t)),t}function Pu(e){zt.delete(e)}function Du(e,t){const{byId:n,fallback:r}=Cu(t);if(e.blockId){const s=n.get(e.blockId);if(s){n.delete(e.blockId);const i=r.indexOf(s);return i>=0&&r.splice(i,1),s}return}for(let s=r.length-1;s>=0;s--){const i=r[s],o=e.name!=null&&e.name!==""&&i.name!=null&&i.name!==""&&i.name===e.name,c=e.type!=null&&e.type!==""&&i.insertFrom===e.type;if(o&&c)return r.splice(s,1),i.id!=null&&i.id!==""&&n.delete(String(i.id)),i}}async function Ru(e,t){const{blocks:n}=Ke(e);return await n.cache.getIfPresent(t)??void 0}async function Ou(e,t){if(!t.blockId)return;const n=await Ru(e,t.blockId);if(n)return Au(n,t)}async function Lu(e,t){const n=Du(e,t);if(n)return Yt(e,n);const r=await Ou(t,e);return r?Yt(e,r):Yt(e,void 0)}var Nu=a.createIdentifier("application_block_inserted"),Mu=-1e3,Os=new WeakSet;function xu(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 Fu(e){if(!e||Os.has(e))return;Os.add(e);const t=new a.Disposable,n=Y(e);return t.addDisposable(n.addListenerAsyncPipe(Nu,async(r,s)=>{const i=xu(r)?await Lu(r,e):r;return s?s(i):i},Mu)),t.addDisposable({dispose:()=>{Pu(e)}}),t}var Ls=100,ku=class extends a.Disposable{_container;_events;constructor(e){super(),this._container=e;const t=Fu(e);t&&this.addDisposable(t)}_get(){const e=this._container,{blocks:t,emails:n,comments:r,emailRevisions:s}=Ke(e),i=$(e,a.events.ON_SHARE_ID),o=$(e,a.events.ON_SHOW_PREVIEW_ID),c=$(e,a.events.ON_EMAIL_CLONE_ID),l=$(e,a.events.ON_CODE_VALIDATE_ID),u=$(e,a.events.ON_SUBJECT_CHANGED_ID),d=$(e,a.events.ON_EMAIL_CHANGED_ID),p=$(e,a.events.ON_PREHEADER_CHANGED_ID),m=$(e,a.events.ON_SAVEBUTTON_CLICK_ID),v=$(e,a.events.ON_NEXTBUTTON_CLICK_ID),S=$(e,a.events.ON_SEND_LIVEPREVIEW_ID),E=$(e,a.events.ON_SEND_TESTEMAIL_ID),g=$(e,Jd),b=$(e,a.events.ON_CONTENT_CHANGED_ID),_=$(e,Xd),w=$(e,a.events.ON_PREVIOUSBUTTON_CLICK_ID),P=$(e,a.events.ON_SEND_EMAIL_MODAL_ID),D=a.filter($(e,a.events.ON_EMAIL_INIT_ID),h=>!h.reset);return{handlePreheaderChanged:x(p),handleSubjectChanged:x(u),handleValidate:x(l),handleReadEmail:x(n.handlerRead,h=>h,h=>h&&ve(h,e)),handleSaveEmail:x(n.onSave,function({prev:h,patch:I,value:f,source:y}){const A=h?X(h,e):void 0;return{prev:A,patch:Te(A,X(I,e)),value:X(f,e),source:y}},h=>h?ve(h,e):void 0),handleRemoveEmail:x(n.onRemove,({value:h,source:I})=>({value:X(h,e),source:I}),()=>{}),handleReadCommonBlocks:x(g,h=>h.project,h=>h?.map(I=>Pe(I,e))),handleReadTemplateBlocks:x(_,h=>h,h=>h?.map(I=>Pe(I,e))),handleReadBlocks:x(t.byForeignKey("project").handleRead,h=>We(e).requested||String(h),h=>h?.map(I=>Pe(I,e))),handleSaveBlock:x(t.onSave,function({prev:h,patch:I,value:f,source:y}){const A=f.global_block===!0&&f.id&&typeof f.html=="string"?{...f,html:yu(f.html,String(f.id))}:f,L=h?Je(h,e):void 0;return{prev:L,patch:Te(L,Je(I,e)),value:Je(A,e),source:y}},h=>h?Pe(h,e):void 0),handleRemoveBlock:x(t.onRemove,({value:h,source:I})=>({value:Je(h,e),source:I}),()=>{}),handleReadComments:x(r.byForeignKey("post").handleRead,h=>h,h=>h?.map(I=>$t(I,e))),handleSaveComment:x(r.onSave,function({prev:h,patch:I,value:f,source:y}){const A=h?Qe(h,e):void 0;return{prev:A,patch:Te(A,Qe(I,e)),value:Qe(f,e),source:y}},h=>h?$t(h,e):void 0),handleRemoveComment:x(r.onRemove,({value:h,source:I})=>({value:Qe(h,e),source:I}),()=>{}),handleReadEmailRevisions:x(s.byForeignKey("parent").handleRead,h=>h,h=>h?.map(I=>Gt(I,e))),handleEmailAutosave:x(s.onSave,function({prev:h,patch:I,value:f,source:y}){return{value:Ps(f,e),source:y}},h=>h?Gt(h,e):void 0),handleRemoveEmailAutoSave:x(s.onRemove,({value:h,source:I})=>({value:Ps(h,e),source:I}),()=>{}),handleEmailChanged:x(a.debounce(d,Ls),h=>X(h,e)),handleEmailInit:x(D,h=>X(h,e)),handlePreviousButtonClick:x(w,h=>X(h,e)),handleNextButtonClick:x(v,h=>X(h,e)),handleSaveButtonClick:x(m,h=>X(h,e)),handleHtmlChanged:x(a.debounce(b,Ls)),handleTestEmailSend:x(E,({html:h,...I})=>({...I,code:h,compiled:{html:h,ampHtml:""}})),handleTestEmailModal:x(P,h=>X(h,e)),handleCloneEmail:x(c,h=>X(h,e)),handleShareEmail:x(i),handlePreviewEmail:x(o),handleLivePreviewEmail:x(S)}}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 Ee(t[r]))}for(const r of Object.keys(t))n[r].setListener(e[r])}},Bu=a.createIdentifier$1("DataController"),ju=a.createIdentifier$1("DataEvents");function Ns(e){return e.getOrCreateInstance(Bu,()=>{const t=new Eu(e);return e.getInstance(a.DISPOSABLE_ID)?.addDisposable(t),t})}function Ms(e){return e.getOrCreateInstance(ju,()=>new ku(e))}var Uu=a.createIdentifier$1("plugin.startupShow");function Hu(e){const t=Ns(e),n=Ms(e),r=e.getInstance(a.OPTIONS_SOURCE_ID),s=e.getInstance(a.DISPOSABLE_ID),i={current:Promise.resolve()};e.inject(Uu,i);const o=r?.watch(l=>{l&&n.setOptions(l)}),c=r?.select(l=>l?.content).watch(l=>{l!==void 0&&(H(q.showStart),i.current=(async()=>{try{await t.show(l)}catch{}finally{H(q.showEnd)}})())});o&&s?.addDisposable(o),c&&s?.addDisposable(c)}function $u(e){const t=Ns(e);return{...Ms(e).get(),show(n){return H(q.showStart),t.show(n).finally(()=>H(q.showEnd))},save(){return t.save()}}}function Im(e){return e}var Gu=[{name:"rest.client",setup:Yd},{name:"auth.oauth",setup:a.provideOAuth},{name:"rest.identityHeaders",setup:Ud},{name:"lifetime.destroyable",provides:[Lt],setup:Gc},{name:"appInit",provides:[a.APP_ID,at],setup:Yi},{name:"config",provides:[a.CONFIG_SOURCE_ID],setup:Hc},{name:"email.documents",setup:ad},{name:"show.initPipeline",provides:[a.INIT_PIPELINE_ID],setup:zd},{name:"show",setup:Hu},{name:"locale.service",provides:[Ce],setup:Fd},{name:"locale.fromConfig",awaits:{services:[a.CONFIG_SOURCE_ID,Ce]},setup:kd},{name:"canvas.early",setup:Gl},{name:"canvas.previewSettings",setup:Jl},{name:"canvas.sandboxExtensions",setup:Zl},{name:"canvas.headerSync",provides:[$r],setup:zl},{name:"canvas.ampSync",setup:_a},{name:"canvas.moduleBridge",setup:Ya},{name:"canvas.port",setup:Da},{name:"canvas.images",setup:Ca},{name:"canvas.edits",setup:Il},{name:"canvas.blockContent",setup:vl},{name:"canvas.sandboxFill",provides:[It],setup:gc},{name:"canvas.reactions",setup:Ul}],Vu=class extends Error{cycle;constructor(e){super(`[units] цикл в зависимостях: ${e.join(" → ")}`),this.cycle=e}};function Yu(e){const t=new Map;for(const n of e)for(const r of n.provides??[]){const s=t.get(r)??[];s.push(n),t.set(r,s)}return t}function zu(e,t){const n=[];for(const r of e.awaits?.services??[])for(const s of t.get(r)??[])s!==e&&n.push(s);return n}function xs(e){const t=Yu(e),n=[],r=new Set,s=[],i=new Set,o=c=>{if(!r.has(c)){if(i.has(c)){const l=s.indexOf(c);throw new Vu([...s.slice(l),c].map(u=>u.name))}i.add(c),s.push(c);for(const l of zu(c,t))o(l);s.pop(),i.delete(c),r.add(c),n.push(c)}};for(const c of e)o(c);return n}var Fs;function qt(e){const t=e.getInstance(a.OPTIONS_SOURCE_ID);if(t)return t;e.getInstance(a.DISPOSABLE_ID)||e.inject(a.DISPOSABLE_ID,new a.Disposable);const n=pe();e.inject(a.OPTIONS_SOURCE_ID,n),Fs??=xs(Gu);for(const r of Fs)r.setup(e);return n}function qu(e){}var Wu=[{name:"save.previewFollow",setup:qu}],ks=a.createIdentifier$1("plugin.lateUnitsInstalled");function Ku(e){if(!e.getInstance(ks)){e.inject(ks,!0);for(const t of xs(Wu))t.setup(e)}}function Xu(e,t){return{project:Number(e),app_id:t?.app_id||0,app_config:t?.app_config||{},user:t?.user}}function Ju(e){if(!e)return;const t=a.decodeJwt(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 Qu=a.defineMixin(e=>{let t,n,r;return{async setOptions(s){const i=r!==s.getAuthToken,o=!a.deepEqual(t,s.user),c=n!==s.project;if(r=s.getAuthToken,t=s.user,n=s.project,!(!e.getInstance(a.SECURITY_MODULE_ID)||!s.getAuthToken)&&!(!i&&!o&&!c))try{const l=await s.getAuthToken(s.user,s.project);e.inject(a.STANDALONE_BOOTSTRAP_TOKEN_ID,Promise.resolve(l||""));const u=Ju(l);if(!u)return;e.inject(a.STANDALONE_PROJECT_ID,u);const d=e.getInstance(a.APP_ID),p=d?await d.catch(()=>{}):void 0;e.inject(a.APP_ID,Promise.resolve(Xu(u,p)))}catch{}}}});function Zu(e,t){if(e.getInstance(a.STANDALONE_FILE_PROXY_REGISTERED_ID))return;e.inject(a.STANDALONE_FILE_PROXY_REGISTERED_ID,!0);const n=a.getEvent(e,a.events.FILE_PROXY_EVENT_ID);t.addDisposable(n(async({url:r})=>(await fetch(r)).blob(),Number.MIN_VALUE))}function ef(e){e.getInstance(a.STANDALONE_ACTIVATED_ID)||e.inject(a.SECURITY_MODULE_ID,void 0)}function Ze(e){return String(e.standaloneKey||"").trim()||void 0}function tf(e){return e.standaloneOnAuthFailure===!0?!0:e.config?.standaloneOnAuthFailure===!0}function Wt(e){return tf(e)?!!Ze(e):!1}function et(e){return!!Ze(e)&&!Wt(e)}var nf=a.defineMixin(e=>{let t,n=!1;return{setOptions(r){const s=n;if(n=!0,!et(r)){t&&(ef(e),Wt(r)),t=void 0;return}const i=Ze(r);if(!i||t===i&&e.getInstance(a.SECURITY_MODULE_ID))return;t=i,e.inject(a.SECURITY_MODULE_ID,i);const o=e.getInstance(a.DISPOSABLE_ID);o&&Zu(e,o)}}}),rf=a.defineMixin(e=>{const t=e.getInstance(a.DISPOSABLE_ID),n=a.getEvent(e,a.APP_LOAD_EVENT_ID),r=x(n),s=t.addDisposable(new Ee(r));return{setOptions({handleLoad:i}){s.setListener(i)},instance:{handleLoad:r},dispose:()=>t.dispose()}}),sf=a.defineMixin(e=>{const t=e.getInstance(a.DISPOSABLE_ID),n=t.addDisposable(new a.AsyncEmitter),r=t.addDisposable(new a.AsyncEmitter),s=a.getEmitter(e,a.CONFIG_CHANGED_EVENT_ID),i=x(n.event),o=x(r.event),c=x(s.event),l=t.addDisposable(new Ee(i)),u=t.addDisposable(new Ee(o)),d=t.addDisposable(new Ee(c));return{instance:{handleSetOptions:i,handleOptionsChanged:o,handleConfigChanged:c},async setOptions(p){l.setListener(p.handleSetOptions),u.setListener(p.handleOptionsChanged),d.setListener(p.handleConfigChanged),await n.fire(p),await r.fire(p)},dispose(){}}}),Kt,Bs="core";function of(){const e=__emailmaker__?.require;return typeof e!="function"?Promise.reject(new Error("[loadCore] AMD loader is unavailable")):new Promise((t,n)=>{e([Bs],r=>t(r),r=>n(r instanceof Error?r:new Error("[loadCore] Failed to require core module")))})}function af(e){const t=__emailmaker__?.require?.warm;return typeof t!="function"?De().then(()=>{}):t([Bs],e)}function De(){return Kt===void 0&&(Kt=of().then(e=>(_e()&&e.installDiagnostics().catch(t=>{}),e))),Kt}var Xt=null,Jt=null;async function lf(e){typeof e?.prefetch=="function"&&await e.prefetch()}function Qt(){return Xt||(Xt=De().then(()=>{})),Xt}function js(e){return Jt||(Jt=lf(e)),Jt}function cf(){return js(typeof __emailmaker__<"u"?__emailmaker__:void 0)}function df(e){return Promise.all([Qt(),js(e)]).then(()=>{})}function uf(e){const t=e?.preload?.start??e?.startupPrefetchMode;return t==="eager"||t==="idle"||t==="manual"||t==="off"?t:"idle"}function Us(e,t){const n=e?.preload?.execute!==!1;Promise.resolve().then(()=>af(t?{priority:t}:void 0)).then(()=>n?Qt():void 0).catch(()=>{})}function ff(e){const t=uf(e);if(t==="eager")Us(e);else if(t==="idle"){const n=()=>Us(e,"low");document.readyState==="complete"?n():window.addEventListener("load",n,{once:!0})}}var Hs="PluginRegistry";function pf(e=a.resolveContainer()){return e.getOrCreateInstance(Hs,()=>new Ai)}var $s=new Ci(()=>pf()),mf=a.defineMixin(e=>{let t;function n(){if(!t)throw new Error("PluginCollection not initialized. Call init() first.");return t}return{async setOptions(r){const s=e.getInstance(a.INSTANCE_ID),i=e.getInstance(Hs);t||(t=new Ti(s,i,{ensureHostRuntimeReady:cf}),e.inject(a.PLUGIN_COLLECTION_ID,t));const o=r?.plugins||[];s&&await t.setPlugins(o)},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}}}),Gs=class{_listeners=[];add(e,t=0,n){const r={fn:n?e.bind(n):e,priority:t};return this._listeners.push(r),{dispose:()=>{const s=this._listeners.indexOf(r);s>=0&&this._listeners.splice(s,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}},hf=a.createIdentifier$1("ELEMENT_INSERT_HTML_PIPELINE"),gf=a.createIdentifier$1("BLOCK_INSERT_HTML_PIPELINE"),Ef="application_block_inserted",vf=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}handleBeforeInject(e,t,n){return this._container.getOrCreateInstance(gf,()=>new Gs).add(e,t??0,n)}handleInject(e,t,n){const r=this._container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService),s=n?e.bind(n):e;return r.addListener(Ef,s,t)}},bf=a.createIdentifier$1("ComponentRegistry"),Vs;function Re(e,t=bf){const n=a.DependencyResolver.getInstance(t);if(n)return n;if(!Vs)throw new Error("[extensions] component registry is not loaded yet — UI work starts at init()");return a.DependencyResolver.getOrCreateInstance(t,Vs)}var _f=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}getNames(){return new Promise(e=>{const t=this._container.addService(a.ATOMS_HANDLERS_ID,{execute:n=>{t.dispose(),e(n.value.map(r=>({name:r.name,html:r.html})))}})})}update(e,t){const n=this._container,r=Re(n);return n.addService(a.ATOMS_HANDLERS_ID,{execute:s=>{const i=s.value.find(o=>o.name===e);if(i){const{icon:o,title:c,fallbackTooltip:l,...u}=t;o&&(i.icon=r.getReactNode(o)),c&&(i.title=r.getReactNode(c)),l&&(i.fallbackTooltip=r.getReactNode(l)),Object.assign(i,u)}}})}delete(e){this._container.addService(a.ATOMS_HANDLERS_ID,{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=Re(n);return n.addService(a.ATOMS_HANDLERS_ID,{execute:s=>{s.value.splice(t??s.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(hf,()=>new Gs).add(e,t??0,n)}handleInject(e,t,n){return a.getEmitter$1(this._container,a.HANDLE_ATOM_INSERT_ID).event(r=>{e({name:r.name,className:r.className||"",html:r.html})},t,n)}},yf=class{_messageService;constructor(e){this._messageService=e.container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}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 Sf(e){return Object.fromEntries(Object.entries(e).filter(([t,n])=>n!==void 0))}var wf=class{_context;_showModalEmitter;_closeModalEmitter;_updateModalEmitter;constructor(e){this._context=e;const t=e.container;this._showModalEmitter=a.getEmitter$1(t,a.MODAL_SHOW_EVENT),this._closeModalEmitter=a.getEmitter$1(t,a.MODAL_CLOSE_EVENT),this._updateModalEmitter=a.getEmitter$1(t,a.MODAL_UPDATE_EVENT)}get _container(){return this._context.container}show(e){const t=Re(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=Re(this._container),r=t.modalProps;this._updateModalEmitter.fire(Sf({...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}))}},If=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 s=()=>this._loadedDisposable.dispose(),i=()=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&s(),n())},o=c=>{this._loadedSettled||(this._loadedSettled=!0,this._readySettled&&s(),r(c))};this._resolveLoaded=i,this._rejectLoaded=o}),this.ready=new Promise((n,r)=>{const s=()=>this._loadedDisposable.dispose(),i=()=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&s(),n())},o=c=>{this._readySettled||(this._readySettled=!0,this._loadedSettled&&s(),r(c))};this._resolveReady=i,this._rejectReady=o})}_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)}},Tf=class{_context;constructor(e){this._context=e}get _container(){return this._context.container}get _messageService(){return this._container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService)}_createScriptHandle(e,t){const n=this._messageService.addListener(a.SANDBOX_EXTENSION_SCRIPT_STATUS_ID,s=>{if(s.key===e){if(s.phase==="load"&&s.status==="success"){r.resolveLoaded();return}if(s.phase==="ready"&&s.status==="success"){r.resolveReady();return}if(s.phase==="load"){r.rejectLoad(new Error(s.error||`Sandbox script "${e}" failed to load.`));return}r.rejectReady(new Error(s.error||`Sandbox script "${e}" failed to initialize.`))}}),r=new If(t,n);return r}registerSandboxCSS(e){return this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"link",key:e,parent:"head",attributes:{rel:"stylesheet",type:"text/css",href:e}})}registerSandboxCSSCode(e,t){return this._container.addService(a.SANDBOX_EXTENSIONS_ID,{type:"style",key:e,parent:"head",attributes:{type:"text/css"},innerHTML:t})}registerSandboxScript(e){const t=this._container.addService(a.SANDBOX_EXTENSIONS_ID,{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(a.SANDBOX_EXTENSIONS_ID,{type:"script",key:e,parent:"head",attributes:{type:"text/javascript"},innerHTML:t});return this._createScriptHandle(e,n)}},Af=new Set([Symbol.for("react.element"),Symbol.for("react.transitional.element")]);function Zt(e){if(typeof e!="object"||e===null)return!1;const t=e.$$typeof;return typeof t=="symbol"&&Af.has(t)}function Ys(){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 en(){return`__settingsPanel:${Ys()}`}function tn(e,t){return{type:e,props:t}}function Cf(e){return typeof e=="object"&&e!==null&&"type"in e&&"props"in e&&!Zt(e)}function zs(e,t,n){if(t==null||typeof t=="number"||typeof t=="boolean"||typeof t=="string")return t;if(Zt(t)){const r=en();return n(e.add(r,t)),tn(r,{})}if(typeof t=="function"){const r=en();return n(e.add(r,t)),tn(r,{})}if(Cf(t)){const r=t.type;if(typeof r=="string")return t;if(Zt(r)||typeof r=="function"){const s=en();return n(e.add(s,r)),tn(s,t.props)}return t}return t}var Pf=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=Re(this._container),n=o=>this._trackRegistration(o),r=zs(t,e.content,n),s=e.advancedTabs?.map(o=>({...o,content:zs(t,o.content,n)})),i=e.instanceKey??Ys();a.getEmitter$1(this._container,a.SETTINGS_PANEL_EVENT).fire({...e,content:r,advancedTabs:s,instanceKey:i,type:a.ADVANCED_SETTINGS_PANEL})}closeSettingsPanel(){this._clearPanelRegistrations(),a.getEmitter$1(this._container,a.SETTINGS_PANEL_EVENT).fire(null)}},qs={SandboxScriptApi:Tf,ElementsApi:_f,BlocksApi:vf,MessageService:yf,SettingsPanelApi:Pf,ModalApi:wf};function nn(e,t,n,r={}){const s=Object.assign({},e);for(const[i,o]of Object.entries(t))if(o!==void 0)if(n.includes(i)&&typeof o=="object"&&o!==null){const c=s[i],l=r[i]??{};s[i]=Object.assign({},typeof c=="object"&&c!==null?c:l,o)}else s[i]=o;return s}var J={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}},Df={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"},rn={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},Ws={color:"#1C52DC",contrastColor:"#FFFFFF",underline:!0},be={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:J.border,borderRadius:J.borderRadius,textAlign:"center",padding:J.padding},Ks={backgroundColor:"#FFFFFF",contrastBackgroundColor:"#1C52DC",padding:J.padding},sn={contrastBackgroundColor:"#1C52DC",contrastTextColor:"#FFFFFF",baseBackgroundColor:"#F8F8F8",baseTextColor:"#333333",border:J.border,borderRadius:J.borderRadiusCards};function Rf(e){return{...Df,...e}}function Of(e){return{...rn,...e,bold:e?.bold??rn.bold,italic:e?.italic??rn.italic}}function Lf(e){return{...Ws,...e,underline:e?.underline??Ws.underline}}function Nf(e){return{...be,...e,bold:e?.bold??be.bold,italic:e?.italic??be.italic,border:{...be.border,...e?.border},borderRadius:{...be.borderRadius,...e?.borderRadius},padding:{...be.padding,...e?.padding}}}function Mf(e){return{...Ks,...e,padding:{...Ks.padding,...e?.padding}}}function xf(e){return{...sn,...e,border:{...sn.border,...e?.border},borderRadius:{...sn.borderRadius,...e?.borderRadius}}}function on(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 Xs(e){let t={...a.COMMON_STYLES};try{e&&e!=="{}"&&(t=JSON.parse(e))}catch{}return t}function an(e){return{text:Rf(e.text),headings:Of(e.headings),links:Lf(e.links),buttons:Nf(e.buttons),block:Mf(e.block),cards:xf(e.cards)}}var Js=a.createIdentifier$1("EmailSettingsPort"),Ff=1e4,Qs=class{_editor;_layoutSettingsChanged=new a.Emitter;_contentStylesChanged=new a.Emitter;_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(Js);if(!t)throw new Error("[extensions] настройки письма ещё не загружены — работа с UI начинается с init()");return t}_getCurrentLayoutSettings(){return on(this._settings().read())}_getCurrentContentStyles(){const e=ct(this._editor.container)?.current()?.get().attributes.common_styles;return an(Xs(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(Js),this._messageSubscription)return;const e=this._editor.container.getOrCreateInstance(a.MESSAGE_SERVICE_ID,()=>new a.MessageService),t=this._getCurrentLayoutSettings(),n=this._getCurrentContentStyles();this._prevLayoutSnapshot=this._getLayoutSnapshot(t),this._prevContentSnapshot=this._getContentSnapshot(n),this._messageSubscription=e.addListener(r=>{const s=r?.data,i=s?.operation;if(i===a.EVENT_TYPES.APPLICATION_EMAIL_SETTINGS_SET){const l=on(s?.settings),u=this._getLayoutSnapshot(l);u!==this._prevLayoutSnapshot&&(this._prevLayoutSnapshot=u,this._layoutSettingsChanged.fire(l));return}if(i!==a.EVENT_TYPES.APPLICATION_COMMON_STYLES_UPDATE)return;const o=an(r.data?.settings?.commonStyles??{...a.COMMON_STYLES}),c=this._getContentSnapshot(o);c!==this._prevContentSnapshot&&(this._prevContentSnapshot=c,this._contentStylesChanged.fire(o))})})();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=on(n);this._prevLayoutSnapshot=this._getLayoutSnapshot(r),this._layoutSettingsChanged.fire(r)}async _waitForEmailSettingsFromIframe(e=Ff){const t=ct(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,s=a.getEvent(r,a.events.ON_EMAIL_INIT_ID);return new Promise(i=>{let o=!1,c;const l=()=>{c&&(clearTimeout(c),c=void 0)},u=s(()=>{o||(o=!0,l(),u.dispose(),i())});c=setTimeout(()=>{o||(o=!0,u.dispose(),i())},e)})}async getEmailContentStyles(){return this._getCurrentContentStyles()}async setEmailContentStyles(e){const t=ct(this._editor.container)?.current();if(!t)return;const n=Xs(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=nn(n.buttons||{},e.buttons,["border","borderRadius","padding"],{border:J.border,borderRadius:J.borderRadius,padding:J.padding})),e.block!==void 0&&(n.block=nn(n.block||{},e.block,["padding"],{padding:J.padding})),e.cards!==void 0&&(n.cards=nn(n.cards||{},e.cards,["border","borderRadius"],{border:J.border,borderRadius:J.borderRadiusCards}));const r=JSON.stringify(n);Ue(t,{common_styles:r}),this._settings().markAppearanceChanged();const s=an(n);this._prevContentSnapshot=this._getContentSnapshot(s),this._contentStylesChanged.fire(s)}},kf={...qs,EmailSettingsApi:Qs},Bf={...qs},Tm={...Bf,EmailSettingsApi:Qs},jf={...kf};function Uf(){$s.addAll(jf)}var Hf=[a.defineMixin(()=>{Uf()}),rf,sf,nf,a.JWTMixin,Qu,a.OAuthMixin];async function $f(){return(await De()).asyncMixins}var Gf=mf,Vf=e=>{let t=null,n=!1;return{instance:{},async setOptions(r){if(!t&&!n){let s;try{s=await $f()}catch(o){throw e.failPendingWaits(o),o}t=s(e);const i=await e.getInstanceAsync(a.INSTANCE_ID);Object.assign(i,t.instance||{});for(const o of e.getInstance(a.LATE_SURFACE_LISTENERS_ID)??[])o()}t&&await t.setOptions(r)},dispose(){t?.dispose(),n=!0}}},Yf=a.combineMixins([...Hf]);function ln(){let e,t=!1;const n=new Map,r=new Map;function s(){for(const i of r.values())i();r.clear()}return{event(i,o,c){const l=Symbol("subscription");return t||(n.set(l,{listener:i,priority:o,thisArg:c}),e&&r.set(l,e(i,o,c))),()=>{n.delete(l),r.get(l)?.(),r.delete(l)}},attach(i){s(),e=i;for(const[o,{listener:c,priority:l,thisArg:u}]of n)r.set(o,i(c,l,u))},dispose(){t=!0,s(),n.clear(),e=void 0}}}function zf(e){const t=ln(),n=ln(),r=ln();return e.getInstance(a.DISPOSABLE_ID)?.addDispose(()=>{t.dispose(),n.dispose(),r.dispose()}),e.getInstanceAsync(Vt).then(s=>{t.attach(s.onNotify),n.attach(s.onError),r.attach(s.onSuccess)},()=>{}),{handleNotify:t.event,handleError:n.event,handleSuccess:r.event,notify(s){const i=e.getInstance(Vt);if(!i)throw new Error("[plugin] notify() вызван до загрузки редактора");i.notify(s)}}}var qf=[Vc,$u,zf];function Wf(e,t=qf){const n=qt(e);Ku(e);const r=Yf(e),s=Gf(e),i=Vf(e),o={...r.instance,...s.instance,...i.instance};for(const l of t)Object.assign(o,l(e));let c=!0;return{instance:o,async setOptions(l){await r.setOptions(l);const u=c&&n.get()===l;c=!1,u||n.set(l),await s.setOptions(l),await i.setOptions(l)}}}var Kf=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]}},Xf="editor-runtime.react.copies",cn=8;function Oe(e){return e&&typeof e=="object"?e:void 0}function Zs(e){const t=Oe(e);if(!t)return;if(typeof t.useState=="function")return t.useState;const n=Oe(t.default);return n&&typeof n.useState=="function"?n.useState:void 0}function Jf(e){const t=Oe(e),n=t&&typeof t.version=="string"?t.version:void 0,r=Oe(t?.default),s=r&&typeof r.version=="string"?r.version:void 0;return n??s??"unknown"}function Qf(e,t,n){return e.package===t&&e.version===n}function Zf({ourReact:e,entries:t,packageName:n,version:r}){const s=Zs(e);if(!s||!Array.isArray(t))return[];const i=[],o=new Set;for(const c of t){const l=Oe(c);if(!l||!Qf(l,n,r))continue;const u=Zs(l.react);!u||u===s||o.has(u)||(o.add(u),i.push({package:n,version:r,reactVersion:Jf(l.react),react:l.react}))}return i}function ep({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,cn))n.push(` • React ${r.reactVersion}, loaded through ${r.package}@${r.version}/runtime/react`);return t.length>cn&&n.push(` …and ${t.length-cn} 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(`
2129
+ `)}var ei=new Set;function tp({packageName:e="@emailmaker/emailmaker",version:t="1.1.85-dev.8",log:n=r=>{}}={}){const r=s=>{try{const i=globalThis[Symbol.for(Xf)],o=Zf({ourReact:s,entries:i,packageName:e,version:t}).filter(c=>!ei.has(c.react));if(!o.length)return;o.forEach(c=>ei.add(c.react)),n(ep({packageName:e,copies:o}))}catch{}};try{const s=st()?.modules?.React;if(s&&typeof s.then=="function"){s.then(r,()=>{});return}r(s)}catch{}}async function np(e,t,n){a.throwIfAborted(e.signal);const r=t??a.DependencyResolver.createChild();qt(r);const s=r.getInstance(a.DISPOSABLE_ID);async function i(){r.inject(a.COOKIE_MANAGER_ID,new Kf),tp();const o=Wf(r),c={...o.instance,container:r,async reset(l){if(a.throwIfAborted(l.signal),s.isDisposed())throw it();return await o.setOptions(l),c}};r.inject(a.INSTANCE_ID,c);try{if(n?.onInstance?.(c),await o.setOptions(e),a.throwIfAborted(e.signal),s.isDisposed()||await r.getInstance(a.PLUGIN_COLLECTION_ID)?.activate(),e.devTools)try{const l=r.getInstance(a.PLUGIN_COLLECTION_ID);l&&await(await De()).initDevTools(r,l)}catch{}return a.throwIfAborted(e.signal),a.getEmitter(r,a.APP_LOAD_EVENT_ID).fire(c),c}catch(l){throw s.dispose(),l}}try{return await a.raceWithAbortSignal(i(),e.signal)}catch(o){throw s.isDisposed()||s.dispose(),o}}var Le=new WeakMap;function rp(e){return e?Le.get(e):void 0}function ti(e){try{e.getInstance(a.DISPOSABLE_ID)?.dispose()}catch{}try{e.dispose()}catch{}}function sp(e,t){if(!e)return;const n=Le.get(e);n&&n!==t&&ti(n),Le.set(e,t)}function ip(e,t){e&&Le.get(e)===t&&Le.delete(e)}function op(e){const t=a.DependencyResolver.createChild();return et(e)&&t.inject(a.SECURITY_MODULE_ID,Ze(e)),t}var Ne=new WeakMap,ap="data-emailmaker-config-styles";function lp(e){return typeof e=="string"?e.trim():""}function ni(e,t){if(e.firstChild){e.insertBefore(t,e.firstChild);return}e.appendChild(t)}function cp(e,t,n){if(!e||typeof document>"u")return null;const r=lp(t),s=Ne.get(e),i=n||e;if(!r)return s&&(s.remove(),Ne.delete(e)),null;if(s)return s.textContent!==r&&(s.textContent=r),(s.parentNode!==i||s!==i.firstChild)&&ni(i,s),s;const o=document.createElement("style");return o.setAttribute(ap,"true"),o.textContent=r,ni(i,o),Ne.set(e,o),o}function dp(e){if(!e)return;const t=Ne.get(e);t&&(t.remove(),Ne.delete(e))}var Am=!1;function ri(){return!1}var Cm=28,up=`
2130
2130
  .blocks-app-initial-spinner-wrapper {
2131
2131
  width: 100%;
2132
2132
  height: 100%;
@@ -2155,11 +2155,11 @@ __emailmaker__.define("emailmaker.js",["require","exports","module","static/umd/
2155
2155
  100% {
2156
2156
  transform: rotate(360deg);
2157
2157
  }
2158
- }`;function sp(){return()=>{}}function ip(e,t){if(!Xs()||!e||typeof document>"u")return sp();e.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(o=>{o.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 s=document.createElement("style");s.setAttribute(t,"true"),s.textContent=rp,document.head?.appendChild(s),e.appendChild(n);let i=!1;return()=>{i||(i=!0,n.remove(),s.remove())}}function op(e){if(!(e instanceof Error))return!1;const t=e;return t.terminal===!0||t.status===403||t.status===404}function ap({report:e}={}){const t=new Map,n=new Set,r=e??(s=>{});return{run(s,i){const o=t.get(s);if(o!==void 0)return o;const c=i().catch(l=>{throw n.has(s)||(n.add(s),r(l)),op(l)||t.delete(s),l});return t.set(s,c),c},clear(){t.clear(),n.clear()},size(){return t.size}}}var ln=ap();function Js(){ln.clear()}a.setApiOriginFailoverHook(()=>ln.clear());var Qs=new WeakMap,Zs=new WeakMap;function lp(e,t){let n=Zs.get(t);n||(n=new Map,Zs.set(t,n));const r=n.get(e);if(r!==void 0)return r;const s=t.getInstance(a.CUSTOM_FETCH_ID),i=a.createTransport({baseUrl:e,customFetch:s?.execute??fetch},t);return n.set(e,i),i}function cn(e){return a.resolveExplicitApiBaseUrl(e)}function cp(e,t){const n=new Error(`[Loader] appInit request failed: ${e} ${t}`);return n.status=e,n}function dp(){const e=new Error("[Loader] appInit skipped: empty auth token");return e.terminal=!0,e}async function up(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 fp(e,t){return async({baseUrl:n})=>{const r=cn(n);if(!r)throw new Error("[Loader] appInit requires baseUrl or REACT_APP_OPENAPI_BASE_URL");const s=new Headers({Accept:"application/json"});if(e.getAuthToken&&!await up(e))throw dp();const i=t();if(!i)throw new Error("[Loader] appInit requires the instance container");const o=new In(lp(r,i)),c={headers:Object.fromEntries(s.entries()),credentials:"same-origin",failoverAttemptTimeout:qt(e)||void 0},l=await o.app_init_create({},c);if(!l.ok)throw cp(l.status,l.statusText);return l.data}}function pp(e){return JSON.stringify({baseUrl:cn(e.baseUrl)||"",project:e.project??"",userId:e.user?.id??""})}function mp(e){return e.appInit?!0:!(e.jwtAuth&&!e.getAuthToken)}function hp(e){return t=>ln.run(pp(t),()=>(U("appInit:start",{kind:"network"}),Promise.resolve(e(t)).finally(()=>U("appInit:end",{kind:"network"}))))}function gp(e,t){if(Qe(e)||!e.appInit&&!cn(e.baseUrl)||!mp(e))return e;const n=e.appInit??fp(e,t);let r=Qs.get(n);return r||(r=hp(n),Qs.set(n,r)),{...e,appInit:r}}var ei=0;function Ep(){return ei}function vp(){ei+=1,Js()}var ti=new WeakMap,ni=new WeakMap,bp=3e4;function _p(e,t){return JSON.stringify({userId:e?.id??"",project:t??""})}function yp(e,t){try{const n=a.decodeJwt(e)?.exp;if(typeof n=="number"&&Number.isFinite(n)&&n>0)return n*1e3}catch{}return t+bp}function Sp(e){const t=new Map,n=new Map;return async(r,s,i)=>{const o=_p(r,s);if(i)return n.delete(o),t.delete(o),Js(),e(r,s,i);const c=n.get(o);if(c&&!t.has(o)){if(c.expiresAtMs>Date.now())return c.token;n.delete(o)}let l=t.get(o);return l===void 0&&(U("authToken:start",{kind:"network"}),l=Promise.resolve(e(r,s,i)).then(u=>{const d=String(u||"").trim();return d&&n.set(o,{token:u,expiresAtMs:yp(d,Date.now())}),u}).finally(()=>{U("authToken:end",{kind:"network"}),t.delete(o)}),t.set(o,l)),l}}function wp(e){if(Qe(e))return e;const t=e.getAuthToken;if(!t)return e;let n=ti.get(t);const r=Ep();return(!n||ni.get(t)!==r)&&(n=Sp(t),ti.set(t,n),ni.set(t,r)),Promise.resolve(n(e.user,e.project,void 0)).catch(s=>{}),{...e,getAuthToken:n}}var dn=new WeakMap;function ri(e){const t=(dn.get(e)??0)+1;return dn.set(e,t),t}function Ip(e,t){return dn.get(e)===t}var Tp=new Set(["setConfig","updateConfig","show","save","getEmailSnapshot","getEmail","compileEmail","getBlocks","getEmailRevisions","getComments","validateCode","reset","useAsync"]),Ap=new Set(["setEmailMeta","setBlockMeta","notify"]),si=new Map([["getConfig","await `ready` first"],["use","use `useAsync()` or await `ready` first"],["container","await `ready` first"],["undoRedoService","await `ready` first"]]);function ii(e){if(/^handle[A-Z]/.test(e))return"event";if(Tp.has(e))return"async";if(Ap.has(e))return"queued";if(e==="getElement")return"element";if(e==="getCodeErrors")return"codeErrors";if(si.has(e))return"notReady"}function Cp(e){return si.get(e)??"await `ready` first"}function oi(e){return new Error(`[emailmaker] \`${e}\` is not available on this editor`)}function Pp(e,t){let n,r=0,s="pending",i,o,c;const l=new Set,u=[];let d,p;const m=new Promise((A,O)=>{d=A,p=O});m.catch(()=>{});const v=A=>n?.[A],y=A=>{const O=v(A.name);A.dispose||typeof O!="function"||(A.dispose=O(...A.args))},E=()=>l.forEach(y),g=()=>{for(const A of l)A.dispose?.(),A.dispose=void 0},b=()=>E(),_=()=>{c?.delete(b),c=void 0},w=()=>{g(),l.clear(),_(),u.length=0,n=void 0},P=()=>s==="failed"?i:st(),D=(A,O,x)=>{if(s==="failed"||s==="destroyed")throw P();const C=v(A);if(typeof C!="function")throw oi(A);return C.apply(x,O)},h=()=>s==="ready"?Promise.resolve():s==="pending"?m:Promise.reject(P()),I=(A,O)=>{if(s==="failed"||s==="destroyed")throw P();if(s==="ready"&&typeof v(A)!="function")throw oi(A);const x={name:A,args:O};return l.add(x),y(x),()=>{l.delete(x),x.dispose?.(),x.dispose=void 0}},f=()=>{const A=e.element;return A!==void 0&&typeof A!="string"?A:void 0},S=new Proxy({},{get(A,O,x){if(typeof O!="string"||O==="then")return;const C=ii(O);if(C==="event")return(...L)=>I(O,L);if(n&&O in n)return Reflect.get(n,O,x);switch(C){case"async":return(...L)=>h().then(()=>D(O,L,x));case"queued":return(...L)=>{if(s!=="pending")return D(O,L,x);u.push({name:O,args:L})};case"element":return f;case"codeErrors":return()=>[];case"notReady":throw new Error(`[emailmaker] \`${O}\` is not available before the editor is ready: ${Cp(O)}`);default:return O in Object.prototype?Reflect.get(Object.prototype,O,x):void 0}},has(A,O){return typeof O!="string"?!1:n!==void 0&&O in n||ii(O)!==void 0}}),T=Object.create(S);return Object.defineProperty(T,"ready",{get:()=>o,enumerable:!0}),Object.defineProperty(T,"destroy",{enumerable:!0,value:()=>{if(s==="destroyed"||s==="failed")return;if(s==="pending"){s="destroyed",o?.catch(()=>{}),t(a.createAbortError("[emailmaker] editor was destroyed before it was ready"));return}const A=n!==void 0&&Ip(n,r),O=n;s="destroyed",w(),A&&O?.destroy()}}),{handle:T,bind:A=>{n!==A&&(g(),_(),n=A,E(),s==="pending"&&(c=A.container.getOrCreateInstance(a.LATE_SURFACE_LISTENERS_ID,()=>new Set),c.add(b)))},settle:()=>{const A=n;if(s==="destroyed"){w(),A&&(ri(A),A.destroy());const O=a.createAbortError("[emailmaker] editor was destroyed before it was ready");throw i=O,p(O),O}A&&(r=ri(A)),s="ready",_();for(const O of u.splice(0))try{D(O.name,O.args,T)}catch(x){queueMicrotask(()=>{throw x})}d()},fail:A=>{s!=="destroyed"&&(s="failed",i=A),w(),p(A)},setReady:A=>{o=A}}}var un="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function Dp(){return a.createAbortError(un)}function ai(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===un}function Rp(e,t,n){if(typeof document>"u")return;let r=!1,s;const i=()=>{r=!0,s?.disconnect(),s=void 0},o=()=>{r||(i(),t())};if(n.addDispose(i),!e.isConnected){queueMicrotask(o);return}s=new MutationObserver(()=>{e.isConnected||o()});let c=e.parentNode;for(;c;)s.observe(c,{childList:!0}),c=c.parentNode}function Op(e){const{hostElementOption:t,resolvedElement:n,externalSignal:r,disposable:s}=e;if(t===void 0||!(n instanceof Element))return r;const i=new AbortController;return Rp(n,()=>{n.id,i.abort(Dp())},s),a.composeAbortSignals(r,i.signal)}var fn="Superseded by newer init() on the same mount element";function li(){return a.createAbortError(fn)}function ci(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===fn}var Ze=new Map,et=new WeakMap;function Lp(e){if(e instanceof Element){const t=e.id?.trim();if(t)return`#${t}`}}function Np(e){if(!e)return{release:()=>{}};const t=Lp(e);et.get(e)?.abort(li()),t&&Ze.get(t)?.abort(li());const n=new AbortController;return et.set(e,n),t&&Ze.set(t,n),{signal:n.signal,release:()=>{et.get(e)===n&&et.delete(e),t&&Ze.get(t)===n&&Ze.delete(t)}}}var Mp=En({FileManagerApiError:()=>xp}),xp=class pi extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,n,r,s){super(t),this.name="FileManagerApiError",this.code=n,this.status=r,this.details=s,Error.captureStackTrace&&Error.captureStackTrace(this,pi)}},kp=En({mapHttpStatusToErrorCode:()=>a.mapHttpStatusToErrorCode});function Fp(e,t){return{...e,element:t}}function pn(){return()=>{}}function Bp(e){const t=e.element;return!t||typeof t=="string"||typeof document>"u"?pn():(tp(t,e.config?.styles,t),()=>{np(t)})}function jp(e){if(!Xs()||e.initialSpinner===!1||typeof document>"u")return{options:e,cleanup:pn()};const t=e.element;if(!t||typeof t=="string")return{options:e,cleanup:pn()};t.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(s=>{s.remove()});const n=ip(t,"data-emailmaker"),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function di(e){return e instanceof DOMException&&e.name==="AbortError"}function ui(e){try{e.destroy()}catch{}}function mn(e,...t){const n=a.ELEMENT_MAP.get(e);t.some(r=>r!==void 0&&r===n)&&a.ELEMENT_MAP.delete(e)}var Up="1.1.85-dev.6";async function Hp(e){await tf(typeof __emailmaker__<"u"?__emailmaker__:void 0)}async function $p(e){return fi(e).ready}function fi(e){U(z.initStart);const t=new AbortController,n=a.composeAbortSignals(e.signal,t.signal),r=Pp(e,i=>t.abort(i)),s=Gp({...e,signal:n},r.bind).then(()=>(U(z.initEnd),r.settle(),r.handle),i=>{throw r.fail(i),i});return r.setReady(s),r.handle}async function Gp(e,t){a.throwIfAborted(e.signal);const n=new a.Disposable;let r;try{const s=await a.waitForElement(e.element,n,e.signal),i=Op({hostElementOption:e.element,resolvedElement:s,externalSignal:e.signal,disposable:n}),o=Np(s);r=o.release;const c=a.composeAbortSignals(i,o.signal);return a.throwIfAborted(c),await a.raceWithAbortSignal(Vp(e,s,t,c),c)}finally{r?.(),n.dispose()}}async function Vp(e,t,n,r){a.throwIfAborted(r),vp();const s=Fp(e,t),i=wp(s);let o;const c=gp(i,()=>o),l=r!=null?{...c,signal:r}:c;if(t){const v=a.ELEMENT_MAP.get(t);if(v){let y;try{y=await v,a.throwIfAborted(r)}catch(E){if(a.throwIfAborted(r),mn(t,v),di(E))throw E;y=void 0}if(y)if(y.getElement()===t)try{return o=Wf(t),n(y),await y.reset(l)}catch(E){if(a.throwIfAborted(r),ci(E)||ai(E)||di(E)&&r?.aborted)throw E;mn(t,v,y),ui(y)}else mn(t,v,y),ui(y)}}a.throwIfAborted(r);const u=Bp(c),d=jp(c),p=r!=null?{...d.options,signal:r}:d.options;let m;try{o=Qf(p),Xf(t,o),Yt(o).set(p),await Xt(),U(z.coreReady),a.throwIfAborted(r),a.throwIfAborted(r),m=Kf(p,o,{onInstance:n}),t&&a.ELEMENT_MAP.set(t,m);const v=await m;if(r?.aborted&&(v.destroy(),a.throwIfAborted(r)),t)if(a.ELEMENT_MAP.get(t)===m)a.ELEMENT_MAP.set(t,v);else throw v.destroy(),a.throwIfAborted(r),a.createAbortError(r?.reason);return v}catch(v){throw u(),d.cleanup(),o&&(Ks(o),Jf(t,o)),t&&m&&a.ELEMENT_MAP.get(t)===m&&a.ELEMENT_MAP.delete(t),v}}async function Yp(e){return(await De()).parseAMP(e)}typeof window<"u"&&(_e()&&Mi(),rf(typeof __emailmaker__<"u"?__emailmaker__:void 0)),K.ELEMENT_DETACHED_ABORT_MESSAGE=un,K.SUPERSEDED_INIT_ABORT_MESSAGE=fn,K.create=fi,Object.defineProperty(K,"errors",{enumerable:!0,get:function(){return Mp}}),Object.defineProperty(K,"helpers",{enumerable:!0,get:function(){return kp}}),K.init=$p,K.isElementDetachedError=ai,K.isSupersededInitError=ci,K.parseAMP=Yp,K.pluginRegistry=Ms,K.preload=Hp,K.version=Up});
2158
+ }`;function fp(){return()=>{}}function pp(e,t){if(!ri()||!e||typeof document>"u")return fp();e.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(o=>{o.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 s=document.createElement("style");s.setAttribute(t,"true"),s.textContent=up,document.head?.appendChild(s),e.appendChild(n);let i=!1;return()=>{i||(i=!0,n.remove(),s.remove())}}function mp(e){if(!(e instanceof Error))return!1;const t=e;return t.terminal===!0||t.status===403||t.status===404}function hp({report:e}={}){const t=new Map,n=new Set,r=e??(s=>{});return{run(s,i){const o=t.get(s);if(o!==void 0)return o;const c=i().catch(l=>{throw n.has(s)||(n.add(s),r(l)),mp(l)||t.delete(s),l});return t.set(s,c),c},clear(){t.clear(),n.clear()},size(){return t.size}}}var dn=hp();function si(){dn.clear()}a.setApiOriginFailoverHook(()=>dn.clear());var ii=new WeakMap,oi=new WeakMap;function gp(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 s=t.getInstance(a.CUSTOM_FETCH_ID),i=a.createTransport({baseUrl:e,customFetch:s?.execute??fetch},t);return n.set(e,i),i}function un(e){return a.resolveExplicitApiBaseUrl(e)}function Ep(e,t){const n=new Error(`[Loader] appInit request failed: ${e} ${t}`);return n.status=e,n}function vp(){const e=new Error("[Loader] appInit skipped: empty auth token");return e.terminal=!0,e}async function bp(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 fn=new WeakMap;function pn(e,t){fn.set(e,t)}function _p(e){return fn.get(e)}function yp(e,t){return async({baseUrl:n})=>{const r=t();if(!r)throw new Error("[Loader] appInit requires the instance container");const s=fn.get(r)??e,i=un(n);if(!i)throw new Error("[Loader] appInit requires baseUrl or REACT_APP_OPENAPI_BASE_URL");const o=new Headers({Accept:"application/json"});if(s.getAuthToken&&!await bp(s))throw vp();const c=new On(gp(i,r)),l={headers:Object.fromEntries(o.entries()),credentials:"same-origin",failoverAttemptTimeout:Wt(s)||void 0},u=await c.app_init_create({},l);if(!u.ok)throw Ep(u.status,u.statusText);return u.data}}function Sp(e){return JSON.stringify({baseUrl:un(e.baseUrl)||"",project:e.project??"",userId:e.user?.id??""})}function wp(e){return e.appInit?!0:!(e.jwtAuth&&!e.getAuthToken)}function Ip(e){return t=>dn.run(Sp(t),()=>(H("appInit:start",{kind:"network"}),Promise.resolve(e(t)).finally(()=>H("appInit:end",{kind:"network"}))))}function Tp(e,t){if(et(e)||!e.appInit&&!un(e.baseUrl)||!wp(e))return e;const n=e.appInit??yp(e,t);let r=ii.get(n);return r||(r=Ip(n),ii.set(n,r)),{...e,appInit:r}}var ai=0;function Ap(){return ai}function Cp(){ai+=1,si()}var li=new WeakMap,ci=new WeakMap,Pp=3e4;function Dp(e,t){return JSON.stringify({userId:e?.id??"",project:t??""})}function Rp(e,t){try{const n=a.decodeJwt(e)?.exp;if(typeof n=="number"&&Number.isFinite(n)&&n>0)return n*1e3}catch{}return t+Pp}function Op(e){const t=new Map,n=new Map;return async(r,s,i)=>{const o=Dp(r,s);if(i)return n.delete(o),t.delete(o),si(),e(r,s,i);const c=n.get(o);if(c&&!t.has(o)){if(c.expiresAtMs>Date.now())return c.token;n.delete(o)}let l=t.get(o);return l===void 0&&(H("authToken:start",{kind:"network"}),l=Promise.resolve(e(r,s,i)).then(u=>{const d=String(u||"").trim();return d&&n.set(o,{token:u,expiresAtMs:Rp(d,Date.now())}),u}).finally(()=>{H("authToken:end",{kind:"network"}),t.delete(o)}),t.set(o,l)),l}}function Lp(e){if(et(e))return e;const t=e.getAuthToken;if(!t)return e;let n=li.get(t);const r=Ap();return(!n||ci.get(t)!==r)&&(n=Op(t),li.set(t,n),ci.set(t,r)),Promise.resolve(n(e.user,e.project,void 0)).catch(s=>{}),{...e,getAuthToken:n}}var Me=new WeakMap,mn=new WeakMap;function di(e,t){Me.set(e,t),mn.get(e)?.forEach(n=>n())}function Np(e,t){const n=mn.get(e)??new Set;return n.add(t),mn.set(e,n),()=>n.delete(t)}function hn(e){const t=(Me.get(e)??0)+1;return di(e,t),t}var gn=new WeakMap;function Mp(e,t){const n=gn.get(e)??new Set;n.add(t),gn.set(e,n)}function xp(e,t,n){return Me.get(e)!==t?!0:gn.get(e)?.has(n)?!1:(di(e,n),!0)}function En(e,t){return Me.get(e)===t}function ui(e){return Me.get(e)??0}var Fp=new Set(["setConfig","updateConfig","show","save","getEmailSnapshot","getEmail","compileEmail","getBlocks","getEmailRevisions","getComments","validateCode","reset","useAsync"]),kp=new Set(["setEmailMeta","setBlockMeta","notify"]),fi=new Map([["getConfig","await `ready` first"],["use","use `useAsync()` or await `ready` first"],["container","await `ready` first"],["undoRedoService","await `ready` first"]]);function pi(e){if(/^handle[A-Z]/.test(e))return"event";if(Fp.has(e))return"async";if(kp.has(e))return"queued";if(e==="getElement")return"element";if(e==="getCodeErrors")return"codeErrors";if(fi.has(e))return"notReady"}function Bp(e){return fi.get(e)??"await `ready` first"}function mi(e){return new Error(`[emailmaker] \`${e}\` is not available on this editor`)}function jp(e,t){let n,r=0,s,i="pending",o,c,l,u;const d=new Set,p=[];let m,v;const S=new Promise((T,O)=>{m=T,v=O});S.catch(()=>{});const E=T=>n?.[T],g=()=>i==="pending"||n!==void 0&&En(n,r),b=T=>{const O=E(T.name);T.dispose||typeof O!="function"||!g()||(T.dispose=O(...T.args))},_=()=>d.forEach(b),w=()=>{for(const T of d)T.dispose?.(),T.dispose=void 0},P=()=>_(),D=()=>{i==="ready"&&(g()?_():w())},h=()=>{l?.delete(P),l=void 0},I=()=>{u?.(),u=void 0,w(),d.clear(),h(),p.length=0,n=void 0},f=()=>i==="failed"?o:it(),y=(T,O,N)=>{if(i==="failed"||i==="destroyed")throw f();const k=E(T);if(typeof k!="function")throw mi(T);return k.apply(N,O)},A=()=>i==="ready"?Promise.resolve():i==="pending"?S:Promise.reject(f()),L=(T,O)=>{if(i==="failed"||i==="destroyed")throw f();if(i==="ready"&&typeof E(T)!="function")throw mi(T);const N={name:T,args:O};return d.add(N),b(N),()=>{d.delete(N),N.dispose?.(),N.dispose=void 0}},F=()=>{const T=e.element;return T!==void 0&&typeof T!="string"?T:void 0},z=new Proxy({},{get(T,O,N){if(typeof O!="string"||O==="then")return;const k=pi(O);if(k==="event")return(...W)=>L(O,W);if(n&&O in n)return Reflect.get(n,O,N);switch(k){case"async":return(...W)=>A().then(()=>y(O,W,N));case"queued":return(...W)=>{if(i!=="pending")return y(O,W,N);p.push({name:O,args:W})};case"element":return F;case"codeErrors":return()=>[];case"notReady":throw new Error(`[emailmaker] \`${O}\` is not available before the editor is ready: ${Bp(O)}`);default:return O in Object.prototype?Reflect.get(Object.prototype,O,N):void 0}},has(T,O){return typeof O!="string"?!1:n!==void 0&&O in n||pi(O)!==void 0}}),C=Object.create(z);return Object.defineProperty(C,"ready",{get:()=>c,enumerable:!0}),Object.defineProperty(C,"destroy",{enumerable:!0,value:()=>{if(i==="destroyed"||i==="failed")return;if(i==="pending"){const N=s!==void 0&&n!==void 0&&En(n,r),k=n;i="destroyed",c?.catch(()=>{}),t(a.createAbortError("[emailmaker] editor was destroyed before it was ready")),N&&(I(),k?.destroy());return}const T=n!==void 0&&En(n,r),O=n;i="destroyed",I(),T?O?.destroy():O&&Mp(O,r)}}),{handle:C,bind:(T,O)=>{O?.adopt&&i==="pending"&&s===void 0?(s=ui(T),r=hn(T)):!O?.adopt&&n!==T&&(s=void 0),n!==T&&(w(),h(),n=T,_(),i==="pending"&&(l=T.container.getOrCreateInstance(a.LATE_SURFACE_LISTENERS_ID,()=>new Set),l.add(P)))},settle:()=>{const T=n;if(i==="destroyed"){I(),T&&(hn(T),T.destroy());const O=a.createAbortError("[emailmaker] editor was destroyed before it was ready");throw o=O,v(O),O}T&&s===void 0&&ui(T)===0&&(r=hn(T)),i="ready",T&&(u=Np(T,D),D()),h();for(const O of p.splice(0))try{y(O.name,O.args,C)}catch(N){queueMicrotask(()=>{throw N})}m()},fail:T=>{i!=="destroyed"&&(i="failed",o=T,n&&s!==void 0&&!xp(n,r,s)&&n.destroy()),I(),v(T)},setReady:T=>{c=T}}}var vn="Editor mount element was removed from the document. Call instance.destroy() on host unmount.";function Up(){return a.createAbortError(vn)}function hi(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===vn}function Hp(e,t,n){if(typeof document>"u")return;let r=!1,s;const i=()=>{r=!0,s?.disconnect(),s=void 0},o=()=>{r||(i(),t())};if(n.addDispose(i),!e.isConnected){queueMicrotask(o);return}s=new MutationObserver(()=>{e.isConnected||o()});let c=e.parentNode;for(;c;)s.observe(c,{childList:!0}),c=c.parentNode}function $p(e){const{hostElementOption:t,resolvedElement:n,externalSignal:r,disposable:s}=e;if(t===void 0||!(n instanceof Element))return r;const i=new AbortController;return Hp(n,()=>{n.id,i.abort(Up())},s),a.composeAbortSignals(r,i.signal)}var bn="Superseded by newer init() on the same mount element";function Gp(){return a.createAbortError(bn)}function gi(e){return!(e instanceof DOMException)||e.name!=="AbortError"?!1:e.message===bn}var xe=new Map,tt=new WeakMap;function Vp(e){if(e instanceof Element){const t=e.id?.trim();if(t)return`#${t}`}}function Yp(e){if(!e)return{previous:Promise.resolve(),release:()=>{}};const t=Vp(e);(t?xe.get(t):void 0)?.forEach(l=>{l.element!==e&&l.controller.abort(Gp())});const n=tt.get(e)??Promise.resolve();let r;const s=new Promise(l=>{r=l}),i=n.then(()=>s);tt.set(e,i),i.then(()=>{tt.get(e)===i&&tt.delete(e)});const o=new AbortController,c={element:e,controller:o};if(t){const l=xe.get(t)??new Set;l.add(c),xe.set(t,l)}return{signal:o.signal,previous:n,release:()=>{r();const l=t?xe.get(t):void 0;t&&l?.delete(c)&&l.size===0&&xe.delete(t)}}}var zp=In({FileManagerApiError:()=>qp}),qp=class bi extends Error{code;status;details;get httpStatus(){return this.status}constructor(t,n,r,s){super(t),this.name="FileManagerApiError",this.code=n,this.status=r,this.details=s,Error.captureStackTrace&&Error.captureStackTrace(this,bi)}},Wp=In({mapHttpStatusToErrorCode:()=>a.mapHttpStatusToErrorCode});function Kp(e,t){return{...e,element:t}}function _n(){return()=>{}}function Xp(e){const t=e.element;return!t||typeof t=="string"||typeof document>"u"?_n():(cp(t,e.config?.styles,t),()=>{dp(t)})}function Jp(e){if(!ri()||e.initialSpinner===!1||typeof document>"u")return{options:e,cleanup:_n()};const t=e.element;if(!t||typeof t=="string")return{options:e,cleanup:_n()};t.querySelectorAll(".blocks-app-initial-spinner-wrapper").forEach(s=>{s.remove()});const n=pp(t,"data-emailmaker"),r=e.handleChunkLoaded;return{options:{...e,handleChunkLoaded:()=>{n(),r?.()}},cleanup:n}}function Qp(e,t){if(e.appInit||!("appInit"in t))return t;const n={...t};return delete n.appInit,n}function Ei(e){try{e.destroy()}catch{}}function yn(e,...t){const n=a.ELEMENT_MAP.get(e);t.some(r=>r!==void 0&&r===n)&&a.ELEMENT_MAP.delete(e)}var Zp="1.1.85-dev.8";async function em(e){await df(typeof __emailmaker__<"u"?__emailmaker__:void 0)}async function tm(e){return vi(e).ready}function vi(e){H(q.initStart);const t=new AbortController,n=a.composeAbortSignals(e.signal,t.signal),r=jp(e,i=>t.abort(i)),s=nm({...e,signal:n},r.bind).then(()=>(H(q.initEnd),r.settle(),r.handle),i=>{throw r.fail(i),i});return r.setReady(s),r.handle}async function nm(e,t){a.throwIfAborted(e.signal);const n=new a.Disposable;let r,s;try{const i=await a.waitForElement(e.element,n,e.signal),o=$p({hostElementOption:e.element,resolvedElement:i,externalSignal:e.signal,disposable:n}),c=Yp(i);r=c.release;const l=a.composeAbortSignals(o,c.signal);return a.throwIfAborted(l),await a.raceWithAbortSignal(c.previous,l),s=rm(e,i,t,l),await a.raceWithAbortSignal(s,l)}finally{const i=r;s!==void 0&&i?s.then(i,i):i?.(),n.dispose()}}async function rm(e,t,n,r){a.throwIfAborted(r),Cp();const s=Kp(e,t),i=Lp(s);let o;const c=Tp(i,()=>o),l=r!=null?{...c,signal:r}:c;if(t){const v=a.ELEMENT_MAP.get(t);if(v){let S;try{S=await v,a.throwIfAborted(r)}catch{a.throwIfAborted(r),yn(t,v),S=void 0}if(S)if(S.getElement()===t){const E=rp(t);o=E;const g=E&&_p(E);try{E&&pn(E,c),n(S,{adopt:!0});const b=await S.reset(Qp(e,l));return a.ELEMENT_MAP.set(t,S),b}catch(b){if(E&&g&&pn(E,g),a.throwIfAborted(r),gi(b)||hi(b)||a.isAbortError(b)&&r?.aborted)throw b;yn(t,v,S),Ei(S)}}else yn(t,v,S),Ei(S)}}a.throwIfAborted(r);const u=Xp(c),d=Jp(c),p=r!=null?{...d.options,signal:r}:d.options;let m;try{o=op(p),sp(t,o),pn(o,c),qt(o).set(p),await Qt(),H(q.coreReady),a.throwIfAborted(r),a.throwIfAborted(r),m=np(p,o,{onInstance:n}),t&&a.ELEMENT_MAP.set(t,m);const v=await m;if(r?.aborted&&(v.destroy(),a.throwIfAborted(r)),t)if(a.ELEMENT_MAP.get(t)===m)a.ELEMENT_MAP.set(t,v);else throw v.destroy(),a.throwIfAborted(r),a.createAbortError(r?.reason);return v}catch(v){throw u(),d.cleanup(),o&&(ti(o),ip(t,o)),t&&m&&a.ELEMENT_MAP.get(t)===m&&a.ELEMENT_MAP.delete(t),v}}async function sm(e){return(await De()).parseAMP(e)}typeof window<"u"&&(_e()&&Ui(),ff(typeof __emailmaker__<"u"?__emailmaker__:void 0)),K.ELEMENT_DETACHED_ABORT_MESSAGE=vn,K.SUPERSEDED_INIT_ABORT_MESSAGE=bn,K.create=vi,Object.defineProperty(K,"errors",{enumerable:!0,get:function(){return zp}}),Object.defineProperty(K,"helpers",{enumerable:!0,get:function(){return Wp}}),K.init=tm,K.isElementDetachedError=hi,K.isSupersededInitError=gi,K.parseAMP=sm,K.pluginRegistry=$s,K.preload=em,K.version=Zp});
2159
2159
 
2160
2160
 
2161
2161
  // Возвращаем API из entry модуля
2162
2162
  return __emailmaker__.syncRequire("emailmaker.js");
2163
2163
  });
2164
2164
 
2165
- __emailmaker__.require.config({"graph":{"core":["__delivery__/libs"],"static/core/0cb54b92.js":[],"static/core/15ea858c.js":[],"static/core/1922419a.js":[],"static/core/1c31ec91.js":["static/core/dd291b53.js","static/core/8130abb3.js","static/core/422d6166.js"],"static/core/1cb0ff80.js":[],"static/core/370f04c3.js":[],"static/core/422d6166.js":["static/core/8130abb3.js"],"static/core/43a8b244.js":[],"static/core/48270509.js":["static/core/d240cf62.js","static/core/ad7afbf4.js","__delivery__/libs","static/core/b262f9ad.js"],"static/core/6933d533.js":[],"static/core/6a5804ca.js":[],"static/core/7010b77d.js":["static/core/ad7afbf4.js","__delivery__/libs"],"static/core/72c8c438.js":["static/core/dd291b53.js"],"static/core/7b8ce310.js":[],"static/core/7c0a1f19.js":[],"static/core/7cc4b0e9.js":[],"static/core/8130abb3.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/922df02d.js":["static/core/f0138633.js","static/core/b262f9ad.js","__delivery__/libs"],"static/core/9bc03055.js":["static/core/370f04c3.js","__delivery__/libs","monaco"],"static/core/9ce867fe.js":[],"static/core/9f7f5230.js":["static/core/e6f6edff.js"],"static/core/ad7afbf4.js":["__delivery__/libs"],"static/core/adf163ad.js":[],"static/core/af5819b6.js":["static/core/f0138633.js","static/core/b262f9ad.js","static/core/d240cf62.js","static/core/7010b77d.js","__delivery__/libs"],"static/core/afb434bd.js":[],"static/core/b262f9ad.js":["static/core/e6f6edff.js","__delivery__/libs"],"static/core/baf39a20.js":[],"static/core/c54e9dcb.js":["static/core/8130abb3.js"],"static/core/ceff9046.js":[],"static/core/d240cf62.js":["static/core/b262f9ad.js","__delivery__/libs"],"static/core/dbb931dd.js":[],"static/core/dc224a5b.js":[],"static/core/dd291b53.js":[],"static/core/e6f6edff.js":[],"static/core/f0138633.js":[],"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"],"emailmaker.js":[],"static/umd/d84cba13.js":[]},"bundles":{"static/core/ad7afbf4.js":["static/core/49caf02a.js","static/core/243fc7ac.js","static/core/5ff8810d.js","static/core/de7377ec.js"],"static/core/72c8c438.js":["static/core/a54d9b28.js"],"static/core/8927fdd0.js":["static/core/be880f91.js"],"static/core/7010b77d.js":["static/core/61378c9e.js"],"static/core/48270509.js":["static/core/1dc142a7.js"],"core":["static/core/5dc34752.js","static/core/af34343f.js","static/core/5f7f72e9.js","static/core/92c24b83.js","static/core/639e22b1.js"]}});
2165
+ __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"],"emailmaker.js":[],"static/umd/25f23ba5.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"]}});