@jupyterlite/pyodide-kernel 0.6.0-alpha.5 → 0.6.0-alpha.6
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/lib/_pypi.d.ts +2 -2
- package/lib/_pypi.js +2 -2
- package/lib/coincident.worker.d.ts +1 -0
- package/lib/coincident.worker.js +3 -3
- package/lib/coincident.worker.js.map +3 -3
- package/lib/comlink.worker.d.ts +4 -0
- package/lib/comlink.worker.js +6 -6
- package/lib/comlink.worker.js.map +3 -3
- package/lib/kernel.d.ts +1 -0
- package/lib/kernel.js +13 -1
- package/lib/tokens.d.ts +15 -0
- package/lib/worker.d.ts +6 -6
- package/lib/worker.js +6 -33
- package/package.json +3 -3
- package/pypi/all.json +33 -33
- package/pypi/ipykernel-6.9.2-py3-none-any.whl +0 -0
- package/pypi/{piplite-0.6.0a5-py3-none-any.whl → piplite-0.6.0a6-py3-none-any.whl} +0 -0
- package/pypi/{pyodide_kernel-0.6.0a5-py3-none-any.whl → pyodide_kernel-0.6.0a6-py3-none-any.whl} +0 -0
- package/pypi/widgetsnbextension-3.6.999-py3-none-any.whl +0 -0
- package/pypi/widgetsnbextension-4.0.999-py3-none-any.whl +0 -0
package/lib/coincident.worker.js
CHANGED
|
@@ -6,8 +6,8 @@ var bo=Object.create;var Gn=Object.defineProperty;var So=Object.getOwnPropertyDe
|
|
|
6
6
|
|
|
7
7
|
If you specifically intended to install a source extension, please run 'jupyter lab build' on the server for full output.`;throw new Ye.ServerConnection.ResponseError(r,a)}})}cancel(){let{_url:e,serverSettings:t}=this,n={method:"DELETE"};return Ye.ServerConnection.makeRequest(e,n,t).then(r=>{if(r.status!==204)throw new Ye.ServerConnection.ResponseError(r)})}};xn.BuildManager=Ni});var Fi=I(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.NbConvertManager=void 0;var Ic=X(),Li=ue(),Rc=ne(),Oc="api/nbconvert",zi=class{constructor(e={}){var t;this._exportFormats=null,this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:Li.ServerConnection.makeSettings()}async fetchExportFormats(){this._requestingFormats=new Rc.PromiseDelegate,this._exportFormats=null;let e=this.serverSettings.baseUrl,t=Ic.URLExt.join(e,Oc),{serverSettings:n}=this,s=await Li.ServerConnection.makeRequest(t,{},n);if(s.status!==200)throw await Li.ServerConnection.ResponseError.create(s);let r=await s.json(),a={};return Object.keys(r).forEach(function(u){let c=r[u].output_mimetype;a[u]={output_mimetype:c}}),this._exportFormats=a,this._requestingFormats.resolve(a),a}async getExportFormats(e=!0){return this._requestingFormats?this._requestingFormats.promise:e||!this._exportFormats?await this.fetchExportFormats():this._exportFormats}};Cn.NbConvertManager=zi});var la=I(oa=>{"use strict";Object.defineProperty(oa,"__esModule",{value:!0})});var da=I(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.validateModel=ca;Mt.updateLegacySessionModel=jc;Mt.validateModels=Tc;var Dc=_n(),Et=vt();function ca(i){(0,Et.validateProperty)(i,"id","string"),(0,Et.validateProperty)(i,"type","string"),(0,Et.validateProperty)(i,"name","string"),(0,Et.validateProperty)(i,"path","string"),(0,Et.validateProperty)(i,"kernel","object"),(0,Dc.validateModel)(i.kernel)}function jc(i){i.path===void 0&&i.notebook!==void 0&&(i.path=i.notebook.path,i.type="notebook",i.name="")}function Tc(i){if(!Array.isArray(i))throw new Error("Invalid session list");i.forEach(e=>ca(e))}});var En=I(fe=>{"use strict";Object.defineProperty(fe,"__esModule",{value:!0});fe.SessionAPIClient=fe.SESSION_SERVICE_URL=void 0;fe.listRunning=ua;fe.getSessionUrl=Pn;fe.shutdownSession=pa;fe.getSessionModel=ha;fe.startSession=fa;fe.updateSession=ma;var ae=ue(),kn=X(),Xe=da();fe.SESSION_SERVICE_URL="api/sessions";async function ua(i=ae.ServerConnection.makeSettings()){let e=kn.URLExt.join(i.baseUrl,fe.SESSION_SERVICE_URL),t=await ae.ServerConnection.makeRequest(e,{},i);if(t.status!==200)throw await ae.ServerConnection.ResponseError.create(t);let n=await t.json();if(!Array.isArray(n))throw new Error("Invalid Session list");return n.forEach(s=>{(0,Xe.updateLegacySessionModel)(s),(0,Xe.validateModel)(s)}),n}function Pn(i,e){let t=kn.URLExt.join(i,fe.SESSION_SERVICE_URL),n=kn.URLExt.join(t,e);if(!n.startsWith(t))throw new Error("Can only be used for services requests");return n}async function pa(i,e=ae.ServerConnection.makeSettings()){var t;let n=Pn(e.baseUrl,i),s={method:"DELETE"},r=await ae.ServerConnection.makeRequest(n,s,e);if(r.status===404){let o=(t=(await r.json()).message)!==null&&t!==void 0?t:`The session "${i}"" does not exist on the server`;console.warn(o)}else{if(r.status===410)throw new ae.ServerConnection.ResponseError(r,"The kernel was deleted but the session was not");if(r.status!==204)throw await ae.ServerConnection.ResponseError.create(r)}}async function ha(i,e=ae.ServerConnection.makeSettings()){let t=Pn(e.baseUrl,i),n=await ae.ServerConnection.makeRequest(t,{},e);if(n.status!==200)throw await ae.ServerConnection.ResponseError.create(n);let s=await n.json();return(0,Xe.updateLegacySessionModel)(s),(0,Xe.validateModel)(s),s}async function fa(i,e=ae.ServerConnection.makeSettings()){let t=kn.URLExt.join(e.baseUrl,fe.SESSION_SERVICE_URL),n={method:"POST",body:JSON.stringify(i)},s=await ae.ServerConnection.makeRequest(t,n,e);if(s.status!==201)throw await ae.ServerConnection.ResponseError.create(s);let r=await s.json();return(0,Xe.updateLegacySessionModel)(r),(0,Xe.validateModel)(r),r}async function ma(i,e=ae.ServerConnection.makeSettings()){let t=Pn(e.baseUrl,i.id),n={method:"PATCH",body:JSON.stringify(i)},s=await ae.ServerConnection.makeRequest(t,n,e);if(s.status!==200)throw await ae.ServerConnection.ResponseError.create(s);let r=await s.json();return(0,Xe.updateLegacySessionModel)(r),(0,Xe.validateModel)(r),r}var Ki=class{constructor(e){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:ae.ServerConnection.makeSettings()}async listRunning(){return ua(this.serverSettings)}async getModel(e){return ha(e,this.serverSettings)}async startNew(e){return fa(e,this.serverSettings)}async shutdown(e){return pa(e,this.serverSettings)}async update(e){return ma(e,this.serverSettings)}};fe.SessionAPIClient=Ki});var ga=I(Mn=>{"use strict";Object.defineProperty(Mn,"__esModule",{value:!0});Mn.SessionConnection=void 0;var Ue=Q(),qc=Fe(),Ac=ne(),Uc=En(),Bi=class{constructor(e){var t,n,s,r,a;this._id="",this._path="",this._name="",this._type="",this._kernel=null,this._isDisposed=!1,this._disposed=new Ue.Signal(this),this._kernelChanged=new Ue.Signal(this),this._statusChanged=new Ue.Signal(this),this._connectionStatusChanged=new Ue.Signal(this),this._pendingInput=new Ue.Signal(this),this._iopubMessage=new Ue.Signal(this),this._unhandledMessage=new Ue.Signal(this),this._anyMessage=new Ue.Signal(this),this._propertyChanged=new Ue.Signal(this),this._id=e.model.id,this._name=e.model.name,this._path=e.model.path,this._type=e.model.type,this._username=(t=e.username)!==null&&t!==void 0?t:"",this._clientId=(n=e.clientId)!==null&&n!==void 0?n:Ac.UUID.uuid4(),this._connectToKernel=e.connectToKernel,this._kernelConnectionOptions=(s=e.kernelConnectionOptions)!==null&&s!==void 0?s:{},this.serverSettings=(r=e.serverSettings)!==null&&r!==void 0?r:qc.ServerConnection.makeSettings(),this._sessionAPIClient=(a=e.sessionAPIClient)!==null&&a!==void 0?a:new Uc.SessionAPIClient({serverSettings:this.serverSettings}),this.setupKernel(e.model.kernel)}get disposed(){return this._disposed}get kernelChanged(){return this._kernelChanged}get statusChanged(){return this._statusChanged}get connectionStatusChanged(){return this._connectionStatusChanged}get pendingInput(){return this._pendingInput}get iopubMessage(){return this._iopubMessage}get unhandledMessage(){return this._unhandledMessage}get anyMessage(){return this._anyMessage}get propertyChanged(){return this._propertyChanged}get id(){return this._id}get kernel(){return this._kernel}get path(){return this._path}get type(){return this._type}get name(){return this._name}get model(){return{id:this.id,kernel:this.kernel&&{id:this.kernel.id,name:this.kernel.name},path:this._path,type:this._type,name:this._name}}get isDisposed(){return this._isDisposed}update(e){let t=this.model;if(this._path=e.path,this._name=e.name,this._type=e.type,this._kernel===null&&e.kernel!==null||this._kernel!==null&&e.kernel===null||this._kernel!==null&&e.kernel!==null&&this._kernel.id!==e.kernel.id){this._kernel!==null&&this._kernel.dispose();let n=this._kernel||null;this.setupKernel(e.kernel);let s=this._kernel||null;this._kernelChanged.emit({name:"kernel",oldValue:n,newValue:s})}this._handleModelChange(t)}dispose(){if(!this.isDisposed){if(this._isDisposed=!0,this._disposed.emit(),this._kernel){this._kernel.dispose();let e=this._kernel;this._kernel=null;let t=this._kernel;this._kernelChanged.emit({name:"kernel",oldValue:e,newValue:t})}Ue.Signal.clearData(this)}}async setPath(e){if(this.isDisposed)throw new Error("Session is disposed");await this._patch({path:e})}async setName(e){if(this.isDisposed)throw new Error("Session is disposed");await this._patch({name:e})}async setType(e){if(this.isDisposed)throw new Error("Session is disposed");await this._patch({type:e})}async changeKernel(e){if(this.isDisposed)throw new Error("Session is disposed");return await this._patch({kernel:e}),this.kernel}async shutdown(){if(this.isDisposed)throw new Error("Session is disposed");await this._sessionAPIClient.shutdown(this.id),this.dispose()}setupKernel(e){if(e===null){this._kernel=null;return}let t=this._connectToKernel({...this._kernelConnectionOptions,model:e,username:this._username,clientId:this._clientId,serverSettings:this.serverSettings});this._kernel=t,t.statusChanged.connect(this.onKernelStatus,this),t.connectionStatusChanged.connect(this.onKernelConnectionStatus,this),t.pendingInput.connect(this.onPendingInput,this),t.unhandledMessage.connect(this.onUnhandledMessage,this),t.iopubMessage.connect(this.onIOPubMessage,this),t.anyMessage.connect(this.onAnyMessage,this)}onKernelStatus(e,t){this._statusChanged.emit(t)}onKernelConnectionStatus(e,t){this._connectionStatusChanged.emit(t)}onPendingInput(e,t){this._pendingInput.emit(t)}onIOPubMessage(e,t){this._iopubMessage.emit(t)}onUnhandledMessage(e,t){this._unhandledMessage.emit(t)}onAnyMessage(e,t){this._anyMessage.emit(t)}async _patch(e){let t=await this._sessionAPIClient.update({...e,id:this._id});return this.update(t),t}_handleModelChange(e){e.name!==this._name&&this._propertyChanged.emit("name"),e.type!==this._type&&this._propertyChanged.emit("type"),e.path!==this._path&&this._propertyChanged.emit("path")}};Mn.SessionConnection=Bi});var va=I(Rt=>{"use strict";Object.defineProperty(Rt,"__esModule",{value:!0});Rt.SessionManager=void 0;var Nc=Qe(),_a=Q(),Lc=ue(),zc=Ze(),Fc=ga(),Kc=En(),It=class extends zc.BaseManager{constructor(e){var t,n;super(e),this._isReady=!1,this._sessionConnections=new Set,this._models=new Map,this._runningChanged=new _a.Signal(this),this._connectionFailure=new _a.Signal(this),this._connectToKernel=s=>this._kernelManager.connectTo(s),this._kernelManager=e.kernelManager,this._sessionAPIClient=(t=e.sessionAPIClient)!==null&&t!==void 0?t:new Kc.SessionAPIClient({serverSettings:e.serverSettings}),this._pollModels=new Nc.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:10*1e3,backoff:!0,max:300*1e3},name:"@jupyterlab/services:SessionManager#models",standby:(n=e.standby)!==null&&n!==void 0?n:"when-hidden"}),this._ready=(async()=>{await this._pollModels.start(),await this._pollModels.tick,this._kernelManager.isActive&&await this._kernelManager.ready,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){this.isDisposed||(this._models.clear(),this._sessionConnections.forEach(e=>e.dispose()),this._pollModels.dispose(),super.dispose())}connectTo(e){let t=new Fc.SessionConnection({...e,connectToKernel:this._connectToKernel,serverSettings:this.serverSettings,sessionAPIClient:this._sessionAPIClient});return this._onStarted(t),this._models.has(e.model.id)||this.refreshRunning().catch(()=>{}),t}running(){return this._models.values()}async refreshRunning(){await this._pollModels.refresh(),await this._pollModels.tick}async startNew(e,t={}){let n=await this._sessionAPIClient.startNew(e);return await this.refreshRunning(),this.connectTo({...t,model:n})}async shutdown(e){await this._sessionAPIClient.shutdown(e),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all([...this._models.keys()].map(e=>this._sessionAPIClient.shutdown(e))),await this.refreshRunning()}async stopIfNeeded(e){try{let n=(await this._sessionAPIClient.listRunning()).filter(s=>s.path===e);if(n.length===1){let s=n[0].id;await this.shutdown(s)}}catch{}}async findById(e){return this._models.has(e)?this._models.get(e):(await this.refreshRunning(),this._models.get(e))}async findByPath(e){for(let t of this._models.values())if(t.path===e)return t;await this.refreshRunning();for(let t of this._models.values())if(t.path===e)return t}async requestRunning(){var e,t;let n;try{n=await this._sessionAPIClient.listRunning()}catch(s){throw(s instanceof Lc.ServerConnection.NetworkError||((e=s.response)===null||e===void 0?void 0:e.status)===503||((t=s.response)===null||t===void 0?void 0:t.status)===424)&&this._connectionFailure.emit(s),s}this.isDisposed||this._models.size===n.length&&n.every(s=>{var r,a,o,u;let c=this._models.get(s.id);return c?((r=c.kernel)===null||r===void 0?void 0:r.id)===((a=s.kernel)===null||a===void 0?void 0:a.id)&&((o=c.kernel)===null||o===void 0?void 0:o.name)===((u=s.kernel)===null||u===void 0?void 0:u.name)&&c.name===s.name&&c.path===s.path&&c.type===s.type:!1})||(this._models=new Map(n.map(s=>[s.id,s])),this._sessionConnections.forEach(s=>{this._models.has(s.id)?s.update(this._models.get(s.id)):s.dispose()}),this._runningChanged.emit(n))}_onStarted(e){this._sessionConnections.add(e),e.disposed.connect(this._onDisposed,this),e.propertyChanged.connect(this._onChanged,this),e.kernelChanged.connect(this._onChanged,this)}_onDisposed(e){this._sessionConnections.delete(e),this.refreshRunning().catch(()=>{})}_onChanged(){this.refreshRunning().catch(()=>{})}};Rt.SessionManager=It;(function(i){class e extends i{constructor(){super(...arguments),this._readyPromise=new Promise(()=>{})}get isActive(){return!1}get parentReady(){return super.ready}async startNew(n,s={}){return Promise.reject(new Error("Not implemented in no-op Session Manager"))}connectTo(n){throw Error("Not implemented in no-op Session Manager")}get ready(){return this.parentReady.then(()=>this._readyPromise)}async shutdown(n){return Promise.reject(new Error("Not implemented in no-op Session Manager"))}async requestRunning(){return Promise.resolve()}}i.NoopManager=e})(It||(Rt.SessionManager=It={}))});var $i=I(me=>{"use strict";var ya=me&&me.__createBinding||(Object.create?function(i,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,n,s)}:function(i,e,t,n){n===void 0&&(n=t),i[n]=e[t]}),Bc=me&&me.__setModuleDefault||(Object.create?function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}:function(i,e){i.default=e}),wa=me&&me.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&ya(e,i,t);return Bc(e,i),e},$c=me&&me.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&ya(e,i,t)};Object.defineProperty(me,"__esModule",{value:!0});me.SessionAPI=me.Session=void 0;var Vc=wa(la());me.Session=Vc;var Wc=wa(En());me.SessionAPI=Wc;$c(va(),me)});var ba=I(In=>{"use strict";Object.defineProperty(In,"__esModule",{value:!0});In.DataConnector=void 0;var Vi=class{async list(e){throw new Error("DataConnector#list method has not been implemented.")}async remove(e){throw new Error("DataConnector#remove method has not been implemented.")}async save(e,t){throw new Error("DataConnector#save method has not been implemented.")}};In.DataConnector=Vi});var xa=I(Sa=>{"use strict";Object.defineProperty(Sa,"__esModule",{value:!0})});var ka=I((Rn,Ca)=>{(function(i,e){typeof Rn=="object"&&typeof Ca!="undefined"?e(Rn):typeof define=="function"&&define.amd?define(["exports"],e):(i=typeof globalThis!="undefined"?globalThis:i||self,e(i.lumino_properties={}))})(Rn,function(i){"use strict";class e{constructor(s){this._pid=t.nextPID(),this.name=s.name,this._create=s.create,this._coerce=s.coerce||null,this._compare=s.compare||null,this._changed=s.changed||null}get(s){let r,a=t.ensureMap(s);return this._pid in a?r=a[this._pid]:r=a[this._pid]=this._createValue(s),r}set(s,r){let a,o=t.ensureMap(s);this._pid in o?a=o[this._pid]:a=o[this._pid]=this._createValue(s);let u=this._coerceValue(s,r);this._maybeNotify(s,a,o[this._pid]=u)}coerce(s){let r,a=t.ensureMap(s);this._pid in a?r=a[this._pid]:r=a[this._pid]=this._createValue(s);let o=this._coerceValue(s,r);this._maybeNotify(s,r,a[this._pid]=o)}_createValue(s){let r=this._create;return r(s)}_coerceValue(s,r){let a=this._coerce;return a?a(s,r):r}_compareValue(s,r){let a=this._compare;return a?a(s,r):s===r}_maybeNotify(s,r,a){let o=this._changed;o&&!this._compareValue(r,a)&&o(s,r,a)}}(function(n){function s(r){t.ownerData.delete(r)}n.clearData=s})(e||(e={}));var t;(function(n){n.ownerData=new WeakMap,n.nextPID=(()=>{let r=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${r++}`})();function s(r){let a=n.ownerData.get(r);return a||(a=Object.create(null),n.ownerData.set(r,a),a)}n.ensureMap=s})(t||(t={})),i.AttachedProperty=e})});var Ea=I(Dn=>{"use strict";Object.defineProperty(Dn,"__esModule",{value:!0});Dn.RestorablePool=void 0;var Jc=ne(),Pa=ka(),On=Q(),Wi=class{constructor(e){this._added=new On.Signal(this),this._current=null,this._currentChanged=new On.Signal(this),this._hasRestored=!1,this._isDisposed=!1,this._objects=new Set,this._restore=null,this._restored=new Jc.PromiseDelegate,this._updated=new On.Signal(this),this.namespace=e.namespace}get added(){return this._added}get current(){return this._current}set current(e){this._current!==e&&e!==null&&this._objects.has(e)&&(this._current=e,this._currentChanged.emit(this._current))}get currentChanged(){return this._currentChanged}get isDisposed(){return this._isDisposed}get restored(){return this._restored.promise}get size(){return this._objects.size}get updated(){return this._updated}async add(e){var t,n;if(e.isDisposed){let s="A disposed object cannot be added.";throw console.warn(s,e),new Error(s)}if(this._objects.has(e)){let s="This object already exists in the pool.";throw console.warn(s,e),new Error(s)}if(this._objects.add(e),e.disposed.connect(this._onInstanceDisposed,this),!Ne.injectedProperty.get(e)){if(this._restore){let{connector:s}=this._restore,r=this._restore.name(e);if(r){let a=`${this.namespace}:${r}`,o=(n=(t=this._restore).args)===null||n===void 0?void 0:n.call(t,e);Ne.nameProperty.set(e,a),await s.save(a,{data:o})}}this._added.emit(e)}}dispose(){this.isDisposed||(this._current=null,this._isDisposed=!0,this._objects.clear(),On.Signal.clearData(this))}find(e){let t=this._objects.values();for(let n of t)if(e(n))return n}forEach(e){this._objects.forEach(e)}filter(e){let t=[];return this.forEach(n=>{e(n)&&t.push(n)}),t}inject(e){return Ne.injectedProperty.set(e,!0),this.add(e)}has(e){return this._objects.has(e)}async restore(e){if(this._hasRestored)throw new Error("This pool has already been restored.");this._hasRestored=!0;let{command:t,connector:n,registry:s,when:r}=e,a=this.namespace,o=r?[n.list(a)].concat(r):[n.list(a)];this._restore=e;let[u]=await Promise.all(o),c=await Promise.all(u.ids.map(async(d,l)=>{let p=u.values[l],_=p&&p.data;return _===void 0?n.remove(d):s.execute(t,_).catch(()=>n.remove(d))}));return this._restored.resolve(),c}async save(e){var t,n;let s=Ne.injectedProperty.get(e);if(!this._restore||!this.has(e)||s)return;let{connector:r}=this._restore,a=this._restore.name(e),o=Ne.nameProperty.get(e),u=a?`${this.namespace}:${a}`:"";if(o&&o!==u&&await r.remove(o),Ne.nameProperty.set(e,u),u){let c=(n=(t=this._restore).args)===null||n===void 0?void 0:n.call(t,e);await r.save(u,{data:c})}o!==u&&this._updated.emit(e)}_onInstanceDisposed(e){if(this._objects.delete(e),e===this._current&&(this._current=null,this._currentChanged.emit(this._current)),Ne.injectedProperty.get(e)||!this._restore)return;let{connector:t}=this._restore,n=Ne.nameProperty.get(e);n&&t.remove(n)}};Dn.RestorablePool=Wi;var Ne;(function(i){i.injectedProperty=new Pa.AttachedProperty({name:"injected",create:()=>!1}),i.nameProperty=new Pa.AttachedProperty({name:"name",create:()=>""})})(Ne||(Ne={}))});var Ma=I(Dt=>{"use strict";Object.defineProperty(Dt,"__esModule",{value:!0});Dt.StateDB=void 0;var Hc=Q(),Ot=class i{constructor(e={}){this._changed=new Hc.Signal(this);let{connector:t,transform:n}=e;this._connector=t||new i.Connector,n?this._ready=n.then(s=>{let{contents:r,type:a}=s;switch(a){case"cancel":return;case"clear":return this._clear();case"merge":return this._merge(r||{});case"overwrite":return this._overwrite(r||{});default:return}}):this._ready=Promise.resolve(void 0)}get changed(){return this._changed}async clear(){await this._ready,await this._clear()}async fetch(e){return await this._ready,this._fetch(e)}async list(e){return await this._ready,this._list(e)}async remove(e){await this._ready,await this._remove(e),this._changed.emit({id:e,type:"remove"})}async save(e,t){await this._ready,await this._save(e,t),this._changed.emit({id:e,type:"save"})}async toJSON(){await this._ready;let{ids:e,values:t}=await this._list();return t.reduce((n,s,r)=>(n[e[r]]=s,n),{})}async _clear(){await Promise.all((await this._list()).ids.map(e=>this._remove(e)))}async _fetch(e){let t=await this._connector.fetch(e);if(t)return JSON.parse(t).v}async _list(e=""){let{ids:t,values:n}=await this._connector.list(e);return{ids:t,values:n.map(s=>JSON.parse(s).v)}}async _merge(e){await Promise.all(Object.keys(e).map(t=>e[t]&&this._save(t,e[t])))}async _overwrite(e){await this._clear(),await this._merge(e)}async _remove(e){return this._connector.remove(e)}async _save(e,t){return this._connector.save(e,JSON.stringify({v:t}))}};Dt.StateDB=Ot;(function(i){class e{constructor(){this._storage={}}async fetch(n){return this._storage[n]}async list(n=""){return Object.keys(this._storage).reduce((s,r)=>((n===""||n===r.split(":")[0])&&(s.ids.push(r),s.values.push(this._storage[r])),s),{ids:[],values:[]})}async remove(n){delete this._storage[n]}async save(n,s){this._storage[n]=s}}i.Connector=e})(Ot||(Dt.StateDB=Ot={}))});var Ia=I(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.IStateDB=void 0;var Gc=ne();jn.IStateDB=new Gc.Token("@jupyterlab/coreutils:IStateDB",`A service for the JupyterLab state database.
|
|
8
8
|
Use this if you want to store data that will persist across page loads.
|
|
9
|
-
See "state database" for more information.`)});var Ji=I(Ee=>{"use strict";var Yc=Ee&&Ee.__createBinding||(Object.create?function(i,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,n,s)}:function(i,e,t,n){n===void 0&&(n=t),i[n]=e[t]}),jt=Ee&&Ee.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Yc(e,i,t)};Object.defineProperty(Ee,"__esModule",{value:!0});jt(ba(),Ee);jt(xa(),Ee);jt(Ea(),Ee);jt(Ma(),Ee);jt(Ia(),Ee)});var Yi=I(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.SettingManager=void 0;var Hi=X(),Xc=Ji(),Tn=ue(),Zc="api/settings",Gi=class extends Xc.DataConnector{constructor(e={}){var t;super(),this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:Tn.ServerConnection.makeSettings()}async fetch(e){if(!e)throw new Error("Plugin `id` parameter is required for settings fetch.");let{serverSettings:t}=this,{baseUrl:n,appUrl:s}=t,{makeRequest:r,ResponseError:a}=Tn.ServerConnection,o=n+s,u=Tt.url(o,e),c=await r(u,{},t);if(c.status!==200)throw await a.create(c);return c.json()}async list(e){var t,n,s,r;let{serverSettings:a}=this,{baseUrl:o,appUrl:u}=a,{makeRequest:c,ResponseError:d}=Tn.ServerConnection,l=o+u,p=Tt.url(l,"",e==="ids"),_=await c(p,{},a);if(_.status!==200)throw new d(_);let g=await _.json(),E=(n=(t=g==null?void 0:g.settings)===null||t===void 0?void 0:t.map(O=>O.id))!==null&&n!==void 0?n:[],S=[];return e||(S=(r=(s=g==null?void 0:g.settings)===null||s===void 0?void 0:s.map(O=>(O.data={composite:{},user:{}},O)))!==null&&r!==void 0?r:[]),{ids:E,values:S}}async save(e,t){let{serverSettings:n}=this,{baseUrl:s,appUrl:r}=n,{makeRequest:a,ResponseError:o}=Tn.ServerConnection,u=s+r,c=Tt.url(u,e),d={body:JSON.stringify({raw:t}),method:"PUT"},l=await a(c,d,n);if(l.status!==204)throw new o(l)}};qn.SettingManager=Gi;var Tt;(function(i){function e(t,n,s){let r=s?Hi.URLExt.objectToQueryString({ids_only:!0}):"",a=Hi.URLExt.join(t,Zc),o=Hi.URLExt.join(a,n);if(!o.startsWith(a))throw new Error("Can only be used for workspaces requests");return`${o}${r}`}i.url=e})(Tt||(Tt={}))});var Ut=I(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});ye.TerminalAPIClient=ye.TERMINAL_SERVICE_URL=void 0;ye.isAvailable=Zi;ye.startNew=Ra;ye.listRunning=Oa;ye.shutdownTerminal=Da;var qt=X(),Le=ue();ye.TERMINAL_SERVICE_URL="api/terminals";function Zi(){return String(qt.PageConfig.getOption("terminalsAvailable")).toLowerCase()==="true"}async function Ra(i=Le.ServerConnection.makeSettings(),e,t){At.errorIfNotAvailable();let n=qt.URLExt.join(i.baseUrl,ye.TERMINAL_SERVICE_URL),s={method:"POST",body:JSON.stringify({name:e,cwd:t})},r=await Le.ServerConnection.makeRequest(n,s,i);if(r.status!==200)throw await Le.ServerConnection.ResponseError.create(r);return await r.json()}async function Oa(i=Le.ServerConnection.makeSettings()){At.errorIfNotAvailable();let e=qt.URLExt.join(i.baseUrl,ye.TERMINAL_SERVICE_URL),t=await Le.ServerConnection.makeRequest(e,{},i);if(t.status!==200)throw await Le.ServerConnection.ResponseError.create(t);let n=await t.json();if(!Array.isArray(n))throw new Error("Invalid terminal list");return n}async function Da(i,e=Le.ServerConnection.makeSettings()){var t;At.errorIfNotAvailable();let n=qt.URLExt.join(e.baseUrl,ye.TERMINAL_SERVICE_URL),s=qt.URLExt.join(n,i);if(!s.startsWith(n))throw new Error("Can only be used for terminal requests");let r={method:"DELETE"},a=await Le.ServerConnection.makeRequest(s,r,e);if(a.status===404){let u=(t=(await a.json()).message)!==null&&t!==void 0?t:`The terminal session "${i}"" does not exist on the server`;console.warn(u)}else if(a.status!==204)throw await Le.ServerConnection.ResponseError.create(a)}var Xi=class{constructor(e={}){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:Le.ServerConnection.makeSettings()}get isAvailable(){return Zi()}async startNew(e={}){let{name:t,cwd:n}=e;return Ra(this.serverSettings,t,n)}async listRunning(){return Oa(this.serverSettings)}async shutdown(e){return Da(e,this.serverSettings)}};ye.TerminalAPIClient=Xi;var At;(function(i){function e(){if(!Zi())throw new Error("Terminals Unavailable")}i.errorIfNotAvailable=e})(At||(At={}))});var ja=I(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.isAvailable=void 0;var Qc=Ut();Object.defineProperty(An,"isAvailable",{enumerable:!0,get:function(){return Qc.isAvailable}})});var Ta=I(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.TerminalConnection=void 0;var ed=X(),td=ne(),Un=Q(),nd=Fe(),id=Ut(),Qi=class i{constructor(e){var t,n;this._createSocket=()=>{this._errorIfDisposed(),this._clearSocket(),this._updateConnectionStatus("connecting");let s=this._name,r=this.serverSettings,a=ed.URLExt.join(r.wsUrl,"terminals","websocket",encodeURIComponent(s)),o=r.token;r.appendToken&&o!==""&&(a=a+`?token=${encodeURIComponent(o)}`),this._ws=new r.WebSocket(a),this._ws.onmessage=this._onWSMessage,this._ws.onclose=this._onWSClose,this._ws.onerror=this._onWSClose},this._onWSMessage=s=>{if(this._isDisposed)return;let r=JSON.parse(s.data);if(r[0]==="disconnect"&&this.dispose(),this._connectionStatus==="connecting"){r[0]==="setup"&&this._updateConnectionStatus("connected");return}this._messageReceived.emit({type:r[0],content:r.slice(1)})},this._onWSClose=s=>{console.warn(`Terminal websocket closed: ${s.code}`),this.isDisposed||this._reconnect()},this._connectionStatus="connecting",this._connectionStatusChanged=new Un.Signal(this),this._isDisposed=!1,this._disposed=new Un.Signal(this),this._messageReceived=new Un.Signal(this),this._reconnectTimeout=null,this._ws=null,this._noOp=()=>{},this._reconnectLimit=7,this._reconnectAttempt=0,this._pendingMessages=[],this._name=e.model.name,this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:nd.ServerConnection.makeSettings(),this._terminalAPIClient=(n=e.terminalAPIClient)!==null&&n!==void 0?n:new id.TerminalAPIClient({serverSettings:this.serverSettings}),this._createSocket()}get disposed(){return this._disposed}get messageReceived(){return this._messageReceived}get name(){return this._name}get model(){return{name:this._name}}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposed.emit(),this._updateConnectionStatus("disconnected"),this._clearSocket(),Un.Signal.clearData(this))}send(e){this._sendMessage(e)}_sendMessage(e,t=!0){if(!(this._isDisposed||!e.content))if(this.connectionStatus==="connected"&&this._ws){let n=[e.type,...e.content];this._ws.send(JSON.stringify(n))}else if(t)this._pendingMessages.push(e);else throw new Error(`Could not send message: ${JSON.stringify(e)}`)}_sendPending(){for(;this.connectionStatus==="connected"&&this._pendingMessages.length>0;)this._sendMessage(this._pendingMessages[0],!1),this._pendingMessages.shift()}reconnect(){this._errorIfDisposed();let e=new td.PromiseDelegate,t=(n,s)=>{s==="connected"?(e.resolve(),this.connectionStatusChanged.disconnect(t,this)):s==="disconnected"&&(e.reject(new Error("Terminal connection disconnected")),this.connectionStatusChanged.disconnect(t,this))};return this.connectionStatusChanged.connect(t,this),this._reconnectAttempt=0,this._reconnect(),e.promise}_reconnect(){if(this._errorIfDisposed(),clearTimeout(this._reconnectTimeout),this._reconnectAttempt<this._reconnectLimit){this._updateConnectionStatus("connecting");let e=es.getRandomIntInclusive(0,1e3*(Math.pow(2,this._reconnectAttempt)-1));console.error(`Connection lost, reconnecting in ${Math.floor(e/1e3)} seconds.`),this._reconnectTimeout=setTimeout(this._createSocket,e),this._reconnectAttempt+=1}else this._updateConnectionStatus("disconnected");this._clearSocket()}_clearSocket(){this._ws!==null&&(this._ws.onopen=this._noOp,this._ws.onclose=this._noOp,this._ws.onerror=this._noOp,this._ws.onmessage=this._noOp,this._ws.close(),this._ws=null)}async shutdown(){await this._terminalAPIClient.shutdown(this.name),this.dispose()}clone(){return new i({model:this.model,serverSettings:this.serverSettings,terminalAPIClient:this._terminalAPIClient})}_updateConnectionStatus(e){this._connectionStatus!==e&&(this._connectionStatus=e,e!=="connecting"&&(this._reconnectAttempt=0,clearTimeout(this._reconnectTimeout)),e==="connected"&&this._sendPending(),this._connectionStatusChanged.emit(e))}_errorIfDisposed(){if(this.isDisposed)throw new Error("Terminal connection is disposed")}get connectionStatusChanged(){return this._connectionStatusChanged}get connectionStatus(){return this._connectionStatus}};Nn.TerminalConnection=Qi;var es;(function(i){function e(t,n){return t=Math.ceil(t),n=Math.floor(n),Math.floor(Math.random()*(n-t+1))+t}i.getRandomIntInclusive=e})(es||(es={}))});var Aa=I(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.TerminalManager=void 0;var sd=Qe(),qa=Q(),rd=Fe(),ad=Ze(),od=Ut(),ld=Ta(),Nt=class extends ad.BaseManager{constructor(e={}){var t,n;if(super(e),this._isReady=!1,this._names=[],this._terminalConnections=new Set,this._runningChanged=new qa.Signal(this),this._connectionFailure=new qa.Signal(this),this._terminalAPIClient=(t=e.terminalAPIClient)!==null&&t!==void 0?t:new od.TerminalAPIClient({serverSettings:this.serverSettings}),!this.isAvailable()){this._ready=Promise.reject("Terminals unavailable"),this._ready.catch(s=>{});return}this._pollModels=new sd.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:10*1e3,backoff:!0,max:300*1e3},name:"@jupyterlab/services:TerminalManager#models",standby:(n=e.standby)!==null&&n!==void 0?n:"when-hidden"}),this._ready=(async()=>{await this._pollModels.start(),await this._pollModels.tick,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){this.isDisposed||(this._names.length=0,this._terminalConnections.forEach(e=>e.dispose()),this._pollModels.dispose(),super.dispose())}isAvailable(){return this._terminalAPIClient.isAvailable}connectTo(e){let t=new ld.TerminalConnection({...e,serverSettings:this.serverSettings,terminalAPIClient:this._terminalAPIClient});return this._onStarted(t),this._names.includes(e.model.name)||this.refreshRunning().catch(()=>{}),t}running(){return this._models[Symbol.iterator]()}async refreshRunning(){await this._pollModels.refresh(),await this._pollModels.tick}async startNew(e={}){let{name:t,cwd:n}=e,s=await this._terminalAPIClient.startNew({name:t,cwd:n});return await this.refreshRunning(),this.connectTo({model:s})}async shutdown(e){await this._terminalAPIClient.shutdown(e),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all(this._names.map(e=>this._terminalAPIClient.shutdown(e))),await this.refreshRunning()}async requestRunning(){var e,t;let n;try{n=await this._terminalAPIClient.listRunning()}catch(r){throw(r instanceof rd.ServerConnection.NetworkError||((e=r.response)===null||e===void 0?void 0:e.status)===503||((t=r.response)===null||t===void 0?void 0:t.status)===424)&&this._connectionFailure.emit(r),r}if(this.isDisposed)return;let s=n.map(({name:r})=>r).sort();s!==this._names&&(this._names=s,this._terminalConnections.forEach(r=>{s.includes(r.name)||r.dispose()}),this._runningChanged.emit(this._models))}_onStarted(e){this._terminalConnections.add(e),e.disposed.connect(this._onDisposed,this)}_onDisposed(e){this._terminalConnections.delete(e),this.refreshRunning().catch(()=>{})}get _models(){return this._names.map(e=>({name:e}))}};Lt.TerminalManager=Nt;(function(i){class e extends i{constructor(){super(...arguments),this._readyPromise=new Promise(()=>{})}get isActive(){return!1}get parentReady(){return super.ready}get ready(){return this.parentReady.then(()=>this._readyPromise)}async startNew(n){return Promise.reject(new Error("Not implemented in no-op Terminal Manager"))}connectTo(n){throw Error("Not implemented in no-op Terminal Manager")}async shutdown(n){return Promise.reject(new Error("Not implemented in no-op Terminal Manager"))}async requestRunning(){return Promise.resolve()}}i.NoopManager=e})(Nt||(Lt.TerminalManager=Nt={}))});var ts=I(ge=>{"use strict";var Ua=ge&&ge.__createBinding||(Object.create?function(i,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,n,s)}:function(i,e,t,n){n===void 0&&(n=t),i[n]=e[t]}),cd=ge&&ge.__setModuleDefault||(Object.create?function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}:function(i,e){i.default=e}),Na=ge&&ge.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&Ua(e,i,t);return cd(e,i),e},dd=ge&&ge.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Ua(e,i,t)};Object.defineProperty(ge,"__esModule",{value:!0});ge.TerminalAPI=ge.Terminal=void 0;var ud=Na(ja());ge.Terminal=ud;var pd=Na(Ut());ge.TerminalAPI=pd;dd(Aa(),ge)});var rs=I(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.UserManager=void 0;var hd=X(),fd=ne(),md=Qe(),La=Q(),gd=ue(),_d=Ze(),vd="api/me",ns="@jupyterlab/services:UserManager#user",is=class extends _d.BaseManager{constructor(e={}){var t;super(e),this._isReady=!1,this._userChanged=new La.Signal(this),this._connectionFailure=new La.Signal(this),this._ready=this.requestUser().then(()=>{this.isDisposed||(this._isReady=!0)}).catch(n=>new Promise(()=>{})),this._pollSpecs=new md.Poll({auto:!1,factory:()=>this.requestUser(),frequency:{interval:61*1e3,backoff:!0,max:300*1e3},name:ns,standby:(t=e.standby)!==null&&t!==void 0?t:"when-hidden"}),this.ready.then(()=>{this._pollSpecs.start()})}get isReady(){return this._isReady}get ready(){return this._ready}get identity(){return this._identity}get permissions(){return this._permissions}get userChanged(){return this._userChanged}get connectionFailure(){return this._connectionFailure}dispose(){this._pollSpecs.dispose(),super.dispose()}async refreshUser(){await this._pollSpecs.refresh(),await this._pollSpecs.tick}async requestUser(){if(this.isDisposed)return;let{baseUrl:e}=this.serverSettings,{makeRequest:t,ResponseError:n}=gd.ServerConnection,s=hd.URLExt.join(e,vd),r=await t(s,{},this.serverSettings);if(r.status!==200)throw await n.create(r);let a={identity:this._identity,permissions:this._permissions},o=await r.json(),u=o.identity,{localStorage:c}=window,d=c.getItem(ns);if(d&&(!u.initials||!u.color)){let l=JSON.parse(d);u.initials=u.initials||l.initials||u.name.substring(0,1),u.color=u.color||l.color||ss.getRandomColor()}fd.JSONExt.deepEqual(o,a)||(this._identity=u,this._permissions=o.permissions,c.setItem(ns,JSON.stringify(u)),this._userChanged.emit(o))}};Ln.UserManager=is;var ss;(function(i){let e=["var(--jp-collaborator-color1)","var(--jp-collaborator-color2)","var(--jp-collaborator-color3)","var(--jp-collaborator-color4)","var(--jp-collaborator-color5)","var(--jp-collaborator-color6)","var(--jp-collaborator-color7)"];i.getRandomColor=()=>e[Math.floor(Math.random()*e.length)]})(ss||(ss={}))});var os=I(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.WorkspaceManager=void 0;var za=X(),yd=Ji(),zt=ue(),wd="api/workspaces",as=class extends yd.DataConnector{constructor(e={}){var t;super(),this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:zt.ServerConnection.makeSettings()}async fetch(e){let{serverSettings:t}=this,{baseUrl:n,appUrl:s}=t,{makeRequest:r,ResponseError:a}=zt.ServerConnection,o=n+s,u=ut.url(o,e),c=await r(u,{},t);if(c.status!==200)throw await a.create(c);return c.json()}async list(){let{serverSettings:e}=this,{baseUrl:t,appUrl:n}=e,{makeRequest:s,ResponseError:r}=zt.ServerConnection,a=t+n,o=ut.url(a,""),u=await s(o,{},e);if(u.status!==200)throw await r.create(u);return(await u.json()).workspaces}async remove(e){let{serverSettings:t}=this,{baseUrl:n,appUrl:s}=t,{makeRequest:r,ResponseError:a}=zt.ServerConnection,o=n+s,u=ut.url(o,e),d=await r(u,{method:"DELETE"},t);if(d.status!==204)throw await a.create(d)}async save(e,t){let{serverSettings:n}=this,{baseUrl:s,appUrl:r}=n,{makeRequest:a,ResponseError:o}=zt.ServerConnection,u=s+r,c=ut.url(u,e),d={body:JSON.stringify(t),method:"PUT"},l=await a(c,d,n);if(l.status!==204)throw await o.create(l)}};zn.WorkspaceManager=as;var ut;(function(i){function e(t,n){let s=za.URLExt.join(t,wd),r=za.URLExt.join(s,n);if(!r.startsWith(s))throw new Error("Can only be used for workspaces requests");return r}i.url=e})(ut||(ut={}))});var Ka=I(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.ServiceManager=void 0;var Fa=Q(),bd=aa(),Sd=xi(),xd=ki(),Cd=Ti(),kd=Ai(),Pd=Fi(),Ed=ue(),Md=$i(),Id=Yi(),Rd=ts(),Od=rs(),Dd=os(),ls=class{constructor(e={}){var t,n;this._isDisposed=!1,this._connectionFailure=new Fa.Signal(this),this._isReady=!1;let s=e.defaultDrive,r=(t=e.serverSettings)!==null&&t!==void 0?t:Ed.ServerConnection.makeSettings(),a=(n=e.standby)!==null&&n!==void 0?n:"when-hidden",o={defaultDrive:s,serverSettings:r,standby:a};this.serverSettings=r,this.contents=e.contents||new Sd.ContentsManager(o),this.events=e.events||new xd.EventManager(o),this.kernels=e.kernels||new Cd.KernelManager(o),this.sessions=e.sessions||new Md.SessionManager({...o,kernelManager:this.kernels}),this.settings=e.settings||new Id.SettingManager(o),this.terminals=e.terminals||new Rd.TerminalManager(o),this.builder=e.builder||new bd.BuildManager(o),this.workspaces=e.workspaces||new Dd.WorkspaceManager(o),this.nbconvert=e.nbconvert||new Pd.NbConvertManager(o),this.kernelspecs=e.kernelspecs||new kd.KernelSpecManager(o),this.user=e.user||new Od.UserManager(o),this.kernelspecs.connectionFailure.connect(this._onConnectionFailure,this),this.sessions.connectionFailure.connect(this._onConnectionFailure,this),this.terminals.connectionFailure.connect(this._onConnectionFailure,this);let u=[this.sessions.ready,this.kernelspecs.ready];this.terminals.isAvailable()&&u.push(this.terminals.ready),this._readyPromise=Promise.all(u).then(()=>{this._isReady=!0})}get connectionFailure(){return this._connectionFailure}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,Fa.Signal.clearData(this),this.contents.dispose(),this.events.dispose(),this.sessions.dispose(),this.terminals.dispose())}get isReady(){return this._isReady}get ready(){return this._readyPromise}_onConnectionFailure(e,t){this._connectionFailure.emit(t)}};Fn.ServiceManager=ls});var Ba=I(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.IWorkspaceManager=L.IUserManager=L.ITerminalManager=L.IServiceManager=L.ISettingManager=L.ISessionManager=L.IServerSettings=L.INbConvertManager=L.IKernelSpecManager=L.IKernelManager=L.IEventManager=L.IDefaultDrive=L.IContentsManager=L.IConfigSectionManager=L.IConnectionStatus=void 0;var _e=ne();L.IConnectionStatus=new _e.Token("@jupyterlab/application:IConnectionStatus","A service providing the application connection status.");L.IConfigSectionManager=new _e.Token("@jupyterlab/services:IConfigSectionManager","A service providing the config section manager.");L.IContentsManager=new _e.Token("@jupyterlab/services:IContentsManager","The contents manager token.");L.IDefaultDrive=new _e.Token("@jupyterlab/services:IDefaultDrive","The default drive for the contents manager.");L.IEventManager=new _e.Token("@jupyterlab/services:IEventManager","The event manager token.");L.IKernelManager=new _e.Token("@jupyterlab/services:IKernelManager","The kernel manager token.");L.IKernelSpecManager=new _e.Token("@jupyterlab/services:IKernelSpecManager","The kernel spec manager token.");L.INbConvertManager=new _e.Token("@jupyterlab/services:INbConvertManager","The nbconvert manager token.");L.IServerSettings=new _e.Token("@jupyterlab/services:IServerSettings","The server settings for the application.");L.ISessionManager=new _e.Token("@jupyterlab/services:ISessionManager","The session manager token.");L.ISettingManager=new _e.Token("@jupyterlab/services:ISettingManager","The setting manager token.");L.IServiceManager=new _e.Token("@jupyterlab/services:IServiceManager","The service manager for the application.");L.ITerminalManager=new _e.Token("@jupyterlab/services:ITerminalManager","The terminal manager token.");L.IUserManager=new _e.Token("@jupyterlab/services:IUserManager","The user manager token.");L.IWorkspaceManager=new _e.Token("@jupyterlab/services:IWorkspaceManager","The workspace manager token.")});var Fe=I(W=>{"use strict";var jd=W&&W.__createBinding||(Object.create?function(i,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,n,s)}:function(i,e,t,n){n===void 0&&(n=t),i[n]=e[t]}),ce=W&&W.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&jd(e,i,t)};Object.defineProperty(W,"__esModule",{value:!0});ce(Ze(),W);ce(wr(),W);ce(br(),W);ce(xi(),W);ce(ki(),W);ce(Ti(),W);ce(Ai(),W);ce(Ka(),W);ce(ue(),W);ce($i(),W);ce(Yi(),W);ce(ts(),W);ce(Ba(),W);ce(rs(),W);ce(os(),W);ce(Fi(),W)});var Va=I((dp,$a)=>{"use strict";function Kn(){this._types=Object.create(null),this._extensions=Object.create(null);for(let i=0;i<arguments.length;i++)this.define(arguments[i]);this.define=this.define.bind(this),this.getType=this.getType.bind(this),this.getExtension=this.getExtension.bind(this)}Kn.prototype.define=function(i,e){for(let t in i){let n=i[t].map(function(s){return s.toLowerCase()});t=t.toLowerCase();for(let s=0;s<n.length;s++){let r=n[s];if(r[0]!=="*"){if(!e&&r in this._types)throw new Error('Attempt to change mapping for "'+r+'" extension from "'+this._types[r]+'" to "'+t+'". Pass `force=true` to allow this, otherwise remove "'+r+'" from the list of extensions for "'+t+'".');this._types[r]=t}}if(e||!this._extensions[t]){let s=n[0];this._extensions[t]=s[0]!=="*"?s:s.substr(1)}}};Kn.prototype.getType=function(i){i=String(i);let e=i.replace(/^.*[/\\]/,"").toLowerCase(),t=e.replace(/^.*\./,"").toLowerCase(),n=e.length<i.length;return(t.length<e.length-1||!n)&&this._types[t]||null};Kn.prototype.getExtension=function(i){return i=/^\s*([^;\s]*)/.test(i)&&RegExp.$1,i&&this._extensions[i.toLowerCase()]||null};$a.exports=Kn});var Ja=I((up,Wa)=>{Wa.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"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/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/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"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","mjs"],"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/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":["mp4s","m4p"],"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-signature":["asc","sig"],"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/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/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/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/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/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"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"],"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/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"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/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"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/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"]}});var Ga=I((pp,Ha)=>{Ha.exports={"application/prs.cww":["cww"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.sap.vds":["vds"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}});var Xa=I((hp,Ya)=>{"use strict";var Td=Va();Ya.exports=new Td(Ja(),Ga())});var Za,Qa,we,ze,cs=nt(()=>{Za=$e(X()),Qa=$e(Xa());(function(i){i.JSON="application/json",i.PLAIN_TEXT="text/plain",i.OCTET_STREAM="octet/stream"})(we||(we={}));(function(i){let e=JSON.parse(Za.PageConfig.getOption("fileTypes")||"{}");function t(s,r=null){s=s.toLowerCase();for(let a of Object.values(e))for(let o of a.extensions||[])if(o===s&&a.mimeTypes&&a.mimeTypes.length)return a.mimeTypes[0];return Qa.default.getType(s)||r||we.OCTET_STREAM}i.getType=t;function n(s,r){s=s.toLowerCase();for(let a of Object.values(e))if(a.fileFormat===r){for(let o of a.extensions||[])if(o===s)return!0}return!1}i.hasFormat=n})(ze||(ze={}))});var Be,no,ke,io,us,eo,so,to,Ft,ds,ps,Bn,ro=nt(()=>{Be=$e(X()),no=$e(Fe()),ke=$e(X()),io=$e(ne()),us=$e(Q());cs();eo="JupyterLite Storage",so="BrowserStorage",to=5,Ft=new TextEncoder,ds=new TextDecoder("utf-8"),ps=class{constructor(e){var t;this.reduceBytesToString=(n,s)=>n+String.fromCharCode(s),this._serverContents=new Map,this._isDisposed=!1,this._fileChanged=new us.Signal(this),this._storageName=eo,this._storageDrivers=null,this._localforage=e.localforage,this._storageName=e.storageName||eo,this._storageDrivers=e.storageDrivers||null,this._serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:no.ServerConnection.makeSettings(),this._ready=new io.PromiseDelegate,this.initialize().catch(console.warn)}dispose(){this.isDisposed||(this._isDisposed=!0,us.Signal.clearData(this))}get isDisposed(){return this._isDisposed}get name(){return so}get serverSettings(){return this._serverSettings}get fileChanged(){return this._fileChanged}async getDownloadUrl(e){throw new Error("Method not implemented.")}async initialize(){await this.initStorage(),this._ready.resolve(void 0)}async initStorage(){this._storage=this.createDefaultStorage(),this._counters=this.createDefaultCounters(),this._checkpoints=this.createDefaultCheckpoints()}get ready(){return this._ready.promise}get storage(){return this.ready.then(()=>this._storage)}get counters(){return this.ready.then(()=>this._counters)}get checkpoints(){return this.ready.then(()=>this._checkpoints)}get defaultStorageOptions(){let e=this._storageDrivers&&this._storageDrivers.length?this._storageDrivers:null;return{version:1,name:this._storageName,...e?{driver:e}:{}}}createDefaultStorage(){return this._localforage.createInstance({description:"Offline Storage for Notebooks and Files",storeName:"files",...this.defaultStorageOptions})}createDefaultCounters(){return this._localforage.createInstance({description:"Store the current file suffix counters",storeName:"counters",...this.defaultStorageOptions})}createDefaultCheckpoints(){return this._localforage.createInstance({description:"Offline Storage for Checkpoints",storeName:"checkpoints",...this.defaultStorageOptions})}async newUntitled(e){var t,n,s;let r=(t=e==null?void 0:e.path)!==null&&t!==void 0?t:"",a=(n=e==null?void 0:e.type)!==null&&n!==void 0?n:"notebook",o=new Date().toISOString(),u=ke.PathExt.dirname(r),c=ke.PathExt.basename(r),d=ke.PathExt.extname(r),l=await this.get(u).catch(()=>null),p="";r&&!d&&l?(u=`${r}/`,p=""):u&&c?(u=`${u}/`,p=c):(u="",p=r);let _;switch(a){case"directory":{p=`Untitled Folder${await this._incrementCounter("directory")||""}`,_={name:p,path:`${u}${p}`,last_modified:o,created:o,format:"json",mimetype:"",content:null,size:0,writable:!0,type:"directory"};break}case"notebook":{let E=await this._incrementCounter("notebook");p=p||`Untitled${E||""}.ipynb`,_={name:p,path:`${u}${p}`,last_modified:o,created:o,format:"json",mimetype:we.JSON,content:Bn.EMPTY_NB,size:Ft.encode(JSON.stringify(Bn.EMPTY_NB)).length,writable:!0,type:"notebook"};break}default:{let E=(s=e==null?void 0:e.ext)!==null&&s!==void 0?s:".txt";E.startsWith(".")||(E=`.${E}`);let S=await this._incrementCounter("file"),O=ze.getType(E)||we.OCTET_STREAM,q;ze.hasFormat(E,"text")||O.indexOf("text")!==-1?q="text":E.indexOf("json")!==-1||E.indexOf("ipynb")!==-1?q="json":q="base64",p=p||`untitled${S||""}${E}`,_={name:p,path:`${u}${p}`,last_modified:o,created:o,format:q,mimetype:O,content:"",size:0,writable:!0,type:"file"};break}}let g=_.path;return await(await this.storage).setItem(g,_),this._fileChanged.emit({type:"new",oldValue:null,newValue:_}),_}async copy(e,t){let n=ke.PathExt.basename(e);for(t=t===""?"":`${ke.PathExt.removeSlash(t)}/`;await this.get(`${t}${n}`,{content:!0}).then(()=>!0).catch(()=>!1);){let a=ke.PathExt.extname(n);n=`${n.replace(a,"")} (copy)${a}`}let s=`${t}${n}`,r=await this.get(e,{content:!0}).catch(()=>null);if(!r)throw Error(`Could not find file with path ${e}`);return r={...r,name:n,path:s},await(await this.storage).setItem(s,r),this._fileChanged.emit({type:"new",oldValue:null,newValue:r}),r}async get(e,t){if(e=decodeURIComponent(e.replace(/^\//,"")),e===""){let o=await this._getFolder(e);if(o===null)throw Error(`Could not find file with path ${e}`);return o}let n=await this.storage,s=await n.getItem(e),r=await this._getServerContents(e,t),a=s||r;if(!a)throw Error(`Could not find content with path ${e}`);if(!(t!=null&&t.content))return{size:0,...a,content:null};if(a.type==="directory"){let o=new Map;await n.iterate((d,l)=>{l===`${e}/${d.name}`&&o.set(d.name,d)});let u=r?r.content:Array.from((await this._getServerDirectory(e)).values());for(let d of u)o.has(d.name)||o.set(d.name,d);let c=[...o.values()];return{name:ke.PathExt.basename(e),path:e,last_modified:a.last_modified,created:a.created,format:"json",mimetype:we.JSON,content:c,size:0,writable:!0,type:"directory"}}return a}async rename(e,t){let n=decodeURIComponent(e),s=await this.get(n,{content:!0}).catch(()=>null);if(!s)throw Error(`Could not find file with path ${n}`);let r=new Date().toISOString(),a=ke.PathExt.basename(t),o={...s,name:a,path:t,last_modified:r},u=await this.storage;if(await u.setItem(t,o),await u.removeItem(n),await(await this.checkpoints).removeItem(n),s.type==="directory"){let c;for(c of s.content)await this.rename(Be.URLExt.join(e,c.name),Be.URLExt.join(t,c.name))}return this._fileChanged.emit({type:"rename",oldValue:{path:e},newValue:o}),o}async save(e,t={}){var n;e=decodeURIComponent(e);let s=ke.PathExt.extname((n=t.name)!==null&&n!==void 0?n:""),r=t.chunk,a=r?r>1||r===-1:!1,o=await this.get(e,{content:a}).catch(()=>null);if(o||(o=await this.newUntitled({path:e,ext:s,type:"file"})),!o)throw Error(`Could not find file with path ${e}`);let u=o.content,c=new Date().toISOString();if(o={...o,...t,last_modified:c},t.content&&t.format==="base64"){let d=r?r===-1:!0,l=this._handleUploadChunk(t.content,u,a);if(s===".ipynb"){let p=d?JSON.parse(ds.decode(this._binaryStringToBytes(l))):l;o={...o,content:p,format:"json",type:"notebook",size:l.length}}else if(ze.hasFormat(s,"json")){let p=d?JSON.parse(ds.decode(this._binaryStringToBytes(l))):l;o={...o,content:p,format:"json",type:"file",size:l.length}}else if(ze.hasFormat(s,"text")){let p=d?ds.decode(this._binaryStringToBytes(l)):l;o={...o,content:p,format:"text",type:"file",size:l.length}}else{let p=d?btoa(l):l;o={...o,content:p,format:"base64",type:"file",size:l.length}}}if(o.content)switch(t.format){case"json":{o={...o,size:Ft.encode(JSON.stringify(o.content)).length};break}case"text":{o={...o,size:Ft.encode(o.content).length};break}case"base64":break;default:{o={...o,size:0};break}}else o={...o,size:0};return await(await this.storage).setItem(e,o),this._fileChanged.emit({type:"save",oldValue:null,newValue:o}),o}async delete(e){e=decodeURIComponent(e);let t=`${e}/`,n=(await(await this.storage).keys()).filter(s=>s===e||s.startsWith(t));await Promise.all(n.map(this.forgetPath,this)),this._fileChanged.emit({type:"delete",oldValue:{path:e},newValue:null})}async forgetPath(e){await Promise.all([(await this.storage).removeItem(e),(await this.checkpoints).removeItem(e)])}async createCheckpoint(e){var t;let n=await this.checkpoints;e=decodeURIComponent(e);let s=await this.get(e,{content:!0}).catch(()=>null);if(!s)throw Error(`Could not find file with path ${e}`);let r=((t=await n.getItem(e))!==null&&t!==void 0?t:[]).filter(Boolean);return r.push(s),r.length>to&&r.splice(0,r.length-to),await n.setItem(e,r),{id:`${r.length-1}`,last_modified:s.last_modified}}async listCheckpoints(e){return(await(await this.checkpoints).getItem(e)||[]).filter(Boolean).map(this.normalizeCheckpoint,this)}normalizeCheckpoint(e,t){return{id:t.toString(),last_modified:e.last_modified}}async restoreCheckpoint(e,t){e=decodeURIComponent(e);let n=await(await this.checkpoints).getItem(e)||[],s=parseInt(t),r=n[s];await(await this.storage).setItem(e,r)}async deleteCheckpoint(e,t){e=decodeURIComponent(e);let n=await(await this.checkpoints).getItem(e)||[],s=parseInt(t);n.splice(s,1),await(await this.checkpoints).setItem(e,n)}_handleUploadChunk(e,t,n){let s=atob(e);return n?t+s:s}_binaryStringToBytes(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}async _getFolder(e){let t=new Map;await(await this.storage).iterate((s,r)=>{r.includes("/")||t.set(s.path,s)});for(let s of(await this._getServerDirectory(e)).values())t.has(s.path)||t.set(s.path,s);return e&&t.size===0?null:{name:"",path:e,last_modified:new Date(0).toISOString(),created:new Date(0).toISOString(),format:"json",mimetype:we.JSON,content:Array.from(t.values()),size:0,writable:!0,type:"directory"}}async _getServerContents(e,t){let n=ke.PathExt.basename(e),r=(await this._getServerDirectory(Be.URLExt.join(e,".."))).get(n);if(!r)return null;if(r=r||{name:n,path:e,last_modified:new Date(0).toISOString(),created:new Date(0).toISOString(),format:"text",mimetype:we.PLAIN_TEXT,type:"file",writable:!0,size:0,content:""},t!=null&&t.content)if(r.type==="directory"){let a=await this._getServerDirectory(e);r={...r,content:Array.from(a.values())}}else{let a=Be.URLExt.join(Be.PageConfig.getBaseUrl(),"files",e),o=await fetch(a);if(!o.ok)return null;let u=r.mimetype||o.headers.get("Content-Type"),c=ke.PathExt.extname(n);if(r.type==="notebook"||ze.hasFormat(c,"json")||(u==null?void 0:u.indexOf("json"))!==-1||e.match(/\.(ipynb|[^/]*json[^/]*)$/)){let d=await o.text();r={...r,content:JSON.parse(d),format:"json",mimetype:r.mimetype||we.JSON,size:Ft.encode(d).length}}else if(ze.hasFormat(c,"text")||u.indexOf("text")!==-1){let d=await o.text();r={...r,content:d,format:"text",mimetype:u||we.PLAIN_TEXT,size:Ft.encode(d).length}}else{let d=await o.arrayBuffer(),l=new Uint8Array(d);r={...r,content:btoa(l.reduce(this.reduceBytesToString,"")),format:"base64",mimetype:u||we.OCTET_STREAM,size:l.length}}}return r}async _getServerDirectory(e){let t=this._serverContents.get(e)||new Map;if(!this._serverContents.has(e)){let n=Be.URLExt.join(Be.PageConfig.getBaseUrl(),"api/contents",e,"all.json");try{let s=await fetch(n),r=JSON.parse(await s.text());for(let a of r.content)t.set(a.name,a)}catch(s){console.warn(`don't worry, about ${s}... nothing's broken. If there had been a
|
|
10
|
-
file at ${n}, you might see some more files.`)}this._serverContents.set(e,t)}return t}async _incrementCounter(e){var t;let n=await this.counters,r=((t=await n.getItem(e))!==null&&t!==void 0?t:-1)+1;return await n.setItem(e,r),r}};(function(i){i.EMPTY_NB={metadata:{orig_nbformat:4},nbformat_minor:5,nbformat:4,cells:[]}})(Bn||(Bn={}))});function hs(i){return"node"in i}var Kt,ao,oo,lo,fs=nt(()=>{Kt=16895,ao=33206,oo=1,lo=2});var uo,qd,Jn,Ad,Ud,co,$n,Vn,pt,Wn,Bt,ms=nt(()=>{fs();uo=":",qd="/api/drive.v1",Jn=4096,Ad=new TextEncoder,Ud=new TextDecoder("utf-8"),co={0:!1,1:!0,2:!0,64:!0,65:!0,66:!0,129:!0,193:!0,514:!0,577:!0,578:!0,705:!0,706:!0,1024:!0,1025:!0,1026:!0,1089:!0,1090:!0,1153:!0,1154:!0,1217:!0,1218:!0,4096:!0,4098:!0},$n=class{constructor(e){this.fs=e}open(e){let t=this.fs.realPath(e.node);this.fs.FS.isFile(e.node.mode)&&(e.file=this.fs.API.get(t))}close(e){if(!this.fs.FS.isFile(e.node.mode)||!e.file)return;let t=this.fs.realPath(e.node),n=e.flags,s=typeof n=="string"?parseInt(n,10):n;s&=8191;let r=!0;s in co&&(r=co[s]),r&&this.fs.API.put(t,e.file),e.file=void 0}read(e,t,n,s,r){if(s<=0||e.file===void 0||r>=(e.file.data.length||0))return 0;let a=Math.min(e.file.data.length-r,s);return t.set(e.file.data.subarray(r,r+a),n),a}write(e,t,n,s,r){var a;if(s<=0||e.file===void 0)return 0;if(e.node.timestamp=Date.now(),r+s>(((a=e.file)===null||a===void 0?void 0:a.data.length)||0)){let o=e.file.data?e.file.data:new Uint8Array;e.file.data=new Uint8Array(r+s),e.file.data.set(o)}return e.file.data.set(t.subarray(n,n+s),r),s}llseek(e,t,n){let s=t;if(n===1)s+=e.position;else if(n===2&&this.fs.FS.isFile(e.node.mode))if(e.file!==void 0)s+=e.file.data.length;else throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM);if(s<0)throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EINVAL);return s}},Vn=class{constructor(e){this.fs=e}node(e){return hs(e)?e.node:e}getattr(e){let t=this.node(e);return{...this.fs.API.getattr(this.fs.realPath(t)),mode:t.mode,ino:t.id}}setattr(e,t){let n=this.node(e);for(let[s,r]of Object.entries(t))switch(s){case"mode":n.mode=r;break;case"timestamp":n.timestamp=r;break;case"size":{let a=r,o=this.fs.realPath(n);if(this.fs.FS.isFile(n.mode)&&a>=0){let u=this.fs.API.get(o),c=u.data?u.data:new Uint8Array;a!==c.length&&(a<c.length?u.data=u.data.slice(0,a):(u.data=new Uint8Array(a),u.data.set(c)),this.fs.API.put(o,u))}else console.warn("setattr size of",a,"on",n,"not yet implemented");break}default:console.warn("setattr",s,"of",r,"on",n,"not yet implemented");break}}lookup(e,t){let n=this.node(e),s=this.fs.PATH.join2(this.fs.realPath(n),t),r=this.fs.API.lookup(s);if(!r.ok)throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.ENOENT);return this.fs.createNode(n,t,r.mode,0)}mknod(e,t,n,s){let r=this.node(e),a=this.fs.PATH.join2(this.fs.realPath(r),t);return this.fs.API.mknod(a,n),this.fs.createNode(r,t,n,s)}rename(e,t,n){let s=this.node(e),r=this.node(t);this.fs.API.rename(s.parent?this.fs.PATH.join2(this.fs.realPath(s.parent),s.name):s.name,this.fs.PATH.join2(this.fs.realPath(r),n)),s.name=n,s.parent=r}unlink(e,t){this.fs.API.rmdir(this.fs.PATH.join2(this.fs.realPath(this.node(e)),t))}rmdir(e,t){this.fs.API.rmdir(this.fs.PATH.join2(this.fs.realPath(this.node(e)),t))}readdir(e){return this.fs.API.readdir(this.fs.realPath(this.node(e)))}symlink(e,t,n){throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM)}readlink(e){throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM)}},pt=class{constructor(e){this._driveName=e.driveName,this._mountpoint=e.mountpoint,this.FS=e.FS,this.ERRNO_CODES=e.ERRNO_CODES}lookup(e){return this.request({method:"lookup",path:this.normalizePath(e)})}getmode(e){return this.request({method:"getmode",path:this.normalizePath(e)})}mknod(e,t){return this.request({method:"mknod",path:this.normalizePath(e),data:{mode:t}})}rename(e,t){return this.request({method:"rename",path:this.normalizePath(e),data:{newPath:this.normalizePath(t)}})}readdir(e){let t=this.request({method:"readdir",path:this.normalizePath(e)});return t.push("."),t.push(".."),t}rmdir(e){return this.request({method:"rmdir",path:this.normalizePath(e)})}get(e){let t=this.request({method:"get",path:this.normalizePath(e)});if(!t)throw new this.FS.ErrnoError(this.ERRNO_CODES.ENOENT);let n=t.content,s=t.format;switch(s){case"json":case"text":return{data:Ad.encode(n),format:s};case"base64":{let r=atob(n),a=r.length,o=new Uint8Array(a);for(let u=0;u<a;u++)o[u]=r.charCodeAt(u);return{data:o,format:s}}default:throw new this.FS.ErrnoError(this.ERRNO_CODES.ENOENT)}}put(e,t){switch(t.format){case"json":case"text":return this.request({method:"put",path:this.normalizePath(e),data:{format:t.format,data:Ud.decode(t.data)}});case"base64":{let n="";for(let s=0;s<t.data.byteLength;s++)n+=String.fromCharCode(t.data[s]);return this.request({method:"put",path:this.normalizePath(e),data:{format:t.format,data:btoa(n)}})}}}getattr(e){let t=this.request({method:"getattr",path:this.normalizePath(e)});return t.atime&&(t.atime=new Date(t.atime)),t.mtime&&(t.mtime=new Date(t.mtime)),t.ctime&&(t.ctime=new Date(t.ctime)),t.size=t.size||0,t}normalizePath(e){return e.startsWith(this._mountpoint)&&(e=e.slice(this._mountpoint.length)),this._driveName&&(e=`${this._driveName}${uo}${e}`),e}},Wn=class extends pt{constructor(e){super(e),this._baseUrl=e.baseUrl,this._browsingContextId=e.browsingContextId||""}request(e){let t=new XMLHttpRequest;t.open("POST",encodeURI(this.endpoint),!1);let n={data:e,browsingContextId:this._browsingContextId};try{t.send(JSON.stringify(n))}catch(s){console.error(s)}if(t.status>=400)throw new this.FS.ErrnoError(this.ERRNO_CODES.EINVAL);return JSON.parse(t.responseText)}get endpoint(){return`${this._baseUrl}api/drive`}},Bt=class{constructor(e){this.FS=e.FS,this.PATH=e.PATH,this.ERRNO_CODES=e.ERRNO_CODES,this.API=this.createAPI(e),this.driveName=e.driveName,this.node_ops=new Vn(this),this.stream_ops=new $n(this)}createAPI(e){if(!e.browsingContextId||!e.baseUrl)throw new Error("Cannot create service-worker API without current browsingContextId");return new Wn(e)}mount(e){return this.createNode(null,e.mountpoint,16895,0)}createNode(e,t,n,s){let r=this.FS;if(!r.isDir(n)&&!r.isFile(n))throw new r.ErrnoError(this.ERRNO_CODES.EINVAL);let a=r.createNode(e,t,n,s);return a.node_ops=this.node_ops,a.stream_ops=this.stream_ops,a}getMode(e){return this.API.getmode(e)}realPath(e){let t=[],n=e;for(t.push(n.name);n.parent!==n;)n=n.parent,t.push(n.name);return t.reverse(),this.PATH.join.apply(null,t)}}});var gs,_s,po=nt(()=>{gs=$e(X());ms();_s=class{constructor(e){this.contentsManager=e.contentsManager}async processDriveRequest(e){switch(e.method){case"readdir":return this.readdir(e);case"rmdir":return this.rmdir(e);case"rename":return this.rename(e);case"getmode":return this.getmode(e);case"lookup":return this.lookup(e);case"mknod":return this.mknod(e);case"getattr":return this.getattr(e);case"get":return this.get(e);case"put":return this.put(e)}throw`Drive request ${e.method} does not exist.`}async readdir(e){let t=await this.contentsManager.get(e.path,{content:!0}),n=[];return t.type==="directory"&&t.content&&(n=t.content.map(s=>s.name)),n}async rmdir(e){return await this.contentsManager.delete(e.path),null}async rename(e){return await this.contentsManager.rename(e.path,e.data.newPath),null}async getmode(e){let t=await this.contentsManager.get(e.path),n;return t.type==="directory"?n=16895:n=33206,n}async lookup(e){let t;try{t={ok:!0,mode:(await this.contentsManager.get(e.path)).type==="directory"?16895:33206}}catch{t={ok:!1}}return t}async mknod(e){let t=await this.contentsManager.newUntitled({path:gs.PathExt.dirname(e.path),type:e.data.mode===16895?"directory":"file",ext:gs.PathExt.extname(e.path)});return await this.contentsManager.rename(t.path,e.path),null}async getattr(e){let t=await this.contentsManager.get(e.path),n=new Date(0).toISOString();return{dev:1,nlink:1,uid:0,gid:0,rdev:0,size:t.size||0,blksize:Jn,blocks:Math.ceil(t.size||0/Jn),atime:t.last_modified||n,mtime:t.last_modified||n,ctime:t.created||n,timestamp:0}}async get(e){let t=await this.contentsManager.get(e.path,{content:!0}),n;return t.type!=="directory"&&(n={content:t.format==="json"?JSON.stringify(t.content):t.content,format:t.format}),n}async put(e){return await this.contentsManager.save(e.path,{content:e.data.format==="json"?JSON.parse(e.data.data):e.data.data,type:"file",format:e.data.format}),null}}});var ho={};Po(ho,{BLOCK_SIZE:()=>Jn,BrowserStorageDrive:()=>ps,ContentsAPI:()=>pt,DIR_MODE:()=>Kt,DRIVE_API_PATH:()=>qd,DRIVE_NAME:()=>so,DRIVE_SEPARATOR:()=>uo,DriveContentsProcessor:()=>_s,DriveFS:()=>Bt,DriveFSEmscriptenNodeOps:()=>Vn,DriveFSEmscriptenStreamOps:()=>$n,FILE:()=>ze,FILE_MODE:()=>ao,MIME:()=>we,SEEK_CUR:()=>oo,SEEK_END:()=>lo,ServiceWorkerContentsAPI:()=>Wn,instanceOfStream:()=>hs});var vs=nt(()=>{ro();ms();cs();fs();po()});var Yn="function";var Ie="64e10b34-2bf7-4616-9668-f99de5aa046e",Fd="M"+Ie,Kd="T"+Ie;var Ss="get";var xs="has";var Cs="set";var{isArray:mt}=Array,{SharedArrayBuffer:gt,window:Mo}=globalThis,{notify:Xn,wait:Zn,waitAsync:_t}=Atomics,Qn=null;_t||(_t=i=>({value:new Promise(e=>{let t=new Worker("data:application/javascript,onmessage%3D(%7Bdata%3Ab%7D)%3D%3E(Atomics.wait(b%2C0)%2CpostMessage(0))");t.onmessage=e,t.postMessage(i)})}));try{new gt(4)}catch{gt=ArrayBuffer;let e=new WeakMap;if(Mo){let t=new Map,{prototype:{postMessage:n}}=Worker,s=r=>{var o;let a=(o=r.data)==null?void 0:o[Ie];if(!mt(a)){r.stopImmediatePropagation();let{id:u,sb:c}=a;t.get(u)(c)}};Qn=function(r,...a){let o=r==null?void 0:r[Ie];if(mt(o)){let[u,c]=o;e.set(c,u),this.addEventListener("message",s)}return n.call(this,r,...a)},_t=r=>({value:new Promise(a=>{t.set(e.get(r),a)}).then(a=>{t.delete(e.get(r)),e.delete(r);for(let o=0;o<a.length;o++)r[o]=a[o];return"ok"})})}else{let t=(n,s)=>({[Ie]:{id:n,sb:s}});Xn=n=>{postMessage(t(e.get(n),n))},addEventListener("message",n=>{var r;let s=(r=n.data)==null?void 0:r[Ie];if(mt(s)){let[a,o]=s;e.set(o,a)}})}}var{Int32Array:ti,Map:ks,Uint16Array:ni}=globalThis,{BYTES_PER_ELEMENT:Ps}=ti,{BYTES_PER_ELEMENT:Io}=ni,Ro=(i,e,t)=>{for(;Zn(i,0,0,e)==="timed-out";)t()},ii=new WeakSet,ei=new WeakMap,Oo={value:{then:i=>i()}},Do=0,Es=(i,{parse:e=JSON.parse,stringify:t=JSON.stringify,transform:n,interrupt:s}=JSON)=>{if(!ei.has(i)){let r=Qn||i.postMessage,a=(p,..._)=>r.call(i,{[Ie]:_},{transfer:p}),o=typeof s===Yn?s:s==null?void 0:s.handler,u=(s==null?void 0:s.delay)||42,c=new TextDecoder("utf-16"),d=(p,_)=>p?_t(_,0):(o?Ro(_,u,o):Zn(_,0),Oo),l=!1;ei.set(i,new Proxy(new ks,{[xs]:(p,_)=>typeof _=="string"&&!_.startsWith("_"),[Ss]:(p,_)=>_==="then"?null:(...g)=>{let E=Do++,S=new ti(new gt(Ps*2)),O=[];ii.has(g.at(-1)||O)&&ii.delete(O=g.pop()),a(O,E,S,_,n?g.map(n):g);let q=i!==globalThis,b=0;return l&&q&&(b=setTimeout(console.warn,1e3,`\u{1F480}\u{1F512} - Possible deadlock if proxy.${_}(...args) is awaited`)),d(q,S).value.then(()=>{clearTimeout(b);let w=S[1];if(!w)return;let R=Io*w;return S=new ti(new gt(R+R%Ps)),a([],E,S),d(q,S).value.then(()=>e(c.decode(new ni(S.buffer).slice(0,w))))})},[Cs](p,_,g){let E=typeof g;if(E!==Yn)throw new Error(`Unable to assign ${_} as ${E}`);if(!p.size){let S=new ks;i.addEventListener("message",async O=>{var b;let q=(b=O.data)==null?void 0:b[Ie];if(mt(q)){O.stopImmediatePropagation();let[w,R,...U]=q,T;if(U.length){let[D,A]=U;if(p.has(D)){l=!0;try{let h=await p.get(D)(...A);if(h!==void 0){let y=t(n?n(h):h);S.set(w,y),R[1]=y.length}}catch(h){T=h}finally{l=!1}}else T=new Error(`Unsupported action: ${D}`);R[0]=1}else{let D=S.get(w);S.delete(w);for(let A=new ni(R.buffer),h=0;h<D.length;h++)A[h]=D.charCodeAt(h)}if(Xn(R,0),T)throw T}})}return!!p.set(_,g)}}))}return ei.get(i)};Es.transfer=(...i)=>(ii.add(i),i);var Ms=Es;vs();var Hn=class{constructor(){this._options=null;this._initializer=null;this._pyodide=null;this._localPath="";this._driveName="";this._driveFS=null;this._sendWorkerMessage=()=>{};this._initialized=new Promise((e,t)=>{this._initializer={resolve:e,reject:t}})}async initialize(e){var t;if(this._options=e,e.location.includes(":")){let n=e.location.split(":");this._driveName=n[0],this._localPath=n[1]}else this._driveName="",this._localPath=e.location;await this.initRuntime(e),await this.initFilesystem(e),await this.initPackageManager(e),await this.initKernel(e),await this.initGlobals(e),(t=this._initializer)==null||t.resolve()}async initRuntime(e){let{pyodideUrl:t,indexUrl:n}=e,s;t.endsWith(".mjs")?s=(await import(t)).loadPyodide:(importScripts(t),s=self.loadPyodide),this._pyodide=await s({indexURL:n,...e.loadPyodideOptions})}async initPackageManager(e){if(!this._options)throw new Error("Uninitialized");let{pipliteWheelUrl:t,disablePyPIFallback:n,pipliteUrls:s,loadPyodideOptions:r}=this._options,a=(r||{}).packages||[];a.includes("micropip")||await this._pyodide.loadPackage(["micropip"]),a.includes("piplite")||await this._pyodide.runPythonAsync(`
|
|
9
|
+
See "state database" for more information.`)});var Ji=I(Ee=>{"use strict";var Yc=Ee&&Ee.__createBinding||(Object.create?function(i,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,n,s)}:function(i,e,t,n){n===void 0&&(n=t),i[n]=e[t]}),jt=Ee&&Ee.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Yc(e,i,t)};Object.defineProperty(Ee,"__esModule",{value:!0});jt(ba(),Ee);jt(xa(),Ee);jt(Ea(),Ee);jt(Ma(),Ee);jt(Ia(),Ee)});var Yi=I(qn=>{"use strict";Object.defineProperty(qn,"__esModule",{value:!0});qn.SettingManager=void 0;var Hi=X(),Xc=Ji(),Tn=ue(),Zc="api/settings",Gi=class extends Xc.DataConnector{constructor(e={}){var t;super(),this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:Tn.ServerConnection.makeSettings()}async fetch(e){if(!e)throw new Error("Plugin `id` parameter is required for settings fetch.");let{serverSettings:t}=this,{baseUrl:n,appUrl:s}=t,{makeRequest:r,ResponseError:a}=Tn.ServerConnection,o=n+s,u=Tt.url(o,e),c=await r(u,{},t);if(c.status!==200)throw await a.create(c);return c.json()}async list(e){var t,n,s,r;let{serverSettings:a}=this,{baseUrl:o,appUrl:u}=a,{makeRequest:c,ResponseError:d}=Tn.ServerConnection,l=o+u,p=Tt.url(l,"",e==="ids"),_=await c(p,{},a);if(_.status!==200)throw new d(_);let g=await _.json(),E=(n=(t=g==null?void 0:g.settings)===null||t===void 0?void 0:t.map(O=>O.id))!==null&&n!==void 0?n:[],S=[];return e||(S=(r=(s=g==null?void 0:g.settings)===null||s===void 0?void 0:s.map(O=>(O.data={composite:{},user:{}},O)))!==null&&r!==void 0?r:[]),{ids:E,values:S}}async save(e,t){let{serverSettings:n}=this,{baseUrl:s,appUrl:r}=n,{makeRequest:a,ResponseError:o}=Tn.ServerConnection,u=s+r,c=Tt.url(u,e),d={body:JSON.stringify({raw:t}),method:"PUT"},l=await a(c,d,n);if(l.status!==204)throw new o(l)}};qn.SettingManager=Gi;var Tt;(function(i){function e(t,n,s){let r=s?Hi.URLExt.objectToQueryString({ids_only:!0}):"",a=Hi.URLExt.join(t,Zc),o=Hi.URLExt.join(a,n);if(!o.startsWith(a))throw new Error("Can only be used for workspaces requests");return`${o}${r}`}i.url=e})(Tt||(Tt={}))});var Ut=I(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.TerminalAPIClient=we.TERMINAL_SERVICE_URL=void 0;we.isAvailable=Zi;we.startNew=Ra;we.listRunning=Oa;we.shutdownTerminal=Da;var qt=X(),Le=ue();we.TERMINAL_SERVICE_URL="api/terminals";function Zi(){return String(qt.PageConfig.getOption("terminalsAvailable")).toLowerCase()==="true"}async function Ra(i=Le.ServerConnection.makeSettings(),e,t){At.errorIfNotAvailable();let n=qt.URLExt.join(i.baseUrl,we.TERMINAL_SERVICE_URL),s={method:"POST",body:JSON.stringify({name:e,cwd:t})},r=await Le.ServerConnection.makeRequest(n,s,i);if(r.status!==200)throw await Le.ServerConnection.ResponseError.create(r);return await r.json()}async function Oa(i=Le.ServerConnection.makeSettings()){At.errorIfNotAvailable();let e=qt.URLExt.join(i.baseUrl,we.TERMINAL_SERVICE_URL),t=await Le.ServerConnection.makeRequest(e,{},i);if(t.status!==200)throw await Le.ServerConnection.ResponseError.create(t);let n=await t.json();if(!Array.isArray(n))throw new Error("Invalid terminal list");return n}async function Da(i,e=Le.ServerConnection.makeSettings()){var t;At.errorIfNotAvailable();let n=qt.URLExt.join(e.baseUrl,we.TERMINAL_SERVICE_URL),s=qt.URLExt.join(n,i);if(!s.startsWith(n))throw new Error("Can only be used for terminal requests");let r={method:"DELETE"},a=await Le.ServerConnection.makeRequest(s,r,e);if(a.status===404){let u=(t=(await a.json()).message)!==null&&t!==void 0?t:`The terminal session "${i}"" does not exist on the server`;console.warn(u)}else if(a.status!==204)throw await Le.ServerConnection.ResponseError.create(a)}var Xi=class{constructor(e={}){var t;this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:Le.ServerConnection.makeSettings()}get isAvailable(){return Zi()}async startNew(e={}){let{name:t,cwd:n}=e;return Ra(this.serverSettings,t,n)}async listRunning(){return Oa(this.serverSettings)}async shutdown(e){return Da(e,this.serverSettings)}};we.TerminalAPIClient=Xi;var At;(function(i){function e(){if(!Zi())throw new Error("Terminals Unavailable")}i.errorIfNotAvailable=e})(At||(At={}))});var ja=I(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.isAvailable=void 0;var Qc=Ut();Object.defineProperty(An,"isAvailable",{enumerable:!0,get:function(){return Qc.isAvailable}})});var Ta=I(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.TerminalConnection=void 0;var ed=X(),td=ne(),Un=Q(),nd=Fe(),id=Ut(),Qi=class i{constructor(e){var t,n;this._createSocket=()=>{this._errorIfDisposed(),this._clearSocket(),this._updateConnectionStatus("connecting");let s=this._name,r=this.serverSettings,a=ed.URLExt.join(r.wsUrl,"terminals","websocket",encodeURIComponent(s)),o=r.token;r.appendToken&&o!==""&&(a=a+`?token=${encodeURIComponent(o)}`),this._ws=new r.WebSocket(a),this._ws.onmessage=this._onWSMessage,this._ws.onclose=this._onWSClose,this._ws.onerror=this._onWSClose},this._onWSMessage=s=>{if(this._isDisposed)return;let r=JSON.parse(s.data);if(r[0]==="disconnect"&&this.dispose(),this._connectionStatus==="connecting"){r[0]==="setup"&&this._updateConnectionStatus("connected");return}this._messageReceived.emit({type:r[0],content:r.slice(1)})},this._onWSClose=s=>{console.warn(`Terminal websocket closed: ${s.code}`),this.isDisposed||this._reconnect()},this._connectionStatus="connecting",this._connectionStatusChanged=new Un.Signal(this),this._isDisposed=!1,this._disposed=new Un.Signal(this),this._messageReceived=new Un.Signal(this),this._reconnectTimeout=null,this._ws=null,this._noOp=()=>{},this._reconnectLimit=7,this._reconnectAttempt=0,this._pendingMessages=[],this._name=e.model.name,this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:nd.ServerConnection.makeSettings(),this._terminalAPIClient=(n=e.terminalAPIClient)!==null&&n!==void 0?n:new id.TerminalAPIClient({serverSettings:this.serverSettings}),this._createSocket()}get disposed(){return this._disposed}get messageReceived(){return this._messageReceived}get name(){return this._name}get model(){return{name:this._name}}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._disposed.emit(),this._updateConnectionStatus("disconnected"),this._clearSocket(),Un.Signal.clearData(this))}send(e){this._sendMessage(e)}_sendMessage(e,t=!0){if(!(this._isDisposed||!e.content))if(this.connectionStatus==="connected"&&this._ws){let n=[e.type,...e.content];this._ws.send(JSON.stringify(n))}else if(t)this._pendingMessages.push(e);else throw new Error(`Could not send message: ${JSON.stringify(e)}`)}_sendPending(){for(;this.connectionStatus==="connected"&&this._pendingMessages.length>0;)this._sendMessage(this._pendingMessages[0],!1),this._pendingMessages.shift()}reconnect(){this._errorIfDisposed();let e=new td.PromiseDelegate,t=(n,s)=>{s==="connected"?(e.resolve(),this.connectionStatusChanged.disconnect(t,this)):s==="disconnected"&&(e.reject(new Error("Terminal connection disconnected")),this.connectionStatusChanged.disconnect(t,this))};return this.connectionStatusChanged.connect(t,this),this._reconnectAttempt=0,this._reconnect(),e.promise}_reconnect(){if(this._errorIfDisposed(),clearTimeout(this._reconnectTimeout),this._reconnectAttempt<this._reconnectLimit){this._updateConnectionStatus("connecting");let e=es.getRandomIntInclusive(0,1e3*(Math.pow(2,this._reconnectAttempt)-1));console.error(`Connection lost, reconnecting in ${Math.floor(e/1e3)} seconds.`),this._reconnectTimeout=setTimeout(this._createSocket,e),this._reconnectAttempt+=1}else this._updateConnectionStatus("disconnected");this._clearSocket()}_clearSocket(){this._ws!==null&&(this._ws.onopen=this._noOp,this._ws.onclose=this._noOp,this._ws.onerror=this._noOp,this._ws.onmessage=this._noOp,this._ws.close(),this._ws=null)}async shutdown(){await this._terminalAPIClient.shutdown(this.name),this.dispose()}clone(){return new i({model:this.model,serverSettings:this.serverSettings,terminalAPIClient:this._terminalAPIClient})}_updateConnectionStatus(e){this._connectionStatus!==e&&(this._connectionStatus=e,e!=="connecting"&&(this._reconnectAttempt=0,clearTimeout(this._reconnectTimeout)),e==="connected"&&this._sendPending(),this._connectionStatusChanged.emit(e))}_errorIfDisposed(){if(this.isDisposed)throw new Error("Terminal connection is disposed")}get connectionStatusChanged(){return this._connectionStatusChanged}get connectionStatus(){return this._connectionStatus}};Nn.TerminalConnection=Qi;var es;(function(i){function e(t,n){return t=Math.ceil(t),n=Math.floor(n),Math.floor(Math.random()*(n-t+1))+t}i.getRandomIntInclusive=e})(es||(es={}))});var Aa=I(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.TerminalManager=void 0;var sd=Qe(),qa=Q(),rd=Fe(),ad=Ze(),od=Ut(),ld=Ta(),Nt=class extends ad.BaseManager{constructor(e={}){var t,n;if(super(e),this._isReady=!1,this._names=[],this._terminalConnections=new Set,this._runningChanged=new qa.Signal(this),this._connectionFailure=new qa.Signal(this),this._terminalAPIClient=(t=e.terminalAPIClient)!==null&&t!==void 0?t:new od.TerminalAPIClient({serverSettings:this.serverSettings}),!this.isAvailable()){this._ready=Promise.reject("Terminals unavailable"),this._ready.catch(s=>{});return}this._pollModels=new sd.Poll({auto:!1,factory:()=>this.requestRunning(),frequency:{interval:10*1e3,backoff:!0,max:300*1e3},name:"@jupyterlab/services:TerminalManager#models",standby:(n=e.standby)!==null&&n!==void 0?n:"when-hidden"}),this._ready=(async()=>{await this._pollModels.start(),await this._pollModels.tick,this._isReady=!0})()}get isReady(){return this._isReady}get ready(){return this._ready}get runningChanged(){return this._runningChanged}get connectionFailure(){return this._connectionFailure}dispose(){this.isDisposed||(this._names.length=0,this._terminalConnections.forEach(e=>e.dispose()),this._pollModels.dispose(),super.dispose())}isAvailable(){return this._terminalAPIClient.isAvailable}connectTo(e){let t=new ld.TerminalConnection({...e,serverSettings:this.serverSettings,terminalAPIClient:this._terminalAPIClient});return this._onStarted(t),this._names.includes(e.model.name)||this.refreshRunning().catch(()=>{}),t}running(){return this._models[Symbol.iterator]()}async refreshRunning(){await this._pollModels.refresh(),await this._pollModels.tick}async startNew(e={}){let{name:t,cwd:n}=e,s=await this._terminalAPIClient.startNew({name:t,cwd:n});return await this.refreshRunning(),this.connectTo({model:s})}async shutdown(e){await this._terminalAPIClient.shutdown(e),await this.refreshRunning()}async shutdownAll(){await this.refreshRunning(),await Promise.all(this._names.map(e=>this._terminalAPIClient.shutdown(e))),await this.refreshRunning()}async requestRunning(){var e,t;let n;try{n=await this._terminalAPIClient.listRunning()}catch(r){throw(r instanceof rd.ServerConnection.NetworkError||((e=r.response)===null||e===void 0?void 0:e.status)===503||((t=r.response)===null||t===void 0?void 0:t.status)===424)&&this._connectionFailure.emit(r),r}if(this.isDisposed)return;let s=n.map(({name:r})=>r).sort();s!==this._names&&(this._names=s,this._terminalConnections.forEach(r=>{s.includes(r.name)||r.dispose()}),this._runningChanged.emit(this._models))}_onStarted(e){this._terminalConnections.add(e),e.disposed.connect(this._onDisposed,this)}_onDisposed(e){this._terminalConnections.delete(e),this.refreshRunning().catch(()=>{})}get _models(){return this._names.map(e=>({name:e}))}};Lt.TerminalManager=Nt;(function(i){class e extends i{constructor(){super(...arguments),this._readyPromise=new Promise(()=>{})}get isActive(){return!1}get parentReady(){return super.ready}get ready(){return this.parentReady.then(()=>this._readyPromise)}async startNew(n){return Promise.reject(new Error("Not implemented in no-op Terminal Manager"))}connectTo(n){throw Error("Not implemented in no-op Terminal Manager")}async shutdown(n){return Promise.reject(new Error("Not implemented in no-op Terminal Manager"))}async requestRunning(){return Promise.resolve()}}i.NoopManager=e})(Nt||(Lt.TerminalManager=Nt={}))});var ts=I(ge=>{"use strict";var Ua=ge&&ge.__createBinding||(Object.create?function(i,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,n,s)}:function(i,e,t,n){n===void 0&&(n=t),i[n]=e[t]}),cd=ge&&ge.__setModuleDefault||(Object.create?function(i,e){Object.defineProperty(i,"default",{enumerable:!0,value:e})}:function(i,e){i.default=e}),Na=ge&&ge.__importStar||function(i){if(i&&i.__esModule)return i;var e={};if(i!=null)for(var t in i)t!=="default"&&Object.prototype.hasOwnProperty.call(i,t)&&Ua(e,i,t);return cd(e,i),e},dd=ge&&ge.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Ua(e,i,t)};Object.defineProperty(ge,"__esModule",{value:!0});ge.TerminalAPI=ge.Terminal=void 0;var ud=Na(ja());ge.Terminal=ud;var pd=Na(Ut());ge.TerminalAPI=pd;dd(Aa(),ge)});var rs=I(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.UserManager=void 0;var hd=X(),fd=ne(),md=Qe(),La=Q(),gd=ue(),_d=Ze(),vd="api/me",ns="@jupyterlab/services:UserManager#user",is=class extends _d.BaseManager{constructor(e={}){var t;super(e),this._isReady=!1,this._userChanged=new La.Signal(this),this._connectionFailure=new La.Signal(this),this._ready=this.requestUser().then(()=>{this.isDisposed||(this._isReady=!0)}).catch(n=>new Promise(()=>{})),this._pollSpecs=new md.Poll({auto:!1,factory:()=>this.requestUser(),frequency:{interval:61*1e3,backoff:!0,max:300*1e3},name:ns,standby:(t=e.standby)!==null&&t!==void 0?t:"when-hidden"}),this.ready.then(()=>{this._pollSpecs.start()})}get isReady(){return this._isReady}get ready(){return this._ready}get identity(){return this._identity}get permissions(){return this._permissions}get userChanged(){return this._userChanged}get connectionFailure(){return this._connectionFailure}dispose(){this._pollSpecs.dispose(),super.dispose()}async refreshUser(){await this._pollSpecs.refresh(),await this._pollSpecs.tick}async requestUser(){if(this.isDisposed)return;let{baseUrl:e}=this.serverSettings,{makeRequest:t,ResponseError:n}=gd.ServerConnection,s=hd.URLExt.join(e,vd),r=await t(s,{},this.serverSettings);if(r.status!==200)throw await n.create(r);let a={identity:this._identity,permissions:this._permissions},o=await r.json(),u=o.identity,{localStorage:c}=window,d=c.getItem(ns);if(d&&(!u.initials||!u.color)){let l=JSON.parse(d);u.initials=u.initials||l.initials||u.name.substring(0,1),u.color=u.color||l.color||ss.getRandomColor()}fd.JSONExt.deepEqual(o,a)||(this._identity=u,this._permissions=o.permissions,c.setItem(ns,JSON.stringify(u)),this._userChanged.emit(o))}};Ln.UserManager=is;var ss;(function(i){let e=["var(--jp-collaborator-color1)","var(--jp-collaborator-color2)","var(--jp-collaborator-color3)","var(--jp-collaborator-color4)","var(--jp-collaborator-color5)","var(--jp-collaborator-color6)","var(--jp-collaborator-color7)"];i.getRandomColor=()=>e[Math.floor(Math.random()*e.length)]})(ss||(ss={}))});var os=I(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.WorkspaceManager=void 0;var za=X(),yd=Ji(),zt=ue(),wd="api/workspaces",as=class extends yd.DataConnector{constructor(e={}){var t;super(),this.serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:zt.ServerConnection.makeSettings()}async fetch(e){let{serverSettings:t}=this,{baseUrl:n,appUrl:s}=t,{makeRequest:r,ResponseError:a}=zt.ServerConnection,o=n+s,u=ut.url(o,e),c=await r(u,{},t);if(c.status!==200)throw await a.create(c);return c.json()}async list(){let{serverSettings:e}=this,{baseUrl:t,appUrl:n}=e,{makeRequest:s,ResponseError:r}=zt.ServerConnection,a=t+n,o=ut.url(a,""),u=await s(o,{},e);if(u.status!==200)throw await r.create(u);return(await u.json()).workspaces}async remove(e){let{serverSettings:t}=this,{baseUrl:n,appUrl:s}=t,{makeRequest:r,ResponseError:a}=zt.ServerConnection,o=n+s,u=ut.url(o,e),d=await r(u,{method:"DELETE"},t);if(d.status!==204)throw await a.create(d)}async save(e,t){let{serverSettings:n}=this,{baseUrl:s,appUrl:r}=n,{makeRequest:a,ResponseError:o}=zt.ServerConnection,u=s+r,c=ut.url(u,e),d={body:JSON.stringify(t),method:"PUT"},l=await a(c,d,n);if(l.status!==204)throw await o.create(l)}};zn.WorkspaceManager=as;var ut;(function(i){function e(t,n){let s=za.URLExt.join(t,wd),r=za.URLExt.join(s,n);if(!r.startsWith(s))throw new Error("Can only be used for workspaces requests");return r}i.url=e})(ut||(ut={}))});var Ka=I(Fn=>{"use strict";Object.defineProperty(Fn,"__esModule",{value:!0});Fn.ServiceManager=void 0;var Fa=Q(),bd=aa(),Sd=xi(),xd=ki(),Cd=Ti(),kd=Ai(),Pd=Fi(),Ed=ue(),Md=$i(),Id=Yi(),Rd=ts(),Od=rs(),Dd=os(),ls=class{constructor(e={}){var t,n;this._isDisposed=!1,this._connectionFailure=new Fa.Signal(this),this._isReady=!1;let s=e.defaultDrive,r=(t=e.serverSettings)!==null&&t!==void 0?t:Ed.ServerConnection.makeSettings(),a=(n=e.standby)!==null&&n!==void 0?n:"when-hidden",o={defaultDrive:s,serverSettings:r,standby:a};this.serverSettings=r,this.contents=e.contents||new Sd.ContentsManager(o),this.events=e.events||new xd.EventManager(o),this.kernels=e.kernels||new Cd.KernelManager(o),this.sessions=e.sessions||new Md.SessionManager({...o,kernelManager:this.kernels}),this.settings=e.settings||new Id.SettingManager(o),this.terminals=e.terminals||new Rd.TerminalManager(o),this.builder=e.builder||new bd.BuildManager(o),this.workspaces=e.workspaces||new Dd.WorkspaceManager(o),this.nbconvert=e.nbconvert||new Pd.NbConvertManager(o),this.kernelspecs=e.kernelspecs||new kd.KernelSpecManager(o),this.user=e.user||new Od.UserManager(o),this.kernelspecs.connectionFailure.connect(this._onConnectionFailure,this),this.sessions.connectionFailure.connect(this._onConnectionFailure,this),this.terminals.connectionFailure.connect(this._onConnectionFailure,this);let u=[this.sessions.ready,this.kernelspecs.ready];this.terminals.isAvailable()&&u.push(this.terminals.ready),this._readyPromise=Promise.all(u).then(()=>{this._isReady=!0})}get connectionFailure(){return this._connectionFailure}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,Fa.Signal.clearData(this),this.contents.dispose(),this.events.dispose(),this.sessions.dispose(),this.terminals.dispose())}get isReady(){return this._isReady}get ready(){return this._readyPromise}_onConnectionFailure(e,t){this._connectionFailure.emit(t)}};Fn.ServiceManager=ls});var Ba=I(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.IWorkspaceManager=L.IUserManager=L.ITerminalManager=L.IServiceManager=L.ISettingManager=L.ISessionManager=L.IServerSettings=L.INbConvertManager=L.IKernelSpecManager=L.IKernelManager=L.IEventManager=L.IDefaultDrive=L.IContentsManager=L.IConfigSectionManager=L.IConnectionStatus=void 0;var _e=ne();L.IConnectionStatus=new _e.Token("@jupyterlab/application:IConnectionStatus","A service providing the application connection status.");L.IConfigSectionManager=new _e.Token("@jupyterlab/services:IConfigSectionManager","A service providing the config section manager.");L.IContentsManager=new _e.Token("@jupyterlab/services:IContentsManager","The contents manager token.");L.IDefaultDrive=new _e.Token("@jupyterlab/services:IDefaultDrive","The default drive for the contents manager.");L.IEventManager=new _e.Token("@jupyterlab/services:IEventManager","The event manager token.");L.IKernelManager=new _e.Token("@jupyterlab/services:IKernelManager","The kernel manager token.");L.IKernelSpecManager=new _e.Token("@jupyterlab/services:IKernelSpecManager","The kernel spec manager token.");L.INbConvertManager=new _e.Token("@jupyterlab/services:INbConvertManager","The nbconvert manager token.");L.IServerSettings=new _e.Token("@jupyterlab/services:IServerSettings","The server settings for the application.");L.ISessionManager=new _e.Token("@jupyterlab/services:ISessionManager","The session manager token.");L.ISettingManager=new _e.Token("@jupyterlab/services:ISettingManager","The setting manager token.");L.IServiceManager=new _e.Token("@jupyterlab/services:IServiceManager","The service manager for the application.");L.ITerminalManager=new _e.Token("@jupyterlab/services:ITerminalManager","The terminal manager token.");L.IUserManager=new _e.Token("@jupyterlab/services:IUserManager","The user manager token.");L.IWorkspaceManager=new _e.Token("@jupyterlab/services:IWorkspaceManager","The workspace manager token.")});var Fe=I(W=>{"use strict";var jd=W&&W.__createBinding||(Object.create?function(i,e,t,n){n===void 0&&(n=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(i,n,s)}:function(i,e,t,n){n===void 0&&(n=t),i[n]=e[t]}),ce=W&&W.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&jd(e,i,t)};Object.defineProperty(W,"__esModule",{value:!0});ce(Ze(),W);ce(wr(),W);ce(br(),W);ce(xi(),W);ce(ki(),W);ce(Ti(),W);ce(Ai(),W);ce(Ka(),W);ce(ue(),W);ce($i(),W);ce(Yi(),W);ce(ts(),W);ce(Ba(),W);ce(rs(),W);ce(os(),W);ce(Fi(),W)});var Va=I((dp,$a)=>{"use strict";function Kn(){this._types=Object.create(null),this._extensions=Object.create(null);for(let i=0;i<arguments.length;i++)this.define(arguments[i]);this.define=this.define.bind(this),this.getType=this.getType.bind(this),this.getExtension=this.getExtension.bind(this)}Kn.prototype.define=function(i,e){for(let t in i){let n=i[t].map(function(s){return s.toLowerCase()});t=t.toLowerCase();for(let s=0;s<n.length;s++){let r=n[s];if(r[0]!=="*"){if(!e&&r in this._types)throw new Error('Attempt to change mapping for "'+r+'" extension from "'+this._types[r]+'" to "'+t+'". Pass `force=true` to allow this, otherwise remove "'+r+'" from the list of extensions for "'+t+'".');this._types[r]=t}}if(e||!this._extensions[t]){let s=n[0];this._extensions[t]=s[0]!=="*"?s:s.substr(1)}}};Kn.prototype.getType=function(i){i=String(i);let e=i.replace(/^.*[/\\]/,"").toLowerCase(),t=e.replace(/^.*\./,"").toLowerCase(),n=e.length<i.length;return(t.length<e.length-1||!n)&&this._types[t]||null};Kn.prototype.getExtension=function(i){return i=/^\s*([^;\s]*)/.test(i)&&RegExp.$1,i&&this._extensions[i.toLowerCase()]||null};$a.exports=Kn});var Ja=I((up,Wa)=>{Wa.exports={"application/andrew-inset":["ez"],"application/applixware":["aw"],"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/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/cu-seeme":["cu"],"application/dash+xml":["mpd"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["es","ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"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","mjs"],"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/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":["mp4s","m4p"],"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-signature":["asc","sig"],"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/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/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/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/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/avif":["avif"],"image/bmp":["bmp"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"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"],"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/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"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/jsx":["jsx"],"text/less":["less"],"text/markdown":["markdown","md"],"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/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"]}});var Ga=I((pp,Ha)=>{Ha.exports={"application/prs.cww":["cww"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["xfdf"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.sap.vds":["vds"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]}});var Xa=I((hp,Ya)=>{"use strict";var Td=Va();Ya.exports=new Td(Ja(),Ga())});var Za,Qa,be,ze,cs=nt(()=>{Za=$e(X()),Qa=$e(Xa());(function(i){i.JSON="application/json",i.PLAIN_TEXT="text/plain",i.OCTET_STREAM="octet/stream"})(be||(be={}));(function(i){let e=JSON.parse(Za.PageConfig.getOption("fileTypes")||"{}");function t(s,r=null){s=s.toLowerCase();for(let a of Object.values(e))for(let o of a.extensions||[])if(o===s&&a.mimeTypes&&a.mimeTypes.length)return a.mimeTypes[0];return Qa.default.getType(s)||r||be.OCTET_STREAM}i.getType=t;function n(s,r){s=s.toLowerCase();for(let a of Object.values(e))if(a.fileFormat===r){for(let o of a.extensions||[])if(o===s)return!0}return!1}i.hasFormat=n})(ze||(ze={}))});var Be,no,ke,io,us,eo,so,to,Ft,ds,ps,Bn,ro=nt(()=>{Be=$e(X()),no=$e(Fe()),ke=$e(X()),io=$e(ne()),us=$e(Q());cs();eo="JupyterLite Storage",so="BrowserStorage",to=5,Ft=new TextEncoder,ds=new TextDecoder("utf-8"),ps=class{constructor(e){var t;this.reduceBytesToString=(n,s)=>n+String.fromCharCode(s),this._serverContents=new Map,this._isDisposed=!1,this._fileChanged=new us.Signal(this),this._storageName=eo,this._storageDrivers=null,this._localforage=e.localforage,this._storageName=e.storageName||eo,this._storageDrivers=e.storageDrivers||null,this._serverSettings=(t=e.serverSettings)!==null&&t!==void 0?t:no.ServerConnection.makeSettings(),this._ready=new io.PromiseDelegate,this.initialize().catch(console.warn)}dispose(){this.isDisposed||(this._isDisposed=!0,us.Signal.clearData(this))}get isDisposed(){return this._isDisposed}get name(){return so}get serverSettings(){return this._serverSettings}get fileChanged(){return this._fileChanged}async getDownloadUrl(e){throw new Error("Method not implemented.")}async initialize(){await this.initStorage(),this._ready.resolve(void 0)}async initStorage(){this._storage=this.createDefaultStorage(),this._counters=this.createDefaultCounters(),this._checkpoints=this.createDefaultCheckpoints()}get ready(){return this._ready.promise}get storage(){return this.ready.then(()=>this._storage)}get counters(){return this.ready.then(()=>this._counters)}get checkpoints(){return this.ready.then(()=>this._checkpoints)}get defaultStorageOptions(){let e=this._storageDrivers&&this._storageDrivers.length?this._storageDrivers:null;return{version:1,name:this._storageName,...e?{driver:e}:{}}}createDefaultStorage(){return this._localforage.createInstance({description:"Offline Storage for Notebooks and Files",storeName:"files",...this.defaultStorageOptions})}createDefaultCounters(){return this._localforage.createInstance({description:"Store the current file suffix counters",storeName:"counters",...this.defaultStorageOptions})}createDefaultCheckpoints(){return this._localforage.createInstance({description:"Offline Storage for Checkpoints",storeName:"checkpoints",...this.defaultStorageOptions})}async newUntitled(e){var t,n,s;let r=(t=e==null?void 0:e.path)!==null&&t!==void 0?t:"",a=(n=e==null?void 0:e.type)!==null&&n!==void 0?n:"notebook",o=new Date().toISOString(),u=ke.PathExt.dirname(r),c=ke.PathExt.basename(r),d=ke.PathExt.extname(r),l=await this.get(u).catch(()=>null),p="";r&&!d&&l?(u=`${r}/`,p=""):u&&c?(u=`${u}/`,p=c):(u="",p=r);let _;switch(a){case"directory":{p=`Untitled Folder${await this._incrementCounter("directory")||""}`,_={name:p,path:`${u}${p}`,last_modified:o,created:o,format:"json",mimetype:"",content:null,size:0,writable:!0,type:"directory"};break}case"notebook":{let E=await this._incrementCounter("notebook");p=p||`Untitled${E||""}.ipynb`,_={name:p,path:`${u}${p}`,last_modified:o,created:o,format:"json",mimetype:be.JSON,content:Bn.EMPTY_NB,size:Ft.encode(JSON.stringify(Bn.EMPTY_NB)).length,writable:!0,type:"notebook"};break}default:{let E=(s=e==null?void 0:e.ext)!==null&&s!==void 0?s:".txt";E.startsWith(".")||(E=`.${E}`);let S=await this._incrementCounter("file"),O=ze.getType(E)||be.OCTET_STREAM,q;ze.hasFormat(E,"text")||O.indexOf("text")!==-1?q="text":E.indexOf("json")!==-1||E.indexOf("ipynb")!==-1?q="json":q="base64",p=p||`untitled${S||""}${E}`,_={name:p,path:`${u}${p}`,last_modified:o,created:o,format:q,mimetype:O,content:"",size:0,writable:!0,type:"file"};break}}let g=_.path;return await(await this.storage).setItem(g,_),this._fileChanged.emit({type:"new",oldValue:null,newValue:_}),_}async copy(e,t){let n=ke.PathExt.basename(e);for(t=t===""?"":`${ke.PathExt.removeSlash(t)}/`;await this.get(`${t}${n}`,{content:!0}).then(()=>!0).catch(()=>!1);){let a=ke.PathExt.extname(n);n=`${n.replace(a,"")} (copy)${a}`}let s=`${t}${n}`,r=await this.get(e,{content:!0}).catch(()=>null);if(!r)throw Error(`Could not find file with path ${e}`);return r={...r,name:n,path:s},await(await this.storage).setItem(s,r),this._fileChanged.emit({type:"new",oldValue:null,newValue:r}),r}async get(e,t){if(e=decodeURIComponent(e.replace(/^\//,"")),e===""){let o=await this._getFolder(e);if(o===null)throw Error(`Could not find file with path ${e}`);return o}let n=await this.storage,s=await n.getItem(e),r=await this._getServerContents(e,t),a=s||r;if(!a)throw Error(`Could not find content with path ${e}`);if(!(t!=null&&t.content))return{size:0,...a,content:null};if(a.type==="directory"){let o=new Map;await n.iterate((d,l)=>{l===`${e}/${d.name}`&&o.set(d.name,d)});let u=r?r.content:Array.from((await this._getServerDirectory(e)).values());for(let d of u)o.has(d.name)||o.set(d.name,d);let c=[...o.values()];return{name:ke.PathExt.basename(e),path:e,last_modified:a.last_modified,created:a.created,format:"json",mimetype:be.JSON,content:c,size:0,writable:!0,type:"directory"}}return a}async rename(e,t){let n=decodeURIComponent(e),s=await this.get(n,{content:!0}).catch(()=>null);if(!s)throw Error(`Could not find file with path ${n}`);let r=new Date().toISOString(),a=ke.PathExt.basename(t),o={...s,name:a,path:t,last_modified:r},u=await this.storage;if(await u.setItem(t,o),await u.removeItem(n),await(await this.checkpoints).removeItem(n),s.type==="directory"){let c;for(c of s.content)await this.rename(Be.URLExt.join(e,c.name),Be.URLExt.join(t,c.name))}return this._fileChanged.emit({type:"rename",oldValue:{path:e},newValue:o}),o}async save(e,t={}){var n;e=decodeURIComponent(e);let s=ke.PathExt.extname((n=t.name)!==null&&n!==void 0?n:""),r=t.chunk,a=r?r>1||r===-1:!1,o=await this.get(e,{content:a}).catch(()=>null);if(o||(o=await this.newUntitled({path:e,ext:s,type:"file"})),!o)throw Error(`Could not find file with path ${e}`);let u=o.content,c=new Date().toISOString();if(o={...o,...t,last_modified:c},t.content&&t.format==="base64"){let d=r?r===-1:!0,l=this._handleUploadChunk(t.content,u,a);if(s===".ipynb"){let p=d?JSON.parse(ds.decode(this._binaryStringToBytes(l))):l;o={...o,content:p,format:"json",type:"notebook",size:l.length}}else if(ze.hasFormat(s,"json")){let p=d?JSON.parse(ds.decode(this._binaryStringToBytes(l))):l;o={...o,content:p,format:"json",type:"file",size:l.length}}else if(ze.hasFormat(s,"text")){let p=d?ds.decode(this._binaryStringToBytes(l)):l;o={...o,content:p,format:"text",type:"file",size:l.length}}else{let p=d?btoa(l):l;o={...o,content:p,format:"base64",type:"file",size:l.length}}}if(o.content)switch(t.format){case"json":{o={...o,size:Ft.encode(JSON.stringify(o.content)).length};break}case"text":{o={...o,size:Ft.encode(o.content).length};break}case"base64":break;default:{o={...o,size:0};break}}else o={...o,size:0};return await(await this.storage).setItem(e,o),this._fileChanged.emit({type:"save",oldValue:null,newValue:o}),o}async delete(e){e=decodeURIComponent(e);let t=`${e}/`,n=(await(await this.storage).keys()).filter(s=>s===e||s.startsWith(t));await Promise.all(n.map(this.forgetPath,this)),this._fileChanged.emit({type:"delete",oldValue:{path:e},newValue:null})}async forgetPath(e){await Promise.all([(await this.storage).removeItem(e),(await this.checkpoints).removeItem(e)])}async createCheckpoint(e){var t;let n=await this.checkpoints;e=decodeURIComponent(e);let s=await this.get(e,{content:!0}).catch(()=>null);if(!s)throw Error(`Could not find file with path ${e}`);let r=((t=await n.getItem(e))!==null&&t!==void 0?t:[]).filter(Boolean);return r.push(s),r.length>to&&r.splice(0,r.length-to),await n.setItem(e,r),{id:`${r.length-1}`,last_modified:s.last_modified}}async listCheckpoints(e){return(await(await this.checkpoints).getItem(e)||[]).filter(Boolean).map(this.normalizeCheckpoint,this)}normalizeCheckpoint(e,t){return{id:t.toString(),last_modified:e.last_modified}}async restoreCheckpoint(e,t){e=decodeURIComponent(e);let n=await(await this.checkpoints).getItem(e)||[],s=parseInt(t),r=n[s];await(await this.storage).setItem(e,r)}async deleteCheckpoint(e,t){e=decodeURIComponent(e);let n=await(await this.checkpoints).getItem(e)||[],s=parseInt(t);n.splice(s,1),await(await this.checkpoints).setItem(e,n)}_handleUploadChunk(e,t,n){let s=atob(e);return n?t+s:s}_binaryStringToBytes(e){let t=new Uint8Array(e.length);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t}async _getFolder(e){let t=new Map;await(await this.storage).iterate((s,r)=>{r.includes("/")||t.set(s.path,s)});for(let s of(await this._getServerDirectory(e)).values())t.has(s.path)||t.set(s.path,s);return e&&t.size===0?null:{name:"",path:e,last_modified:new Date(0).toISOString(),created:new Date(0).toISOString(),format:"json",mimetype:be.JSON,content:Array.from(t.values()),size:0,writable:!0,type:"directory"}}async _getServerContents(e,t){let n=ke.PathExt.basename(e),r=(await this._getServerDirectory(Be.URLExt.join(e,".."))).get(n);if(!r)return null;if(r=r||{name:n,path:e,last_modified:new Date(0).toISOString(),created:new Date(0).toISOString(),format:"text",mimetype:be.PLAIN_TEXT,type:"file",writable:!0,size:0,content:""},t!=null&&t.content)if(r.type==="directory"){let a=await this._getServerDirectory(e);r={...r,content:Array.from(a.values())}}else{let a=Be.URLExt.join(Be.PageConfig.getBaseUrl(),"files",e),o=await fetch(a);if(!o.ok)return null;let u=r.mimetype||o.headers.get("Content-Type"),c=ke.PathExt.extname(n);if(r.type==="notebook"||ze.hasFormat(c,"json")||(u==null?void 0:u.indexOf("json"))!==-1||e.match(/\.(ipynb|[^/]*json[^/]*)$/)){let d=await o.text();r={...r,content:JSON.parse(d),format:"json",mimetype:r.mimetype||be.JSON,size:Ft.encode(d).length}}else if(ze.hasFormat(c,"text")||u.indexOf("text")!==-1){let d=await o.text();r={...r,content:d,format:"text",mimetype:u||be.PLAIN_TEXT,size:Ft.encode(d).length}}else{let d=await o.arrayBuffer(),l=new Uint8Array(d);r={...r,content:btoa(l.reduce(this.reduceBytesToString,"")),format:"base64",mimetype:u||be.OCTET_STREAM,size:l.length}}}return r}async _getServerDirectory(e){let t=this._serverContents.get(e)||new Map;if(!this._serverContents.has(e)){let n=Be.URLExt.join(Be.PageConfig.getBaseUrl(),"api/contents",e,"all.json");try{let s=await fetch(n),r=JSON.parse(await s.text());for(let a of r.content)t.set(a.name,a)}catch(s){console.warn(`don't worry, about ${s}... nothing's broken. If there had been a
|
|
10
|
+
file at ${n}, you might see some more files.`)}this._serverContents.set(e,t)}return t}async _incrementCounter(e){var t;let n=await this.counters,r=((t=await n.getItem(e))!==null&&t!==void 0?t:-1)+1;return await n.setItem(e,r),r}};(function(i){i.EMPTY_NB={metadata:{orig_nbformat:4},nbformat_minor:5,nbformat:4,cells:[]}})(Bn||(Bn={}))});function hs(i){return"node"in i}var Kt,ao,oo,lo,fs=nt(()=>{Kt=16895,ao=33206,oo=1,lo=2});var uo,qd,Jn,Ad,Ud,co,$n,Vn,pt,Wn,Bt,ms=nt(()=>{fs();uo=":",qd="/api/drive.v1",Jn=4096,Ad=new TextEncoder,Ud=new TextDecoder("utf-8"),co={0:!1,1:!0,2:!0,64:!0,65:!0,66:!0,129:!0,193:!0,514:!0,577:!0,578:!0,705:!0,706:!0,1024:!0,1025:!0,1026:!0,1089:!0,1090:!0,1153:!0,1154:!0,1217:!0,1218:!0,4096:!0,4098:!0},$n=class{constructor(e){this.fs=e}open(e){let t=this.fs.realPath(e.node);this.fs.FS.isFile(e.node.mode)&&(e.file=this.fs.API.get(t))}close(e){if(!this.fs.FS.isFile(e.node.mode)||!e.file)return;let t=this.fs.realPath(e.node),n=e.flags,s=typeof n=="string"?parseInt(n,10):n;s&=8191;let r=!0;s in co&&(r=co[s]),r&&this.fs.API.put(t,e.file),e.file=void 0}read(e,t,n,s,r){if(s<=0||e.file===void 0||r>=(e.file.data.length||0))return 0;let a=Math.min(e.file.data.length-r,s);return t.set(e.file.data.subarray(r,r+a),n),a}write(e,t,n,s,r){var a;if(s<=0||e.file===void 0)return 0;if(e.node.timestamp=Date.now(),r+s>(((a=e.file)===null||a===void 0?void 0:a.data.length)||0)){let o=e.file.data?e.file.data:new Uint8Array;e.file.data=new Uint8Array(r+s),e.file.data.set(o)}return e.file.data.set(t.subarray(n,n+s),r),s}llseek(e,t,n){let s=t;if(n===1)s+=e.position;else if(n===2&&this.fs.FS.isFile(e.node.mode))if(e.file!==void 0)s+=e.file.data.length;else throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM);if(s<0)throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EINVAL);return s}},Vn=class{constructor(e){this.fs=e}node(e){return hs(e)?e.node:e}getattr(e){let t=this.node(e);return{...this.fs.API.getattr(this.fs.realPath(t)),mode:t.mode,ino:t.id}}setattr(e,t){let n=this.node(e);for(let[s,r]of Object.entries(t))switch(s){case"mode":n.mode=r;break;case"timestamp":n.timestamp=r;break;case"size":{let a=r,o=this.fs.realPath(n);if(this.fs.FS.isFile(n.mode)&&a>=0){let u=this.fs.API.get(o),c=u.data?u.data:new Uint8Array;a!==c.length&&(a<c.length?u.data=u.data.slice(0,a):(u.data=new Uint8Array(a),u.data.set(c)),this.fs.API.put(o,u))}else console.warn("setattr size of",a,"on",n,"not yet implemented");break}default:console.warn("setattr",s,"of",r,"on",n,"not yet implemented");break}}lookup(e,t){let n=this.node(e),s=this.fs.PATH.join2(this.fs.realPath(n),t),r=this.fs.API.lookup(s);if(!r.ok)throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.ENOENT);return this.fs.createNode(n,t,r.mode,0)}mknod(e,t,n,s){let r=this.node(e),a=this.fs.PATH.join2(this.fs.realPath(r),t);return this.fs.API.mknod(a,n),this.fs.createNode(r,t,n,s)}rename(e,t,n){let s=this.node(e),r=this.node(t);this.fs.API.rename(s.parent?this.fs.PATH.join2(this.fs.realPath(s.parent),s.name):s.name,this.fs.PATH.join2(this.fs.realPath(r),n)),s.name=n,s.parent=r}unlink(e,t){this.fs.API.rmdir(this.fs.PATH.join2(this.fs.realPath(this.node(e)),t))}rmdir(e,t){this.fs.API.rmdir(this.fs.PATH.join2(this.fs.realPath(this.node(e)),t))}readdir(e){return this.fs.API.readdir(this.fs.realPath(this.node(e)))}symlink(e,t,n){throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM)}readlink(e){throw new this.fs.FS.ErrnoError(this.fs.ERRNO_CODES.EPERM)}},pt=class{constructor(e){this._driveName=e.driveName,this._mountpoint=e.mountpoint,this.FS=e.FS,this.ERRNO_CODES=e.ERRNO_CODES}lookup(e){return this.request({method:"lookup",path:this.normalizePath(e)})}getmode(e){return this.request({method:"getmode",path:this.normalizePath(e)})}mknod(e,t){return this.request({method:"mknod",path:this.normalizePath(e),data:{mode:t}})}rename(e,t){return this.request({method:"rename",path:this.normalizePath(e),data:{newPath:this.normalizePath(t)}})}readdir(e){let t=this.request({method:"readdir",path:this.normalizePath(e)});return t.push("."),t.push(".."),t}rmdir(e){return this.request({method:"rmdir",path:this.normalizePath(e)})}get(e){let t=this.request({method:"get",path:this.normalizePath(e)});if(!t)throw new this.FS.ErrnoError(this.ERRNO_CODES.ENOENT);let n=t.content,s=t.format;switch(s){case"json":case"text":return{data:Ad.encode(n),format:s};case"base64":{let r=atob(n),a=r.length,o=new Uint8Array(a);for(let u=0;u<a;u++)o[u]=r.charCodeAt(u);return{data:o,format:s}}default:throw new this.FS.ErrnoError(this.ERRNO_CODES.ENOENT)}}put(e,t){switch(t.format){case"json":case"text":return this.request({method:"put",path:this.normalizePath(e),data:{format:t.format,data:Ud.decode(t.data)}});case"base64":{let n="";for(let s=0;s<t.data.byteLength;s++)n+=String.fromCharCode(t.data[s]);return this.request({method:"put",path:this.normalizePath(e),data:{format:t.format,data:btoa(n)}})}}}getattr(e){let t=this.request({method:"getattr",path:this.normalizePath(e)});return t.atime&&(t.atime=new Date(t.atime)),t.mtime&&(t.mtime=new Date(t.mtime)),t.ctime&&(t.ctime=new Date(t.ctime)),t.size=t.size||0,t}normalizePath(e){return e.startsWith(this._mountpoint)&&(e=e.slice(this._mountpoint.length)),this._driveName&&(e=`${this._driveName}${uo}${e}`),e}},Wn=class extends pt{constructor(e){super(e),this._baseUrl=e.baseUrl,this._browsingContextId=e.browsingContextId||""}request(e){let t=new XMLHttpRequest;t.open("POST",encodeURI(this.endpoint),!1);let n={data:e,browsingContextId:this._browsingContextId};try{t.send(JSON.stringify(n))}catch(s){console.error(s)}if(t.status>=400)throw new this.FS.ErrnoError(this.ERRNO_CODES.EINVAL);return JSON.parse(t.responseText)}get endpoint(){return`${this._baseUrl}api/drive`}},Bt=class{constructor(e){this.FS=e.FS,this.PATH=e.PATH,this.ERRNO_CODES=e.ERRNO_CODES,this.API=this.createAPI(e),this.driveName=e.driveName,this.node_ops=new Vn(this),this.stream_ops=new $n(this)}createAPI(e){if(!e.browsingContextId||!e.baseUrl)throw new Error("Cannot create service-worker API without current browsingContextId");return new Wn(e)}mount(e){return this.createNode(null,e.mountpoint,16895,0)}createNode(e,t,n,s){let r=this.FS;if(!r.isDir(n)&&!r.isFile(n))throw new r.ErrnoError(this.ERRNO_CODES.EINVAL);let a=r.createNode(e,t,n,s);return a.node_ops=this.node_ops,a.stream_ops=this.stream_ops,a}getMode(e){return this.API.getmode(e)}realPath(e){let t=[],n=e;for(t.push(n.name);n.parent!==n;)n=n.parent,t.push(n.name);return t.reverse(),this.PATH.join.apply(null,t)}}});var gs,_s,po=nt(()=>{gs=$e(X());ms();_s=class{constructor(e){this.contentsManager=e.contentsManager}async processDriveRequest(e){switch(e.method){case"readdir":return this.readdir(e);case"rmdir":return this.rmdir(e);case"rename":return this.rename(e);case"getmode":return this.getmode(e);case"lookup":return this.lookup(e);case"mknod":return this.mknod(e);case"getattr":return this.getattr(e);case"get":return this.get(e);case"put":return this.put(e)}throw`Drive request ${e.method} does not exist.`}async readdir(e){let t=await this.contentsManager.get(e.path,{content:!0}),n=[];return t.type==="directory"&&t.content&&(n=t.content.map(s=>s.name)),n}async rmdir(e){return await this.contentsManager.delete(e.path),null}async rename(e){return await this.contentsManager.rename(e.path,e.data.newPath),null}async getmode(e){let t=await this.contentsManager.get(e.path),n;return t.type==="directory"?n=16895:n=33206,n}async lookup(e){let t;try{t={ok:!0,mode:(await this.contentsManager.get(e.path)).type==="directory"?16895:33206}}catch{t={ok:!1}}return t}async mknod(e){let t=await this.contentsManager.newUntitled({path:gs.PathExt.dirname(e.path),type:e.data.mode===16895?"directory":"file",ext:gs.PathExt.extname(e.path)});return await this.contentsManager.rename(t.path,e.path),null}async getattr(e){let t=await this.contentsManager.get(e.path),n=new Date(0).toISOString();return{dev:1,nlink:1,uid:0,gid:0,rdev:0,size:t.size||0,blksize:Jn,blocks:Math.ceil(t.size||0/Jn),atime:t.last_modified||n,mtime:t.last_modified||n,ctime:t.created||n,timestamp:0}}async get(e){let t=await this.contentsManager.get(e.path,{content:!0}),n;return t.type!=="directory"&&(n={content:t.format==="json"?JSON.stringify(t.content):t.content,format:t.format}),n}async put(e){return await this.contentsManager.save(e.path,{content:e.data.format==="json"?JSON.parse(e.data.data):e.data.data,type:"file",format:e.data.format}),null}}});var ho={};Po(ho,{BLOCK_SIZE:()=>Jn,BrowserStorageDrive:()=>ps,ContentsAPI:()=>pt,DIR_MODE:()=>Kt,DRIVE_API_PATH:()=>qd,DRIVE_NAME:()=>so,DRIVE_SEPARATOR:()=>uo,DriveContentsProcessor:()=>_s,DriveFS:()=>Bt,DriveFSEmscriptenNodeOps:()=>Vn,DriveFSEmscriptenStreamOps:()=>$n,FILE:()=>ze,FILE_MODE:()=>ao,MIME:()=>be,SEEK_CUR:()=>oo,SEEK_END:()=>lo,ServiceWorkerContentsAPI:()=>Wn,instanceOfStream:()=>hs});var vs=nt(()=>{ro();ms();cs();fs();po()});var Yn="function";var Ie="64e10b34-2bf7-4616-9668-f99de5aa046e",Fd="M"+Ie,Kd="T"+Ie;var Ss="get";var xs="has";var Cs="set";var{isArray:mt}=Array,{SharedArrayBuffer:gt,window:Mo}=globalThis,{notify:Xn,wait:Zn,waitAsync:_t}=Atomics,Qn=null;_t||(_t=i=>({value:new Promise(e=>{let t=new Worker("data:application/javascript,onmessage%3D(%7Bdata%3Ab%7D)%3D%3E(Atomics.wait(b%2C0)%2CpostMessage(0))");t.onmessage=e,t.postMessage(i)})}));try{new gt(4)}catch{gt=ArrayBuffer;let e=new WeakMap;if(Mo){let t=new Map,{prototype:{postMessage:n}}=Worker,s=r=>{var o;let a=(o=r.data)==null?void 0:o[Ie];if(!mt(a)){r.stopImmediatePropagation();let{id:u,sb:c}=a;t.get(u)(c)}};Qn=function(r,...a){let o=r==null?void 0:r[Ie];if(mt(o)){let[u,c]=o;e.set(c,u),this.addEventListener("message",s)}return n.call(this,r,...a)},_t=r=>({value:new Promise(a=>{t.set(e.get(r),a)}).then(a=>{t.delete(e.get(r)),e.delete(r);for(let o=0;o<a.length;o++)r[o]=a[o];return"ok"})})}else{let t=(n,s)=>({[Ie]:{id:n,sb:s}});Xn=n=>{postMessage(t(e.get(n),n))},addEventListener("message",n=>{var r;let s=(r=n.data)==null?void 0:r[Ie];if(mt(s)){let[a,o]=s;e.set(o,a)}})}}var{Int32Array:ti,Map:ks,Uint16Array:ni}=globalThis,{BYTES_PER_ELEMENT:Ps}=ti,{BYTES_PER_ELEMENT:Io}=ni,Ro=(i,e,t)=>{for(;Zn(i,0,0,e)==="timed-out";)t()},ii=new WeakSet,ei=new WeakMap,Oo={value:{then:i=>i()}},Do=0,Es=(i,{parse:e=JSON.parse,stringify:t=JSON.stringify,transform:n,interrupt:s}=JSON)=>{if(!ei.has(i)){let r=Qn||i.postMessage,a=(p,..._)=>r.call(i,{[Ie]:_},{transfer:p}),o=typeof s===Yn?s:s==null?void 0:s.handler,u=(s==null?void 0:s.delay)||42,c=new TextDecoder("utf-16"),d=(p,_)=>p?_t(_,0):(o?Ro(_,u,o):Zn(_,0),Oo),l=!1;ei.set(i,new Proxy(new ks,{[xs]:(p,_)=>typeof _=="string"&&!_.startsWith("_"),[Ss]:(p,_)=>_==="then"?null:(...g)=>{let E=Do++,S=new ti(new gt(Ps*2)),O=[];ii.has(g.at(-1)||O)&&ii.delete(O=g.pop()),a(O,E,S,_,n?g.map(n):g);let q=i!==globalThis,b=0;return l&&q&&(b=setTimeout(console.warn,1e3,`\u{1F480}\u{1F512} - Possible deadlock if proxy.${_}(...args) is awaited`)),d(q,S).value.then(()=>{clearTimeout(b);let w=S[1];if(!w)return;let R=Io*w;return S=new ti(new gt(R+R%Ps)),a([],E,S),d(q,S).value.then(()=>e(c.decode(new ni(S.buffer).slice(0,w))))})},[Cs](p,_,g){let E=typeof g;if(E!==Yn)throw new Error(`Unable to assign ${_} as ${E}`);if(!p.size){let S=new ks;i.addEventListener("message",async O=>{var b;let q=(b=O.data)==null?void 0:b[Ie];if(mt(q)){O.stopImmediatePropagation();let[w,R,...U]=q,T;if(U.length){let[D,A]=U;if(p.has(D)){l=!0;try{let h=await p.get(D)(...A);if(h!==void 0){let y=t(n?n(h):h);S.set(w,y),R[1]=y.length}}catch(h){T=h}finally{l=!1}}else T=new Error(`Unsupported action: ${D}`);R[0]=1}else{let D=S.get(w);S.delete(w);for(let A=new ni(R.buffer),h=0;h<D.length;h++)A[h]=D.charCodeAt(h)}if(Xn(R,0),T)throw T}})}return!!p.set(_,g)}}))}return ei.get(i)};Es.transfer=(...i)=>(ii.add(i),i);var Ms=Es;vs();var Hn=class{constructor(){this._options=null;this._initializer=null;this._pyodide=null;this._localPath="";this._driveName="";this._driveFS=null;this._sendWorkerMessage=()=>{};this._initialized=new Promise((e,t)=>{this._initializer={resolve:e,reject:t}})}async initialize(e){var t;if(this._options=e,e.location.includes(":")){let n=e.location.split(":");this._driveName=n[0],this._localPath=n[1]}else this._driveName="",this._localPath=e.location;await this.initRuntime(e),await this.initFilesystem(e),await this.initPackageManager(e),await this.initKernel(e),await this.initGlobals(e),(t=this._initializer)==null||t.resolve()}async initRuntime(e){let{pyodideUrl:t,indexUrl:n}=e,s;t.endsWith(".mjs")?s=(await import(t)).loadPyodide:(importScripts(t),s=self.loadPyodide),this._pyodide=await s({indexURL:n,...e.loadPyodideOptions})}async initPackageManager(e){if(!this._options)throw new Error("Uninitialized");let{pipliteWheelUrl:t,disablePyPIFallback:n,pipliteUrls:s,loadPyodideOptions:r}=this._options,a=(r||{}).packages||[];a.includes("micropip")||await this._pyodide.loadPackage(["micropip"]),a.includes("piplite")||await this._pyodide.runPythonAsync(`
|
|
11
11
|
import micropip
|
|
12
12
|
await micropip.install('${t}', keep_going=True)
|
|
13
13
|
`),await this._pyodide.runPythonAsync(`
|
|
@@ -15,7 +15,7 @@ var bo=Object.create;var Gn=Object.defineProperty;var So=Object.getOwnPropertyDe
|
|
|
15
15
|
piplite.piplite._PIPLITE_DISABLE_PYPI = ${n?"True":"False"}
|
|
16
16
|
piplite.piplite._PIPLITE_URLS = ${JSON.stringify(s)}
|
|
17
17
|
`)}async initKernel(e){let t=(e.loadPyodideOptions||{}).packages||[],n=["ssl","sqlite3","ipykernel","comm","pyodide_kernel","jedi","ipython"],s=[];for(let r of n)t.includes(r)||s.push(`await piplite.install('${r}', keep_going=True)`);s.push("import pyodide_kernel"),e.mountDrive&&this._localPath&&s.push("import os",`os.chdir("${this._localPath}")`),await this._pyodide.runPythonAsync(s.join(`
|
|
18
|
-
`))}async initGlobals(e){let{globals:t}=this._pyodide;this._kernel=t.get("pyodide_kernel").kernel_instance.copy(),this._stdout_stream=t.get("pyodide_kernel").stdout_stream.copy(),this._stderr_stream=t.get("pyodide_kernel").stderr_stream.copy(),this._interpreter=this._kernel.interpreter.copy(),this._interpreter.send_comm=this.sendComm.bind(this)}async initFilesystem(e){if(e.mountDrive){let t="/drive",{FS:n,PATH:s,ERRNO_CODES:r}=this._pyodide,{baseUrl:a}=e,{DriveFS:o}=await Promise.resolve().then(()=>(vs(),ho)),u=new o({FS:n,PATH:s,ERRNO_CODES:r,baseUrl:a,driveName:this._driveName,mountpoint:t,browsingContextId:this._browsingContextId});n.mkdirTree(t),n.mount(u,{},t),n.chdir(t),this._driveFS=u}}mapToObject(e){let t=e instanceof Array?[]:{};return e.forEach((n,s)=>{t[s]=n instanceof Map||n instanceof Array?this.mapToObject(n):n}),t}formatResult(e){if(!(e instanceof this._pyodide.ffi.PyProxy))return e;let t=e.toJs();return this.mapToObject(t)}registerCallback(e){this._sendWorkerMessage=e}async setup(e){await this._initialized,this._kernel._parent_header=this._pyodide.toPy(e)}async execute(e,t){await this.setup(t);let n=(l,p,_)=>{let g={execution_count:l,data:this.formatResult(p),metadata:this.formatResult(_)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:g,type:"execute_result"})},s=(l,p,_)=>{let g={ename:l,evalue:p,traceback:_};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:g,type:"execute_error"})},r=l=>{let p={wait:this.formatResult(l)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:p,type:"clear_output"})},a=(l,p,_)=>{let g={data:this.formatResult(l),metadata:this.formatResult(p),transient:this.formatResult(_)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:g,type:"display_data"})},o=(l,p,_)=>{let g={data:this.formatResult(l),metadata:this.formatResult(p),transient:this.formatResult(_)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:g,type:"update_display_data"})},u=(l,p)=>{let _={name:this.formatResult(l),text:this.formatResult(p)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:_,type:"stream"})};this._stdout_stream.publish_stream_callback=u,this._stderr_stream.publish_stream_callback=u,this._interpreter.display_pub.clear_output_callback=r,this._interpreter.display_pub.display_data_callback=a,this._interpreter.display_pub.update_display_data_callback=o,this._interpreter.displayhook.publish_execution_result=n,this._interpreter.input=this.input.bind(this),this._interpreter.getpass=this.getpass.bind(this);let c=await this._kernel.run(e.code),d=this.formatResult(c);return d.status==="error"&&s(d.ename,d.evalue,d.traceback),d}async complete(e,t){await this.setup(t);let n=this._kernel.complete(e.code,e.cursor_pos);return this.formatResult(n)}async inspect(e,t){await this.setup(t);let n=this._kernel.inspect(e.code,e.cursor_pos,e.detail_level);return this.formatResult(n)}async isComplete(e,t){await this.setup(t);let n=this._kernel.is_complete(e.code);return this.formatResult(n)}async commInfo(e,t){await this.setup(t);let n=this._kernel.comm_info(e.target_name);return{comms:this.formatResult(n),status:"ok"}}async commOpen(e,t){await this.setup(t);let n=this._kernel.comm_manager.comm_open(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(n)}async commMsg(e,t){await this.setup(t);let n=this._kernel.comm_manager.comm_msg(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(n)}async commClose(e,t){await this.setup(t);let n=this._kernel.comm_manager.comm_close(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(n)}async inputReply(e,t){
|
|
18
|
+
`))}async initGlobals(e){let{globals:t}=this._pyodide;this._kernel=t.get("pyodide_kernel").kernel_instance.copy(),this._stdout_stream=t.get("pyodide_kernel").stdout_stream.copy(),this._stderr_stream=t.get("pyodide_kernel").stderr_stream.copy(),this._interpreter=this._kernel.interpreter.copy(),this._interpreter.send_comm=this.sendComm.bind(this)}async initFilesystem(e){if(e.mountDrive){let t="/drive",{FS:n,PATH:s,ERRNO_CODES:r}=this._pyodide,{baseUrl:a}=e,{DriveFS:o}=await Promise.resolve().then(()=>(vs(),ho)),u=new o({FS:n,PATH:s,ERRNO_CODES:r,baseUrl:a,driveName:this._driveName,mountpoint:t,browsingContextId:this._browsingContextId});n.mkdirTree(t),n.mount(u,{},t),n.chdir(t),this._driveFS=u}}mapToObject(e){let t=e instanceof Array?[]:{};return e.forEach((n,s)=>{t[s]=n instanceof Map||n instanceof Array?this.mapToObject(n):n}),t}formatResult(e){if(!(e instanceof this._pyodide.ffi.PyProxy))return e;let t=e.toJs();return this.mapToObject(t)}registerCallback(e){this._sendWorkerMessage=e}async setup(e){await this._initialized,this._kernel._parent_header=this._pyodide.toPy(e)}async execute(e,t){await this.setup(t);let n=(l,p,_)=>{let g={execution_count:l,data:this.formatResult(p),metadata:this.formatResult(_)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:g,type:"execute_result"})},s=(l,p,_)=>{let g={ename:l,evalue:p,traceback:_};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:g,type:"execute_error"})},r=l=>{let p={wait:this.formatResult(l)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:p,type:"clear_output"})},a=(l,p,_)=>{let g={data:this.formatResult(l),metadata:this.formatResult(p),transient:this.formatResult(_)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:g,type:"display_data"})},o=(l,p,_)=>{let g={data:this.formatResult(l),metadata:this.formatResult(p),transient:this.formatResult(_)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:g,type:"update_display_data"})},u=(l,p)=>{let _={name:this.formatResult(l),text:this.formatResult(p)};this._sendWorkerMessage({parentHeader:this.formatResult(this._kernel._parent_header).header,bundle:_,type:"stream"})};this._stdout_stream.publish_stream_callback=u,this._stderr_stream.publish_stream_callback=u,this._interpreter.display_pub.clear_output_callback=r,this._interpreter.display_pub.display_data_callback=a,this._interpreter.display_pub.update_display_data_callback=o,this._interpreter.displayhook.publish_execution_result=n,this._interpreter.input=this.input.bind(this),this._interpreter.getpass=this.getpass.bind(this);let c=await this._kernel.run(e.code),d=this.formatResult(c);return d.status==="error"&&s(d.ename,d.evalue,d.traceback),d}async complete(e,t){await this.setup(t);let n=this._kernel.complete(e.code,e.cursor_pos);return this.formatResult(n)}async inspect(e,t){await this.setup(t);let n=this._kernel.inspect(e.code,e.cursor_pos,e.detail_level);return this.formatResult(n)}async isComplete(e,t){await this.setup(t);let n=this._kernel.is_complete(e.code);return this.formatResult(n)}async commInfo(e,t){await this.setup(t);let n=this._kernel.comm_info(e.target_name);return{comms:this.formatResult(n),status:"ok"}}async commOpen(e,t){await this.setup(t);let n=this._kernel.comm_manager.comm_open(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(n)}async commMsg(e,t){await this.setup(t);let n=this._kernel.comm_manager.comm_msg(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(n)}async commClose(e,t){await this.setup(t);let n=this._kernel.comm_manager.comm_close(this._pyodide.toPy(null),this._pyodide.toPy(null),this._pyodide.toPy(e));return this.formatResult(n)}async inputReply(e,t){}getpass(e){return e=typeof e=="undefined"?"":e,this.sendInputRequest(e,!0)}input(e){return e=typeof e=="undefined"?"":e,this.sendInputRequest(e,!1)}async sendComm(e,t,n,s,r){this._sendWorkerMessage({type:e,content:this.formatResult(t),metadata:this.formatResult(n),ident:this.formatResult(s),buffers:this.formatResult(r),parentHeader:this.formatResult(this._kernel._parent_header).header})}};var ye=Ms(self),ys=class extends pt{request(e){return ye.processDriveRequest(e)}},ws=class extends Bt{createAPI(e){return new ys(e)}},bs=class extends Hn{async initFilesystem(e){if(e.mountDrive){let t="/drive",{FS:n,PATH:s,ERRNO_CODES:r}=this._pyodide,{baseUrl:a}=e,o=new ws({FS:n,PATH:s,ERRNO_CODES:r,baseUrl:a,driveName:this._driveName,mountpoint:t});n.mkdirTree(t),n.mount(o,{},t),n.chdir(t),this._driveFS=o}}sendInputRequest(e,t){return ye.processStdinRequest({prompt:e,password:t})}},H=new bs,Nd=ye.processWorkerMessage.bind(ye);H.registerCallback(Nd);ye.initialize=H.initialize.bind(H);ye.execute=H.execute.bind(H);ye.complete=H.complete.bind(H);ye.inspect=H.inspect.bind(H);ye.isComplete=H.isComplete.bind(H);ye.commInfo=H.commInfo.bind(H);ye.commOpen=H.commOpen.bind(H);ye.commMsg=H.commMsg.bind(H);ye.commClose=H.commClose.bind(H);ye.inputReply=H.inputReply.bind(H);export{bs as PyodideCoincidentKernel,ys as SharedBufferContentsAPI};
|
|
19
19
|
/*! Bundled license information:
|
|
20
20
|
|
|
21
21
|
coincident/esm/index.js:
|