Commit a8f4d0ef authored by Boxiang Sun's avatar Boxiang Sun

erp5_notebook: Update pyodide files

The previous files were built on normal Linux
The updated files were built on SlapOS
parent 0208afc3
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="cycler.data";var REMOTE_PACKAGE_BASE="cycler.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","cycler-0.10.0-py3.6.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_cycler.data")}Module["addRunDependency"]("datafile_cycler.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/cycler.py",start:0,end:15959,audio:0},{filename:"/lib/python3.6/site-packages/__pycache__/cycler.cpython-36.pyc",start:15959,end:31999,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/top_level.txt",start:31999,end:32006,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/dependency_links.txt",start:32006,end:32007,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/PKG-INFO",start:32007,end:32720,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/SOURCES.txt",start:32720,end:33110,audio:0},{filename:"/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg-info/requires.txt",start:33110,end:33114,audio:0}],remote_package_size:33114,package_uuid:"49e462f0-cff7-482f-b8b2-7b414ac838db"})})();
\ No newline at end of file
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="cycler.data";var REMOTE_PACKAGE_BASE="cycler.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","cycler-0.10.0-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:10001,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1123,2222,3501,4513,5774,6981,8302,9628],sizes:[1123,1099,1279,1012,1261,1207,1321,1326,373],successes:[1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_cycler.data")}Module["addRunDependency"]("datafile_cycler.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/cycler.py",start:0,end:15959,audio:0},{filename:"/lib/python3.7/site-packages/cycler-0.10.0-py3.7.egg-info/PKG-INFO",start:15959,end:16672,audio:0},{filename:"/lib/python3.7/site-packages/cycler-0.10.0-py3.7.egg-info/SOURCES.txt",start:16672,end:17062,audio:0},{filename:"/lib/python3.7/site-packages/cycler-0.10.0-py3.7.egg-info/dependency_links.txt",start:17062,end:17063,audio:0},{filename:"/lib/python3.7/site-packages/cycler-0.10.0-py3.7.egg-info/requires.txt",start:17063,end:17067,audio:0},{filename:"/lib/python3.7/site-packages/cycler-0.10.0-py3.7.egg-info/top_level.txt",start:17067,end:17074,audio:0}],remote_package_size:14097,package_uuid:"6c6cb8d4-8fd5-48d5-8f5c-e98266cdfb81"})})();
\ No newline at end of file
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="kiwisolver.data";var REMOTE_PACKAGE_BASE="kiwisolver.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","kiwisolver-1.0.1-py3.6.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_kiwisolver.data")}Module["addRunDependency"]("datafile_kiwisolver.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/kiwisolver.so",start:0,end:144087,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/top_level.txt",start:144087,end:144098,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/dependency_links.txt",start:144098,end:144099,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/PKG-INFO",start:144099,end:145168,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/SOURCES.txt",start:145168,end:145846,audio:0},{filename:"/lib/python3.6/site-packages/kiwisolver-1.0.1-py3.6.egg-info/requires.txt",start:145846,end:145857,audio:0}],remote_package_size:145857,package_uuid:"8f0d0a23-11d4-41e9-9503-f90b53718e97"})})();
\ No newline at end of file
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="kiwisolver.data";var REMOTE_PACKAGE_BASE="kiwisolver.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","kiwisolver-1.0.1-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:74874,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1114,1765,2970,4135,4987,5747,6169,6900,7786,8716,9628,10423,11143,12003,12478,13038,13883,14793,15477,16410,17343,18479,19761,20988,22248,23603,24844,26242,26841,27354,28188,29009,29678,30538,31171,32153,32716,32985,33808,35137,36789,38443,39974,41469,42830,44122,45707,47191,48459,49648,51196,52632,54193,55487,56652,58087,58799,59599,60356,61275,62146,62938,63952,64765,65408,66166,66657,67938,69292,69937,70643,71454,71720,72408,73551],sizes:[1114,651,1205,1165,852,760,422,731,886,930,912,795,720,860,475,560,845,910,684,933,933,1136,1282,1227,1260,1355,1241,1398,599,513,834,821,669,860,633,982,563,269,823,1329,1652,1654,1531,1495,1361,1292,1585,1484,1268,1189,1548,1436,1561,1294,1165,1435,712,800,757,919,871,792,1014,813,643,758,491,1281,1354,645,706,811,266,688,1143,1323],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_kiwisolver.data")}Module["addRunDependency"]("datafile_kiwisolver.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/kiwisolver.so",start:0,end:153821,audio:0},{filename:"/lib/python3.7/site-packages/kiwisolver-1.0.1-py3.7.egg-info/PKG-INFO",start:153821,end:154890,audio:0},{filename:"/lib/python3.7/site-packages/kiwisolver-1.0.1-py3.7.egg-info/SOURCES.txt",start:154890,end:155568,audio:0},{filename:"/lib/python3.7/site-packages/kiwisolver-1.0.1-py3.7.egg-info/dependency_links.txt",start:155568,end:155569,audio:0},{filename:"/lib/python3.7/site-packages/kiwisolver-1.0.1-py3.7.egg-info/requires.txt",start:155569,end:155580,audio:0},{filename:"/lib/python3.7/site-packages/kiwisolver-1.0.1-py3.7.egg-info/top_level.txt",start:155580,end:155591,audio:0}],remote_package_size:78970,package_uuid:"d33a8faa-0455-4018-9c3d-7766a3f8ffc3"})})();
\ No newline at end of file
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......@@ -24,7 +24,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
<value> <string>pyodide.asm.data.js</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -24,7 +24,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Pyodide ASM Data</string> </value>
<value> <string>pyodide.asm.data</string> </value>
</item>
</dictionary>
</pickle>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......@@ -24,7 +24,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
<value> <string>pyodide.asm.js</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -24,7 +24,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string>Pyodide ASM</string> </value>
<value> <string>pyodide.asm.wasm</string> </value>
</item>
</dictionary>
</pickle>
......
......@@ -2,22 +2,22 @@
* The main bootstrap script for loading pyodide.
*/
// Regexp for validating package name and URI
var package_name_regexp = '[a-z0-9_][a-z0-9_\-]*'
var package_uri_regexp =
new RegExp('^https?://.*?(' + package_name_regexp + ').js$', 'i');
var package_name_regexp = new RegExp('^' + package_name_regexp + '$', 'i');
var languagePluginLoader = new Promise((resolve, reject) => {
// This is filled in by the Makefile to be either a local file or the
// deployed location. TODO: This should be done in a less hacky
// way.
const baseURL = '';
var baseURL = ''; // = window.languagePluginUrl || 'https://iodide.io/pyodide-demo/';
// baseURL = baseURL.substr(0, baseURL.lastIndexOf('/')) + '/';
////////////////////////////////////////////////////////////
// Package loading
var packages = undefined;
let loadedPackages = new Array();
var loadPackagePromise = new Promise((resolve) => resolve());
// Regexp for validating package name and URI
var package_name_regexp = '[a-z0-9_][a-z0-9_\-]*'
var package_uri_regexp =
new RegExp('^https?://.*?(' + package_name_regexp + ').js$', 'i');
var package_name_regexp = new RegExp('^' + package_name_regexp + '$', 'i');
let _uri_to_package_name = (package_uri) => {
// Generate a unique package name from URI
......@@ -33,10 +33,54 @@ var languagePluginLoader = new Promise((resolve, reject) => {
}
};
let loadPackage = (names) => {
// clang-format off
let preloadWasm = () => {
// On Chrome, we have to instantiate wasm asynchronously. Since that
// can't be done synchronously within the call to dlopen, we instantiate
// every .so that comes our way up front, caching it in the
// `preloadedWasm` dictionary.
let promise = new Promise((resolve) => resolve());
let FS = pyodide._module.FS;
function recurseDir(rootpath) {
let dirs;
try {
dirs = FS.readdir(rootpath);
} catch {
return;
}
for (entry of dirs) {
if (entry.startsWith('.')) {
continue;
}
const path = rootpath + entry;
if (entry.endsWith('.so')) {
if (Module['preloadedWasm'][path] === undefined) {
promise = promise
.then(() => Module['loadWebAssemblyModule'](
FS.readFile(path), {loadAsync: true}))
.then((module) => {
Module['preloadedWasm'][path] = module;
});
}
} else if (FS.isDir(FS.lookupPath(path).node.mode)) {
recurseDir(path + '/');
}
}
}
recurseDir('/');
return promise;
}
// clang-format on
let _loadPackage = (names, messageCallback) => {
// DFS to find all dependencies of the requested packages
let packages = window.pyodide.packages.dependencies;
let queue = new Array(names);
let packages = window.pyodide._module.packages.dependencies;
let loadedPackages = window.pyodide.loadedPackages;
let queue = [].concat(names || []);
let toLoad = new Array();
while (queue.length) {
let package_uri = queue.pop();
......@@ -44,21 +88,29 @@ var languagePluginLoader = new Promise((resolve, reject) => {
const package = _uri_to_package_name(package_uri);
if (package == null) {
throw new Error(`Invalid package name or URI '${package_uri}'`);
console.error(`Invalid package name or URI '${package_uri}'`);
return;
} else if (package == package_uri) {
package_uri = 'default channel';
}
console.log(`Loading ${package} from ${package_uri}`);
if (package in loadedPackages) {
if (package_uri != loadedPackages[package]) {
throw new Error(
`URI mismatch, attempting to load package ` +
`${package} from ${package_uri} while it is already ` +
`loaded from ${loadedPackages[package]}!`);
console.error(`URI mismatch, attempting to load package ` +
`${package} from ${package_uri} while it is already ` +
`loaded from ${loadedPackages[package]}!`);
return;
}
} else if (package in toLoad) {
if (package_uri != toLoad[package]) {
console.error(`URI mismatch, attempting to load package ` +
`${package} from ${package_uri} while it is already ` +
`being loaded from ${toLoad[package]}!`);
return;
}
} else {
console.log(`Loading ${package} from ${package_uri}`);
toLoad[package] = package_uri;
if (packages.hasOwnProperty(package)) {
packages[package].forEach((subpackage) => {
......@@ -67,27 +119,66 @@ var languagePluginLoader = new Promise((resolve, reject) => {
}
});
} else {
console.log(`Unknown package '${package}'`);
console.error(`Unknown package '${package}'`);
}
}
}
window.pyodide._module.locateFile = (path) => {
// handle packages loaded from custom URLs
let package = path.replace(/\.data$/, "");
if (package in toLoad) {
let package_uri = toLoad[package];
if (package_uri != 'default channel') {
return package_uri.replace(/\.js$/, ".data");
};
};
return baseURL + path;
};
let promise = new Promise((resolve, reject) => {
if (Object.keys(toLoad).length === 0) {
resolve('No new packages to load');
return;
}
const packageList = Array.from(Object.keys(toLoad)).join(', ');
if (messageCallback !== undefined) {
messageCallback(`Loading ${packageList}`);
}
pyodide.monitorRunDependencies = (n) => {
if (n === 0) {
// monitorRunDependencies is called at the beginning and the end of each
// package being loaded. We know we are done when it has been called
// exactly "toLoad * 2" times.
var packageCounter = Object.keys(toLoad).length * 2;
window.pyodide._module.monitorRunDependencies = () => {
packageCounter--;
if (packageCounter === 0) {
for (let package in toLoad) {
loadedPackages[package] = toLoad[package];
window.pyodide.loadedPackages[package] = toLoad[package];
}
delete window.pyodide._module.monitorRunDependencies;
window.removeEventListener('error', windowErrorHandler);
if (!isFirefox) {
preloadWasm().then(() => {resolve(`Loaded ${packageList}`)});
} else {
resolve(`Loaded ${packageList}`);
}
delete pyodide.monitorRunDependencies;
const packageList = Array.from(Object.keys(toLoad)).join(', ');
resolve(`Loaded ${packageList}`);
}
};
// Add a handler for any exceptions that are thrown in the process of
// loading a package
var windowErrorHandler = (err) => {
delete window.pyodide._module.monitorRunDependencies;
window.removeEventListener('error', windowErrorHandler);
// Set up a new Promise chain, since this one failed
loadPackagePromise = new Promise((resolve) => resolve());
reject(err.message);
};
window.addEventListener('error', windowErrorHandler);
for (let package in toLoad) {
let script = document.createElement('script');
let package_uri = toLoad[package];
......@@ -96,7 +187,19 @@ var languagePluginLoader = new Promise((resolve, reject) => {
} else {
script.src = `${package_uri}`;
}
script.onerror = (e) => { reject(e); };
script.onerror = (e) => {
// If the package_uri fails to load, call monitorRunDependencies twice
// (so packageCounter will still hit 0 and finish loading), and remove
// the package from toLoad so we don't mark it as loaded.
console.error(`Couldn't load package from URL ${script.src}`)
let index = toLoad.indexOf(package);
if (index !== -1) {
toLoad.splice(index, 1);
}
for (let i = 0; i < 2; i++) {
window.pyodide._module.monitorRunDependencies();
}
};
document.body.appendChild(script);
}
......@@ -107,13 +210,19 @@ var languagePluginLoader = new Promise((resolve, reject) => {
'_importlib.invalidate_caches()\n');
});
if (window.iodide !== undefined) {
window.iodide.evalQueue.await([ promise ]);
}
return promise;
};
let loadPackage = (names, messageCallback) => {
/* We want to make sure that only one loadPackage invocation runs at any
* given time, so this creates a "chain" of promises. */
loadPackagePromise =
loadPackagePromise.then(() => _loadPackage(names, messageCallback));
return loadPackagePromise;
};
////////////////////////////////////////////////////////////
// Fix Python recursion limit
function fixRecursionLimit(pyodide) {
// The Javascript/Wasm call stack may be too small to handle the default
// Python call stack limit of 1000 frames. This is generally the case on
......@@ -140,19 +249,39 @@ var languagePluginLoader = new Promise((resolve, reject) => {
`import sys; sys.setrecursionlimit(int(${recursionLimit}))`);
};
////////////////////////////////////////////////////////////
// Rearrange namespace for public API
let PUBLIC_API = [
'globals',
'loadPackage',
'loadedPackages',
'pyimport',
'repr',
'runPython',
'runPythonAsync',
'checkABI',
'version',
];
function makePublicAPI(module, public_api) {
var namespace = {_module : module};
for (let name of public_api) {
namespace[name] = module[name];
}
return namespace;
}
////////////////////////////////////////////////////////////
// Loading Pyodide
let wasmURL = `${baseURL}pyodide.asm.wasm`;
let wasmURL = `pyodide.asm.wasm`;
let Module = {};
window.Module = Module;
Module.noImageDecoding = true;
Module.noAudioDecoding = true;
Module.noWasmDecoding = true;
Module.preloadedWasm = {};
let isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
if (isFirefox) {
console.log("Skipping wasm decoding");
Module.noWasmDecoding = true;
}
let wasm_promise = WebAssembly.compileStreaming(fetch(wasmURL));
Module.instantiateWasm = (info, receiveInstance) => {
......@@ -161,7 +290,16 @@ var languagePluginLoader = new Promise((resolve, reject) => {
return {};
};
Module.filePackagePrefixURL = baseURL;
Module.checkABI = function(ABI_number) {
if (ABI_number !== parseInt('1')) {
var ABI_mismatch_exception =
`ABI numbers differ. Expected 1, got ${ABI_number}`;
console.error(ABI_mismatch_exception);
throw ABI_mismatch_exception;
}
return true;
};
Module.locateFile = (path) => baseURL + path;
var postRunPromise = new Promise((resolve, reject) => {
Module.postRun = () => {
......@@ -169,8 +307,11 @@ var languagePluginLoader = new Promise((resolve, reject) => {
fetch(`${baseURL}packages.json`)
.then((response) => response.json())
.then((json) => {
window.pyodide.packages = json;
fixRecursionLimit(pyodide);
fixRecursionLimit(window.pyodide);
window.pyodide.globals =
window.pyodide.runPython('import sys\nsys.modules["__main__"]');
window.pyodide = makePublicAPI(window.pyodide, PUBLIC_API);
window.pyodide._module.packages = json;
resolve();
});
};
......@@ -189,12 +330,16 @@ var languagePluginLoader = new Promise((resolve, reject) => {
Promise.all([ postRunPromise, dataLoadPromise ]).then(() => resolve());
let data_script = document.createElement('script');
data_script.src = `${baseURL}pyodide.asm.data.js`;
data_script.src = `pyodide.asm.data.js`;
data_script.onload = (event) => {
let script = document.createElement('script');
script.src = `${baseURL}pyodide.asm.js`;
script.src = `pyodide.asm.js`;
script.onload = () => {
// The emscripten module needs to be at this location for the core
// filesystem to install itself. Once that's complete, it will be replaced
// by the call to `makePublicAPI` with a more limited public API.
window.pyodide = pyodide(Module);
window.pyodide.loadedPackages = new Array();
window.pyodide.loadPackage = loadPackage;
};
document.head.appendChild(script);
......@@ -216,7 +361,8 @@ var languagePluginLoader = new Promise((resolve, reject) => {
// Add a custom output handler for Python objects
window.iodide.addOutputHandler({
shouldHandle : (val) => {
return (typeof val === 'function' && pyodide.PyProxy.isPyProxy(val));
return (typeof val === 'function' &&
pyodide._module.PyProxy.isPyProxy(val));
},
render : (val) => {
......
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......@@ -24,7 +24,7 @@
</item>
<item>
<key> <string>title</string> </key>
<value> <string></string> </value>
<value> <string>pyodide.js</string> </value>
</item>
</dictionary>
</pickle>
......
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="pyparsing.data";var REMOTE_PACKAGE_BASE="pyparsing.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","pyparsing-2.2.0-py3.6.egg-info",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","__pycache__",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_pyparsing.data")}Module["addRunDependency"]("datafile_pyparsing.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/pyparsing.py",start:0,end:231121,audio:0},{filename:"/lib/python3.6/site-packages/pyparsing-2.2.0-py3.6.egg-info/top_level.txt",start:231121,end:231131,audio:0},{filename:"/lib/python3.6/site-packages/pyparsing-2.2.0-py3.6.egg-info/dependency_links.txt",start:231131,end:231132,audio:0},{filename:"/lib/python3.6/site-packages/pyparsing-2.2.0-py3.6.egg-info/PKG-INFO",start:231132,end:232052,audio:0},{filename:"/lib/python3.6/site-packages/pyparsing-2.2.0-py3.6.egg-info/SOURCES.txt",start:232052,end:237111,audio:0},{filename:"/lib/python3.6/site-packages/__pycache__/pyparsing.cpython-36.pyc",start:237111,end:439358,audio:0}],remote_package_size:439358,package_uuid:"28aa4f4a-c37c-41cd-a4e5-cc0435e7a49e"})})();
\ No newline at end of file
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="pyparsing.data";var REMOTE_PACKAGE_BASE="pyparsing.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","pyparsing-2.2.0-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:130565,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1665,3098,4575,6063,7133,8413,9533,10443,11469,12534,13651,14654,15736,16836,17965,18915,20073,21183,22208,23443,24729,25824,26990,28156,29473,30657,31714,32472,33430,34117,35284,36515,37735,38818,40007,41108,42184,43137,43986,44506,45363,46500,47589,48727,49912,50786,51865,52989,54276,55340,56566,57642,59050,60022,60950,62289,63533,64457,65576,66847,68106,69156,70091,70976,72127,72962,74166,75314,76341,77468,78759,79767,80905,81796,82987,84088,85195,86396,87629,88834,89921,91172,92336,93560,94664,95953,97236,98550,99730,101037,102336,103674,105050,106475,107651,108810,110073,111382,112695,113998,114958,116058,117342,118158,119407,120422,121746,122659,123563,124637,125586,126953,128131,129141,130035],sizes:[1665,1433,1477,1488,1070,1280,1120,910,1026,1065,1117,1003,1082,1100,1129,950,1158,1110,1025,1235,1286,1095,1166,1166,1317,1184,1057,758,958,687,1167,1231,1220,1083,1189,1101,1076,953,849,520,857,1137,1089,1138,1185,874,1079,1124,1287,1064,1226,1076,1408,972,928,1339,1244,924,1119,1271,1259,1050,935,885,1151,835,1204,1148,1027,1127,1291,1008,1138,891,1191,1101,1107,1201,1233,1205,1087,1251,1164,1224,1104,1289,1283,1314,1180,1307,1299,1338,1376,1425,1176,1159,1263,1309,1313,1303,960,1100,1284,816,1249,1015,1324,913,904,1074,949,1367,1178,1010,894,530],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_pyparsing.data")}Module["addRunDependency"]("datafile_pyparsing.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/pyparsing.py",start:0,end:231121,audio:0},{filename:"/lib/python3.7/site-packages/pyparsing-2.2.0-py3.7.egg-info/PKG-INFO",start:231121,end:232041,audio:0},{filename:"/lib/python3.7/site-packages/pyparsing-2.2.0-py3.7.egg-info/SOURCES.txt",start:232041,end:237100,audio:0},{filename:"/lib/python3.7/site-packages/pyparsing-2.2.0-py3.7.egg-info/dependency_links.txt",start:237100,end:237101,audio:0},{filename:"/lib/python3.7/site-packages/pyparsing-2.2.0-py3.7.egg-info/top_level.txt",start:237101,end:237111,audio:0}],remote_package_size:134661,package_uuid:"21d46ad8-2374-42c2-a3da-4f5fb13a76e0"})})();
\ No newline at end of file
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
var Module=typeof pyodide!=="undefined"?pyodide:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="python-dateutil.data";var REMOTE_PACKAGE_BASE="python-dateutil.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.6",true,true);Module["FS_createPath"]("/lib/python3.6","site-packages",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","dateutil",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil","tz",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil/tz","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil","parser",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil/parser","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil","zoneinfo",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages/dateutil/zoneinfo","__pycache__",true,true);Module["FS_createPath"]("/lib/python3.6/site-packages","python_dateutil-2.7.2-py3.6.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};var files=metadata.files;for(var i=0;i<files.length;++i){new DataRequest(files[i].start,files[i].end,files[i].audio).open("GET",files[i].filename)}function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;if(Module["SPLIT_MEMORY"])err("warning: you should run the file packager with --no-heap-copy when SPLIT_MEMORY is used, otherwise copying into the heap may fail due to the splitting");var ptr=Module["getMemory"](byteArray.length);Module["HEAPU8"].set(byteArray,ptr);DataRequest.prototype.byteArray=Module["HEAPU8"].subarray(ptr,ptr+byteArray.length);var files=metadata.files;for(var i=0;i<files.length;++i){DataRequest.prototype.requests[files[i].filename].onload()}Module["removeRunDependency"]("datafile_python-dateutil.data")}Module["addRunDependency"]("datafile_python-dateutil.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.6/site-packages/dateutil/_common.py",start:0,end:932,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tzwin.py",start:932,end:991,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/rrule.py",start:991,end:65858,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/easter.py",start:65858,end:68542,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__init__.py",start:68542,end:68764,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/_version.py",start:68764,end:68880,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/relativedelta.py",start:68880,end:93373,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/utils.py",start:93373,end:95214,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/relativedelta.cpython-36.pyc",start:95214,end:110049,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/tzwin.cpython-36.pyc",start:110049,end:110208,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/utils.cpython-36.pyc",start:110208,end:112291,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/_version.cpython-36.pyc",start:112291,end:112447,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/_common.cpython-36.pyc",start:112447,end:113846,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/__init__.cpython-36.pyc",start:113846,end:114186,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/easter.cpython-36.pyc",start:114186,end:116345,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/__pycache__/rrule.cpython-36.pyc",start:116345,end:158308,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/_common.py",start:158308,end:171200,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/tz.py",start:171200,end:227580,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/_factories.py",start:227580,end:229014,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__init__.py",start:229014,end:229517,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/win.py",start:229517,end:240835,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/_factories.cpython-36.pyc",start:240835,end:243019,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/win.cpython-36.pyc",start:243019,end:252492,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/_common.cpython-36.pyc",start:252492,end:264717,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/__init__.cpython-36.pyc",start:264717,end:265362,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/tz/__pycache__/tz.cpython-36.pyc",start:265362,end:305860,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/isoparser.py",start:305860,end:318705,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/__init__.py",start:318705,end:320432,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/_parser.py",start:320432,end:376190,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/__pycache__/_parser.cpython-36.pyc",start:376190,end:414320,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/__pycache__/isoparser.cpython-36.pyc",start:414320,end:425238,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/parser/__pycache__/__init__.cpython-36.pyc",start:425238,end:427252,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/rebuild.py",start:427252,end:428971,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz",start:428971,end:568051,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/__init__.py",start:568051,end:573940,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/__pycache__/rebuild.cpython-36.pyc",start:573940,end:575800,audio:0},{filename:"/lib/python3.6/site-packages/dateutil/zoneinfo/__pycache__/__init__.cpython-36.pyc",start:575800,end:581385,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/top_level.txt",start:581385,end:581394,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/dependency_links.txt",start:581394,end:581395,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/zip-safe",start:581395,end:581396,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/PKG-INFO",start:581396,end:589214,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/SOURCES.txt",start:589214,end:590799,audio:0},{filename:"/lib/python3.6/site-packages/python_dateutil-2.7.2-py3.6.egg-info/requires.txt",start:590799,end:590809,audio:0}],remote_package_size:590809,package_uuid:"4f0f9fb5-9590-40c6-af98-fa434b9d4140"})})();
\ No newline at end of file
var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};Module.checkABI(1);if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){var loadPackage=function(metadata){var PACKAGE_PATH;if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}else{throw"using preloaded data can only be done on a web page or in a web worker"}var PACKAGE_NAME="python-dateutil.data";var REMOTE_PACKAGE_BASE="python-dateutil.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata.remote_package_size;var PACKAGE_UUID=metadata.package_uuid;function fetchRemotePackage(packageName,packageSize,callback,errback){var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"]("Downloading data... ("+loaded+"/"+total+")")}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","lib",true,true);Module["FS_createPath"]("/lib","python3.7",true,true);Module["FS_createPath"]("/lib/python3.7","site-packages",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","dateutil",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/dateutil","zoneinfo",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/dateutil","tz",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages/dateutil","parser",true,true);Module["FS_createPath"]("/lib/python3.7/site-packages","python_dateutil-2.7.2-py3.7.egg-info",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"]("fp "+this.name)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createPreloadedFile"](this.name,null,byteArray,true,true,function(){Module["removeRunDependency"]("fp "+that.name)},function(){if(that.audio){Module["removeRunDependency"]("fp "+that.name)}else{err("Preloading file "+that.name+" failed")}},false,true);this.requests[this.name]=null}};function processPackageData(arrayBuffer){Module.finishedDataFileDownloads++;assert(arrayBuffer,"Loading data file failed.");assert(arrayBuffer instanceof ArrayBuffer,"bad input to processPackageData");var byteArray=new Uint8Array(arrayBuffer);var curr;var compressedData={data:null,cachedOffset:278934,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1415,2685,3619,4650,5412,6437,7020,8002,8709,9304,10123,11072,12468,13660,14643,15518,16660,18014,18978,20095,21306,22119,23034,23742,24743,25825,26778,27765,28520,29322,30191,31499,32846,33786,34619,35615,36714,37634,38600,39624,40615,41364,42193,42972,44405,45729,46992,48354,49618,51420,53468,55516,57564,59612,61664,63712,65760,67808,69856,71904,73961,76009,78057,80105,82149,84197,86245,88302,90350,92399,94414,96462,98509,100564,102612,104669,106717,108765,110813,112861,114909,116957,119005,121053,123101,125149,127197,129245,131297,133348,135396,137444,139492,141540,143588,145636,147684,149732,151780,153828,155868,157916,159964,162021,164069,166117,168165,170213,172261,174309,176357,178405,180453,182501,184549,186597,188645,190154,191283,192609,193861,194921,196124,197208,198686,199926,201179,202418,203722,204832,205993,207262,208455,209499,210540,211541,212828,213935,215202,216391,217401,218517,219723,220901,222104,223009,224280,225670,226665,227731,229051,230094,230840,231527,232630,233366,234266,235668,236906,238388,239824,240824,241647,242782,243882,244751,245737,246524,247730,248942,250083,251012,251963,252991,254011,254832,255931,257146,258269,259412,260738,261860,263092,263860,264805,265442,266753,268043,269207,270332,271428,272564,273783,274883,276142,277356,278533],sizes:[1415,1270,934,1031,762,1025,583,982,707,595,819,949,1396,1192,983,875,1142,1354,964,1117,1211,813,915,708,1001,1082,953,987,755,802,869,1308,1347,940,833,996,1099,920,966,1024,991,749,829,779,1433,1324,1263,1362,1264,1802,2048,2048,2048,2048,2052,2048,2048,2048,2048,2048,2057,2048,2048,2048,2044,2048,2048,2057,2048,2049,2015,2048,2047,2055,2048,2057,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2052,2051,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2040,2048,2048,2057,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,2048,1509,1129,1326,1252,1060,1203,1084,1478,1240,1253,1239,1304,1110,1161,1269,1193,1044,1041,1001,1287,1107,1267,1189,1010,1116,1206,1178,1203,905,1271,1390,995,1066,1320,1043,746,687,1103,736,900,1402,1238,1482,1436,1e3,823,1135,1100,869,986,787,1206,1212,1141,929,951,1028,1020,821,1099,1215,1123,1143,1326,1122,1232,768,945,637,1311,1290,1164,1125,1096,1136,1219,1100,1259,1214,1177,401],successes:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]};compressedData.data=byteArray;assert(typeof Module.LZ4==="object","LZ4 not present - was your app build with -s LZ4=1 ?");Module.LZ4.loadPackage({metadata:metadata,compressedData:compressedData});Module["removeRunDependency"]("datafile_python-dateutil.data")}Module["addRunDependency"]("datafile_python-dateutil.data");if(!Module.preloadResults)Module.preloadResults={};Module.preloadResults[PACKAGE_NAME]={fromCache:false};if(fetched){processPackageData(fetched);fetched=null}else{fetchedCallback=processPackageData}}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}};loadPackage({files:[{filename:"/lib/python3.7/site-packages/dateutil/relativedelta.py",start:0,end:24493,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/__init__.py",start:24493,end:24715,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/_version.py",start:24715,end:24831,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/rrule.py",start:24831,end:89698,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tzwin.py",start:89698,end:89757,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/easter.py",start:89757,end:92441,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/utils.py",start:92441,end:94282,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/_common.py",start:94282,end:95214,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/zoneinfo/__init__.py",start:95214,end:101103,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/zoneinfo/dateutil-zoneinfo.tar.gz",start:101103,end:240183,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/zoneinfo/rebuild.py",start:240183,end:241902,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/__init__.py",start:241902,end:242405,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/_factories.py",start:242405,end:243839,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/win.py",start:243839,end:255157,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/_common.py",start:255157,end:268049,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/tz/tz.py",start:268049,end:324429,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/parser/__init__.py",start:324429,end:326156,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/parser/_parser.py",start:326156,end:381914,audio:0},{filename:"/lib/python3.7/site-packages/dateutil/parser/isoparser.py",start:381914,end:394759,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/PKG-INFO",start:394759,end:402682,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/SOURCES.txt",start:402682,end:404267,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/dependency_links.txt",start:404267,end:404268,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/zip-safe",start:404268,end:404269,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/requires.txt",start:404269,end:404278,audio:0},{filename:"/lib/python3.7/site-packages/python_dateutil-2.7.2-py3.7.egg-info/top_level.txt",start:404278,end:404287,audio:0}],remote_package_size:283030,package_uuid:"5756e8b2-6145-442e-a646-81126769f6fd"})})();
\ No newline at end of file
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -16,7 +16,7 @@
</item>
<item>
<key> <string>content_type</string> </key>
<value> <string>application/javascript</string> </value>
<value> <string>text/javascript</string> </value>
</item>
<item>
<key> <string>precondition</string> </key>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment