aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNick Coutsos <[email protected]>2024-06-19 17:52:16 -0400
committerNick Coutsos <[email protected]>2024-06-19 17:52:16 -0400
commitb8302e879b86e3a601d79e45e1c196c29fd224a7 (patch)
treed47b04f6570f0971ebb7362ec49e6adbcb71e3d9
parentfc7ba5ebf7fe0d6ee1b24f74656e7cf7b2572cf9 (diff)
downloadkeymap-editor-b8302e879b86e3a601d79e45e1c196c29fd224a7.tar.gz
keymap-editor-b8302e879b86e3a601d79e45e1c196c29fd224a7.zip
Update keyboard layouts
-rw-r--r--ClipboardPicker.4e657b54905e67c8d4c7.js3
-rw-r--r--ClipboardPicker.4e657b54905e67c8d4c7.js.LICENSE.txt1
-rw-r--r--FileSystemPicker.f9f86125519201406ff7.js3
-rw-r--r--FileSystemPicker.f9f86125519201406ff7.js.LICENSE.txt1
-rw-r--r--index.html2
-rw-r--r--keyboard-data/ferris_rev02-json-metadata.3ba1710ba96c69125c0d.js1
-rw-r--r--keyboard-data/fifi-json-metadata.33f7f3b0a264f0cc161f.js1
-rw-r--r--keyboard-data/rchoc-json-metadata.d046cae6a69d88dcff61.js1
-rw-r--r--keyboard-data/scylla-json-metadata.fc058b25263250d09cf7.js1
-rw-r--r--runtime.cb65ce885097e43c17d8.js2
10 files changed, 15 insertions, 1 deletions
diff --git a/ClipboardPicker.4e657b54905e67c8d4c7.js b/ClipboardPicker.4e657b54905e67c8d4c7.js
new file mode 100644
index 0000000..bbba9b3
--- /dev/null
+++ b/ClipboardPicker.4e657b54905e67c8d4c7.js
@@ -0,0 +1,3 @@
+/*! For license information please see ClipboardPicker.4e657b54905e67c8d4c7.js.LICENSE.txt */
+(self.webpackChunkapp=self.webpackChunkapp||[]).push([[5708],{17108:function(t,e,r){"use strict";r.r(e),r.d(e,{ClipboardPicker:function(){return Ce},default:function(){return Ne}});var n=r(50361),o=r.n(n),i=r(67294),a=r(62608),c=r(79066),u=r(29866);function l(t,e){(0,u.Kz)("CLIPBOARD_UPDATE_KEYMAP",{keyboard:t,keymap:s(e)})}function s(t){return{warningFlags:t.warningFlags,layers:t.layers.length,behaviors:t.behaviors.length,combos:t.combos.length,macros:t.macros.length}}var f=r(97168),y=r(57557),p=r.n(y);function d(t){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},d(t)}function h(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function v(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?h(Object(r),!0).forEach((function(e){m(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function m(t,e,r){return(e=g(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function b(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,g(n.key),n)}}function g(t){var e=function(t,e){if("object"!==d(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==d(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===d(e)?e:String(e)}var w=new(function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.prefix=e,this._slots=JSON.parse(localStorage.getItem(this._slotKey(""))||"[]")}var e,r;return e=t,(r=[{key:"_slotKey",value:function(t){var e="".concat(this.prefix,"_slots");return t?"".concat(e,":").concat(t):e}},{key:"_selectionKey",value:function(){return"".concat(this.prefix,"_selected_slot")}},{key:"_flushSlots",value:function(){localStorage.setItem(this._slotKey(""),JSON.stringify(this._slots))}},{key:"keyboards",get:function(){return JSON.parse(localStorage.getItem(this._slotKey(""))||"[]")},set:function(t){localStorage.setItem(this._slotKey("",JSON.stringify(t)))}},{key:"getEntry",value:function(t){return JSON.parse(localStorage.getItem(this._slotKey(t))||"null")}},{key:"setEntry",value:function(t,e){var r;localStorage.setItem(this._slotKey(t),JSON.stringify(p()(e,"keymap")));var n=this._slots.findIndex((function(e){return e.id===t}));-1===n?this._slots.push({id:t,name:e.name}):!this._slots[n].name&&null!==(r=e.metadata)&&void 0!==r&&r.name&&(this._slots[n]=v(v({},this._slots[n]),{},{name:e.metadata.name})),this._flushSlots()}},{key:"removeKeyboard",value:function(t){var e=this._slots.findIndex((function(e){return e.id===t}));-1!==e&&(this._slots.splice(e,1),this._flushSlots()),localStorage.removeItem(this._slotKey(t))}},{key:"selectKeyboard",value:function(t){localStorage.setItem(this._selectionKey(),JSON.stringify(t))}},{key:"getSelectedKeyboard",value:function(){return JSON.parse(localStorage.getItem(this._selectionKey())||"null")}}])&&b(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),t}())("keymap_editor_clipboard"),j=r(85893);function O(t){return O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},O(t)}function x(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function A(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?x(Object(r),!0).forEach((function(e){k(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function k(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==O(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==O(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===O(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function S(t){return function(t){if(Array.isArray(t))return _(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||E(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(t,e){if(t){if("string"==typeof t)return _(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_(t,e):void 0}}function _(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var L={keyboardId:null,isCustom:!0,keymap:null,keymapRaw:'/ {\n keymap {\n compatible = "zmk,keymap";\n };\n};\n',metadata:null,metadataRaw:""};function P(){var t,e=w.getSelectedKeyboard(),r=S(w._slots),n=e||(null===(t=r[0])||void 0===t?void 0:t.id),o=w.getEntry(n),i=(null==o?void 0:o.keyboardId)||"custom",a=(null==o?void 0:o.isCustom)||"custom"===i,c=null==o?void 0:o.keymapRaw;return{keyboards:r,selectedKeyboard:n,addModalOpen:!c,feedbackModalOpen:!1,selection:{keyboardId:i,isCustom:a,keymap:null,keymapRaw:c,metadata:null==o?void 0:o.metadata,metadataRaw:null==o?void 0:o.metadataRaw},pending:{}}}var C=(0,f.oM)({name:"clipboard-picker",initialState:P,reducers:{selectedKeyboard:function(t,e){t.selectedKeyboard!==e.payload.keyboard&&(t.selectedKeyboard=e.payload.keyboard,t.selection=w.getEntry(t.selectedKeyboard)||L,w.selectKeyboard(t.selectedKeyboard))},addKeyboard:function(t,e){var r=e.payload.id;w.setEntry(r,L),t.keyboards=S(w._slots)},removedKeyboard:function(t,e){var r=e.payload.id;w.removeKeyboard(r),t.keyboards=S(w._slots)},updatedKeyboard:function(t,e){var r=e.payload,n=r.keyboardId,o=r.isCustom,i=void 0!==o&&o,a=r.metadataRaw,c=r.metadata,u=r.keymapRaw,l=r.keymap;t.selection.keyboardId=n,t.selection.isCustom=i,t.selection.metadata=c,t.selection.metadataRaw=a,t.selection.keymap=l,t.selection.keymapRaw=u,w.setEntry(t.selectedKeyboard,t.selection)},updatedKeymap:function(t,e){var r=e.payload,n=r.raw,o=r.parsed;t.selection.keymap=o,t.selection.keymapRaw=n},parsedKeymap:function(t,e){t.selection.keymap=e.payload.keymap},parsedKeymapWithErrors:function(t,e){t.selection.keymapErrors=e.payload.error},openAddModal:function(t){if(t.addModalOpen=!0,t.pending=t.selection,t.pending.metadataRaw&&!t.pending.metadata)try{t.pending.metadata=JSON.parse(t.pending.metadataRaw)}catch(t){}},closeAddModal:function(t){t.addModalOpen=!1},openFeedbackModal:function(t){t.feedbackModalOpen=!0},closeFeedbackModal:function(t){t.feedbackModalOpen=!1}}}),I=(0,i.createContext)([{},{}]);function N(t){var e,r=t.children,n=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||E(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,i.useReducer)(C.reducer,null,P),2),o=n[0],a=(e=n[1],(0,i.useMemo)((function(){return Object.keys(C.actions).reduce((function(t,r){return t[r]=function(){var t;return e((t=C.actions)[r].apply(t,arguments))},t}),{})}),[e]));return(0,j.jsx)(I.Provider,{value:[o,a],children:r})}function T(){return(0,i.useContext)(I)}var K=r(93379),D=r.n(K),B=r(7795),G=r.n(B),F=r(90569),M=r.n(F),R=r(3565),U=r.n(R),Z=r(19216),Y=r.n(Z),z=r(44589),q=r.n(z),J=r(8153),$={};$.styleTagTransform=q(),$.setAttributes=U(),$.insert=M().bind(null,"head"),$.domAPI=G(),$.insertStyleElement=Y(),D()(J.Z,$);var Q=J.Z&&J.Z.locals?J.Z.locals:void 0,W=r(69247),V=r(41051),H=r(18446),X=r.n(H),tt=r(95998),et=r(83858),rt=r.n(et),nt=r(33295),ot=r.n(nt);function it(t){return it="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},it(t)}function at(){at=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),c=new k(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function y(){}function p(){}function d(){}var h={};u(h,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(h=m);var b=d.prototype=y.prototype=Object.create(h);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==it(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=O(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function O(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:E}}function E(){return{value:void 0,done:!0}}return p.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:p,configurable:!0}),p.displayName=u(d,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(A),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function ct(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function ut(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){ct(i,n,o,a,c,"next",t)}function c(t){ct(i,n,o,a,c,"throw",t)}a(void 0)}))}}function lt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var st=function(t){var e;return null===(e=t.keyboard)||void 0===e?void 0:e.keymap},ft=r(64261),yt=r(96186),pt=r(27926),dt=r(83671),ht=r(37706),vt=r(10213);function mt(t){return mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},mt(t)}var bt=["value","onChange"];function gt(){gt=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),c=new k(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function y(){}function p(){}function d(){}var h={};u(h,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(h=m);var b=d.prototype=y.prototype=Object.create(h);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==mt(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=O(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function O(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:E}}function E(){return{value:void 0,done:!0}}return p.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:p,configurable:!0}),p.displayName=u(d,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(A),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function wt(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function jt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Ot(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?jt(Object(r),!0).forEach((function(e){xt(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):jt(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function xt(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==mt(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==mt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===mt(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function At(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var kt=(0,ht.N)();function St(t){var e=t.value,r=t.onChange,n=function(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r,n,o={},i=Object.keys(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}(t,bt),o=(0,vt.Z)(),a=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return At(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?At(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,i.useState)({raw:e,parsed:null}),2),c=a[0].raw,u=a[1];(0,i.useEffect)((function(){u((function(t){return Ot(Ot({},t),{},{raw:e})}))}),[e,u]);var l=(0,i.useCallback)((function(t){u((function(e){return Ot(Ot({},e),{},{raw:t})}))}),[u]);return(0,i.useEffect)((function(){function t(){var e;return e=gt().mark((function t(){var e;return gt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,ot()(c);case 3:e=t.sent,u((function(t){return Ot(Ot({},t),{},{parsed:e})})),r({raw:c,parsed:e}),t.next=12;break;case 8:throw t.prev=8,t.t0=t.catch(0),console.error("Failed to parse keymap",t.t0),t.t0;case 12:case"end":return t.stop()}}),t,null,[[0,8]])})),t=function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(t){wt(i,n,o,a,c,"next",t)}function c(t){wt(i,n,o,a,c,"throw",t)}a(void 0)}))},t.apply(this,arguments)}c&&function(){t.apply(this,arguments)}()}),[c,u,r]),(0,j.jsx)(dt.ZP,Ot({theme:o?"dark":"light",extensions:[kt],style:{overflow:"auto",maxHeight:"40vh",border:"1px solid var(--key-bg-base)"},onChange:l,value:c},n))}var Et=r(98553),_t=r(91829),Lt=r(42507),Pt=r(91892),Ct=r(80031);function It(t){return It="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},It(t)}function Nt(){Nt=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),c=new k(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function y(){}function p(){}function d(){}var h={};u(h,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(h=m);var b=d.prototype=y.prototype=Object.create(h);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==It(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=O(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function O(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:E}}function E(){return{value:void 0,done:!0}}return p.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:p,configurable:!0}),p.displayName=u(d,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(A),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Tt(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function Kt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||Dt(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Dt(t,e){if(t){if("string"==typeof t)return Bt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Bt(t,e):void 0}}function Bt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var Gt,Ft=[{id:"custom",name:"Custom..."}].concat(function(t){if(Array.isArray(t))return Bt(t)}(Gt=Object.values(Et))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(Gt)||Dt(Gt)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());function Mt(t){var e=t.keyboardId,n=t.metadata,o=t.metadataRaw,a=t.onChange,c=Kt((0,i.useState)(null),2),u=c[0],l=c[1],s=Kt((0,_t.Z)(!o),3),f=s[0],y=s[1],p=s[2],d=(0,i.useMemo)((function(){return Ft.find((function(t){return t.id===e}))}),[e]),h="custom"===e,v=(0,i.useCallback)((function(){h&&y()}),[h,y]),m=(0,i.useCallback)(function(){var t,e=(t=Nt().mark((function t(e){var n;return Nt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l(null),"custom"!==e.id){t.next=6;break}a({keyboardId:"custom",isCustom:!0,raw:"",parsed:null}),p(),t.next=16;break;case 6:return t.prev=6,t.next=9,r(25105)("./".concat(e.id,".json"));case 9:n=t.sent,a({isCustom:!1,keyboardId:e.id,parsed:n,raw:""}),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(6),console.error("Failed to load metadata for ".concat(e.id),t.t0);case 16:case"end":return t.stop()}}),t,null,[[6,13]])})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Tt(i,n,o,a,c,"next",t)}function c(t){Tt(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(t){return e.apply(this,arguments)}}(),[a,p,l]),b=(0,i.useCallback)((function(t){var e=t.raw,r=t.parsed,n=t.error;l(n),a({keyboardId:d.id,isCustom:"custom"===d.id,raw:e,parsed:r,error:n})}),[a,d,l]);return(0,j.jsxs)("article",{className:Q.source,"data-collapsible":"custom"===e,"data-expanded":f,children:[(0,j.jsxs)("h2",{children:[(0,j.jsx)("span",{onClick:v,children:"Keyboard"})," ",(0,j.jsx)("div",{style:{display:"inline-block",fontSize:"initial",fontWeight:"normal",verticalAlign:"middle"},children:(0,j.jsx)(Pt.Z,{value:d,onChange:m,options:Ft,getOptionValue:function(t){return t.id},getOptionLabel:function(t){return t.name}})}),"custom"===e&&(0,j.jsxs)(j.Fragment,{children:[" ",u&&(0,j.jsx)(V.Z,{style:{color:"var(--dark-red)",verticalAlign:"middle"},name:"warning",title:"Custom metadata has validation error(s)"})," ",(0,j.jsx)(V.Z,{style:{verticalAlign:"middle"},onClick:v,name:f?"caret-up":"caret-down"})]})]}),"custom"===(null==d?void 0:d.id)&&(0,j.jsxs)("section",{className:Q.sourceContent,children:[(0,j.jsx)("p",{children:"In order to understand what keyboard you're using and how to display it visually, please paste the JSON source metadata file below."}),n&&(0,j.jsxs)("p",{children:["Parsed metadata for: ",n.name]}),(0,j.jsx)(Lt.Z,{cols:80,rows:n?22:5,wrap:"off",spellCheck:!1,value:o,onChange:b}),!n&&(0,j.jsxs)("div",{className:Q.metadataHelp,children:[(0,j.jsx)("h3",{children:"Not sure what to put here?"}),(0,j.jsxs)("p",{children:["The ",(0,j.jsx)("em",{children:"Keymap Editor"})," app depends on a defined keyboard layout both to provide a friendly graphical representation to edit and a readable textual representation. You can learn more about this at ",Ct.Jh,"."]}),(0,j.jsxs)("p",{children:["Note: If your keyboard works with QMK's Configurator you may be able to quickly get a visual representation by pasting the contents of that keyboard's ",(0,j.jsx)("code",{children:"info.json"})," file here."]})]})]})]})}function Rt(t){return Rt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rt(t)}function Ut(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Zt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ut(Object(r),!0).forEach((function(e){Yt(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ut(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function Yt(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==Rt(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==Rt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Rt(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function zt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function qt(t){var e=t.initial,r=void 0===e?Jt:e,n=t.onSubmit,o=t.onCancel,a=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return zt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?zt(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,i.useState)(r),2),c=a[0],u=a[1],l=(0,i.useCallback)((function(t){u((function(e){return Zt(Zt({},e),{},{keyboardId:t.keyboardId,isCustom:t.isCustom,metadataRaw:t.raw,metadata:t.parsed})}))}),[u]),s=(0,i.useCallback)((function(t){var e=t.raw,r=t.parsed;u((function(t){return Zt(Zt({},t),{},{keymapRaw:e,keymap:r})}))}),[u]),f=(0,i.useCallback)((function(){n(c)}),[c,n]),y=!c.metadata||!c.keymap;return(0,j.jsx)(ft.Z,{onDismiss:o,children:(0,j.jsxs)(yt.Z,{style:{maxWidth:"640px"},dismissText:null,children:[(0,j.jsx)(Mt,{keyboardId:c.keyboardId,isCustom:c.isCustom,metadata:c.metadata,metadataRaw:c.metadataRaw,onChange:l}),(0,j.jsx)("h2",{children:"Keymap"}),(0,j.jsxs)("p",{children:["Paste the devicetree source from your ",(0,j.jsx)("code",{children:".keymap"})," file below."]}),(0,j.jsxs)("p",{children:["You can ",(0,j.jsx)("em",{children:"technically"})," make changes directly to the DeviceTree code here, but this isn't intended as an editor."]}),(0,j.jsx)(St,{cols:80,rows:22,wrap:"off",spellCheck:!1,value:c.keymapRaw,onChange:s}),(0,j.jsxs)("p",{style:{textAlign:"center"},children:[(0,j.jsx)(pt.Z,{disabled:y,onClick:f,children:"Set Keymap"}),(0,j.jsx)(pt.Z,{onClick:o,secondary:!0,children:"Cancel"})]})]})})}function Jt(){return{keyboardId:null,isCustom:!1,metadataRaw:"",metadata:null,keymapRaw:$t,keymap:null}}var $t='/ {\n keymap {\n compatible = "zmk,keymap";\n };\n};\n';function Qt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Wt(t){var e=t.onSubmit,r=t.onCancel,n=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Qt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Qt(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(T(),2),o=n[0].selection,a=n[1].updatedKeyboard,c=(0,i.useCallback)((function(t){a(t),l(t.keyboardId,t.keymap),e()}),[a,e]);return(0,j.jsx)(qt,{initial:o,onSubmit:c,onCancel:r})}function Vt(t){return Vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vt(t)}function Ht(){Ht=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),c=new k(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function y(){}function p(){}function d(){}var h={};u(h,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(h=m);var b=d.prototype=y.prototype=Object.create(h);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==Vt(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=O(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function O(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:E}}function E(){return{value:void 0,done:!0}}return p.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:p,configurable:!0}),p.displayName=u(d,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(A),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Xt(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function te(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Xt(i,n,o,a,c,"next",t)}function c(t){Xt(i,n,o,a,c,"throw",t)}a(void 0)}))}}function ee(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function re(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ee(Object(r),!0).forEach((function(e){ne(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ee(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function ne(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==Vt(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==Vt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Vt(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function oe(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return ie(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ie(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ie(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function ae(){var t=oe(T(),1)[0].selection,e=function(){var t=(0,tt.v9)(st),e=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return lt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lt(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(T(),2),r=e[0].selection,n=e[1].updatedKeymap;return[(0,i.useMemo)((function(){return t&&r.keymap&&!X()(t,r.keymap)}),[t,r.keymap]),(0,i.useCallback)(ut(at().mark((function e(){var i,a,u,s,f,y,p;return at().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=r.metadata,a=i.id,u=i.layouts,s=(0,c.getPreferredLayout)(t,u),f=s.layout,e.prev=2,e.next=5,rt()(f,o()(t),r.keymapRaw);case 5:return y=e.sent,e.next=8,ot()(y);case 8:return p=e.sent,n({raw:y,parsed:p}),l(a,p),e.abrupt("return",y);case 14:throw e.prev=14,e.t0=e.catch(2),console.error("Failed to update/parse",t),console.error(e.t0),e.t0;case 19:case"end":return e.stop()}}),e,null,[[2,14]])}))),[t,r,n])]}(),r=oe(e,2),n={updateNeeded:r[0],update:r[1]};return(0,j.jsxs)(j.Fragment,{children:[t.keymap&&(0,j.jsx)(ce,re({},n)),t.keymap&&(0,j.jsx)(ue,re({},n))]})}function ce(t){var e=t.updateNeeded,r=t.update,n=oe(T(),1)[0].selectedKeyboard,o=oe((0,ft.X)(),3),a=o[0],c=o[1],u=o[2],l=(0,i.useCallback)(te(Ht().mark((function t(){return Ht().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e){t.next=3;break}return t.next=3,r();case 3:c();case 4:case"end":return t.stop()}}),t)}))),[c,r,e]);if(n)return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(W.zx,{onClick:l,title:"View/update keymap code",children:"Keymap"}),a&&(0,j.jsx)(Wt,{onSubmit:u,onCancel:u})]})}function ue(t){var e=t.updateNeeded,r=t.update,n=e?"Copy updated keymap":"No changes",o=oe(T(),1)[0].selection,a=oe((0,i.useState)(!1),2),c=a[0],u=a[1],l=(0,i.useCallback)(te(Ht().mark((function t(){var e;return Ht().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,r();case 3:return e=t.sent,t.next=6,navigator.clipboard.writeText(e);case 6:u(!0),setTimeout((function(){return u(!1)}),1500),t.next=14;break;case 10:t.prev=10,t.t0=t.catch(0),console.error("Clipboard write failed"),console.log(t.t0);case 14:case"end":return t.stop()}}),t,null,[[0,10]])}))),[r]);return o.keymap?(0,j.jsx)(W.zx,{title:n,disabled:!e,className:Q.copyButton,onClick:l,"data-show-copied":c,children:(0,j.jsx)(V.Z,{name:e?"clipboard-list":"clipboard-check"})}):null}function le(t){return le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},le(t)}function se(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function fe(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?se(Object(r),!0).forEach((function(e){ye(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):se(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function ye(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==le(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==le(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===le(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function pe(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function de(t){var e=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return pe(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?pe(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(T(),2)[1].openAddModal;return(0,j.jsx)("button",fe(fe({onClick:e},t),{},{children:"New Keyboard"}))}function he(t){return he="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},he(t)}function ve(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function me(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==he(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==he(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===he(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function be(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return ge(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ge(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ge(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function we(){var t=be(T(),2),e=t[0],r=e.keyboards,n=e.selectedKeyboard,o=t[1].selectedKeyboard,a=(0,i.useMemo)((function(){return r.find((function(t){return t.id===n}))}),[r,n]),c=(0,i.useCallback)((function(t){o({keyboard:t.id})}),[o]);return 0===r.length?(0,j.jsx)(de,{}):(0,j.jsx)(Pt.Z,{label:"Keyboard",value:a,options:r,onChange:c,getOptionLabel:function(t){return t.name||"<unnamed>"},getOptionValue:function(t){return t.id},formatOptionLabel:je,children:(0,j.jsx)(de,{style:{width:"100%"}})})}function je(t,e){var r=e.context,n=t.name||(0,j.jsx)("em",{children:"[unnamed]"});return"value"===r?n:(0,j.jsx)(Oe,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ve(Object(r),!0).forEach((function(e){me(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ve(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},t))}function Oe(t){var e=t.id,r=t.name,n=be(T(),2),o=n[0],a=o.keyboards,c=o.selectedKeyboard,u=n[1],l=u.selectedKeyboard,s=u.removedKeyboard,f=(0,i.useCallback)((function(t){t.stopPropagation();var n='Remove "'.concat(r,'"? This operation cannot be undone.'),o=e===c,i=a.find((function(t){return t.id!==e}));window.confirm(n)&&(o&&i&&l({keyboard:i.id}),s({id:e}))}),[e,r,a,c,l,s]);return(0,j.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:"10px",alignItems:"center"},children:[r||(0,j.jsx)("em",{children:"[unnamed]"})," ",(0,j.jsx)(V.Z,{title:"Delete keyboard",name:"times-circle",style:{cursor:"pointer",fontSize:"80%"},onClick:f})]})}function xe(t){return xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xe(t)}function Ae(){Ae=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof y?e:y,a=Object.create(i.prototype),c=new k(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function y(){}function p(){}function d(){}var h={};u(h,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(h=m);var b=d.prototype=y.prototype=Object.create(h);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==xe(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=O(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function O(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,O(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function x(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function A(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(x,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:E}}function E(){return{value:void 0,done:!0}}return p.prototype=d,n(b,"constructor",{value:d,configurable:!0}),n(d,"constructor",{value:p,configurable:!0}),p.displayName=u(d,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(A),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),A(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function ke(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function Se(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Ee(){var t=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Se(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Se(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(T(),2),e=t[0].selection,r=e.keyboardId,n=e.keymapRaw,o=t[1].parsedKeymap,a=(0,i.useCallback)(function(){var t,e=(t=Ae().mark((function t(e){var n;return Ae().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,ot()(e);case 3:n=t.sent,o({keymap:n}),t.next=12;break;case 7:throw t.prev=7,t.t0=t.catch(0),console.error("Failed to parse keymap",t.t0),i=r,(0,u.Kz)("CLIPBOARD_PARSE_ERROR",{keyboard:i}),t.t0;case 12:case"end":return t.stop()}var i}),t,null,[[0,7]])})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){ke(i,n,o,a,c,"next",t)}function c(t){ke(i,n,o,a,c,"throw",t)}a(void 0)}))});return function(t){return e.apply(this,arguments)}}(),[r,o]);(0,i.useEffect)((function(){n&&a(n)}),[a,n])}function _e(t){var e=t.onDismiss;return(0,j.jsx)(ft.Z,{onDismiss:e,children:(0,j.jsxs)(yt.Z,{dismissText:null,children:[(0,j.jsx)("h2",{children:"Metadata Error"}),(0,j.jsx)("p",{children:'There was an error validating your keyboard\'s metadata when it was first added. Please review your metadata in the "view/update keymap" dialog.'}),(0,j.jsx)("p",{children:"Sorry for the inconvenience!"}),(0,j.jsx)("div",{style:{textAlign:"center"},children:(0,j.jsx)(pt.Z,{onClick:e,children:"Back to editor"})})]})})}function Le(t){return Le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Le(t)}function Pe(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Ce(t){var e=t.onSelect,r=t.onError;Ee();var n=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return Pe(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Pe(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(T(),2),l=n[0],f=l.addModalOpen,y=l.selection,p=y.keymap,d=y.metadata,h=n[1],v=h.closeAddModal,m=h.selectedKeyboard,b=h.addKeyboard,g=h.updatedKeyboard,w=(0,i.useCallback)((function(t,n){var i=n.id,l=n.layouts,f=n.sensors,y=void 0===f?[]:f;if("object"===Le(l)){try{(0,a.validateInfoJson)(n)}catch(t){return console.error("Stored metadata is invalid",t.errors),void r({dialog:_e,dialogProps:{}})}var p=(0,c.getPreferredLayout)(t,l);!function(t,e){(0,u.Kz)("CLIPBOARD_SELECT_KEYBOARD",{keyboard:t,keymap:s(e)})}(i,t),e(o()({source:"clipboard",keyboard:i,layoutMetadata:p,layout:p.layout,keymap:t,sensors:y}))}else console.error("Invalid metadata loaded",n)}),[e,r]);(0,i.useEffect)((function(){p&&d&&w(p,d)}),[w,p,d]);var O=(0,i.useCallback)((function(t){v();var e=Date.now();b({id:e}),m({keyboard:e}),g(t),function(t,e){(0,u.Kz)("CLIPBOARD_ADD_KEYBOARD",{keyboard:t,keymap:s(e)})}(t.keyboardId,t.keymap)}),[b,m,g,v]);return(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(we,{}),(0,j.jsx)(ae,{}),f&&(0,j.jsx)(qt,{onSubmit:O,onCancel:v})]})}var Ie,Ne=(Ie=Ce,function(t){return(0,j.jsx)(N,{children:(0,j.jsx)(Ie,A({},t))})})},8153:function(t,e,r){"use strict";var n=r(87537),o=r.n(n),i=r(23645),a=r.n(i)()(o());a.push([t.id,'.fnnwBtqwiwSQgnuN5sqg[data-collapsible="true"] h2 {\n cursor: pointer;\n}\n\n.meN56P3rXkTYWdDY0oZq {\n height: auto;\n transition: height 100ms ease-out;\n}\n\n.H4OUxP43w5pZ9RYBB72x {\n background-color: rgba(0, 0, 0, 0.1);\n margin: 10px;\n padding: 0 10px;\n border-radius: 4px;\n}\n\n[data-expanded="false"] .meN56P3rXkTYWdDY0oZq {\n height: 0;\n overflow: hidden;\n}\n\n[data-expanded="false"] h2 {\n margin-bottom: 0;\n}\n\n.eVrbmh_w8MbnDUOfUD2N {\n position: relative;\n}\n.eVrbmh_w8MbnDUOfUD2N span {\n font-size: 120%;\n margin: auto 5px;\n}\n\n.eVrbmh_w8MbnDUOfUD2N[data-show-copied="true"]::after {\n content: "Copied!";\n position: absolute;\n right: -5px;\n top: 50%;\n\n transform: translate(100%, -50%);\n background-color: var(--selection);\n color: white;\n padding: 10px;\n border-radius: 4px;\n\n animation: normal 1.5s h0IIQBfKFzrLn6r9v5qG;\n}\n\n@keyframes h0IIQBfKFzrLn6r9v5qG {\n 0% { opacity: 0; width: 0; margin-left: -100%; }\n 2.5% { opacity: 1; width: auto; }\n 75% { opacity: 1; margin-left: 0; }\n 100% { opacity: 0; }\n}',"",{version:3,sources:["webpack://./src/Sources/Clipboard/styles.module.css"],names:[],mappings:"AAAA;EACE,eAAe;AACjB;;AAEA;EACE,YAAY;EACZ,iCAAiC;AACnC;;AAEA;EACE,oCAAoC;EACpC,YAAY;EACZ,eAAe;EACf,kBAAkB;AACpB;;AAEA;EACE,SAAS;EACT,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;AACpB;AACA;EACE,eAAe;EACf,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,kBAAkB;EAClB,WAAW;EACX,QAAQ;;EAER,gCAAgC;EAChC,kCAAkC;EAClC,YAAY;EACZ,aAAa;EACb,kBAAkB;;EAElB,2CAA+B;AACjC;;AAEA;EACE,KAAK,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE;EAC/C,OAAO,UAAU,EAAE,WAAW,EAAE;EAChC,MAAM,UAAU,EAAE,cAAc,EAAE;EAClC,OAAO,UAAU,EAAE;AACrB",sourcesContent:['.source[data-collapsible="true"] h2 {\n cursor: pointer;\n}\n\n.sourceContent {\n height: auto;\n transition: height 100ms ease-out;\n}\n\n.metadataHelp {\n background-color: rgba(0, 0, 0, 0.1);\n margin: 10px;\n padding: 0 10px;\n border-radius: 4px;\n}\n\n[data-expanded="false"] .sourceContent {\n height: 0;\n overflow: hidden;\n}\n\n[data-expanded="false"] h2 {\n margin-bottom: 0;\n}\n\n.copyButton {\n position: relative;\n}\n.copyButton span {\n font-size: 120%;\n margin: auto 5px;\n}\n\n.copyButton[data-show-copied="true"]::after {\n content: "Copied!";\n position: absolute;\n right: -5px;\n top: 50%;\n\n transform: translate(100%, -50%);\n background-color: var(--selection);\n color: white;\n padding: 10px;\n border-radius: 4px;\n\n animation: normal 1.5s popInOut;\n}\n\n@keyframes popInOut {\n 0% { opacity: 0; width: 0; margin-left: -100%; }\n 2.5% { opacity: 1; width: auto; }\n 75% { opacity: 1; margin-left: 0; }\n 100% { opacity: 0; }\n}'],sourceRoot:""}]),a.locals={source:"fnnwBtqwiwSQgnuN5sqg",sourceContent:"meN56P3rXkTYWdDY0oZq",metadataHelp:"H4OUxP43w5pZ9RYBB72x",copyButton:"eVrbmh_w8MbnDUOfUD2N",popInOut:"h0IIQBfKFzrLn6r9v5qG"},e.Z=a},25105:function(t,e,r){var n={"./a_dux.json":[73158,4843],"./adv360pro.json":[41843,2259],"./bat43.json":[60888,1038],"./bdn9_rev2.json":[94591,1522],"./bfo9000.json":[19684,4962],"./boardsource3x4.json":[88602,4260],"./boardsource5x12.json":[8058,5356],"./bt60_v1.json":[92628,3826],"./bt60_v1_hs.json":[84628,2838],"./bt60_v2.json":[9417,504],"./bt65_v1.json":[88455,5422],"./bt75_v1.json":[25397,2921],"./chalice.json":[7936,4830],"./clog.json":[31638,2169],"./contra.json":[42718,8409],"./corne.json":[26453,7038],"./corneish_zen.json":[39757,4213],"./cradio.json":[62089,8451],"./crbn.json":[48945,4959],"./dao.json":[31889,9213],"./eek.json":[63072,2757],"./elephant42.json":[83634,7997],"./ergodash.json":[68972,47],"./ergodox.json":[75507,1325],"./eternal_keypad.json":[69416,4415],"./eternal_keypad_lefty.json":[56785,2284],"./ferris_rev02.json":[97365,1145],"./fifi.json":[12667,7346],"./fourier.json":[14446,7905],"./glove80.json":[68676,1206],"./helix.json":[73549,7316],"./hillside46.json":[85162,3804],"./hummingbird.json":[98321,3394],"./hw75_keyboard.json":[80629,3283],"./iris.json":[55262,9134],"./jian.json":[46228,944],"./jiran.json":[14465,9707],"./jorne.json":[19151,2308],"./kbdfans_tofu65_v2.json":[7450,320],"./knob_goblin.json":[71497,6528],"./kyria.json":[34458,8642],"./kyria_rev2.json":[70165,4156],"./kyria_rev3.json":[33669,3895],"./le_chiffre_stm32.json":[14123,5435],"./leeloo.json":[53677,6158],"./leeloo_micro.json":[88615,6274],"./leeloo_rev2.json":[32871,8301],"./lily58.json":[21479,6324],"./lotus58.json":[63918,5],"./lpgalaxy_blank_slate.json":[73838,3504],"./m60.json":[53132,4070],"./microdox.json":[56792,8813],"./murphpad.json":[8662,8374],"./naked60.json":[79707,5810],"./nibble.json":[58244,2939],"./nice60.json":[41501,7218],"./osprette.json":[13467,7110],"./pancake.json":[19011,630],"./planck_rev6.json":[55991,8284],"./preonic_rev3.json":[47308,5533],"./qaz.json":[46923,6360],"./quefrency.json":[23956,5272],"./rchoc.json":[27788,9546],"./redox.json":[17104,1616],"./reviung34.json":[66147,3755],"./reviung41.json":[71414,327],"./reviung5.json":[31009,1718],"./reviung53.json":[48596,9115],"./romac.json":[15683,2135],"./romac_plus.json":[55318,3039],"./s40nc.json":[56036,3197],"./scylla.json":[88127,3762],"./slicemk_ergodox.json":[5086,9699],"./snap.json":[24380,8415],"./sofle.json":[45082,8729],"./splitkb_aurora_corne.json":[20216,9351],"./splitkb_aurora_helix.json":[66850,6709],"./splitkb_aurora_lily58.json":[2674,5634],"./splitkb_aurora_sofle.json":[40194,639],"./splitkb_aurora_sweep.json":[9738,5891],"./splitreus62.json":[47003,1081],"./tg4x.json":[87454,6019],"./tidbit.json":[60386,7961],"./totem.json":[43439,4013],"./two_percent_milk.json":[67150,2124],"./waterfowl.json":[14194,7190],"./waytools_textblade.json":[41823,48],"./zmk_uno.json":[71578,1319],"./zodiark.json":[12069,7266]};function o(t){if(!r.o(n,t))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=n[t],o=e[0];return r.e(e[1]).then((function(){return r.t(o,19)}))}o.keys=function(){return Object.keys(n)},o.id=25105,t.exports=o}}]);
+//# sourceMappingURL=ClipboardPicker.4e657b54905e67c8d4c7.js.map \ No newline at end of file
diff --git a/ClipboardPicker.4e657b54905e67c8d4c7.js.LICENSE.txt b/ClipboardPicker.4e657b54905e67c8d4c7.js.LICENSE.txt
new file mode 100644
index 0000000..ae386fb
--- /dev/null
+++ b/ClipboardPicker.4e657b54905e67c8d4c7.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
diff --git a/FileSystemPicker.f9f86125519201406ff7.js b/FileSystemPicker.f9f86125519201406ff7.js
new file mode 100644
index 0000000..04cbf19
--- /dev/null
+++ b/FileSystemPicker.f9f86125519201406ff7.js
@@ -0,0 +1,3 @@
+/*! For license information please see FileSystemPicker.f9f86125519201406ff7.js.LICENSE.txt */
+(self.webpackChunkapp=self.webpackChunkapp||[]).push([[4218],{74433:function(t,e,r){"use strict";r.r(e),r.d(e,{default:function(){return je}});var n=r(50361),o=r.n(n),i=r(67294),a=r(79066),c=r(33295),u=r.n(c),l=r(29866);function s(t){return{warningFlags:t.warningFlags,layers:t.layers.length,behaviors:t.behaviors.length,combos:t.combos.length,macros:t.macros.length}}var f=r(41051);function h(t){return new Promise(((e,r)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>r(t.error)}))}let p;function y(){return p||(p=function(t,e){const r=indexedDB.open("keyval-store");r.onupgradeneeded=()=>r.result.createObjectStore(e);const n=h(r);return(t,r)=>n.then((n=>r(n.transaction(e,t).objectStore(e))))}(0,"keyval")),p}function d(t,e=y()){return e("readonly",(e=>h(e.get(t))))}function v(t,e,r=y()){return r("readwrite",(r=>(r.put(e,t),h(r.transaction))))}var m=r(97168),b=r(85893);function g(t){return g="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},g(t)}function w(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function j(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?w(Object(r),!0).forEach((function(e){x(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):w(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function x(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==g(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==g(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===g(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function O(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return k(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?k(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var E="KEYMAP_EDITOR_IDB_FS_KEYMAP_HANDLES",S="KEYMAP_EDITOR_IDB_FS_KEYMAP_SELECTED_HANDLE_INDEX",L=function(){return d(E).then(A)},_=function(t){return v(E,t)},P=function(t){return v(S,t)};function A(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).map((function(t){return t.handle?t:{handle:t,metadata:null}}))}var I=function(){return{keymapHandles:[],selectedHandleIndex:null,activeKeymap:{handleIndex:null,keymapRaw:null,keymapParsed:null,metadataParsed:null},importModalOpen:!1,feedbackModalOpen:!1,pendingImports:null}},C=(0,m.oM)({name:"filesystem-picker",initialState:I,reducers:{openImportModal:function(t){t.importModalOpen=!0},closeImportModal:function(t){t.importModalOpen=!1},openFeedbackModal:function(t){t.feedbackModalOpen=!0},closeFeedbackModal:function(t){t.feedbackModalOpen=!1},selectFilesForImport:function(t,e){var r=e.payload.handles;t.pendingImports=r},updatedHandles:function(t,e){t.keymapHandles=e.payload.handles},initHandles:function(t,e){var r=e.payload.handles,n=void 0===r?[]:r;t.keymapHandles=n},selectHandle:function(t,e){t.selectedHandleIndex=e.payload.index},selectKeymap:function(t,e){var r=e.payload,n=r.handleIndex,o=r.keymapRaw,i=r.keymapParsed,a=r.metadataParsed;t.activeKeymap={handleIndex:n,keymapRaw:o,keymapParsed:i,metadataParsed:a}},updateActiveKeymap:function(t,e){var r=e.payload,n=r.keymapParsed,o=r.keymapRaw;t.activeKeymap.keymapParsed=n,t.activeKeymap.keymapRaw=o}}});var T=(0,i.createContext)([{},{}]);function F(t){var e=t.children,r=O(function(){var t,e=O((0,i.useReducer)(C.reducer,null,I),2),r=e[0],n=(t=e[1],(0,i.useMemo)((function(){return Object.keys(C.actions).reduce((function(e,r){return e[r]=function(){var e;return t((e=C.actions)[r].apply(e,arguments))},e}),{})}),[t]));return[r,n]}(),2),n=r[0],o=r[1];return(0,b.jsx)(T.Provider,{value:[n,o],children:e})}function N(t){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},N(t)}function M(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function G(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?M(Object(r),!0).forEach((function(e){D(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):M(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function D(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==N(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==N(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===N(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function K(){K=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof h?e:h,a=Object.create(i.prototype),c=new E(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function h(){}function p(){}function y(){}var d={};u(d,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(d=m);var b=y.prototype=h.prototype=Object.create(d);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==N(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=x(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:L}}function L(){return{value:void 0,done:!0}}return p.prototype=y,n(b,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:p,configurable:!0}),p.displayName=u(y,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Z(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function Y(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Z(i,n,o,a,c,"next",t)}function c(t){Z(i,n,o,a,c,"throw",t)}a(void 0)}))}}function H(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function R(t){var e=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return H(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?H(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,i.useContext)(T),2)[1],r=e.openImportModal,n=e.selectFilesForImport,o=(0,i.useCallback)(Y(K().mark((function t(){var e;return K().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,window.showOpenFilePicker({mode:"readwrite",multiple:!0,excludeAcceptAllOption:!0,types:[{accept:{"text/plain":[".keymap"]}}]});case 2:e=t.sent,n({handles:e}),r();case 5:case"end":return t.stop()}}),t)}))),[r,n]);return(0,b.jsxs)("button",G(G({onClick:o},t),{},{children:[(0,b.jsx)(f.Z,{name:"file-import"})," Import Keymaps"]}))}var U=r(91892);function B(t){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},B(t)}function q(t){return function(t){if(Array.isArray(t))return tt(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||Q(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function $(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==B(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==B(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===B(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function J(){J=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof h?e:h,a=Object.create(i.prototype),c=new E(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function h(){}function p(){}function y(){}var d={};u(d,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(d=m);var b=y.prototype=h.prototype=Object.create(d);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==B(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=x(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:L}}function L(){return{value:void 0,done:!0}}return p.prototype=y,n(b,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:p,configurable:!0}),p.displayName=u(y,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function W(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function V(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){W(i,n,o,a,c,"next",t)}function c(t){W(i,n,o,a,c,"throw",t)}a(void 0)}))}}function X(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||Q(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Q(t,e){if(t){if("string"==typeof t)return tt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tt(t,e):void 0}}function tt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var et={mode:"read"};function rt(){var t=X((0,i.useContext)(T),2),e=t[0],r=e.keymapHandles,n=e.selectedHandleIndex,o=t[1],a=o.selectHandle,c=o.selectKeymap,s=(0,i.useMemo)((function(){return r.map((function(t,e){return{id:e,name:t.handle.name}}))}),[r]),f=(0,i.useCallback)(function(){var t=V(J().mark((function t(e){return J().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,P(e.id);case 2:a({index:e.id});case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[a]);(0,i.useEffect)((function(){var t=n,e=r[t];if(e){var o=e.handle;V(J().mark((function r(){var n,i,a,s,f;return J().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,o.queryPermission(et);case 2:if(r.t1=r.sent,r.t0="granted"!==r.t1,!r.t0){r.next=9;break}return r.next=7,o.requestPermission(et);case 7:r.t2=r.sent,r.t0="granted"!==r.t2;case 9:if(!r.t0){r.next=11;break}return r.abrupt("return");case 11:return n=o.name.replace(".keymap",""),r.next=14,o.getFile();case 14:return i=r.sent,r.next=17,i.text();case 17:return a=r.sent,r.prev=18,r.next=21,u()(a);case 21:return s=r.sent,r.next=24,it(e);case 24:f=r.sent,c({handleIndex:t,keymapRaw:a,keymapParsed:s,metadataParsed:f}),r.next=32;break;case 28:throw r.prev=28,r.t3=r.catch(18),h=n,(0,l.Kz)("FILESYSTEM_PARSE_ERROR",{keyboard:h}),r.t3;case 32:case"end":return r.stop()}var h}),r,null,[[18,28]])})))()}}),[r,n,c]);var h=(0,i.useMemo)((function(){return s[n]}),[s,n]);return(0,b.jsx)(U.Z,{value:h,options:s,onChange:f,getOptionLabel:function(t){return t.name},getOptionValue:function(t){return t.id},formatOptionLabel:nt,children:(0,b.jsx)(R,{style:{width:"100%"}})})}function nt(t,e){return"value"===e.context?t.name:(0,b.jsx)(ot,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?z(Object(r),!0).forEach((function(e){$(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):z(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},t))}function ot(t){var e=t.id,r=t.name,n=X((0,i.useContext)(T),2),o=n[0].keymapHandles,a=n[1].updatedHandles,c=(0,i.useCallback)(function(){var t=V(J().mark((function t(n){var i,c;return J().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n.stopPropagation(),i='Remove "'.concat(r,'"? This operation cannot be undone.'),window.confirm(i)){t.next=4;break}return t.abrupt("return");case 4:return(c=q(o)).splice(e,1),t.next=8,_(c);case 8:a({handles:c});case 9:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),[e,r,o,a]);return(0,b.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",gap:"10px",alignItems:"center"},children:[r||(0,b.jsx)("em",{children:"[unnamed]"})," ",(0,b.jsx)(f.Z,{title:"Delete keyboard",name:"times-circle",style:{cursor:"pointer",fontSize:"80%"},onClick:c})]})}function it(t){return at.apply(this,arguments)}function at(){return(at=V(J().mark((function t(e){var n,o,i,a;return J().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=e.handle,o=e.custom,i=n.name.replace(".keymap",""),a=null==o?void 0:o.id,null==o||!o.metadata){t.next=5;break}return t.abrupt("return",o.metadata);case 5:return t.abrupt("return",r(25690)("./".concat(a||i,".json")));case 6:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var ct=r(98553),ut=r(27926),lt=r(96186),st=r(64261),ft=r(42507);function ht(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||pt(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function pt(t,e){if(t){if("string"==typeof t)return yt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?yt(t,e):void 0}}function yt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var dt,vt=[{id:"custom",name:"Custom..."}].concat(function(t){if(Array.isArray(t))return yt(t)}(dt=Object.values(ct))||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(dt)||pt(dt)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());function mt(t){var e=t.name,r=t.onSelect,n=t.onCancel,o=ht((0,i.useState)(null),2),a=o[0],c=o[1],u=ht((0,i.useState)({raw:"",parsed:null}),2),l=u[0],s=u[1],f=a&&("custom"!==a.id||l.parsed),h=(0,i.useCallback)((function(){"custom"===a.id?r({metadata:l.parsed}):r({id:a.id})}),[r,a,l]);return(0,b.jsx)(st.Z,{onDismiss:n,children:(0,b.jsxs)(lt.Z,{dismissText:null,style:{maxWidth:"640px"},children:[(0,b.jsxs)("h2",{children:["Identify ",e]}),(0,b.jsxs)("p",{children:["This keymap couldn't be matched up with a known ZMK keyboard by name. Please select the appropriate keyboard or select ",(0,b.jsx)("em",{children:"Custom..."})," and provide your own keyboard metadata."]}),(0,b.jsx)(U.Z,{value:a,onChange:c,options:vt,getOptionValue:function(t){return t.id},getOptionLabel:function(t){return t.name}}),"custom"===(null==a?void 0:a.id)&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("h3",{children:"Custom metadata"}),(0,b.jsx)(ft.Z,{value:l.raw,onChange:s})]}),(0,b.jsxs)(lt.k,{children:[(0,b.jsx)(ut.Z,{onClick:h,disabled:!f,children:"Confirm"}),(0,b.jsx)(ut.Z,{secondary:!0,onClick:n,children:"Cancel"})]})]})})}var bt=r(93379),gt=r.n(bt),wt=r(7795),jt=r.n(wt),xt=r(90569),Ot=r.n(xt),kt=r(3565),Et=r.n(kt),St=r(19216),Lt=r.n(St),_t=r(44589),Pt=r.n(_t),At=r(46635),It={};It.styleTagTransform=Pt(),It.setAttributes=Et(),It.insert=Ot().bind(null,"head"),It.domAPI=jt(),It.insertStyleElement=Lt(),gt()(At.Z,It);var Ct=At.Z&&At.Z.locals?At.Z.locals:void 0;function Tt(t){return Tt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tt(t)}function Ft(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Nt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ft(Object(r),!0).forEach((function(e){Mt(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ft(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function Mt(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==Tt(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==Tt(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===Tt(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Gt(){Gt=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof h?e:h,a=Object.create(i.prototype),c=new E(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function h(){}function p(){}function y(){}var d={};u(d,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(d=m);var b=y.prototype=h.prototype=Object.create(d);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==Tt(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=x(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:L}}function L(){return{value:void 0,done:!0}}return p.prototype=y,n(b,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:p,configurable:!0}),p.displayName=u(y,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function Dt(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Ht(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return a=t.done,t},e:function(t){c=!0,i=t},f:function(){try{a||null==r.return||r.return()}finally{if(c)throw i}}}}function Kt(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function Zt(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Kt(i,n,o,a,c,"next",t)}function c(t){Kt(i,n,o,a,c,"throw",t)}a(void 0)}))}}function Yt(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||Ht(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ht(t,e){if(t){if("string"==typeof t)return Rt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Rt(t,e):void 0}}function Rt(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function Ut(){var t=Yt((0,i.useContext)(T),2),e=t[0].pendingImports,r=t[1],n=r.closeImportModal,o=r.updatedHandles,a=Yt((0,i.useState)({}),2),c=a[0],u=a[1],s=(0,i.useMemo)((function(){return e.filter((function(t){return zt(t.name)||t.name in c}))}),[e,c]),f=(0,i.useMemo)((function(){return e.filter((function(t){return!s.includes(t)}))}),[e,s]),h=(0,i.useCallback)(Zt(Gt().mark((function t(){var e,r,i,a,u,f,h,p,y;return Gt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,L();case 2:e=t.sent,r=Dt(s),t.prev=4,r.s();case 6:if((i=r.n()).done){t.next=16;break}return a=i.value,u=c[a.name],f={handle:a,custom:u},t.next=12,Bt(e,a);case 12:(h=t.sent)?Object.assign(h,f):e.push(f);case 14:t.next=6;break;case 16:t.next=21;break;case 18:t.prev=18,t.t0=t.catch(4),r.e(t.t0);case 21:return t.prev=21,r.f(),t.finish(21);case 24:return t.next=26,_(e);case 26:o({handles:e}),n(),p=Dt(s);try{for(p.s();!(y=p.n()).done;)d=y.value.name.replace(".keymap",""),(0,l.Kz)("FILESYSTEM_ADD_KEYBOARD",{keyboard:d})}catch(t){p.e(t)}finally{p.f()}case 30:case"end":return t.stop()}var d}),t,null,[[4,18,21,24]])}))),[c,s,o,n]),p=(0,i.useCallback)((function(){n()}),[n]),y=(0,i.useCallback)((function(t){u((function(e){return Nt(Nt({},e),{},Mt({},t.name,t))}))}),[u]);return(0,b.jsx)(st.Z,{children:(0,b.jsxs)(lt.Z,{dismissText:null,children:[(0,b.jsx)("h2",{children:"Importing Keymaps"}),(0,b.jsx)("h3",{children:"Keymap files ready to be imported"}),(0,b.jsx)("ul",{children:e.map((function(t,e){return(0,b.jsx)("li",{children:(0,b.jsx)($t,{value:t,onIdentify:y,custom:c[t.name]})},e)}))}),f.length>0&&(0,b.jsx)("p",{children:(0,b.jsx)("em",{children:"Some keymap files could not be matched with known keyboards and will not be imported. This is a work in progress and in the future you will have the option to import your own metadata file."})}),(0,b.jsxs)("div",{style:{textAlign:"center"},children:[(0,b.jsx)(ut.Z,{onClick:h,children:"Continue"}),(0,b.jsx)(ut.Z,{onClick:p,secondary:!0,children:"Cancel"})]})]})})}function Bt(t,e){return qt.apply(this,arguments)}function qt(){return(qt=Zt(Gt().mark((function t(e,r){var n,o,i;return Gt().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=Dt(e),t.prev=1,n.s();case 3:if((o=n.n()).done){t.next=11;break}return i=o.value,t.next=7,i.handle.isSameEntry(r);case 7:if(!t.sent){t.next=9;break}return t.abrupt("return",i);case 9:t.next=3;break;case 11:t.next=16;break;case 13:t.prev=13,t.t0=t.catch(1),n.e(t.t0);case 16:return t.prev=16,n.f(),t.finish(16);case 19:case"end":return t.stop()}}),t,null,[[1,13,16,19]])})))).apply(this,arguments)}function zt(t){return t.replace(".keymap","")in ct}function $t(t){var e,r=t.value,n=t.onIdentify,o=t.custom,a=Yt((0,st.X)(),3),c=a[0],u=a[1],l=a[2],s=o||zt(r.name),h=(0,i.useCallback)((function(t){n(Nt({name:r.name},t)),l()}),[r,n,l]);return(0,b.jsxs)(b.Fragment,{children:[s?(0,b.jsx)(f.Z,{name:"check",style:{color:"mediumseagreen"}}):(0,b.jsx)(f.Z,{name:"question",style:{color:"firebrick"}})," ",r.name," ",!s&&(0,b.jsx)("button",{onClick:u,children:"Identify keyboard"})," ",o&&(0,b.jsxs)("span",{className:Ct.pendingImportIdentifiedCustom,children:["(as ",null!==(e=o.id)&&void 0!==e?e:"custom",")"]}),c&&(0,b.jsx)(mt,{name:r.name,onSelect:h,onCancel:l})]})}var Jt=r(18446),Wt=r.n(Jt),Vt=r(95998),Xt=r(83858),Qt=r.n(Xt);function te(t){return te="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},te(t)}function ee(){ee=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof h?e:h,a=Object.create(i.prototype),c=new E(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function h(){}function p(){}function y(){}var d={};u(d,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(d=m);var b=y.prototype=h.prototype=Object.create(d);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==te(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=x(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:L}}function L(){return{value:void 0,done:!0}}return p.prototype=y,n(b,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:p,configurable:!0}),p.displayName=u(y,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function re(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function ne(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){re(i,n,o,a,c,"next",t)}function c(t){re(i,n,o,a,c,"throw",t)}a(void 0)}))}}function oe(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var ie=function(t){var e;return null===(e=t.keyboard)||void 0===e?void 0:e.keymap},ae={mode:"readwrite"};function ce(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function ue(){var t,e,r,n,c,h,p=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return ce(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ce(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((t=(0,Vt.v9)(ie),e=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return oe(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?oe(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,i.useContext)(T),2),r=e[0],n=r.keymapHandles,c=r.activeKeymap,h=e[1].updateActiveKeymap,[(0,i.useMemo)((function(){return t&&(null==c?void 0:c.keymapParsed)&&!Wt()(t,c.keymapParsed)}),[t,c]),(0,i.useCallback)(ne(ee().mark((function e(){var r,i,f,p,y,d,v,m,b;return ee().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n[c.handleIndex]){e.next=3;break}return e.abrupt("return");case 3:return e.next=5,r.handle.queryPermission(ae);case 5:if(e.t1=e.sent,e.t0="granted"!==e.t1,!e.t0){e.next=12;break}return e.next=10,r.handle.requestPermission(ae);case 10:e.t2=e.sent,e.t0="granted"!==e.t2;case 12:if(!e.t0){e.next=14;break}return e.abrupt("return");case 14:return i=c.metadataParsed,f=i.id,p=i.layouts,y=(0,a.getPreferredLayout)(t,p),d=y.layout,e.next=18,Qt()(d,o()(t),c.keymapRaw);case 18:return v=e.sent,e.next=21,u()(v);case 21:return m=e.sent,e.next=24,r.handle.createWritable();case 24:return b=e.sent,e.next=27,b.write(v);case 27:b.close(),h({keymapParsed:m,keymapRaw:v}),g=f,w=m,(0,l.Kz)("FILESYSTEM_UPDATE_KEYMAP",{keyboard:g,keymap:s(w)});case 30:case"end":return e.stop()}var g,w}),e)}))),[t,n,c,h])]),2),y=p[0],d=p[1];return(0,b.jsx)("button",{disabled:!y,title:y?"Save changes":"No changes",onClick:d,children:(0,b.jsx)(f.Z,{name:"file-export"})})}function le(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function se(){var t=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return le(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?le(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,i.useContext)(T),2)[1].openFeedbackModal;return(0,b.jsxs)("button",{onClick:t,children:[(0,b.jsx)(f.Z,{name:"comments"})," Feedback?"]})}var fe=r(2968),he=r(80031);function pe(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var ye=(0,b.jsx)(fe.Z,{external:!0,href:"https://github.com/nickcoutsos/keymap-editor/discussions/106",children:"Feature Discussion"});function de(){var t=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return pe(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?pe(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,i.useContext)(T),2)[1].closeFeedbackModal;return(0,b.jsx)(st.Z,{onDismiss:t,children:(0,b.jsxs)(lt.Z,{dismissText:null,children:[(0,b.jsx)("h2",{children:"Beta Feedback"}),(0,b.jsx)("p",{children:"Hey, feel free to ignore this!"}),(0,b.jsx)("p",{children:"I just launched this feature very quickly, I hope it's working well for you! Your feedback, if you can spare a moment, would be immensely helpful to me. This feature is completely browser-based which means I have no server analytics, so even just letting me know that it worked would be cool!"}),(0,b.jsx)("p",{children:"Good ways to contact me:"}),(0,b.jsxs)("ul",{children:[(0,b.jsxs)("li",{children:["Ping me at ",he.W8]}),(0,b.jsxs)("li",{children:["File an issue at ",he.qM]}),(0,b.jsxs)("li",{children:["Join the ",ye]})]}),(0,b.jsx)("div",{style:{textAlign:"center"},children:(0,b.jsx)(ut.Z,{onClick:t,children:"Back to editor"})})]})})}function ve(t){return ve="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ve(t)}function me(){me=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{u({},"")}catch(t){u=function(t,e,r){return t[e]=r}}function l(t,e,r,o){var i=e&&e.prototype instanceof h?e:h,a=Object.create(i.prototype),c=new E(o||[]);return n(a,"_invoke",{value:j(t,r,c)}),a}function s(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var f={};function h(){}function p(){}function y(){}var d={};u(d,i,(function(){return this}));var v=Object.getPrototypeOf,m=v&&v(v(S([])));m&&m!==e&&r.call(m,i)&&(d=m);var b=y.prototype=h.prototype=Object.create(d);function g(t){["next","throw","return"].forEach((function(e){u(t,e,(function(t){return this._invoke(e,t)}))}))}function w(t,e){function o(n,i,a,c){var u=s(t[n],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==ve(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){o("next",t,a,c)}),(function(t){o("throw",t,a,c)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return o("throw",t,a,c)}))}c(u.arg)}var i;n(this,"_invoke",{value:function(t,r){function n(){return new e((function(e,n){o(t,r,e,n)}))}return i=i?i.then(n,n):n()}})}function j(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var c=x(a,r);if(c){if(c===f)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=s(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}function x(t,e){var r=e.method,n=t.iterator[r];if(void 0===n)return e.delegate=null,"throw"===r&&t.iterator.return&&(e.method="return",e.arg=void 0,x(t,e),"throw"===e.method)||"return"!==r&&(e.method="throw",e.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var o=s(n,t.iterator,e.arg);if("throw"===o.type)return e.method="throw",e.arg=o.arg,e.delegate=null,f;var i=o.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function k(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function E(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function S(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:L}}function L(){return{value:void 0,done:!0}}return p.prototype=y,n(b,"constructor",{value:y,configurable:!0}),n(y,"constructor",{value:p,configurable:!0}),p.displayName=u(y,c,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,y):(t.__proto__=y,u(t,c,"GeneratorFunction")),t.prototype=Object.create(b),t},t.awrap=function(t){return{__await:t}},g(w.prototype),u(w.prototype,a,(function(){return this})),t.AsyncIterator=w,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new w(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},g(b),u(b,c,"Generator"),u(b,i,(function(){return this})),u(b,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},t.values=S,E.prototype={constructor:E,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(k),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var c=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),k(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;k(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:S(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function be(t,e,r,n,o,i,a){try{var c=t[i](a),u=c.value}catch(t){return void r(t)}c.done?e(u):Promise.resolve(u).then(n,o)}function ge(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var we,je=(we=function(t){var e=t.onSelect,r=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,a,c=[],u=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=i.call(r)).done)&&(c.push(n.value),c.length!==e);u=!0);}catch(t){l=!0,o=t}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(l)throw o}}return c}}(t,e)||function(t,e){if(t){if("string"==typeof t)return ge(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?ge(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}((0,i.useContext)(T),2),n=r[0],c=n.keymapHandles,u=n.activeKeymap,f=n.importModalOpen,h=n.feedbackModalOpen,p=r[1].initHandles;return(0,i.useEffect)((function(){var t;(t=me().mark((function t(){var e,r;return me().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,L();case 2:return e=t.sent,t.next=5,d(S);case 5:r=t.sent,p({handles:e,activeHandle:r});case 7:case"end":return t.stop()}}),t)})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){be(i,n,o,a,c,"next",t)}function c(t){be(i,n,o,a,c,"throw",t)}a(void 0)}))})()}),[p]),(0,i.useEffect)((function(){if(u.keymapParsed){var t=u.keymapParsed,r=u.metadataParsed,n=r.id,i=r.layouts,c=(0,a.getPreferredLayout)(t,i);e(o()({source:"filesystem",keyboard:r.id,layoutMetadata:c,layout:c.layout,keymap:t,sensors:r.sensors||[]})),function(t,e){(0,l.Kz)("FILESYSTEM_SELECT_KEYBOARD",{keyboard:t,keymap:s(e)})}(n,t)}}),[u,e]),(0,b.jsxs)(b.Fragment,{children:[c.length>0?(0,b.jsx)(rt,{}):(0,b.jsx)(R,{}),(null==u?void 0:u.keymapParsed)&&(0,b.jsx)(ue,{}),f&&(0,b.jsx)(Ut,{}),(0,b.jsx)(se,{}),h&&(0,b.jsx)(de,{})]})},function(t){return(0,b.jsx)(F,{children:(0,b.jsx)(we,j({},t))})})},46635:function(t,e,r){"use strict";var n=r(87537),o=r.n(n),i=r(23645),a=r.n(i)()(o());a.push([t.id,".JpK1HqfxKomBeK4ZrmFR {\n font-style: italic;\n font-size: 90%;\n opacity: 0.7;\n}\n","",{version:3,sources:["webpack://./src/Sources/FileSystem/styles.module.css"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,cAAc;EACd,YAAY;AACd",sourcesContent:[".pendingImportIdentifiedCustom {\n font-style: italic;\n font-size: 90%;\n opacity: 0.7;\n}\n"],sourceRoot:""}]),a.locals={pendingImportIdentifiedCustom:"JpK1HqfxKomBeK4ZrmFR"},e.Z=a},25690:function(t,e,r){var n={"./a_dux.json":[73158,4843],"./adv360pro.json":[41843,2259],"./bat43.json":[60888,1038],"./bdn9_rev2.json":[94591,1522],"./bfo9000.json":[19684,4962],"./boardsource3x4.json":[88602,4260],"./boardsource5x12.json":[8058,5356],"./bt60_v1.json":[92628,3826],"./bt60_v1_hs.json":[84628,2838],"./bt60_v2.json":[9417,504],"./bt65_v1.json":[88455,5422],"./bt75_v1.json":[25397,2921],"./chalice.json":[7936,4830],"./clog.json":[31638,2169],"./contra.json":[42718,8409],"./corne.json":[26453,7038],"./corneish_zen.json":[39757,4213],"./cradio.json":[62089,8451],"./crbn.json":[48945,4959],"./dao.json":[31889,9213],"./eek.json":[63072,2757],"./elephant42.json":[83634,7997],"./ergodash.json":[68972,47],"./ergodox.json":[75507,1325],"./eternal_keypad.json":[69416,4415],"./eternal_keypad_lefty.json":[56785,2284],"./ferris_rev02.json":[97365,1145],"./fifi.json":[12667,7346],"./fourier.json":[14446,7905],"./glove80.json":[68676,1206],"./helix.json":[73549,7316],"./hillside46.json":[85162,3804],"./hummingbird.json":[98321,3394],"./hw75_keyboard.json":[80629,3283],"./iris.json":[55262,9134],"./jian.json":[46228,944],"./jiran.json":[14465,9707],"./jorne.json":[19151,2308],"./kbdfans_tofu65_v2.json":[7450,320],"./knob_goblin.json":[71497,6528],"./kyria.json":[34458,8642],"./kyria_rev2.json":[70165,4156],"./kyria_rev3.json":[33669,3895],"./le_chiffre_stm32.json":[14123,5435],"./leeloo.json":[53677,6158],"./leeloo_micro.json":[88615,6274],"./leeloo_rev2.json":[32871,8301],"./lily58.json":[21479,6324],"./lotus58.json":[63918,5],"./lpgalaxy_blank_slate.json":[73838,3504],"./m60.json":[53132,4070],"./microdox.json":[56792,8813],"./murphpad.json":[8662,8374],"./naked60.json":[79707,5810],"./nibble.json":[58244,2939],"./nice60.json":[41501,7218],"./osprette.json":[13467,7110],"./pancake.json":[19011,630],"./planck_rev6.json":[55991,8284],"./preonic_rev3.json":[47308,5533],"./qaz.json":[46923,6360],"./quefrency.json":[23956,5272],"./rchoc.json":[27788,9546],"./redox.json":[17104,1616],"./reviung34.json":[66147,3755],"./reviung41.json":[71414,327],"./reviung5.json":[31009,1718],"./reviung53.json":[48596,9115],"./romac.json":[15683,2135],"./romac_plus.json":[55318,3039],"./s40nc.json":[56036,3197],"./scylla.json":[88127,3762],"./slicemk_ergodox.json":[5086,9699],"./snap.json":[24380,8415],"./sofle.json":[45082,8729],"./splitkb_aurora_corne.json":[20216,9351],"./splitkb_aurora_helix.json":[66850,6709],"./splitkb_aurora_lily58.json":[2674,5634],"./splitkb_aurora_sofle.json":[40194,639],"./splitkb_aurora_sweep.json":[9738,5891],"./splitreus62.json":[47003,1081],"./tg4x.json":[87454,6019],"./tidbit.json":[60386,7961],"./totem.json":[43439,4013],"./two_percent_milk.json":[67150,2124],"./waterfowl.json":[14194,7190],"./waytools_textblade.json":[41823,48],"./zmk_uno.json":[71578,1319],"./zodiark.json":[12069,7266]};function o(t){if(!r.o(n,t))return Promise.resolve().then((function(){var e=new Error("Cannot find module '"+t+"'");throw e.code="MODULE_NOT_FOUND",e}));var e=n[t],o=e[0];return r.e(e[1]).then((function(){return r.t(o,19)}))}o.keys=function(){return Object.keys(n)},o.id=25690,t.exports=o}}]);
+//# sourceMappingURL=FileSystemPicker.f9f86125519201406ff7.js.map \ No newline at end of file
diff --git a/FileSystemPicker.f9f86125519201406ff7.js.LICENSE.txt b/FileSystemPicker.f9f86125519201406ff7.js.LICENSE.txt
new file mode 100644
index 0000000..ae386fb
--- /dev/null
+++ b/FileSystemPicker.f9f86125519201406ff7.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
diff --git a/index.html b/index.html
index 6f03510..f26b2f2 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="https://nickcoutsos.github.io/keymap-editor/keycap.png"/><link href="https://nickcoutsos.github.io/keymap-editor/app.css" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Keymap Editor</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Nunito:wght@700&family=Quicksand:wght@500&display=swap" rel="stylesheet"><link rel="me" href="https://mastodon.social/@nickcoutsos"><meta name="description" content="A web-based editor for ZMK Keymaps"><meta property="og:url" content="https://nickcoutsos.github.io/keymap-editor"><meta property="og:type" content="website"><meta property="og:title" content="Keymap Editor"><meta property="og:description" content="A web-based editor for ZMK Keymaps"><meta property="og:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="nickcoutsos.github.io"><meta property="twitter:url" content="https://nickcoutsos.github.io/keymap-editor"><meta name="twitter:title" content="Keymap Editor"><meta name="twitter:description" content="A web-based editor for ZMK Keymaps"><meta name="twitter:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><script defer="defer" src="runtime.427ee0fe6c95c55092d6.js"></script><script defer="defer" src="shared.70f7537c6109bac788c0.js"></script><script defer="defer" src="vendors.fc7fc484474dee29ffb7.js"></script><script defer="defer" src="react.0b7d83a58560e2038899.js"></script><script defer="defer" src="main.8ea5f8656d9a1ae8d8d0.js"></script></head><body data-theme="system"><noscript>You need to enable JavaScript to run this app.</noscript><div id="app-root"></div><div id="modal-root"></div></body></html> \ No newline at end of file
+<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="https://nickcoutsos.github.io/keymap-editor/keycap.png"/><link href="https://nickcoutsos.github.io/keymap-editor/app.css" rel="stylesheet"><meta name="viewport" content="width=device-width,initial-scale=1"/><title>Keymap Editor</title><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Nunito:wght@700&family=Quicksand:wght@500&display=swap" rel="stylesheet"><link rel="me" href="https://mastodon.social/@nickcoutsos"><meta name="description" content="A web-based editor for ZMK Keymaps"><meta property="og:url" content="https://nickcoutsos.github.io/keymap-editor"><meta property="og:type" content="website"><meta property="og:title" content="Keymap Editor"><meta property="og:description" content="A web-based editor for ZMK Keymaps"><meta property="og:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><meta name="twitter:card" content="summary_large_image"><meta property="twitter:domain" content="nickcoutsos.github.io"><meta property="twitter:url" content="https://nickcoutsos.github.io/keymap-editor"><meta name="twitter:title" content="Keymap Editor"><meta name="twitter:description" content="A web-based editor for ZMK Keymaps"><meta name="twitter:image" content="https://nickcoutsos.github.io/keymap-editor/og-banner.png"><script defer="defer" src="runtime.cb65ce885097e43c17d8.js"></script><script defer="defer" src="shared.70f7537c6109bac788c0.js"></script><script defer="defer" src="vendors.fc7fc484474dee29ffb7.js"></script><script defer="defer" src="react.0b7d83a58560e2038899.js"></script><script defer="defer" src="main.8ea5f8656d9a1ae8d8d0.js"></script></head><body data-theme="system"><noscript>You need to enable JavaScript to run this app.</noscript><div id="app-root"></div><div id="modal-root"></div></body></html> \ No newline at end of file
diff --git a/keyboard-data/ferris_rev02-json-metadata.3ba1710ba96c69125c0d.js b/keyboard-data/ferris_rev02-json-metadata.3ba1710ba96c69125c0d.js
new file mode 100644
index 0000000..cef355e
--- /dev/null
+++ b/keyboard-data/ferris_rev02-json-metadata.3ba1710ba96c69125c0d.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[1145],{97365:function(o){o.exports=JSON.parse('{"id":"ferris_rev02","name":"Ferris 0.2","layouts":{"transform":{"name":"transform","layout":[{"row":0,"col":0,"x":0,"y":1.09},{"row":0,"col":1,"x":0.97,"y":0.4},{"row":0,"col":2,"x":1.95,"y":0},{"row":0,"col":3,"x":2.92,"y":0.31},{"row":0,"col":4,"x":3.89,"y":0.46},{"row":0,"col":6,"x":6.49,"y":0.46},{"row":0,"col":7,"x":7.46,"y":0.31},{"row":0,"col":8,"x":8.43,"y":0},{"row":0,"col":9,"x":9.41,"y":0.4},{"row":0,"col":10,"x":10.38,"y":1.09},{"row":1,"col":0,"x":0,"y":2.06},{"row":1,"col":1,"x":0.97,"y":1.37},{"row":1,"col":2,"x":1.95,"y":0.97},{"row":1,"col":3,"x":2.92,"y":1.29},{"row":1,"col":4,"x":3.89,"y":1.43},{"row":1,"col":6,"x":6.49,"y":1.43},{"row":1,"col":7,"x":7.46,"y":1.29},{"row":1,"col":8,"x":8.43,"y":0.97},{"row":1,"col":9,"x":9.41,"y":1.37},{"row":1,"col":10,"x":10.38,"y":2.06},{"row":2,"col":0,"x":0,"y":3.03},{"row":2,"col":1,"x":0.97,"y":2.34},{"row":2,"col":2,"x":1.95,"y":1.94},{"row":2,"col":3,"x":2.92,"y":2.26},{"row":2,"col":4,"x":3.89,"y":2.4},{"row":2,"col":6,"x":6.49,"y":2.4},{"row":2,"col":7,"x":7.46,"y":2.26},{"row":2,"col":8,"x":8.43,"y":1.94},{"row":2,"col":9,"x":9.41,"y":2.34},{"row":2,"col":10,"x":10.38,"y":3.03},{"row":3,"col":3,"x":3.46,"y":3.41,"r":-345,"rx":3.96,"ry":3.91},{"row":3,"col":4,"x":4.46,"y":3.85,"r":-330,"rx":4.96,"ry":4.35},{"row":3,"col":6,"x":5.92,"y":3.85,"r":-30,"rx":6.42,"ry":4.35},{"row":3,"col":7,"x":6.93,"y":3.41,"r":-15,"rx":7.43,"ry":3.91}]}},"sensors":[]}')}}]); \ No newline at end of file
diff --git a/keyboard-data/fifi-json-metadata.33f7f3b0a264f0cc161f.js b/keyboard-data/fifi-json-metadata.33f7f3b0a264f0cc161f.js
new file mode 100644
index 0000000..c3cba54
--- /dev/null
+++ b/keyboard-data/fifi-json-metadata.33f7f3b0a264f0cc161f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[7346],{12667:function(o){o.exports=JSON.parse('{"id":"fifi","name":"Fifi","layouts":{"LAYOUT":{"layout":[{"row":0,"col":0,"x":0,"y":0.947},{"row":0,"col":1,"x":1.003,"y":0.316},{"row":0,"col":2,"x":2.005,"y":0},{"row":0,"col":3,"x":3.008,"y":0.342},{"row":0,"col":4,"x":4.011,"y":0.474},{"row":0,"col":6,"x":7.658,"y":0.474},{"row":0,"col":7,"x":8.661,"y":0.342},{"row":0,"col":8,"x":9.664,"y":0},{"row":0,"col":9,"x":10.666,"y":0.316},{"row":0,"col":10,"x":11.669,"y":0.947},{"row":1,"col":0,"x":0,"y":1.95},{"row":1,"col":1,"x":1.003,"y":1.318},{"row":1,"col":2,"x":2.005,"y":1.003},{"row":1,"col":3,"x":3.008,"y":1.345},{"row":1,"col":4,"x":4.011,"y":1.476},{"row":1,"col":6,"x":7.658,"y":1.476},{"row":1,"col":7,"x":8.661,"y":1.345},{"row":1,"col":8,"x":9.664,"y":1.003},{"row":1,"col":9,"x":10.666,"y":1.318},{"row":1,"col":10,"x":11.669,"y":1.95},{"row":2,"col":0,"x":0,"y":2.953},{"row":2,"col":1,"x":1.003,"y":2.322},{"row":2,"col":2,"x":2.005,"y":2.005},{"row":2,"col":3,"x":3.008,"y":2.347},{"row":2,"col":4,"x":4.011,"y":2.479},{"row":2,"col":6,"x":7.658,"y":2.479},{"row":2,"col":7,"x":8.661,"y":2.347},{"row":2,"col":8,"x":9.664,"y":2.005},{"row":2,"col":9,"x":10.666,"y":2.322},{"row":2,"col":10,"x":11.669,"y":2.953},{"row":3,"col":2,"x":2.389,"y":3.35},{"row":3,"col":3,"x":3.504,"y":3.497,"r":15,"rx":4.004,"ry":3.997},{"row":3,"col":4,"x":4.669,"y":3.46,"r":30,"rx":5.169,"ry":4.21,"h":1.5},{"row":3,"col":6,"x":7,"y":3.46,"r":-30,"rx":7.5,"ry":4.21,"h":1.5},{"row":3,"col":7,"x":8.165,"y":3.497,"r":-15,"rx":8.665,"ry":3.997},{"row":3,"col":8,"x":9.28,"y":3.35}]}}}')}}]); \ No newline at end of file
diff --git a/keyboard-data/rchoc-json-metadata.d046cae6a69d88dcff61.js b/keyboard-data/rchoc-json-metadata.d046cae6a69d88dcff61.js
new file mode 100644
index 0000000..71b5c35
--- /dev/null
+++ b/keyboard-data/rchoc-json-metadata.d046cae6a69d88dcff61.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[9546],{27788:function(l){l.exports=JSON.parse('{"id":"rchoc","name":"ruby-choccy","layouts":{"default_transform":{"name":"default_transform","layout":[{"label":"Q","row":0,"col":0,"x":0,"y":1.05},{"label":"W","row":0,"col":1,"x":1,"y":0.35},{"label":"E","row":0,"col":2,"x":2,"y":0},{"label":"R","row":0,"col":3,"x":3,"y":0.4},{"label":"T","row":0,"col":4,"x":4,"y":0.55},{"label":"Y","row":0,"col":5,"x":8.5,"y":0.55},{"label":"U","row":0,"col":6,"x":9.5,"y":0.4},{"label":"I","row":0,"col":7,"x":10.5,"y":0},{"label":"O","row":0,"col":8,"x":11.5,"y":0.35},{"label":"P","row":0,"col":9,"x":12.5,"y":1.05},{"label":"A","row":1,"col":0,"x":0,"y":2.05},{"label":"S","row":1,"col":1,"x":1,"y":1.35},{"label":"D","row":1,"col":2,"x":2,"y":1},{"label":"F","row":1,"col":3,"x":3,"y":1.4},{"label":"G","row":1,"col":4,"x":4,"y":1.55},{"label":"H","row":1,"col":5,"x":8.5,"y":1.55},{"label":"J","row":1,"col":6,"x":9.5,"y":1.4},{"label":"K","row":1,"col":7,"x":10.5,"y":1},{"label":"L","row":1,"col":8,"x":11.5,"y":1.35},{"label":";","row":1,"col":9,"x":12.5,"y":2.05},{"label":"Z","row":2,"col":0,"x":0,"y":3.05},{"label":"X","row":2,"col":1,"x":1,"y":2.35},{"label":"C","row":2,"col":2,"x":2,"y":2},{"label":"V","row":2,"col":3,"x":3,"y":2.4},{"label":"B","row":2,"col":4,"x":4,"y":2.55},{"label":"N","row":2,"col":5,"x":8.5,"y":2.55},{"label":"M","row":2,"col":6,"x":9.5,"y":2.4},{"label":",","row":2,"col":7,"x":10.5,"y":2},{"label":".","row":2,"col":8,"x":11.5,"y":2.35},{"label":"/","row":2,"col":9,"x":12.5,"y":3.05},{"label":"L3","row":3,"col":2,"x":2.7,"y":3.6},{"label":"L2","row":3,"col":3,"x":3.7,"y":3.6,"r":15,"rx":3.7,"ry":4.6},{"label":"L1","row":3,"col":4,"x":4.9,"y":3.65,"r":30,"rx":4.9,"ry":4.65},{"label":"R1","row":3,"col":5,"x":7.6,"y":3.65,"r":-30,"rx":8.6,"ry":4.65},{"label":"R2","row":3,"col":6,"x":8.8,"y":3.6,"r":-15,"rx":9.8,"ry":4.6},{"label":"R3","row":3,"col":7,"x":9.8,"y":3.6}]}},"sensors":[]}')}}]); \ No newline at end of file
diff --git a/keyboard-data/scylla-json-metadata.fc058b25263250d09cf7.js b/keyboard-data/scylla-json-metadata.fc058b25263250d09cf7.js
new file mode 100644
index 0000000..d0e6a3b
--- /dev/null
+++ b/keyboard-data/scylla-json-metadata.fc058b25263250d09cf7.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[3762],{88127:function(r){r.exports=JSON.parse('{"id":"bastardkb_scylla","name":"Scylla","layouts":{"default_transform":{"name":"default_transform","layout":[{"row":0,"col":0,"x":0,"y":0.5,"r":0},{"row":0,"col":1,"x":1,"y":0.5,"r":0},{"row":0,"col":2,"x":2,"y":0.1,"r":0},{"row":0,"col":3,"x":3,"y":0.1,"r":0},{"row":0,"col":4,"x":4,"y":0.2,"r":0},{"row":0,"col":5,"x":5,"y":0.2,"r":0},{"row":0,"col":8,"x":10,"y":0.2,"r":0},{"row":0,"col":9,"x":11,"y":0.2,"r":0},{"row":0,"col":10,"x":12,"y":0.1,"r":0},{"row":0,"col":11,"x":13,"y":0.1,"r":0},{"row":0,"col":12,"x":14,"y":0.5,"r":0},{"row":0,"col":13,"x":15,"y":0.5,"r":0},{"row":1,"col":0,"x":0,"y":1.5,"r":0},{"row":1,"col":1,"x":1,"y":1.5,"r":0},{"row":1,"col":2,"x":2,"y":1.1,"r":0},{"row":1,"col":3,"x":3,"y":1.1,"r":0},{"row":1,"col":4,"x":4,"y":1.2,"r":0},{"row":1,"col":5,"x":5,"y":1.2,"r":0},{"row":1,"col":8,"x":10,"y":1.2,"r":0},{"row":1,"col":9,"x":11,"y":1.2,"r":0},{"row":1,"col":10,"x":12,"y":1.1,"r":0},{"row":1,"col":11,"x":13,"y":1.1,"r":0},{"row":1,"col":12,"x":14,"y":1.5,"r":0},{"row":1,"col":13,"x":15,"y":1.5,"r":0},{"row":2,"col":0,"x":0,"y":2.5,"r":0},{"row":2,"col":1,"x":1,"y":2.5,"r":0},{"row":2,"col":2,"x":2,"y":2.1,"r":0},{"row":2,"col":3,"x":3,"y":2.1,"r":0},{"row":2,"col":4,"x":4,"y":2.2,"r":0},{"row":2,"col":5,"x":5,"y":2.2,"r":0},{"row":2,"col":8,"x":10,"y":2.2,"r":0},{"row":2,"col":9,"x":11,"y":2.2,"r":0},{"row":2,"col":10,"x":12,"y":2.1,"r":0},{"row":2,"col":11,"x":13,"y":2.1,"r":0},{"row":2,"col":12,"x":14,"y":2.5,"r":0},{"row":2,"col":13,"x":15,"y":2.5,"r":0},{"row":3,"col":0,"x":0,"y":3.5,"r":0},{"row":3,"col":1,"x":1,"y":3.5,"r":0},{"row":3,"col":2,"x":2,"y":3.1,"r":0},{"row":3,"col":3,"x":3,"y":3.1,"r":0},{"row":3,"col":4,"x":4,"y":3.2,"r":0},{"row":3,"col":5,"x":5,"y":3.2,"r":0},{"row":3,"col":8,"x":10,"y":3.2,"r":0},{"row":3,"col":9,"x":11,"y":3.2,"r":0},{"row":3,"col":10,"x":12,"y":3.1,"r":0},{"row":3,"col":11,"x":13,"y":3.1,"r":0},{"row":3,"col":12,"x":14,"y":3.5,"r":0},{"row":3,"col":13,"x":15,"y":3.5,"r":0},{"row":4,"col":3,"x":4.2,"y":4.3,"r":12},{"row":4,"col":4,"x":5.5,"y":4.6,"r":30},{"row":4,"col":5,"x":6.6,"y":5.2,"r":38},{"row":4,"col":8,"x":8.4,"y":5.8,"r":-38},{"row":4,"col":9,"x":9.5,"y":5.1,"r":-30},{"row":4,"col":10,"x":10.8,"y":4.6,"r":-12},{"row":5,"col":4,"x":4.9,"y":5.7,"r":30},{"row":5,"col":5,"x":6.1,"y":6.2,"r":38},{"row":5,"col":8,"x":8.9,"y":6.8,"r":-38},{"row":5,"col":9,"x":10.1,"y":6.2,"r":-30}]}},"sensors":[]}')}}]); \ No newline at end of file
diff --git a/runtime.cb65ce885097e43c17d8.js b/runtime.cb65ce885097e43c17d8.js
new file mode 100644
index 0000000..7532179
--- /dev/null
+++ b/runtime.cb65ce885097e43c17d8.js
@@ -0,0 +1,2 @@
+!function(){"use strict";var e,a,d,c,o,s={},t={};function l(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return s[e].call(d.exports,d,d.exports,l),d.loaded=!0,d.exports}l.m=s,e=[],l.O=function(a,d,c,o){if(!d){var s=1/0;for(k=0;k<e.length;k++){d=e[k][0],c=e[k][1],o=e[k][2];for(var t=!0,b=0;b<d.length;b++)(!1&o||s>=o)&&Object.keys(l.O).every((function(e){return l.O[e](d[b])}))?d.splice(b--,1):(t=!1,o<s&&(s=o));if(t){e.splice(k--,1);var f=c();void 0!==f&&(a=f)}}return a}o=o||0;for(var k=e.length;k>0&&e[k-1][2]>o;k--)e[k]=e[k-1];e[k]=[d,c,o]},l.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(a,{a:a}),a},d=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},l.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var o=Object.create(null);l.r(o);var s={};a=a||[null,d({}),d([]),d(d)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((function(a){s[a]=function(){return e[a]}}));return s.default=function(){return e},l.d(o,s),o},l.d=function(e,a){for(var d in a)l.o(a,d)&&!l.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},l.f={},l.e=function(e){return Promise.all(Object.keys(l.f).reduce((function(a,d){return l.f[d](e,a),a}),[]))},l.u=function(e){return({5:"keyboard-data/lotus58-json-metadata",47:"keyboard-data/ergodash-json-metadata",48:"keyboard-data/waytools_textblade-json-metadata",68:"locales/keys_ro-keycodes",129:"locales/keys_lt_ibm-keycodes",308:"locales/keys_be-keycodes",320:"keyboard-data/kbdfans_tofu65_v2-json-metadata",327:"keyboard-data/reviung41-json-metadata",389:"locales/keys_mn-keycodes",398:"locales/keys_lo-keycodes",421:"locales/keys_bg_latin-keycodes",422:"locales/keys_th_pattachote-keycodes",504:"keyboard-data/bt60_v2-json-metadata",539:"locales/keys_khb_tai_le-keycodes",578:"locales/keys_sr_latin-keycodes",630:"keyboard-data/pancake-json-metadata",639:"keyboard-data/splitkb_aurora_sofle-json-metadata",749:"locales/keys_dyu-keycodes",771:"locales/keys_es-keycodes",814:"locales/keys_tzm-keycodes",819:"locales/keys_fa_standard-keycodes",833:"locales/keys_it_142-keycodes",920:"locales/keys_pl_programmers-keycodes",944:"keyboard-data/jian-json-metadata",951:"locales/keys_kk-keycodes",1038:"keyboard-data/bat43-json-metadata",1081:"keyboard-data/splitreus62-json-metadata",1145:"keyboard-data/ferris_rev02-json-metadata",1156:"locales/keys_man-keycodes",1206:"keyboard-data/glove80-json-metadata",1315:"locales/keys_bs-keycodes",1319:"keyboard-data/zmk_uno-json-metadata",1325:"keyboard-data/ergodox-json-metadata",1343:"locales/keys_en_gb_extended-keycodes",1480:"locales/keys_bn-keycodes",1507:"locales/keys_de_ibm-keycodes",1514:"locales/keys_fr_swiss-keycodes",1522:"keyboard-data/bdn9_rev2-json-metadata",1545:"locales/keys_el-keycodes",1547:"locales/keys_ml-keycodes",1616:"keyboard-data/redox-json-metadata",1671:"locales/keys_lv-keycodes",1718:"keyboard-data/reviung5-json-metadata",1720:"locales/keys_sk_qwerty-keycodes",1803:"ConditionalLayerEditorTab",1808:"locales/keys_de_belgian_period-keycodes",1872:"locales/keys_pt_abnt-keycodes",1936:"locales/keys_ckb-keycodes",2015:"locales/keys_hy-keycodes",2124:"keyboard-data/two_percent_milk-json-metadata",2135:"keyboard-data/romac-json-metadata",2169:"keyboard-data/clog-json-metadata",2231:"locales/keys_sr-keycodes",2247:"locales/keys_mr-keycodes",2259:"keyboard-data/adv360pro-json-metadata",2271:"locales/keys_nl_period-keycodes",2275:"locales/keys_tk-keycodes",2284:"keyboard-data/eternal_keypad_lefty-json-metadata",2308:"keyboard-data/jorne-json-metadata",2383:"locales/keys_or-keycodes",2408:"locales/keys_bg-keycodes",2602:"locales/keys_uk-keycodes",2619:"locales/keys_syr_phonetic-keycodes",2621:"locales/keys_ka_qwerty-keycodes",2650:"locales/keys_ar_azerty-keycodes",2659:"locales/keys_cs_qwerty-keycodes",2757:"keyboard-data/eek-json-metadata",2787:"locales/keys_gu-keycodes",2835:"locales/keys_tmh-keycodes",2838:"keyboard-data/bt60_v1_hs-json-metadata",2921:"keyboard-data/bt75_v1-json-metadata",2939:"keyboard-data/nibble-json-metadata",2947:"locales/keys_us_international-keycodes",2982:"locales/keys_ha-keycodes",3033:"locales/keys_es_variation-keycodes",3039:"keyboard-data/romac_plus-json-metadata",3194:"locales/keys_mn_phags_pa-keycodes",3197:"keyboard-data/s40nc-json-metadata",3203:"GithubPicker",3268:"locales/keys_km_nida-keycodes",3282:"locales/keys_bo-keycodes",3283:"keyboard-data/hw75_keyboard-json-metadata",3322:"locales/keys_hu_101-keycodes",3359:"locales/keys_de-keycodes",3362:"locales/keys_dvorak_right-keycodes",3393:"locales/keys_tg-keycodes",3394:"keyboard-data/hummingbird-json-metadata",3474:"locales/keys_ug-keycodes",3504:"keyboard-data/lpgalaxy_blank_slate-json-metadata",3618:"locales/keys_haw-keycodes",3647:"locales/keys_az_standard-keycodes",3687:"locales/keys_ka-keycodes",3735:"locales/keys_cs_programmers-keycodes",3743:"locales/keys_el_220-keycodes",3746:"locales/keys_lt_standard-keycodes",3755:"keyboard-data/reviung34-json-metadata",3762:"keyboard-data/scylla-json-metadata",3804:"keyboard-data/hillside46-json-metadata",3826:"keyboard-data/bt60_v1-json-metadata",3880:"locales/keys_mt_101-keycodes",3893:"locales/keys_dz-keycodes",3895:"keyboard-data/kyria_rev3-json-metadata",3983:"LocalPicker",4013:"keyboard-data/totem-json-metadata",4036:"locales/keys_ta-keycodes",4070:"keyboard-data/m60-json-metadata",4156:"keyboard-data/kyria_rev2-json-metadata",4213:"keyboard-data/corneish_zen-json-metadata",4218:"FileSystemPicker",4257:"locales/keys_tn-keycodes",4260:"keyboard-data/boardsource3x4-json-metadata",4263:"locales/keys_el_319-keycodes",4289:"locales/keys_gn-keycodes",4296:"locales/keys_el_polytonic-keycodes",4415:"keyboard-data/eternal_keypad-json-metadata",4443:"locales/keys_bug-keycodes",4465:"locales/keys_it-keycodes",4491:"locales/keys_fr_canadian_french-keycodes",4595:"locales/keys_bg_phonetic-keycodes",4670:"locales/keys_tr_f-keycodes",4688:"locales/keys_chr_phonetic-keycodes",4717:"locales/keys_sv_sami-keycodes",4733:"DemoPicker",4777:"locales/keys_syr-keycodes",4795:"locales/keys_ro_programmers-keycodes",4821:"locales/keys_pt-keycodes",4824:"locales/keys_te-keycodes",4830:"keyboard-data/chalice-json-metadata",4843:"keyboard-data/a_dux-json-metadata",4887:"locales/keys_lis_standard-keycodes",4892:"locales/keys_ne-keycodes",4919:"locales/keys_nb-keycodes",4959:"keyboard-data/crbn-json-metadata",4962:"keyboard-data/bfo9000-json-metadata",5015:"locales/keys_my-keycodes",5074:"WarningsTab",5272:"keyboard-data/quefrency-json-metadata",5303:"locales/keys_tr-keycodes",5332:"locales/keys_ba-keycodes",5354:"locales/keys_srb-keycodes",5356:"keyboard-data/boardsource5x12-json-metadata",5422:"keyboard-data/bt65_v1-json-metadata",5435:"keyboard-data/le_chiffre_stm32-json-metadata",5485:"locales/keys_dv-keycodes",5533:"keyboard-data/preonic_rev3-json-metadata",5604:"locales/keys_is-keycodes",5606:"locales/keys_lb-keycodes",5634:"keyboard-data/splitkb_aurora_lily58-json-metadata",5708:"ClipboardPicker",5715:"locales/keys_sl-keycodes",5810:"keyboard-data/naked60-json-metadata",5819:"MacroEditorTab",5821:"locales/keys_el_latin_319-keycodes",5840:"locales/keys_iu-keycodes",5842:"locales/keys_khb-keycodes",5868:"BehaviorEditorTab",5891:"keyboard-data/splitkb_aurora_sweep-json-metadata",5991:"locales/keys_non-keycodes",5998:"locales/keys_yo-keycodes",6019:"keyboard-data/tg4x-json-metadata",6049:"locales/keys_ps-keycodes",6157:"locales/keys_dvorak-keycodes",6158:"keyboard-data/leeloo-json-metadata",6184:"locales/keys_de_swiss-keycodes",6274:"keyboard-data/leeloo_micro-json-metadata",6324:"keyboard-data/lily58-json-metadata",6360:"keyboard-data/qaz-json-metadata",6392:"locales/keys_ar-keycodes",6415:"locales/keys_nl-keycodes",6429:"locales/keys_es_latin_american-keycodes",6457:"locales/keys_gd-keycodes",6528:"keyboard-data/knob_goblin-json-metadata",6684:"locales/keys_th-keycodes",6688:"locales/keys_hi-keycodes",6691:"locales/keys_da-keycodes",6709:"keyboard-data/splitkb_aurora_helix-json-metadata",6710:"locales/keys_jv-keycodes",6777:"locales/keys_lv_qwerty-keycodes",6793:"LayerEditorTab",6794:"locales/keys_km-keycodes",6943:"locales/keys_chr-keycodes",7022:"locales/keys_et-keycodes",7038:"keyboard-data/corne-json-metadata",7069:"locales/keys_wo-keycodes",7080:"locales/keys_uz-keycodes",7108:"locales/keys_he_standard-keycodes",7110:"keyboard-data/osprette-json-metadata",7190:"keyboard-data/waterfowl-json-metadata",7218:"keyboard-data/nice60-json-metadata",7228:"locales/keys_uk_enhanced-keycodes",7266:"keyboard-data/zodiark-json-metadata",7289:"locales/keys_sah-keycodes",7292:"locales/keys_ru_phonetic-keycodes",7303:"locales/keys_kl-keycodes",7305:"locales/keys_tt-keycodes",7316:"keyboard-data/helix-json-metadata",7346:"keyboard-data/fifi-json-metadata",7446:"locales/keys_he-keycodes",7495:"locales/keys_en_gb-keycodes",7554:"locales/keys_fr-keycodes",7568:"locales/keys_mt-keycodes",7603:"locales/keys_el_latin_220-keycodes",7686:"locales/keys_dsb_extended-keycodes",7771:"locales/keys_lt-keycodes",7803:"locales/keys_sk-keycodes",7892:"locales/keys_ig-keycodes",7905:"keyboard-data/fourier-json-metadata",7950:"locales/keys_fr_belgian_period-keycodes",7961:"keyboard-data/tidbit-json-metadata",7994:"locales/keys_vi-keycodes",7997:"keyboard-data/elephant42-json-metadata",8017:"locales/keys_ar_102-keycodes",8019:"locales/keys_se-keycodes",8041:"locales/keys_mk-keycodes",8070:"locales/keys_az-keycodes",8110:"locales/keys_tmh_extended-keycodes",8119:"locales/keys_hi_traditional-keycodes",8173:"locales/keys_sq-keycodes",8185:"locales/keys_ga-keycodes",8207:"locales/keys_cs-keycodes",8216:"locales/keys_ur-keycodes",8242:"locales/keys_az_cyrillic-keycodes",8251:"locales/keys_fr_canadian_standard-keycodes",8284:"keyboard-data/planck_rev6-json-metadata",8301:"keyboard-data/leeloo_rev2-json-metadata",8302:"locales/keys_en_india-keycodes",8307:"locales/keys_nso-keycodes",8315:"ComboEditorTab",8374:"keyboard-data/murphpad-json-metadata",8391:"locales/keys_pl-keycodes",8409:"keyboard-data/contra-json-metadata",8415:"keyboard-data/snap-json-metadata",8427:"locales/keys_ko-keycodes",8438:"locales/keys_la_old_italic-keycodes",8451:"keyboard-data/cradio-json-metadata",8568:"locales/keys_mn_traditional-keycodes",8599:"locales/keys_fa-keycodes",8636:"locales/keys_nb_sami-keycodes",8642:"keyboard-data/kyria-json-metadata",8649:"locales/keys_sv-keycodes",8699:"locales/keys_se_finland_sweden-keycodes",8706:"locales/keys_fi-keycodes",8709:"locales/keys_kn-keycodes",8729:"keyboard-data/sofle-json-metadata",8793:"locales/keys_dvorak_left-keycodes",8796:"locales/keys_hu-keycodes",8813:"keyboard-data/microdox-json-metadata",8855:"locales/keys_fr_belgian-keycodes",8945:"locales/keys_lis-keycodes",8956:"locales/keys_bm-keycodes",8971:"locales/keys_el_latin-keycodes",8986:"locales/keys_ru-keycodes",9061:"locales/keys_si-keycodes",9081:"locales/keys_lv_standard-keycodes",9082:"locales/keys_as-keycodes",9112:"locales/keys_pt_abnt2-keycodes",9115:"keyboard-data/reviung53-json-metadata",9134:"keyboard-data/iris-json-metadata",9136:"locales/keys_hy_phonetic-keycodes",9142:"locales/keys_bn_inscript-keycodes",9176:"locales/keys_iu_latin-keycodes",9193:"locales/keys_so-keycodes",9213:"keyboard-data/dao-json-metadata",9244:"locales/keys_ky-keycodes",9351:"keyboard-data/splitkb_aurora_corne-json-metadata",9414:"locales/keys_sat-keycodes",9512:"locales/keys_mi-keycodes",9546:"keyboard-data/rchoc-json-metadata",9586:"locales/keys_fo-keycodes",9616:"locales/keys_dsb-keycodes",9619:"locales/keys_de_belgian-keycodes",9698:"locales/keys_ka_ergonomic-keycodes",9699:"keyboard-data/slicemk_ergodox-json-metadata",9707:"keyboard-data/jiran-json-metadata",9866:"locales/keys_fi_sami-keycodes",9893:"locales/keys_got-keycodes",9989:"locales/keys_pa-keycodes"}[e]||e)+"."+{5:"e4e4ffd65cbc4c65ecf1",47:"68ec143ed38bce6cbea4",48:"4d5016148de0c5e27d12",68:"7b17882894d827d4a691",129:"93e9e7b55ff4db1b45f4",308:"e7d0c13e3ecc92b49444",320:"e0e22f0d3ac8f761ce0c",327:"2fa7d61410ce114657ae",389:"606dc039dbee5e7de1d4",398:"c8c541aaf844eeda8149",401:"bdae6943931998cef4fd",421:"dbb2c1733f9a7579098e",422:"666bd3a0ce35c4a274ff",504:"08471cae2d972b76b0db",539:"f13efc888eac2aa8e903",578:"04d1220d52840040f60b",630:"6b46117b424a7c066032",639:"ed35220caee82d9a98c9",749:"76b287374b8ae5f7a06c",771:"476e9ba05219d84921f3",814:"4764231c07fa0d0a04f6",819:"d3aa21549ed684a419c3",833:"46444cf657dcf1bb1593",859:"fd2719644987f0c7451d",920:"dc595b5183e9c47ff557",944:"1d97a367f9bc03bebc24",951:"f0042702141cbb2ccabf",1038:"0dd9fa3315bf40184cef",1081:"b7803c34bd0bfa5dafc5",1145:"3ba1710ba96c69125c0d",1156:"bb15c7631776a604bdb7",1206:"6c8cfcdc73375e9ab85d",1315:"0db48f03173200e045f2",1319:"235d28f92c3ebf9de6a7",1325:"130bfa082550dfb7309c",1343:"ee06049f65c14c9be2c5",1480:"0e19ada3b1ed7eae78ef",1507:"8cada04b0e43007bb4be",1514:"649b8ed65f356fa690ac",1522:"51261fedb8ec11fb688b",1545:"b152a1976be0001bfb43",1547:"fd5557effaaa558c9c03",1616:"8ad0b8c64ae606fb9b8a",1671:"6bdbbb20361914659d30",1718:"48c9ef74da6b481e09e7",1720:"3328c6b7c20fbf918852",1803:"347e6e9ad047688b8ef3",1808:"abb32a6fe65c55952158",1872:"719fd6d2cfbc98065faa",1936:"7cca553598a85b9fb048",2015:"1189ea9050bf52385110",2124:"3a4b66bbd69961c6d5c2",2135:"525d812350d5ced6043f",2169:"63ac13cc199c3dc1a8f3",2231:"5080f1cbf58c1317f585",2247:"cc1d4b1cd7cd39cbb429",2259:"bc948c3155b6a0e37bcb",2271:"b737428706ade1ab91ed",2275:"6c3d70cbc0a2a960dede",2284:"88dbffa6a51dab15b0fe",2308:"3dcb94a43fdc92f06e92",2383:"5ed644b5f167e67560da",2408:"49d33aa415e8f4992f21",2602:"d7b17cf5cd894ba30b64",2619:"5153da3fbe85b2f1f7f8",2621:"bd9a8dabd0cd755853b5",2650:"3f3cfa2fa09a2668c59f",2659:"c36d1660242da4a6482d",2757:"7bb49d3d556b1d93c064",2787:"0ac3afacea3c7523fb1c",2835:"551ed1eddb65a0855ec0",2838:"84c69ef5c8dc271afe1d",2921:"174b85b391189048329c",2939:"7a308a62c65bc646f73f",2947:"b87b567c4f703432d58f",2982:"36e9273f2ce6ff4f4673",3033:"b26fcf2e16e386fb33b1",3039:"af983ffea98d132ceba4",3194:"8a08d0da753f48f7f95e",3197:"c76645f1783dc0be1e59",3203:"8966caa8829efcd9cf6d",3268:"f3f0e12f35d6ede0f40f",3282:"01584f37d4d33ad63efb",3283:"12e6956227fc38b1671a",3322:"7ebaf8ec7ac148f4669d",3359:"2b1b7a00d5f5a3f3d4d7",3362:"108c88849c8b60e605f9",3393:"2b68325532554cc8d8ba",3394:"b0af5ee288c25da5c283",3474:"d8e51748742a2c676e34",3504:"9217e0d2eebbbbfb04e1",3618:"d8420dbaf5d768e5d2d4",3647:"6703ed839e825c8771d3",3687:"e750c133ca55d5c6e548",3735:"c9d93c92c6c0423a5416",3743:"ebb2429d5bbde92909c4",3746:"a4deb37dc8a93b498757",3755:"9f2a654f0d9045af7353",3762:"fc058b25263250d09cf7",3804:"ea98e13243cbd23816c3",3826:"97699fa9c0a1372dedb5",3880:"fcaa03e1df43df95ab97",3893:"c7df98614033002329af",3895:"132914156c62a82b3268",3983:"5c3d56d79d864fd80a29",4013:"cb89f5091aba0e288065",4036:"c6e3659928ad2fb6259c",4070:"f616dcb60b78533d6bf0",4156:"3ac284a21e7e7924f35f",4213:"6f4898d50b5338d7300e",4218:"f9f86125519201406ff7",4257:"f5fd10e05ad3d0536453",4260:"7cf189c757bde6655415",4263:"931dcb76dcb966d4c80f",4289:"fa48da5f908e2f1c31fc",4296:"6398e9a1092dbd966cd4",4415:"39fdfb3dfabfb49c9f35",4443:"3d9b42bc9254f6af0784",4465:"f4574a240d1cc776a64d",4491:"85813c1f613b510d8c53",4595:"32f60188d0eaea679456",4670:"c00667ffdde3a68622ab",4688:"31df1ae6ad5f78bd01fc",4717:"abfe395f6284ad19bfcd",4733:"21ad5532a2c2eaf8080f",4777:"2224cbda2741be9da336",4795:"ed0ccd39951359fbbbca",4820:"b6c55aee1c4cd8c91d2c",4821:"ddd40fd58db42a579031",4824:"c7ebcc8f56f74361647e",4830:"e201d6b24b9cb1e2ad99",4843:"fd9113741beefa00f0b5",4887:"f052ae8bfdfdb1d513db",4892:"21ca05f55d2498c46129",4919:"4a12c76edfa94312b0ea",4959:"808a01eda41b51d14bcb",4962:"69a545b5fcc0f7130c05",5015:"0f3a2242ea9f9a42c4f9",5074:"b219616848293106abf3",5272:"c7e0af70b0a8c39034f3",5300:"3fcbe96064ad8e44b108",5303:"a4497d24307a9897e5b5",5332:"777b50e4b114b352d258",5354:"93a522db48b96a4a0579",5356:"1fba1c8cde51e25e2627",5422:"816919c56ffea29156fe",5435:"3b15481768ac1c1af720",5485:"55a0ec07c8abbfe214b4",5533:"c45da345e0fb10fa3770",5604:"f11c3e2dd4430602f243",5606:"8cfe7dc5f09ec96ea95e",5634:"d4e880ef4bc1bdca79dd",5708:"4e657b54905e67c8d4c7",5715:"4ef9b548b6cfc7c605f9",5810:"637b457fc2054bcead5a",5819:"3c5d62aa40186e888a9d",5821:"a4f5e6f31f799696cdaf",5840:"7e4e574c1214010c07dc",5842:"f7c89fd7bf3602a3399e",5868:"1e1afdc05eb1d94188a1",5891:"3076456f65d49468799e",5991:"512b59c58af9c82a47d5",5998:"91c971fb3f5767c3d295",6019:"5a051e1f675329cd7d8c",6049:"a62bb2191cc0eecda711",6157:"bef0dfd9bedd3d83446d",6158:"889d4299cca613161f97",6184:"732ddeb1a32a40e2fc3a",6274:"5630298fa575b0640e66",6324:"1c52c22287b2cac5bded",6360:"13927c112e935b8e10f6",6392:"57575fbb50fccb5094ea",6415:"627e38aee29608a5d6d2",6429:"b9b3578a604e51fa3455",6457:"ba688263a9c85e9843e1",6528:"b29141f3be2170066ee6",6538:"fdff31b58185f951c2a1",6684:"1274b7cfa9914c7663c9",6688:"785926eac6007527226b",6691:"b6cb655f0aa7dcd8787b",6709:"2ec5a994ee66c6b63833",6710:"69f4ed313d19455e88f9",6777:"dab38c8f01434d45eb86",6793:"d12cf532757d552df61c",6794:"aa4330a831430380f7ca",6943:"9c0653724d1cbfa9ed86",7022:"9ece5bc0d21090bf91ad",7038:"84994fde2fafd27c8862",7069:"9929a74e7e92648a0f87",7080:"f083c93705b5e80e4a4e",7108:"906eeacc617750894b22",7110:"a4955e02f5ec94c45697",7190:"c0df8d5fa12d9a44ddb6",7218:"5b518329a6b8d1f99ef2",7228:"0a7f301444940610aa3a",7266:"b1ddb085343413bd0f2f",7289:"2fcc4bbd19c8e23bcfd9",7292:"364542469a1dd2fd041b",7303:"8f0ef5a9295943353ecf",7305:"ac74249c913980666520",7316:"cb79fc24092025f4f331",7346:"33f7f3b0a264f0cc161f",7446:"f26521f672e3d94f3c62",7459:"5951a9e57f5d71a1f6b8",7495:"82936e5baf0e764c1f69",7554:"bdf065db03088c4a4a5d",7568:"d9f3ad26c7b8b70fc1ec",7603:"d2d72bb470a9b2e1ede0",7686:"940990bf96e9413b2e9b",7771:"9942586e9e23d5059127",7803:"8760edf191caa0f69869",7892:"86c938c7b27b9a67ef50",7905:"23f278887548ad32dabd",7950:"6fb177a4414f9a190484",7961:"9a89555a7017f8c7c979",7994:"c160e150f1431807c681",7997:"ec7498e85efc36524556",8017:"4ff440be4782fef561ff",8019:"02f2f252639bb1d459b6",8040:"3fe0313139cb9ad2ef2b",8041:"dae4eea51cfd6e1fbef3",8070:"27f10e0739c78ab95d16",8110:"c132517c950a214d5731",8119:"6b9ca21cd379f8731952",8173:"1776ba2cbbdeb9918f9c",8185:"ece0dc278594eee67cb1",8207:"7e346d396cf1e067b94f",8216:"d37ccb247dce11053578",8242:"3891fea81cc045034ad4",8251:"7bcdee9a73a0eb39baaa",8284:"6555a3d99bf8aa4a85ee",8301:"1b5acae3cec5d2b351b3",8302:"a314012ab607f1b4433f",8307:"e12dd0aad5e6a036ed3b",8315:"fb7b39eae888f425ecc2",8374:"36097a9be925aa82182c",8391:"eb08511c704d549f8237",8409:"f43f0bce73bf9b6a9c36",8415:"1a17db797b8c7966d730",8427:"409e29315cd91dfb038b",8438:"41a503f1b2737d035a74",8451:"ee4fc77b506ae42c350d",8568:"bf0989c363612ba74ac9",8599:"6d9cc65f381ad7900f46",8636:"48c3cab70569554b8655",8642:"18f07547d3f5ddbc5c3b",8649:"519f8992d7c5b42bf4e1",8699:"6d4b2f405c48cf71aa4b",8706:"db5988f190774b8ecd7e",8709:"23a6c924e3535f7d1a2f",8729:"5e7f233ca2746206478d",8780:"1aea7fe8c12a4e07599d",8793:"8ab950b00b5526581a64",8796:"594621d4b7b51b6c639b",8813:"1008878cec3cb3882209",8855:"38f81f640e33d713ea2c",8873:"3ef39b72fbe39e7ca3cd",8945:"d5a920b4e65ee30d8356",8956:"b025b7e50cad64b75370",8971:"f906bba2b2b7e87a8ae0",8986:"4ad17334f3ef911b6b0b",9061:"df8e5e2756a89a473ac0",9081:"b6c8611601548f3554f7",9082:"881f1d74bf2539659516",9112:"7ebcaf2caf566e7902b8",9115:"28bcd2881c7daa45e68a",9134:"ff4f0180e5079649f561",9136:"3249d48fcb94ad9e44a1",9142:"2352f58f23eb8d854a95",9176:"2557b40f7b4fcef345a9",9193:"e2b545b8ea15c0016312",9213:"8e282ed0f8d4cbc40b83",9244:"0e4e64562de0635942ff",9351:"937871a659c22427a634",9414:"0ca3490c33ae15092395",9512:"dc6d783fb73d92e5a7fb",9546:"d046cae6a69d88dcff61",9586:"01151d539dca32e61272",9616:"0a4f102b3e946346e2d6",9619:"b044962c66577434486e",9698:"41ef3f798533a2b1c7cf",9699:"3b15f799029c5854cd71",9707:"7d9b702ab7a66f9882c9",9866:"110121669330cd9e737c",9893:"4ff6eee70cdc1c6e3325",9989:"82394c41d4a4746a6d10"}[e]+".js"},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},c={},o="app:",l.l=function(e,a,d,s){if(c[e])c[e].push(a);else{var t,b;if(void 0!==d)for(var f=document.getElementsByTagName("script"),k=0;k<f.length;k++){var y=f[k];if(y.getAttribute("src")==e||y.getAttribute("data-webpack")==o+d){t=y;break}}t||(b=!0,(t=document.createElement("script")).charset="utf-8",t.timeout=120,l.nc&&t.setAttribute("nonce",l.nc),t.setAttribute("data-webpack",o+d),t.src=e),c[e]=[a];var r=function(a,d){t.onerror=t.onload=null,clearTimeout(n);var o=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),o&&o.forEach((function(e){return e(d)})),a)return a(d)},n=setTimeout(r.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=r.bind(null,t.onerror),t.onload=r.bind(null,t.onload),b&&document.head.appendChild(t)}},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.nmd=function(e){return e.paths=[],e.children||(e.children=[]),e},function(){var e;l.g.importScripts&&(e=l.g.location+"");var a=l.g.document;if(!e&&a&&(a.currentScript&&(e=a.currentScript.src),!e)){var d=a.getElementsByTagName("script");d.length&&(e=d[d.length-1].src)}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),l.p=e}(),function(){l.b=document.baseURI||self.location.href;var e={3666:0};l.f.j=function(a,d){var c=l.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(3666!=a){var o=new Promise((function(d,o){c=e[a]=[d,o]}));d.push(c[2]=o);var s=l.p+l.u(a),t=new Error;l.l(s,(function(d){if(l.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var o=d&&("load"===d.type?"missing":d.type),s=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+o+": "+s+")",t.name="ChunkLoadError",t.type=o,t.request=s,c[1](t)}}),"chunk-"+a,a)}else e[a]=0},l.O.j=function(a){return 0===e[a]};var a=function(a,d){var c,o,s=d[0],t=d[1],b=d[2],f=0;if(s.some((function(a){return 0!==e[a]}))){for(c in t)l.o(t,c)&&(l.m[c]=t[c]);if(b)var k=b(l)}for(a&&a(d);f<s.length;f++)o=s[f],l.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return l.O(k)},d=self.webpackChunkapp=self.webpackChunkapp||[];d.forEach(a.bind(null,0)),d.push=a.bind(null,d.push.bind(d))}(),l.nc=void 0}();
+//# sourceMappingURL=runtime.cb65ce885097e43c17d8.js.map \ No newline at end of file