{"version":3,"file":"component---src-templates-widget-template-js-bfa1780af3554db4a434.js","mappings":"8FAAA,OAuBA,SAAWA,EAAQC,EAAUC,GAE3B,GAAKF,EAAL,CA+HA,IAjHA,IA0GIG,EA1GAC,EAAO,CACT,EAAG,YACH,EAAG,MACH,GAAI,QACJ,GAAI,QACJ,GAAI,OACJ,GAAI,MACJ,GAAI,WACJ,GAAI,MACJ,GAAI,QACJ,GAAI,SACJ,GAAI,WACJ,GAAI,MACJ,GAAI,OACJ,GAAI,OACJ,GAAI,KACJ,GAAI,QACJ,GAAI,OACJ,GAAI,MACJ,GAAI,MACJ,GAAI,OACJ,GAAI,OACJ,IAAK,QAWHC,EAAe,CACjB,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KAaHC,EAAa,CACf,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,EAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,EAAK,IACL,IAAK,IACL,IAAK,IACL,IAAM,IACN,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,MASHC,EAAmB,CACrB,OAAU,MACV,QAAW,OACX,OAAU,QACV,OAAU,MACV,KAAQ,IACR,IAAO,uBAAuBC,KAAKC,UAAUC,UAAY,OAAS,QAiB3DC,EAAI,EAAGA,EAAI,KAAMA,EACxBP,EAAK,IAAMO,GAAK,IAAMA,EAOxB,IAAKA,EAAI,EAAGA,GAAK,IAAKA,EAMpBP,EAAKO,EAAI,IAAMA,EAAEC,WAovBnBC,EAAUC,UAAUC,KAAO,SAAUC,EAAMC,EAAUC,GACnD,IAAIC,EAAOC,KAKX,OAJAJ,EAAOA,aAAgBK,MAAQL,EAAO,CAACA,GAEvCG,EAAKG,cAAcC,KAAKJ,EAAMH,EAAMC,EAAUC,GAEvCC,GAqBTN,EAAUC,UAAUU,OAAS,SAAUR,EAAME,GAE3C,OADWE,KACCL,KAAKQ,KADNH,KACiBJ,GAAM,cAAgBE,IAWpDL,EAAUC,UAAUW,QAAU,SAAUT,EAAME,GAC5C,IAAIC,EAAOC,KAMX,OAJID,EAAKO,WAAWV,EAAO,IAAME,IAC/BC,EAAKO,WAAWV,EAAO,IAAME,GAAQ,GAAIF,GAGpCG,GAWTN,EAAUC,UAAUa,MAAQ,WAC1B,IAAIR,EAAOC,KAGX,OAFAD,EAAKS,WAAa,GAClBT,EAAKO,WAAa,GACXP,GAWTN,EAAUC,UAAUe,aAAe,SAAUC,EAAGC,GAG9C,IAAK,IAAMA,EAAQC,UAAY,KAAKC,QAAQ,gBAAkB,EAC5D,OAAO,EAGT,GAAIC,EAAWH,EANJX,KAMkBe,QAC3B,OAAO,EAST,GAAI,iBAAkBL,GAA+B,mBAAnBA,EAAEM,aAA6B,CAE/D,IAAIC,EAAqBP,EAAEM,eAAe,GAEtCC,IAAuBP,EAAEK,SAC3BJ,EAAUM,GAKd,MAA0B,SAAnBN,EAAQO,SAAyC,UAAnBP,EAAQO,SAA0C,YAAnBP,EAAQO,SAAyBP,EAAQQ,mBAO/G1B,EAAUC,UAAU0B,UAAY,WAC9B,IAAIrB,EAAOC,KACX,OAAOD,EAAKsB,WAAWC,MAAMvB,EAAMwB,YAOrC9B,EAAU+B,YAAc,SAAUC,GAChC,IAAK,IAAIC,KAAOD,EACVA,EAAOE,eAAeD,KACxB1C,EAAK0C,GAAOD,EAAOC,IAIvB3C,EAAe,MAUjBU,EAAUmC,KAAO,WACf,IAAIC,EAAoBpC,EAAUZ,GAElC,IAAK,IAAIiD,KAAUD,EACQ,MAArBC,EAAOC,OAAO,KAChBtC,EAAUqC,GAAU,SAAUA,GAC5B,OAAO,WACL,OAAOD,EAAkBC,GAAQR,MAAMO,EAAmBN,YAF1C,CAIlBO,KAKRrC,EAAUmC,OAEVhD,EAAOa,UAAYA,EAEkBuC,EAAOC,UAC1CD,EAAOC,QAAUxC,QA3hCrB,KAgiCI,aACE,OAAOA,GACR,8BAv4BH,SAASyC,EAAUT,EAAQU,EAAMtC,GAC3B4B,EAAOW,iBACTX,EAAOW,iBAAiBD,EAAMtC,GAAU,GAI1C4B,EAAOY,YAAY,KAAOF,EAAMtC,GAUlC,SAASyC,EAAoB5B,GAE3B,GAAc,YAAVA,EAAEyB,KAAoB,CACxB,IAAII,EAAYC,OAAOC,aAAa/B,EAAEgC,OActC,OAJKhC,EAAEiC,WACLJ,EAAYA,EAAUK,eAGjBL,EAIT,OAAIvD,EAAK0B,EAAEgC,OACF1D,EAAK0B,EAAEgC,OAGZzD,EAAayB,EAAEgC,OACVzD,EAAayB,EAAEgC,OAOjBF,OAAOC,aAAa/B,EAAEgC,OAAOE,cAmFtC,SAASC,EAAYnB,GACnB,MAAc,SAAPA,GAAyB,QAAPA,GAAwB,OAAPA,GAAuB,QAAPA,EAsC5D,SAASoB,EAAgBpB,EAAKqB,EAAWjD,GAavC,OAVKA,IACHA,EAhCJ,WACE,IAAKf,EAGH,IAAK,IAAI2C,KAFT3C,EAAe,GAECC,EAGV0C,EAAM,IAAMA,EAAM,KAIlB1C,EAAK2C,eAAeD,KACtB3C,EAAaC,EAAK0C,IAAQA,GAKhC,OAAO3C,EAeIiE,GAAiBtB,GAAO,UAAY,YAKjC,YAAV5B,GAAwBiD,EAAUE,SACpCnD,EAAS,WAGJA,EA2BT,SAASoD,EAAYC,EAAarD,GAChC,IAAIF,EACA8B,EACAnC,EACAwD,EAAY,GAKhB,IAFAnD,EAxBF,SAAyBuD,GACvB,MAAoB,MAAhBA,EACK,CAAC,MAGVA,EAAcA,EAAYC,QAAQ,SAAU,UACzBC,MAAM,KAkBlBC,CAAgBH,GAElB5D,EAAI,EAAGA,EAAIK,EAAKqD,SAAU1D,EAC7BmC,EAAM9B,EAAKL,GAEPJ,EAAiBuC,KACnBA,EAAMvC,EAAiBuC,IAMrB5B,GAAoB,YAAVA,GAAwBZ,EAAWwC,KAC/CA,EAAMxC,EAAWwC,GACjBqB,EAAUQ,KAAK,UAIbV,EAAYnB,IACdqB,EAAUQ,KAAK7B,GAOnB,MAAO,CACLA,IAAKA,EACLqB,UAAWA,EACXjD,OAJFA,EAASgD,EAAgBpB,EAAKqB,EAAWjD,IAQ3C,SAASgB,EAAWH,EAAS6C,GAC3B,OAAgB,OAAZ7C,GAAoBA,IAAY9B,IAIhC8B,IAAY6C,GAIT1C,EAAWH,EAAQ8C,WAAYD,IAGxC,SAAS/D,EAAUiE,GACjB,IAAI3D,EAAOC,KAGX,GAFA0D,EAAgBA,GAAiB7E,IAE3BkB,aAAgBN,GACpB,OAAO,IAAIA,EAAUiE,GASvB3D,EAAKgB,OAAS2C,EAOd3D,EAAKS,WAAa,GAOlBT,EAAKO,WAAa,GAQlB,IAOIqD,EAPAC,EAAkB,GAelBC,GAAmB,EAOnBC,GAAsB,EAQtBC,GAAsB,EAQ1B,SAASC,EAAgBC,GACvBA,EAAaA,GAAc,GAC3B,IACIvC,EADAwC,GAAkB,EAGtB,IAAKxC,KAAOkC,EACNK,EAAWvC,GACbwC,GAAkB,EAIpBN,EAAgBlC,GAAO,EAGpBwC,IACHH,GAAsB,GAiB1B,SAASI,EAAY5B,EAAWQ,EAAWrC,EAAG0D,EAAcjB,EAAakB,GACvE,IAAI9E,EACAM,EAvTiByE,EAAYC,EAwT7BC,EAAU,GACV1E,EAASY,EAAEyB,KAEf,IAAKpC,EAAKS,WAAW+B,GACnB,MAAO,GAUT,IANc,SAAVzC,GAAqB+C,EAAYN,KACnCQ,EAAY,CAACR,IAKVhD,EAAI,EAAGA,EAAIQ,EAAKS,WAAW+B,GAAWU,SAAU1D,EAInD,GAHAM,EAAWE,EAAKS,WAAW+B,GAAWhD,IAGjC6E,IAAgBvE,EAAS4E,KAAOb,EAAgB/D,EAAS4E,MAAQ5E,EAASwE,QAM3EvE,GAAUD,EAASC,SAWT,YAAVA,IAAyBY,EAAEgE,UAAYhE,EAAEiE,UA3V1BL,EA2VqDvB,EA3VzCwB,EA2VoD1E,EAASkD,UA1VzFuB,EAAWM,OAAOC,KAAK,OAASN,EAAWK,OAAOC,KAAK,OA0V8C,CAMtG,IAAIC,GAAeV,GAAgBvE,EAASkF,OAAS5B,EACjD6B,EAAiBZ,GAAgBvE,EAAS4E,KAAOL,GAAgBvE,EAASwE,OAASA,GAEnFS,GAAeE,IACjBjF,EAAKS,WAAW+B,GAAW0C,OAAO1F,EAAG,GAGvCiF,EAAQjB,KAAK1D,GAIjB,OAAO2E,EAcT,SAASU,EAAcrF,EAAUa,EAAGqE,EAAOI,GAErCpF,EAAKU,aAAaC,EAAGA,EAAEK,QAAUL,EAAE0E,WAAYL,EAAOI,KAI/B,IAAvBtF,EAASa,EAAGqE,KAxVpB,SAAyBrE,GACnBA,EAAE2E,eACJ3E,EAAE2E,iBAIJ3E,EAAE4E,aAAc,EAmVZC,CAAgB7E,GAzUtB,SAA0BA,GACpBA,EAAE8E,gBACJ9E,EAAE8E,kBAIJ9E,EAAE+E,cAAe,EAqUbC,CAAiBhF,IAoGrB,SAASiF,EAAgBjF,GAGA,iBAAZA,EAAEgC,QACXhC,EAAEgC,MAAQhC,EAAEkF,SAGd,IAAIrD,EAAYD,EAAoB5B,GAG/B6B,IAKS,SAAV7B,EAAEyB,MAAmB0B,IAAqBtB,EAK9CxC,EAAKqB,UAAUmB,EAhfnB,SAAyB7B,GACvB,IAAIqC,EAAY,GAkBhB,OAhBIrC,EAAEiC,UACJI,EAAUQ,KAAK,SAGb7C,EAAEmF,QACJ9C,EAAUQ,KAAK,OAGb7C,EAAEiE,SACJ5B,EAAUQ,KAAK,QAGb7C,EAAEgE,SACJ3B,EAAUQ,KAAK,QAGVR,EA6dqB+C,CAAgBpF,GAAIA,GAJ5CmD,GAAmB,GA+BvB,SAASkC,EAAchB,EAAOnF,EAAMC,EAAUC,GAY5C,SAASkG,EAAkBC,GACzB,OAAO,WACLlC,EAAsBkC,IACpBrC,EAAgBmB,GA7BtBmB,aAAavC,GACbA,EAAcwC,WAAWnC,EAAiB,MA0C1C,SAASoC,EAAkB1F,GACzBwE,EAAcrF,EAAUa,EAAGqE,GAKZ,UAAXjF,IACF+D,EAAmBvB,EAAoB5B,IAKzCyF,WAAWnC,EAAiB,IAtC9BJ,EAAgBmB,GAAS,EAkDzB,IAAK,IAAIxF,EAAI,EAAGA,EAAIK,EAAKqD,SAAU1D,EAAG,CACpC,IACI8G,EADU9G,EAAI,IAAMK,EAAKqD,OACGmD,EAAoBJ,EAAkBlG,GAAUoD,EAAYtD,EAAKL,EAAI,IAAIO,QAEzGwG,EAAY1G,EAAKL,GAAI8G,EAAiBvG,EAAQiF,EAAOxF,IAezD,SAAS+G,EAAYnD,EAAatD,EAAUC,EAAQsE,EAAcC,GAEhEtE,EAAKO,WAAW6C,EAAc,IAAMrD,GAAUD,EAG9C,IACI0G,EADApB,GADJhC,EAAcA,EAAYC,QAAQ,OAAQ,MACfC,MAAM,KAI7B8B,EAASlC,OAAS,EACpB8C,EAAc5C,EAAagC,EAAUtF,EAAUC,IAKjDyG,EAAOrD,EAAYC,EAAarD,GAGhCC,EAAKS,WAAW+F,EAAK7E,KAAO3B,EAAKS,WAAW+F,EAAK7E,MAAQ,GAEzDyC,EAAYoC,EAAK7E,IAAK6E,EAAKxD,UAAW,CACpCZ,KAAMoE,EAAKzG,QACVsE,EAAcjB,EAAakB,GAQ9BtE,EAAKS,WAAW+F,EAAK7E,KAAK0C,EAAe,UAAY,QAAQ,CAC3DvE,SAAUA,EACVkD,UAAWwD,EAAKxD,UAChBjD,OAAQyG,EAAKzG,OACb2E,IAAKL,EACLC,MAAOA,EACPU,MAAO5B,KAlPXpD,EAAKsB,WAAa,SAAUkB,EAAWQ,EAAWrC,GAChD,IAEInB,EAFAiH,EAAYrC,EAAY5B,EAAWQ,EAAWrC,GAG9CuD,EAAa,GACbwC,EAAW,EACXC,GAA4B,EAEhC,IAAKnH,EAAI,EAAGA,EAAIiH,EAAUvD,SAAU1D,EAC9BiH,EAAUjH,GAAGkF,MACfgC,EAAWE,KAAKC,IAAIH,EAAUD,EAAUjH,GAAG8E,QAK/C,IAAK9E,EAAI,EAAGA,EAAIiH,EAAUvD,SAAU1D,EAMlC,GAAIiH,EAAUjH,GAAGkF,IAAjB,CASE,GAAI+B,EAAUjH,GAAG8E,OAASoC,EACxB,SAGFC,GAA4B,EAE5BzC,EAAWuC,EAAUjH,GAAGkF,KAAO,EAE/BS,EAAcsB,EAAUjH,GAAGM,SAAUa,EAAG8F,EAAUjH,GAAGwF,MAAOyB,EAAUjH,GAAGkF,UAOtEiC,GACHxB,EAAcsB,EAAUjH,GAAGM,SAAUa,EAAG8F,EAAUjH,GAAGwF,OAyBzD,IAAI8B,EAA+B,YAAVnG,EAAEyB,MAAsB2B,EAE7CpD,EAAEyB,MAAQ4B,GAAwBlB,EAAYN,IAAesE,GAC/D7C,EAAgBC,GAGlBH,EAAsB4C,GAAuC,WAAVhG,EAAEyB,MAkLvDpC,EAAKG,cAAgB,SAAU4G,EAAcjH,EAAUC,GACrD,IAAK,IAAIP,EAAI,EAAGA,EAAIuH,EAAa7D,SAAU1D,EACzC+G,EAAYQ,EAAavH,GAAIM,EAAUC,IAK3CoC,EAAUwB,EAAe,WAAYiC,GAErCzD,EAAUwB,EAAe,UAAWiC,GAEpCzD,EAAUwB,EAAe,QAASiC,IAj3BtC,CAoiCqB,oBAAX/G,OAAyBA,OAAS,KAAwB,oBAAXA,OAAyBC,SAAW,O,+IC3jCzFkI,E,UAEJ,SAASC,IAA2Q,OAA9PA,EAAWC,OAAOC,QAAU,SAAUnG,GAAU,IAAK,IAAIxB,EAAI,EAAGA,EAAIgC,UAAU0B,OAAQ1D,IAAK,CAAE,IAAI4H,EAAS5F,UAAUhC,GAAI,IAAK,IAAImC,KAAOyF,EAAcF,OAAOvH,UAAUiC,eAAexB,KAAKgH,EAAQzF,KAAQX,EAAOW,GAAOyF,EAAOzF,IAAY,OAAOX,GAAkBiG,EAAS1F,MAAMtB,KAAMuB,WAIhT,SAAS6F,EAAWC,GAClB,OAAoB,gBAAoB,MAAOL,EAAS,CACtDM,MAAO,6BACPC,MAAO,GACPC,OAAQ,GACRC,QAAS,aACRJ,GAAQN,IAAUA,EAAqB,gBAAoB,OAAQ,CACpEW,EAAG,qWAIP,ICjBI,EAEJ,SAAS,IAA2Q,OAA9P,EAAWT,OAAOC,QAAU,SAAUnG,GAAU,IAAK,IAAIxB,EAAI,EAAGA,EAAIgC,UAAU0B,OAAQ1D,IAAK,CAAE,IAAI4H,EAAS5F,UAAUhC,GAAI,IAAK,IAAImC,KAAOyF,EAAcF,OAAOvH,UAAUiC,eAAexB,KAAKgH,EAAQzF,KAAQX,EAAOW,GAAOyF,EAAOzF,IAAY,OAAOX,GAAkB,EAASO,MAAMtB,KAAMuB,WAIhT,SAASoG,EAAUN,GACjB,OAAoB,gBAAoB,MAAO,EAAS,CACtDC,MAAO,6BACPC,MAAO,GACPC,OAAQ,GACRC,QAAS,aACRJ,GAAQ,IAAU,EAAqB,gBAAoB,OAAQ,CACpEK,EAAG,mLAIP,ICjBI,EAEJ,SAAS,IAA2Q,OAA9P,EAAWT,OAAOC,QAAU,SAAUnG,GAAU,IAAK,IAAIxB,EAAI,EAAGA,EAAIgC,UAAU0B,OAAQ1D,IAAK,CAAE,IAAI4H,EAAS5F,UAAUhC,GAAI,IAAK,IAAImC,KAAOyF,EAAcF,OAAOvH,UAAUiC,eAAexB,KAAKgH,EAAQzF,KAAQX,EAAOW,GAAOyF,EAAOzF,IAAY,OAAOX,GAAkB,EAASO,MAAMtB,KAAMuB,WAIhT,SAASqG,EAAgBP,GACvB,OAAoB,gBAAoB,MAAO,EAAS,CACtDI,QAAS,YACTF,MAAO,GACPC,OAAQ,IACPH,GAAQ,IAAU,EAAqB,gBAAoB,OAAQ,CACpEK,EAAG,4LAIP,IChBI,EAEJ,SAAS,IAA2Q,OAA9P,EAAWT,OAAOC,QAAU,SAAUnG,GAAU,IAAK,IAAIxB,EAAI,EAAGA,EAAIgC,UAAU0B,OAAQ1D,IAAK,CAAE,IAAI4H,EAAS5F,UAAUhC,GAAI,IAAK,IAAImC,KAAOyF,EAAcF,OAAOvH,UAAUiC,eAAexB,KAAKgH,EAAQzF,KAAQX,EAAOW,GAAOyF,EAAOzF,IAAY,OAAOX,GAAkB,EAASO,MAAMtB,KAAMuB,WAIhT,SAASsG,EAAkBR,GACzB,OAAoB,gBAAoB,MAAO,EAAS,CACtDI,QAAS,YACTF,MAAO,GACPC,OAAQ,IACPH,GAAQ,IAAU,EAAqB,gBAAoB,OAAQ,CACpEK,EAAG,qI,oFCZHX,E,kDAEJ,SAASC,IAA2Q,OAA9PA,EAAWC,OAAOC,QAAU,SAAUnG,GAAU,IAAK,IAAIxB,EAAI,EAAGA,EAAIgC,UAAU0B,OAAQ1D,IAAK,CAAE,IAAI4H,EAAS5F,UAAUhC,GAAI,IAAK,IAAImC,KAAOyF,EAAcF,OAAOvH,UAAUiC,eAAexB,KAAKgH,EAAQzF,KAAQX,EAAOW,GAAOyF,EAAOzF,IAAY,OAAOX,GAAkBiG,EAAS1F,MAAMtB,KAAMuB,WAehT,I,sHCjBe,SAASuG,EAAuB/H,GAC7C,QAAa,IAATA,EACF,MAAM,IAAIgI,eAAe,6DAG3B,OAAOhI,E,2CCIT,SAASiI,EAAUC,EAAWC,GAC5B,IAAID,EAAJ,CACA,IAAIE,EAAQ,IAAIC,MAAM,aAAeF,GAGrC,MAFAC,EAAME,YAAc,EACpBF,EAAMG,KAAO,sBACPH,GAQR,IAAII,EAAuB,kBAO3B,IAMIC,EAAkB,CACpBC,cAAe,IAEbC,EAAiB,UAEjBC,EAAkB,WAkBtB,IAgBIC,EAAW,SAAkBC,GAC/B,OAAOA,GAGT,SAASC,EAAeC,GACtB,IAAIC,EAAwBD,EAAKE,wBAC7BA,OAAoD,IAA1BD,EAAmCJ,EAAWI,EACxEE,EAAUH,EAAKI,OACfC,EAASL,EAAKK,OAElB,SAASC,EAASC,EAAqBC,QACrB,IAAZA,IACFA,EAAU,IAGZ,IAAIC,EA/CR,SAA4BA,GAC1B,MAAoB,mBAATA,EACF,CACLC,aAAcD,EACdE,QAAS,aAGTC,UAAW,cAMRH,EAkCMI,CAAmBN,GAC1BO,EAAQ,GAQZ,SAASC,EAAazC,GACpB,OAAIkC,EAAQQ,SACHR,EAAQQ,SAAS1C,GAGtBmC,EAAKE,QACAF,EAAKE,QAAQrC,GAGf,SAWT,SAASqC,EAAQ1H,EAAQqF,EAAO2C,GAC9B,IAAIC,EAAYV,EAAQW,iBAAmBX,EAAQW,iBAAiBlI,EAAQqF,GAAS4B,EAAwBjH,GAE7G,GAAIuH,EAAQW,oBAAqB,IAAAC,oBAAmBF,GAClD,MAAM,IAAI7B,MAAM,sEAMlB,OAHA,IAAqB4B,EAAUC,EAAW,CACxCG,SAAS,IAEJH,EAGT,IAzEiDA,EAC/CI,EAwEEC,EAA6B,SAAUC,GAazC,SAASD,EAAcjD,GACrB,IAAImD,EAWJ,OATAA,EAAQD,EAAiBpK,KAAKH,KAAMqH,IAAUrH,MACxCyK,MAAQ,CACZC,OAAQ,KACRvC,MAAO,KACPwC,SAAS,EACTZ,SAAUD,EAAazC,IAEzBW,GAAWX,EAAMuD,kBAAoBpB,EAAKqB,YAAa,4DAEnDxD,EAAMuD,mBAEY,IAAhBrB,EAAQuB,MAMZtB,EAAKC,aAAapC,GAAc,OAAE,WAChC,OAAO,QAGTmD,EAAMO,WAEN1D,EAAMuD,iBAAiBI,SAASxB,EAAKG,UAAUtC,KAXtCS,EAAuB0C,MAoBd,IAAhBjB,EAAQuB,MACZtB,EAAKyB,SAAWzB,EAAKyB,QAAQ5D,IAC7BmC,EAAKG,WAAanB,EAAgBC,cAAce,EAAKG,UAAUtC,MAC7DmD,EAAMO,WAGDP,IArDT,OAAeF,EAAeC,GAE9BD,EAAcY,yBAA2B,SAAkC7D,EAAOoD,GAChF,IAAIV,EAAWD,EAAazC,GAE5B,OAAO,OAAS,GAAIoD,EAAO,CACzBV,SAAUA,EAEVY,QAASF,EAAME,SAAWF,EAAMV,WAAaA,KAgDjD,IAAIoB,EAASb,EAAc5K,UAyM3B,OAvMAyL,EAAOC,kBAAoB,WACzBpL,KAAKqL,SAAU,EAEf,IAAIC,EAAgBtL,KAAKuL,WAErBD,GAAiBA,EAAcE,SAAW7C,GAC5C3I,KAAKyL,WAIHzL,KAAKyK,MAAME,SACb3K,KAAK0L,aAITP,EAAOQ,mBAAqB,SAA4BC,EAAWC,GAE7DA,EAAU9B,WAAa/J,KAAKyK,MAAMV,UACpC/J,KAAK0L,aAITP,EAAOW,qBAAuB,WAC5B9L,KAAKqL,SAAU,GAGjBF,EAAOY,aAAe,SAAsBC,EAAWnM,GACjDG,KAAKqL,SACPrL,KAAKiM,SAASD,EAAWnM,IAS7BsL,EAAOe,YAAc,WACnB,OAAOpC,EAAa9J,KAAKqH,QAO3B8D,EAAOI,SAAW,WAChB,OAAO1B,EAAM7J,KAAKkM,gBAOpBf,EAAOM,SAAW,SAAkBU,QACpB,IAAVA,IACFA,OAAQrN,GAGV+K,EAAM7J,KAAKkM,eAAiBC,GAG9BhB,EAAOiB,cAAgB,WACrB,IAAIC,EAASrM,KAEToJ,GACFjD,YAAW,WACTiD,EAAOiD,EAAO5B,MAAMC,OAAQ2B,EAAOhF,WAWzC8D,EAAOJ,SAAW,WAGhB,GAAK/K,KAAKyK,MAAME,QAEhB,IACE,IACID,EAAShB,EADMF,EAAKqB,YAAY7K,KAAKqH,OACNrH,KAAKqH,MAAO2C,GAC/ChK,KAAKyK,MAAMC,OAASA,EACpB1K,KAAKyK,MAAME,SAAU,EACrB,MAAOxC,GACPmE,QAAQnE,MAAM,8FAA+F,CAC3GoE,SAAU/C,EAAKE,QAAQ1J,KAAKqH,OAC5BsC,UAAWH,EAAKG,UAAU3J,KAAKqH,OAC/Bc,MAAOA,EAAQA,EAAMD,QAAUC,IAEjCnI,KAAKyK,MAAMtC,MAAQA,IAQvBgD,EAAOO,UAAY,WACjB,IAAIc,EAASxM,KAETyM,EAAUzM,KAAK0M,eAkBnB,OAjBAD,EAAQE,MAAK,SAAUC,GACrB,IAAIlC,EAAShB,EAAQkD,EAAcJ,EAAOnF,MAAO,CAC/C2C,SAAUA,IAGZwC,EAAOT,aAAa,CAClBrB,OAAQA,EACRC,SAAS,IACR,WACD,OAAO6B,EAAOJ,sBAER,OAAE,SAAUjE,GACpB,OAAOqE,EAAOT,aAAa,CACzB5D,MAAOA,EACPwC,SAAS,OAGN8B,GAQTtB,EAAOuB,aAAe,WACpB,IAAIG,EAAS7M,KAET8M,EAAc9M,KAAKqH,MAGnBA,GAFmByF,EAAYlC,iBAChBkC,EAAYC,cACnB,OAA8BD,EAAa,CAAC,mBAAoB,kBAExEL,EAAUzM,KAAKuL,WAkBnB,OAhBKkB,KACHA,EAAUjD,EAAKC,aAAapC,IACpBmE,OAAS9C,EACjB1I,KAAKyL,SAASgB,GACdA,EAAQE,MAAK,WACXF,EAAQjB,OAxSE,cAyST,SAAUrD,GACXmE,QAAQnE,MAAM,+DAAgE,CAC5EoE,SAAU/C,EAAKE,QAAQmD,EAAOxF,OAC9BsC,UAAWH,EAAKG,UAAUkD,EAAOxF,OACjCc,MAAOA,EAAQA,EAAMD,QAAUC,IAEjCsE,EAAQjB,OAAS7C,MAId8D,GAGTtB,EAAOhC,OAAS,WACd,IAAI6D,EAAehN,KAAKqH,MACpB0F,EAAeC,EAAaD,aAC5BE,EAAeD,EAAaE,SAE5B7F,GADmB2F,EAAapC,kBACxB,OAA8BoC,EAAc,CAAC,eAAgB,WAAY,sBAEjFG,EAAcnN,KAAKyK,MACnBtC,EAAQgF,EAAYhF,MACpBwC,EAAUwC,EAAYxC,QACtBD,EAASyC,EAAYzC,OAEzB,GAAInB,EAAQ6D,WACUpN,KAAKuL,YAAcvL,KAAK0L,aAE1BF,SAAW9C,EAC3B,MAAM1I,KAAK0L,YAIf,GAAIvD,EACF,MAAMA,EAGR,IAAI+E,EAAWD,GAAgB1D,EAAQ2D,UAAY,KAEnD,OAAIvC,EACKuC,EAGFhE,EAAQ,CACbgE,SAAUA,EACVxC,OAAQA,EACRnB,QAASA,EACTlC,OAAO,OAAS,GAAIA,EAAO,CACzBgG,IAAKN,OAKJzC,EAlQwB,CAmQ/B,aAEEgD,GA7UFjD,EAA6B,SAAoChD,GACnE,OAAO,gBAAoBkB,EAAQgF,SAAU,MAAM,SAAUC,GAC3D,OAAO,gBAAoBvD,EAAWhD,OAAOC,OAAO,CAClD0D,iBAAkB4C,GACjBnG,SAL4C4C,EA8UFK,GArUnCmD,cACZpD,EAA2BoD,YAAcxD,EAAUwD,YAAc,sBAG5DpD,GAkUDL,EAAW,cAAiB,SAAU3C,EAAOgG,GAC/C,OAAO,gBAAoBC,EAAuBrG,OAAOC,OAAO,CAC9D6F,aAAcM,GACbhG,OAYL,OAVA2C,EAASyD,YAAc,WAEvBzD,EAASI,QAAU,SAAU/C,GAC3BmC,EAAKC,aAAapC,IAGpB2C,EAAS0D,KAAO,SAAUrG,GACxB,OAAOmC,EAAKC,aAAapC,IAGpB2C,EAST,MAAO,CACLX,SAAUA,EACVsE,KARF,SAAcnE,EAAMD,GAClB,OAAOF,EAASG,GAAM,OAAS,GAAID,EAAS,CAC1C6D,UAAU,OAiBhB,IAAIQ,EAA+B9E,EAAe,CAChDG,wBARF,SAAiC2D,GAE/B,OAAOA,EAAaiB,WAAajB,EAAsB,QAAIA,EAAsB,SAAKA,GAOtFzD,OAAQ,SAAgBJ,GACtB,IAAIkB,EAAYlB,EAAK2B,OACjBrD,EAAQ0B,EAAK1B,MACjB,OAAO,gBAAoB4C,EAAW5C,MAGtCgC,EAAWuE,EAAgBvE,SAC3BsE,EAAOC,EAAgBD,KAIvBG,EAAiChF,EAAe,CAClDM,OAAQ,SAAgBsB,EAAQrD,GAC1BqD,GAAUrD,EAAM0F,eACgB,mBAAvB1F,EAAM0F,aACf1F,EAAM0F,aAAarC,GAEnBrD,EAAM0F,aAAagB,QAAUrD,IAInCvB,OAAQ,SAAgBJ,GACtB,IAAI2B,EAAS3B,EAAK2B,OACdrD,EAAQ0B,EAAK1B,MAEjB,OAAIA,EAAM2G,SACD3G,EAAM2G,SAAStD,GAGjB,QAGPuD,EAAaH,EAAkBzE,SAC/B6E,EAASJ,EAAkBH,KAoF/B,IAAIQ,EAAa9E,EACjB8E,EAAWC,IAAMH,EACJN,EACNS,IAAMF,EACb,ICviBMG,EDwiBN,GCxiB0B,iBAAC,sGACJ,mCADI,cACnBC,EADmB,QAEnBC,EAAQD,EAAOE,SAEfC,cAAN,cAJyB,kBAKlBF,GALkB,4CAQ3B,ICCA,EAT2B,YACzBG,EAAAA,EAAAA,YAAU,WAER,OADA7P,SAAS8P,cAAc,QAAQC,MAAMC,UAAY,SAC1C,WACLhQ,SAAS8P,cAAc,QAAQC,MAAMC,UAAY,YCIjDC,EAAa,CACjBC,QAAS,CACPC,IAAK,EACLC,KAAM,EACNC,MAAO,EACPC,OAAQ,EACRC,OAAQ,EACRC,aAAc,EACdC,QAAS,IA2Cb,EAvCc,SAAC,GAAsD,IAApDtB,EAAmD,EAAnDA,SAAUuB,EAAyC,EAAzCA,oBAAyC,IAApBC,SAAAA,OAAoB,MAAT,GAAS,EAC5DC,GAAWC,EAAAA,EAAAA,eACjBC,IAEA,IAAMC,GAAQC,EAAAA,EAAAA,UACZ,iBAAO,CACLC,MAAO,YAA+B,IAAD,gBAAP,GAAO,GAA3BC,QAAAA,OAA2B,SAC7BC,EAAWP,MAAAA,GAAH,UAAGA,EAAUhF,aAAb,aAAG,EAAiBuF,SAClC,OAAID,GAAWC,GACNC,EAAAA,EAAAA,WAAU,IAGZA,EAAAA,EAAAA,UAASD,GAAYT,GAAuB,IAAK,CACtD9E,MAAO,CACLyF,UAAU,SAKlB,CAACX,EAAqBE,IAGxB,OACE,oBACE,QAAC,KAAD,CAAQU,OAAQC,EAAAA,KAChB,QAAC,IAAD,CAAcX,SAAUA,KACxB,QAAC,IAAiBD,IAClB,QAAC,EAAD,CACEa,QAAQ,EACRzB,MAAOE,EACPwB,eAAgB,kBAAMV,EAAME,MAAM,CAAEC,SAAS,KAC7CQ,aAAa,SAEZvC,EAAS4B,M,uCC/ClB,IAAMY,GAAmB,OAAOC,EAAAA,EAAP,sBAAH,kBACH,SAAAC,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KADhB,KAIhBC,GAAI,+CACK,SAAAH,GAAC,OAAIA,EAAEC,MAAMG,UAAU,KAD5B,uDAOJC,GAAqB,OAAOC,EAAAA,EAAP,sBAAH,sCAIlBC,GAAK,qDAEPC,EAAAA,GAAAA,GAFO,eAGM,SAAAR,GAAC,OAAIA,EAAEC,MAAMG,UAAU,KAH7B,gBAIO,SAAAJ,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KAJ1B,QAQLO,IAAS,uCAqBf,GAnB4B,SAAC,GAAD,IAAGvQ,EAAH,EAAGA,UAAWwQ,EAAd,EAAcA,KAAd,OAC1B,QAACD,GAAD,CAAWvQ,UAAWA,IACpB,QAACqQ,EAAD,2BACA,QAACF,EAAD,CAAoBK,KAAMA,GAA1B,wBACA,QAAC,IAAD,CAASC,KAAK,SAAd,0BACA,QAACb,EAAD,CAAkBY,KAAMA,EAAME,UAAU,KACxC,QAACT,EAAD,uCACkC,KAChC,QAAC,IAAD,CAAMU,QAAQ,OAAOC,GAAG,WAAxB,oBAEQ,IAJV,MAKM,KACJ,QAAC,IAAD,CAAMD,QAAQ,OAAOC,GAAG,aAAxB,qB,mDC1CN,ICHIC,GDGEC,IAAO,+EAIPC,IAAI,sFAKM,SAAAjB,GAAC,OAAIA,EAAEkB,YALb,iCASJC,IAAO,OAAOF,GAAP,sBAAH,aACI,SAAAjB,GAAC,OAAKA,EAAEoB,UAAY,WAAa,aADrC,uBAEa,SAAApB,GAAC,OAAKA,EAAEoB,UAAY,GAAK,MAFtC,SAKJC,IAAQ,OAAOJ,GAAP,sBAAH,aACG,SAAAjB,GAAC,OAAKA,EAAEoB,UAAY,WAAa,aADpC,uBAEY,SAAApB,GAAC,OAAKA,EAAEoB,UAAY,IAAM,IAFtC,SA0BX,GArBiB,SAAC,GAAyD,IAAD,IAAtDF,UAAAA,OAAsD,MAA1C,IAA0C,EAApC5D,EAAoC,EAApCA,SAAUpN,EAA0B,EAA1BA,UAAcyG,GAAY,aACxE,GAAgC2K,EAAAA,EAAAA,UAAS3K,EAAMyK,WAAxCA,EAAP,KAAkBG,EAAlB,KAQA,OANAvD,EAAAA,EAAAA,YAAU,WACJrH,EAAMyK,YAAcA,GACtBG,EAAW5K,EAAMyK,aAElB,CAACzK,EAAMyK,UAAWA,KAGnB,QAACJ,GAAD,CAAS9Q,UAAWA,IAClB,QAACmR,GAAD,CAAOH,UAAWA,EAAWE,UAAWA,GACrC9D,EAAS,KAEZ,QAAC6D,GAAD,CAAMD,UAAWA,EAAWE,UAAWA,GACpC9D,EAAS,M,sBCvClB,SAAS,KAA2Q,OAA9P,GAAW/G,OAAOC,QAAU,SAAUnG,GAAU,IAAK,IAAIxB,EAAI,EAAGA,EAAIgC,UAAU0B,OAAQ1D,IAAK,CAAE,IAAI4H,EAAS5F,UAAUhC,GAAI,IAAK,IAAImC,KAAOyF,EAAcF,OAAOvH,UAAUiC,eAAexB,KAAKgH,EAAQzF,KAAQX,EAAOW,GAAOyF,EAAOzF,IAAY,OAAOX,GAAkB,GAASO,MAAMtB,KAAMuB,WAIhT,SAAS2Q,GAAoB7K,GAC3B,OAAoB,gBAAoB,MAAO,GAAS,CACtDC,MAAO,6BACPC,MAAO,GACPC,OAAQ,GACRC,QAAS,aACRJ,GAAQoK,KAAOA,GAAkB,gBAAoB,IAAK,CAC3DU,KAAM,OACNC,SAAU,WACI,gBAAoB,OAAQ,CAC1C,UAAW,aACXD,KAAM,cACNC,SAAU,UACV1K,EAAG,mCACY,gBAAoB,OAAQ,CAC3C2K,OAAQ,OACR3K,EAAG,6CACY,gBAAoB,OAAQ,CAC3C,UAAW,QACXyK,KAAM,OACNC,SAAU,UACV1K,EAAG,uBCnBP,IAAMyJ,IAAS,qJAOTF,IAAK,iDACG,SAAAP,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KADtB,eAEI,SAAAF,GAAC,OAAIA,EAAEC,MAAMG,UAAU,KAF3B,iBAGM,SAAAJ,GAAC,OAAIA,EAAEC,MAAM2B,YAAYC,QAH/B,KAMLC,IAAa,OAAOC,GAAP,sBAAH,iBAEZvB,EAAAA,GAAAA,GAFY,WAGH,SAAAR,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KAHhB,YAIF,SAAAF,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KAJjB,yCAMF,SAAAF,GAAC,OAAIA,EAAEC,MAAM+B,OAAOC,MAAM,KANxB,qCASF,SAAAjC,GAAC,OAAIA,EAAEC,MAAM+B,OAAOE,QATlB,OAcVC,IAAY,OAAOL,GAAP,sBAAH,oDAITM,IAAO,OAAOC,EAAAA,EAAP,sBAAH,yCAIJC,IAAc,QAClBC,EAAAA,EAAAA,IAAUH,GAAM,CAAEvB,QAAS,MAAOC,GAAI,gBADpB,sBAAH,cAGF,SAAAd,GAAC,OAAIA,EAAEC,MAAMG,UAAU,KAHrB,KAgDjB,GAhC0B,SAAC,GAA+C,IAA7ClQ,EAA4C,EAA5CA,UAAWmN,EAAiC,EAAjCA,QAASmF,EAAwB,EAAxBA,MAAOC,EAAiB,EAAjBA,WACtD,EAXoB,SAACpF,EAASmF,QAAe,IAAfA,IAAAA,EAAQ,IACtC,IAAME,EAAMF,EAAMjQ,OACZoQ,EAAMH,EAAMrS,QAAQkN,GAK1B,MAAO,CAJUsF,EAAM,EAAZ,OAAoBD,EAClB,kBAAMF,GAAOG,EAAMD,EAAM,GAAKA,IAC9B,kBAAMF,GAAOG,EAAM,GAAKD,KAMTE,CAAcvF,EAASmF,GAA5CK,EAAP,KAAcC,EAAd,KAAoBpC,EAApB,KAYA,OAVA1C,EAAAA,EAAAA,YAAU,WAIR,OAHA+E,KAAAA,KAAA,QAAuB,kBAAMN,EAAWK,QACxCC,KAAAA,KAAA,SAAwB,kBAAMN,EAAW/B,QAElC,WACLqC,KAAAA,OAAA,QACAA,KAAAA,OAAA,YAED,CAACD,EAAMpC,EAAM+B,KAGd,QAAC,GAAD,CAAWvS,UAAWA,GACnBsS,EAAMjQ,OAAS,GACd,QAAC,EAAAyQ,SAAD,MACE,QAACZ,GAAD,CAAMa,QAAS,kBAAMR,EAAWK,QAC9B,QAACX,GAAD,QAEF,QAAC,GAAD,KAAQU,IACR,QAACT,GAAD,CAAMa,QAAS,kBAAMR,EAAW/B,QAC9B,QAACoB,GAAD,SAIJ,QAACQ,GAAD,qB,gCC5ER,IAAMY,IAAc,iGAKd3C,IAAQ,OAAO4C,GAAAA,GAAP,gCACF,SAAAnD,GAAC,aAAWA,EAAEC,MAAMC,MAAM,KADxB,KAEZkD,cAAc,KAFF,qBAIRC,IAAW,+CACD,SAAArD,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KADlB,eAEF,SAAAF,GAAC,OAAIA,EAAEC,MAAMG,UAAU,KAFrB,KAKXkD,IAAc,QAAOf,EAAAA,EAAAA,IAAUgB,GAAAA,EAAQ,CAAE9R,KAAM,WAAjC,qBAAH,wEAMX+R,IAAY,QAAOjB,EAAAA,EAAAA,IAAUgB,GAAAA,EAAQ,CAAE9R,KAAM,SAAUkP,KAAM,UAAjD,qBAAH,YACF,SAAAX,GAAC,OAAOA,EAAEC,MAAMC,MAAM,GAArB,IAA2BF,EAAEC,MAAMC,MAAM,KADxC,wFASTM,EAAAA,GAAAA,GATS,oCAeTiD,GAAM,SAAC,GAAD,IAAGvT,EAAH,EAAGA,UAAWwT,EAAd,EAAcA,SAAUC,EAAxB,EAAwBA,WAAxB,OACV,QAACT,GAAD,CAAgBhT,UAAWA,IACzB,QAAC,GAAD,4BACA,QAACmT,GAAD,6EAGA,QAACC,GAAD,CAAaL,QAASS,GACnBC,GAAa,QAAC,KAAD,MAAa,wBA8BjC,GAzBmB,SAAC,GAAD,IAAGzT,EAAH,EAAGA,UAAWwT,EAAd,EAAcA,SAAUC,EAAxB,EAAwBA,WAAxB,OACjB,QAAC,EAAAX,SAAD,MACE,QAACQ,GAAD,CACEP,QAAS,kBAAMS,EAAS,CAAEjN,OAAQ,YAClCvG,UAAWA,EACX0T,KAAKA,EAAAA,EAAAA,IACDpD,EAAAA,GAAAA,GADD,yBAML,QAACiD,GAAD,CACEE,WAAYA,EACZD,SAAU,kBAAMA,EAAS,CAAEjN,OAAQ,aACnCvG,UAAWA,EACX0T,KAAKA,EAAAA,EAAAA,IAAF,gBAECpD,EAAAA,GAAAA,GAFD,2B,WClEHC,IAAS,uCAET8C,IAAM,oJAON,SAAAvD,GAAC,OAAKA,EAAE6D,SAAW7D,EAAEC,MAAM+B,OAAOC,MAAM,GAAK,gBAPvC,mBAQO,SAAAjC,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KAR1B,+DAaQ,SAAAF,GAAC,OAAKA,EAAE6D,UAAY7D,EAAEC,MAAM+B,OAAOC,MAAM,KAbjD,MAiBN6B,IAAU,QAAOvB,EAAAA,EAAAA,IAAUgB,GAAQ,CAAEjG,UAAU,QAAC,MAAD,QAArC,sBAAH,IAEPyG,IAAS,QAAOxB,EAAAA,EAAAA,IAAUgB,GAAQ,CAAEjG,UAAU,QAAC,MAAD,QAArC,sBAAH,gBACK,SAAA0C,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KADxB,KAeZ,GAXqB,SAAC,GAAD,IAAG8D,EAAH,EAAGA,OAAQC,EAAX,EAAWA,SAAU/T,EAArB,EAAqBA,UAArB,OACnB,QAAC,GAAD,CAAWA,UAAWA,IACpB,QAAC4T,GAAD,CACED,SAAqB,YAAXG,EACVf,QAAS,kBAAMgB,EAAS,eAG1B,QAACF,GAAD,CAAQF,SAAqB,WAAXG,EAAqBf,QAAS,kBAAMgB,EAAS,eChBnE,IAjBqB,QAAO1B,EAAAA,EAAAA,IAAU,SAAU,CAAE2B,YAAa,IAA1C,qBAAH,wBAId1D,EAAAA,GAAAA,GAJc,KAKZ,SAAAR,GAAC,MACY,WAAbA,EAAEgE,QAAF,uHAMoBhE,EAAEC,MAAM+B,OAAOmC,KAAK,GANxC,UANY,MCoBlB,IAnBoB,QAClB5B,EAAAA,EAAAA,IAAU6B,GAAAA,EAAY,CAAEvD,QAAS,UAAWF,KAAM,UADhC,sBAAH,0BAIJ,SAAAX,GAAC,OAAOA,EAAEC,MAAMC,MAAM,GAArB,IAA2BF,EAAEC,MAAMC,MAAM,KAJtC,6CAQD,SAAAF,GAAC,MAAqB,SAAhBA,EAAEqE,UAAuB,QAAU,SARxC,MAWb7D,EAAAA,GAAAA,GAXa,qCAeC,SAAAR,GAAC,MAAqB,SAAhBA,EAAEqE,UAAuB,WAAa,YAf7C,Q,mFCaXC,IAAQ,OAAOC,GAAAA,EAAP,uBAAH,gBAEP/D,EAAAA,GAAAA,GAFO,+CASLgE,IAAsB,OAAOC,GAAP,uBAAH,gBAErBjE,EAAAA,GAAAA,GAFqB,+CASnB0C,IAAc,kGAMhB1C,EAAAA,GAAAA,GANgB,2CAYdkE,IAAe,OAAOC,GAAP,sBAAH,gBAGdnE,EAAAA,GAAAA,GAHc,gCAQdA,EAAAA,GAAAA,GARc,oBAaZoE,IAAK,qJAIU,SAAA5E,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KAJ7B,yCAMW,SAAAF,GAAC,OAAIA,EAAEC,MAAM+B,OAAO6C,QAAQC,aANvC,IAQPtE,EAAAA,GAAAA,GARO,6EAUY,SAAAR,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KAV/B,KAaPM,EAAAA,GAAAA,GAbO,+FAqBLuE,IAAa,OAAOH,GAAP,sBAAH,YACH,SAAA5E,GAAC,OAAOA,EAAEC,MAAMC,MAAM,GAArB,IAA2BF,EAAEC,MAAMC,MAAM,KADvC,IAGZM,EAAAA,GAAAA,GAHY,aAID,SAAAR,GAAC,OAAIA,EAAEC,MAAMC,MAAM,KAJlB,MAQV8E,IAAY,OAAOJ,GAAP,sBAAH,YACF,SAAA5E,GAAC,OACPA,EAAEC,MAAMC,MAAM,GADP,IACaF,EAAEC,MAAMC,MAAM,GAD3B,IACiCF,EAAEC,MAAMC,MAAM,KAF9C,KAKT+E,IAAa,OAAOC,GAAP,sBAAH,oDAKZ1E,EAAAA,GAAAA,GALY,mDAYViD,IAAM,OAAO0B,GAAP,sBACR3E,EAAAA,GAAAA,GADK,mBAKLA,EAAAA,GAAAA,GALK,iCAWH4E,IAAQ,OAAOC,GAAP,sBACV7E,EAAAA,GAAAA,GADO,eAML8E,IAAc,OAAOC,GAAP,sBAAH,uCAIb/E,EAAAA,GAAAA,GAJa,mBAQbA,EAAAA,GAAAA,GARa,wCAcXgF,IAAQ,QAAOjD,EAAAA,EAAAA,KdpIrB,SAAkB5L,GAChB,OAAoB,gBAAoB,MAAOL,EAAS,CACtDM,MAAO,6BACPC,MAAO,GACPC,OAAQ,GACRC,QAAS,aACRJ,GAAQN,IAAUA,EAAqB,gBAAoB,OAAQ,CACpEW,EAAG,oHc6HmC,CAAEyO,GAAI,MAAlC,sBAAH,iEAMPjF,EAAAA,GAAAA,GANO,mBAUPA,EAAAA,GAAAA,GAVO,qGA2GX,GArFqB,SAAC,GAOf,IANLkF,EAMI,EANJA,WAMI,IALJC,UAAAA,OAKI,MALQ,GAKR,EAJJC,EAII,EAJJA,aACAC,EAGI,EAHJA,cACAhH,EAEI,EAFJA,oBACGiH,GACC,aACJ,GAA0BxE,EAAAA,EAAAA,UAASsE,GAA5B3F,EAAP,KAAc8F,EAAd,KACA,GAA4BzE,EAAAA,EAAAA,UAASuE,GAA9B7B,EAAP,KAAegC,EAAf,KACA,GAA8B1E,EAAAA,EAAAA,WAAS,GAAhCrH,EAAP,KAAgBgM,EAAhB,KACMC,EAAgB,UAAaR,EAAb,cAAqCzF,EACrDkG,EAAQ,GAAMC,EAAAA,EAAUF,EACxBG,EAAgBD,EAAAA,EAAN,YAAyBV,EAAzB,cAAiDzF,EAEjE,GAAgCqB,EAAAA,EAAAA,WAAS,GAAlCF,EAAP,KAAkBG,EAAlB,KAEM+E,EAAW,kBAAM/E,GAAYH,IAE7BmF,EAAoB,kBAAMR,EAAmB,SAAV9F,EAAmB,QAAU,SAEhEuG,EAAqB,SAAAxC,GAAM,OAAIgC,EAAUhC,IAEzCyC,EAAiB,SAAAC,GAAK,OAC1BnH,EAAAA,EAAAA,UAAS,MAAMmH,EAAS,CACtB3M,MAAO,CAAEmF,OAAO,EAAMyG,UAAAA,EAAWgB,YAAY,GAC7CjU,SAAS,KAGPkU,EAAe,SAAC,GAAgB,IAAdnQ,EAAa,EAAbA,OAEtB,OAAIoQ,EAAAA,EAAAA,OACFZ,GAAW,GACJ/X,OAAO4Y,OAAOC,YACnB,CACEC,MAAO,oBACPC,SAAUvB,EACVwB,UAAWjH,GAEb,OAIAkH,EAAAA,EAAAA,WACFjZ,OAAO6Q,SAAWoH,GAIL,WAAX1P,GACK8I,EAAAA,EAAAA,UAAS,gBAAgB6H,mBAAmBlB,SAEnDI,KAIJ,OACE,QAAC,GAAD,QAAOzH,oBAAqBA,GAAuB,eAAmBiH,IACnE,SAAA5G,GAAK,OACJ,QAAC,GAAD,MACE,QAAC,GAAD,CAAUkC,UAAWA,IACnB,QAAC2D,GAAD,MACE,QAAC,GAAD,CAAcf,OAAQA,EAAQC,SAAUuC,KACxC,QAAC,GAAD,CAAanC,UAAWpE,EAAOgD,QAASsD,KACxC,QAACtB,GAAD,CACE5H,QAASqI,EACTlD,MAAOmD,EACPlD,WAAYgE,KAEd,QAAC,GAAD,CAAK/C,SAAUkD,EAAcjD,WAAY1J,KACzC,QAACuL,GAAD,CAAOvC,QAAS,kBAAM/D,EAAME,MAAM,CAAEC,SAAS,SAE/C,QAAC2F,GAAD,MACE,QAACV,GAAD,CAAO5D,KAAMwF,KACb,QAAC,GAAD,CAAqBxF,KAAMwF,KAC3B,QAACV,GAAD,CAAOvC,QAASqD,OAIpB,QAAClB,GAAD,CAAOpB,OAAQA,EAAQqD,IAAKhB,EAAYrV,IAAKqV,EAAarC,SC/NrD,SAASsD,GAAT,GAAmD,IAAD,MAAxB5B,EAAwB,EAAxBA,WAAY3G,EAAY,EAAZA,SAC7CwI,EAba,SAAAC,GACnB,IACE,IAAMC,EAAa,IAAIC,IAAIF,GAC3B,MAAO,CACLN,UAAWO,EAAWE,aAAaC,IAAI,aACvC5D,OAAQyD,EAAWE,aAAaC,IAAI,WAEtC,SACA,MAAO,CAAEV,UAAW,KAAMlD,OAAQ,OAKlB6D,CAAa9I,EAAS+I,MAElCnC,GAAY,UAAA5G,EAAShF,aAAT,eAAgB4L,YAAa,GACzCE,EACJ0B,EAAUvD,SAAV,UAAoBjF,EAAShF,aAA7B,aAAoB,EAAgB8L,gBAAiB,UACjDD,EACJ2B,EAAUL,YAAV,UAAuBnI,EAAShF,aAAhC,aAAuB,EAAgB6L,eAAgB,QAWzD,OACE,QAAC,GAAD,CACEF,WAAYA,EACZC,UAAWA,EACX7G,SAba,CACf+D,MAAO,mDACPkF,YACE,8JACFC,SAAU,sBACVC,YAAa,sBACbC,OAAQ,WAQNrC,cAAeA,EACfD,aAAcA,M,qMCrCPuC,EAAU,SAAA1M,GAAK,OAAIA,EAAMvJ,cAAcQ,QAAQ,OAAQ,MAEvD6P,EAAY,SAAChJ,EAAW6O,GAAZ,OAAsB,SAAAzR,GAAK,OAClD,QAAC4C,GAAD,UAAe6O,EAAWzR,MAErB,SAASkQ,IACd,IACE,MAAyB,oBAAX3Y,QAA0BA,OAAOmB,OAASnB,OAAOoQ,IAC/D,MAAOtO,GACP,OAAO,GAIX,IAAMqY,EAAY,IAAIC,KAAKC,aAAa,QAAS,CAC/CrK,MAAO,YAGF,SAASsK,EAAa/M,EAAOgN,GAClC,YAD6C,IAAXA,IAAAA,EAAM,KACjCJ,EACJK,cAAcjN,GACdkN,QAAO,SAAAC,GAAI,MAAkB,YAAdA,EAAKnX,QACpBoX,KAAI,SAAAD,GAAI,OAAIA,EAAKnN,SACjBtH,KAAKsU,GAGH,IAAMK,EAAa,SAACC,EAAOpI,GAAR,OACxBoI,EAAMC,QAAO,SAACC,EAAKC,EAAGra,GAEpB,OADIA,EAAI8R,GAAS,GAAGsI,EAAIpW,KAAKkW,EAAMI,MAAMta,EAAGA,EAAI8R,IACzCsI,IACN","sources":["webpack://getform/./node_modules/mousetrap/mousetrap.js","webpack://getform/./src/assets/icons/common/desktop.svg","webpack://getform/./src/assets/icons/common/mobile.svg","webpack://getform/./src/assets/icons/common/radio-checked.svg","webpack://getform/./src/assets/icons/common/radio-unchecked.svg","webpack://getform/./src/assets/icons/close.svg","webpack://getform/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://getform/./node_modules/@loadable/component/dist/loadable.esm.js","webpack://getform/./src/components/shared/lazy-modal.js","webpack://getform/./src/hooks/use-overflow-y-hidden.js","webpack://getform/./src/components/shared/modal.js","webpack://getform/./src/components/auth/registration-compact.js","webpack://getform/./src/components/shared/card-flip.js","webpack://getform/./src/assets/icons/arrow-circle-right.svg","webpack://getform/./src/components/preview/preview-navigation.js","webpack://getform/./src/components/preview/preview-cta.js","webpack://getform/./src/components/preview/device-switch.js","webpack://getform/./src/components/preview/preview-frame.js","webpack://getform/./src/components/preview/theme-switch.js","webpack://getform/./src/components/preview/preview-modal.js","webpack://getform/./src/templates/widget-template.js","webpack://getform/./src/utils/index.js"],"sourcesContent":["/*global define:false */\n\n/**\n * Copyright 2012-2017 Craig Campbell\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Mousetrap is a simple keyboard shortcut library for Javascript with\n * no external dependencies\n *\n * @version 1.6.5\n * @url craig.is/killing/mice\n */\n(function (window, document, undefined) {\n // Check if mousetrap is used inside browser, if not, return\n if (!window) {\n return;\n }\n /**\n * mapping of special keycodes to their corresponding keys\n *\n * everything in this dictionary cannot use keypress events\n * so it has to be here to map to the correct keycodes for\n * keyup/keydown events\n *\n * @type {Object}\n */\n\n\n var _MAP = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt',\n 20: 'capslock',\n 27: 'esc',\n 32: 'space',\n 33: 'pageup',\n 34: 'pagedown',\n 35: 'end',\n 36: 'home',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 45: 'ins',\n 46: 'del',\n 91: 'meta',\n 93: 'meta',\n 224: 'meta'\n };\n /**\n * mapping for special characters so they can support\n *\n * this dictionary is only used incase you want to bind a\n * keyup or keydown event to one of these keys\n *\n * @type {Object}\n */\n\n var _KEYCODE_MAP = {\n 106: '*',\n 107: '+',\n 109: '-',\n 110: '.',\n 111: '/',\n 186: ';',\n 187: '=',\n 188: ',',\n 189: '-',\n 190: '.',\n 191: '/',\n 192: '`',\n 219: '[',\n 220: '\\\\',\n 221: ']',\n 222: '\\''\n };\n /**\n * this is a mapping of keys that require shift on a US keypad\n * back to the non shift equivelents\n *\n * this is so you can use keyup events with these keys\n *\n * note that this will only work reliably on US keyboards\n *\n * @type {Object}\n */\n\n var _SHIFT_MAP = {\n '~': '`',\n '!': '1',\n '@': '2',\n '#': '3',\n '$': '4',\n '%': '5',\n '^': '6',\n '&': '7',\n '*': '8',\n '(': '9',\n ')': '0',\n '_': '-',\n '+': '=',\n ':': ';',\n '\\\"': '\\'',\n '<': ',',\n '>': '.',\n '?': '/',\n '|': '\\\\'\n };\n /**\n * this is a list of special strings you can use to map\n * to modifier keys when you specify your keyboard shortcuts\n *\n * @type {Object}\n */\n\n var _SPECIAL_ALIASES = {\n 'option': 'alt',\n 'command': 'meta',\n 'return': 'enter',\n 'escape': 'esc',\n 'plus': '+',\n 'mod': /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? 'meta' : 'ctrl'\n };\n /**\n * variable to store the flipped version of _MAP from above\n * needed to check if we should use keypress or not when no action\n * is specified\n *\n * @type {Object|undefined}\n */\n\n var _REVERSE_MAP;\n /**\n * loop through the f keys, f1 to f19 and add them to the map\n * programatically\n */\n\n\n for (var i = 1; i < 20; ++i) {\n _MAP[111 + i] = 'f' + i;\n }\n /**\n * loop through to map numbers on the numeric keypad\n */\n\n\n for (i = 0; i <= 9; ++i) {\n // This needs to use a string cause otherwise since 0 is falsey\n // mousetrap will never fire for numpad 0 pressed as part of a keydown\n // event.\n //\n // @see https://github.com/ccampbell/mousetrap/pull/258\n _MAP[i + 96] = i.toString();\n }\n /**\n * cross browser add event method\n *\n * @param {Element|HTMLDocument} object\n * @param {string} type\n * @param {Function} callback\n * @returns void\n */\n\n\n function _addEvent(object, type, callback) {\n if (object.addEventListener) {\n object.addEventListener(type, callback, false);\n return;\n }\n\n object.attachEvent('on' + type, callback);\n }\n /**\n * takes the event and returns the key character\n *\n * @param {Event} e\n * @return {string}\n */\n\n\n function _characterFromEvent(e) {\n // for keypress events we should return the character as is\n if (e.type == 'keypress') {\n var character = String.fromCharCode(e.which); // if the shift key is not pressed then it is safe to assume\n // that we want the character to be lowercase. this means if\n // you accidentally have caps lock on then your key bindings\n // will continue to work\n //\n // the only side effect that might not be desired is if you\n // bind something like 'A' cause you want to trigger an\n // event when capital A is pressed caps lock will no longer\n // trigger the event. shift+a will though.\n\n if (!e.shiftKey) {\n character = character.toLowerCase();\n }\n\n return character;\n } // for non keypress events the special maps are needed\n\n\n if (_MAP[e.which]) {\n return _MAP[e.which];\n }\n\n if (_KEYCODE_MAP[e.which]) {\n return _KEYCODE_MAP[e.which];\n } // if it is not in the special map\n // with keydown and keyup events the character seems to always\n // come in as an uppercase character whether you are pressing shift\n // or not. we should make sure it is always lowercase for comparisons\n\n\n return String.fromCharCode(e.which).toLowerCase();\n }\n /**\n * checks if two arrays are equal\n *\n * @param {Array} modifiers1\n * @param {Array} modifiers2\n * @returns {boolean}\n */\n\n\n function _modifiersMatch(modifiers1, modifiers2) {\n return modifiers1.sort().join(',') === modifiers2.sort().join(',');\n }\n /**\n * takes a key event and figures out what the modifiers are\n *\n * @param {Event} e\n * @returns {Array}\n */\n\n\n function _eventModifiers(e) {\n var modifiers = [];\n\n if (e.shiftKey) {\n modifiers.push('shift');\n }\n\n if (e.altKey) {\n modifiers.push('alt');\n }\n\n if (e.ctrlKey) {\n modifiers.push('ctrl');\n }\n\n if (e.metaKey) {\n modifiers.push('meta');\n }\n\n return modifiers;\n }\n /**\n * prevents default for this event\n *\n * @param {Event} e\n * @returns void\n */\n\n\n function _preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n return;\n }\n\n e.returnValue = false;\n }\n /**\n * stops propogation for this event\n *\n * @param {Event} e\n * @returns void\n */\n\n\n function _stopPropagation(e) {\n if (e.stopPropagation) {\n e.stopPropagation();\n return;\n }\n\n e.cancelBubble = true;\n }\n /**\n * determines if the keycode specified is a modifier key or not\n *\n * @param {string} key\n * @returns {boolean}\n */\n\n\n function _isModifier(key) {\n return key == 'shift' || key == 'ctrl' || key == 'alt' || key == 'meta';\n }\n /**\n * reverses the map lookup so that we can look for specific keys\n * to see what can and can't use keypress\n *\n * @return {Object}\n */\n\n\n function _getReverseMap() {\n if (!_REVERSE_MAP) {\n _REVERSE_MAP = {};\n\n for (var key in _MAP) {\n // pull out the numeric keypad from here cause keypress should\n // be able to detect the keys from the character\n if (key > 95 && key < 112) {\n continue;\n }\n\n if (_MAP.hasOwnProperty(key)) {\n _REVERSE_MAP[_MAP[key]] = key;\n }\n }\n }\n\n return _REVERSE_MAP;\n }\n /**\n * picks the best action based on the key combination\n *\n * @param {string} key - character for key\n * @param {Array} modifiers\n * @param {string=} action passed in\n */\n\n\n function _pickBestAction(key, modifiers, action) {\n // if no action was picked in we should try to pick the one\n // that we think would work best for this key\n if (!action) {\n action = _getReverseMap()[key] ? 'keydown' : 'keypress';\n } // modifier keys don't work as expected with keypress,\n // switch to keydown\n\n\n if (action == 'keypress' && modifiers.length) {\n action = 'keydown';\n }\n\n return action;\n }\n /**\n * Converts from a string key combination to an array\n *\n * @param {string} combination like \"command+shift+l\"\n * @return {Array}\n */\n\n\n function _keysFromString(combination) {\n if (combination === '+') {\n return ['+'];\n }\n\n combination = combination.replace(/\\+{2}/g, '+plus');\n return combination.split('+');\n }\n /**\n * Gets info for a specific key combination\n *\n * @param {string} combination key combination (\"command+s\" or \"a\" or \"*\")\n * @param {string=} action\n * @returns {Object}\n */\n\n\n function _getKeyInfo(combination, action) {\n var keys;\n var key;\n var i;\n var modifiers = []; // take the keys from this pattern and figure out what the actual\n // pattern is all about\n\n keys = _keysFromString(combination);\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i]; // normalize key names\n\n if (_SPECIAL_ALIASES[key]) {\n key = _SPECIAL_ALIASES[key];\n } // if this is not a keypress event then we should\n // be smart about using shift keys\n // this will only work for US keyboards however\n\n\n if (action && action != 'keypress' && _SHIFT_MAP[key]) {\n key = _SHIFT_MAP[key];\n modifiers.push('shift');\n } // if this key is a modifier then add it to the list of modifiers\n\n\n if (_isModifier(key)) {\n modifiers.push(key);\n }\n } // depending on what the key combination is\n // we will try to pick the best event for it\n\n\n action = _pickBestAction(key, modifiers, action);\n return {\n key: key,\n modifiers: modifiers,\n action: action\n };\n }\n\n function _belongsTo(element, ancestor) {\n if (element === null || element === document) {\n return false;\n }\n\n if (element === ancestor) {\n return true;\n }\n\n return _belongsTo(element.parentNode, ancestor);\n }\n\n function Mousetrap(targetElement) {\n var self = this;\n targetElement = targetElement || document;\n\n if (!(self instanceof Mousetrap)) {\n return new Mousetrap(targetElement);\n }\n /**\n * element to attach key events to\n *\n * @type {Element}\n */\n\n\n self.target = targetElement;\n /**\n * a list of all the callbacks setup via Mousetrap.bind()\n *\n * @type {Object}\n */\n\n self._callbacks = {};\n /**\n * direct map of string combinations to callbacks used for trigger()\n *\n * @type {Object}\n */\n\n self._directMap = {};\n /**\n * keeps track of what level each sequence is at since multiple\n * sequences can start out with the same sequence\n *\n * @type {Object}\n */\n\n var _sequenceLevels = {};\n /**\n * variable to store the setTimeout call\n *\n * @type {null|number}\n */\n\n var _resetTimer;\n /**\n * temporary state where we will ignore the next keyup\n *\n * @type {boolean|string}\n */\n\n\n var _ignoreNextKeyup = false;\n /**\n * temporary state where we will ignore the next keypress\n *\n * @type {boolean}\n */\n\n var _ignoreNextKeypress = false;\n /**\n * are we currently inside of a sequence?\n * type of action (\"keyup\" or \"keydown\" or \"keypress\") or false\n *\n * @type {boolean|string}\n */\n\n var _nextExpectedAction = false;\n /**\n * resets all sequence counters except for the ones passed in\n *\n * @param {Object} doNotReset\n * @returns void\n */\n\n function _resetSequences(doNotReset) {\n doNotReset = doNotReset || {};\n var activeSequences = false,\n key;\n\n for (key in _sequenceLevels) {\n if (doNotReset[key]) {\n activeSequences = true;\n continue;\n }\n\n _sequenceLevels[key] = 0;\n }\n\n if (!activeSequences) {\n _nextExpectedAction = false;\n }\n }\n /**\n * finds all callbacks that match based on the keycode, modifiers,\n * and action\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event|Object} e\n * @param {string=} sequenceName - name of the sequence we are looking for\n * @param {string=} combination\n * @param {number=} level\n * @returns {Array}\n */\n\n\n function _getMatches(character, modifiers, e, sequenceName, combination, level) {\n var i;\n var callback;\n var matches = [];\n var action = e.type; // if there are no events related to this keycode\n\n if (!self._callbacks[character]) {\n return [];\n } // if a modifier key is coming up on its own we should allow it\n\n\n if (action == 'keyup' && _isModifier(character)) {\n modifiers = [character];\n } // loop through all callbacks for the key that was pressed\n // and see if any of them match\n\n\n for (i = 0; i < self._callbacks[character].length; ++i) {\n callback = self._callbacks[character][i]; // if a sequence name is not specified, but this is a sequence at\n // the wrong level then move onto the next match\n\n if (!sequenceName && callback.seq && _sequenceLevels[callback.seq] != callback.level) {\n continue;\n } // if the action we are looking for doesn't match the action we got\n // then we should keep going\n\n\n if (action != callback.action) {\n continue;\n } // if this is a keypress event and the meta key and control key\n // are not pressed that means that we need to only look at the\n // character, otherwise check the modifiers as well\n //\n // chrome will not fire a keypress if meta or control is down\n // safari will fire a keypress if meta or meta+shift is down\n // firefox will fire a keypress if meta or control is down\n\n\n if (action == 'keypress' && !e.metaKey && !e.ctrlKey || _modifiersMatch(modifiers, callback.modifiers)) {\n // when you bind a combination or sequence a second time it\n // should overwrite the first one. if a sequenceName or\n // combination is specified in this call it does just that\n //\n // @todo make deleting its own method?\n var deleteCombo = !sequenceName && callback.combo == combination;\n var deleteSequence = sequenceName && callback.seq == sequenceName && callback.level == level;\n\n if (deleteCombo || deleteSequence) {\n self._callbacks[character].splice(i, 1);\n }\n\n matches.push(callback);\n }\n }\n\n return matches;\n }\n /**\n * actually calls the callback function\n *\n * if your callback function returns false this will use the jquery\n * convention - prevent default and stop propogation on the event\n *\n * @param {Function} callback\n * @param {Event} e\n * @returns void\n */\n\n\n function _fireCallback(callback, e, combo, sequence) {\n // if this event should not happen stop here\n if (self.stopCallback(e, e.target || e.srcElement, combo, sequence)) {\n return;\n }\n\n if (callback(e, combo) === false) {\n _preventDefault(e);\n\n _stopPropagation(e);\n }\n }\n /**\n * handles a character key event\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event} e\n * @returns void\n */\n\n\n self._handleKey = function (character, modifiers, e) {\n var callbacks = _getMatches(character, modifiers, e);\n\n var i;\n var doNotReset = {};\n var maxLevel = 0;\n var processedSequenceCallback = false; // Calculate the maxLevel for sequences so we can only execute the longest callback sequence\n\n for (i = 0; i < callbacks.length; ++i) {\n if (callbacks[i].seq) {\n maxLevel = Math.max(maxLevel, callbacks[i].level);\n }\n } // loop through matching callbacks for this key event\n\n\n for (i = 0; i < callbacks.length; ++i) {\n // fire for all sequence callbacks\n // this is because if for example you have multiple sequences\n // bound such as \"g i\" and \"g t\" they both need to fire the\n // callback for matching g cause otherwise you can only ever\n // match the first one\n if (callbacks[i].seq) {\n // only fire callbacks for the maxLevel to prevent\n // subsequences from also firing\n //\n // for example 'a option b' should not cause 'option b' to fire\n // even though 'option b' is part of the other sequence\n //\n // any sequences that do not match here will be discarded\n // below by the _resetSequences call\n if (callbacks[i].level != maxLevel) {\n continue;\n }\n\n processedSequenceCallback = true; // keep a list of which sequences were matches for later\n\n doNotReset[callbacks[i].seq] = 1;\n\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo, callbacks[i].seq);\n\n continue;\n } // if there were no sequence matches but we are still here\n // that means this is a regular match so we should fire that\n\n\n if (!processedSequenceCallback) {\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo);\n }\n } // if the key you pressed matches the type of sequence without\n // being a modifier (ie \"keyup\" or \"keypress\") then we should\n // reset all sequences that were not matched by this event\n //\n // this is so, for example, if you have the sequence \"h a t\" and you\n // type \"h e a r t\" it does not match. in this case the \"e\" will\n // cause the sequence to reset\n //\n // modifier keys are ignored because you can have a sequence\n // that contains modifiers such as \"enter ctrl+space\" and in most\n // cases the modifier key will be pressed before the next key\n //\n // also if you have a sequence such as \"ctrl+b a\" then pressing the\n // \"b\" key will trigger a \"keypress\" and a \"keydown\"\n //\n // the \"keydown\" is expected when there is a modifier, but the\n // \"keypress\" ends up matching the _nextExpectedAction since it occurs\n // after and that causes the sequence to reset\n //\n // we ignore keypresses in a sequence that directly follow a keydown\n // for the same character\n\n\n var ignoreThisKeypress = e.type == 'keypress' && _ignoreNextKeypress;\n\n if (e.type == _nextExpectedAction && !_isModifier(character) && !ignoreThisKeypress) {\n _resetSequences(doNotReset);\n }\n\n _ignoreNextKeypress = processedSequenceCallback && e.type == 'keydown';\n };\n /**\n * handles a keydown event\n *\n * @param {Event} e\n * @returns void\n */\n\n\n function _handleKeyEvent(e) {\n // normalize e.which for key events\n // @see http://stackoverflow.com/questions/4285627/javascript-keycode-vs-charcode-utter-confusion\n if (typeof e.which !== 'number') {\n e.which = e.keyCode;\n }\n\n var character = _characterFromEvent(e); // no character found then stop\n\n\n if (!character) {\n return;\n } // need to use === for the character check because the character can be 0\n\n\n if (e.type == 'keyup' && _ignoreNextKeyup === character) {\n _ignoreNextKeyup = false;\n return;\n }\n\n self.handleKey(character, _eventModifiers(e), e);\n }\n /**\n * called to set a 1 second timeout on the specified sequence\n *\n * this is so after each key press in the sequence you have 1 second\n * to press the next key before you have to start over\n *\n * @returns void\n */\n\n\n function _resetSequenceTimer() {\n clearTimeout(_resetTimer);\n _resetTimer = setTimeout(_resetSequences, 1000);\n }\n /**\n * binds a key sequence to an event\n *\n * @param {string} combo - combo specified in bind call\n * @param {Array} keys\n * @param {Function} callback\n * @param {string=} action\n * @returns void\n */\n\n\n function _bindSequence(combo, keys, callback, action) {\n // start off by adding a sequence level record for this combination\n // and setting the level to 0\n _sequenceLevels[combo] = 0;\n /**\n * callback to increase the sequence level for this sequence and reset\n * all other sequences that were active\n *\n * @param {string} nextAction\n * @returns {Function}\n */\n\n function _increaseSequence(nextAction) {\n return function () {\n _nextExpectedAction = nextAction;\n ++_sequenceLevels[combo];\n\n _resetSequenceTimer();\n };\n }\n /**\n * wraps the specified callback inside of another function in order\n * to reset all sequence counters as soon as this sequence is done\n *\n * @param {Event} e\n * @returns void\n */\n\n\n function _callbackAndReset(e) {\n _fireCallback(callback, e, combo); // we should ignore the next key up if the action is key down\n // or keypress. this is so if you finish a sequence and\n // release the key the final key will not trigger a keyup\n\n\n if (action !== 'keyup') {\n _ignoreNextKeyup = _characterFromEvent(e);\n } // weird race condition if a sequence ends with the key\n // another sequence begins with\n\n\n setTimeout(_resetSequences, 10);\n } // loop through keys one at a time and bind the appropriate callback\n // function. for any key leading up to the final one it should\n // increase the sequence. after the final, it should reset all sequences\n //\n // if an action is specified in the original bind call then that will\n // be used throughout. otherwise we will pass the action that the\n // next key in the sequence should match. this allows a sequence\n // to mix and match keypress and keydown events depending on which\n // ones are better suited to the key provided\n\n\n for (var i = 0; i < keys.length; ++i) {\n var isFinal = i + 1 === keys.length;\n var wrappedCallback = isFinal ? _callbackAndReset : _increaseSequence(action || _getKeyInfo(keys[i + 1]).action);\n\n _bindSingle(keys[i], wrappedCallback, action, combo, i);\n }\n }\n /**\n * binds a single keyboard combination\n *\n * @param {string} combination\n * @param {Function} callback\n * @param {string=} action\n * @param {string=} sequenceName - name of sequence if part of sequence\n * @param {number=} level - what part of the sequence the command is\n * @returns void\n */\n\n\n function _bindSingle(combination, callback, action, sequenceName, level) {\n // store a direct mapped reference for use with Mousetrap.trigger\n self._directMap[combination + ':' + action] = callback; // make sure multiple spaces in a row become a single space\n\n combination = combination.replace(/\\s+/g, ' ');\n var sequence = combination.split(' ');\n var info; // if this pattern is a sequence of keys then run through this method\n // to reprocess each pattern one key at a time\n\n if (sequence.length > 1) {\n _bindSequence(combination, sequence, callback, action);\n\n return;\n }\n\n info = _getKeyInfo(combination, action); // make sure to initialize array if this is the first time\n // a callback is added for this key\n\n self._callbacks[info.key] = self._callbacks[info.key] || []; // remove an existing match if there is one\n\n _getMatches(info.key, info.modifiers, {\n type: info.action\n }, sequenceName, combination, level); // add this call back to the array\n // if it is a sequence put it at the beginning\n // if not put it at the end\n //\n // this is important because the way these are processed expects\n // the sequence ones to come first\n\n\n self._callbacks[info.key][sequenceName ? 'unshift' : 'push']({\n callback: callback,\n modifiers: info.modifiers,\n action: info.action,\n seq: sequenceName,\n level: level,\n combo: combination\n });\n }\n /**\n * binds multiple combinations to the same callback\n *\n * @param {Array} combinations\n * @param {Function} callback\n * @param {string|undefined} action\n * @returns void\n */\n\n\n self._bindMultiple = function (combinations, callback, action) {\n for (var i = 0; i < combinations.length; ++i) {\n _bindSingle(combinations[i], callback, action);\n }\n }; // start!\n\n\n _addEvent(targetElement, 'keypress', _handleKeyEvent);\n\n _addEvent(targetElement, 'keydown', _handleKeyEvent);\n\n _addEvent(targetElement, 'keyup', _handleKeyEvent);\n }\n /**\n * binds an event to mousetrap\n *\n * can be a single key, a combination of keys separated with +,\n * an array of keys, or a sequence of keys separated by spaces\n *\n * be sure to list the modifier keys first to make sure that the\n * correct key ends up getting bound (the last key in the pattern)\n *\n * @param {string|Array} keys\n * @param {Function} callback\n * @param {string=} action - 'keypress', 'keydown', or 'keyup'\n * @returns void\n */\n\n\n Mousetrap.prototype.bind = function (keys, callback, action) {\n var self = this;\n keys = keys instanceof Array ? keys : [keys];\n\n self._bindMultiple.call(self, keys, callback, action);\n\n return self;\n };\n /**\n * unbinds an event to mousetrap\n *\n * the unbinding sets the callback function of the specified key combo\n * to an empty function and deletes the corresponding key in the\n * _directMap dict.\n *\n * TODO: actually remove this from the _callbacks dictionary instead\n * of binding an empty function\n *\n * the keycombo+action has to be exactly the same as\n * it was defined in the bind method\n *\n * @param {string|Array} keys\n * @param {string} action\n * @returns void\n */\n\n\n Mousetrap.prototype.unbind = function (keys, action) {\n var self = this;\n return self.bind.call(self, keys, function () {}, action);\n };\n /**\n * triggers an event that has already been bound\n *\n * @param {string} keys\n * @param {string=} action\n * @returns void\n */\n\n\n Mousetrap.prototype.trigger = function (keys, action) {\n var self = this;\n\n if (self._directMap[keys + ':' + action]) {\n self._directMap[keys + ':' + action]({}, keys);\n }\n\n return self;\n };\n /**\n * resets the library back to its initial state. this is useful\n * if you want to clear out the current keyboard shortcuts and bind\n * new ones - for example if you switch to another page\n *\n * @returns void\n */\n\n\n Mousetrap.prototype.reset = function () {\n var self = this;\n self._callbacks = {};\n self._directMap = {};\n return self;\n };\n /**\n * should we stop this event before firing off callbacks\n *\n * @param {Event} e\n * @param {Element} element\n * @return {boolean}\n */\n\n\n Mousetrap.prototype.stopCallback = function (e, element) {\n var self = this; // if the element has the class \"mousetrap\" then no need to stop\n\n if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {\n return false;\n }\n\n if (_belongsTo(element, self.target)) {\n return false;\n } // Events originating from a shadow DOM are re-targetted and `e.target` is the shadow host,\n // not the initial event target in the shadow tree. Note that not all events cross the\n // shadow boundary.\n // For shadow trees with `mode: 'open'`, the initial event target is the first element in\n // the event’s composed path. For shadow trees with `mode: 'closed'`, the initial event\n // target cannot be obtained.\n\n\n if ('composedPath' in e && typeof e.composedPath === 'function') {\n // For open shadow trees, update `element` so that the following check works.\n var initialEventTarget = e.composedPath()[0];\n\n if (initialEventTarget !== e.target) {\n element = initialEventTarget;\n }\n } // stop for input, select, and textarea\n\n\n return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || element.isContentEditable;\n };\n /**\n * exposes _handleKey publicly so it can be overwritten by extensions\n */\n\n\n Mousetrap.prototype.handleKey = function () {\n var self = this;\n return self._handleKey.apply(self, arguments);\n };\n /**\n * allow custom key mappings\n */\n\n\n Mousetrap.addKeycodes = function (object) {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n _MAP[key] = object[key];\n }\n }\n\n _REVERSE_MAP = null;\n };\n /**\n * Init the global mousetrap functions\n *\n * This method is needed to allow the global mousetrap functions to work\n * now that mousetrap is a constructor function.\n */\n\n\n Mousetrap.init = function () {\n var documentMousetrap = Mousetrap(document);\n\n for (var method in documentMousetrap) {\n if (method.charAt(0) !== '_') {\n Mousetrap[method] = function (method) {\n return function () {\n return documentMousetrap[method].apply(documentMousetrap, arguments);\n };\n }(method);\n }\n }\n };\n\n Mousetrap.init(); // expose mousetrap to the global object\n\n window.Mousetrap = Mousetrap; // expose as a common js module\n\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Mousetrap;\n } // expose mousetrap as an AMD module\n\n\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return Mousetrap;\n });\n }\n})(typeof window !== 'undefined' ? window : null, typeof window !== 'undefined' ? document : null);","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgDesktop(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 16,\n viewBox: \"0 0 18 16\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.364 0H1.636C.736 0 0 .72 0 1.6v9.6c0 .88.736 1.6 1.636 1.6h5.728v1.6h-.819c-.45 0-.818.36-.818.8 0 .44.368.8.818.8h4.91c.45 0 .818-.36.818-.8 0-.44-.368-.8-.818-.8h-.819v-1.6h5.728c.9 0 1.636-.72 1.636-1.6V1.6c0-.88-.736-1.6-1.636-1.6zm-.819 11.2H2.455a.812.812 0 01-.819-.8v-8c0-.44.369-.8.819-.8h13.09c.45 0 .819.36.819.8v8c0 .44-.369.8-.819.8z\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE4IDE2Ij4KICA8cGF0aCBkPSJNMTYuMzYzNjM2NCwwIEwxLjYzNjM2MzY0LDAgQzAuNzM2MzYzNjM2LDAgMCwwLjcyIDAsMS42IEwwLDExLjIgQzAsMTIuMDggMC43MzYzNjM2MzYsMTIuOCAxLjYzNjM2MzY0LDEyLjggTDcuMzYzNjM2MzYsMTIuOCBMNy4zNjM2MzYzNiwxNC40IEw2LjU0NTQ1NDU1LDE0LjQgQzYuMDk1NDU0NTUsMTQuNCA1LjcyNzI3MjczLDE0Ljc2IDUuNzI3MjcyNzMsMTUuMiBDNS43MjcyNzI3MywxNS42NCA2LjA5NTQ1NDU1LDE2IDYuNTQ1NDU0NTUsMTYgTDExLjQ1NDU0NTUsMTYgQzExLjkwNDU0NTUsMTYgMTIuMjcyNzI3MywxNS42NCAxMi4yNzI3MjczLDE1LjIgQzEyLjI3MjcyNzMsMTQuNzYgMTEuOTA0NTQ1NSwxNC40IDExLjQ1NDU0NTUsMTQuNCBMMTAuNjM2MzYzNiwxNC40IEwxMC42MzYzNjM2LDEyLjggTDE2LjM2MzYzNjQsMTIuOCBDMTcuMjYzNjM2NCwxMi44IDE4LDEyLjA4IDE4LDExLjIgTDE4LDEuNiBDMTgsMC43MiAxNy4yNjM2MzY0LDAgMTYuMzYzNjM2NCwwIFogTTE1LjU0NTQ1NDUsMTEuMiBMMi40NTQ1NDU0NSwxMS4yIEMyLjAwNDU0NTQ1LDExLjIgMS42MzYzNjM2NCwxMC44NCAxLjYzNjM2MzY0LDEwLjQgTDEuNjM2MzYzNjQsMi40IEMxLjYzNjM2MzY0LDEuOTYgMi4wMDQ1NDU0NSwxLjYgMi40NTQ1NDU0NSwxLjYgTDE1LjU0NTQ1NDUsMS42IEMxNS45OTU0NTQ1LDEuNiAxNi4zNjM2MzY0LDEuOTYgMTYuMzYzNjM2NCwyLjQgTDE2LjM2MzYzNjQsMTAuNCBDMTYuMzYzNjM2NCwxMC44NCAxNS45OTU0NTQ1LDExLjIgMTUuNTQ1NDU0NSwxMS4yIFoiLz4KPC9zdmc+Cg==\";\nexport { SvgDesktop as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgMobile(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 10,\n height: 16,\n viewBox: \"0 0 10 16\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.571.007L1.43 0C.643 0 0 .655 0 1.455v13.09C0 15.345.643 16 1.429 16H8.57C9.357 16 10 15.345 10 14.545V1.455c0-.8-.643-1.448-1.429-1.448zm0 13.084H1.43V2.909H8.57v10.182z\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDEwIDE2Ij4KICA8cGF0aCBkPSJNOC41NzE0Mjg1NywwLjAwNzI3MjcyNzI3IEwxLjQyODU3MTQzLDAgQzAuNjQyODU3MTQzLDAgMCwwLjY1NDU0NTQ1NSAwLDEuNDU0NTQ1NDUgTDAsMTQuNTQ1NDU0NSBDMCwxNS4zNDU0NTQ1IDAuNjQyODU3MTQzLDE2IDEuNDI4NTcxNDMsMTYgTDguNTcxNDI4NTcsMTYgQzkuMzU3MTQyODYsMTYgMTAsMTUuMzQ1NDU0NSAxMCwxNC41NDU0NTQ1IEwxMCwxLjQ1NDU0NTQ1IEMxMCwwLjY1NDU0NTQ1NSA5LjM1NzE0Mjg2LDAuMDA3MjcyNzI3MjcgOC41NzE0Mjg1NywwLjAwNzI3MjcyNzI3IFogTTguNTcxNDI4NTcsMTMuMDkwOTA5MSBMMS40Mjg1NzE0MywxMy4wOTA5MDkxIEwxLjQyODU3MTQzLDIuOTA5MDkwOTEgTDguNTcxNDI4NTcsMi45MDkwOTA5MSBMOC41NzE0Mjg1NywxMy4wOTA5MDkxIFoiLz4KPC9zdmc+Cg==\";\nexport { SvgMobile as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgRadioChecked(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 24 24\",\n width: 24,\n height: 24\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,ICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij4KICAgIDxwYXRoIGQ9Ik0xMiA3Yy0yLjc2IDAtNSAyLjI0LTUgNXMyLjI0IDUgNSA1IDUtMi4yNCA1LTUtMi4yNC01LTUtNXptMC01QzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHoiIC8+CiAgPC9zdmc+\";\nexport { SvgRadioChecked as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgRadioUnchecked(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 24 24\",\n width: 24,\n height: 24\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,ICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ij4KICAgIDxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0wIDE4Yy00LjQyIDAtOC0zLjU4LTgtOHMzLjU4LTggOC04IDggMy41OCA4IDgtMy41OCA4LTggOHoiIC8+CiAgPC9zdmc+\";\nexport { SvgRadioUnchecked as ReactComponent };","var _path;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgClose(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.332 0L6 5.332.668 0 0 .668l5.332 5.331L0 11.332.668 12 6 6.668 11.332 12l.668-.668-5.332-5.333L12 .668z\"\n })));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIj4KICA8cG9seWdvbiBwb2ludHM9IjExLjMzMiAwIDYgNS4zMzIgLjY2OCAwIDAgLjY2OCA1LjMzMiA1Ljk5OSAwIDExLjMzMiAuNjY4IDEyIDYgNi42NjggMTEuMzMyIDEyIDEyIDExLjMzMiA2LjY2OCA1Ljk5OSAxMiAuNjY4Ii8+Cjwvc3ZnPgo=\";\nexport { SvgClose as ReactComponent };","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import React from 'react';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { isValidElementType } from 'react-is';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n/* eslint-disable import/prefer-default-export */\n\nfunction invariant(condition, message) {\n if (condition) return;\n var error = new Error(\"loadable: \" + message);\n error.framesToPop = 1;\n error.name = 'Invariant Violation';\n throw error;\n}\n\nfunction warn(message) {\n // eslint-disable-next-line no-console\n console.warn(\"loadable: \" + message);\n}\n\nvar Context = /*#__PURE__*/React.createContext();\nvar LOADABLE_REQUIRED_CHUNKS_KEY = '__LOADABLE_REQUIRED_CHUNKS__';\n\nfunction getRequiredChunkKey(namespace) {\n return \"\" + namespace + LOADABLE_REQUIRED_CHUNKS_KEY;\n}\n\nvar sharedInternals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getRequiredChunkKey: getRequiredChunkKey,\n invariant: invariant,\n Context: Context\n});\nvar LOADABLE_SHARED = {\n initialChunks: {}\n};\nvar STATUS_PENDING = 'PENDING';\nvar STATUS_RESOLVED = 'RESOLVED';\nvar STATUS_REJECTED = 'REJECTED';\n\nfunction resolveConstructor(ctor) {\n if (typeof ctor === 'function') {\n return {\n requireAsync: ctor,\n resolve: function resolve() {\n return undefined;\n },\n chunkName: function chunkName() {\n return undefined;\n }\n };\n }\n\n return ctor;\n}\n\nvar withChunkExtractor = function withChunkExtractor(Component) {\n var LoadableWithChunkExtractor = function LoadableWithChunkExtractor(props) {\n return React.createElement(Context.Consumer, null, function (extractor) {\n return React.createElement(Component, Object.assign({\n __chunkExtractor: extractor\n }, props));\n });\n };\n\n if (Component.displayName) {\n LoadableWithChunkExtractor.displayName = Component.displayName + \"WithChunkExtractor\";\n }\n\n return LoadableWithChunkExtractor;\n};\n\nvar identity = function identity(v) {\n return v;\n};\n\nfunction createLoadable(_ref) {\n var _ref$defaultResolveCo = _ref.defaultResolveComponent,\n defaultResolveComponent = _ref$defaultResolveCo === void 0 ? identity : _ref$defaultResolveCo,\n _render = _ref.render,\n onLoad = _ref.onLoad;\n\n function loadable(loadableConstructor, options) {\n if (options === void 0) {\n options = {};\n }\n\n var ctor = resolveConstructor(loadableConstructor);\n var cache = {};\n /**\n * Cachekey represents the component to be loaded\n * if key changes - component has to be reloaded\n * @param props\n * @returns {null|Component}\n */\n\n function _getCacheKey(props) {\n if (options.cacheKey) {\n return options.cacheKey(props);\n }\n\n if (ctor.resolve) {\n return ctor.resolve(props);\n }\n\n return 'static';\n }\n /**\n * Resolves loaded `module` to a specific `Component\n * @param module\n * @param props\n * @param Loadable\n * @returns Component\n */\n\n\n function resolve(module, props, Loadable) {\n var Component = options.resolveComponent ? options.resolveComponent(module, props) : defaultResolveComponent(module);\n\n if (options.resolveComponent && !isValidElementType(Component)) {\n throw new Error(\"resolveComponent returned something that is not a React component!\");\n }\n\n hoistNonReactStatics(Loadable, Component, {\n preload: true\n });\n return Component;\n }\n\n var InnerLoadable = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(InnerLoadable, _React$Component);\n\n InnerLoadable.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var cacheKey = _getCacheKey(props);\n\n return _extends({}, state, {\n cacheKey: cacheKey,\n // change of a key triggers loading state automatically\n loading: state.loading || state.cacheKey !== cacheKey\n });\n };\n\n function InnerLoadable(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n result: null,\n error: null,\n loading: true,\n cacheKey: _getCacheKey(props)\n };\n invariant(!props.__chunkExtractor || ctor.requireSync, 'SSR requires `@loadable/babel-plugin`, please install it'); // Server-side\n\n if (props.__chunkExtractor) {\n // This module has been marked with no SSR\n if (options.ssr === false) {\n return _assertThisInitialized(_this);\n } // We run load function, we assume that it won't fail and that it\n // triggers a synchronous loading of the module\n\n\n ctor.requireAsync(props)[\"catch\"](function () {\n return null;\n }); // So we can require now the module synchronously\n\n _this.loadSync();\n\n props.__chunkExtractor.addChunk(ctor.chunkName(props));\n\n return _assertThisInitialized(_this);\n } // Client-side with `isReady` method present (SSR probably)\n // If module is already loaded, we use a synchronous loading\n // Only perform this synchronous loading if the component has not\n // been marked with no SSR, else we risk hydration mismatches\n\n\n if (options.ssr !== false && ( // is ready - was loaded in this session\n ctor.isReady && ctor.isReady(props) || // is ready - was loaded during SSR process\n ctor.chunkName && LOADABLE_SHARED.initialChunks[ctor.chunkName(props)])) {\n _this.loadSync();\n }\n\n return _this;\n }\n\n var _proto = InnerLoadable.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true; // retrieve loading promise from a global cache\n\n var cachedPromise = this.getCache(); // if promise exists, but rejected - clear cache\n\n if (cachedPromise && cachedPromise.status === STATUS_REJECTED) {\n this.setCache();\n } // component might be resolved synchronously in the constructor\n\n\n if (this.state.loading) {\n this.loadAsync();\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Component has to be reloaded on cacheKey change\n if (prevState.cacheKey !== this.state.cacheKey) {\n this.loadAsync();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n if (this.mounted) {\n this.setState(nextState, callback);\n }\n }\n /**\n * returns a cache key for the current props\n * @returns {Component|string}\n */\n ;\n\n _proto.getCacheKey = function getCacheKey() {\n return _getCacheKey(this.props);\n }\n /**\n * access the persistent cache\n */\n ;\n\n _proto.getCache = function getCache() {\n return cache[this.getCacheKey()];\n }\n /**\n * sets the cache value. If called without value sets it as undefined\n */\n ;\n\n _proto.setCache = function setCache(value) {\n if (value === void 0) {\n value = undefined;\n }\n\n cache[this.getCacheKey()] = value;\n };\n\n _proto.triggerOnLoad = function triggerOnLoad() {\n var _this2 = this;\n\n if (onLoad) {\n setTimeout(function () {\n onLoad(_this2.state.result, _this2.props);\n });\n }\n }\n /**\n * Synchronously loads component\n * target module is expected to already exists in the module cache\n * or be capable to resolve synchronously (webpack target=node)\n */\n ;\n\n _proto.loadSync = function loadSync() {\n // load sync is expecting component to be in the \"loading\" state already\n // sounds weird, but loading=true is the initial state of InnerLoadable\n if (!this.state.loading) return;\n\n try {\n var loadedModule = ctor.requireSync(this.props);\n var result = resolve(loadedModule, this.props, Loadable);\n this.state.result = result;\n this.state.loading = false;\n } catch (error) {\n console.error('loadable-components: failed to synchronously load component, which expected to be available', {\n fileName: ctor.resolve(this.props),\n chunkName: ctor.chunkName(this.props),\n error: error ? error.message : error\n });\n this.state.error = error;\n }\n }\n /**\n * Asynchronously loads a component.\n */\n ;\n\n _proto.loadAsync = function loadAsync() {\n var _this3 = this;\n\n var promise = this.resolveAsync();\n promise.then(function (loadedModule) {\n var result = resolve(loadedModule, _this3.props, {\n Loadable: Loadable\n });\n\n _this3.safeSetState({\n result: result,\n loading: false\n }, function () {\n return _this3.triggerOnLoad();\n });\n })[\"catch\"](function (error) {\n return _this3.safeSetState({\n error: error,\n loading: false\n });\n });\n return promise;\n }\n /**\n * Asynchronously resolves(not loads) a component.\n * Note - this function does not change the state\n */\n ;\n\n _proto.resolveAsync = function resolveAsync() {\n var _this4 = this;\n\n var _this$props = this.props,\n __chunkExtractor = _this$props.__chunkExtractor,\n forwardedRef = _this$props.forwardedRef,\n props = _objectWithoutPropertiesLoose(_this$props, [\"__chunkExtractor\", \"forwardedRef\"]);\n\n var promise = this.getCache();\n\n if (!promise) {\n promise = ctor.requireAsync(props);\n promise.status = STATUS_PENDING;\n this.setCache(promise);\n promise.then(function () {\n promise.status = STATUS_RESOLVED;\n }, function (error) {\n console.error('loadable-components: failed to asynchronously load component', {\n fileName: ctor.resolve(_this4.props),\n chunkName: ctor.chunkName(_this4.props),\n error: error ? error.message : error\n });\n promise.status = STATUS_REJECTED;\n });\n }\n\n return promise;\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n forwardedRef = _this$props2.forwardedRef,\n propFallback = _this$props2.fallback,\n __chunkExtractor = _this$props2.__chunkExtractor,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"forwardedRef\", \"fallback\", \"__chunkExtractor\"]);\n\n var _this$state = this.state,\n error = _this$state.error,\n loading = _this$state.loading,\n result = _this$state.result;\n\n if (options.suspense) {\n var cachedPromise = this.getCache() || this.loadAsync();\n\n if (cachedPromise.status === STATUS_PENDING) {\n throw this.loadAsync();\n }\n }\n\n if (error) {\n throw error;\n }\n\n var fallback = propFallback || options.fallback || null;\n\n if (loading) {\n return fallback;\n }\n\n return _render({\n fallback: fallback,\n result: result,\n options: options,\n props: _extends({}, props, {\n ref: forwardedRef\n })\n });\n };\n\n return InnerLoadable;\n }(React.Component);\n\n var EnhancedInnerLoadable = withChunkExtractor(InnerLoadable);\n var Loadable = React.forwardRef(function (props, ref) {\n return React.createElement(EnhancedInnerLoadable, Object.assign({\n forwardedRef: ref\n }, props));\n });\n Loadable.displayName = 'Loadable'; // In future, preload could use ``\n\n Loadable.preload = function (props) {\n ctor.requireAsync(props);\n };\n\n Loadable.load = function (props) {\n return ctor.requireAsync(props);\n };\n\n return Loadable;\n }\n\n function lazy(ctor, options) {\n return loadable(ctor, _extends({}, options, {\n suspense: true\n }));\n }\n\n return {\n loadable: loadable,\n lazy: lazy\n };\n}\n\nfunction defaultResolveComponent(loadedModule) {\n // eslint-disable-next-line no-underscore-dangle\n return loadedModule.__esModule ? loadedModule[\"default\"] : loadedModule[\"default\"] || loadedModule;\n}\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\n\nvar _createLoadable = /*#__PURE__*/createLoadable({\n defaultResolveComponent: defaultResolveComponent,\n render: function render(_ref) {\n var Component = _ref.result,\n props = _ref.props;\n return React.createElement(Component, props);\n }\n}),\n loadable = _createLoadable.loadable,\n lazy = _createLoadable.lazy;\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\n\nvar _createLoadable$1 = /*#__PURE__*/createLoadable({\n onLoad: function onLoad(result, props) {\n if (result && props.forwardedRef) {\n if (typeof props.forwardedRef === 'function') {\n props.forwardedRef(result);\n } else {\n props.forwardedRef.current = result;\n }\n }\n },\n render: function render(_ref) {\n var result = _ref.result,\n props = _ref.props;\n\n if (props.children) {\n return props.children(result);\n }\n\n return null;\n }\n}),\n loadable$1 = _createLoadable$1.loadable,\n lazy$1 = _createLoadable$1.lazy;\n/* eslint-disable no-underscore-dangle, camelcase */\n\n\nvar BROWSER = typeof window !== 'undefined';\n\nfunction loadableReady(done, _temp) {\n if (done === void 0) {\n done = function done() {};\n }\n\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? '' : _ref$namespace,\n _ref$chunkLoadingGlob = _ref.chunkLoadingGlobal,\n chunkLoadingGlobal = _ref$chunkLoadingGlob === void 0 ? '__LOADABLE_LOADED_CHUNKS__' : _ref$chunkLoadingGlob;\n\n if (!BROWSER) {\n warn('`loadableReady()` must be called in browser only');\n done();\n return Promise.resolve();\n }\n\n var requiredChunks = null;\n\n if (BROWSER) {\n var id = getRequiredChunkKey(namespace);\n var dataElement = document.getElementById(id);\n\n if (dataElement) {\n requiredChunks = JSON.parse(dataElement.textContent);\n var extElement = document.getElementById(id + \"_ext\");\n\n if (extElement) {\n var _JSON$parse = JSON.parse(extElement.textContent),\n namedChunks = _JSON$parse.namedChunks;\n\n namedChunks.forEach(function (chunkName) {\n LOADABLE_SHARED.initialChunks[chunkName] = true;\n });\n } else {\n // version mismatch\n throw new Error('loadable-component: @loadable/server does not match @loadable/component');\n }\n }\n }\n\n if (!requiredChunks) {\n warn('`loadableReady()` requires state, please use `getScriptTags` or `getScriptElements` server-side');\n done();\n return Promise.resolve();\n }\n\n var resolved = false;\n return new Promise(function (resolve) {\n window[chunkLoadingGlobal] = window[chunkLoadingGlobal] || [];\n var loadedChunks = window[chunkLoadingGlobal];\n var originalPush = loadedChunks.push.bind(loadedChunks);\n\n function checkReadyState() {\n if (requiredChunks.every(function (chunk) {\n return loadedChunks.some(function (_ref2) {\n var chunks = _ref2[0];\n return chunks.indexOf(chunk) > -1;\n });\n })) {\n if (!resolved) {\n resolved = true;\n resolve();\n }\n }\n }\n\n loadedChunks.push = function () {\n originalPush.apply(void 0, arguments);\n checkReadyState();\n };\n\n checkReadyState();\n }).then(done);\n}\n/* eslint-disable no-underscore-dangle */\n\n\nvar loadable$2 = loadable;\nloadable$2.lib = loadable$1;\nvar lazy$2 = lazy;\nlazy$2.lib = lazy$1;\nvar __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sharedInternals;\nexport default loadable$2;\nexport { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, lazy$2 as lazy, loadableReady };","import loadable from '@loadable/component'\n\nconst LazyModal = loadable(async () => {\n const Module = await import(`react-modal`)\n const Modal = Module.default\n // http://reactcommunity.org/react-modal/accessibility/\n Modal.setAppElement(`#___gatsby`)\n return Modal\n})\n\nexport default LazyModal\n","import { useEffect } from 'react'\n\nconst useOverflowYHidden = () => {\n useEffect(() => {\n document.querySelector('html').style.overflowY = 'hidden'\n return () => {\n document.querySelector('html').style.overflowY = 'auto'\n }\n })\n}\n\nexport default useOverflowYHidden","import React, { useMemo } from 'react'\nimport { useLocation } from '@reach/router'\nimport { Global } from '@emotion/react'\nimport { navigate } from 'gatsby'\nimport { globalStyles } from '../../styles'\nimport SiteMetadata from '../site-metadata'\nimport PageMetadata from '../page-metadata'\nimport LazyModal from './lazy-modal'\nimport useOverflowYHidden from '../../hooks/use-overflow-y-hidden'\n\nconst modalStyle = {\n content: {\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n border: 0,\n borderRadius: 0,\n padding: 0,\n },\n}\n\nconst Modal = ({ children, modalBackgroundPath, metadata = {} }) => {\n const location = useLocation()\n useOverflowYHidden()\n\n const modal = useMemo(\n () => ({\n close: ({ useBack = false } = {}) => {\n const referrer = location?.state?.referrer\n if (useBack && referrer) {\n return navigate(-1)\n }\n\n return navigate(referrer || modalBackgroundPath || '/', {\n state: {\n noScroll: true,\n },\n })\n },\n }),\n [modalBackgroundPath, location],\n )\n\n return (\n
\n \n \n \n modal.close({ useBack: true })}\n contentLabel=\"Modal\"\n >\n {children(modal)}\n \n
\n )\n}\n\nexport default Modal\n","import React from 'react'\nimport styled from '@emotion/styled'\nimport { mediaQueries } from '../../theme'\nimport Divider from '../shared/divider'\nimport Link from '../shared/link'\nimport { GoogleButton } from './social-buttons'\nimport RegistrationFormComponent from './registration-form'\n\nconst RegistrationForm = styled(RegistrationFormComponent)`\n margin-bottom: ${p => p.theme.space[6]};\n`\n\nconst Note = styled.p`\n font-size: ${p => p.theme.fontSizes[0]};\n text-align: center;\n max-width: 14.5rem;\n margin: 0 auto;\n`\n\nconst GoogleSignUpButton = styled(GoogleButton)`\n width: 100%;\n`\n\nconst Title = styled.h1`\n text-align: left;\n ${mediaQueries.sm} {\n font-size: ${p => p.theme.fontSizes[5]};\n margin: 0 0 ${p => p.theme.space[5]} 0;\n }\n`\n\nconst Container = styled.div``\n\nconst RegistrationCompact = ({ className, next }) => (\n \n Create an account\n Sign up with Google\n or sign up with email\n \n \n By signing up, you agree to the{' '}\n \n Terms of service\n {' '}\n and{' '}\n \n Privacy policy\n \n \n \n)\n\nexport default RegistrationCompact\n","import React, { useEffect, useState } from 'react'\nimport styled from '@emotion/styled'\n\nconst Flipper = styled.div`\n position: relative;\n`\n\nconst Card = styled.div`\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n transition: ${p => p.flipSpeed}s;\n backface-visibility: hidden;\n`\n\nconst Back = styled(Card)`\n position: ${p => (p.isFlipped ? 'relative' : 'absolute')};\n transform: rotateY(${p => (p.isFlipped ? 0 : -180)}deg);\n`\n\nconst Front = styled(Card)`\n position: ${p => (p.isFlipped ? 'absolute' : 'relative')};\n transform: rotateY(${p => (p.isFlipped ? 180 : 0)}deg);\n`\n\nconst CardFlip = ({ flipSpeed = 0.75, children, className, ...props }) => {\n const [isFlipped, setFlipped] = useState(props.isFlipped)\n\n useEffect(() => {\n if (props.isFlipped !== isFlipped) {\n setFlipped(props.isFlipped)\n }\n }, [props.isFlipped, isFlipped])\n\n return (\n \n \n {children[0]}\n \n \n {children[1]}\n \n \n )\n}\n\nexport default CardFlip\n","var _g;\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgArrowCircleRight(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-id\": \"background\",\n fill: \"transparent\",\n fillRule: \"nonzero\",\n d: \"M9 0a9 9 0 110 18A9 9 0 019 0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#000\",\n d: \"M9 .5a8.5 8.5 0 110 17 8.5 8.5 0 010-17z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n \"data-id\": \"arrow\",\n fill: \"#000\",\n fillRule: \"nonzero\",\n d: \"M7.5 6l4 3-4 3z\"\n }))));\n}\n\nexport default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgPHBhdGggZGF0YS1pZD0iYmFja2dyb3VuZCIgZmlsbD0idHJhbnNwYXJlbnQiIGZpbGwtcnVsZT0ibm9uemVybyIgZD0iTTksMCBDMTMuOTcwNTYyNywwIDE4LDQuMDI5NDM3MjUgMTgsOSBDMTgsMTMuOTcwNTYyNyAxMy45NzA1NjI3LDE4IDksMTggQzQuMDI5NDM3MjUsMTggMCwxMy45NzA1NjI3IDAsOSBDMCw0LjAyOTQzNzI1IDQuMDI5NDM3MjUsMCA5LDAgWiIvPgogICAgPHBhdGggc3Ryb2tlPSIjMDAwIiBkPSJNOSwwLjUgQzEzLjY5NDQyMDQsMC41IDE3LjUsNC4zMDU1Nzk2MyAxNy41LDkgQzE3LjUsMTMuNjk0NDIwNCAxMy42OTQ0MjA0LDE3LjUgOSwxNy41IEM0LjMwNTU3OTYzLDE3LjUgMC41LDEzLjY5NDQyMDQgMC41LDkgQzAuNSw0LjMwNTU3OTYzIDQuMzA1NTc5NjMsMC41IDksMC41IFoiLz4KICAgIDxwb2x5Z29uIGRhdGEtaWQ9ImFycm93IiBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIHBvaW50cz0iNy41IDYgMTEuNSA5IDcuNSAxMiIvPgogIDwvZz4KPC9zdmc+Cg==\";\nexport { SvgArrowCircleRight as ReactComponent };","import React, { useEffect, Fragment } from 'react'\nimport styled from '@emotion/styled'\nimport mousetrap from 'mousetrap'\nimport { ReactComponent as ArrowIcon } from 'assets/icons/arrow-circle-right.svg'\nimport { mediaQueries } from '../../theme'\nimport { withAttrs } from '../../utils'\nimport BaseLink from '../shared/link'\n\nconst Container = styled.div`\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n min-width: 6.75rem;\n`\n\nconst Title = styled.span`\n margin: 0 ${p => p.theme.space[2]};\n font-size: ${p => p.theme.fontSizes[1]};\n line-height: ${p => p.theme.lineHeights.solid};\n`\n\nconst RightArrow = styled(ArrowIcon)`\n display: block;\n ${mediaQueries.lg} {\n width: ${p => p.theme.space[8]};\n height: ${p => p.theme.space[8]};\n &:hover [data-id='background'] {\n fill: ${p => p.theme.colors.black[0]};\n }\n &:hover [data-id='arrow'] {\n fill: ${p => p.theme.colors.white};\n }\n }\n`\n\nconst LeftArrow = styled(RightArrow)`\n transform: rotateY(180deg);\n`\n\nconst Link = styled(BaseLink)`\n cursor: pointer;\n`\n\nconst GalleryLink = styled(\n withAttrs(Link, { variant: 'nav', to: '/templates/' }),\n)`\n font-size: ${p => p.theme.fontSizes[1]};\n`\n\nconst useNavigation = (current, items = []) => {\n const len = items.length\n const idx = items.indexOf(current)\n const title = `${idx + 1} of ${len}`\n const prev = () => items[(idx + len - 1) % len]\n const next = () => items[(idx + 1) % len]\n\n return [title, prev, next]\n}\n\nconst PreviewNavigation = ({ className, current, items, onNavigate }) => {\n const [title, prev, next] = useNavigation(current, items)\n\n useEffect(() => {\n mousetrap.bind(`left`, () => onNavigate(prev()))\n mousetrap.bind(`right`, () => onNavigate(next()))\n\n return () => {\n mousetrap.unbind(`left`)\n mousetrap.unbind(`right`)\n }\n }, [prev, next, onNavigate])\n\n return (\n \n {items.length > 0 ? (\n \n onNavigate(prev())}>\n \n \n {title}\n onNavigate(next())}>\n \n \n \n ) : (\n Show all ➞\n )}\n \n )\n}\n\nexport default PreviewNavigation\n","import React, { Fragment } from 'react'\nimport styled from '@emotion/styled'\nimport { css } from '@emotion/react'\nimport { mediaQueries } from '../../theme'\nimport { withAttrs } from '../../utils'\nimport { H4 } from '../shared/type'\nimport Button from '../shared/button'\nimport Loader from '../shared/loader'\n\nconst OuterContainer = styled.div`\n display: flex;\n flex-flow: column nowrap;\n`\n\nconst Title = styled(H4)`\n margin: ${p => `0 0 ${p.theme.space[5]}`};\n`.withComponent('h1')\n\nconst Description = styled.p`\n margin: 0 0 ${p => p.theme.space[6]};\n font-size: ${p => p.theme.fontSizes[1]};\n`\n\nconst StartButton = styled(withAttrs(Button, { type: 'button' }))`\n width: 100%;\n min-height: 3.75rem;\n cursor: pointer;\n`\n\nconst MobileCta = styled(withAttrs(Button, { type: 'button', size: 'small' }))`\n padding: ${p => `${p.theme.space[2]} ${p.theme.space[6]}`};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n :before {\n content: 'Take it';\n\n ${mediaQueries.md} {\n content: 'Take this template';\n }\n }\n`\n\nconst Cta = ({ className, onAction, showLoader }) => (\n \n Like the template?\n \n Use the template as is or make any changes to create a unique form.\n \n \n {showLoader ? : 'Take this template'}\n \n \n)\n\nconst PreviewCta = ({ className, onAction, showLoader }) => (\n \n onAction({ source: 'mobile' })}\n className={className}\n css={css`\n ${mediaQueries.lg} {\n display: none;\n }\n `}\n />\n onAction({ source: 'desktop' })}\n className={className}\n css={css`\n display: none;\n ${mediaQueries.lg} {\n display: block;\n }\n `}\n />\n \n)\n\nexport default PreviewCta\n","import React from 'react'\nimport styled from '@emotion/styled'\nimport { DesktopIcon, MobileIcon } from '../../assets/icons/common'\nimport { withAttrs } from '../../utils'\n\nconst Container = styled.div``\n\nconst Button = styled.button`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 2.5rem;\n height: 2.5rem;\n border: 2px solid\n ${p => (p.selected ? p.theme.colors.black[0] : 'transparent')};\n border-radius: ${p => p.theme.space[2]};\n background: transparent;\n cursor: pointer;\n\n :hover {\n border-color: ${p => !p.selected && p.theme.colors.black[0]};\n }\n`\n\nconst Desktop = styled(withAttrs(Button, { children: }))``\n\nconst Mobile = styled(withAttrs(Button, { children: }))`\n margin-left: ${p => p.theme.space[2]};\n`\n\nconst DeviceSwitch = ({ device, onChange, className }) => (\n \n onChange('desktop')}\n />\n\n onChange('mobile')} />\n \n)\n\nexport default DeviceSwitch\n","import styled from '@emotion/styled'\nimport { mediaQueries } from '../../theme'\nimport { withAttrs } from '../../utils'\n\nconst PreviewFrame = styled(withAttrs('iframe', { frameBorder: 0 }))`\n display: block;\n flex: 1;\n\n ${mediaQueries.md} {\n ${p =>\n p.device === 'mobile' &&\n `\n flex: none;\n width: 25.875rem;\n height: 41.75rem;\n margin: auto;\n border: 1px solid ${p.theme.colors.gray[5]};\n `}\n }\n`\n\nexport default PreviewFrame\n","import styled from '@emotion/styled'\nimport { mediaQueries } from '../../theme'\nimport { withAttrs } from '../../utils'\nimport BaseButton from '../shared/button'\n\nconst ThemeSwitch = styled(\n withAttrs(BaseButton, { variant: 'outline', size: 'small' }),\n)`\n width: 4.75rem;\n padding: ${p => `${p.theme.space[2]} ${p.theme.space[4]}`};\n background: transparent;\n\n :before {\n content: '${p => (p.themeName === 'dark' ? 'Light' : 'Dark')}';\n }\n\n ${mediaQueries.md} {\n width: 5.875rem;\n\n :before {\n content: '${p => (p.themeName === 'dark' ? 'To light' : 'To dark')}';\n }\n }\n`\nexport default ThemeSwitch\n","import styled from '@emotion/styled'\nimport React, { useState } from 'react'\nimport { navigate } from 'gatsby'\nimport { ReactComponent as CloseIcon } from 'assets/icons/close.svg'\nimport { mediaQueries } from '../../theme'\nimport { withAttrs, isInsideIframe } from '../../utils'\nimport { isAuthenticated } from '../../utils/auth'\nimport { APP_URL } from '../../environment'\nimport Modal from '../shared/modal'\nimport RegistrationComponent from '../auth/registration-compact'\nimport LoginComponent from '../auth/login'\nimport CardFlip from '../shared/card-flip'\nimport PreviewNavigation from './preview-navigation'\nimport PreviewCta from './preview-cta'\nimport BaseDeviceSwitch from './device-switch'\nimport PreviewFrame from './preview-frame'\nimport BaseThemeSwitch from './theme-switch'\n\nconst Login = styled(LoginComponent)`\n display: none;\n ${mediaQueries.lg} {\n display: block;\n grid-row: 1;\n grid-column: 1/4;\n }\n`\n\nconst RegistrationCompact = styled(RegistrationComponent)`\n display: none;\n ${mediaQueries.lg} {\n display: block;\n grid-row: 2;\n grid-column: 1/4;\n }\n`\n\nconst OuterContainer = styled.div`\n display: flex;\n flex-flow: column nowrap;\n width: 100%;\n height: 100%;\n\n ${mediaQueries.lg} {\n flex-flow: row nowrap;\n overflow: hidden;\n }\n`\n\nconst DeviceSwitch = styled(BaseDeviceSwitch)`\n display: none;\n\n ${mediaQueries.md} {\n display: flex;\n grid-column: 2;\n }\n\n ${mediaQueries.lg} {\n grid-column: 1;\n }\n`\n\nconst Panel = styled.div`\n display: grid;\n grid-template-columns: 1fr 4.75rem 5.4375rem 1fr;\n grid-template-rows: auto 1fr auto;\n grid-column-gap: ${p => p.theme.space[4]};\n align-items: center;\n background-color: ${p => p.theme.colors.preview.background};\n\n ${mediaQueries.md} {\n grid-template-columns: 1fr 5.5rem 5.875rem 10.725rem 1fr;\n grid-column-gap: ${p => p.theme.space[5]};\n }\n\n ${mediaQueries.lg} {\n grid-template-columns: 5.5rem 6.375rem auto;\n height: 100%;\n width: 20rem;\n justify-items: stretch;\n }\n`\n\nconst FrontPanel = styled(Panel)`\n padding: ${p => `${p.theme.space[3]} ${p.theme.space[4]}`};\n\n ${mediaQueries.lg} {\n padding: ${p => p.theme.space[6]};\n }\n`\n\nconst BackPanel = styled(Panel)`\n padding: ${p =>\n `${p.theme.space[8]} ${p.theme.space[6]} ${p.theme.space[6]}`};\n`\n\nconst Navigation = styled(PreviewNavigation)`\n grid-column: 1;\n grid-row: 1;\n justify-self: flex-start;\n\n ${mediaQueries.lg} {\n grid-column: 1/4;\n grid-row: 3;\n justify-self: auto;\n }\n`\n\nconst Cta = styled(PreviewCta)`\n ${mediaQueries.md} {\n grid-column: 4;\n }\n\n ${mediaQueries.lg} {\n grid-row: 2;\n grid-column: 1/4;\n }\n`\n\nconst Frame = styled(PreviewFrame)`\n ${mediaQueries.lg} {\n order: -1;\n }\n`\n\nconst ThemeSwitch = styled(BaseThemeSwitch)`\n justify-self: flex-end;\n grid-column: 2;\n\n ${mediaQueries.md} {\n grid-column: 3;\n }\n\n ${mediaQueries.lg} {\n grid-column: 2;\n justify-self: center;\n }\n`\n\nconst Close = styled(withAttrs(CloseIcon, { as: 'a' }))`\n grid-row: 1;\n grid-column: 4;\n justify-self: flex-end;\n cursor: pointer;\n\n ${mediaQueries.md} {\n grid-column: 5;\n }\n\n ${mediaQueries.lg} {\n grid-column: 3;\n width: 1rem;\n height: 1rem;\n transition: transform 0.3s;\n\n :hover {\n transform: rotate(90deg);\n }\n }\n`\n\nconst PreviewModal = ({\n templateId,\n templates = [],\n defaultTheme,\n defaultDevice,\n modalBackgroundPath,\n ...rest\n}) => {\n const [theme, setTheme] = useState(defaultTheme)\n const [device, setDevice] = useState(defaultDevice)\n const [loading, setLoading] = useState(false)\n const cloneRelativeUrl = `/clone/${templateId}?colorMode=${theme}`\n const cloneUrl = `${APP_URL}${cloneRelativeUrl}`\n const previewUrl = `${APP_URL}/preview/${templateId}?colorMode=${theme}`\n\n const [isFlipped, setFlipped] = useState(false)\n\n const flipCard = () => setFlipped(!isFlipped)\n\n const handleThemeToggle = () => setTheme(theme === 'dark' ? 'light' : 'dark')\n\n const handleDeviceChange = device => setDevice(device)\n\n const handleNavigate = tplId =>\n navigate(`/p/${tplId}`, {\n state: { modal: true, templates, noReferrer: true },\n replace: true,\n })\n\n const handleAction = ({ source }) => {\n // embedded in iframe\n if (isInsideIframe()) {\n setLoading(true)\n return window.parent.postMessage(\n {\n event: 'template-selected',\n widgetId: templateId,\n colorMode: theme,\n },\n '*',\n )\n }\n\n if (isAuthenticated()) {\n window.location = cloneUrl\n return\n }\n\n if (source === 'mobile') {\n return navigate(`/start/?next=${encodeURIComponent(cloneRelativeUrl)}`)\n } else {\n flipCard()\n }\n }\n\n return (\n \n {modal => (\n \n \n \n \n \n \n \n modal.close({ useBack: true })} />\n \n \n \n \n \n \n \n\n \n \n )}\n \n )\n}\n\nexport default PreviewModal\n","import React from 'react'\nimport PreviewModal from '../components/preview/preview-modal'\n\nconst getUrlParams = url => {\n try {\n const currentUrl = new URL(url)\n return {\n colorMode: currentUrl.searchParams.get('colorMode'),\n device: currentUrl.searchParams.get('device'),\n }\n } catch {\n return { colorMode: null, device: null }\n }\n}\n\nexport default function WidgetTemplate({ templateId, location }) {\n const urlParams = getUrlParams(location.href)\n\n const templates = location.state?.templates || []\n const defaultDevice =\n urlParams.device || location.state?.defaultDevice || 'desktop'\n const defaultTheme =\n urlParams.colorMode || location.state?.defaultTheme || 'light'\n\n const metadata = {\n title: 'Getform – The Most Intuitive Online Form Builder',\n description:\n 'Use custom online forms to conduct research and generate leads. Create a form, copy a direct link to it, and share that link anywhere. No website required.',\n keywords: 'online form builder',\n twitterCard: 'summary_large_image',\n robots: 'noindex',\n }\n\n return (\n \n )\n}\n","import React from 'react'\n\nexport const slugify = value => value.toLowerCase().replace(/\\s+/g, '-')\n\nexport const withAttrs = (Component, attrs) => props =>\n \n\nexport function isInsideIframe() {\n try {\n return typeof window !== 'undefined' && window.self !== window.top\n } catch (e) {\n return true\n }\n}\n\nconst formatter = new Intl.NumberFormat('en-US', {\n style: 'decimal',\n})\n\nexport function formatNumber(value, sep = ' ') {\n return formatter\n .formatToParts(value)\n .filter(part => part.type === 'integer')\n .map(part => part.value)\n .join(sep)\n}\n\nexport const chunkArray = (array, size) =>\n array.reduce((acc, _, i) => {\n if (i % size === 0) acc.push(array.slice(i, i + size))\n return acc\n }, [])\n"],"names":["window","document","undefined","_REVERSE_MAP","_MAP","_KEYCODE_MAP","_SHIFT_MAP","_SPECIAL_ALIASES","test","navigator","platform","i","toString","Mousetrap","prototype","bind","keys","callback","action","self","this","Array","_bindMultiple","call","unbind","trigger","_directMap","reset","_callbacks","stopCallback","e","element","className","indexOf","_belongsTo","target","composedPath","initialEventTarget","tagName","isContentEditable","handleKey","_handleKey","apply","arguments","addKeycodes","object","key","hasOwnProperty","init","documentMousetrap","method","charAt","module","exports","_addEvent","type","addEventListener","attachEvent","_characterFromEvent","character","String","fromCharCode","which","shiftKey","toLowerCase","_isModifier","_pickBestAction","modifiers","_getReverseMap","length","_getKeyInfo","combination","replace","split","_keysFromString","push","ancestor","parentNode","targetElement","_resetTimer","_sequenceLevels","_ignoreNextKeyup","_ignoreNextKeypress","_nextExpectedAction","_resetSequences","doNotReset","activeSequences","_getMatches","sequenceName","level","modifiers1","modifiers2","matches","seq","metaKey","ctrlKey","sort","join","deleteCombo","combo","deleteSequence","splice","_fireCallback","sequence","srcElement","preventDefault","returnValue","_preventDefault","stopPropagation","cancelBubble","_stopPropagation","_handleKeyEvent","keyCode","altKey","_eventModifiers","_bindSequence","_increaseSequence","nextAction","clearTimeout","setTimeout","_callbackAndReset","wrappedCallback","_bindSingle","info","callbacks","maxLevel","processedSequenceCallback","Math","max","ignoreThisKeypress","combinations","_path","_extends","Object","assign","source","SvgDesktop","props","xmlns","width","height","viewBox","d","SvgMobile","SvgRadioChecked","SvgRadioUnchecked","_assertThisInitialized","ReferenceError","invariant","condition","message","error","Error","framesToPop","name","Context","LOADABLE_SHARED","initialChunks","STATUS_PENDING","STATUS_REJECTED","identity","v","createLoadable","_ref","_ref$defaultResolveCo","defaultResolveComponent","_render","render","onLoad","loadable","loadableConstructor","options","ctor","requireAsync","resolve","chunkName","resolveConstructor","cache","_getCacheKey","cacheKey","Loadable","Component","resolveComponent","isValidElementType","preload","LoadableWithChunkExtractor","InnerLoadable","_React$Component","_this","state","result","loading","__chunkExtractor","requireSync","ssr","loadSync","addChunk","isReady","getDerivedStateFromProps","_proto","componentDidMount","mounted","cachedPromise","getCache","status","setCache","loadAsync","componentDidUpdate","prevProps","prevState","componentWillUnmount","safeSetState","nextState","setState","getCacheKey","value","triggerOnLoad","_this2","console","fileName","_this3","promise","resolveAsync","then","loadedModule","_this4","_this$props","forwardedRef","_this$props2","propFallback","fallback","_this$state","suspense","ref","EnhancedInnerLoadable","Consumer","extractor","displayName","load","lazy","_createLoadable","__esModule","_createLoadable$1","current","children","loadable$1","lazy$1","loadable$2","lib","LazyModal","Module","Modal","default","setAppElement","useEffect","querySelector","style","overflowY","modalStyle","content","top","left","right","bottom","border","borderRadius","padding","modalBackgroundPath","metadata","location","useLocation","useOverflowYHidden","modal","useMemo","close","useBack","referrer","navigate","noScroll","styles","globalStyles","isOpen","onRequestClose","contentLabel","RegistrationForm","RegistrationFormComponent","p","theme","space","Note","fontSizes","GoogleSignUpButton","GoogleButton","Title","mediaQueries","Container","next","size","password","variant","to","_g","Flipper","Card","flipSpeed","Back","isFlipped","Front","useState","setFlipped","SvgArrowCircleRight","fill","fillRule","stroke","lineHeights","solid","RightArrow","ArrowIcon","colors","black","white","LeftArrow","Link","BaseLink","GalleryLink","withAttrs","items","onNavigate","len","idx","useNavigation","title","prev","mousetrap","Fragment","onClick","OuterContainer","H4","withComponent","Description","StartButton","Button","MobileCta","Cta","onAction","showLoader","css","selected","Desktop","Mobile","device","onChange","frameBorder","gray","BaseButton","themeName","Login","LoginComponent","RegistrationCompact","RegistrationComponent","DeviceSwitch","BaseDeviceSwitch","Panel","preview","background","FrontPanel","BackPanel","Navigation","PreviewNavigation","PreviewCta","Frame","PreviewFrame","ThemeSwitch","BaseThemeSwitch","Close","as","templateId","templates","defaultTheme","defaultDevice","rest","setTheme","setDevice","setLoading","cloneRelativeUrl","cloneUrl","APP_URL","previewUrl","flipCard","handleThemeToggle","handleDeviceChange","handleNavigate","tplId","noReferrer","handleAction","isInsideIframe","parent","postMessage","event","widgetId","colorMode","isAuthenticated","encodeURIComponent","src","WidgetTemplate","urlParams","url","currentUrl","URL","searchParams","get","getUrlParams","href","description","keywords","twitterCard","robots","slugify","attrs","formatter","Intl","NumberFormat","formatNumber","sep","formatToParts","filter","part","map","chunkArray","array","reduce","acc","_","slice"],"sourceRoot":""}