voting_schemes-electionguard 0.24.2 → 0.24.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +1 -1
  3. data/Gemfile.lock +100 -68
  4. data/app/assets/javascripts/voting_schemes/electionguard/electionguard.js +1 -1
  5. data/lib/voting_schemes/electionguard/version.rb +1 -1
  6. data/public/assets/electionguard/attrs.data +0 -0
  7. data/public/assets/electionguard/attrs.js +1 -1
  8. data/public/assets/electionguard/bulletin_board-electionguard.data +0 -0
  9. data/public/assets/electionguard/bulletin_board-electionguard.js +1 -1
  10. data/public/assets/electionguard/console.html +89 -61
  11. data/public/assets/electionguard/electionguard.js +1 -1
  12. data/public/assets/electionguard/gmpy2.data +0 -0
  13. data/public/assets/electionguard/gmpy2.js +1 -1
  14. data/public/assets/electionguard/hypothesis.js +1 -1
  15. data/public/assets/electionguard/jsons.js +1 -1
  16. data/public/assets/electionguard/micropip.data +0 -0
  17. data/public/assets/electionguard/micropip.js +1 -1
  18. data/public/assets/electionguard/packages.json +1 -1
  19. data/public/assets/electionguard/packaging.data +0 -0
  20. data/public/assets/electionguard/packaging.js +1 -0
  21. data/public/assets/electionguard/pyasn1.js +1 -1
  22. data/public/assets/electionguard/pyodide.asm.data +0 -0
  23. data/public/assets/electionguard/pyodide.asm.js +11 -11
  24. data/public/assets/electionguard/pyodide.asm.wasm +0 -0
  25. data/public/assets/electionguard/pyodide.js +781 -333
  26. data/public/assets/electionguard/pyparsing.data +0 -0
  27. data/public/assets/electionguard/pyparsing.js +1 -0
  28. data/public/assets/electionguard/rsa.js +1 -1
  29. data/public/assets/electionguard/six.data +0 -0
  30. data/public/assets/electionguard/six.js +1 -0
  31. data/public/assets/electionguard/sortedcontainers.js +1 -1
  32. data/public/assets/electionguard/test.data +0 -0
  33. data/public/assets/electionguard/test.html +21 -24
  34. data/public/assets/electionguard/test.js +1 -1
  35. data/public/assets/electionguard/typish.js +1 -1
  36. data/public/assets/electionguard/webworker.js +29 -21
  37. data/public/assets/electionguard/webworker_dev.js +14 -14
  38. metadata +8 -6
  39. data/public/assets/electionguard/distlib.data +0 -0
  40. data/public/assets/electionguard/distlib.js +0 -1
  41. data/public/assets/electionguard/pyodide.asm.data.js +0 -1
  42. data/public/assets/electionguard/renderedhtml.css +0 -209
@@ -1 +1 @@
1
- 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="typish.data";var REMOTE_PACKAGE_BASE="typish.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.8",true,true);Module["FS_createPath"]("/lib/python3.8","site-packages",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages","typish-1.9.1-py3.8.egg-info",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages","typish",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages/typish","decorators",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages/typish","classes",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages/typish","functions",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:29228,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1157,2349,3601,4556,5520,6633,7660,8936,10201,11403,12567,13765,14960,16272,17262,18389,19578,20862,21909,23095,24358,25562,26794,27833,29065],sizes:[1157,1192,1252,955,964,1113,1027,1276,1265,1202,1164,1198,1195,1312,990,1127,1189,1284,1047,1186,1263,1204,1232,1039,1232,163],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]};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_typish.data")}Module["addRunDependency"]("datafile_typish.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.8/site-packages/typish-1.9.1-py3.8.egg-info/not-zip-safe",start:0,end:1,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/PKG-INFO",start:1,end:8313,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/SOURCES.txt",start:8313,end:10036,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/requires.txt",start:10036,end:10114,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/dependency_links.txt",start:10114,end:10115,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/top_level.txt",start:10115,end:10122,audio:0},{filename:"/lib/python3.8/site-packages/typish/_meta.py",start:10122,end:10360,audio:0},{filename:"/lib/python3.8/site-packages/typish/_state.py",start:10360,end:11616,audio:0},{filename:"/lib/python3.8/site-packages/typish/_types.py",start:11616,end:12044,audio:0},{filename:"/lib/python3.8/site-packages/typish/__init__.py",start:12044,end:13492,audio:0},{filename:"/lib/python3.8/site-packages/typish/decorators/_hintable.py",start:13492,end:17356,audio:0},{filename:"/lib/python3.8/site-packages/typish/decorators/__init__.py",start:17356,end:17356,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_cls_dict.py",start:17356,end:19244,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_subscriptable_type.py",start:19244,end:20824,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_literal.py",start:20824,end:23354,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_union_type.py",start:23354,end:23532,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_something.py",start:23532,end:28299,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/__init__.py",start:28299,end:28299,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_cls_function.py",start:28299,end:31220,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_common_ancestor.py",start:31220,end:32357,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_type_hints_of_callable.py",start:32357,end:33940,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_alias.py",start:33940,end:35135,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_mro.py",start:35135,end:36045,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_subclass_of.py",start:36045,end:41754,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_instance_of.py",start:41754,end:43252,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_is_type_annotation.py",start:43252,end:44104,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_simple_name.py",start:44104,end:44640,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_is_optional_type.py",start:44640,end:45265,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_type.py",start:45265,end:49715,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_origin.py",start:49715,end:50742,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/__init__.py",start:50742,end:50742,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_is_from_typing.py",start:50742,end:50985,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_args.py",start:50985,end:51402,audio:0}],remote_package_size:33324,package_uuid:"bbda5b06-eb0c-48d0-a7d5-4cf2e63a1333"})})();
1
+ var Module=typeof pyodide._module!=="undefined"?pyodide._module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=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="typish.data";var REMOTE_PACKAGE_BASE="typish.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.8",true,true);Module["FS_createPath"]("/lib/python3.8","site-packages",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages","typish-1.9.1-py3.8.egg-info",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages","typish",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages/typish","decorators",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages/typish","classes",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages/typish","functions",true,true);function processPackageData(arrayBuffer){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:29228,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1157,2349,3601,4556,5520,6633,7660,8936,10201,11403,12567,13765,14960,16272,17262,18389,19578,20862,21909,23095,24358,25562,26794,27833,29065],sizes:[1157,1192,1252,955,964,1113,1027,1276,1265,1202,1164,1198,1195,1312,990,1127,1189,1284,1047,1186,1263,1204,1232,1039,1232,163],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]};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},true);Module["removeRunDependency"]("datafile_typish.data")}Module["addRunDependency"]("datafile_typish.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.8/site-packages/typish-1.9.1-py3.8.egg-info/not-zip-safe",start:0,end:1,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/PKG-INFO",start:1,end:8313,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/SOURCES.txt",start:8313,end:10036,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/requires.txt",start:10036,end:10114,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/dependency_links.txt",start:10114,end:10115,audio:0},{filename:"/lib/python3.8/site-packages/typish-1.9.1-py3.8.egg-info/top_level.txt",start:10115,end:10122,audio:0},{filename:"/lib/python3.8/site-packages/typish/_meta.py",start:10122,end:10360,audio:0},{filename:"/lib/python3.8/site-packages/typish/_state.py",start:10360,end:11616,audio:0},{filename:"/lib/python3.8/site-packages/typish/_types.py",start:11616,end:12044,audio:0},{filename:"/lib/python3.8/site-packages/typish/__init__.py",start:12044,end:13492,audio:0},{filename:"/lib/python3.8/site-packages/typish/decorators/_hintable.py",start:13492,end:17356,audio:0},{filename:"/lib/python3.8/site-packages/typish/decorators/__init__.py",start:17356,end:17356,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_cls_dict.py",start:17356,end:19244,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_subscriptable_type.py",start:19244,end:20824,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_literal.py",start:20824,end:23354,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_union_type.py",start:23354,end:23532,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_something.py",start:23532,end:28299,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/__init__.py",start:28299,end:28299,audio:0},{filename:"/lib/python3.8/site-packages/typish/classes/_cls_function.py",start:28299,end:31220,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_common_ancestor.py",start:31220,end:32357,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_type_hints_of_callable.py",start:32357,end:33940,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_alias.py",start:33940,end:35135,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_mro.py",start:35135,end:36045,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_subclass_of.py",start:36045,end:41754,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_instance_of.py",start:41754,end:43252,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_is_type_annotation.py",start:43252,end:44104,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_simple_name.py",start:44104,end:44640,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_is_optional_type.py",start:44640,end:45265,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_type.py",start:45265,end:49715,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_origin.py",start:49715,end:50742,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/__init__.py",start:50742,end:50742,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_is_from_typing.py",start:50742,end:50985,audio:0},{filename:"/lib/python3.8/site-packages/typish/functions/_get_args.py",start:50985,end:51402,audio:0}],remote_package_size:33324,package_uuid:"053d2c48-114a-4dd0-9de3-a68e5b4dc9d5"})})();
@@ -2,28 +2,36 @@
2
2
  /* eslint-disable no-unused-vars */
3
3
  /* eslint-disable no-var */
4
4
  /* eslint-disable no-undef */
5
- self.languagePluginUrl = "./";
6
5
  importScripts("./pyodide.js");
7
6
 
8
- var onmessage = function (e) {
9
- // eslint-disable-line no-unused-vars
10
- languagePluginLoader
11
- .then(() => {
12
- return self.pyodide.loadPackage("bulletin_board-electionguard");
13
- })
14
- .then(() => {
15
- const data = e.data;
16
- const keys = Object.keys(data);
17
- for (let key of keys) {
18
- if (key !== "python") {
19
- self[key] = data[key];
20
- }
7
+ async function load() {
8
+ if (typeof self.__pyodideLoading === "undefined") {
9
+ await loadPyodide({indexURL : './'});
10
+ }
11
+ return pyodide.loadPackage("bulletin_board-electionguard");
12
+ }
13
+
14
+ self.loaded = load()
15
+
16
+ onmessage = async function(e) {
17
+ try {
18
+ await loaded
19
+ const data = e.data;
20
+ for (let key of Object.keys(data)) {
21
+ if (key !== 'python') {
22
+ self[key] = data[key]
21
23
  }
24
+ }
22
25
 
23
- self.pyodide
24
- .runPythonAsync(data.python, () => {})
25
- .then((results) => {
26
- self.postMessage({ results });
27
- });
28
- });
29
- };
26
+ let out;
27
+ const results = await pyodide.runPythonAsync(data.python)
28
+ if (results && results.toJs !== undefined) {
29
+ out = results.toJs();
30
+ } else {
31
+ out = results;
32
+ }
33
+ self.postMessage({results: out})
34
+ } catch (err) {
35
+ setTimeout(() => { throw err; });
36
+ }
37
+ }
@@ -1,11 +1,9 @@
1
- self.languagePluginUrl = './'
2
1
  importScripts('./pyodide.js')
3
2
 
4
- var onmessage = function(e) { // eslint-disable-line no-unused-vars
5
- languagePluginLoader.then(() => {
3
+ onmessage = async function(e) {
4
+ try {
6
5
  const data = e.data;
7
- const keys = Object.keys(data);
8
- for (let key of keys) {
6
+ for (let key of Object.keys(data)) {
9
7
  if (key !== 'python') {
10
8
  // Keys other than python must be arguments for the python script.
11
9
  // Set them on self, so that `from js import key` works.
@@ -13,13 +11,15 @@ var onmessage = function(e) { // eslint-disable-line no-unused-vars
13
11
  }
14
12
  }
15
13
 
16
- self.pyodide.runPythonAsync(data.python, () => {})
17
- .then((results) => { self.postMessage({results}); })
18
- .catch((err) => {
19
- // if you prefer messages with the error
20
- self.postMessage({error : err.message});
21
- // if you prefer onerror events
22
- // setTimeout(() => { throw err; });
23
- });
24
- });
14
+ if (typeof self.__pyodideLoading === "undefined") {
15
+ await loadPyodide({indexURL : './'});
16
+ }
17
+ let res = await self.pyodide.runPythonAsync(data.python);
18
+ self.postMessage({results : res});
19
+ } catch (e) {
20
+ // if you prefer messages with the error
21
+ self.postMessage({error : e.message + '\n' + e.stack});
22
+ // if you prefer onerror events
23
+ // setTimeout(() => { throw err; });
24
+ }
25
25
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: voting_schemes-electionguard
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.2
4
+ version: 0.24.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Morcillo
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: exe
13
13
  cert_chain: []
14
- date: 2023-09-27 00:00:00.000000000 Z
14
+ date: 2023-10-05 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rails
@@ -86,8 +86,6 @@ files:
86
86
  - public/assets/electionguard/bulletin_board-electionguard.data
87
87
  - public/assets/electionguard/bulletin_board-electionguard.js
88
88
  - public/assets/electionguard/console.html
89
- - public/assets/electionguard/distlib.data
90
- - public/assets/electionguard/distlib.js
91
89
  - public/assets/electionguard/electionguard.data
92
90
  - public/assets/electionguard/electionguard.js
93
91
  - public/assets/electionguard/gmpy2.data
@@ -99,16 +97,20 @@ files:
99
97
  - public/assets/electionguard/micropip.data
100
98
  - public/assets/electionguard/micropip.js
101
99
  - public/assets/electionguard/packages.json
100
+ - public/assets/electionguard/packaging.data
101
+ - public/assets/electionguard/packaging.js
102
102
  - public/assets/electionguard/pyasn1.data
103
103
  - public/assets/electionguard/pyasn1.js
104
104
  - public/assets/electionguard/pyodide.asm.data
105
- - public/assets/electionguard/pyodide.asm.data.js
106
105
  - public/assets/electionguard/pyodide.asm.js
107
106
  - public/assets/electionguard/pyodide.asm.wasm
108
107
  - public/assets/electionguard/pyodide.js
109
- - public/assets/electionguard/renderedhtml.css
108
+ - public/assets/electionguard/pyparsing.data
109
+ - public/assets/electionguard/pyparsing.js
110
110
  - public/assets/electionguard/rsa.data
111
111
  - public/assets/electionguard/rsa.js
112
+ - public/assets/electionguard/six.data
113
+ - public/assets/electionguard/six.js
112
114
  - public/assets/electionguard/sortedcontainers.data
113
115
  - public/assets/electionguard/sortedcontainers.js
114
116
  - public/assets/electionguard/test.data
@@ -1 +0,0 @@
1
- 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="distlib.data";var REMOTE_PACKAGE_BASE="distlib.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.8",true,true);Module["FS_createPath"]("/lib/python3.8","site-packages",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages","distlib",true,true);Module["FS_createPath"]("/lib/python3.8/site-packages/distlib","_backport",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:589011,cachedIndexes:[-1,-1],cachedChunks:[null,null],offsets:[0,1110,2323,3500,4481,5498,6598,8139,9340,10561,11782,12884,13904,15049,16306,17542,18983,20330,21433,22722,23685,24759,25930,27148,28300,29490,30900,32197,33449,34557,35837,36963,37987,39263,40346,41383,42460,43607,44740,45920,46854,48300,49426,50673,51879,52983,54170,55318,56556,57695,58797,60216,61437,62422,63526,64688,65904,66994,68157,69368,70586,71875,72871,74030,75274,76463,77665,78939,79932,81149,82296,83552,84557,85683,86987,87902,89143,90354,91503,92780,94071,94531,95670,96986,98246,99494,100762,101951,103230,104393,105415,106473,107658,108798,109988,111354,112541,113567,114449,115415,116295,117411,118384,119477,120754,121849,122978,124236,125220,126390,127238,128635,129833,131016,132203,133206,134346,135507,136759,137851,138719,139689,140692,141749,142868,143921,145143,146268,147408,148750,149551,150643,151540,152681,154042,155205,156540,157604,158765,159793,160973,162177,163541,164852,166203,167221,168259,169401,170597,171860,172837,174058,175108,176384,177263,178533,179679,180837,182246,183569,184867,186111,187388,188520,189703,190777,191876,193086,194103,195442,196445,197466,198507,199592,200607,201320,202342,203247,204762,205954,207056,207950,208927,210115,211070,212329,213983,215766,217610,219414,221276,223124,224766,226638,228260,230113,231820,233662,235426,237099,238786,240563,242432,244220,245999,247562,249321,251117,252746,254348,256152,258002,259493,260971,262041,262664,263883,265226,266035,266816,267589,269325,271035,272252,273575,275001,276302,277213,278710,279980,281417,283465,283771,285171,286970,288794,290687,292492,294350,296190,297968,299842,301500,303234,304991,306882,308653,310506,312346,314170,315943,317745,319583,321384,323054,324596,326427,328176,330009,331848,333646,335535,336745,338128,339156,339949,341229,342746,344158,345449,345857,346509,347924,349334,351015,352678,354013,355376,356785,358178,359071,360549,361880,363213,364079,365695,367467,369315,371108,372957,374815,376532,378363,380085,381933,383719,385420,387190,389056,390801,392574,394295,395931,397522,399280,400910,402748,404594,406174,407245,408252,409339,410336,411906,412428,413128,414222,415979,417516,418837,420268,421672,422870,423926,425455,426780,428295,429762,430265,431867,433659,435459,437337,439144,440984,442801,444520,446340,448107,449996,451778,453604,455401,457200,458990,460732,462572,464392,465951,467662,469499,471219,472969,474862,476700,477918,478984,480283,480816,482193,483719,485172,486145,486613,487325,489043,490355,492091,493801,495018,496341,497767,499068,499979,501476,502746,504143,505164,506388,507557,508888,509879,511072,512375,513640,514887,515913,517270,518636,519673,520989,522223,523400,524737,525968,527286,528524,529807,530984,532272,533537,534845,536078,537660,538873,539964,541193,542502,543468,544704,545770,546911,547902,549045,550189,551290,552301,553507,554587,555659,556805,558058,559319,560498,561709,562825,564178,565218,566221,567368,568582,569584,570680,571648,572581,573724,574949,575982,577152,578375,579541,580656,581687,582747,583759,584667,585816,587054,588422,588908],sizes:[1110,1213,1177,981,1017,1100,1541,1201,1221,1221,1102,1020,1145,1257,1236,1441,1347,1103,1289,963,1074,1171,1218,1152,1190,1410,1297,1252,1108,1280,1126,1024,1276,1083,1037,1077,1147,1133,1180,934,1446,1126,1247,1206,1104,1187,1148,1238,1139,1102,1419,1221,985,1104,1162,1216,1090,1163,1211,1218,1289,996,1159,1244,1189,1202,1274,993,1217,1147,1256,1005,1126,1304,915,1241,1211,1149,1277,1291,460,1139,1316,1260,1248,1268,1189,1279,1163,1022,1058,1185,1140,1190,1366,1187,1026,882,966,880,1116,973,1093,1277,1095,1129,1258,984,1170,848,1397,1198,1183,1187,1003,1140,1161,1252,1092,868,970,1003,1057,1119,1053,1222,1125,1140,1342,801,1092,897,1141,1361,1163,1335,1064,1161,1028,1180,1204,1364,1311,1351,1018,1038,1142,1196,1263,977,1221,1050,1276,879,1270,1146,1158,1409,1323,1298,1244,1277,1132,1183,1074,1099,1210,1017,1339,1003,1021,1041,1085,1015,713,1022,905,1515,1192,1102,894,977,1188,955,1259,1654,1783,1844,1804,1862,1848,1642,1872,1622,1853,1707,1842,1764,1673,1687,1777,1869,1788,1779,1563,1759,1796,1629,1602,1804,1850,1491,1478,1070,623,1219,1343,809,781,773,1736,1710,1217,1323,1426,1301,911,1497,1270,1437,2048,306,1400,1799,1824,1893,1805,1858,1840,1778,1874,1658,1734,1757,1891,1771,1853,1840,1824,1773,1802,1838,1801,1670,1542,1831,1749,1833,1839,1798,1889,1210,1383,1028,793,1280,1517,1412,1291,408,652,1415,1410,1681,1663,1335,1363,1409,1393,893,1478,1331,1333,866,1616,1772,1848,1793,1849,1858,1717,1831,1722,1848,1786,1701,1770,1866,1745,1773,1721,1636,1591,1758,1630,1838,1846,1580,1071,1007,1087,997,1570,522,700,1094,1757,1537,1321,1431,1404,1198,1056,1529,1325,1515,1467,503,1602,1792,1800,1878,1807,1840,1817,1719,1820,1767,1889,1782,1826,1797,1799,1790,1742,1840,1820,1559,1711,1837,1720,1750,1893,1838,1218,1066,1299,533,1377,1526,1453,973,468,712,1718,1312,1736,1710,1217,1323,1426,1301,911,1497,1270,1397,1021,1224,1169,1331,991,1193,1303,1265,1247,1026,1357,1366,1037,1316,1234,1177,1337,1231,1318,1238,1283,1177,1288,1265,1308,1233,1582,1213,1091,1229,1309,966,1236,1066,1141,991,1143,1144,1101,1011,1206,1080,1072,1146,1253,1261,1179,1211,1116,1353,1040,1003,1147,1214,1002,1096,968,933,1143,1225,1033,1170,1223,1166,1115,1031,1060,1012,908,1149,1238,1368,486,103],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,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,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,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,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_distlib.data")}Module["addRunDependency"]("datafile_distlib.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.8/site-packages/distlib-0.3.1-py3.8.egg-info",start:0,end:1261,audio:0},{filename:"/lib/python3.8/site-packages/distlib/__init__.py",start:1261,end:1842,audio:0},{filename:"/lib/python3.8/site-packages/distlib/resources.py",start:1842,end:12608,audio:0},{filename:"/lib/python3.8/site-packages/distlib/scripts.py",start:12608,end:29788,audio:0},{filename:"/lib/python3.8/site-packages/distlib/locators.py",start:29788,end:81888,audio:0},{filename:"/lib/python3.8/site-packages/distlib/index.py",start:81888,end:102954,audio:0},{filename:"/lib/python3.8/site-packages/distlib/database.py",start:102954,end:154013,audio:0},{filename:"/lib/python3.8/site-packages/distlib/version.py",start:154013,end:177404,audio:0},{filename:"/lib/python3.8/site-packages/distlib/wheel.py",start:177404,end:218548,audio:0},{filename:"/lib/python3.8/site-packages/distlib/metadata.py",start:218548,end:257510,audio:0},{filename:"/lib/python3.8/site-packages/distlib/markers.py",start:257510,end:261897,audio:0},{filename:"/lib/python3.8/site-packages/distlib/util.py",start:261897,end:321742,audio:0},{filename:"/lib/python3.8/site-packages/distlib/compat.py",start:321742,end:363150,audio:0},{filename:"/lib/python3.8/site-packages/distlib/manifest.py",start:363150,end:377961,audio:0},{filename:"/lib/python3.8/site-packages/distlib/t32.exe",start:377961,end:474729,audio:0},{filename:"/lib/python3.8/site-packages/distlib/t64.exe",start:474729,end:580713,audio:0},{filename:"/lib/python3.8/site-packages/distlib/w32.exe",start:580713,end:670825,audio:0},{filename:"/lib/python3.8/site-packages/distlib/w64.exe",start:670825,end:770665,audio:0},{filename:"/lib/python3.8/site-packages/distlib/_backport/__init__.py",start:770665,end:770939,audio:0},{filename:"/lib/python3.8/site-packages/distlib/_backport/sysconfig.py",start:770939,end:797793,audio:0},{filename:"/lib/python3.8/site-packages/distlib/_backport/shutil.py",start:797793,end:823500,audio:0},{filename:"/lib/python3.8/site-packages/distlib/_backport/tarfile.py",start:823500,end:916128,audio:0},{filename:"/lib/python3.8/site-packages/distlib/_backport/misc.py",start:916128,end:917099,audio:0},{filename:"/lib/python3.8/site-packages/distlib/_backport/sysconfig.cfg",start:917099,end:919716,audio:0}],remote_package_size:593107,package_uuid:"227c99cd-491a-409f-8766-e9162fe8040b"})})();