diff --git a/Cargo.toml b/Cargo.toml index 3151d5d..743102a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,3 +9,10 @@ shuttle-axum = "0.45.0" shuttle-runtime = "0.45.0" tokio = "1.28.2" tower-http = { version = "0.5.2", features = ["fs"] } + + +[workspace] +members = [ + ".", + "frontend", +] diff --git a/frontend/Cargo.toml b/frontend/Cargo.toml index cd20180..25019e7 100644 --- a/frontend/Cargo.toml +++ b/frontend/Cargo.toml @@ -14,3 +14,4 @@ yewdux = "0.10.0" serde = "1.0.198" serde_json = "1.0.116" regex = "1.10.4" + diff --git a/frontend/dist/index.html b/frontend/dist/index.html index c522c13..6af3ce9 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -1,6 +1,6 @@ -wordl \ No newline at end of file diff --git a/frontend/dist/wordl-frontend-c8a90ba45d8538e2fa10a93a59efc670c56042558df3bd7fc15e94fdd8e80ddca15caab6ae49a4cca1f0d15c672579f6.js b/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2.js similarity index 97% rename from frontend/dist/wordl-frontend-c8a90ba45d8538e2fa10a93a59efc670c56042558df3bd7fc15e94fdd8e80ddca15caab6ae49a4cca1f0d15c672579f6.js rename to frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2.js index 110f8fb..8d075d4 100644 --- a/frontend/dist/wordl-frontend-c8a90ba45d8538e2fa10a93a59efc670c56042558df3bd7fc15e94fdd8e80ddca15caab6ae49a4cca1f0d15c672579f6.js +++ b/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2.js @@ -1 +1 @@ -let V=0,Q=null,S=`undefined`,Z=`boolean`,O=128,_=`string`,R=1,$=`Object`,T=`utf-8`,Y=`number`,a1=4,X=`function`,N=Array,U=Error,a0=FinalizationRegistry,a2=Object,W=Uint8Array,P=undefined;var H=(async(a,b)=>{if(typeof Response===X&&a instanceof Response){if(typeof WebAssembly.instantiateStreaming===X){try{return await WebAssembly.instantiateStreaming(a,b)}catch(b){if(a.headers.get(`Content-Type`)!=`application/wasm`){console.warn(`\`WebAssembly.instantiateStreaming\` failed because your server does not serve wasm with \`application/wasm\` MIME type. Falling back to \`WebAssembly.instantiate\` which is slower. Original error:\\n`,b)}else{throw b}}};const c=await a.arrayBuffer();return await WebAssembly.instantiate(c,b)}else{const c=await WebAssembly.instantiate(a,b);if(c instanceof WebAssembly.Instance){return {instance:c,module:a}}else{return c}}});var u=(a=>{const b=typeof a;if(b==Y||b==Z||a==Q){return `${a}`};if(b==_){return `"${a}"`};if(b==`symbol`){const b=a.description;if(b==Q){return `Symbol`}else{return `Symbol(${b})`}};if(b==X){const b=a.name;if(typeof b==_&&b.length>V){return `Function(${b})`}else{return `Function`}};if(N.isArray(a)){const b=a.length;let c=`[`;if(b>V){c+=u(a[V])};for(let d=R;dR){d=c[R]}else{return toString.call(a)};if(d==$){try{return `Object(`+ JSON.stringify(a)+ `)`}catch(a){return $}};if(a instanceof U){return `${a.name}: ${a.message}\n${a.stack}`};return d});var J=((a,b)=>{});var F=((a,b)=>{a=a>>>V;const c=E();const d=c.subarray(a/a1,a/a1+ b);const e=[];for(let a=V;a{if(d===b.length)b.push(b.length+ R);const c=d;d=b[c];b[c]=a;return c});var f=(a=>{const b=c(a);e(a);return b});var M=(async(b)=>{if(a!==P)return a;if(typeof b===S){b=new URL(`wordl-frontend-c8a90ba45d8538e2fa10a93a59efc670c56042558df3bd7fc15e94fdd8e80ddca15caab6ae49a4cca1f0d15c672579f6_bg.wasm`,import.meta.url)};const c=I();if(typeof b===_||typeof Request===X&&b instanceof Request||typeof URL===X&&b instanceof URL){b=fetch(b)};J(c);const {instance:d,module:e}=await H(await b,c);return K(d,e)});var L=(b=>{if(a!==P)return a;const c=I();J(c);if(!(b instanceof WebAssembly.Module)){b=new WebAssembly.Module(b)};const d=new WebAssembly.Instance(b,c);return K(d,b)});var z=((c,d,e)=>{try{a._dyn_core__ops__function__Fn___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__ha93b891949e37217(c,d,y(e))}finally{b[x++]=P}});function G(b,c){try{return b.apply(this,c)}catch(b){a.__wbindgen_exn_store(g(b))}}var K=((b,c)=>{a=b.exports;M.__wbindgen_wasm_module=c;s=Q;q=Q;D=Q;i=Q;a.__wbindgen_start();return a});var C=((c,d,e)=>{try{a._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h88dcd39c11638f78(c,d,y(e))}finally{b[x++]=P}});var r=(()=>{if(q===Q||q.byteLength===V){q=new Int32Array(a.memory.buffer)};return q});var p=(a=>a===P||a===Q);var c=(a=>b[a]);var I=(()=>{const b={};b.wbg={};b.wbg.__wbindgen_object_drop_ref=(a=>{f(a)});b.wbg.__wbindgen_object_clone_ref=(a=>{const b=c(a);return g(b)});b.wbg.__wbindgen_string_new=((a,b)=>{const c=k(a,b);return g(c)});b.wbg.__wbg_cachekey_b81c1aacc6a0645c=((a,b)=>{const d=c(b).__yew_subtree_cache_key;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbg_subtreeid_e80a1798fee782f9=((a,b)=>{const d=c(b).__yew_subtree_id;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbg_setsubtreeid_e1fab6b578c800cf=((a,b)=>{c(a).__yew_subtree_id=b>>>V});b.wbg.__wbg_setcachekey_75bcd45312087529=((a,b)=>{c(a).__yew_subtree_cache_key=b>>>V});b.wbg.__wbg_setlistenerid_f2e783343fa0cec1=((a,b)=>{c(a).__yew_listener_id=b>>>V});b.wbg.__wbg_listenerid_6dcf1c62b7b7de58=((a,b)=>{const d=c(b).__yew_listener_id;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbindgen_cb_drop=(a=>{const b=f(a).original;if(b.cnt--==R){b.a=V;return !0};const c=!1;return c});b.wbg.__wbg_new_abda76e883ba8a5f=(()=>{const a=new U();return g(a)});b.wbg.__wbg_stack_658279fe44541cf6=((b,d)=>{const e=c(d).stack;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_error_f851667af71bcfc6=((b,c)=>{let d;let e;try{d=b;e=c;console.error(k(b,c))}finally{a.__wbindgen_free(d,e,R)}});b.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=(a=>{const b=c(a).queueMicrotask;return g(b)});b.wbg.__wbindgen_is_function=(a=>{const b=typeof c(a)===X;return b});b.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=(a=>{queueMicrotask(c(a))});b.wbg.__wbindgen_string_get=((b,d)=>{const e=c(d);const f=typeof e===_?e:P;var g=p(f)?V:o(f,a.__wbindgen_malloc,a.__wbindgen_realloc);var h=l;r()[b/a1+ R]=h;r()[b/a1+ V]=g});b.wbg.__wbindgen_is_string=(a=>{const b=typeof c(a)===_;return b});b.wbg.__wbindgen_is_object=(a=>{const b=c(a);const d=typeof b===`object`&&b!==Q;return d});b.wbg.__wbindgen_is_undefined=(a=>{const b=c(a)===P;return b});b.wbg.__wbindgen_in=((a,b)=>{const d=c(a) in c(b);return d});b.wbg.__wbindgen_error_new=((a,b)=>{const c=new U(k(a,b));return g(c)});b.wbg.__wbindgen_jsval_loose_eq=((a,b)=>{const d=c(a)==c(b);return d});b.wbg.__wbindgen_boolean_get=(a=>{const b=c(a);const d=typeof b===Z?(b?R:V):2;return d});b.wbg.__wbindgen_number_get=((a,b)=>{const d=c(b);const e=typeof d===Y?d:P;t()[a/8+ R]=p(e)?V:e;r()[a/a1+ V]=!p(e)});b.wbg.__wbindgen_as_number=(a=>{const b=+c(a);return b});b.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=((a,b)=>{const d=c(a)[c(b)];return g(d)});b.wbg.__wbg_error_a526fb08a0205972=((b,c)=>{var d=F(b,c).slice();a.__wbindgen_free(b,c*a1,a1);console.error(...d)});b.wbg.__wbg_body_edb1908d3ceff3a1=(a=>{const b=c(a).body;return p(b)?V:g(b)});b.wbg.__wbg_createElement_8bae7856a4bb7411=function(){return G(((a,b,d)=>{const e=c(a).createElement(k(b,d));return g(e)}),arguments)};b.wbg.__wbg_createElementNS_556a62fb298be5a2=function(){return G(((a,b,d,e,f)=>{const h=c(a).createElementNS(b===V?P:k(b,d),k(e,f));return g(h)}),arguments)};b.wbg.__wbg_createTextNode_0c38fd80a5b2284d=((a,b,d)=>{const e=c(a).createTextNode(k(b,d));return g(e)});b.wbg.__wbg_querySelector_a5f74efc5fa193dd=function(){return G(((a,b,d)=>{const e=c(a).querySelector(k(b,d));return p(e)?V:g(e)}),arguments)};b.wbg.__wbg_instanceof_Window_f401953a2cf86220=(a=>{let b;try{b=c(a) instanceof Window}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_document_5100775d18896c16=(a=>{const b=c(a).document;return p(b)?V:g(b)});b.wbg.__wbg_location_2951b5ee34f19221=(a=>{const b=c(a).location;return g(b)});b.wbg.__wbg_history_bc4057de66a2015f=function(){return G((a=>{const b=c(a).history;return g(b)}),arguments)};b.wbg.__wbg_instanceof_Element_6945fc210db80ea9=(a=>{let b;try{b=c(a) instanceof Element}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_namespaceURI_5235ee79fd5f6781=((b,d)=>{const e=c(d).namespaceURI;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setinnerHTML_26d69b59e1af99c7=((a,b,d)=>{c(a).innerHTML=k(b,d)});b.wbg.__wbg_outerHTML_e073aa84e7bc1eaf=((b,d)=>{const e=c(d).outerHTML;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_removeAttribute_1b10a06ae98ebbd1=function(){return G(((a,b,d)=>{c(a).removeAttribute(k(b,d))}),arguments)};b.wbg.__wbg_setAttribute_3c9f6c303b696daa=function(){return G(((a,b,d,e,f)=>{c(a).setAttribute(k(b,d),k(e,f))}),arguments)};b.wbg.__wbg_href_2edbae9e92cdfeff=((b,d)=>{const e=c(d).href;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_value_d7f5bfbd9302c14b=((b,d)=>{const e=c(d).value;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setvalue_090972231f0a4f6f=((a,b,d)=>{c(a).value=k(b,d)});b.wbg.__wbg_pathname_c5fe403ef9525ec6=((b,d)=>{const e=c(d).pathname;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_search_c68f506c44be6d1e=((b,d)=>{const e=c(d).search;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_hash_cdea7a9b7e684a42=((b,d)=>{const e=c(d).hash;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_new_67853c351755d2cf=function(){return G(((a,b)=>{const c=new URL(k(a,b));return g(c)}),arguments)};b.wbg.__wbg_newwithbase_6aabbfb1b2e6a1cb=function(){return G(((a,b,c,d)=>{const e=new URL(k(a,b),k(c,d));return g(e)}),arguments)};b.wbg.__wbg_addEventListener_4283b15b4f039eb5=function(){return G(((a,b,d,e,f)=>{c(a).addEventListener(k(b,d),c(e),c(f))}),arguments)};b.wbg.__wbg_removeEventListener_5d31483804421bfa=function(){return G(((a,b,d,e,f)=>{c(a).removeEventListener(k(b,d),c(e),f!==V)}),arguments)};b.wbg.__wbg_data_f6efcce74d694398=((b,d)=>{const e=c(d).data;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_state_9cc3f933b7d50acb=function(){return G((a=>{const b=c(a).state;return g(b)}),arguments)};b.wbg.__wbg_setchecked_931ff2ed2cd3ebfd=((a,b)=>{c(a).checked=b!==V});b.wbg.__wbg_value_47fe6384562f52ab=((b,d)=>{const e=c(d).value;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setvalue_78cb4f1fef58ae98=((a,b,d)=>{c(a).value=k(b,d)});b.wbg.__wbg_bubbles_abce839854481bc6=(a=>{const b=c(a).bubbles;return b});b.wbg.__wbg_cancelBubble_c0aa3172524eb03c=(a=>{const b=c(a).cancelBubble;return b});b.wbg.__wbg_composedPath_58473fd5ae55f2cd=(a=>{const b=c(a).composedPath();return g(b)});b.wbg.__wbg_href_706b235ecfe6848c=function(){return G(((b,d)=>{const e=c(d).href;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_pathname_5449afe3829f96a1=function(){return G(((b,d)=>{const e=c(d).pathname;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_search_489f12953342ec1f=function(){return G(((b,d)=>{const e=c(d).search;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_hash_553098e838e06c1d=function(){return G(((b,d)=>{const e=c(d).hash;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_parentNode_6be3abff20e1a5fb=(a=>{const b=c(a).parentNode;return p(b)?V:g(b)});b.wbg.__wbg_parentElement_347524db59fc2976=(a=>{const b=c(a).parentElement;return p(b)?V:g(b)});b.wbg.__wbg_childNodes_118168e8b23bcb9b=(a=>{const b=c(a).childNodes;return g(b)});b.wbg.__wbg_lastChild_83efe6d5da370e1f=(a=>{const b=c(a).lastChild;return p(b)?V:g(b)});b.wbg.__wbg_nextSibling_709614fdb0fb7a66=(a=>{const b=c(a).nextSibling;return p(b)?V:g(b)});b.wbg.__wbg_setnodeValue_94b86af0cda24b90=((a,b,d)=>{c(a).nodeValue=b===V?P:k(b,d)});b.wbg.__wbg_textContent_8e392d624539e731=((b,d)=>{const e=c(d).textContent;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_cloneNode_e19c313ea20d5d1d=function(){return G((a=>{const b=c(a).cloneNode();return g(b)}),arguments)};b.wbg.__wbg_insertBefore_d2a001abf538c1f8=function(){return G(((a,b,d)=>{const e=c(a).insertBefore(c(b),c(d));return g(e)}),arguments)};b.wbg.__wbg_removeChild_96bbfefd2f5a0261=function(){return G(((a,b)=>{const d=c(a).removeChild(c(b));return g(d)}),arguments)};b.wbg.__wbg_instanceof_ShadowRoot_9db040264422e84a=(a=>{let b;try{b=c(a) instanceof ShadowRoot}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_host_c667c7623404d6bf=(a=>{const b=c(a).host;return g(b)});b.wbg.__wbg_get_bd8e338fbd5f5cc8=((a,b)=>{const d=c(a)[b>>>V];return g(d)});b.wbg.__wbg_length_cd7af8117672b8b8=(a=>{const b=c(a).length;return b});b.wbg.__wbg_newnoargs_e258087cd0daa0ea=((a,b)=>{const c=new Function(k(a,b));return g(c)});b.wbg.__wbg_call_27c0f87801dedf93=function(){return G(((a,b)=>{const d=c(a).call(c(b));return g(d)}),arguments)};b.wbg.__wbg_new_72fb9a18b5ae2624=(()=>{const a=new a2();return g(a)});b.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return G((()=>{const a=self.self;return g(a)}),arguments)};b.wbg.__wbg_window_c6fb939a7f436783=function(){return G((()=>{const a=window.window;return g(a)}),arguments)};b.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return G((()=>{const a=globalThis.globalThis;return g(a)}),arguments)};b.wbg.__wbg_global_207b558942527489=function(){return G((()=>{const a=global.global;return g(a)}),arguments)};b.wbg.__wbg_from_89e3fc3ba5e6fb48=(a=>{const b=N.from(c(a));return g(b)});b.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=(a=>{let b;try{b=c(a) instanceof ArrayBuffer}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=(a=>{const b=Number.isSafeInteger(c(a));return b});b.wbg.__wbg_entries_95cc2c823b285a09=(a=>{const b=a2.entries(c(a));return g(b)});b.wbg.__wbg_is_010fdc0f4ab96916=((a,b)=>{const d=a2.is(c(a),c(b));return d});b.wbg.__wbg_resolve_b0083a7967828ec8=(a=>{const b=Promise.resolve(c(a));return g(b)});b.wbg.__wbg_then_0c86a60e8fcfe9f6=((a,b)=>{const d=c(a).then(c(b));return g(d)});b.wbg.__wbg_buffer_12d079cc21e14bdb=(a=>{const b=c(a).buffer;return g(b)});b.wbg.__wbg_new_63b92bc8671ed464=(a=>{const b=new W(c(a));return g(b)});b.wbg.__wbg_set_a47bac70306a19a7=((a,b,d)=>{c(a).set(c(b),d>>>V)});b.wbg.__wbg_length_c20a40f15020d68a=(a=>{const b=c(a).length;return b});b.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=(a=>{let b;try{b=c(a) instanceof W}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_set_1f9b04f170055d33=function(){return G(((a,b,d)=>{const e=Reflect.set(c(a),c(b),c(d));return e}),arguments)};b.wbg.__wbindgen_debug_string=((b,d)=>{const e=u(c(d));const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbindgen_throw=((a,b)=>{throw new U(k(a,b))});b.wbg.__wbindgen_memory=(()=>{const b=a.memory;return g(b)});b.wbg.__wbindgen_closure_wrapper940=((a,b,c)=>{const d=w(a,b,390,z);return g(d)});b.wbg.__wbindgen_closure_wrapper1040=((a,b,c)=>{const d=A(a,b,440,B);return g(d)});b.wbg.__wbindgen_closure_wrapper1102=((a,b,c)=>{const d=A(a,b,469,C);return g(d)});return b});var E=(()=>{if(D===Q||D.byteLength===V){D=new Uint32Array(a.memory.buffer)};return D});var B=((b,c,d)=>{a._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf0d67ea087c79d31(b,c,g(d))});var t=(()=>{if(s===Q||s.byteLength===V){s=new Float64Array(a.memory.buffer)};return s});var w=((b,c,d,e)=>{const f={a:b,b:c,cnt:R,dtor:d};const g=(...b)=>{f.cnt++;try{return e(f.a,f.b,...b)}finally{if(--f.cnt===V){a.__wbindgen_export_2.get(f.dtor)(f.a,f.b);f.a=V;v.unregister(f)}}};g.original=f;v.register(g,f,f);return g});var e=(a=>{if(a<132)return;b[a]=d;d=a});var A=((b,c,d,e)=>{const f={a:b,b:c,cnt:R,dtor:d};const g=(...b)=>{f.cnt++;const c=f.a;f.a=V;try{return e(c,f.b,...b)}finally{if(--f.cnt===V){a.__wbindgen_export_2.get(f.dtor)(c,f.b);v.unregister(f)}else{f.a=c}}};g.original=f;v.register(g,f,f);return g});var o=((a,b,c)=>{if(c===P){const c=m.encode(a);const d=b(c.length,R)>>>V;j().subarray(d,d+ c.length).set(c);l=c.length;return d};let d=a.length;let e=b(d,R)>>>V;const f=j();let g=V;for(;g127)break;f[e+ g]=b};if(g!==d){if(g!==V){a=a.slice(g)};e=c(e,d,d=g+ a.length*3,R)>>>V;const b=j().subarray(e+ g,e+ d);const f=n(a,b);g+=f.written;e=c(e,d,g,R)>>>V};l=g;return e});var j=(()=>{if(i===Q||i.byteLength===V){i=new W(a.memory.buffer)};return i});var k=((a,b)=>{a=a>>>V;return h.decode(j().subarray(a,a+ b))});var y=(a=>{if(x==R)throw new U(`out of js stack`);b[--x]=a;return x});let a;const b=new N(O).fill(P);b.push(P,Q,!0,!1);let d=b.length;const h=typeof TextDecoder!==S?new TextDecoder(T,{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw U(`TextDecoder not available`)}};if(typeof TextDecoder!==S){h.decode()};let i=Q;let l=V;const m=typeof TextEncoder!==S?new TextEncoder(T):{encode:()=>{throw U(`TextEncoder not available`)}};const n=typeof m.encodeInto===X?((a,b)=>m.encodeInto(a,b)):((a,b)=>{const c=m.encode(a);b.set(c);return {read:a.length,written:c.length}});let q=Q;let s=Q;const v=typeof a0===S?{register:()=>{},unregister:()=>{}}:new a0(b=>{a.__wbindgen_export_2.get(b.dtor)(b.a,b.b)});let x=O;let D=Q;export default M;export{L as initSync} \ No newline at end of file +let V=0,Q=null,S=`undefined`,Z=`boolean`,O=128,_=`string`,R=1,$=`Object`,T=`utf-8`,Y=`number`,a1=4,X=`function`,N=Array,U=Error,a0=FinalizationRegistry,a2=Object,W=Uint8Array,P=undefined;var H=(async(a,b)=>{if(typeof Response===X&&a instanceof Response){if(typeof WebAssembly.instantiateStreaming===X){try{return await WebAssembly.instantiateStreaming(a,b)}catch(b){if(a.headers.get(`Content-Type`)!=`application/wasm`){console.warn(`\`WebAssembly.instantiateStreaming\` failed because your server does not serve wasm with \`application/wasm\` MIME type. Falling back to \`WebAssembly.instantiate\` which is slower. Original error:\\n`,b)}else{throw b}}};const c=await a.arrayBuffer();return await WebAssembly.instantiate(c,b)}else{const c=await WebAssembly.instantiate(a,b);if(c instanceof WebAssembly.Instance){return {instance:c,module:a}}else{return c}}});var u=(a=>{const b=typeof a;if(b==Y||b==Z||a==Q){return `${a}`};if(b==_){return `"${a}"`};if(b==`symbol`){const b=a.description;if(b==Q){return `Symbol`}else{return `Symbol(${b})`}};if(b==X){const b=a.name;if(typeof b==_&&b.length>V){return `Function(${b})`}else{return `Function`}};if(N.isArray(a)){const b=a.length;let c=`[`;if(b>V){c+=u(a[V])};for(let d=R;dR){d=c[R]}else{return toString.call(a)};if(d==$){try{return `Object(`+ JSON.stringify(a)+ `)`}catch(a){return $}};if(a instanceof U){return `${a.name}: ${a.message}\n${a.stack}`};return d});var J=((a,b)=>{});var F=((a,b)=>{a=a>>>V;const c=E();const d=c.subarray(a/a1,a/a1+ b);const e=[];for(let a=V;a{if(d===b.length)b.push(b.length+ R);const c=d;d=b[c];b[c]=a;return c});var f=(a=>{const b=c(a);e(a);return b});var M=(async(b)=>{if(a!==P)return a;if(typeof b===S){b=new URL(`wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm`,import.meta.url)};const c=I();if(typeof b===_||typeof Request===X&&b instanceof Request||typeof URL===X&&b instanceof URL){b=fetch(b)};J(c);const {instance:d,module:e}=await H(await b,c);return K(d,e)});var L=(b=>{if(a!==P)return a;const c=I();J(c);if(!(b instanceof WebAssembly.Module)){b=new WebAssembly.Module(b)};const d=new WebAssembly.Instance(b,c);return K(d,b)});var z=((c,d,e)=>{try{a._dyn_core__ops__function__Fn___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__ha93b891949e37217(c,d,y(e))}finally{b[x++]=P}});function G(b,c){try{return b.apply(this,c)}catch(b){a.__wbindgen_exn_store(g(b))}}var K=((b,c)=>{a=b.exports;M.__wbindgen_wasm_module=c;s=Q;q=Q;D=Q;i=Q;a.__wbindgen_start();return a});var C=((c,d,e)=>{try{a._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h88dcd39c11638f78(c,d,y(e))}finally{b[x++]=P}});var r=(()=>{if(q===Q||q.byteLength===V){q=new Int32Array(a.memory.buffer)};return q});var p=(a=>a===P||a===Q);var c=(a=>b[a]);var I=(()=>{const b={};b.wbg={};b.wbg.__wbindgen_object_drop_ref=(a=>{f(a)});b.wbg.__wbindgen_object_clone_ref=(a=>{const b=c(a);return g(b)});b.wbg.__wbindgen_string_new=((a,b)=>{const c=k(a,b);return g(c)});b.wbg.__wbg_cachekey_b81c1aacc6a0645c=((a,b)=>{const d=c(b).__yew_subtree_cache_key;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbg_subtreeid_e80a1798fee782f9=((a,b)=>{const d=c(b).__yew_subtree_id;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbg_setsubtreeid_e1fab6b578c800cf=((a,b)=>{c(a).__yew_subtree_id=b>>>V});b.wbg.__wbg_setcachekey_75bcd45312087529=((a,b)=>{c(a).__yew_subtree_cache_key=b>>>V});b.wbg.__wbg_setlistenerid_f2e783343fa0cec1=((a,b)=>{c(a).__yew_listener_id=b>>>V});b.wbg.__wbg_listenerid_6dcf1c62b7b7de58=((a,b)=>{const d=c(b).__yew_listener_id;r()[a/a1+ R]=p(d)?V:d;r()[a/a1+ V]=!p(d)});b.wbg.__wbindgen_cb_drop=(a=>{const b=f(a).original;if(b.cnt--==R){b.a=V;return !0};const c=!1;return c});b.wbg.__wbg_new_abda76e883ba8a5f=(()=>{const a=new U();return g(a)});b.wbg.__wbg_stack_658279fe44541cf6=((b,d)=>{const e=c(d).stack;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_error_f851667af71bcfc6=((b,c)=>{let d;let e;try{d=b;e=c;console.error(k(b,c))}finally{a.__wbindgen_free(d,e,R)}});b.wbg.__wbg_queueMicrotask_3cbae2ec6b6cd3d6=(a=>{const b=c(a).queueMicrotask;return g(b)});b.wbg.__wbindgen_is_function=(a=>{const b=typeof c(a)===X;return b});b.wbg.__wbg_queueMicrotask_481971b0d87f3dd4=(a=>{queueMicrotask(c(a))});b.wbg.__wbindgen_string_get=((b,d)=>{const e=c(d);const f=typeof e===_?e:P;var g=p(f)?V:o(f,a.__wbindgen_malloc,a.__wbindgen_realloc);var h=l;r()[b/a1+ R]=h;r()[b/a1+ V]=g});b.wbg.__wbindgen_is_string=(a=>{const b=typeof c(a)===_;return b});b.wbg.__wbindgen_is_object=(a=>{const b=c(a);const d=typeof b===`object`&&b!==Q;return d});b.wbg.__wbindgen_is_undefined=(a=>{const b=c(a)===P;return b});b.wbg.__wbindgen_in=((a,b)=>{const d=c(a) in c(b);return d});b.wbg.__wbindgen_error_new=((a,b)=>{const c=new U(k(a,b));return g(c)});b.wbg.__wbindgen_jsval_loose_eq=((a,b)=>{const d=c(a)==c(b);return d});b.wbg.__wbindgen_boolean_get=(a=>{const b=c(a);const d=typeof b===Z?(b?R:V):2;return d});b.wbg.__wbindgen_number_get=((a,b)=>{const d=c(b);const e=typeof d===Y?d:P;t()[a/8+ R]=p(e)?V:e;r()[a/a1+ V]=!p(e)});b.wbg.__wbindgen_as_number=(a=>{const b=+c(a);return b});b.wbg.__wbg_getwithrefkey_edc2c8960f0f1191=((a,b)=>{const d=c(a)[c(b)];return g(d)});b.wbg.__wbg_error_a526fb08a0205972=((b,c)=>{var d=F(b,c).slice();a.__wbindgen_free(b,c*a1,a1);console.error(...d)});b.wbg.__wbg_body_edb1908d3ceff3a1=(a=>{const b=c(a).body;return p(b)?V:g(b)});b.wbg.__wbg_createElement_8bae7856a4bb7411=function(){return G(((a,b,d)=>{const e=c(a).createElement(k(b,d));return g(e)}),arguments)};b.wbg.__wbg_createElementNS_556a62fb298be5a2=function(){return G(((a,b,d,e,f)=>{const h=c(a).createElementNS(b===V?P:k(b,d),k(e,f));return g(h)}),arguments)};b.wbg.__wbg_createTextNode_0c38fd80a5b2284d=((a,b,d)=>{const e=c(a).createTextNode(k(b,d));return g(e)});b.wbg.__wbg_querySelector_a5f74efc5fa193dd=function(){return G(((a,b,d)=>{const e=c(a).querySelector(k(b,d));return p(e)?V:g(e)}),arguments)};b.wbg.__wbg_instanceof_Window_f401953a2cf86220=(a=>{let b;try{b=c(a) instanceof Window}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_document_5100775d18896c16=(a=>{const b=c(a).document;return p(b)?V:g(b)});b.wbg.__wbg_location_2951b5ee34f19221=(a=>{const b=c(a).location;return g(b)});b.wbg.__wbg_history_bc4057de66a2015f=function(){return G((a=>{const b=c(a).history;return g(b)}),arguments)};b.wbg.__wbg_instanceof_Element_6945fc210db80ea9=(a=>{let b;try{b=c(a) instanceof Element}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_namespaceURI_5235ee79fd5f6781=((b,d)=>{const e=c(d).namespaceURI;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setinnerHTML_26d69b59e1af99c7=((a,b,d)=>{c(a).innerHTML=k(b,d)});b.wbg.__wbg_outerHTML_e073aa84e7bc1eaf=((b,d)=>{const e=c(d).outerHTML;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_removeAttribute_1b10a06ae98ebbd1=function(){return G(((a,b,d)=>{c(a).removeAttribute(k(b,d))}),arguments)};b.wbg.__wbg_setAttribute_3c9f6c303b696daa=function(){return G(((a,b,d,e,f)=>{c(a).setAttribute(k(b,d),k(e,f))}),arguments)};b.wbg.__wbg_href_2edbae9e92cdfeff=((b,d)=>{const e=c(d).href;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_value_d7f5bfbd9302c14b=((b,d)=>{const e=c(d).value;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setvalue_090972231f0a4f6f=((a,b,d)=>{c(a).value=k(b,d)});b.wbg.__wbg_pathname_c5fe403ef9525ec6=((b,d)=>{const e=c(d).pathname;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_search_c68f506c44be6d1e=((b,d)=>{const e=c(d).search;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_hash_cdea7a9b7e684a42=((b,d)=>{const e=c(d).hash;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_new_67853c351755d2cf=function(){return G(((a,b)=>{const c=new URL(k(a,b));return g(c)}),arguments)};b.wbg.__wbg_newwithbase_6aabbfb1b2e6a1cb=function(){return G(((a,b,c,d)=>{const e=new URL(k(a,b),k(c,d));return g(e)}),arguments)};b.wbg.__wbg_addEventListener_4283b15b4f039eb5=function(){return G(((a,b,d,e,f)=>{c(a).addEventListener(k(b,d),c(e),c(f))}),arguments)};b.wbg.__wbg_removeEventListener_5d31483804421bfa=function(){return G(((a,b,d,e,f)=>{c(a).removeEventListener(k(b,d),c(e),f!==V)}),arguments)};b.wbg.__wbg_data_f6efcce74d694398=((b,d)=>{const e=c(d).data;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_state_9cc3f933b7d50acb=function(){return G((a=>{const b=c(a).state;return g(b)}),arguments)};b.wbg.__wbg_setchecked_931ff2ed2cd3ebfd=((a,b)=>{c(a).checked=b!==V});b.wbg.__wbg_value_47fe6384562f52ab=((b,d)=>{const e=c(d).value;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_setvalue_78cb4f1fef58ae98=((a,b,d)=>{c(a).value=k(b,d)});b.wbg.__wbg_bubbles_abce839854481bc6=(a=>{const b=c(a).bubbles;return b});b.wbg.__wbg_cancelBubble_c0aa3172524eb03c=(a=>{const b=c(a).cancelBubble;return b});b.wbg.__wbg_composedPath_58473fd5ae55f2cd=(a=>{const b=c(a).composedPath();return g(b)});b.wbg.__wbg_href_706b235ecfe6848c=function(){return G(((b,d)=>{const e=c(d).href;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_pathname_5449afe3829f96a1=function(){return G(((b,d)=>{const e=c(d).pathname;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_search_489f12953342ec1f=function(){return G(((b,d)=>{const e=c(d).search;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_hash_553098e838e06c1d=function(){return G(((b,d)=>{const e=c(d).hash;const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f}),arguments)};b.wbg.__wbg_parentNode_6be3abff20e1a5fb=(a=>{const b=c(a).parentNode;return p(b)?V:g(b)});b.wbg.__wbg_parentElement_347524db59fc2976=(a=>{const b=c(a).parentElement;return p(b)?V:g(b)});b.wbg.__wbg_childNodes_118168e8b23bcb9b=(a=>{const b=c(a).childNodes;return g(b)});b.wbg.__wbg_lastChild_83efe6d5da370e1f=(a=>{const b=c(a).lastChild;return p(b)?V:g(b)});b.wbg.__wbg_nextSibling_709614fdb0fb7a66=(a=>{const b=c(a).nextSibling;return p(b)?V:g(b)});b.wbg.__wbg_setnodeValue_94b86af0cda24b90=((a,b,d)=>{c(a).nodeValue=b===V?P:k(b,d)});b.wbg.__wbg_textContent_8e392d624539e731=((b,d)=>{const e=c(d).textContent;var f=p(e)?V:o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);var g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbg_cloneNode_e19c313ea20d5d1d=function(){return G((a=>{const b=c(a).cloneNode();return g(b)}),arguments)};b.wbg.__wbg_insertBefore_d2a001abf538c1f8=function(){return G(((a,b,d)=>{const e=c(a).insertBefore(c(b),c(d));return g(e)}),arguments)};b.wbg.__wbg_removeChild_96bbfefd2f5a0261=function(){return G(((a,b)=>{const d=c(a).removeChild(c(b));return g(d)}),arguments)};b.wbg.__wbg_instanceof_ShadowRoot_9db040264422e84a=(a=>{let b;try{b=c(a) instanceof ShadowRoot}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_host_c667c7623404d6bf=(a=>{const b=c(a).host;return g(b)});b.wbg.__wbg_get_bd8e338fbd5f5cc8=((a,b)=>{const d=c(a)[b>>>V];return g(d)});b.wbg.__wbg_length_cd7af8117672b8b8=(a=>{const b=c(a).length;return b});b.wbg.__wbg_newnoargs_e258087cd0daa0ea=((a,b)=>{const c=new Function(k(a,b));return g(c)});b.wbg.__wbg_call_27c0f87801dedf93=function(){return G(((a,b)=>{const d=c(a).call(c(b));return g(d)}),arguments)};b.wbg.__wbg_new_72fb9a18b5ae2624=(()=>{const a=new a2();return g(a)});b.wbg.__wbg_self_ce0dbfc45cf2f5be=function(){return G((()=>{const a=self.self;return g(a)}),arguments)};b.wbg.__wbg_window_c6fb939a7f436783=function(){return G((()=>{const a=window.window;return g(a)}),arguments)};b.wbg.__wbg_globalThis_d1e6af4856ba331b=function(){return G((()=>{const a=globalThis.globalThis;return g(a)}),arguments)};b.wbg.__wbg_global_207b558942527489=function(){return G((()=>{const a=global.global;return g(a)}),arguments)};b.wbg.__wbg_from_89e3fc3ba5e6fb48=(a=>{const b=N.from(c(a));return g(b)});b.wbg.__wbg_instanceof_ArrayBuffer_836825be07d4c9d2=(a=>{let b;try{b=c(a) instanceof ArrayBuffer}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_isSafeInteger_f7b04ef02296c4d2=(a=>{const b=Number.isSafeInteger(c(a));return b});b.wbg.__wbg_entries_95cc2c823b285a09=(a=>{const b=a2.entries(c(a));return g(b)});b.wbg.__wbg_is_010fdc0f4ab96916=((a,b)=>{const d=a2.is(c(a),c(b));return d});b.wbg.__wbg_resolve_b0083a7967828ec8=(a=>{const b=Promise.resolve(c(a));return g(b)});b.wbg.__wbg_then_0c86a60e8fcfe9f6=((a,b)=>{const d=c(a).then(c(b));return g(d)});b.wbg.__wbg_buffer_12d079cc21e14bdb=(a=>{const b=c(a).buffer;return g(b)});b.wbg.__wbg_new_63b92bc8671ed464=(a=>{const b=new W(c(a));return g(b)});b.wbg.__wbg_set_a47bac70306a19a7=((a,b,d)=>{c(a).set(c(b),d>>>V)});b.wbg.__wbg_length_c20a40f15020d68a=(a=>{const b=c(a).length;return b});b.wbg.__wbg_instanceof_Uint8Array_2b3bbecd033d19f6=(a=>{let b;try{b=c(a) instanceof W}catch(a){b=!1}const d=b;return d});b.wbg.__wbg_set_1f9b04f170055d33=function(){return G(((a,b,d)=>{const e=Reflect.set(c(a),c(b),c(d));return e}),arguments)};b.wbg.__wbindgen_debug_string=((b,d)=>{const e=u(c(d));const f=o(e,a.__wbindgen_malloc,a.__wbindgen_realloc);const g=l;r()[b/a1+ R]=g;r()[b/a1+ V]=f});b.wbg.__wbindgen_throw=((a,b)=>{throw new U(k(a,b))});b.wbg.__wbindgen_memory=(()=>{const b=a.memory;return g(b)});b.wbg.__wbindgen_closure_wrapper925=((a,b,c)=>{const d=w(a,b,380,z);return g(d)});b.wbg.__wbindgen_closure_wrapper1025=((a,b,c)=>{const d=A(a,b,430,B);return g(d)});b.wbg.__wbindgen_closure_wrapper1087=((a,b,c)=>{const d=A(a,b,459,C);return g(d)});return b});var E=(()=>{if(D===Q||D.byteLength===V){D=new Uint32Array(a.memory.buffer)};return D});var B=((b,c,d)=>{a._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hf0d67ea087c79d31(b,c,g(d))});var t=(()=>{if(s===Q||s.byteLength===V){s=new Float64Array(a.memory.buffer)};return s});var w=((b,c,d,e)=>{const f={a:b,b:c,cnt:R,dtor:d};const g=(...b)=>{f.cnt++;try{return e(f.a,f.b,...b)}finally{if(--f.cnt===V){a.__wbindgen_export_2.get(f.dtor)(f.a,f.b);f.a=V;v.unregister(f)}}};g.original=f;v.register(g,f,f);return g});var e=(a=>{if(a<132)return;b[a]=d;d=a});var A=((b,c,d,e)=>{const f={a:b,b:c,cnt:R,dtor:d};const g=(...b)=>{f.cnt++;const c=f.a;f.a=V;try{return e(c,f.b,...b)}finally{if(--f.cnt===V){a.__wbindgen_export_2.get(f.dtor)(c,f.b);v.unregister(f)}else{f.a=c}}};g.original=f;v.register(g,f,f);return g});var o=((a,b,c)=>{if(c===P){const c=m.encode(a);const d=b(c.length,R)>>>V;j().subarray(d,d+ c.length).set(c);l=c.length;return d};let d=a.length;let e=b(d,R)>>>V;const f=j();let g=V;for(;g127)break;f[e+ g]=b};if(g!==d){if(g!==V){a=a.slice(g)};e=c(e,d,d=g+ a.length*3,R)>>>V;const b=j().subarray(e+ g,e+ d);const f=n(a,b);g+=f.written;e=c(e,d,g,R)>>>V};l=g;return e});var j=(()=>{if(i===Q||i.byteLength===V){i=new W(a.memory.buffer)};return i});var k=((a,b)=>{a=a>>>V;return h.decode(j().subarray(a,a+ b))});var y=(a=>{if(x==R)throw new U(`out of js stack`);b[--x]=a;return x});let a;const b=new N(O).fill(P);b.push(P,Q,!0,!1);let d=b.length;const h=typeof TextDecoder!==S?new TextDecoder(T,{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw U(`TextDecoder not available`)}};if(typeof TextDecoder!==S){h.decode()};let i=Q;let l=V;const m=typeof TextEncoder!==S?new TextEncoder(T):{encode:()=>{throw U(`TextEncoder not available`)}};const n=typeof m.encodeInto===X?((a,b)=>m.encodeInto(a,b)):((a,b)=>{const c=m.encode(a);b.set(c);return {read:a.length,written:c.length}});let q=Q;let s=Q;const v=typeof a0===S?{register:()=>{},unregister:()=>{}}:new a0(b=>{a.__wbindgen_export_2.get(b.dtor)(b.a,b.b)});let x=O;let D=Q;export default M;export{L as initSync} \ No newline at end of file diff --git a/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm b/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm new file mode 100644 index 0000000..706ff5d Binary files /dev/null and b/frontend/dist/wordl-frontend-421403a0bf0fc1dd87e39290748fb0fd1d0011ad9d39c436612b9d175949ff30f7f20814f79234fe65bf2a8cf40890a2_bg.wasm differ diff --git a/frontend/dist/wordl-frontend-c8a90ba45d8538e2fa10a93a59efc670c56042558df3bd7fc15e94fdd8e80ddca15caab6ae49a4cca1f0d15c672579f6_bg.wasm b/frontend/dist/wordl-frontend-c8a90ba45d8538e2fa10a93a59efc670c56042558df3bd7fc15e94fdd8e80ddca15caab6ae49a4cca1f0d15c672579f6_bg.wasm deleted file mode 100644 index c2f1c71..0000000 Binary files a/frontend/dist/wordl-frontend-c8a90ba45d8538e2fa10a93a59efc670c56042558df3bd7fc15e94fdd8e80ddca15caab6ae49a4cca1f0d15c672579f6_bg.wasm and /dev/null differ diff --git a/frontend/src/lib.rs b/frontend/src/lib.rs index 0237a9c..4ee1f67 100644 --- a/frontend/src/lib.rs +++ b/frontend/src/lib.rs @@ -2,32 +2,135 @@ pub mod pages; pub mod router; pub mod storage; -use std::collections::HashSet; +use std::collections::HashMap; #[derive(Debug, PartialEq, Eq, Clone)] enum CharStatus { NotContained(T), Contained(T), Match(T), + Unknown, } fn compare_strings(s1: &str, s2: &str) -> Vec> { - if s1.len() != s2.len() { - panic!("Strings must have the same length"); + let mut result: Vec> = Vec::with_capacity(s1.len()); + result.resize_with(s1.len(), || CharStatus::Unknown); + + let mut s1_char_count: HashMap = HashMap::new(); + let mut s2_char_count: HashMap = HashMap::new(); + + for c in s1.chars() { + *s1_char_count.entry(c).or_insert(0) += 1; } - let mut result = Vec::with_capacity(s1.len()); - let s1_chars: HashSet = s1.chars().collect(); - - for (c1, c2) in s1.chars().zip(s2.chars()) { + for ((c1, c2), res) in s1.chars().zip(s2.chars()).zip(result.iter_mut()) { if c1 == c2 { - result.push(CharStatus::Match(c2.to_string())); - } else if s1_chars.contains(&c2) { - result.push(CharStatus::Contained(c2.to_string())); + *res = CharStatus::Match(c2.to_string()); + *s2_char_count.entry(c2).or_insert(0) += 1; } else { - result.push(CharStatus::NotContained(c2.to_string())); + *res = CharStatus::Unknown; + } + } + + for (res, c2) in result.iter_mut().zip(s2.chars()) { + match res { + CharStatus::Unknown => { + let c1_count = s1_char_count.get(&c2).unwrap_or(&0); + let c2_count = s2_char_count.get(&c2).unwrap_or(&0); + + if *c1_count > 0 && c1_count > c2_count { + *res = CharStatus::Contained(c2.to_string()); + *s2_char_count.entry(c2).or_insert(0) += 1; + } else { + *res = CharStatus::NotContained(c2.to_string()); + } + } + _ => {} } } result } + +#[cfg(test)] +mod test { + + use super::*; + #[test] + fn test_compare_strings() { + let source = "HALLO"; + + let want = vec![ + CharStatus::NotContained("0".to_owned()), + CharStatus::NotContained("0".to_owned()), + CharStatus::NotContained("0".to_owned()), + CharStatus::NotContained("0".to_owned()), + CharStatus::NotContained("0".to_owned()), + ]; + let input = "00000"; + + let got = compare_strings(source, input); + assert_eq!(want, got); + let source = "HALLO"; + + let want = vec![ + CharStatus::NotContained("L".to_owned()), + CharStatus::NotContained("L".to_owned()), + CharStatus::Match("L".to_owned()), + CharStatus::Match("L".to_owned()), + CharStatus::NotContained("L".to_owned()), + ]; + let input = "LLLLL"; + + let got = compare_strings(source, input); + assert_eq!(want, got); + + let want = vec![ + CharStatus::Match("H".to_owned()), + CharStatus::Match("A".to_owned()), + CharStatus::Match("L".to_owned()), + CharStatus::Match("L".to_owned()), + CharStatus::Match("O".to_owned()), + ]; + let input = "HALLO"; + + let got = compare_strings(source, input); + assert_eq!(want, got); + + let want = vec![ + CharStatus::Match("H".to_owned()), + CharStatus::NotContained("L".to_owned()), + CharStatus::Match("L".to_owned()), + CharStatus::Match("L".to_owned()), + CharStatus::Match("O".to_owned()), + ]; + let input = "HLLLO"; + + let got = compare_strings(source, input); + assert_eq!(want, got); + + let want = vec![ + CharStatus::Match("H".to_owned()), + CharStatus::Contained("L".to_owned()), + CharStatus::Match("L".to_owned()), + CharStatus::NotContained("I".to_owned()), + CharStatus::NotContained("L".to_owned()), + ]; + let input = "HLLIL"; + + let got = compare_strings(source, input); + assert_eq!(want, got); + + let want = vec![ + CharStatus::Contained("L".to_owned()), + CharStatus::NotContained("L".to_owned()), + CharStatus::Match("L".to_owned()), + CharStatus::Contained("A".to_owned()), + CharStatus::Match("O".to_owned()), + ]; + let input = "LLLAO"; + + let got = compare_strings(source, input); + assert_eq!(want, got); + } +} diff --git a/frontend/src/pages/home.rs b/frontend/src/pages/home.rs index e6c367f..65db8f3 100644 --- a/frontend/src/pages/home.rs +++ b/frontend/src/pages/home.rs @@ -1,7 +1,5 @@ use yew::prelude::*; -use yew::{classes, function_component, html, Callback, Html, NodeRef}; - -use crate::router::Route; +use yew::{classes, function_component, html, Callback, Html}; use crate::CharStatus; @@ -38,6 +36,9 @@ fn string_to_html(input: &Vec>) -> Html { classes.push("border-2"); s } + _ => { + "" + }, }; html!{
  • >) -> Html { #[function_component] pub fn Home() -> Html { let got_word = "HALLO"; - let mut submitted_words = yew::use_state(|| vec![]); + let submitted_words = yew::use_state(|| vec![]); let input = yew::use_state(|| { vec![ "".to_owned(), @@ -70,7 +71,7 @@ pub fn Home() -> Html { let on_submit = { let input = input.clone(); let submitted_words = submitted_words.clone(); - Callback::from(move |event: MouseEvent| { + Callback::from(move |_: MouseEvent| { let mut new_items = (*submitted_words).clone(); new_items.push(crate::compare_strings(&got_word, &input.join(""))); submitted_words.set(new_items); @@ -111,9 +112,6 @@ pub fn Home() -> Html { }) }; - // let mut submitted_words = vec![]; - - let res = crate::compare_strings(got_word, "HLLAI"); html! {
    Html {