document-model 1.0.31 → 1.0.33
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/browser/document-model.cjs +1 -1
- package/dist/browser/document-model.js +2 -2
- package/dist/browser/document.cjs +1 -1
- package/dist/browser/document.js +2 -2
- package/dist/browser/index.cjs +1 -1
- package/dist/browser/index.js +3 -3
- package/dist/browser/internal/index-CBO7uxzK.js +41 -0
- package/dist/browser/internal/index-CTCFa4de.js +1 -0
- package/dist/browser/internal/{index-B7qIPXoz.js → index-DTIvFQBH.js} +1 -1
- package/dist/browser/internal/{index-BFOiHt6I.js → index-i5s_5m9e.js} +1 -1
- package/dist/browser/internal/object-BOMJbn2Y.js +7 -0
- package/dist/browser/internal/{object-Diya-yJS.js → object-CqQGngpx.js} +728 -720
- package/dist/browser/src/document/types.d.ts +3 -1
- package/dist/browser/src/document/utils/base.d.ts +1 -0
- package/dist/node/document-model.cjs +1 -1
- package/dist/node/document-model.js +2 -2
- package/dist/node/document.cjs +1 -1
- package/dist/node/document.js +3 -3
- package/dist/node/index.cjs +1 -1
- package/dist/node/index.js +3 -3
- package/dist/node/internal/index-C21AbOFE.js +41 -0
- package/dist/node/internal/{index-CsNA2GBY.js → index-CP5hMjbq.js} +1 -1
- package/dist/node/internal/index-CW5xQQ7a.js +1 -0
- package/dist/node/internal/{index-C-NbJIDm.js → index-rIcx-JJZ.js} +1 -1
- package/dist/node/internal/{object-usT57J9v.js → object-BIG1wTk-.js} +331 -323
- package/dist/node/internal/object-C778ylvS.js +2 -0
- package/dist/node/src/document/types.d.ts +3 -1
- package/dist/node/src/document/utils/base.d.ts +1 -0
- package/package.json +1 -1
- package/dist/browser/internal/index-BVR8cGlp.js +0 -1
- package/dist/browser/internal/index-DtMGoFXU.js +0 -40
- package/dist/browser/internal/object-O_qdzVL-.js +0 -7
- package/dist/node/internal/index-Bxw-tgFs.js +0 -1
- package/dist/node/internal/index-Ly6V0vGQ.js +0 -40
- package/dist/node/internal/object-DyU92wWO.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var Et=Object.defineProperty;var Nt=(e,t,i)=>t in e?Et(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var E=(e,t,i)=>(Nt(e,typeof t!="symbol"?t+"":t,i),i);const h=require("immer"),A=require("json-stringify-deterministic"),c=require("zod"),Tt=require("crypto"),F=require("fs"),At=require("https"),Ft=require("path"),V=require("jszip"),G=e=>e!=null,Mt=c.z.any().refine(e=>G(e)),Q=c.z.enum(["LOAD_STATE"]),X=c.z.enum(["PRUNE"]),Y=c.z.enum(["REDO"]),tt=c.z.enum(["SET_NAME"]),et=c.z.enum(["UNDO"]);function It(){return c.z.object({__typename:c.z.literal("Action").optional(),type:c.z.string()})}function z(){return c.z.literal("global").or(c.z.literal("local"))}function it(){return c.z.union([nt(),ot(),st(),pt(),ct()])}function Pt(){return c.z.object({__typename:c.z.literal("DocumentFile").optional(),data:c.z.string(),extension:c.z.string().nullable(),fileName:c.z.string().nullable(),mimeType:c.z.string()})}function nt(){return c.z.object({input:c.z.lazy(()=>R()),type:Q,scope:z()})}function R(){return c.z.object({operations:c.z.number(),state:c.z.lazy(()=>at())})}function at(){return c.z.object({data:c.z.unknown().nullish(),name:c.z.string()})}function Rt(){return c.z.object({__typename:c.z.literal("Operation").optional(),hash:c.z.string(),index:c.z.number(),timestamp:c.z.string().datetime(),type:c.z.string()})}function ot(){return c.z.object({input:c.z.lazy(()=>q()),type:X,scope:z()})}function q(){return c.z.object({end:c.z.number().nullish(),start:c.z.number().nullish()})}const L=c.z.number;function st(){return c.z.object({input:L(),type:Y,scope:z()})}const U=c.z.string;function pt(){return c.z.object({input:U(),type:tt,scope:c.z.literal("global")})}function qt(){return c.z.object({__typename:c.z.literal("SetNameOperation").optional(),hash:c.z.string(),index:c.z.number(),input:c.z.string(),timestamp:c.z.string().datetime(),type:c.z.string()})}const $=c.z.number;function ct(){return c.z.object({input:$(),type:et,scope:z()})}const Lt=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:It,BaseActionSchema:it,DocumentFileSchema:Pt,LoadStateActionInputSchema:R,LoadStateActionSchema:nt,LoadStateActionStateInputSchema:at,Load_StateSchema:Q,OperationSchema:Rt,OperationScopeSchema:z,PruneActionInputSchema:q,PruneActionSchema:ot,PruneSchema:X,RedoActionInputSchema:L,RedoActionSchema:st,RedoSchema:Y,SetNameActionInputSchema:U,SetNameActionSchema:pt,SetNameOperationSchema:qt,Set_NameSchema:tt,UndoActionInputSchema:$,UndoActionSchema:ct,UndoSchema:et,definedNonNullAnySchema:Mt,isDefinedNonNullAny:G},Symbol.toStringTag,{value:"Module"}));function Ut(e,t){return{...e,name:t}}function $t(e,t,i){const n={skip:i,document:e},{scope:a}=t;return!a||t.skip===void 0?n:h.produce(n,s=>{const[o]=s.document.operations[a].slice(-1);t.skip&&t.skip>0&&(s.skip=t.skip),o.type==="NOOP"&&t.index===o.index&&s.skip>o.skip&&s.document.operations[a].pop()})}function Ct(e,t,i){const{scope:n,input:a}=t,s={document:e,action:t,skip:i};return h.produce(s,o=>{if(o.document.operations[n].length<1)throw new Error(`Cannot undo: no operations in history for scope "${n}"`);if(a<1)throw new Error("Invalid UNDO action: input value must be greater than 0");if(o.skip>0)throw new Error("Cannot undo: skip value from reducer cannot be used with UNDO action");const[p]=o.document.operations[n].slice(-1),l=p.type==="NOOP"&&p.skip>0;if(o.skip+=a,l&&(o.skip+=p.skip,o.document.operations[n].pop()),o.document.operations[n].length<o.skip)throw new Error("Cannot undo: you can't undo more operations than the ones in the scope history");const r=o.document.operations[n].length-1;let x=a,u=l?r-p.skip:r;for(;x>0&&u>=0;){const m=o.document.operations[n][u];m.type==="NOOP"&&m.skip>0?(u=u-(m.skip+1),o.skip+=m.skip+1):(o.document.clipboard.push({...m}),x--,u--)}o.action=Z(n)})}function Jt(e,t,i){const{scope:n,input:a}=t,s={document:e,action:t,skip:i};return h.produce(s,o=>{if(o.skip>0)throw new Error("Cannot redo: skip value from reducer cannot be used with REDO action");if(a>1)throw new Error("Cannot redo: you can only redo one operation at a time");if(a<1)throw new Error("Invalid REDO action: invalid redo input value");if(o.document.clipboard.length<1)throw new Error("Cannot redo: no operations in the clipboard");const p=o.document.clipboard.findLastIndex(r=>r.scope===n);if(p<0)throw new Error(`Cannot redo: no operations in clipboard for scope "${n}"`);const l=o.document.clipboard.splice(p,1)[0];o.action=h.castDraft({type:l.type,scope:l.scope,input:l.input})})}function Bt(e,t,i){const{scope:n}=t,a=e.operations[n];let{input:{start:s,end:o}}=t;s=s||0,o=o||a.length;const p=a.slice(s,o),l=a.slice(0,s),r=a.slice(o),x=N(e.initialState,{...e.operations,[n]:l.concat(p)},i),{name:u,state:m}=x,f=l.length,d=l.length?l[l.length-1].timestamp:r.length?r[0].timestamp:new Date().toISOString();return N(e.initialState,{...e.operations,[n]:[...l,{...W({name:u,state:m},p.length),timestamp:d,index:f,hash:J({state:m},"global")},...r.map((O,D)=>({...O,index:f+D+1}))]},i)}function Wt(e,t){return{...e,name:t.name,state:t.state??{global:{},local:{}}}}const rt="SET_NAME",y="UNDO",j="REDO",_="PRUNE",lt="LOAD_STATE",Zt="NOOP";function Ht(e,t){const i=e.revision[t.scope];return[y,j,_].includes(t.type)?i:i+1}function Kt(e,t){return{...e,revision:{...e.revision,[t.scope]:Ht(e,t)},lastModified:new Date().toISOString()}}function Vt(e,t,i=0){if([y,j,_].includes(t.type))return e;const{scope:n}=t,a=e.operations[n].slice(0,e.revision[n]);return a.push({...t,index:a.length,timestamp:new Date().toISOString(),hash:"",scope:n,skip:i}),{...e,operations:{...e.operations,[n]:a}}}function Gt(e,t,i=0){let n=Vt(e,t,i);return n=Kt(n,t),n}function Qt(e,t,i){switch(it().parse(t),t.type){case rt:return Ut(e,t.input);case _:return Bt(e,t,i);case lt:return Wt(e,t.input.state);default:return e}}function mt(e,t,i){switch(t.type){case y:return Ct(e,t,i);case j:return Jt(e,t,i);default:return{document:e,action:t,skip:i}}}function C(e,t,i,n,a={}){const{skip:s,ignoreSkipOperations:o=!1}=a;let p={...t},l=s||0,r=e,x=[...e.clipboard];if(ut(p)){const{document:u,skip:m}=$t(r,p,l);l=m,r=u}if(M(p)){const{skip:u,action:m,document:f}=mt(e,p,l);p=m,l=u,r=f,x=[...r.clipboard]}return I(p)&&(r=Qt(r,p,i)),l>0&&!o&&(r=N(r.initialState,r.operations,i,void 0,void 0,void 0,{[p.scope]:l})),r=Gt(r,p,l),r=h.produce(r,u=>{const m=i(u.state,p,n),f=M(t)?[...x]:[];if(m)return h.castDraft({...r,clipboard:[...f],state:m});u.clipboard=h.castDraft([...f])}),h.produce(r,u=>{if([y,j,_].includes(p.type))return u;const m=p.scope||"global";u.operations[m][u.operations[m].length-1].hash=J(u,m),!I(p)&&p.attachments&&p.attachments.forEach(f=>{const{hash:d,...O}=f;u.attachments[d]={...O}})})}function Xt(e,t,i){const n=Ft.join(e,t);return F.mkdirSync(e,{recursive:!0}),new Promise((a,s)=>{try{F.writeFile(n,i,{},o=>{o?s(o):a(n)})}catch(o){s(o)}})}function dt(e){return F.readFileSync(e)}function Yt(e){return new Promise((t,i)=>{At.get(e,n=>{const a=[],s=n.headers["content-type"];n.on("data",o=>{a.push(o)}),n.on("end",()=>{t({buffer:Buffer.concat(a),mimeType:s})})}).on("error",n=>{i(n)})})}const te=async e=>dt(e),T=(e,t="sha1")=>Tt.createHash(t).update(e).digest("base64");function ut(e){return e.type===Zt&&e.skip!==void 0&&e.skip>0&&e.hash!==void 0}function M(e){return[y,j].includes(e.type)}function I(e){return[rt,y,j,_,lt].includes(e.type)}function w(e,t,i,n,a="global"){if(!e)throw new Error("Empty action type");if(typeof e!="string")throw new Error(`Invalid action type: ${e}`);const s={type:e,input:t,scope:a};i&&(s.attachments=i);try{n==null||n().parse(s.input)}catch(o){throw new Error(`Invalid action input: ${o}`)}return s}function ft(e,t=C){return(i,n,a,s)=>t(i,n,e,a,s)}const xt=(e,t)=>({name:"",documentType:"",revision:{global:0,local:0},created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...e,state:(t==null?void 0:t(e==null?void 0:e.state))??(e==null?void 0:e.state)??{global:{},local:{}}}),gt=(e,t)=>{const i=xt(e,t);return{...i,initialState:i,operations:{global:[],local:[]},clipboard:[]}},J=(e,t="global")=>T(A(e.state[t])),ee=(e,t=1e3)=>{const i=Math.random()*t;return T(`${(e??new Date).toISOString()}${i}`)};function k(e){return h.castImmutable(h.freeze(e,!0))}function ht(e,t){const i=[...e];let n=t||0,a=i.length>0?i[i.length-1].index:0;const s=[];for(const o of i.reverse()){if(n>0){const r=a-o.index;n-=r}if(n<0)throw new Error("Invalid operation index, missing operations");const p={ignore:n>0,operation:o},l=o.skip>0?o.skip+1:0;if(l>0&&l>n){const r=l-n;n=n+r}a=o.index,s.push(p)}return s.reverse()}function ie(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.timestamp).getTime()-new Date(i.timestamp).getTime())}function bt(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.operation.timestamp).getTime()-new Date(i.operation.timestamp).getTime())}function N(e,t,i,n,a,s=C,o={}){const p=ft(i,s);return B(e,t,p,n,a,o)}function B(e,t,i,n,a,s={}){const o=gt(e),p=Object.keys(t).reduce((m,f)=>{const d=f;return{...m,[d]:t[d].slice(0,a==null?void 0:a.revision[d])}},{}),l=Object.keys(p).reduce((m,f)=>{const d=f;return{...m,[d]:ht(p[d],s[d])}},{}),r=bt(l).reduce((m,{ignore:f,operation:d})=>f?i(m,Z(d.scope),n,{skip:d.skip,ignoreSkipOperations:!0}):i(m,d,n,{skip:d.skip,ignoreSkipOperations:!0}),o),x=Object.keys(r.operations).reduce((m,f)=>{const d=f,O=a&&a.revision[d]<t[d].length?t[d].slice(a.revision[d]):[];return{...m,[d]:[...r.operations[d].map((D,Dt)=>{var K;return{...D,timestamp:((K=t[d][Dt])==null?void 0:K.timestamp)??D.timestamp}}),...O]}},{global:[],local:[]}),u=Object.values(x).reduce((m,f)=>{for(const d of f)d.timestamp>m&&(m=d.timestamp);return m},"0");return{...r,operations:x,lastModified:u}}function ne(e,t){return A(e)===A(t)}const wt=e=>w("SET_NAME",e,void 0,U,void 0),vt=(e=1,t="global")=>w("UNDO",e,void 0,$,t),yt=(e=1,t="global")=>w("REDO",e,void 0,L,t),jt=(e,t,i="global")=>w("PRUNE",{start:e,end:t},void 0,q,i),W=(e,t)=>w("LOAD_STATE",{state:e,operations:t},void 0,R),Z=(e="global")=>w("NOOP",{},void 0,void 0,e),ae=Object.freeze(Object.defineProperty({__proto__:null,loadState:W,noop:Z,prune:jt,redo:yt,setName:wt,undo:vt},Symbol.toStringTag,{value:"Module"})),Ot={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(Ot);var g=function(e,t,i,n){if(i==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?n:i==="a"?n.call(e):n?n.value:t.get(e)},v,S,b;class oe{constructor(...t){v.set(this,new Map),S.set(this,new Map),b.set(this,new Map);for(const i of t)this.define(i)}define(t,i=!1){for(let[n,a]of Object.entries(t)){n=n.toLowerCase(),a=a.map(p=>p.toLowerCase()),g(this,b,"f").has(n)||g(this,b,"f").set(n,new Set);const s=g(this,b,"f").get(n);let o=!0;for(let p of a){const l=p.startsWith("*");if(p=l?p.slice(1):p,s==null||s.add(p),o&&g(this,S,"f").set(n,p),o=!1,l)continue;const r=g(this,v,"f").get(p);if(r&&r!=n&&!i)throw new Error(`"${n} -> ${p}" conflicts with "${r} -> ${p}". Pass \`force=true\` to override this definition.`);g(this,v,"f").set(p,n)}}return this}getType(t){if(typeof t!="string")return null;const i=t.replace(/^.*[/\\]/,"").toLowerCase(),n=i.replace(/^.*\./,"").toLowerCase(),a=i.length<t.length;return!(n.length<i.length-1)&&a?null:g(this,v,"f").get(n)??null}getExtension(t){var i;return typeof t!="string"?null:(t=(i=t==null?void 0:t.split)==null?void 0:i.call(t,";")[0],(t&&g(this,S,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return typeof t!="string"?null:g(this,b,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const t of g(this,b,"f").values())Object.freeze(t);return this}_getTestState(){return{types:g(this,v,"f"),extensions:g(this,S,"f")}}}v=new WeakMap,S=new WeakMap,b=new WeakMap;const se=new oe(Ot)._freeze();function kt(e){const t=[],i=Object.keys(e);for(const n of i){const a=e[n].sort((s,o)=>s.index-o.index);for(let s=0;s<a.length;s++)a[s].index!==s&&t.push({message:`Invalid operation index ${a[s].index} at position ${s}`,details:{position:s,operation:a[s],scope:a[s].scope}})}return t}const H=async e=>{const t=new V,{name:i,revision:n,documentType:a,created:s,lastModified:o}=e,p={name:i,revision:n,documentType:a,created:s,lastModified:o};return t.file("header.json",JSON.stringify(p,null,2)),t.file("state.json",JSON.stringify(e.initialState||{},null,2)),t.file("operations.json",JSON.stringify(e.operations,null,2)),Object.keys(e.attachments).forEach(r=>{const{data:x,...u}=e.attachments[r];t.file(r,x,{base64:!0,createFolders:!0,comment:JSON.stringify(u)})}),t},St=async(e,t,i,n)=>{const s=await(await H(e)).generateAsync({type:"uint8array",streamFiles:!0}),o=n??e.name,p=`.${i}.zip`;return Xt(t,o.endsWith(p)?o:`${o}${p}`,s)},pe=async(e,t)=>{const n=await(await H(e)).generateAsync({type:"blob"}),a=await t.createWritable();await a.write(n),await a.close()},P=async(e,t)=>{const i=dt(e);return zt(i,t)},zt=async(e,t)=>{const i=new V;return await i.loadAsync(e),ce(i,t)};async function ce(e,t){const i=e.file("state.json");if(!i)throw new Error("Initial state not found");const n=await i.async("string"),a=JSON.parse(n),s=e.file("header.json");let o;s&&(o=JSON.parse(await s.async("string")));const p=e.file("operations.json");if(!p)throw new Error("Operations history not found");const l=JSON.parse(await p.async("string")),r=kt(l);if(r.length){const u=r.map(m=>m.message);throw new Error(u.join(`
|
|
2
|
+
`))}let x=B(a,l,t,void 0,o);return o&&(x={...x,...o}),x}function _t(e){const t=e.replace(/^.*\./,"")||void 0,i=e.replace(/^.*[/\\]/,"")||void 0;return{extension:t,fileName:i}}async function re(e){const{buffer:t,mimeType:i="application/octet-stream"}=await Yt(e),n=_t(e),a=t.toString("base64");return{data:a,hash:T(a),mimeType:i,...n}}async function le(e){const t=await te(e),i=se.getType(e)||"application/octet-stream",n=_t(e),a=t.toString("base64");return{data:a,hash:T(a),mimeType:i,...n}}class me{constructor(t,i,n){E(this,"_document");E(this,"_reducer");E(this,"_signalDispatch");this._reducer=t,this._document=i,this._signalDispatch=n}dispatch(t,i){return this._document=this._reducer(this._document,t,this._signalDispatch,i),this}saveToFile(t,i,n){return St(this._document,t,i,n)}async loadFromFile(t){this._document=await P(t,this._reducer)}static async stateFromFile(t,i){return await P(t,i)}get state(){return k(this._document.state)}get operations(){return k(this._document.operations)}get name(){return this._document.name}get documentType(){return this._document.documentType}get created(){return this._document.created}get lastModified(){return this._document.lastModified}get revision(){return this._document.revision.global}getRevision(t){return this._document.revision[t]}get initialState(){return k(this._document.initialState)}toDocument(){return k(this._document)}getAttachment(t){return this._document.attachments[t]}setName(t){return this.dispatch(wt(t)),this}undo(t){return this.dispatch(vt(t)),this}redo(t){return this.dispatch(yt(t)),this}prune(t,i){return this.dispatch(jt(t,i)),this}loadState(t,i){return this.dispatch(W(t,i)),this}}function de(e,t){t.forEach(i=>{Object.getOwnPropertyNames(i.prototype).forEach(n=>{Object.defineProperty(e.prototype,n,Object.getOwnPropertyDescriptor(i.prototype,n)||Object.create(null))})})}exports.BaseActions=ae;exports.BaseDocument=me;exports.applyMixins=de;exports.baseReducer=C;exports.createAction=w;exports.createDocument=gt;exports.createExtendedState=xt;exports.createReducer=ft;exports.createZip=H;exports.getLocalFile=le;exports.getRemoteFile=re;exports.hashDocument=J;exports.hashKey=ee;exports.isBaseAction=I;exports.isNoopOperation=ut;exports.isSameDocument=ne;exports.isUndoRedo=M;exports.loadFromFile=P;exports.loadFromInput=zt;exports.mapSkippedOperations=ht;exports.processUndoRedo=mt;exports.readOnly=k;exports.replayDocument=B;exports.replayOperations=N;exports.saveToFile=St;exports.saveToFileHandle=pe;exports.sortMappedOperations=bt;exports.sortOperations=ie;exports.validateOperations=kt;exports.zod=Lt;
|
|
@@ -190,10 +190,12 @@ export type EditorContext = {
|
|
|
190
190
|
theme: 'light' | 'dark';
|
|
191
191
|
debug?: boolean;
|
|
192
192
|
};
|
|
193
|
+
export type ActionErrorCallback = (error: unknown) => void;
|
|
193
194
|
export type EditorProps<S, A extends Action, L> = {
|
|
194
195
|
document: Document<S, A, L>;
|
|
195
|
-
dispatch: (action: A | BaseAction) => void;
|
|
196
|
+
dispatch: (action: A | BaseAction, onErrorCallback?: ActionErrorCallback) => void;
|
|
196
197
|
editorContext: EditorContext;
|
|
198
|
+
error?: unknown;
|
|
197
199
|
};
|
|
198
200
|
export type Editor<S = unknown, A extends Action = Action, L = unknown> = {
|
|
199
201
|
Component: FC<EditorProps<S, A, L>>;
|
|
@@ -76,3 +76,4 @@ export declare function sortMappedOperations<A extends Action>(operations: Docum
|
|
|
76
76
|
export declare function replayOperations<T, A extends Action, L>(initialState: ExtendedState<T, L>, operations: DocumentOperations<A>, reducer: ImmutableStateReducer<T, A, L>, dispatch?: SignalDispatch, header?: DocumentHeader, documentReducer?: typeof baseReducer, skipHeaderOperations?: SkipHeaderOperations): Document<T, A, L>;
|
|
77
77
|
export type SkipHeaderOperations = Partial<Record<OperationScope, number>>;
|
|
78
78
|
export declare function replayDocument<T, A extends Action, L>(initialState: ExtendedState<T, L>, operations: DocumentOperations<A>, reducer: Reducer<T, A, L>, dispatch?: SignalDispatch, header?: DocumentHeader, skipHeaderOperations?: SkipHeaderOperations): Document<T, A, L>;
|
|
79
|
+
export declare function isSameDocument(documentA: Document, documentB: Document): boolean;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("./object-O_qdzVL-.js"),o=Object.freeze(Object.defineProperty({__proto__:null,createAction:e.createAction,createDocument:e.createDocument,createExtendedState:e.createExtendedState,createReducer:e.createReducer,createZip:e.createZip,getLocalFile:e.getLocalFile,getRemoteFile:e.getRemoteFile,hashDocument:e.hashDocument,hashKey:e.hashKey,isBaseAction:e.isBaseAction,isNoopOperation:e.isNoopOperation,isUndoRedo:e.isUndoRedo,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,mapSkippedOperations:e.mapSkippedOperations,readOnly:e.readOnly,replayDocument:e.replayDocument,replayOperations:e.replayOperations,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle,sortMappedOperations:e.sortMappedOperations,sortOperations:e.sortOperations,validateOperations:e.validateOperations},Symbol.toStringTag,{value:"Module"})),t=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,processUndoRedo:e.processUndoRedo,utils:o,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=t;exports.index=o;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { f as e, b as a, a as s, c as o, j as t, k as r, m as i, n, o as l, i as p, p as c, q as d, l as u, e as m, r as O, t as y, u as b, v as _, s as g, d as F, w as f, x as v, y as D, B as S, h, g as j, z as x, A as z, C as R } from "./object-Diya-yJS.js";
|
|
2
|
-
const A = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3
|
-
__proto__: null,
|
|
4
|
-
createAction: e,
|
|
5
|
-
createDocument: a,
|
|
6
|
-
createExtendedState: s,
|
|
7
|
-
createReducer: o,
|
|
8
|
-
createZip: t,
|
|
9
|
-
getLocalFile: r,
|
|
10
|
-
getRemoteFile: i,
|
|
11
|
-
hashDocument: n,
|
|
12
|
-
hashKey: l,
|
|
13
|
-
isBaseAction: p,
|
|
14
|
-
isNoopOperation: c,
|
|
15
|
-
isUndoRedo: d,
|
|
16
|
-
loadFromFile: u,
|
|
17
|
-
loadFromInput: m,
|
|
18
|
-
mapSkippedOperations: O,
|
|
19
|
-
readOnly: y,
|
|
20
|
-
replayDocument: b,
|
|
21
|
-
replayOperations: _,
|
|
22
|
-
saveToFile: g,
|
|
23
|
-
saveToFileHandle: F,
|
|
24
|
-
sortMappedOperations: f,
|
|
25
|
-
sortOperations: v,
|
|
26
|
-
validateOperations: D
|
|
27
|
-
}, Symbol.toStringTag, { value: "Module" })), M = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
28
|
-
__proto__: null,
|
|
29
|
-
BaseDocument: S,
|
|
30
|
-
actions: h,
|
|
31
|
-
applyMixins: j,
|
|
32
|
-
baseReducer: x,
|
|
33
|
-
processUndoRedo: z,
|
|
34
|
-
utils: A,
|
|
35
|
-
z: R
|
|
36
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
37
|
-
export {
|
|
38
|
-
M as D,
|
|
39
|
-
A as i
|
|
40
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";var Me=Object.defineProperty;var Re=(o,r,p)=>r in o?Me(o,r,{enumerable:!0,configurable:!0,writable:!0,value:p}):o[r]=p;var X=(o,r,p)=>(Re(o,typeof r!="symbol"?r+"":r,p),p);const D=require("immer"),Ce=require("json-stringify-deterministic"),g=require("zod"),Dt=require("jszip"),Nt=o=>o!=null,Le=g.z.any().refine(o=>Nt(o)),Mt=g.z.enum(["LOAD_STATE"]),Rt=g.z.enum(["PRUNE"]),Ct=g.z.enum(["REDO"]),Lt=g.z.enum(["SET_NAME"]),qt=g.z.enum(["UNDO"]);function qe(){return g.z.object({__typename:g.z.literal("Action").optional(),type:g.z.string()})}function Z(){return g.z.literal("global").or(g.z.literal("local"))}function Pt(){return g.z.union([$t(),Jt(),Ht(),Zt(),Kt()])}function Pe(){return g.z.object({__typename:g.z.literal("DocumentFile").optional(),data:g.z.string(),extension:g.z.string().nullable(),fileName:g.z.string().nullable(),mimeType:g.z.string()})}function $t(){return g.z.object({input:g.z.lazy(()=>ut()),type:Mt,scope:Z()})}function ut(){return g.z.object({operations:g.z.number(),state:g.z.lazy(()=>Wt())})}function Wt(){return g.z.object({data:g.z.unknown().nullish(),name:g.z.string()})}function $e(){return g.z.object({__typename:g.z.literal("Operation").optional(),hash:g.z.string(),index:g.z.number(),timestamp:g.z.string().datetime(),type:g.z.string()})}function Jt(){return g.z.object({input:g.z.lazy(()=>ft()),type:Rt,scope:Z()})}function ft(){return g.z.object({end:g.z.number().nullish(),start:g.z.number().nullish()})}const mt=g.z.number;function Ht(){return g.z.object({input:mt(),type:Ct,scope:Z()})}const ht=g.z.string;function Zt(){return g.z.object({input:ht(),type:Lt,scope:g.z.literal("global")})}function We(){return g.z.object({__typename:g.z.literal("SetNameOperation").optional(),hash:g.z.string(),index:g.z.number(),input:g.z.string(),timestamp:g.z.string().datetime(),type:g.z.string()})}const xt=g.z.number;function Kt(){return g.z.object({input:xt(),type:qt,scope:Z()})}const Je=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:qe,BaseActionSchema:Pt,DocumentFileSchema:Pe,LoadStateActionInputSchema:ut,LoadStateActionSchema:$t,LoadStateActionStateInputSchema:Wt,Load_StateSchema:Mt,OperationSchema:$e,OperationScopeSchema:Z,PruneActionInputSchema:ft,PruneActionSchema:Jt,PruneSchema:Rt,RedoActionInputSchema:mt,RedoActionSchema:Ht,RedoSchema:Ct,SetNameActionInputSchema:ht,SetNameActionSchema:Zt,SetNameOperationSchema:We,Set_NameSchema:Lt,UndoActionInputSchema:xt,UndoActionSchema:Kt,UndoSchema:qt,definedNonNullAnySchema:Le,isDefinedNonNullAny:Nt},Symbol.toStringTag,{value:"Module"}));function He(o,r){return{...o,name:r}}function Ze(o,r,p){const c={skip:p,document:o},{scope:f}=r;return!f||r.skip===void 0?c:D.produce(c,u=>{const[l]=u.document.operations[f].slice(-1);r.skip&&r.skip>0&&(u.skip=r.skip),l.type==="NOOP"&&r.index===l.index&&u.skip>l.skip&&u.document.operations[f].pop()})}function Ke(o,r,p){const{scope:c,input:f}=r,u={document:o,action:r,skip:p};return D.produce(u,l=>{if(l.document.operations[c].length<1)throw new Error(`Cannot undo: no operations in history for scope "${c}"`);if(f<1)throw new Error("Invalid UNDO action: input value must be greater than 0");if(l.skip>0)throw new Error("Cannot undo: skip value from reducer cannot be used with UNDO action");const[a]=l.document.operations[c].slice(-1),x=a.type==="NOOP"&&a.skip>0;if(l.skip+=f,x&&(l.skip+=a.skip,l.document.operations[c].pop()),l.document.operations[c].length<l.skip)throw new Error("Cannot undo: you can't undo more operations than the ones in the scope history");const d=l.document.operations[c].length-1;let b=f,w=x?d-a.skip:d;for(;b>0&&w>=0;){const v=l.document.operations[c][w];v.type==="NOOP"&&v.skip>0?(w=w-(v.skip+1),l.skip+=v.skip+1):(l.document.clipboard.push({...v}),b--,w--)}l.action=Et(c)})}function Ye(o,r,p){const{scope:c,input:f}=r,u={document:o,action:r,skip:p};return D.produce(u,l=>{if(l.skip>0)throw new Error("Cannot redo: skip value from reducer cannot be used with REDO action");if(f>1)throw new Error("Cannot redo: you can only redo one operation at a time");if(f<1)throw new Error("Invalid REDO action: invalid redo input value");if(l.document.clipboard.length<1)throw new Error("Cannot redo: no operations in the clipboard");const a=l.document.clipboard.findLastIndex(d=>d.scope===c);if(a<0)throw new Error(`Cannot redo: no operations in clipboard for scope "${c}"`);const x=l.document.clipboard.splice(a,1)[0];l.action=D.castDraft({type:x.type,scope:x.scope,input:x.input})})}function Ge(o,r,p){const{scope:c}=r,f=o.operations[c];let{input:{start:u,end:l}}=r;u=u||0,l=l||f.length;const a=f.slice(u,l),x=f.slice(0,u),d=f.slice(l),b=Q(o.initialState,{...o.operations,[c]:x.concat(a)},p),{name:w,state:v}=b,y=x.length,U=x.length?x[x.length-1].timestamp:d.length?d[0].timestamp:new Date().toISOString();return Q(o.initialState,{...o.operations,[c]:[...x,{...bt({name:w,state:v},a.length),timestamp:U,index:y,hash:yt({state:v},"global")},...d.map((j,W)=>({...j,index:y+W+1}))]},p)}function Ve(o,r){return{...o,name:r.name,state:r.state??{global:{},local:{}}}}const Yt="SET_NAME",P="UNDO",$="REDO",K="PRUNE",Gt="LOAD_STATE",Xe="NOOP";function Qe(o,r){const p=o.revision[r.scope];return[P,$,K].includes(r.type)?p:p+1}function ti(o,r){return{...o,revision:{...o.revision,[r.scope]:Qe(o,r)},lastModified:new Date().toISOString()}}function ei(o,r,p=0){if([P,$,K].includes(r.type))return o;const{scope:c}=r,f=o.operations[c].slice(0,o.revision[c]);return f.push({...r,index:f.length,timestamp:new Date().toISOString(),hash:"",scope:c,skip:p}),{...o,operations:{...o.operations,[c]:f}}}function ii(o,r,p=0){let c=ei(o,r,p);return c=ti(c,r),c}function ri(o,r,p){switch(Pt().parse(r),r.type){case Yt:return He(o,r.input);case K:return Ge(o,r,p);case Gt:return Ve(o,r.input.state);default:return o}}function Vt(o,r,p){switch(r.type){case P:return Ke(o,r,p);case $:return Ye(o,r,p);default:return{document:o,action:r,skip:p}}}function dt(o,r,p,c,f={}){const{skip:u,ignoreSkipOperations:l=!1}=f;let a={...r},x=u||0,d=o,b=[...o.clipboard];if(ne(a)){const{document:w,skip:v}=Ze(d,a,x);x=v,d=w}if(st(a)){const{skip:w,action:v,document:y}=Vt(o,a,x);a=v,x=w,d=y,b=[...d.clipboard]}return ct(a)&&(d=ri(d,a,p)),x>0&&!l&&(d=Q(d.initialState,d.operations,p,void 0,void 0,void 0,{[a.scope]:x})),d=ii(d,a,x),d=D.produce(d,w=>{const v=p(w.state,a,c),y=st(r)?[...b]:[];if(v)return D.castDraft({...d,clipboard:[...y],state:v});w.clipboard=D.castDraft([...y])}),D.produce(d,w=>{if([P,$,K].includes(a.type))return w;const v=a.scope||"global";w.operations[v][w.operations[v].length-1].hash=yt(w,v),!ct(a)&&a.attachments&&a.attachments.forEach(y=>{const{hash:U,...j}=y;w.attachments[U]={...j}})})}function ni(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var at={exports:{}};typeof Object.create=="function"?at.exports=function(r,p){p&&(r.super_=p,r.prototype=Object.create(p.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:at.exports=function(r,p){if(p){r.super_=p;var c=function(){};c.prototype=p.prototype,r.prototype=new c,r.prototype.constructor=r}};var oi=at.exports,pt={exports:{}},Xt={},tt={};tt.byteLength=si;tt.toByteArray=li;tt.fromByteArray=mi;var z=[],I=[],ai=typeof Uint8Array<"u"?Uint8Array:Array,ot="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var L=0,pi=ot.length;L<pi;++L)z[L]=ot[L],I[ot.charCodeAt(L)]=L;I[45]=62;I[95]=63;function Qt(o){var r=o.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var p=o.indexOf("=");p===-1&&(p=r);var c=p===r?0:4-p%4;return[p,c]}function si(o){var r=Qt(o),p=r[0],c=r[1];return(p+c)*3/4-c}function ci(o,r,p){return(r+p)*3/4-p}function li(o){var r,p=Qt(o),c=p[0],f=p[1],u=new ai(ci(o,c,f)),l=0,a=f>0?c-4:c,x;for(x=0;x<a;x+=4)r=I[o.charCodeAt(x)]<<18|I[o.charCodeAt(x+1)]<<12|I[o.charCodeAt(x+2)]<<6|I[o.charCodeAt(x+3)],u[l++]=r>>16&255,u[l++]=r>>8&255,u[l++]=r&255;return f===2&&(r=I[o.charCodeAt(x)]<<2|I[o.charCodeAt(x+1)]>>4,u[l++]=r&255),f===1&&(r=I[o.charCodeAt(x)]<<10|I[o.charCodeAt(x+1)]<<4|I[o.charCodeAt(x+2)]>>2,u[l++]=r>>8&255,u[l++]=r&255),u}function ui(o){return z[o>>18&63]+z[o>>12&63]+z[o>>6&63]+z[o&63]}function fi(o,r,p){for(var c,f=[],u=r;u<p;u+=3)c=(o[u]<<16&16711680)+(o[u+1]<<8&65280)+(o[u+2]&255),f.push(ui(c));return f.join("")}function mi(o){for(var r,p=o.length,c=p%3,f=[],u=16383,l=0,a=p-c;l<a;l+=u)f.push(fi(o,l,l+u>a?a:l+u));return c===1?(r=o[p-1],f.push(z[r>>2]+z[r<<4&63]+"==")):c===2&&(r=(o[p-2]<<8)+o[p-1],f.push(z[r>>10]+z[r>>4&63]+z[r<<2&63]+"=")),f.join("")}var wt={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */wt.read=function(o,r,p,c,f){var u,l,a=f*8-c-1,x=(1<<a)-1,d=x>>1,b=-7,w=p?f-1:0,v=p?-1:1,y=o[r+w];for(w+=v,u=y&(1<<-b)-1,y>>=-b,b+=a;b>0;u=u*256+o[r+w],w+=v,b-=8);for(l=u&(1<<-b)-1,u>>=-b,b+=c;b>0;l=l*256+o[r+w],w+=v,b-=8);if(u===0)u=1-d;else{if(u===x)return l?NaN:(y?-1:1)*(1/0);l=l+Math.pow(2,c),u=u-d}return(y?-1:1)*l*Math.pow(2,u-c)};wt.write=function(o,r,p,c,f,u){var l,a,x,d=u*8-f-1,b=(1<<d)-1,w=b>>1,v=f===23?Math.pow(2,-24)-Math.pow(2,-77):0,y=c?0:u-1,U=c?1:-1,j=r<0||r===0&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(a=isNaN(r)?1:0,l=b):(l=Math.floor(Math.log(r)/Math.LN2),r*(x=Math.pow(2,-l))<1&&(l--,x*=2),l+w>=1?r+=v/x:r+=v*Math.pow(2,1-w),r*x>=2&&(l++,x/=2),l+w>=b?(a=0,l=b):l+w>=1?(a=(r*x-1)*Math.pow(2,f),l=l+w):(a=r*Math.pow(2,w-1)*Math.pow(2,f),l=0));f>=8;o[p+y]=a&255,y+=U,a/=256,f-=8);for(l=l<<f|a,d+=f;d>0;o[p+y]=l&255,y+=U,l/=256,d-=8);o[p+y-U]|=j*128};/*!
|
|
2
|
-
* The buffer module from node.js, for the browser.
|
|
3
|
-
*
|
|
4
|
-
* @author Feross Aboukhadijeh <https://feross.org>
|
|
5
|
-
* @license MIT
|
|
6
|
-
*/(function(o){var r=tt,p=wt,c=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;o.Buffer=a,o.SlowBuffer=ye,o.INSPECT_MAX_BYTES=50;var f=2147483647;o.kMaxLength=f,a.TYPED_ARRAY_SUPPORT=u(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function u(){try{var i=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(i,t),i.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function l(i){if(i>f)throw new RangeError('The value "'+i+'" is invalid for option "size"');var t=new Uint8Array(i);return Object.setPrototypeOf(t,a.prototype),t}function a(i,t,e){if(typeof i=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return w(i)}return x(i,t,e)}a.poolSize=8192;function x(i,t,e){if(typeof i=="string")return v(i,t);if(ArrayBuffer.isView(i))return U(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(T(i,ArrayBuffer)||i&&T(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(T(i,SharedArrayBuffer)||i&&T(i.buffer,SharedArrayBuffer)))return j(i,t,e);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var n=i.valueOf&&i.valueOf();if(n!=null&&n!==i)return a.from(n,t,e);var s=W(i);if(s)return s;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return a.from(i[Symbol.toPrimitive]("string"),t,e);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}a.from=function(i,t,e){return x(i,t,e)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function d(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function b(i,t,e){return d(i),i<=0?l(i):t!==void 0?typeof e=="string"?l(i).fill(t,e):l(i).fill(t):l(i)}a.alloc=function(i,t,e){return b(i,t,e)};function w(i){return d(i),l(i<0?0:C(i)|0)}a.allocUnsafe=function(i){return w(i)},a.allocUnsafeSlow=function(i){return w(i)};function v(i,t){if((typeof t!="string"||t==="")&&(t="utf8"),!a.isEncoding(t))throw new TypeError("Unknown encoding: "+t);var e=_t(i,t)|0,n=l(e),s=n.write(i,t);return s!==e&&(n=n.slice(0,s)),n}function y(i){for(var t=i.length<0?0:C(i.length)|0,e=l(t),n=0;n<t;n+=1)e[n]=i[n]&255;return e}function U(i){if(T(i,Uint8Array)){var t=new Uint8Array(i);return j(t.buffer,t.byteOffset,t.byteLength)}return y(i)}function j(i,t,e){if(t<0||i.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(i.byteLength<t+(e||0))throw new RangeError('"length" is outside of buffer bounds');var n;return t===void 0&&e===void 0?n=new Uint8Array(i):e===void 0?n=new Uint8Array(i,t):n=new Uint8Array(i,t,e),Object.setPrototypeOf(n,a.prototype),n}function W(i){if(a.isBuffer(i)){var t=C(i.length)|0,e=l(t);return e.length===0||i.copy(e,0,0,t),e}if(i.length!==void 0)return typeof i.length!="number"||nt(i.length)?l(0):y(i);if(i.type==="Buffer"&&Array.isArray(i.data))return y(i.data)}function C(i){if(i>=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return i|0}function ye(i){return+i!=i&&(i=0),a.alloc(+i)}a.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==a.prototype},a.compare=function(t,e){if(T(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),T(e,Uint8Array)&&(e=a.from(e,e.offset,e.byteLength)),!a.isBuffer(t)||!a.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var n=t.length,s=e.length,m=0,h=Math.min(n,s);m<h;++m)if(t[m]!==e[m]){n=t[m],s=e[m];break}return n<s?-1:s<n?1:0},a.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return a.alloc(0);var n;if(e===void 0)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var s=a.allocUnsafe(e),m=0;for(n=0;n<t.length;++n){var h=t[n];if(T(h,Uint8Array))m+h.length>s.length?a.from(h).copy(s,m):Uint8Array.prototype.set.call(s,h,m);else if(a.isBuffer(h))h.copy(s,m);else throw new TypeError('"list" argument must be an Array of Buffers');m+=h.length}return s};function _t(i,t){if(a.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||T(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);var e=i.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&e===0)return 0;for(var s=!1;;)switch(t){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":return rt(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return e*2;case"hex":return e>>>1;case"base64":return Ut(i).length;default:if(s)return n?-1:rt(i).length;t=(""+t).toLowerCase(),s=!0}}a.byteLength=_t;function ve(i,t,e){var n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((e===void 0||e>this.length)&&(e=this.length),e<=0)||(e>>>=0,t>>>=0,e<=t))return"";for(i||(i="utf8");;)switch(i){case"hex":return Oe(this,t,e);case"utf8":case"utf-8":return kt(this,t,e);case"ascii":return Be(this,t,e);case"latin1":case"binary":return je(this,t,e);case"base64":return Se(this,t,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ie(this,t,e);default:if(n)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),n=!0}}a.prototype._isBuffer=!0;function N(i,t,e){var n=i[t];i[t]=i[e],i[e]=n}a.prototype.swap16=function(){var t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)N(this,e,e+1);return this},a.prototype.swap32=function(){var t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)N(this,e,e+3),N(this,e+1,e+2);return this},a.prototype.swap64=function(){var t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)N(this,e,e+7),N(this,e+1,e+6),N(this,e+2,e+5),N(this,e+3,e+4);return this},a.prototype.toString=function(){var t=this.length;return t===0?"":arguments.length===0?kt(this,0,t):ve.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(t){if(!a.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:a.compare(this,t)===0},a.prototype.inspect=function(){var t="",e=o.INSPECT_MAX_BYTES;return t=this.toString("hex",0,e).replace(/(.{2})/g,"$1 ").trim(),this.length>e&&(t+=" ... "),"<Buffer "+t+">"},c&&(a.prototype[c]=a.prototype.inspect),a.prototype.compare=function(t,e,n,s,m){if(T(t,Uint8Array)&&(t=a.from(t,t.offset,t.byteLength)),!a.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(e===void 0&&(e=0),n===void 0&&(n=t?t.length:0),s===void 0&&(s=0),m===void 0&&(m=this.length),e<0||n>t.length||s<0||m>this.length)throw new RangeError("out of range index");if(s>=m&&e>=n)return 0;if(s>=m)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,s>>>=0,m>>>=0,this===t)return 0;for(var h=m-s,E=n-e,F=Math.min(h,E),_=this.slice(s,m),k=t.slice(e,n),A=0;A<F;++A)if(_[A]!==k[A]){h=_[A],E=k[A];break}return h<E?-1:E<h?1:0};function At(i,t,e,n,s){if(i.length===0)return-1;if(typeof e=="string"?(n=e,e=0):e>2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,nt(e)&&(e=s?0:i.length-1),e<0&&(e=i.length+e),e>=i.length){if(s)return-1;e=i.length-1}else if(e<0)if(s)e=0;else return-1;if(typeof t=="string"&&(t=a.from(t,n)),a.isBuffer(t))return t.length===0?-1:St(i,t,e,n,s);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?s?Uint8Array.prototype.indexOf.call(i,t,e):Uint8Array.prototype.lastIndexOf.call(i,t,e):St(i,[t],e,n,s);throw new TypeError("val must be string, number or Buffer")}function St(i,t,e,n,s){var m=1,h=i.length,E=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(i.length<2||t.length<2)return-1;m=2,h/=2,E/=2,e/=2}function F(Tt,zt){return m===1?Tt[zt]:Tt.readUInt16BE(zt*m)}var _;if(s){var k=-1;for(_=e;_<h;_++)if(F(i,_)===F(t,k===-1?0:_-k)){if(k===-1&&(k=_),_-k+1===E)return k*m}else k!==-1&&(_-=_-k),k=-1}else for(e+E>h&&(e=h-E),_=e;_>=0;_--){for(var A=!0,V=0;V<E;V++)if(F(i,_+V)!==F(t,V)){A=!1;break}if(A)return _}return-1}a.prototype.includes=function(t,e,n){return this.indexOf(t,e,n)!==-1},a.prototype.indexOf=function(t,e,n){return At(this,t,e,n,!0)},a.prototype.lastIndexOf=function(t,e,n){return At(this,t,e,n,!1)};function be(i,t,e,n){e=Number(e)||0;var s=i.length-e;n?(n=Number(n),n>s&&(n=s)):n=s;var m=t.length;n>m/2&&(n=m/2);for(var h=0;h<n;++h){var E=parseInt(t.substr(h*2,2),16);if(nt(E))return h;i[e+h]=E}return h}function Ee(i,t,e,n){return G(rt(t,i.length-e),i,e,n)}function Fe(i,t,e,n){return G(ze(t),i,e,n)}function _e(i,t,e,n){return G(Ut(t),i,e,n)}function Ae(i,t,e,n){return G(De(t,i.length-e),i,e,n)}a.prototype.write=function(t,e,n,s){if(e===void 0)s="utf8",n=this.length,e=0;else if(n===void 0&&typeof e=="string")s=e,n=this.length,e=0;else if(isFinite(e))e=e>>>0,isFinite(n)?(n=n>>>0,s===void 0&&(s="utf8")):(s=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var m=this.length-e;if((n===void 0||n>m)&&(n=m),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");s||(s="utf8");for(var h=!1;;)switch(s){case"hex":return be(this,t,e,n);case"utf8":case"utf-8":return Ee(this,t,e,n);case"ascii":case"latin1":case"binary":return Fe(this,t,e,n);case"base64":return _e(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Ae(this,t,e,n);default:if(h)throw new TypeError("Unknown encoding: "+s);s=(""+s).toLowerCase(),h=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Se(i,t,e){return t===0&&e===i.length?r.fromByteArray(i):r.fromByteArray(i.slice(t,e))}function kt(i,t,e){e=Math.min(i.length,e);for(var n=[],s=t;s<e;){var m=i[s],h=null,E=m>239?4:m>223?3:m>191?2:1;if(s+E<=e){var F,_,k,A;switch(E){case 1:m<128&&(h=m);break;case 2:F=i[s+1],(F&192)===128&&(A=(m&31)<<6|F&63,A>127&&(h=A));break;case 3:F=i[s+1],_=i[s+2],(F&192)===128&&(_&192)===128&&(A=(m&15)<<12|(F&63)<<6|_&63,A>2047&&(A<55296||A>57343)&&(h=A));break;case 4:F=i[s+1],_=i[s+2],k=i[s+3],(F&192)===128&&(_&192)===128&&(k&192)===128&&(A=(m&15)<<18|(F&63)<<12|(_&63)<<6|k&63,A>65535&&A<1114112&&(h=A))}}h===null?(h=65533,E=1):h>65535&&(h-=65536,n.push(h>>>10&1023|55296),h=56320|h&1023),n.push(h),s+=E}return ke(n)}var Bt=4096;function ke(i){var t=i.length;if(t<=Bt)return String.fromCharCode.apply(String,i);for(var e="",n=0;n<t;)e+=String.fromCharCode.apply(String,i.slice(n,n+=Bt));return e}function Be(i,t,e){var n="";e=Math.min(i.length,e);for(var s=t;s<e;++s)n+=String.fromCharCode(i[s]&127);return n}function je(i,t,e){var n="";e=Math.min(i.length,e);for(var s=t;s<e;++s)n+=String.fromCharCode(i[s]);return n}function Oe(i,t,e){var n=i.length;(!t||t<0)&&(t=0),(!e||e<0||e>n)&&(e=n);for(var s="",m=t;m<e;++m)s+=Ne[i[m]];return s}function Ie(i,t,e){for(var n=i.slice(t,e),s="",m=0;m<n.length-1;m+=2)s+=String.fromCharCode(n[m]+n[m+1]*256);return s}a.prototype.slice=function(t,e){var n=this.length;t=~~t,e=e===void 0?n:~~e,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),e<t&&(e=t);var s=this.subarray(t,e);return Object.setPrototypeOf(s,a.prototype),s};function S(i,t,e){if(i%1!==0||i<0)throw new RangeError("offset is not uint");if(i+t>e)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(t,e,n){t=t>>>0,e=e>>>0,n||S(t,e,this.length);for(var s=this[t],m=1,h=0;++h<e&&(m*=256);)s+=this[t+h]*m;return s},a.prototype.readUintBE=a.prototype.readUIntBE=function(t,e,n){t=t>>>0,e=e>>>0,n||S(t,e,this.length);for(var s=this[t+--e],m=1;e>0&&(m*=256);)s+=this[t+--e]*m;return s},a.prototype.readUint8=a.prototype.readUInt8=function(t,e){return t=t>>>0,e||S(t,1,this.length),this[t]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(t,e){return t=t>>>0,e||S(t,2,this.length),this[t]|this[t+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(t,e){return t=t>>>0,e||S(t,2,this.length),this[t]<<8|this[t+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(t,e){return t=t>>>0,e||S(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(t,e){return t=t>>>0,e||S(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},a.prototype.readIntLE=function(t,e,n){t=t>>>0,e=e>>>0,n||S(t,e,this.length);for(var s=this[t],m=1,h=0;++h<e&&(m*=256);)s+=this[t+h]*m;return m*=128,s>=m&&(s-=Math.pow(2,8*e)),s},a.prototype.readIntBE=function(t,e,n){t=t>>>0,e=e>>>0,n||S(t,e,this.length);for(var s=e,m=1,h=this[t+--s];s>0&&(m*=256);)h+=this[t+--s]*m;return m*=128,h>=m&&(h-=Math.pow(2,8*e)),h},a.prototype.readInt8=function(t,e){return t=t>>>0,e||S(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},a.prototype.readInt16LE=function(t,e){t=t>>>0,e||S(t,2,this.length);var n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n},a.prototype.readInt16BE=function(t,e){t=t>>>0,e||S(t,2,this.length);var n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n},a.prototype.readInt32LE=function(t,e){return t=t>>>0,e||S(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},a.prototype.readInt32BE=function(t,e){return t=t>>>0,e||S(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},a.prototype.readFloatLE=function(t,e){return t=t>>>0,e||S(t,4,this.length),p.read(this,t,!0,23,4)},a.prototype.readFloatBE=function(t,e){return t=t>>>0,e||S(t,4,this.length),p.read(this,t,!1,23,4)},a.prototype.readDoubleLE=function(t,e){return t=t>>>0,e||S(t,8,this.length),p.read(this,t,!0,52,8)},a.prototype.readDoubleBE=function(t,e){return t=t>>>0,e||S(t,8,this.length),p.read(this,t,!1,52,8)};function B(i,t,e,n,s,m){if(!a.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>s||t<m)throw new RangeError('"value" argument is out of bounds');if(e+n>i.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(t,e,n,s){if(t=+t,e=e>>>0,n=n>>>0,!s){var m=Math.pow(2,8*n)-1;B(this,t,e,n,m,0)}var h=1,E=0;for(this[e]=t&255;++E<n&&(h*=256);)this[e+E]=t/h&255;return e+n},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(t,e,n,s){if(t=+t,e=e>>>0,n=n>>>0,!s){var m=Math.pow(2,8*n)-1;B(this,t,e,n,m,0)}var h=n-1,E=1;for(this[e+h]=t&255;--h>=0&&(E*=256);)this[e+h]=t/E&255;return e+n},a.prototype.writeUint8=a.prototype.writeUInt8=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,1,255,0),this[e]=t&255,e+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,2,65535,0),this[e]=t&255,this[e+1]=t>>>8,e+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=t&255,e+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=t&255,e+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255,e+4},a.prototype.writeIntLE=function(t,e,n,s){if(t=+t,e=e>>>0,!s){var m=Math.pow(2,8*n-1);B(this,t,e,n,m-1,-m)}var h=0,E=1,F=0;for(this[e]=t&255;++h<n&&(E*=256);)t<0&&F===0&&this[e+h-1]!==0&&(F=1),this[e+h]=(t/E>>0)-F&255;return e+n},a.prototype.writeIntBE=function(t,e,n,s){if(t=+t,e=e>>>0,!s){var m=Math.pow(2,8*n-1);B(this,t,e,n,m-1,-m)}var h=n-1,E=1,F=0;for(this[e+h]=t&255;--h>=0&&(E*=256);)t<0&&F===0&&this[e+h+1]!==0&&(F=1),this[e+h]=(t/E>>0)-F&255;return e+n},a.prototype.writeInt8=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=t&255,e+1},a.prototype.writeInt16LE=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,2,32767,-32768),this[e]=t&255,this[e+1]=t>>>8,e+2},a.prototype.writeInt16BE=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=t&255,e+2},a.prototype.writeInt32LE=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,4,2147483647,-2147483648),this[e]=t&255,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},a.prototype.writeInt32BE=function(t,e,n){return t=+t,e=e>>>0,n||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=t&255,e+4};function jt(i,t,e,n,s,m){if(e+n>i.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function Ot(i,t,e,n,s){return t=+t,e=e>>>0,s||jt(i,t,e,4),p.write(i,t,e,n,23,4),e+4}a.prototype.writeFloatLE=function(t,e,n){return Ot(this,t,e,!0,n)},a.prototype.writeFloatBE=function(t,e,n){return Ot(this,t,e,!1,n)};function It(i,t,e,n,s){return t=+t,e=e>>>0,s||jt(i,t,e,8),p.write(i,t,e,n,52,8),e+8}a.prototype.writeDoubleLE=function(t,e,n){return It(this,t,e,!0,n)},a.prototype.writeDoubleBE=function(t,e,n){return It(this,t,e,!1,n)},a.prototype.copy=function(t,e,n,s){if(!a.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!s&&s!==0&&(s=this.length),e>=t.length&&(e=t.length),e||(e=0),s>0&&s<n&&(s=n),s===n||t.length===0||this.length===0)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(s<0)throw new RangeError("sourceEnd out of bounds");s>this.length&&(s=this.length),t.length-e<s-n&&(s=t.length-e+n);var m=s-n;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(e,n,s):Uint8Array.prototype.set.call(t,this.subarray(n,s),e),m},a.prototype.fill=function(t,e,n,s){if(typeof t=="string"){if(typeof e=="string"?(s=e,e=0,n=this.length):typeof n=="string"&&(s=n,n=this.length),s!==void 0&&typeof s!="string")throw new TypeError("encoding must be a string");if(typeof s=="string"&&!a.isEncoding(s))throw new TypeError("Unknown encoding: "+s);if(t.length===1){var m=t.charCodeAt(0);(s==="utf8"&&m<128||s==="latin1")&&(t=m)}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;e=e>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);var h;if(typeof t=="number")for(h=e;h<n;++h)this[h]=t;else{var E=a.isBuffer(t)?t:a.from(t,s),F=E.length;if(F===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(h=0;h<n-e;++h)this[h+e]=E[h%F]}return this};var Ue=/[^+/0-9A-Za-z-_]/g;function Te(i){if(i=i.split("=")[0],i=i.trim().replace(Ue,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function rt(i,t){t=t||1/0;for(var e,n=i.length,s=null,m=[],h=0;h<n;++h){if(e=i.charCodeAt(h),e>55295&&e<57344){if(!s){if(e>56319){(t-=3)>-1&&m.push(239,191,189);continue}else if(h+1===n){(t-=3)>-1&&m.push(239,191,189);continue}s=e;continue}if(e<56320){(t-=3)>-1&&m.push(239,191,189),s=e;continue}e=(s-55296<<10|e-56320)+65536}else s&&(t-=3)>-1&&m.push(239,191,189);if(s=null,e<128){if((t-=1)<0)break;m.push(e)}else if(e<2048){if((t-=2)<0)break;m.push(e>>6|192,e&63|128)}else if(e<65536){if((t-=3)<0)break;m.push(e>>12|224,e>>6&63|128,e&63|128)}else if(e<1114112){if((t-=4)<0)break;m.push(e>>18|240,e>>12&63|128,e>>6&63|128,e&63|128)}else throw new Error("Invalid code point")}return m}function ze(i){for(var t=[],e=0;e<i.length;++e)t.push(i.charCodeAt(e)&255);return t}function De(i,t){for(var e,n,s,m=[],h=0;h<i.length&&!((t-=2)<0);++h)e=i.charCodeAt(h),n=e>>8,s=e%256,m.push(s),m.push(n);return m}function Ut(i){return r.toByteArray(Te(i))}function G(i,t,e,n){for(var s=0;s<n&&!(s+e>=t.length||s>=i.length);++s)t[s+e]=i[s];return s}function T(i,t){return i instanceof t||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===t.name}function nt(i){return i!==i}var Ne=function(){for(var i="0123456789abcdef",t=new Array(256),e=0;e<16;++e)for(var n=e*16,s=0;s<16;++s)t[n+s]=i[e]+i[s];return t}()})(Xt);/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */(function(o,r){var p=Xt,c=p.Buffer;function f(l,a){for(var x in l)a[x]=l[x]}c.from&&c.alloc&&c.allocUnsafe&&c.allocUnsafeSlow?o.exports=p:(f(p,r),r.Buffer=u);function u(l,a,x){return c(l,a,x)}u.prototype=Object.create(c.prototype),f(c,u),u.from=function(l,a,x){if(typeof l=="number")throw new TypeError("Argument must not be a number");return c(l,a,x)},u.alloc=function(l,a,x){if(typeof l!="number")throw new TypeError("Argument must be a number");var d=c(l);return a!==void 0?typeof x=="string"?d.fill(a,x):d.fill(a):d.fill(0),d},u.allocUnsafe=function(l){if(typeof l!="number")throw new TypeError("Argument must be a number");return c(l)},u.allocUnsafeSlow=function(l){if(typeof l!="number")throw new TypeError("Argument must be a number");return p.SlowBuffer(l)}})(pt,pt.exports);var te=pt.exports,ee=te.Buffer;function et(o,r){this._block=ee.alloc(o),this._finalSize=r,this._blockSize=o,this._len=0}et.prototype.update=function(o,r){typeof o=="string"&&(r=r||"utf8",o=ee.from(o,r));for(var p=this._block,c=this._blockSize,f=o.length,u=this._len,l=0;l<f;){for(var a=u%c,x=Math.min(f-l,c-a),d=0;d<x;d++)p[a+d]=o[l+d];u+=x,l+=x,u%c===0&&this._update(p)}return this._len+=f,this};et.prototype.digest=function(o){var r=this._len%this._blockSize;this._block[r]=128,this._block.fill(0,r+1),r>=this._finalSize&&(this._update(this._block),this._block.fill(0));var p=this._len*8;if(p<=4294967295)this._block.writeUInt32BE(p,this._blockSize-4);else{var c=(p&4294967295)>>>0,f=(p-c)/4294967296;this._block.writeUInt32BE(f,this._blockSize-8),this._block.writeUInt32BE(c,this._blockSize-4)}this._update(this._block);var u=this._hash();return o?u.toString(o):u};et.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var hi=et,xi=oi,ie=hi,di=te.Buffer,wi=[1518500249,1859775393,-1894007588,-899497514],gi=new Array(80);function Y(){this.init(),this._w=gi,ie.call(this,64,56)}xi(Y,ie);Y.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function yi(o){return o<<1|o>>>31}function vi(o){return o<<5|o>>>27}function bi(o){return o<<30|o>>>2}function Ei(o,r,p,c){return o===0?r&p|~r&c:o===2?r&p|r&c|p&c:r^p^c}Y.prototype._update=function(o){for(var r=this._w,p=this._a|0,c=this._b|0,f=this._c|0,u=this._d|0,l=this._e|0,a=0;a<16;++a)r[a]=o.readInt32BE(a*4);for(;a<80;++a)r[a]=yi(r[a-3]^r[a-8]^r[a-14]^r[a-16]);for(var x=0;x<80;++x){var d=~~(x/20),b=vi(p)+Ei(d,c,f,u)+l+r[x]+wi[d]|0;l=u,u=f,f=bi(c),c=p,p=b}this._a=p+this._a|0,this._b=c+this._b|0,this._c=f+this._c|0,this._d=u+this._d|0,this._e=l+this._e|0};Y.prototype._hash=function(){var o=di.allocUnsafe(20);return o.writeInt32BE(this._a|0,0),o.writeInt32BE(this._b|0,4),o.writeInt32BE(this._c|0,8),o.writeInt32BE(this._d|0,12),o.writeInt32BE(this._e|0,16),o};var Fi=Y;const _i=ni(Fi),gt=new Error("File system not available.");function Ai(o,r,p){throw gt}function re(o){throw gt}function Si(o){throw gt}const ki=async o=>re();function Bi(o){let r="";for(let p=0;p<o.length;p+=2)r+=String.fromCharCode(parseInt(o.substr(p,2),16));return btoa(r)}const it=(o,r="sha1")=>{if(r!=="sha1")throw new Error("Only sha1 algorithm is available.");const p=new _i;return Bi(p.update(o).digest("hex"))};function ne(o){return o.type===Xe&&o.skip!==void 0&&o.skip>0&&o.hash!==void 0}function st(o){return[P,$].includes(o.type)}function ct(o){return[Yt,P,$,K,Gt].includes(o.type)}function R(o,r,p,c,f="global"){if(!o)throw new Error("Empty action type");if(typeof o!="string")throw new Error(`Invalid action type: ${o}`);const u={type:o,input:r,scope:f};p&&(u.attachments=p);try{c==null||c().parse(u.input)}catch(l){throw new Error(`Invalid action input: ${l}`)}return u}function oe(o,r=dt){return(p,c,f,u)=>r(p,c,o,f,u)}const ae=(o,r)=>({name:"",documentType:"",revision:{global:0,local:0},created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...o,state:(r==null?void 0:r(o==null?void 0:o.state))??(o==null?void 0:o.state)??{global:{},local:{}}}),pe=(o,r)=>{const p=ae(o,r);return{...p,initialState:p,operations:{global:[],local:[]},clipboard:[]}},yt=(o,r="global")=>it(Ce(o.state[r])),ji=(o,r=1e3)=>{const p=Math.random()*r;return it(`${(o??new Date).toISOString()}${p}`)};function J(o){return D.castImmutable(D.freeze(o,!0))}function se(o,r){const p=[...o];let c=r||0,f=p.length>0?p[p.length-1].index:0;const u=[];for(const l of p.reverse()){if(c>0){const d=f-l.index;c-=d}if(c<0)throw new Error("Invalid operation index, missing operations");const a={ignore:c>0,operation:l},x=l.skip>0?l.skip+1:0;if(x>0&&x>c){const d=x-c;c=c+d}f=l.index,u.push(a)}return u.reverse()}function Oi(o){return Object.values(o).flatMap(r=>r).sort((r,p)=>new Date(r.timestamp).getTime()-new Date(p.timestamp).getTime())}function ce(o){return Object.values(o).flatMap(r=>r).sort((r,p)=>new Date(r.operation.timestamp).getTime()-new Date(p.operation.timestamp).getTime())}function Q(o,r,p,c,f,u=dt,l={}){const a=oe(p,u);return vt(o,r,a,c,f,l)}function vt(o,r,p,c,f,u={}){const l=pe(o),a=Object.keys(r).reduce((w,v)=>{const y=v;return{...w,[y]:r[y].slice(0,f==null?void 0:f.revision[y])}},{}),x=Object.keys(a).reduce((w,v)=>{const y=v;return{...w,[y]:se(a[y],u[y])}},{}),d=ce(x).reduce((w,{ignore:v,operation:y})=>v?p(w,Et(y.scope),c,{skip:y.skip,ignoreSkipOperations:!0}):p(w,y,c,{skip:y.skip,ignoreSkipOperations:!0}),l),b=Object.keys(d.operations).reduce((w,v)=>{const y=v,U=f&&f.revision[y]<r[y].length?r[y].slice(f.revision[y]):[];return{...w,[y]:[...d.operations[y].map((j,W)=>{var C;return{...j,timestamp:((C=r[y][W])==null?void 0:C.timestamp)??j.timestamp}}),...U]}},{global:[],local:[]});return{...d,operations:b}}const le=o=>R("SET_NAME",o,void 0,ht,void 0),ue=(o=1,r="global")=>R("UNDO",o,void 0,xt,r),fe=(o=1,r="global")=>R("REDO",o,void 0,mt,r),me=(o,r,p="global")=>R("PRUNE",{start:o,end:r},void 0,ft,p),bt=(o,r)=>R("LOAD_STATE",{state:o,operations:r},void 0,ut),Et=(o="global")=>R("NOOP",{},void 0,void 0,o),Ii=Object.freeze(Object.defineProperty({__proto__:null,loadState:bt,noop:Et,prune:me,redo:fe,setName:le,undo:ue},Symbol.toStringTag,{value:"Module"})),he={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(he);var O=function(o,r,p,c){if(p==="a"&&!c)throw new TypeError("Private accessor was defined without a getter");if(typeof r=="function"?o!==r||!c:!r.has(o))throw new TypeError("Cannot read private member from an object whose class did not declare it");return p==="m"?c:p==="a"?c.call(o):c?c.value:r.get(o)},q,H,M;class Ui{constructor(...r){q.set(this,new Map),H.set(this,new Map),M.set(this,new Map);for(const p of r)this.define(p)}define(r,p=!1){for(let[c,f]of Object.entries(r)){c=c.toLowerCase(),f=f.map(a=>a.toLowerCase()),O(this,M,"f").has(c)||O(this,M,"f").set(c,new Set);const u=O(this,M,"f").get(c);let l=!0;for(let a of f){const x=a.startsWith("*");if(a=x?a.slice(1):a,u==null||u.add(a),l&&O(this,H,"f").set(c,a),l=!1,x)continue;const d=O(this,q,"f").get(a);if(d&&d!=c&&!p)throw new Error(`"${c} -> ${a}" conflicts with "${d} -> ${a}". Pass \`force=true\` to override this definition.`);O(this,q,"f").set(a,c)}}return this}getType(r){if(typeof r!="string")return null;const p=r.replace(/^.*[/\\]/,"").toLowerCase(),c=p.replace(/^.*\./,"").toLowerCase(),f=p.length<r.length;return!(c.length<p.length-1)&&f?null:O(this,q,"f").get(c)??null}getExtension(r){var p;return typeof r!="string"?null:(r=(p=r==null?void 0:r.split)==null?void 0:p.call(r,";")[0],(r&&O(this,H,"f").get(r.trim().toLowerCase()))??null)}getAllExtensions(r){return typeof r!="string"?null:O(this,M,"f").get(r.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const r of O(this,M,"f").values())Object.freeze(r);return this}_getTestState(){return{types:O(this,q,"f"),extensions:O(this,H,"f")}}}q=new WeakMap,H=new WeakMap,M=new WeakMap;const Ti=new Ui(he)._freeze();function xe(o){const r=[],p=Object.keys(o);for(const c of p){const f=o[c].sort((u,l)=>u.index-l.index);for(let u=0;u<f.length;u++)f[u].index!==u&&r.push({message:`Invalid operation index ${f[u].index} at position ${u}`,details:{position:u,operation:f[u],scope:f[u].scope}})}return r}const Ft=async o=>{const r=new Dt,{name:p,revision:c,documentType:f,created:u,lastModified:l}=o,a={name:p,revision:c,documentType:f,created:u,lastModified:l};return r.file("header.json",JSON.stringify(a,null,2)),r.file("state.json",JSON.stringify(o.initialState||{},null,2)),r.file("operations.json",JSON.stringify(o.operations,null,2)),Object.keys(o.attachments).forEach(d=>{const{data:b,...w}=o.attachments[d];r.file(d,b,{base64:!0,createFolders:!0,comment:JSON.stringify(w)})}),r},de=async(o,r,p,c)=>{await(await Ft(o)).generateAsync({type:"uint8array",streamFiles:!0});const u=c??o.name,l=`.${p}.zip`;return Ai(r,u.endsWith(l)?u:`${u}${l}`)},zi=async(o,r)=>{const c=await(await Ft(o)).generateAsync({type:"blob"}),f=await r.createWritable();await f.write(c),await f.close()},lt=async(o,r)=>{const p=re();return we(p,r)},we=async(o,r)=>{const p=new Dt;return await p.loadAsync(o),Di(p,r)};async function Di(o,r){const p=o.file("state.json");if(!p)throw new Error("Initial state not found");const c=await p.async("string"),f=JSON.parse(c),u=o.file("header.json");let l;u&&(l=JSON.parse(await u.async("string")));const a=o.file("operations.json");if(!a)throw new Error("Operations history not found");const x=JSON.parse(await a.async("string")),d=xe(x);if(d.length){const w=d.map(v=>v.message);throw new Error(w.join(`
|
|
7
|
-
`))}let b=vt(f,x,r,void 0,l);return l&&(b={...b,...l}),b}function ge(o){const r=o.replace(/^.*\./,"")||void 0,p=o.replace(/^.*[/\\]/,"")||void 0;return{extension:r,fileName:p}}async function Ni(o){const{buffer:r,mimeType:p="application/octet-stream"}=await Si(),c=ge(o),f=r.toString("base64");return{data:f,hash:it(f),mimeType:p,...c}}async function Mi(o){const r=await ki(),p=Ti.getType(o)||"application/octet-stream",c=ge(o),f=r.toString("base64");return{data:f,hash:it(f),mimeType:p,...c}}class Ri{constructor(r,p,c){X(this,"_document");X(this,"_reducer");X(this,"_signalDispatch");this._reducer=r,this._document=p,this._signalDispatch=c}dispatch(r,p){return this._document=this._reducer(this._document,r,this._signalDispatch,p),this}saveToFile(r,p,c){return de(this._document,r,p,c)}async loadFromFile(r){this._document=await lt(r,this._reducer)}static async stateFromFile(r,p){return await lt(r,p)}get state(){return J(this._document.state)}get operations(){return J(this._document.operations)}get name(){return this._document.name}get documentType(){return this._document.documentType}get created(){return this._document.created}get lastModified(){return this._document.lastModified}get revision(){return this._document.revision.global}getRevision(r){return this._document.revision[r]}get initialState(){return J(this._document.initialState)}toDocument(){return J(this._document)}getAttachment(r){return this._document.attachments[r]}setName(r){return this.dispatch(le(r)),this}undo(r){return this.dispatch(ue(r)),this}redo(r){return this.dispatch(fe(r)),this}prune(r,p){return this.dispatch(me(r,p)),this}loadState(r,p){return this.dispatch(bt(r,p)),this}}function Ci(o,r){r.forEach(p=>{Object.getOwnPropertyNames(p.prototype).forEach(c=>{Object.defineProperty(o.prototype,c,Object.getOwnPropertyDescriptor(p.prototype,c)||Object.create(null))})})}exports.BaseActions=Ii;exports.BaseDocument=Ri;exports.applyMixins=Ci;exports.baseReducer=dt;exports.createAction=R;exports.createDocument=pe;exports.createExtendedState=ae;exports.createReducer=oe;exports.createZip=Ft;exports.getLocalFile=Mi;exports.getRemoteFile=Ni;exports.hashDocument=yt;exports.hashKey=ji;exports.isBaseAction=ct;exports.isNoopOperation=ne;exports.isUndoRedo=st;exports.loadFromFile=lt;exports.loadFromInput=we;exports.mapSkippedOperations=se;exports.processUndoRedo=Vt;exports.readOnly=J;exports.replayDocument=vt;exports.replayOperations=Q;exports.saveToFile=de;exports.saveToFileHandle=zi;exports.sortMappedOperations=ce;exports.sortOperations=Oi;exports.validateOperations=xe;exports.zod=Je;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("./object-DyU92wWO.js"),o=Object.freeze(Object.defineProperty({__proto__:null,createAction:e.createAction,createDocument:e.createDocument,createExtendedState:e.createExtendedState,createReducer:e.createReducer,createZip:e.createZip,getLocalFile:e.getLocalFile,getRemoteFile:e.getRemoteFile,hashDocument:e.hashDocument,hashKey:e.hashKey,isBaseAction:e.isBaseAction,isNoopOperation:e.isNoopOperation,isUndoRedo:e.isUndoRedo,loadFromFile:e.loadFromFile,loadFromInput:e.loadFromInput,mapSkippedOperations:e.mapSkippedOperations,readOnly:e.readOnly,replayDocument:e.replayDocument,replayOperations:e.replayOperations,saveToFile:e.saveToFile,saveToFileHandle:e.saveToFileHandle,sortMappedOperations:e.sortMappedOperations,sortOperations:e.sortOperations,validateOperations:e.validateOperations},Symbol.toStringTag,{value:"Module"})),t=Object.freeze(Object.defineProperty({__proto__:null,BaseDocument:e.BaseDocument,actions:e.BaseActions,applyMixins:e.applyMixins,baseReducer:e.baseReducer,processUndoRedo:e.processUndoRedo,utils:o,z:e.zod},Symbol.toStringTag,{value:"Module"}));exports.Document=t;exports.index=o;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { f as e, b as a, a as s, c as o, j as t, k as r, m as i, n, o as l, i as p, p as c, q as d, l as u, e as m, r as O, t as y, u as b, v as _, s as g, d as F, w as f, x as v, y as D, B as S, h, g as j, z as x, A as z, C as R } from "./object-usT57J9v.js";
|
|
2
|
-
const A = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3
|
-
__proto__: null,
|
|
4
|
-
createAction: e,
|
|
5
|
-
createDocument: a,
|
|
6
|
-
createExtendedState: s,
|
|
7
|
-
createReducer: o,
|
|
8
|
-
createZip: t,
|
|
9
|
-
getLocalFile: r,
|
|
10
|
-
getRemoteFile: i,
|
|
11
|
-
hashDocument: n,
|
|
12
|
-
hashKey: l,
|
|
13
|
-
isBaseAction: p,
|
|
14
|
-
isNoopOperation: c,
|
|
15
|
-
isUndoRedo: d,
|
|
16
|
-
loadFromFile: u,
|
|
17
|
-
loadFromInput: m,
|
|
18
|
-
mapSkippedOperations: O,
|
|
19
|
-
readOnly: y,
|
|
20
|
-
replayDocument: b,
|
|
21
|
-
replayOperations: _,
|
|
22
|
-
saveToFile: g,
|
|
23
|
-
saveToFileHandle: F,
|
|
24
|
-
sortMappedOperations: f,
|
|
25
|
-
sortOperations: v,
|
|
26
|
-
validateOperations: D
|
|
27
|
-
}, Symbol.toStringTag, { value: "Module" })), M = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
28
|
-
__proto__: null,
|
|
29
|
-
BaseDocument: S,
|
|
30
|
-
actions: h,
|
|
31
|
-
applyMixins: j,
|
|
32
|
-
baseReducer: x,
|
|
33
|
-
processUndoRedo: z,
|
|
34
|
-
utils: A,
|
|
35
|
-
z: R
|
|
36
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
37
|
-
export {
|
|
38
|
-
M as D,
|
|
39
|
-
A as i
|
|
40
|
-
};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var _t=Object.defineProperty;var Dt=(e,t,i)=>t in e?_t(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var D=(e,t,i)=>(Dt(e,typeof t!="symbol"?t+"":t,i),i);const g=require("immer"),Et=require("json-stringify-deterministic"),c=require("zod"),Nt=require("crypto"),A=require("fs"),Tt=require("https"),At=require("path"),K=require("jszip"),V=e=>e!=null,Ft=c.z.any().refine(e=>V(e)),G=c.z.enum(["LOAD_STATE"]),Q=c.z.enum(["PRUNE"]),X=c.z.enum(["REDO"]),Y=c.z.enum(["SET_NAME"]),tt=c.z.enum(["UNDO"]);function Mt(){return c.z.object({__typename:c.z.literal("Action").optional(),type:c.z.string()})}function z(){return c.z.literal("global").or(c.z.literal("local"))}function et(){return c.z.union([it(),nt(),ot(),st(),pt()])}function It(){return c.z.object({__typename:c.z.literal("DocumentFile").optional(),data:c.z.string(),extension:c.z.string().nullable(),fileName:c.z.string().nullable(),mimeType:c.z.string()})}function it(){return c.z.object({input:c.z.lazy(()=>P()),type:G,scope:z()})}function P(){return c.z.object({operations:c.z.number(),state:c.z.lazy(()=>at())})}function at(){return c.z.object({data:c.z.unknown().nullish(),name:c.z.string()})}function Pt(){return c.z.object({__typename:c.z.literal("Operation").optional(),hash:c.z.string(),index:c.z.number(),timestamp:c.z.string().datetime(),type:c.z.string()})}function nt(){return c.z.object({input:c.z.lazy(()=>R()),type:Q,scope:z()})}function R(){return c.z.object({end:c.z.number().nullish(),start:c.z.number().nullish()})}const q=c.z.number;function ot(){return c.z.object({input:q(),type:X,scope:z()})}const L=c.z.string;function st(){return c.z.object({input:L(),type:Y,scope:c.z.literal("global")})}function Rt(){return c.z.object({__typename:c.z.literal("SetNameOperation").optional(),hash:c.z.string(),index:c.z.number(),input:c.z.string(),timestamp:c.z.string().datetime(),type:c.z.string()})}const U=c.z.number;function pt(){return c.z.object({input:U(),type:tt,scope:z()})}const qt=Object.freeze(Object.defineProperty({__proto__:null,ActionSchema:Mt,BaseActionSchema:et,DocumentFileSchema:It,LoadStateActionInputSchema:P,LoadStateActionSchema:it,LoadStateActionStateInputSchema:at,Load_StateSchema:G,OperationSchema:Pt,OperationScopeSchema:z,PruneActionInputSchema:R,PruneActionSchema:nt,PruneSchema:Q,RedoActionInputSchema:q,RedoActionSchema:ot,RedoSchema:X,SetNameActionInputSchema:L,SetNameActionSchema:st,SetNameOperationSchema:Rt,Set_NameSchema:Y,UndoActionInputSchema:U,UndoActionSchema:pt,UndoSchema:tt,definedNonNullAnySchema:Ft,isDefinedNonNullAny:V},Symbol.toStringTag,{value:"Module"}));function Lt(e,t){return{...e,name:t}}function Ut(e,t,i){const a={skip:i,document:e},{scope:n}=t;return!n||t.skip===void 0?a:g.produce(a,s=>{const[o]=s.document.operations[n].slice(-1);t.skip&&t.skip>0&&(s.skip=t.skip),o.type==="NOOP"&&t.index===o.index&&s.skip>o.skip&&s.document.operations[n].pop()})}function $t(e,t,i){const{scope:a,input:n}=t,s={document:e,action:t,skip:i};return g.produce(s,o=>{if(o.document.operations[a].length<1)throw new Error(`Cannot undo: no operations in history for scope "${a}"`);if(n<1)throw new Error("Invalid UNDO action: input value must be greater than 0");if(o.skip>0)throw new Error("Cannot undo: skip value from reducer cannot be used with UNDO action");const[p]=o.document.operations[a].slice(-1),l=p.type==="NOOP"&&p.skip>0;if(o.skip+=n,l&&(o.skip+=p.skip,o.document.operations[a].pop()),o.document.operations[a].length<o.skip)throw new Error("Cannot undo: you can't undo more operations than the ones in the scope history");const r=o.document.operations[a].length-1;let x=n,m=l?r-p.skip:r;for(;x>0&&m>=0;){const u=o.document.operations[a][m];u.type==="NOOP"&&u.skip>0?(m=m-(u.skip+1),o.skip+=u.skip+1):(o.document.clipboard.push({...u}),x--,m--)}o.action=W(a)})}function Ct(e,t,i){const{scope:a,input:n}=t,s={document:e,action:t,skip:i};return g.produce(s,o=>{if(o.skip>0)throw new Error("Cannot redo: skip value from reducer cannot be used with REDO action");if(n>1)throw new Error("Cannot redo: you can only redo one operation at a time");if(n<1)throw new Error("Invalid REDO action: invalid redo input value");if(o.document.clipboard.length<1)throw new Error("Cannot redo: no operations in the clipboard");const p=o.document.clipboard.findLastIndex(r=>r.scope===a);if(p<0)throw new Error(`Cannot redo: no operations in clipboard for scope "${a}"`);const l=o.document.clipboard.splice(p,1)[0];o.action=g.castDraft({type:l.type,scope:l.scope,input:l.input})})}function Jt(e,t,i){const{scope:a}=t,n=e.operations[a];let{input:{start:s,end:o}}=t;s=s||0,o=o||n.length;const p=n.slice(s,o),l=n.slice(0,s),r=n.slice(o),x=E(e.initialState,{...e.operations,[a]:l.concat(p)},i),{name:m,state:u}=x,d=l.length,O=l.length?l[l.length-1].timestamp:r.length?r[0].timestamp:new Date().toISOString();return E(e.initialState,{...e.operations,[a]:[...l,{...B({name:m,state:u},p.length),timestamp:O,index:d,hash:C({state:u},"global")},...r.map((w,T)=>({...w,index:d+T+1}))]},i)}function Bt(e,t){return{...e,name:t.name,state:t.state??{global:{},local:{}}}}const ct="SET_NAME",y="UNDO",j="REDO",_="PRUNE",rt="LOAD_STATE",Wt="NOOP";function Zt(e,t){const i=e.revision[t.scope];return[y,j,_].includes(t.type)?i:i+1}function Ht(e,t){return{...e,revision:{...e.revision,[t.scope]:Zt(e,t)},lastModified:new Date().toISOString()}}function Kt(e,t,i=0){if([y,j,_].includes(t.type))return e;const{scope:a}=t,n=e.operations[a].slice(0,e.revision[a]);return n.push({...t,index:n.length,timestamp:new Date().toISOString(),hash:"",scope:a,skip:i}),{...e,operations:{...e.operations,[a]:n}}}function Vt(e,t,i=0){let a=Kt(e,t,i);return a=Ht(a,t),a}function Gt(e,t,i){switch(et().parse(t),t.type){case ct:return Lt(e,t.input);case _:return Jt(e,t,i);case rt:return Bt(e,t.input.state);default:return e}}function lt(e,t,i){switch(t.type){case y:return $t(e,t,i);case j:return Ct(e,t,i);default:return{document:e,action:t,skip:i}}}function $(e,t,i,a,n={}){const{skip:s,ignoreSkipOperations:o=!1}=n;let p={...t},l=s||0,r=e,x=[...e.clipboard];if(dt(p)){const{document:m,skip:u}=Ut(r,p,l);l=u,r=m}if(F(p)){const{skip:m,action:u,document:d}=lt(e,p,l);p=u,l=m,r=d,x=[...r.clipboard]}return M(p)&&(r=Gt(r,p,i)),l>0&&!o&&(r=E(r.initialState,r.operations,i,void 0,void 0,void 0,{[p.scope]:l})),r=Vt(r,p,l),r=g.produce(r,m=>{const u=i(m.state,p,a),d=F(t)?[...x]:[];if(u)return g.castDraft({...r,clipboard:[...d],state:u});m.clipboard=g.castDraft([...d])}),g.produce(r,m=>{if([y,j,_].includes(p.type))return m;const u=p.scope||"global";m.operations[u][m.operations[u].length-1].hash=C(m,u),!M(p)&&p.attachments&&p.attachments.forEach(d=>{const{hash:O,...w}=d;m.attachments[O]={...w}})})}function Qt(e,t,i){const a=At.join(e,t);return A.mkdirSync(e,{recursive:!0}),new Promise((n,s)=>{try{A.writeFile(a,i,{},o=>{o?s(o):n(a)})}catch(o){s(o)}})}function mt(e){return A.readFileSync(e)}function Xt(e){return new Promise((t,i)=>{Tt.get(e,a=>{const n=[],s=a.headers["content-type"];a.on("data",o=>{n.push(o)}),a.on("end",()=>{t({buffer:Buffer.concat(n),mimeType:s})})}).on("error",a=>{i(a)})})}const Yt=async e=>mt(e),N=(e,t="sha1")=>Nt.createHash(t).update(e).digest("base64");function dt(e){return e.type===Wt&&e.skip!==void 0&&e.skip>0&&e.hash!==void 0}function F(e){return[y,j].includes(e.type)}function M(e){return[ct,y,j,_,rt].includes(e.type)}function b(e,t,i,a,n="global"){if(!e)throw new Error("Empty action type");if(typeof e!="string")throw new Error(`Invalid action type: ${e}`);const s={type:e,input:t,scope:n};i&&(s.attachments=i);try{a==null||a().parse(s.input)}catch(o){throw new Error(`Invalid action input: ${o}`)}return s}function ut(e,t=$){return(i,a,n,s)=>t(i,a,e,n,s)}const xt=(e,t)=>({name:"",documentType:"",revision:{global:0,local:0},created:new Date().toISOString(),lastModified:new Date().toISOString(),attachments:{},...e,state:(t==null?void 0:t(e==null?void 0:e.state))??(e==null?void 0:e.state)??{global:{},local:{}}}),ft=(e,t)=>{const i=xt(e,t);return{...i,initialState:i,operations:{global:[],local:[]},clipboard:[]}},C=(e,t="global")=>N(Et(e.state[t])),te=(e,t=1e3)=>{const i=Math.random()*t;return N(`${(e??new Date).toISOString()}${i}`)};function k(e){return g.castImmutable(g.freeze(e,!0))}function gt(e,t){const i=[...e];let a=t||0,n=i.length>0?i[i.length-1].index:0;const s=[];for(const o of i.reverse()){if(a>0){const r=n-o.index;a-=r}if(a<0)throw new Error("Invalid operation index, missing operations");const p={ignore:a>0,operation:o},l=o.skip>0?o.skip+1:0;if(l>0&&l>a){const r=l-a;a=a+r}n=o.index,s.push(p)}return s.reverse()}function ee(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.timestamp).getTime()-new Date(i.timestamp).getTime())}function ht(e){return Object.values(e).flatMap(t=>t).sort((t,i)=>new Date(t.operation.timestamp).getTime()-new Date(i.operation.timestamp).getTime())}function E(e,t,i,a,n,s=$,o={}){const p=ut(i,s);return J(e,t,p,a,n,o)}function J(e,t,i,a,n,s={}){const o=ft(e),p=Object.keys(t).reduce((m,u)=>{const d=u;return{...m,[d]:t[d].slice(0,n==null?void 0:n.revision[d])}},{}),l=Object.keys(p).reduce((m,u)=>{const d=u;return{...m,[d]:gt(p[d],s[d])}},{}),r=ht(l).reduce((m,{ignore:u,operation:d})=>u?i(m,W(d.scope),a,{skip:d.skip,ignoreSkipOperations:!0}):i(m,d,a,{skip:d.skip,ignoreSkipOperations:!0}),o),x=Object.keys(r.operations).reduce((m,u)=>{const d=u,O=n&&n.revision[d]<t[d].length?t[d].slice(n.revision[d]):[];return{...m,[d]:[...r.operations[d].map((w,T)=>{var H;return{...w,timestamp:((H=t[d][T])==null?void 0:H.timestamp)??w.timestamp}}),...O]}},{global:[],local:[]});return{...r,operations:x}}const bt=e=>b("SET_NAME",e,void 0,L,void 0),wt=(e=1,t="global")=>b("UNDO",e,void 0,U,t),vt=(e=1,t="global")=>b("REDO",e,void 0,q,t),yt=(e,t,i="global")=>b("PRUNE",{start:e,end:t},void 0,R,i),B=(e,t)=>b("LOAD_STATE",{state:e,operations:t},void 0,P),W=(e="global")=>b("NOOP",{},void 0,void 0,e),ie=Object.freeze(Object.defineProperty({__proto__:null,loadState:B,noop:W,prune:yt,redo:vt,setName:bt,undo:wt},Symbol.toStringTag,{value:"Module"})),jt={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(jt);var f=function(e,t,i,a){if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!a:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return i==="m"?a:i==="a"?a.call(e):a?a.value:t.get(e)},v,S,h;class ae{constructor(...t){v.set(this,new Map),S.set(this,new Map),h.set(this,new Map);for(const i of t)this.define(i)}define(t,i=!1){for(let[a,n]of Object.entries(t)){a=a.toLowerCase(),n=n.map(p=>p.toLowerCase()),f(this,h,"f").has(a)||f(this,h,"f").set(a,new Set);const s=f(this,h,"f").get(a);let o=!0;for(let p of n){const l=p.startsWith("*");if(p=l?p.slice(1):p,s==null||s.add(p),o&&f(this,S,"f").set(a,p),o=!1,l)continue;const r=f(this,v,"f").get(p);if(r&&r!=a&&!i)throw new Error(`"${a} -> ${p}" conflicts with "${r} -> ${p}". Pass \`force=true\` to override this definition.`);f(this,v,"f").set(p,a)}}return this}getType(t){if(typeof t!="string")return null;const i=t.replace(/^.*[/\\]/,"").toLowerCase(),a=i.replace(/^.*\./,"").toLowerCase(),n=i.length<t.length;return!(a.length<i.length-1)&&n?null:f(this,v,"f").get(a)??null}getExtension(t){var i;return typeof t!="string"?null:(t=(i=t==null?void 0:t.split)==null?void 0:i.call(t,";")[0],(t&&f(this,S,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return typeof t!="string"?null:f(this,h,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const t of f(this,h,"f").values())Object.freeze(t);return this}_getTestState(){return{types:f(this,v,"f"),extensions:f(this,S,"f")}}}v=new WeakMap,S=new WeakMap,h=new WeakMap;const ne=new ae(jt)._freeze();function Ot(e){const t=[],i=Object.keys(e);for(const a of i){const n=e[a].sort((s,o)=>s.index-o.index);for(let s=0;s<n.length;s++)n[s].index!==s&&t.push({message:`Invalid operation index ${n[s].index} at position ${s}`,details:{position:s,operation:n[s],scope:n[s].scope}})}return t}const Z=async e=>{const t=new K,{name:i,revision:a,documentType:n,created:s,lastModified:o}=e,p={name:i,revision:a,documentType:n,created:s,lastModified:o};return t.file("header.json",JSON.stringify(p,null,2)),t.file("state.json",JSON.stringify(e.initialState||{},null,2)),t.file("operations.json",JSON.stringify(e.operations,null,2)),Object.keys(e.attachments).forEach(r=>{const{data:x,...m}=e.attachments[r];t.file(r,x,{base64:!0,createFolders:!0,comment:JSON.stringify(m)})}),t},kt=async(e,t,i,a)=>{const s=await(await Z(e)).generateAsync({type:"uint8array",streamFiles:!0}),o=a??e.name,p=`.${i}.zip`;return Qt(t,o.endsWith(p)?o:`${o}${p}`,s)},oe=async(e,t)=>{const a=await(await Z(e)).generateAsync({type:"blob"}),n=await t.createWritable();await n.write(a),await n.close()},I=async(e,t)=>{const i=mt(e);return St(i,t)},St=async(e,t)=>{const i=new K;return await i.loadAsync(e),se(i,t)};async function se(e,t){const i=e.file("state.json");if(!i)throw new Error("Initial state not found");const a=await i.async("string"),n=JSON.parse(a),s=e.file("header.json");let o;s&&(o=JSON.parse(await s.async("string")));const p=e.file("operations.json");if(!p)throw new Error("Operations history not found");const l=JSON.parse(await p.async("string")),r=Ot(l);if(r.length){const m=r.map(u=>u.message);throw new Error(m.join(`
|
|
2
|
-
`))}let x=J(n,l,t,void 0,o);return o&&(x={...x,...o}),x}function zt(e){const t=e.replace(/^.*\./,"")||void 0,i=e.replace(/^.*[/\\]/,"")||void 0;return{extension:t,fileName:i}}async function pe(e){const{buffer:t,mimeType:i="application/octet-stream"}=await Xt(e),a=zt(e),n=t.toString("base64");return{data:n,hash:N(n),mimeType:i,...a}}async function ce(e){const t=await Yt(e),i=ne.getType(e)||"application/octet-stream",a=zt(e),n=t.toString("base64");return{data:n,hash:N(n),mimeType:i,...a}}class re{constructor(t,i,a){D(this,"_document");D(this,"_reducer");D(this,"_signalDispatch");this._reducer=t,this._document=i,this._signalDispatch=a}dispatch(t,i){return this._document=this._reducer(this._document,t,this._signalDispatch,i),this}saveToFile(t,i,a){return kt(this._document,t,i,a)}async loadFromFile(t){this._document=await I(t,this._reducer)}static async stateFromFile(t,i){return await I(t,i)}get state(){return k(this._document.state)}get operations(){return k(this._document.operations)}get name(){return this._document.name}get documentType(){return this._document.documentType}get created(){return this._document.created}get lastModified(){return this._document.lastModified}get revision(){return this._document.revision.global}getRevision(t){return this._document.revision[t]}get initialState(){return k(this._document.initialState)}toDocument(){return k(this._document)}getAttachment(t){return this._document.attachments[t]}setName(t){return this.dispatch(bt(t)),this}undo(t){return this.dispatch(wt(t)),this}redo(t){return this.dispatch(vt(t)),this}prune(t,i){return this.dispatch(yt(t,i)),this}loadState(t,i){return this.dispatch(B(t,i)),this}}function le(e,t){t.forEach(i=>{Object.getOwnPropertyNames(i.prototype).forEach(a=>{Object.defineProperty(e.prototype,a,Object.getOwnPropertyDescriptor(i.prototype,a)||Object.create(null))})})}exports.BaseActions=ie;exports.BaseDocument=re;exports.applyMixins=le;exports.baseReducer=$;exports.createAction=b;exports.createDocument=ft;exports.createExtendedState=xt;exports.createReducer=ut;exports.createZip=Z;exports.getLocalFile=ce;exports.getRemoteFile=pe;exports.hashDocument=C;exports.hashKey=te;exports.isBaseAction=M;exports.isNoopOperation=dt;exports.isUndoRedo=F;exports.loadFromFile=I;exports.loadFromInput=St;exports.mapSkippedOperations=gt;exports.processUndoRedo=lt;exports.readOnly=k;exports.replayDocument=J;exports.replayOperations=E;exports.saveToFile=kt;exports.saveToFileHandle=oe;exports.sortMappedOperations=ht;exports.sortOperations=ee;exports.validateOperations=Ot;exports.zod=qt;
|