@creaditor/newsletter-starterkit 1.0.66 → 1.0.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/creaditor.bundle.js
CHANGED
|
@@ -4732,7 +4732,7 @@
|
|
|
4732
4732
|
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
4733
4733
|
<line x1="5" y1="12" x2="19" y2="12"></line>
|
|
4734
4734
|
<line x1="12" y1="5" x2="12" y2="19"></line>
|
|
4735
|
-
</svg>`;customElements.get("cdtr-chat")||customElements.define("cdtr-chat",Ye),e.CdtrChat=Ye,e.STRINGS=De,e.isRtl=Pe,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});const ja=(0,U.Ay)()?"http://127.0.0.1:8000/api/newsletter/chat-edit-v2":"https://studio.creaditor.ai/api/newsletter/chat-edit-v2",Fa=(0,U.Ay)()?"http://127.0.0.1:8000":"https://studio.creaditor.ai",Ua="/api/datastore/sessions/by-doc",qa="editor-panel";const Va=[{id:"tighten",label:"קצר וחד יותר"},{id:"warmer",label:"הוסף חמימות"},{id:"cta",label:"חזק את הקריאה לפעולה"}],Wa=[{id:"tighten",label:"Tighten the copy"},{id:"warmer",label:"Make it warmer"},{id:"cta",label:"Strengthen the CTA"}],Ya={he:"עצור",en:"Stop"},Xa={he:"חושב…",en:"Thinking…"},Za={he:e=>1===e?"בוצע שינוי אחד.":`בוצעו ${e} שינויים.`,en:e=>1===e?"Applied 1 change.":`Applied ${e} changes.`},Ja={he:e=>"\n\n⛔ נגמרו לכם הטוקנים באמצע העריכה, ולכן היא נעצרה. מה שכבר בוצע נשמר. יש להטעין יתרה כדי להמשיך."+(e?`\n${e}`:""),en:e=>"\n\n⛔ You ran out of tokens partway through, so the edit stopped here. What was already applied is kept. Top up your balance to continue."+(e?`\n${e}`:"")},Ka={he:"\n\n⏳ הפעולה נעצרה באמצע כי היא הגיעה לתקרת האורך של תור בודד. מה שכבר בוצע נשמר על הקנבס, אבל היא לא הסתיימה. אפשר לבקש להמשיך, או לפצל לבקשות קטנות יותר.",en:"\n\nThe turn hit the per-turn ceiling and stopped partway. What was applied is kept on the canvas, but it did not finish. Ask it to continue, or split the request into smaller steps."},Ga={he:e=>`\n\n⚠️ ${1===e?"שינוי אחד לא הוחל":`${e} שינויים לא הוחלו`} על הקנבס. פרטים בקונסול (\`[edit-chat]\`).`,en:e=>`\n\n⚠️ ${1===e?"1 change was not applied":`${e} changes were not applied`} to the canvas. See the console (\`[edit-chat]\`) for details.`},Qa={he:"\n\nℹ️ לא בוצע שינוי בקנבס בתור הזה.",en:"\n\nNo change was made to the canvas in this turn."},es={he:"⏹ העריכה הופסקה. שינויים שכבר בוצעו נשארו על הקנבס.",en:"⏹ Edit stopped. Any changes already applied are still on the canvas."},ts={he:{prefix:"⚠️ העריכה נכשלה",network:"לא ניתן להתחבר לשרת. בדקו את החיבור ונסו שוב.",auth:"פג תוקף ההרשאה. יש להתחבר מחדש.",generic:e=>`משהו השתבש: ${e}`},en:{prefix:"⚠️ Edit failed",network:"Could not connect to the server. Check your connection and try again.",auth:"Your session has expired. Please sign in again.",generic:e=>`Something went wrong: ${e}`}};function ns(e,t){let{isNetwork:n=!1,isAuth:r=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=ts[e]||ts.en;let i;return i=n?o.network:r?o.auth:o.generic("string"==typeof t?t:String(t)),`${o.prefix}\n\n${i}`}function rs(e,t){const n=t.getBoundingClientRect();e.style.left=n.left+n.width/2+"px",e.style.top="auto",e.style.bottom=window.innerHeight-(n.bottom-56)+"px",e.style.transform="translateX(-50%)"}function os(e,t,n){!function(){if(document.getElementById("cdtr-edit-busy-styles"))return;const e=document.createElement("style");e.id="cdtr-edit-busy-styles",e.textContent="\n .cdtr-edit-busy {\n position: fixed;\n z-index: var(--z-blocking, 2147483646);\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 8px 14px;\n background: #ffffff;\n border: 1px solid #e5e7eb;\n /* A pill while it is only dots + stop; squares off once narration\n starts and it becomes a real box (see .has-thinking). */\n border-radius: 999px;\n box-shadow: 0 4px 16px rgba(17, 24, 39, 0.18);\n font-family: -apple-system, system-ui, 'Segoe UI', Roboto, sans-serif;\n font-size: 13px;\n color: #374151;\n }\n .cdtr-edit-busy.has-thinking {\n border-radius: 14px;\n /* Narrow enough to sit inside the drawer, wide enough to read. */\n width: min(320px, calc(100vw - 32px));\n }\n .cdtr-edit-busy-head {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n .cdtr-edit-busy-label {\n font-weight: 600;\n color: #6b7280;\n margin-inline-end: auto;\n }\n /* Hidden until the first delta lands, so a turn that never narrates keeps\n the original compact pill. */\n .cdtr-edit-thinking {\n display: none;\n max-height: 96px;\n overflow-y: auto;\n /* The model streams prose with hard newlines; keep them, and keep long\n unbroken ids/urls from widening the box. */\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n font-size: 12px;\n line-height: 1.5;\n color: #6b7280;\n border-top: 1px solid #f3f4f6;\n padding-top: 6px;\n }\n .cdtr-edit-busy.has-thinking .cdtr-edit-thinking { display: block; }\n .cdtr-edit-busy-dots {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n }\n .cdtr-edit-busy-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--accent, #5B5FC7);\n opacity: 0.4;\n animation: cdtr-edit-bounce 1.2s ease-in-out infinite;\n }\n .cdtr-edit-busy-dot:nth-child(2) { animation-delay: 0.15s; }\n .cdtr-edit-busy-dot:nth-child(3) { animation-delay: 0.3s; }\n @keyframes cdtr-edit-bounce {\n 0%, 80%, 100% { opacity: 0.4; transform: translateY(0); }\n 40% { opacity: 1; transform: translateY(-3px); }\n }\n .cdtr-edit-stop {\n background: #fee2e2;\n color: #b91c1c;\n border: 0;\n border-radius: 999px;\n padding: 4px 10px;\n font: inherit;\n font-weight: 600;\n cursor: pointer;\n line-height: 1;\n }\n .cdtr-edit-stop:hover { background: #fecaca; }\n .cdtr-edit-stop:focus-visible { outline: 2px solid #b91c1c; outline-offset: 1px; }\n ",document.head.appendChild(e)}(),e._busyEl&&as(e);const r=e.shadowRoot?.querySelector("textarea");r&&(r.disabled=!0,e._busyTextarea=r);const o=document.createElement("div");o.className="cdtr-edit-busy",o.dir="he"===t?"rtl":"ltr";const i=document.createElement("div");i.className="cdtr-edit-busy-head";const a=document.createElement("span");a.className="cdtr-edit-busy-label",a.textContent=Xa[t]||Xa.en,i.appendChild(a);const s=document.createElement("span");s.className="cdtr-edit-busy-dots",s.innerHTML='<span class="cdtr-edit-busy-dot"></span><span class="cdtr-edit-busy-dot"></span><span class="cdtr-edit-busy-dot"></span>',i.appendChild(s);const l=document.createElement("button");l.type="button",l.className="cdtr-edit-stop",l.textContent=Ya[t]||Ya.en,l.addEventListener("click",()=>{try{n?.abort()}catch{}}),i.appendChild(l),o.appendChild(i);const c=document.createElement("div");c.className="cdtr-edit-thinking",c.setAttribute("dir","auto"),o.appendChild(c),e._thinkingEl=c,document.body.appendChild(o),e._busyEl=o,rs(o,e);const d=()=>{e._busyEl===o&&rs(o,e)};window.addEventListener("resize",d),window.addEventListener("scroll",d,!0),e._busyReposition=d}function is(e,t){const n=e._thinkingEl;n&&e._busyEl&&(n.textContent+=t,e._busyEl.classList.add("has-thinking"),n.scrollTop=n.scrollHeight)}function as(e){e._busyEl&&(e._busyEl.remove(),e._busyEl=null),e._thinkingEl=null,e._busyTextarea&&(e._busyTextarea.disabled=!1,e._busyTextarea=null),e._busyReposition&&(window.removeEventListener("resize",e._busyReposition),window.removeEventListener("scroll",e._busyReposition,!0),e._busyReposition=null)}function ss(){try{const e=T.M.get("app","_id");return"string"==typeof e&&e.length>0?e:null}catch(e){return null}}async function ls(e){const t=ss();if(!t)return;e.storageKey="";let n=null;try{n=await hs(j.Ay,{forceRefresh:!1})}catch(e){return}if(!n)return;const r=`${Fa}${Ua}?doc_id=${encodeURIComponent(t)}&surface=${qa}`;try{const t=await fetch(r,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${n}`}});if(!t.ok)return void console.warn(`[edit-chat] transcript load failed: HTTP ${t.status}`);const o=await t.json();e._sessionId="string"==typeof o?.session_id?o.session_id:null;const i=Array.isArray(o?.messages)?o.messages:[];if(0===i.length)return;e.messages=i.filter(e=>e&&("user"===e.role||"assistant"===e.role)).map(e=>({role:e.role,text:"string"==typeof e.content?e.content:"",ts:"number"==typeof e.created_at?e.created_at:Date.now()})).filter(e=>e.text.length>0)}catch(e){console.warn("[edit-chat] transcript load failed:",e)}}const cs={he:{tokens:"טוקנים",low:"יתרה נמוכה",empty:"נגמרו הטוקנים"},en:{tokens:"tokens",low:"Low balance",empty:"Out of tokens"}};function ds(e,t,n,r){if(!e)return;const o=e.querySelector(":scope > .cdtr-balance")||e.shadowRoot&&e.shadowRoot.querySelector(".cdtr-balance")||null;if("number"!=typeof n||Number.isNaN(n))return void o?.remove();r&&(e._balancePaymentUrl=r);const i=r||e._balancePaymentUrl||"";!function(){if(document.getElementById("cdtr-balance-styles"))return;const e=document.createElement("style");e.id="cdtr-balance-styles",e.textContent="\n .cdtr-balance {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 9px;\n margin-inline-end: 4px;\n border-radius: 999px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n color: #4b5563;\n font-size: 11px;\n font-weight: 600;\n line-height: 1.6;\n white-space: nowrap;\n text-decoration: none;\n cursor: default;\n }\n .cdtr-balance.is-low { border-color: #fde68a; background: #fffbeb; color: #92400e; }\n .cdtr-balance.is-empty { border-color: #fecaca; background: #fef2f2; color: #b91c1c; }\n /* Only clickable when there is somewhere to send them. */\n .cdtr-balance[href] { cursor: pointer; }\n .cdtr-balance[href]:hover { filter: brightness(0.97); }\n .cdtr-balance-dot {\n width: 6px; height: 6px; border-radius: 50%;\n background: currentColor; opacity: 0.65; flex: none;\n }\n ",document.head.appendChild(e)}();const a=cs[t]||cs.en,s=n<=0,l=!s&&n<4e4,c=!!i&&(l||s),d=o&&"A"===o.tagName!==c;d&&o.remove();let p=d?null:o;if(!p&&(p=document.createElement(c?"a":"span"),p.className="cdtr-balance",p.setAttribute("slot","header-extra"),e.appendChild(p),null===p.assignedSlot)){const t=e.shadowRoot&&e.shadowRoot.querySelector(".header-actions");if(!t)return p.remove(),void(e._balanceAnchorWarned||(e._balanceAnchorWarned=!0,console.warn("[edit-chat] balance pill: no header-extra slot and no .header-actions; skipping")));if(p.removeAttribute("slot"),t.prepend(p),!e.shadowRoot.getElementById("cdtr-balance-styles")){const t=document.getElementById("cdtr-balance-styles");t&&e.shadowRoot.appendChild(t.cloneNode(!0))}}p.classList.toggle("is-low",l),p.classList.toggle("is-empty",s),c&&(p.setAttribute("href",i),p.setAttribute("target","_blank"),p.setAttribute("rel","noopener noreferrer"));const h=s?a.empty:`${function(e){const t=Math.max(0,Math.round(e));if(t<1e3)return String(t);if(t<1e6){const e=t/1e3,n=e<10?e.toFixed(1).replace(/\.0$/,""):String(Math.round(e));if("1000"!==n)return`${n}K`}const n=t/1e6;return`${n<10?n.toFixed(1).replace(/\.0$/,""):Math.round(n)}M`}(n)} ${a.tokens}`;p.textContent="";const u=document.createElement("span");u.className="cdtr-balance-dot",p.appendChild(u),p.appendChild(document.createTextNode(h)),p.title=s?a.empty:`${n.toLocaleString()} ${a.tokens}${l?` -- ${a.low}`:""}`}function ps(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t="en"===e.lang?"en":"he",n=e.endpoint||ja,r=document.createElement("cdtr-chat");r.setAttribute("lang",t),r.setAttribute("storage-key",ss()?"":"cdtr-edit:messages"),r.setAttribute("header","he"===t?"שיחה חדשה":"New conversation"),r.setAttribute("prompt","he"===t?"איך לערוך?":"What should I edit?"),r.actions="he"===t?Va:Wa;const o=()=>{!async function(e,t){try{const n=j.Ay,r=await hs(n);if(!r)return;const o=await fetch(`${Fa}/api/business-analyze/balance`,{method:"GET",headers:{Authorization:`Bearer ${r}`}});if(!o.ok)return;const i=await o.json();ds(e,t,i&&i.balance,i&&i.paymentUrl)}catch(e){console.warn("[edit-chat] balance probe failed; pill not shown",e)}}(r,t)};return r.updateComplete&&"function"==typeof r.updateComplete.then?r.updateComplete.then(o).catch(o):setTimeout(o,0),r._refreshBalance=o,r.addEventListener("cdtr-chat:submit",e=>{if(r._editInFlight)return void console.log("[edit-chat] submit ignored: previous edit still streaming");const o=e?.detail?.text;"string"==typeof o&&o.trim()&&fs(r,n,t,o.trim())}),r.addEventListener("cdtr-chat:new",()=>{r._sessionReset=async function(e){const t=ss();if(!t)return;let n=null;try{n=await hs(j.Ay,{forceRefresh:!1})}catch(e){return}if(!n)return;const r={Accept:"application/json",Authorization:`Bearer ${n}`};try{let n=e._sessionId??null;if(!n){const e=await fetch(`${Fa}${Ua}?doc_id=${encodeURIComponent(t)}&surface=${qa}`,{method:"GET",headers:r});if(!e.ok)return void console.warn(`[edit-chat] new-chat: session lookup failed HTTP ${e.status}`);const o=await e.json();n="string"==typeof o?.session_id?o.session_id:null}if(!n)return;const o=await fetch(`${Fa}/api/datastore/sessions/${encodeURIComponent(n)}`,{method:"DELETE",headers:r});if(!o.ok)return void console.warn(`[edit-chat] new-chat: session delete failed HTTP ${o.status}`);e._sessionId=null,console.log(`[edit-chat] new-chat: cleared server session ${n} for doc ${t}`)}catch(e){console.warn("[edit-chat] new-chat: could not clear the server transcript",e)}}(r)}),r.addEventListener("cdtr-chat:action",e=>{if(r._editInFlight)return void console.log("[edit-chat] action ignored: previous edit still streaming");const o=e?.detail?.label;"string"==typeof o&&o&&fs(r,n,t,o)}),r}async function hs(e,t){const n=!(!t||!t.forceRefresh),r="function"==typeof e.studioTokenProvider?e.studioTokenProvider:null;if(r)try{const e=await r({forceRefresh:n});if("string"==typeof e&&e.length>0)return e}catch(e){console.warn("[edit-chat] studioTokenProvider threw; falling back to editor.studioToken.",e)}return"string"==typeof e.studioToken&&e.studioToken.length>0?e.studioToken:null}async function us(e,t,n,r){const{forceRefresh:o=!1,onEvent:i=null,signal:a}=r||{},s=await hs(e,{forceRefresh:o});s||console.warn("[edit-chat] no auth token (neither editor.studioTokenProvider nor editor.studioToken yielded one); request will likely 401 from scopeGate."),o&&console.log("[edit-chat] retry attempt with refreshed token; token-present=",null!=s);const l={"Content-Type":"application/json",Accept:"text/event-stream, application/json"};s&&(l.Authorization=`Bearer ${s}`);let c=null;try{c=await fetch(t,{method:"POST",headers:l,body:JSON.stringify(n),signal:a})}catch(e){throw e}if((c.headers.get("content-type")||"").includes("text/event-stream")&&c.body&&i)return await async function(e,t){const n=e.getReader(),r=new TextDecoder;let o="";try{for(;;){const{done:e,value:i}=await n.read();if(e)break;let a;for(o+=r.decode(i,{stream:!0});-1!==(a=o.indexOf("\n\n"));){const e=o.slice(0,a);o=o.slice(a+2);let n,r="message",i="";for(const t of e.split("\n"))t.startsWith("event:")?r=t.slice(6).trim():t.startsWith("data:")&&(i+=(i?"\n":"")+t.slice(5).replace(/^ /,""));if(i){try{n=JSON.parse(i)}catch(e){console.warn("[edit-chat] sse data parse failed event="+r,e);continue}try{await t(r,n)}catch(e){console.warn("[edit-chat] sse handler threw event="+r,e)}}}}}finally{try{n.releaseLock()}catch{}}}(c.body,i),{resp:c,body:null,streamed:!0};let d=null;try{d=await c.json()}catch{d=null}return{resp:c,body:d,streamed:!1}}async function fs(e,t,n,r){e._editInFlight=!0;const o=new AbortController;os(e,n,o);try{return await async function(e,t,n,r,o){const i=j.Ay;if(e._sessionReset)try{await e._sessionReset}finally{e._sessionReset=null}const a=(0,q.U2)(),s=Array.isArray(i.components)&&i.components[0]?.id?i.components[0].id:void 0,l={role:"user",text:r,ts:Date.now()};e.appendMessage?.(l),e.busy=!0;const c=(e.messages||[]).map(e=>({role:e.role,content:e.text})),d=ss(),p=T.M.get("config","channel"),h={messages:c,currentNewsletter:a,language:n,...s?{selectedComponentId:s}:{},...d?{doc_id:d}:{},...p?{channel:p}:{}},u={counters:{text:0,marks:0,prop:0,removed:0,created:0,moved:0,skipped:0},finalReply:"",finalSummary:"",sseError:null,outOfTokens:!1,paymentUrl:"",truncated:!1},f=async(t,r)=>{if("ops"===t){const e=Array.isArray(r&&r.ops)?r.ops:[];if(0===e.length)return;const t=await gs(e);return u.counters.text+=t.text,u.counters.marks+=t.marks,u.counters.prop+=t.prop,u.counters.removed+=t.removed,u.counters.created+=t.created,u.counters.moved+=t.moved,u.counters.skipped+=t.skipped,void console.log(`[edit-chat] sse ops batch call_id=${r.call_id} count=${e.length}`)}if("thinking"===t){const t=r&&"string"==typeof r.delta?r.delta:"";if(!t)return;return void is(e,t)}if("text"===t){const t=r&&"string"==typeof r.delta?r.delta:"";if(!t)return;return void is(e,t)}if("text_reset"!==t)return"done"===t?(u.finalReply=r&&"string"==typeof r.reply?r.reply:"",u.finalSummary=r&&"string"==typeof r.summary?r.summary:"",u.outOfTokens=!(!r||!r.outOfTokens),u.truncated=!(!r||!r.truncated),u.paymentUrl=r&&"string"==typeof r.paymentUrl?r.paymentUrl:"",void(r&&"number"==typeof r.balance&&ds(e,n,r.balance,u.paymentUrl))):void("error"!==t||(u.sseError={reason:r&&r.reason||"chat edit failed"}));!function(e){const t=e._thinkingEl;t&&(t.textContent="",e._busyEl?.classList.remove("has-thinking"))}(e)};let m,g,b=!1;try{let n=await us(i,t,h,{allowProviderRefresh:!0,onEvent:f,signal:o.signal});!n.resp||401!==n.resp.status&&403!==n.resp.status||(console.warn(`[edit-chat] auth ${n.resp.status}; asking studioTokenProvider for a fresh token and retrying once.`),n=await us(i,t,h,{allowProviderRefresh:!0,forceRefresh:!0,onEvent:f,signal:o.signal}),!n.resp||401!==n.resp.status&&403!==n.resp.status||e.dispatchEvent?.(new CustomEvent("cdtr-edit:auth-expired",{bubbles:!0,composed:!0,detail:{status:n.resp.status}}))),m=n.resp,g=n.body,b=n.streamed}catch(t){if(e.busy=!1,o.signal.aborted||"AbortError"===t?.name)return void e.appendMessage?.({role:"assistant",text:es[n]||es.en,ts:Date.now()});const r=t&&("TypeError"===t.name||t.message?.includes("fetch"));return void e.appendMessage?.({role:"assistant",text:ns(n,t,{isNetwork:r}),ts:Date.now()})}if(e.busy=!1,b){if(u.sseError)return void e.appendMessage?.({role:"assistant",text:ns(n,u.sseError.reason),ts:Date.now()});const t=u.counters,r=t.skipped>0?(Ga[n]||Ga.en)(t.skipped):"",o=u.outOfTokens?(Ja[n]||Ja.en)(u.paymentUrl):"",i=u.truncated?Ka[n]||Ka.en:"",a=t.text+t.marks+t.prop+t.removed+t.created+t.moved,s=0!==a||0!==t.skipped||u.outOfTokens||u.truncated?"":Qa[n]||Qa.en,l=o||i||r||s;if(u.finalReply.length>0)e.appendMessage?.({role:"assistant",text:u.finalReply+l,ts:Date.now()});else if(a>0){const t=(Za[n]||Za.en)(a);e.appendMessage?.({role:"assistant",text:t+l,ts:Date.now()})}else l&&e.appendMessage?.({role:"assistant",text:l.trim(),ts:Date.now()});return void console.log(`[edit-chat] applied ops (streamed): text=${t.text}, marks=${t.marks}, prop=${t.prop}, removed=${t.removed}, created=${t.created}, moved=${t.moved}, skipped=${t.skipped}; summary=${u.finalSummary}`)}if(!m||!m.ok||g&&g.error){const t=g&&g.reason||`HTTP ${m?m.status:"unknown"}`,r=m&&(401===m.status||403===m.status);return void e.appendMessage?.({role:"assistant",text:ns(n,t,{isAuth:r}),ts:Date.now()})}const{reply:y,ops:A,summary:w}=g||{},x=Array.isArray(A)&&A.length>0,v=x?"":Qa[n]||Qa.en;"string"==typeof y&&y.length>0&&e.appendMessage?.({role:"assistant",text:y+v,ts:Date.now()});if(!x)return void console.log("[edit-chat] response had no ops; summary=",w);const _=await gs(A);console.log(`[edit-chat] applied ops: text=${_.text}, marks=${_.marks}, prop=${_.prop}, removed=${_.removed}, created=${_.created}, moved=${_.moved}, skipped=${_.skipped}; summary=${w}`)}(e,t,n,r,o)}finally{e._editInFlight=!1,e.busy=!1,as(e)}}const ms=150;async function gs(e){const t=j.Ay,n={text:0,marks:0,prop:0,removed:0,created:0,moved:0,skipped:0};let r=new Set,o=0;const i=new Set;try{const n=t&&t.getComponents?t.getComponents():null;r=new Set(n?Object.keys(n):[]),o=r.size;const i=n?Object.values(n).filter(e=>e&&"root"===e.type).map(e=>e&&e.id):[],a=e.find(e=>e&&"create"===e.op);console.log(`[edit-chat] BATCH START total=${o} rootIds=${JSON.stringify(i)} firstParentId=${a&&a.parentId} firstParentInStore=${a?!!t.getComponent(a.parentId):"no-creates"}`)}catch(e){console.warn("[edit-chat] batch-start diagnostic failed",e)}let a=!0;for(const s of e){!a&&ms>0&&await new Promise(e=>setTimeout(e,ms)),a=!1;const e=t.store();if(s&&"string"==typeof s.op)try{if("updateText"===s.op){const r=t.getComponent(s.id);if(!r){n.skipped++,console.warn("[edit-chat] no live component for updateText",s.id);continue}e.updateComponent(r,"text",{childNodes:s.value}),n.text++}else if("updateTextMarks"===s.op){const r=t.getComponent(s.id);if(!r){n.skipped++,console.warn("[edit-chat] no live component for updateTextMarks",s.id);continue}e.updateComponent(r,"text",{childNodes:s.value}),n.marks++}else if("updateProp"===s.op){const r=t.getComponent(s.id);if(!r){n.skipped++,console.warn("[edit-chat] no live component for updateProp",s.id);continue}e.updateComponent(r,s.key,s.value),n.prop++}else if("remove"===s.op)e.removeComponent({componentId:s.id}),n.removed++;else if("create"===s.op){const a=s.body&&(s.body.id||s.body._id),l=t&&t.getComponents&&t.getComponents()||{},c=Object.keys(l).length,d=!!t.getComponent(s.parentId);let p;p=r.has(s.parentId)?"PRE-EXISTING":i.has(s.parentId)?"SELF-DECLARED":"PHANTOM",e.createComponent({parentId:s.parentId,index:s.index,body:s.body},{clone:!0});const h=t&&t.getComponents&&t.getComponents()||{},u=Object.keys(h).length,f=!!t.getComponent(a);let m=0;r.forEach(e=>{e in h&&m++}),i.add(a),console.log(`[edit-chat] CREATE type=${s.body&&s.body.type} id=${a} parentId=${s.parentId} idx=${s.index} parentInStore=${d} parentSource=${p} bodyInStoreAfter=${f} total=${c}->${u} initialSurvived=${m}/${o}`),n.created++}else"move"===s.op?(e.moveComponent({id:s.id,oldParentId:s.oldParentId,newParentId:s.newParentId,oldIndex:s.oldIndex,newIndex:s.newIndex}),n.moved++):(console.warn("[edit-chat] unknown op type:",s.op),n.skipped++)}catch(e){console.error(`[edit-chat] op dispatch FAILED op=${s.op} id=${s.id||s.body&&s.body.id||"?"}`,e,s),n.skipped++}else n.skipped++}return n}class bs extends S.WF{constructor(){super(),this._chatEl=null,this._storeConnectCallback=null,this._appConnectCallback=null,this._hydrated=!1,this._close=()=>{T.M.set({[I]:!1})},this.open=!1}connectedCallback(){super.connectedCallback(),this.open=Boolean(T.M.get(I)),this._syncOpenAttr(),this._storeConnectCallback=e=>{const t=Boolean(e[I]);t!==this.open&&(this.open=t,this._syncOpenAttr(),t&&this._ensureChatEl())},T.M.connect(I,this._storeConnectCallback),this.open&&this._ensureChatEl()}disconnectedCallback(){super.disconnectedCallback(),this._storeConnectCallback&&(T.M.disconnect(this._storeConnectCallback),this._storeConnectCallback=null),this._disconnectAppWatcher()}_syncOpenAttr(){this.open?this.setAttribute("data-open",""):this.removeAttribute("data-open")}_ensureChatEl(){if(this._chatEl)return;const e="en"===T.M.get("config","language")?"en":"he";this._chatEl=ps({lang:e}),this._hydrateOnce()}_hydrateOnce(){if(this._hydrated)return;const e=this._chatEl;return e?ss()?(this._hydrated=!0,void ls(e)):void(this._appConnectCallback||(this._appConnectCallback=()=>{!this._hydrated&&ss()&&(this._hydrated=!0,ls(e),this._disconnectAppWatcher())},T.M.connect("app",this._appConnectCallback))):void 0}_disconnectAppWatcher(){this._appConnectCallback&&(T.M.disconnect(this._appConnectCallback),this._appConnectCallback=null)}render(){const e=this._chatEl,t=T.M.get("lang","ai_chat_title")||"AI chat";return S.qy`
|
|
4735
|
+
</svg>`;customElements.get("cdtr-chat")||customElements.define("cdtr-chat",Ye),e.CdtrChat=Ye,e.STRINGS=De,e.isRtl=Pe,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});const ja=(0,U.Ay)()?"http://127.0.0.1:8000/api/newsletter/chat-edit-v2":"https://studio.creaditor.ai/api/newsletter/chat-edit-v2",Fa=(0,U.Ay)()?"http://127.0.0.1:8000":"https://studio.creaditor.ai",Ua="/api/datastore/sessions/by-doc",qa="editor-panel";const Va=[{id:"tighten",label:"קצר וחד יותר"},{id:"warmer",label:"הוסף חמימות"},{id:"cta",label:"חזק את הקריאה לפעולה"}],Wa=[{id:"tighten",label:"Tighten the copy"},{id:"warmer",label:"Make it warmer"},{id:"cta",label:"Strengthen the CTA"}],Ya={he:"עצור",en:"Stop"},Xa={he:"חושב…",en:"Thinking…"},Za={he:e=>1===e?"בוצע שינוי אחד.":`בוצעו ${e} שינויים.`,en:e=>1===e?"Applied 1 change.":`Applied ${e} changes.`},Ja={he:e=>"\n\n⛔ נגמרו לכם הטוקנים באמצע העריכה, ולכן היא נעצרה. מה שכבר בוצע נשמר. יש להטעין יתרה כדי להמשיך."+(e?`\n${e}`:""),en:e=>"\n\n⛔ You ran out of tokens partway through, so the edit stopped here. What was already applied is kept. Top up your balance to continue."+(e?`\n${e}`:"")},Ka={he:e=>e>0?`\n\n⏳ הפעולה נעצרה באמצע כי היא הגיעה לתקרת האורך של תור בודד. ${1===e?"שינוי אחד שכבר בוצע נשמר":`${e} שינויים שכבר בוצעו נשמרו`} על הקנבס, אבל היא לא הסתיימה. אפשר לבקש להמשיך, או לפצל לבקשות קטנות יותר.`:"\n\n⏳ הפעולה נעצרה באמצע כי היא הגיעה לתקרת האורך של תור בודד, לפני שהספיקה לשנות משהו. הקנבס לא השתנה. אפשר לבקש להמשיך, או לפצל לבקשות קטנות יותר.",en:e=>e>0?`\n\nThe turn hit the per-turn ceiling and stopped partway. ${1===e?"1 change was":`${e} changes were`} applied and kept on the canvas, but it did not finish. Ask it to continue, or split the request into smaller steps.`:"\n\nThe turn hit the per-turn ceiling and stopped before it changed anything. The canvas was not modified. Ask it to continue, or split the request into smaller steps."},Ga={he:e=>`\n\n⚠️ ${1===e?"שינוי אחד לא הוחל":`${e} שינויים לא הוחלו`} על הקנבס. פרטים בקונסול (\`[edit-chat]\`).`,en:e=>`\n\n⚠️ ${1===e?"1 change was not applied":`${e} changes were not applied`} to the canvas. See the console (\`[edit-chat]\`) for details.`},Qa={he:"\n\nℹ️ לא בוצע שינוי בקנבס בתור הזה.",en:"\n\nNo change was made to the canvas in this turn."},es={he:"⏹ העריכה הופסקה. שינויים שכבר בוצעו נשארו על הקנבס.",en:"⏹ Edit stopped. Any changes already applied are still on the canvas."},ts={he:{prefix:"⚠️ העריכה נכשלה",network:"לא ניתן להתחבר לשרת. בדקו את החיבור ונסו שוב.",auth:"פג תוקף ההרשאה. יש להתחבר מחדש.",generic:e=>`משהו השתבש: ${e}`},en:{prefix:"⚠️ Edit failed",network:"Could not connect to the server. Check your connection and try again.",auth:"Your session has expired. Please sign in again.",generic:e=>`Something went wrong: ${e}`}};function ns(e,t){let{isNetwork:n=!1,isAuth:r=!1}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const o=ts[e]||ts.en;let i;return i=n?o.network:r?o.auth:o.generic("string"==typeof t?t:String(t)),`${o.prefix}\n\n${i}`}function rs(e,t){const n=t.getBoundingClientRect();e.style.left=n.left+n.width/2+"px",e.style.top="auto",e.style.bottom=window.innerHeight-(n.bottom-56)+"px",e.style.transform="translateX(-50%)"}function os(e,t,n){!function(){if(document.getElementById("cdtr-edit-busy-styles"))return;const e=document.createElement("style");e.id="cdtr-edit-busy-styles",e.textContent="\n .cdtr-edit-busy {\n position: fixed;\n z-index: var(--z-blocking, 2147483646);\n display: flex;\n flex-direction: column;\n gap: 6px;\n padding: 8px 14px;\n background: #ffffff;\n border: 1px solid #e5e7eb;\n /* A pill while it is only dots + stop; squares off once narration\n starts and it becomes a real box (see .has-thinking). */\n border-radius: 999px;\n box-shadow: 0 4px 16px rgba(17, 24, 39, 0.18);\n font-family: -apple-system, system-ui, 'Segoe UI', Roboto, sans-serif;\n font-size: 13px;\n color: #374151;\n }\n .cdtr-edit-busy.has-thinking {\n border-radius: 14px;\n /* Narrow enough to sit inside the drawer, wide enough to read. */\n width: min(320px, calc(100vw - 32px));\n }\n .cdtr-edit-busy-head {\n display: flex;\n align-items: center;\n gap: 10px;\n }\n .cdtr-edit-busy-label {\n font-weight: 600;\n color: #6b7280;\n margin-inline-end: auto;\n }\n /* Hidden until the first delta lands, so a turn that never narrates keeps\n the original compact pill. */\n .cdtr-edit-thinking {\n display: none;\n max-height: 96px;\n overflow-y: auto;\n /* The model streams prose with hard newlines; keep them, and keep long\n unbroken ids/urls from widening the box. */\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n font-size: 12px;\n line-height: 1.5;\n color: #6b7280;\n border-top: 1px solid #f3f4f6;\n padding-top: 6px;\n }\n .cdtr-edit-busy.has-thinking .cdtr-edit-thinking { display: block; }\n .cdtr-edit-busy-dots {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n }\n .cdtr-edit-busy-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background: var(--accent, #5B5FC7);\n opacity: 0.4;\n animation: cdtr-edit-bounce 1.2s ease-in-out infinite;\n }\n .cdtr-edit-busy-dot:nth-child(2) { animation-delay: 0.15s; }\n .cdtr-edit-busy-dot:nth-child(3) { animation-delay: 0.3s; }\n @keyframes cdtr-edit-bounce {\n 0%, 80%, 100% { opacity: 0.4; transform: translateY(0); }\n 40% { opacity: 1; transform: translateY(-3px); }\n }\n .cdtr-edit-stop {\n background: #fee2e2;\n color: #b91c1c;\n border: 0;\n border-radius: 999px;\n padding: 4px 10px;\n font: inherit;\n font-weight: 600;\n cursor: pointer;\n line-height: 1;\n }\n .cdtr-edit-stop:hover { background: #fecaca; }\n .cdtr-edit-stop:focus-visible { outline: 2px solid #b91c1c; outline-offset: 1px; }\n ",document.head.appendChild(e)}(),e._busyEl&&as(e);const r=e.shadowRoot?.querySelector("textarea");r&&(r.disabled=!0,e._busyTextarea=r);const o=document.createElement("div");o.className="cdtr-edit-busy",o.dir="he"===t?"rtl":"ltr";const i=document.createElement("div");i.className="cdtr-edit-busy-head";const a=document.createElement("span");a.className="cdtr-edit-busy-label",a.textContent=Xa[t]||Xa.en,i.appendChild(a);const s=document.createElement("span");s.className="cdtr-edit-busy-dots",s.innerHTML='<span class="cdtr-edit-busy-dot"></span><span class="cdtr-edit-busy-dot"></span><span class="cdtr-edit-busy-dot"></span>',i.appendChild(s);const l=document.createElement("button");l.type="button",l.className="cdtr-edit-stop",l.textContent=Ya[t]||Ya.en,l.addEventListener("click",()=>{try{n?.abort()}catch{}}),i.appendChild(l),o.appendChild(i);const c=document.createElement("div");c.className="cdtr-edit-thinking",c.setAttribute("dir","auto"),o.appendChild(c),e._thinkingEl=c,document.body.appendChild(o),e._busyEl=o,rs(o,e);const d=()=>{e._busyEl===o&&rs(o,e)};window.addEventListener("resize",d),window.addEventListener("scroll",d,!0),e._busyReposition=d}function is(e,t){const n=e._thinkingEl;n&&e._busyEl&&(n.textContent+=t,e._busyEl.classList.add("has-thinking"),n.scrollTop=n.scrollHeight)}function as(e){e._busyEl&&(e._busyEl.remove(),e._busyEl=null),e._thinkingEl=null,e._busyTextarea&&(e._busyTextarea.disabled=!1,e._busyTextarea=null),e._busyReposition&&(window.removeEventListener("resize",e._busyReposition),window.removeEventListener("scroll",e._busyReposition,!0),e._busyReposition=null)}function ss(){try{const e=T.M.get("app","_id");return"string"==typeof e&&e.length>0?e:null}catch(e){return null}}async function ls(e){const t=ss();if(!t)return;e.storageKey="";let n=null;try{n=await hs(j.Ay,{forceRefresh:!1})}catch(e){return}if(!n)return;const r=`${Fa}${Ua}?doc_id=${encodeURIComponent(t)}&surface=${qa}`;try{const t=await fetch(r,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${n}`}});if(!t.ok)return void console.warn(`[edit-chat] transcript load failed: HTTP ${t.status}`);const o=await t.json();e._sessionId="string"==typeof o?.session_id?o.session_id:null;const i=Array.isArray(o?.messages)?o.messages:[];if(0===i.length)return;e.messages=i.filter(e=>e&&("user"===e.role||"assistant"===e.role)).map(e=>({role:e.role,text:"string"==typeof e.content?e.content:"",ts:"number"==typeof e.created_at?e.created_at:Date.now()})).filter(e=>e.text.length>0)}catch(e){console.warn("[edit-chat] transcript load failed:",e)}}const cs={he:{tokens:"טוקנים",low:"יתרה נמוכה",empty:"נגמרו הטוקנים"},en:{tokens:"tokens",low:"Low balance",empty:"Out of tokens"}};function ds(e,t,n,r){if(!e)return;const o=e.querySelector(":scope > .cdtr-balance")||e.shadowRoot&&e.shadowRoot.querySelector(".cdtr-balance")||null;if("number"!=typeof n||Number.isNaN(n))return void o?.remove();r&&(e._balancePaymentUrl=r);const i=r||e._balancePaymentUrl||"";!function(){if(document.getElementById("cdtr-balance-styles"))return;const e=document.createElement("style");e.id="cdtr-balance-styles",e.textContent="\n .cdtr-balance {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 9px;\n margin-inline-end: 4px;\n border-radius: 999px;\n border: 1px solid #e5e7eb;\n background: #f9fafb;\n color: #4b5563;\n font-size: 11px;\n font-weight: 600;\n line-height: 1.6;\n white-space: nowrap;\n text-decoration: none;\n cursor: default;\n }\n .cdtr-balance.is-low { border-color: #fde68a; background: #fffbeb; color: #92400e; }\n .cdtr-balance.is-empty { border-color: #fecaca; background: #fef2f2; color: #b91c1c; }\n /* Only clickable when there is somewhere to send them. */\n .cdtr-balance[href] { cursor: pointer; }\n .cdtr-balance[href]:hover { filter: brightness(0.97); }\n .cdtr-balance-dot {\n width: 6px; height: 6px; border-radius: 50%;\n background: currentColor; opacity: 0.65; flex: none;\n }\n ",document.head.appendChild(e)}();const a=cs[t]||cs.en,s=n<=0,l=!s&&n<4e4,c=!!i&&(l||s),d=o&&"A"===o.tagName!==c;d&&o.remove();let p=d?null:o;if(!p&&(p=document.createElement(c?"a":"span"),p.className="cdtr-balance",p.setAttribute("slot","header-extra"),e.appendChild(p),null===p.assignedSlot)){const t=e.shadowRoot&&e.shadowRoot.querySelector(".header-actions");if(!t)return p.remove(),void(e._balanceAnchorWarned||(e._balanceAnchorWarned=!0,console.warn("[edit-chat] balance pill: no header-extra slot and no .header-actions; skipping")));if(p.removeAttribute("slot"),t.prepend(p),!e.shadowRoot.getElementById("cdtr-balance-styles")){const t=document.getElementById("cdtr-balance-styles");t&&e.shadowRoot.appendChild(t.cloneNode(!0))}}p.classList.toggle("is-low",l),p.classList.toggle("is-empty",s),c&&(p.setAttribute("href",i),p.setAttribute("target","_blank"),p.setAttribute("rel","noopener noreferrer"));const h=s?a.empty:`${function(e){const t=Math.max(0,Math.round(e));if(t<1e3)return String(t);if(t<1e6){const e=t/1e3,n=e<10?e.toFixed(1).replace(/\.0$/,""):String(Math.round(e));if("1000"!==n)return`${n}K`}const n=t/1e6;return`${n<10?n.toFixed(1).replace(/\.0$/,""):Math.round(n)}M`}(n)} ${a.tokens}`;p.textContent="";const u=document.createElement("span");u.className="cdtr-balance-dot",p.appendChild(u),p.appendChild(document.createTextNode(h)),p.title=s?a.empty:`${n.toLocaleString()} ${a.tokens}${l?` -- ${a.low}`:""}`}function ps(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t="en"===e.lang?"en":"he",n=e.endpoint||ja,r=document.createElement("cdtr-chat");r.setAttribute("lang",t),r.setAttribute("storage-key",ss()?"":"cdtr-edit:messages"),r.setAttribute("header","he"===t?"שיחה חדשה":"New conversation"),r.setAttribute("prompt","he"===t?"איך לערוך?":"What should I edit?"),r.actions="he"===t?Va:Wa;const o=()=>{!async function(e,t){try{const n=j.Ay,r=await hs(n);if(!r)return;const o=await fetch(`${Fa}/api/business-analyze/balance`,{method:"GET",headers:{Authorization:`Bearer ${r}`}});if(!o.ok)return;const i=await o.json();ds(e,t,i&&i.balance,i&&i.paymentUrl)}catch(e){console.warn("[edit-chat] balance probe failed; pill not shown",e)}}(r,t)};return r.updateComplete&&"function"==typeof r.updateComplete.then?r.updateComplete.then(o).catch(o):setTimeout(o,0),r._refreshBalance=o,r.addEventListener("cdtr-chat:submit",e=>{if(r._editInFlight)return void console.log("[edit-chat] submit ignored: previous edit still streaming");const o=e?.detail?.text;"string"==typeof o&&o.trim()&&fs(r,n,t,o.trim())}),r.addEventListener("cdtr-chat:new",()=>{r._sessionReset=async function(e){const t=ss();if(!t)return;let n=null;try{n=await hs(j.Ay,{forceRefresh:!1})}catch(e){return}if(!n)return;const r={Accept:"application/json",Authorization:`Bearer ${n}`};try{let n=e._sessionId??null;if(!n){const e=await fetch(`${Fa}${Ua}?doc_id=${encodeURIComponent(t)}&surface=${qa}`,{method:"GET",headers:r});if(!e.ok)return void console.warn(`[edit-chat] new-chat: session lookup failed HTTP ${e.status}`);const o=await e.json();n="string"==typeof o?.session_id?o.session_id:null}if(!n)return;const o=await fetch(`${Fa}/api/datastore/sessions/${encodeURIComponent(n)}`,{method:"DELETE",headers:r});if(!o.ok)return void console.warn(`[edit-chat] new-chat: session delete failed HTTP ${o.status}`);e._sessionId=null,console.log(`[edit-chat] new-chat: cleared server session ${n} for doc ${t}`)}catch(e){console.warn("[edit-chat] new-chat: could not clear the server transcript",e)}}(r)}),r.addEventListener("cdtr-chat:action",e=>{if(r._editInFlight)return void console.log("[edit-chat] action ignored: previous edit still streaming");const o=e?.detail?.label;"string"==typeof o&&o&&fs(r,n,t,o)}),r}async function hs(e,t){const n=!(!t||!t.forceRefresh),r="function"==typeof e.studioTokenProvider?e.studioTokenProvider:null;if(r)try{const e=await r({forceRefresh:n});if("string"==typeof e&&e.length>0)return e}catch(e){console.warn("[edit-chat] studioTokenProvider threw; falling back to editor.studioToken.",e)}return"string"==typeof e.studioToken&&e.studioToken.length>0?e.studioToken:null}async function us(e,t,n,r){const{forceRefresh:o=!1,onEvent:i=null,signal:a}=r||{},s=await hs(e,{forceRefresh:o});s||console.warn("[edit-chat] no auth token (neither editor.studioTokenProvider nor editor.studioToken yielded one); request will likely 401 from scopeGate."),o&&console.log("[edit-chat] retry attempt with refreshed token; token-present=",null!=s);const l={"Content-Type":"application/json",Accept:"text/event-stream, application/json"};s&&(l.Authorization=`Bearer ${s}`);let c=null;try{c=await fetch(t,{method:"POST",headers:l,body:JSON.stringify(n),signal:a})}catch(e){throw e}if((c.headers.get("content-type")||"").includes("text/event-stream")&&c.body&&i)return await async function(e,t){const n=e.getReader(),r=new TextDecoder;let o="";try{for(;;){const{done:e,value:i}=await n.read();if(e)break;let a;for(o+=r.decode(i,{stream:!0});-1!==(a=o.indexOf("\n\n"));){const e=o.slice(0,a);o=o.slice(a+2);let n,r="message",i="";for(const t of e.split("\n"))t.startsWith("event:")?r=t.slice(6).trim():t.startsWith("data:")&&(i+=(i?"\n":"")+t.slice(5).replace(/^ /,""));if(i){try{n=JSON.parse(i)}catch(e){console.warn("[edit-chat] sse data parse failed event="+r,e);continue}try{await t(r,n)}catch(e){console.warn("[edit-chat] sse handler threw event="+r,e)}}}}}finally{try{n.releaseLock()}catch{}}}(c.body,i),{resp:c,body:null,streamed:!0};let d=null;try{d=await c.json()}catch{d=null}return{resp:c,body:d,streamed:!1}}async function fs(e,t,n,r){e._editInFlight=!0;const o=new AbortController;os(e,n,o);try{return await async function(e,t,n,r,o){const i=j.Ay;if(e._sessionReset)try{await e._sessionReset}finally{e._sessionReset=null}const a=(0,q.U2)(),s=Array.isArray(i.components)&&i.components[0]?.id?i.components[0].id:void 0,l={role:"user",text:r,ts:Date.now()};e.appendMessage?.(l),e.busy=!0;const c=(e.messages||[]).map(e=>({role:e.role,content:e.text})),d=ss(),p=T.M.get("config","channel"),h={messages:c,currentNewsletter:a,language:n,...s?{selectedComponentId:s}:{},...d?{doc_id:d}:{},...p?{channel:p}:{}},u={counters:{text:0,marks:0,prop:0,removed:0,created:0,moved:0,skipped:0},finalReply:"",finalSummary:"",sseError:null,outOfTokens:!1,paymentUrl:"",truncated:!1},f=async(t,r)=>{if("ops"===t){const e=Array.isArray(r&&r.ops)?r.ops:[];if(0===e.length)return;const t=await gs(e);return u.counters.text+=t.text,u.counters.marks+=t.marks,u.counters.prop+=t.prop,u.counters.removed+=t.removed,u.counters.created+=t.created,u.counters.moved+=t.moved,u.counters.skipped+=t.skipped,void console.log(`[edit-chat] sse ops batch call_id=${r.call_id} count=${e.length}`)}if("thinking"===t){const t=r&&"string"==typeof r.delta?r.delta:"";if(!t)return;return void is(e,t)}if("text"===t){const t=r&&"string"==typeof r.delta?r.delta:"";if(!t)return;return void is(e,t)}if("text_reset"!==t)return"done"===t?(u.finalReply=r&&"string"==typeof r.reply?r.reply:"",u.finalSummary=r&&"string"==typeof r.summary?r.summary:"",u.outOfTokens=!(!r||!r.outOfTokens),u.truncated=!(!r||!r.truncated),u.paymentUrl=r&&"string"==typeof r.paymentUrl?r.paymentUrl:"",void(r&&"number"==typeof r.balance&&ds(e,n,r.balance,u.paymentUrl))):void("error"!==t||(u.sseError={reason:r&&r.reason||"chat edit failed"}));!function(e){const t=e._thinkingEl;t&&(t.textContent="",e._busyEl?.classList.remove("has-thinking"))}(e)};let m,g,b=!1;try{let n=await us(i,t,h,{allowProviderRefresh:!0,onEvent:f,signal:o.signal});!n.resp||401!==n.resp.status&&403!==n.resp.status||(console.warn(`[edit-chat] auth ${n.resp.status}; asking studioTokenProvider for a fresh token and retrying once.`),n=await us(i,t,h,{allowProviderRefresh:!0,forceRefresh:!0,onEvent:f,signal:o.signal}),!n.resp||401!==n.resp.status&&403!==n.resp.status||e.dispatchEvent?.(new CustomEvent("cdtr-edit:auth-expired",{bubbles:!0,composed:!0,detail:{status:n.resp.status}}))),m=n.resp,g=n.body,b=n.streamed}catch(t){if(e.busy=!1,o.signal.aborted||"AbortError"===t?.name)return void e.appendMessage?.({role:"assistant",text:es[n]||es.en,ts:Date.now()});const r=t&&("TypeError"===t.name||t.message?.includes("fetch"));return void e.appendMessage?.({role:"assistant",text:ns(n,t,{isNetwork:r}),ts:Date.now()})}if(e.busy=!1,b){if(u.sseError)return void e.appendMessage?.({role:"assistant",text:ns(n,u.sseError.reason),ts:Date.now()});const t=u.counters,r=t.skipped>0?(Ga[n]||Ga.en)(t.skipped):"",o=u.outOfTokens?(Ja[n]||Ja.en)(u.paymentUrl):"",i=t.text+t.marks+t.prop+t.removed+t.created+t.moved,a=u.truncated?(Ka[n]||Ka.en)(i):"",s=0!==i||0!==t.skipped||u.outOfTokens||u.truncated?"":Qa[n]||Qa.en,l=o||a||r||s;if(u.finalReply.length>0)e.appendMessage?.({role:"assistant",text:u.finalReply+l,ts:Date.now()});else if(i>0){const t=(Za[n]||Za.en)(i);e.appendMessage?.({role:"assistant",text:t+l,ts:Date.now()})}else l&&e.appendMessage?.({role:"assistant",text:l.trim(),ts:Date.now()});return void console.log(`[edit-chat] applied ops (streamed): text=${t.text}, marks=${t.marks}, prop=${t.prop}, removed=${t.removed}, created=${t.created}, moved=${t.moved}, skipped=${t.skipped}; summary=${u.finalSummary}`)}if(!m||!m.ok||g&&g.error){const t=g&&g.reason||`HTTP ${m?m.status:"unknown"}`,r=m&&(401===m.status||403===m.status);return void e.appendMessage?.({role:"assistant",text:ns(n,t,{isAuth:r}),ts:Date.now()})}const{reply:y,ops:A,summary:w}=g||{},x=Array.isArray(A)&&A.length>0,v=x?"":Qa[n]||Qa.en;"string"==typeof y&&y.length>0&&e.appendMessage?.({role:"assistant",text:y+v,ts:Date.now()});if(!x)return void console.log("[edit-chat] response had no ops; summary=",w);const _=await gs(A);console.log(`[edit-chat] applied ops: text=${_.text}, marks=${_.marks}, prop=${_.prop}, removed=${_.removed}, created=${_.created}, moved=${_.moved}, skipped=${_.skipped}; summary=${w}`)}(e,t,n,r,o)}finally{e._editInFlight=!1,e.busy=!1,as(e)}}const ms=150;async function gs(e){const t=j.Ay,n={text:0,marks:0,prop:0,removed:0,created:0,moved:0,skipped:0};let r=new Set,o=0;const i=new Set;try{const n=t&&t.getComponents?t.getComponents():null;r=new Set(n?Object.keys(n):[]),o=r.size;const i=n?Object.values(n).filter(e=>e&&"root"===e.type).map(e=>e&&e.id):[],a=e.find(e=>e&&"create"===e.op);console.log(`[edit-chat] BATCH START total=${o} rootIds=${JSON.stringify(i)} firstParentId=${a&&a.parentId} firstParentInStore=${a?!!t.getComponent(a.parentId):"no-creates"}`)}catch(e){console.warn("[edit-chat] batch-start diagnostic failed",e)}let a=!0;for(const s of e){!a&&ms>0&&await new Promise(e=>setTimeout(e,ms)),a=!1;const e=t.store();if(s&&"string"==typeof s.op)try{if("updateText"===s.op){const r=t.getComponent(s.id);if(!r){n.skipped++,console.warn("[edit-chat] no live component for updateText",s.id);continue}e.updateComponent(r,"text",{childNodes:s.value}),n.text++}else if("updateTextMarks"===s.op){const r=t.getComponent(s.id);if(!r){n.skipped++,console.warn("[edit-chat] no live component for updateTextMarks",s.id);continue}e.updateComponent(r,"text",{childNodes:s.value}),n.marks++}else if("updateProp"===s.op){const r=t.getComponent(s.id);if(!r){n.skipped++,console.warn("[edit-chat] no live component for updateProp",s.id);continue}e.updateComponent(r,s.key,s.value),n.prop++}else if("remove"===s.op)e.removeComponent({componentId:s.id}),n.removed++;else if("create"===s.op){const a=s.body&&(s.body.id||s.body._id),l=t&&t.getComponents&&t.getComponents()||{},c=Object.keys(l).length,d=!!t.getComponent(s.parentId);let p;p=r.has(s.parentId)?"PRE-EXISTING":i.has(s.parentId)?"SELF-DECLARED":"PHANTOM",e.createComponent({parentId:s.parentId,index:s.index,body:s.body},{clone:!0});const h=t&&t.getComponents&&t.getComponents()||{},u=Object.keys(h).length,f=!!t.getComponent(a);let m=0;r.forEach(e=>{e in h&&m++}),i.add(a),console.log(`[edit-chat] CREATE type=${s.body&&s.body.type} id=${a} parentId=${s.parentId} idx=${s.index} parentInStore=${d} parentSource=${p} bodyInStoreAfter=${f} total=${c}->${u} initialSurvived=${m}/${o}`),n.created++}else"move"===s.op?(e.moveComponent({id:s.id,oldParentId:s.oldParentId,newParentId:s.newParentId,oldIndex:s.oldIndex,newIndex:s.newIndex}),n.moved++):(console.warn("[edit-chat] unknown op type:",s.op),n.skipped++)}catch(e){console.error(`[edit-chat] op dispatch FAILED op=${s.op} id=${s.id||s.body&&s.body.id||"?"}`,e,s),n.skipped++}else n.skipped++}return n}class bs extends S.WF{constructor(){super(),this._chatEl=null,this._storeConnectCallback=null,this._appConnectCallback=null,this._hydrated=!1,this._close=()=>{T.M.set({[I]:!1})},this.open=!1}connectedCallback(){super.connectedCallback(),this.open=Boolean(T.M.get(I)),this._syncOpenAttr(),this._storeConnectCallback=e=>{const t=Boolean(e[I]);t!==this.open&&(this.open=t,this._syncOpenAttr(),t&&this._ensureChatEl())},T.M.connect(I,this._storeConnectCallback),this.open&&this._ensureChatEl()}disconnectedCallback(){super.disconnectedCallback(),this._storeConnectCallback&&(T.M.disconnect(this._storeConnectCallback),this._storeConnectCallback=null),this._disconnectAppWatcher()}_syncOpenAttr(){this.open?this.setAttribute("data-open",""):this.removeAttribute("data-open")}_ensureChatEl(){if(this._chatEl)return;const e="en"===T.M.get("config","language")?"en":"he";this._chatEl=ps({lang:e}),this._hydrateOnce()}_hydrateOnce(){if(this._hydrated)return;const e=this._chatEl;return e?ss()?(this._hydrated=!0,void ls(e)):void(this._appConnectCallback||(this._appConnectCallback=()=>{!this._hydrated&&ss()&&(this._hydrated=!0,ls(e),this._disconnectAppWatcher())},T.M.connect("app",this._appConnectCallback))):void 0}_disconnectAppWatcher(){this._appConnectCallback&&(T.M.disconnect(this._appConnectCallback),this._appConnectCallback=null)}render(){const e=this._chatEl,t=T.M.get("lang","ai_chat_title")||"AI chat";return S.qy`
|
|
4736
4736
|
<div
|
|
4737
4737
|
class="panel"
|
|
4738
4738
|
role="complementary"
|
|
Binary file
|
package/dist/service-worker.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(!self.define){let e,r={};const d=(d,c)=>(d=new URL(d+".js",c).href,r[d]||new Promise(r=>{if("document"in self){const e=document.createElement("script");e.src=d,e.onload=r,document.head.appendChild(e)}else e=d,importScripts(d),r()}).then(()=>{let e=r[d];if(!e)throw new Error(`Module ${d} didn’t register its module`);return e}));self.define=(c,b)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(r[i])return;let a={};const n=e=>d(e,i),o={module:{uri:i},exports:a,require:n};r[i]=Promise.all(c.map(e=>o[e]||n(e))).then(e=>(b(...e),a))}}define(["./workbox-f3063069"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"112.creaditor.bundle.js",revision:"cecb35ee28609df9dfede4e6a01ab32b"},{url:"1142.creaditor.bundle.js",revision:"d39cafc88e6aea1556c82cb620e1a2ff"},{url:"1271.creaditor.bundle.js",revision:"cb64a53a41e39bd79f80e2c3cd0e16d9"},{url:"1317.creaditor.bundle.js",revision:"8f6674ecb348b5f3e5fca58cd4771c20"},{url:"1317.creaditor.bundle.js.LICENSE.txt",revision:"c8a750975849f68cc5261bff5b7597b4"},{url:"1334.creaditor.bundle.js",revision:"3d94fa72808bafc3c2e3a12c03004daf"},{url:"1396.creaditor.bundle.js",revision:"b28c7f0fbfc65927d08924655f5a0264"},{url:"1403.creaditor.bundle.js",revision:"b965b1cc3e11e4c46736fbc855524349"},{url:"1456.creaditor.bundle.js",revision:"3811b6097041da788cbf61ea03601784"},{url:"1529.creaditor.bundle.js",revision:"7961204004317491e920dbad90d56277"},{url:"168.creaditor.bundle.js",revision:"8b292ba3e21f73726da0a30307da11ed"},{url:"168.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"170.creaditor.bundle.js",revision:"ee3f12bc30f67cc8951daf483c248a15"},{url:"175.creaditor.bundle.js",revision:"a887a17fd0554975b3c18dbadc204f4c"},{url:"1972.creaditor.bundle.js",revision:"6a5534c86003dbf4ab66c8dbbcde71b2"},{url:"2001.creaditor.bundle.js",revision:"90dc6d5a0eb2684dda8082606bd259bd"},{url:"2001.creaditor.bundle.js.LICENSE.txt",revision:"ddaef1761da9718367006e6a051e587c"},{url:"211.creaditor.bundle.js",revision:"28e0be495a3c39a902b5983ddb9f4cbb"},{url:"2112.creaditor.bundle.js",revision:"f3d613a97be1c80e79325d7ccfc636b5"},{url:"2234.creaditor.bundle.js",revision:"cd27ac5f566b304d4f1eece81ddc83bd"},{url:"2298.creaditor.bundle.js",revision:"acf2a7dd09e917ea4c4bac7853cca6bc"},{url:"235.creaditor.bundle.js",revision:"63204b1ff18d337dc64bb47970a9ae06"},{url:"235.creaditor.bundle.js.LICENSE.txt",revision:"5a0e25bacaf347bc90cf875c3e0944e7"},{url:"2350.creaditor.bundle.js",revision:"ad4b40d4c824ea45be38cdb38ec2811b"},{url:"2377.creaditor.bundle.js",revision:"e81b1dd02afb539702685ebbd241656f"},{url:"2384.creaditor.bundle.js",revision:"df77aad53bb57322953dc61708c7de8d"},{url:"2397.creaditor.bundle.js",revision:"de8115961695c5d83c5de95e2c1fa68a"},{url:"2409.creaditor.bundle.js",revision:"8014a9970419e80d12c5bb615a6637bb"},{url:"2547.creaditor.bundle.js",revision:"33e5789379606491dcd127470fe7375a"},{url:"2550.creaditor.bundle.js",revision:"3aa264f6eaef0bb9fee6bd767fb4c787"},{url:"2550.creaditor.bundle.js.LICENSE.txt",revision:"e6c501582fc5069d08decdc04d4ea11f"},{url:"2590.creaditor.bundle.js",revision:"b10991e68aa92f461d2b43cb976c3f6c"},{url:"2706.creaditor.bundle.js",revision:"a095008b0a296f92f2a6bbc9833de233"},{url:"2706.creaditor.bundle.js.LICENSE.txt",revision:"c8a750975849f68cc5261bff5b7597b4"},{url:"271.creaditor.bundle.js",revision:"cbe05e76796bcbdb423a068052189278"},{url:"2717.creaditor.bundle.js",revision:"a56e0f09b3e93d1253c843d93258a88c"},{url:"2717.creaditor.bundle.js.LICENSE.txt",revision:"c9ae65c215fbf97b96bce384781c89ea"},{url:"2765.creaditor.bundle.js",revision:"2fd755d2081dba8605ed2a70ced32bc0"},{url:"2773.creaditor.bundle.js",revision:"b66aacd479b264d24a3c839ce092631c"},{url:"2833.creaditor.bundle.js",revision:"ad5632253d9435d7fa06a40151ebabcf"},{url:"2956.creaditor.bundle.js",revision:"a3f3bd46f723e9ad76a9d07f1bd73759"},{url:"2963.creaditor.bundle.js",revision:"a9d74c704253bb5d900740cd7b77c91d"},{url:"3105.creaditor.bundle.js",revision:"fcb21b9ac1bd11953529a83c8afad526"},{url:"3233.creaditor.bundle.js",revision:"d00041d99bfc950eacc5a7d2bec2a61b"},{url:"3503.creaditor.bundle.js",revision:"bf52229318432d17219966fd65f34d02"},{url:"3521.creaditor.bundle.js",revision:"ee35781e7b85e0ccd665b2ea09a658f3"},{url:"353.creaditor.bundle.js",revision:"89b04a79885687acdc202fa12d9f9ea2"},{url:"3545.creaditor.bundle.js",revision:"9118195e3eacd5124658abbe4ae8853e"},{url:"3553.creaditor.bundle.js",revision:"23972b3cdf3710236936e452841cb809"},{url:"3606.creaditor.bundle.js",revision:"ce9c2afb795a55c1146ff701e3547766"},{url:"380.creaditor.bundle.js",revision:"4240d212d2b6a5fc8dd9813090465e6f"},{url:"3827.creaditor.bundle.js",revision:"4af63258ddbfc5c46e5a5280e0653f5b"},{url:"3847.creaditor.bundle.js",revision:"858234abf268ad583c506a4e4ea61761"},{url:"3875.creaditor.bundle.js",revision:"f40afe8e0a5e2a398e76b26830f967b8"},{url:"3971.creaditor.bundle.js",revision:"f73ae68bb1bf498268c61ae19cc4c8f2"},{url:"4061.creaditor.bundle.js",revision:"10fe419753b19250c5adb0695bd4ef7b"},{url:"4061.creaditor.bundle.js.LICENSE.txt",revision:"c9ae65c215fbf97b96bce384781c89ea"},{url:"407.creaditor.bundle.js",revision:"3dd332a7512da4854694091607a03d24"},{url:"4074.creaditor.bundle.js",revision:"2639150e66dc341573cb6b3687bbc54b"},{url:"4100.creaditor.bundle.js",revision:"35fe1f1ac5cda4b570654afda2d2018b"},{url:"4109.creaditor.bundle.js",revision:"73fc250ad1b4a805b32ee61e87c2af53"},{url:"4109.creaditor.bundle.js.LICENSE.txt",revision:"e6c501582fc5069d08decdc04d4ea11f"},{url:"4114.creaditor.bundle.js",revision:"8b3a3dfa4d9aea25e8124c4a085aa951"},{url:"4161.creaditor.bundle.js",revision:"4993026497ada2ac97d716cb2f4c0a64"},{url:"4186.creaditor.bundle.js",revision:"85d24c06f787aea1bcc096aaa4d00092"},{url:"4186.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"4288.creaditor.bundle.js",revision:"5d721b24f58a69f2e35dc8e62171f0e2"},{url:"4413.creaditor.bundle.js",revision:"b054be84ed2994e2b938641e9d3fab19"},{url:"4475.creaditor.bundle.js",revision:"3ecfd6de644933d2e31e2146a7b2ad9f"},{url:"453.creaditor.bundle.js",revision:"f250f77957b9b5412c3849e98cb22fe9"},{url:"4615.creaditor.bundle.js",revision:"0203064be05b359b62fe87b0a6495ad3"},{url:"4639.creaditor.bundle.js",revision:"0528c60b84f726b8aa5a2071195d2194"},{url:"467.creaditor.bundle.js",revision:"989e6b4d31dfbcfc6890330cd0894aa5"},{url:"4762.creaditor.bundle.js",revision:"82e589852084bb8277653bdf659ae567"},{url:"4770.creaditor.bundle.js",revision:"b060bafc940465b48c98d16f5dbe47b4"},{url:"4819.creaditor.bundle.js",revision:"70c235283f0650f7505cb07b2dedd19a"},{url:"4947.creaditor.bundle.js",revision:"077e60d7a64d257c8eed1ee081869184"},{url:"4987.creaditor.bundle.js",revision:"406826ae5f86e0a1541cef5471bf0609"},{url:"4987.creaditor.bundle.js.LICENSE.txt",revision:"ddaef1761da9718367006e6a051e587c"},{url:"4988.creaditor.bundle.js",revision:"3609437bf3e31dd856209c6988b0628f"},{url:"5133.creaditor.bundle.js",revision:"0dbb4e24ccdd657592b8370551debaa5"},{url:"5156.creaditor.bundle.js",revision:"150409c594e2964911dcf28634a74664"},{url:"5284.creaditor.bundle.js",revision:"5d5f0b484b6a732671f63db0cb0d2fcc"},{url:"5284.creaditor.bundle.js.LICENSE.txt",revision:"e6c501582fc5069d08decdc04d4ea11f"},{url:"5379.creaditor.bundle.js",revision:"5c482b14889b9355b41b884905c8b3cc"},{url:"5391.creaditor.bundle.js",revision:"f01d8de1d661b87a991d7c1f3579bc6d"},{url:"5411.creaditor.bundle.js",revision:"eae48b84ccfddff3ff4a616cbf1443c9"},{url:"5501.creaditor.bundle.js",revision:"4d0e717d93b6fadc54ff28f95a0d0517"},{url:"5530.creaditor.bundle.js",revision:"aea2b33b71d2aad5c5ccc7db288e2141"},{url:"5666.creaditor.bundle.js",revision:"fcc31fe060abf5475603bdd21052c7b2"},{url:"567.creaditor.bundle.js",revision:"f7907ceb7cdcec2b38a3a6faa45baed3"},{url:"5713.creaditor.bundle.js",revision:"ccc2bba0ee89f84aa5a8078b8b004677"},{url:"5713.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"574.creaditor.bundle.js",revision:"048702a59ceddd07abec85beb96c99e8"},{url:"574.creaditor.bundle.js.LICENSE.txt",revision:"7e87622d8f6027cbd50a87a2a0160d32"},{url:"578.creaditor.bundle.js",revision:"eea5a718ca8ccd7b81746c89529da3ab"},{url:"5791.creaditor.bundle.js",revision:"afcc2f40cd9dd357f205014f7aaba4f8"},{url:"5839.creaditor.bundle.js",revision:"02193ff7580fc12e262dbebc29e89401"},{url:"5849.creaditor.bundle.js",revision:"d530a38500cdeff163b19e8aaedc590d"},{url:"5850.creaditor.bundle.js",revision:"3b6d2c073ba4418cacc65ca7006ab3e7"},{url:"589.creaditor.bundle.js",revision:"d47c8f62eab8ebd5e2f5d201c7c25765"},{url:"59.creaditor.bundle.js",revision:"bebc52161360d22d5867b5bc83c61353"},{url:"59.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"5909.creaditor.bundle.js",revision:"22f604513f4859d16dcb87606fea264a"},{url:"5926.creaditor.bundle.js",revision:"c08dfb2f6974766a8e50d7b86f10d09e"},{url:"6036.creaditor.bundle.js",revision:"d8cc62bcfd4c4bf1b6e12b82daa9dd12"},{url:"6216.creaditor.bundle.js",revision:"f7d61056194ed8d16d95da665714c11c"},{url:"6216.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"638.creaditor.bundle.js",revision:"0805c65662d7b96ee150b7865da7cca6"},{url:"6442.creaditor.bundle.js",revision:"0c16b97e4c3b5a16fc895ea96b25cacf"},{url:"6496.creaditor.bundle.js",revision:"338b9529acf47bdc601be968cdeaad9e"},{url:"653.creaditor.bundle.js",revision:"52b9de427f192150b4b3c3b9725aad72"},{url:"6751.creaditor.bundle.js",revision:"365c1f0cd5c99801f035606282a231c7"},{url:"6814.creaditor.bundle.js",revision:"a7f323c08e346ec2b1c68cf81ff47333"},{url:"7051.creaditor.bundle.js",revision:"d65dbbbd2541ea4cb4b42d89da193b3b"},{url:"7051.creaditor.bundle.js.LICENSE.txt",revision:"07b9ce85d65b059fc522aa29a4819489"},{url:"7055.creaditor.bundle.js",revision:"f31fc847732490920b65b45e7d7875b8"},{url:"7055.creaditor.bundle.js.LICENSE.txt",revision:"1299004e20f2ce6cb16d4370129c3cec"},{url:"715.creaditor.bundle.js",revision:"fa1475c83830889b0000781f4b8ae27f"},{url:"715.creaditor.bundle.js.LICENSE.txt",revision:"ddaef1761da9718367006e6a051e587c"},{url:"7155.creaditor.bundle.js",revision:"5d2854bb436f39fcb0a60c7e8cb5b42c"},{url:"7209.creaditor.bundle.js",revision:"e9110c1680b52d8ef054c5c48740c999"},{url:"7238.creaditor.bundle.js",revision:"06ab3510e2ccb95663f42f30b935cbeb"},{url:"7255.creaditor.bundle.js",revision:"4bd8abfce57c30fc2354b9a0833c8e3a"},{url:"738.creaditor.bundle.js",revision:"69f421253b26ef5d11d6c08abbc1d886"},{url:"7380.creaditor.bundle.js",revision:"fddb1138256dfd180b1edcf12d95f832"},{url:"7463.creaditor.bundle.js",revision:"dbbb9bb5df85208a7892eeeb73a547ee"},{url:"7463.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"7466.creaditor.bundle.js",revision:"71a436e7a7948c51c98758e223ec6ca5"},{url:"7483.creaditor.bundle.js",revision:"29a69809b0ee565447312c0a8dffbe7e"},{url:"752.creaditor.bundle.js",revision:"7e38754a782c4b33b80310aad0957d5b"},{url:"7523.creaditor.bundle.js",revision:"9c97d67cf0ded1acc2df043abd0c5b41"},{url:"7564.creaditor.bundle.js",revision:"8d335e8846f544d305c1df15bce3e32e"},{url:"763.creaditor.bundle.js",revision:"a0504a7feb7a87cfff9f7dde7415ea2d"},{url:"7654.creaditor.bundle.js",revision:"5cac40177715bf4c40b4b0aa0436d71a"},{url:"767.creaditor.bundle.js",revision:"27299c8b9f17b695d2754656691698e0"},{url:"7789.creaditor.bundle.js",revision:"6634d5299fde0509aeae0aebbe607366"},{url:"7789.creaditor.bundle.js.LICENSE.txt",revision:"4c52c7161b2e22ac40ee29b327ab651b"},{url:"7838.creaditor.bundle.js",revision:"35a256e66c57b40d7245bff92cc1c4f8"},{url:"7918.creaditor.bundle.js",revision:"c8c365ab3942a7980aaf4fb2d63455af"},{url:"7937.creaditor.bundle.js",revision:"c68a91978a2c5ae0624fe54e9bd7e4a3"},{url:"7997.creaditor.bundle.js",revision:"a3b7ec234aa6407ae509b1f1df616793"},{url:"8042.creaditor.bundle.js",revision:"a24e3dabf0262b9c8a71fa68d1d9c023"},{url:"8064.creaditor.bundle.js",revision:"48839022909f72bb9163ecf18f8c1677"},{url:"8141.creaditor.bundle.js",revision:"b6221648d5f82dc59a50d4ce1074b936"},{url:"8173.creaditor.bundle.js",revision:"ea7cc21cb8903648ecd2c4b07debfbec"},{url:"8173.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"823.creaditor.bundle.js",revision:"8afa8f7274a9bf1ead2f62c6c07712bd"},{url:"8250.creaditor.bundle.js",revision:"e29a6bedf8a2b93c561353211f8993ef"},{url:"8251.creaditor.bundle.js",revision:"76d697c599d8455348dc0b137600d5b1"},{url:"8299.creaditor.bundle.js",revision:"2da33b74c936fb5214c90143f94f82be"},{url:"8315.creaditor.bundle.js",revision:"87577f0aafca067de3c1cbc776e28f4b"},{url:"8443.creaditor.bundle.js",revision:"800ba70473831238aee9cd5310516e1e"},{url:"8516.creaditor.bundle.js",revision:"ef7a9c47677772b41857e5bb1e1adb99"},{url:"8533.creaditor.bundle.js",revision:"3b3fb333cb7c06cabc493abcc80cefdf"},{url:"8547.creaditor.bundle.js",revision:"082b21b95598c185c37c98acc6fec397"},{url:"8570.creaditor.bundle.js",revision:"2003dfcb0e758be45e0bdb85456d0dbb"},{url:"8646.creaditor.bundle.js",revision:"91b1601a73c9f16399ff3cd8cb15a394"},{url:"8654.creaditor.bundle.js",revision:"3618798ef21e495e600ecbafc4fdd2ec"},{url:"8854.creaditor.bundle.js",revision:"a462f451c2ef5c1242108a613a419433"},{url:"8916.creaditor.bundle.js",revision:"8d4ec7b7a7d17c38bb9e7b8bc3d5663b"},{url:"8921.creaditor.bundle.js",revision:"905f21a5c96ace0384c6e3b2ec8a5959"},{url:"898.creaditor.bundle.js",revision:"a024646e3ca480fcfce29ed8cbd0b55b"},{url:"898.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"8983.creaditor.bundle.js",revision:"374fb7bb4bb76d97a4a4d4249db0ae5b"},{url:"9041.creaditor.bundle.js",revision:"c9bc970d0ce04d3d0995e5a40b7c74fb"},{url:"9158.creaditor.bundle.js",revision:"71f0e38cb7b0ea1ec0ebc2c1ad03983b"},{url:"9158.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"9250.creaditor.bundle.js",revision:"40b6399127ffdf51b74a8761f7d73c56"},{url:"9386.creaditor.bundle.js",revision:"cbd8b350e5cfcf88cad16c4574369c9d"},{url:"9431.creaditor.bundle.js",revision:"69e69ea14b6f6c22d2c2af901627f6bf"},{url:"9453.creaditor.bundle.js",revision:"ebda05d2c346ee6cb7a5885ad311e8fc"},{url:"9570.creaditor.bundle.js",revision:"40da6756ba5727d76ae8087aad6c86ee"},{url:"9694.creaditor.bundle.js",revision:"15bff01cd425f84f1a26208336a83238"},{url:"975.creaditor.bundle.js",revision:"b60acccab2d53d47f49522a884c6c289"},{url:"976.creaditor.bundle.js",revision:"bf2738d19d647728b3c2c5ee01f75796"},{url:"9986.creaditor.bundle.js",revision:"adb41b5fe860ad2b59c43457d61f9641"},{url:"9990.creaditor.bundle.js",revision:"27083e0439ea303348c0d17ae7aea2de"},{url:"9994.creaditor.bundle.js",revision:"26e6c210fe02e1f9b0287290011655e3"},{url:"creaditor.bundle.js",revision:"8cfcf592ec3891cc43bf9713eb36b079"},{url:"creaditor.bundle.js.LICENSE.txt",revision:"1abe495823f6e1bf9de370aeec70c6ed"},{url:"dca9330af07325d31ab04d60838684cd.png",revision:null},{url:"index.html",revision:"633997b83db73351ce2c09a40bc5dd2f"}],{})});
|
|
1
|
+
if(!self.define){let e,r={};const d=(d,c)=>(d=new URL(d+".js",c).href,r[d]||new Promise(r=>{if("document"in self){const e=document.createElement("script");e.src=d,e.onload=r,document.head.appendChild(e)}else e=d,importScripts(d),r()}).then(()=>{let e=r[d];if(!e)throw new Error(`Module ${d} didn’t register its module`);return e}));self.define=(c,b)=>{const i=e||("document"in self?document.currentScript.src:"")||location.href;if(r[i])return;let a={};const n=e=>d(e,i),o={module:{uri:i},exports:a,require:n};r[i]=Promise.all(c.map(e=>o[e]||n(e))).then(e=>(b(...e),a))}}define(["./workbox-f3063069"],function(e){"use strict";self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"112.creaditor.bundle.js",revision:"cecb35ee28609df9dfede4e6a01ab32b"},{url:"1142.creaditor.bundle.js",revision:"d39cafc88e6aea1556c82cb620e1a2ff"},{url:"1271.creaditor.bundle.js",revision:"cb64a53a41e39bd79f80e2c3cd0e16d9"},{url:"1317.creaditor.bundle.js",revision:"8f6674ecb348b5f3e5fca58cd4771c20"},{url:"1317.creaditor.bundle.js.LICENSE.txt",revision:"c8a750975849f68cc5261bff5b7597b4"},{url:"1334.creaditor.bundle.js",revision:"3d94fa72808bafc3c2e3a12c03004daf"},{url:"1396.creaditor.bundle.js",revision:"b28c7f0fbfc65927d08924655f5a0264"},{url:"1403.creaditor.bundle.js",revision:"b965b1cc3e11e4c46736fbc855524349"},{url:"1456.creaditor.bundle.js",revision:"3811b6097041da788cbf61ea03601784"},{url:"1529.creaditor.bundle.js",revision:"7961204004317491e920dbad90d56277"},{url:"168.creaditor.bundle.js",revision:"8b292ba3e21f73726da0a30307da11ed"},{url:"168.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"170.creaditor.bundle.js",revision:"ee3f12bc30f67cc8951daf483c248a15"},{url:"175.creaditor.bundle.js",revision:"a887a17fd0554975b3c18dbadc204f4c"},{url:"1972.creaditor.bundle.js",revision:"6a5534c86003dbf4ab66c8dbbcde71b2"},{url:"2001.creaditor.bundle.js",revision:"90dc6d5a0eb2684dda8082606bd259bd"},{url:"2001.creaditor.bundle.js.LICENSE.txt",revision:"ddaef1761da9718367006e6a051e587c"},{url:"211.creaditor.bundle.js",revision:"28e0be495a3c39a902b5983ddb9f4cbb"},{url:"2112.creaditor.bundle.js",revision:"f3d613a97be1c80e79325d7ccfc636b5"},{url:"2234.creaditor.bundle.js",revision:"cd27ac5f566b304d4f1eece81ddc83bd"},{url:"2298.creaditor.bundle.js",revision:"acf2a7dd09e917ea4c4bac7853cca6bc"},{url:"235.creaditor.bundle.js",revision:"63204b1ff18d337dc64bb47970a9ae06"},{url:"235.creaditor.bundle.js.LICENSE.txt",revision:"5a0e25bacaf347bc90cf875c3e0944e7"},{url:"2350.creaditor.bundle.js",revision:"ad4b40d4c824ea45be38cdb38ec2811b"},{url:"2377.creaditor.bundle.js",revision:"e81b1dd02afb539702685ebbd241656f"},{url:"2384.creaditor.bundle.js",revision:"df77aad53bb57322953dc61708c7de8d"},{url:"2397.creaditor.bundle.js",revision:"de8115961695c5d83c5de95e2c1fa68a"},{url:"2409.creaditor.bundle.js",revision:"8014a9970419e80d12c5bb615a6637bb"},{url:"2547.creaditor.bundle.js",revision:"33e5789379606491dcd127470fe7375a"},{url:"2550.creaditor.bundle.js",revision:"3aa264f6eaef0bb9fee6bd767fb4c787"},{url:"2550.creaditor.bundle.js.LICENSE.txt",revision:"e6c501582fc5069d08decdc04d4ea11f"},{url:"2590.creaditor.bundle.js",revision:"b10991e68aa92f461d2b43cb976c3f6c"},{url:"2706.creaditor.bundle.js",revision:"a095008b0a296f92f2a6bbc9833de233"},{url:"2706.creaditor.bundle.js.LICENSE.txt",revision:"c8a750975849f68cc5261bff5b7597b4"},{url:"271.creaditor.bundle.js",revision:"cbe05e76796bcbdb423a068052189278"},{url:"2717.creaditor.bundle.js",revision:"a56e0f09b3e93d1253c843d93258a88c"},{url:"2717.creaditor.bundle.js.LICENSE.txt",revision:"c9ae65c215fbf97b96bce384781c89ea"},{url:"2765.creaditor.bundle.js",revision:"2fd755d2081dba8605ed2a70ced32bc0"},{url:"2773.creaditor.bundle.js",revision:"b66aacd479b264d24a3c839ce092631c"},{url:"2833.creaditor.bundle.js",revision:"ad5632253d9435d7fa06a40151ebabcf"},{url:"2956.creaditor.bundle.js",revision:"a3f3bd46f723e9ad76a9d07f1bd73759"},{url:"2963.creaditor.bundle.js",revision:"a9d74c704253bb5d900740cd7b77c91d"},{url:"3105.creaditor.bundle.js",revision:"fcb21b9ac1bd11953529a83c8afad526"},{url:"3233.creaditor.bundle.js",revision:"d00041d99bfc950eacc5a7d2bec2a61b"},{url:"3503.creaditor.bundle.js",revision:"bf52229318432d17219966fd65f34d02"},{url:"3521.creaditor.bundle.js",revision:"ee35781e7b85e0ccd665b2ea09a658f3"},{url:"353.creaditor.bundle.js",revision:"89b04a79885687acdc202fa12d9f9ea2"},{url:"3545.creaditor.bundle.js",revision:"9118195e3eacd5124658abbe4ae8853e"},{url:"3553.creaditor.bundle.js",revision:"23972b3cdf3710236936e452841cb809"},{url:"3606.creaditor.bundle.js",revision:"ce9c2afb795a55c1146ff701e3547766"},{url:"380.creaditor.bundle.js",revision:"4240d212d2b6a5fc8dd9813090465e6f"},{url:"3827.creaditor.bundle.js",revision:"4af63258ddbfc5c46e5a5280e0653f5b"},{url:"3847.creaditor.bundle.js",revision:"858234abf268ad583c506a4e4ea61761"},{url:"3875.creaditor.bundle.js",revision:"f40afe8e0a5e2a398e76b26830f967b8"},{url:"3971.creaditor.bundle.js",revision:"f73ae68bb1bf498268c61ae19cc4c8f2"},{url:"4061.creaditor.bundle.js",revision:"10fe419753b19250c5adb0695bd4ef7b"},{url:"4061.creaditor.bundle.js.LICENSE.txt",revision:"c9ae65c215fbf97b96bce384781c89ea"},{url:"407.creaditor.bundle.js",revision:"3dd332a7512da4854694091607a03d24"},{url:"4074.creaditor.bundle.js",revision:"2639150e66dc341573cb6b3687bbc54b"},{url:"4100.creaditor.bundle.js",revision:"35fe1f1ac5cda4b570654afda2d2018b"},{url:"4109.creaditor.bundle.js",revision:"73fc250ad1b4a805b32ee61e87c2af53"},{url:"4109.creaditor.bundle.js.LICENSE.txt",revision:"e6c501582fc5069d08decdc04d4ea11f"},{url:"4114.creaditor.bundle.js",revision:"8b3a3dfa4d9aea25e8124c4a085aa951"},{url:"4161.creaditor.bundle.js",revision:"4993026497ada2ac97d716cb2f4c0a64"},{url:"4186.creaditor.bundle.js",revision:"85d24c06f787aea1bcc096aaa4d00092"},{url:"4186.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"4288.creaditor.bundle.js",revision:"5d721b24f58a69f2e35dc8e62171f0e2"},{url:"4413.creaditor.bundle.js",revision:"b054be84ed2994e2b938641e9d3fab19"},{url:"4475.creaditor.bundle.js",revision:"3ecfd6de644933d2e31e2146a7b2ad9f"},{url:"453.creaditor.bundle.js",revision:"f250f77957b9b5412c3849e98cb22fe9"},{url:"4615.creaditor.bundle.js",revision:"0203064be05b359b62fe87b0a6495ad3"},{url:"4639.creaditor.bundle.js",revision:"0528c60b84f726b8aa5a2071195d2194"},{url:"467.creaditor.bundle.js",revision:"989e6b4d31dfbcfc6890330cd0894aa5"},{url:"4762.creaditor.bundle.js",revision:"82e589852084bb8277653bdf659ae567"},{url:"4770.creaditor.bundle.js",revision:"b060bafc940465b48c98d16f5dbe47b4"},{url:"4819.creaditor.bundle.js",revision:"70c235283f0650f7505cb07b2dedd19a"},{url:"4947.creaditor.bundle.js",revision:"077e60d7a64d257c8eed1ee081869184"},{url:"4987.creaditor.bundle.js",revision:"406826ae5f86e0a1541cef5471bf0609"},{url:"4987.creaditor.bundle.js.LICENSE.txt",revision:"ddaef1761da9718367006e6a051e587c"},{url:"4988.creaditor.bundle.js",revision:"3609437bf3e31dd856209c6988b0628f"},{url:"5133.creaditor.bundle.js",revision:"0dbb4e24ccdd657592b8370551debaa5"},{url:"5156.creaditor.bundle.js",revision:"150409c594e2964911dcf28634a74664"},{url:"5284.creaditor.bundle.js",revision:"5d5f0b484b6a732671f63db0cb0d2fcc"},{url:"5284.creaditor.bundle.js.LICENSE.txt",revision:"e6c501582fc5069d08decdc04d4ea11f"},{url:"5379.creaditor.bundle.js",revision:"5c482b14889b9355b41b884905c8b3cc"},{url:"5391.creaditor.bundle.js",revision:"f01d8de1d661b87a991d7c1f3579bc6d"},{url:"5411.creaditor.bundle.js",revision:"eae48b84ccfddff3ff4a616cbf1443c9"},{url:"5501.creaditor.bundle.js",revision:"4d0e717d93b6fadc54ff28f95a0d0517"},{url:"5530.creaditor.bundle.js",revision:"aea2b33b71d2aad5c5ccc7db288e2141"},{url:"5666.creaditor.bundle.js",revision:"fcc31fe060abf5475603bdd21052c7b2"},{url:"567.creaditor.bundle.js",revision:"f7907ceb7cdcec2b38a3a6faa45baed3"},{url:"5713.creaditor.bundle.js",revision:"ccc2bba0ee89f84aa5a8078b8b004677"},{url:"5713.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"574.creaditor.bundle.js",revision:"048702a59ceddd07abec85beb96c99e8"},{url:"574.creaditor.bundle.js.LICENSE.txt",revision:"7e87622d8f6027cbd50a87a2a0160d32"},{url:"578.creaditor.bundle.js",revision:"eea5a718ca8ccd7b81746c89529da3ab"},{url:"5791.creaditor.bundle.js",revision:"afcc2f40cd9dd357f205014f7aaba4f8"},{url:"5839.creaditor.bundle.js",revision:"02193ff7580fc12e262dbebc29e89401"},{url:"5849.creaditor.bundle.js",revision:"d530a38500cdeff163b19e8aaedc590d"},{url:"5850.creaditor.bundle.js",revision:"3b6d2c073ba4418cacc65ca7006ab3e7"},{url:"589.creaditor.bundle.js",revision:"d47c8f62eab8ebd5e2f5d201c7c25765"},{url:"59.creaditor.bundle.js",revision:"bebc52161360d22d5867b5bc83c61353"},{url:"59.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"5909.creaditor.bundle.js",revision:"22f604513f4859d16dcb87606fea264a"},{url:"5926.creaditor.bundle.js",revision:"c08dfb2f6974766a8e50d7b86f10d09e"},{url:"6036.creaditor.bundle.js",revision:"d8cc62bcfd4c4bf1b6e12b82daa9dd12"},{url:"6216.creaditor.bundle.js",revision:"f7d61056194ed8d16d95da665714c11c"},{url:"6216.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"638.creaditor.bundle.js",revision:"0805c65662d7b96ee150b7865da7cca6"},{url:"6442.creaditor.bundle.js",revision:"0c16b97e4c3b5a16fc895ea96b25cacf"},{url:"6496.creaditor.bundle.js",revision:"338b9529acf47bdc601be968cdeaad9e"},{url:"653.creaditor.bundle.js",revision:"52b9de427f192150b4b3c3b9725aad72"},{url:"6751.creaditor.bundle.js",revision:"365c1f0cd5c99801f035606282a231c7"},{url:"6814.creaditor.bundle.js",revision:"a7f323c08e346ec2b1c68cf81ff47333"},{url:"7051.creaditor.bundle.js",revision:"d65dbbbd2541ea4cb4b42d89da193b3b"},{url:"7051.creaditor.bundle.js.LICENSE.txt",revision:"07b9ce85d65b059fc522aa29a4819489"},{url:"7055.creaditor.bundle.js",revision:"f31fc847732490920b65b45e7d7875b8"},{url:"7055.creaditor.bundle.js.LICENSE.txt",revision:"1299004e20f2ce6cb16d4370129c3cec"},{url:"715.creaditor.bundle.js",revision:"fa1475c83830889b0000781f4b8ae27f"},{url:"715.creaditor.bundle.js.LICENSE.txt",revision:"ddaef1761da9718367006e6a051e587c"},{url:"7155.creaditor.bundle.js",revision:"5d2854bb436f39fcb0a60c7e8cb5b42c"},{url:"7209.creaditor.bundle.js",revision:"e9110c1680b52d8ef054c5c48740c999"},{url:"7238.creaditor.bundle.js",revision:"06ab3510e2ccb95663f42f30b935cbeb"},{url:"7255.creaditor.bundle.js",revision:"4bd8abfce57c30fc2354b9a0833c8e3a"},{url:"738.creaditor.bundle.js",revision:"69f421253b26ef5d11d6c08abbc1d886"},{url:"7380.creaditor.bundle.js",revision:"fddb1138256dfd180b1edcf12d95f832"},{url:"7463.creaditor.bundle.js",revision:"dbbb9bb5df85208a7892eeeb73a547ee"},{url:"7463.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"7466.creaditor.bundle.js",revision:"71a436e7a7948c51c98758e223ec6ca5"},{url:"7483.creaditor.bundle.js",revision:"29a69809b0ee565447312c0a8dffbe7e"},{url:"752.creaditor.bundle.js",revision:"7e38754a782c4b33b80310aad0957d5b"},{url:"7523.creaditor.bundle.js",revision:"9c97d67cf0ded1acc2df043abd0c5b41"},{url:"7564.creaditor.bundle.js",revision:"8d335e8846f544d305c1df15bce3e32e"},{url:"763.creaditor.bundle.js",revision:"a0504a7feb7a87cfff9f7dde7415ea2d"},{url:"7654.creaditor.bundle.js",revision:"5cac40177715bf4c40b4b0aa0436d71a"},{url:"767.creaditor.bundle.js",revision:"27299c8b9f17b695d2754656691698e0"},{url:"7789.creaditor.bundle.js",revision:"6634d5299fde0509aeae0aebbe607366"},{url:"7789.creaditor.bundle.js.LICENSE.txt",revision:"4c52c7161b2e22ac40ee29b327ab651b"},{url:"7838.creaditor.bundle.js",revision:"35a256e66c57b40d7245bff92cc1c4f8"},{url:"7918.creaditor.bundle.js",revision:"c8c365ab3942a7980aaf4fb2d63455af"},{url:"7937.creaditor.bundle.js",revision:"c68a91978a2c5ae0624fe54e9bd7e4a3"},{url:"7997.creaditor.bundle.js",revision:"a3b7ec234aa6407ae509b1f1df616793"},{url:"8042.creaditor.bundle.js",revision:"a24e3dabf0262b9c8a71fa68d1d9c023"},{url:"8064.creaditor.bundle.js",revision:"48839022909f72bb9163ecf18f8c1677"},{url:"8141.creaditor.bundle.js",revision:"b6221648d5f82dc59a50d4ce1074b936"},{url:"8173.creaditor.bundle.js",revision:"ea7cc21cb8903648ecd2c4b07debfbec"},{url:"8173.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"823.creaditor.bundle.js",revision:"8afa8f7274a9bf1ead2f62c6c07712bd"},{url:"8250.creaditor.bundle.js",revision:"e29a6bedf8a2b93c561353211f8993ef"},{url:"8251.creaditor.bundle.js",revision:"76d697c599d8455348dc0b137600d5b1"},{url:"8299.creaditor.bundle.js",revision:"2da33b74c936fb5214c90143f94f82be"},{url:"8315.creaditor.bundle.js",revision:"87577f0aafca067de3c1cbc776e28f4b"},{url:"8443.creaditor.bundle.js",revision:"800ba70473831238aee9cd5310516e1e"},{url:"8516.creaditor.bundle.js",revision:"ef7a9c47677772b41857e5bb1e1adb99"},{url:"8533.creaditor.bundle.js",revision:"3b3fb333cb7c06cabc493abcc80cefdf"},{url:"8547.creaditor.bundle.js",revision:"082b21b95598c185c37c98acc6fec397"},{url:"8570.creaditor.bundle.js",revision:"2003dfcb0e758be45e0bdb85456d0dbb"},{url:"8646.creaditor.bundle.js",revision:"91b1601a73c9f16399ff3cd8cb15a394"},{url:"8654.creaditor.bundle.js",revision:"3618798ef21e495e600ecbafc4fdd2ec"},{url:"8854.creaditor.bundle.js",revision:"a462f451c2ef5c1242108a613a419433"},{url:"8916.creaditor.bundle.js",revision:"8d4ec7b7a7d17c38bb9e7b8bc3d5663b"},{url:"8921.creaditor.bundle.js",revision:"905f21a5c96ace0384c6e3b2ec8a5959"},{url:"898.creaditor.bundle.js",revision:"a024646e3ca480fcfce29ed8cbd0b55b"},{url:"898.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"8983.creaditor.bundle.js",revision:"374fb7bb4bb76d97a4a4d4249db0ae5b"},{url:"9041.creaditor.bundle.js",revision:"c9bc970d0ce04d3d0995e5a40b7c74fb"},{url:"9158.creaditor.bundle.js",revision:"71f0e38cb7b0ea1ec0ebc2c1ad03983b"},{url:"9158.creaditor.bundle.js.LICENSE.txt",revision:"bdcb4366d129e6ce322401c2c0a6f680"},{url:"9250.creaditor.bundle.js",revision:"40b6399127ffdf51b74a8761f7d73c56"},{url:"9386.creaditor.bundle.js",revision:"cbd8b350e5cfcf88cad16c4574369c9d"},{url:"9431.creaditor.bundle.js",revision:"69e69ea14b6f6c22d2c2af901627f6bf"},{url:"9453.creaditor.bundle.js",revision:"ebda05d2c346ee6cb7a5885ad311e8fc"},{url:"9570.creaditor.bundle.js",revision:"40da6756ba5727d76ae8087aad6c86ee"},{url:"9694.creaditor.bundle.js",revision:"15bff01cd425f84f1a26208336a83238"},{url:"975.creaditor.bundle.js",revision:"b60acccab2d53d47f49522a884c6c289"},{url:"976.creaditor.bundle.js",revision:"bf2738d19d647728b3c2c5ee01f75796"},{url:"9986.creaditor.bundle.js",revision:"adb41b5fe860ad2b59c43457d61f9641"},{url:"9990.creaditor.bundle.js",revision:"27083e0439ea303348c0d17ae7aea2de"},{url:"9994.creaditor.bundle.js",revision:"26e6c210fe02e1f9b0287290011655e3"},{url:"creaditor.bundle.js",revision:"c67989290b684097f419b0b66fe3de2d"},{url:"creaditor.bundle.js.LICENSE.txt",revision:"1abe495823f6e1bf9de370aeec70c6ed"},{url:"dca9330af07325d31ab04d60838684cd.png",revision:null},{url:"index.html",revision:"633997b83db73351ce2c09a40bc5dd2f"}],{})});
|
|
Binary file
|
package/package.json
CHANGED