{"version":3,"file":"js/4663-a15ce32e6a881daee7f0.js","mappings":"ygBACA,QAAgB,MACdA,OADc,IAEXC,EAAK,cACJ,qCAAKC,MAAM,MAAMC,OAAO,KAAKC,MAAM,8BAAiCH,GAAO,wBAAMI,EAAE,0pxBAA0pxBC,KAAK,SAAe,C,scCHvwxB,QAAgB,MACdN,OADc,IAEXC,EAAK,cACJ,qCAAKC,MAAM,MAAMC,OAAO,MAAMC,MAAM,8BAAiCH,GAAO,wBAAMI,EAAE,8o3BAA8o3BC,KAAK,SAAe,C,kDCD5v3B,MAAMC,EAAkB,EACtBC,MAAKC,SAAQC,MAAKV,YAElB,+BACE,0BAAQW,OAAQF,EAAOG,KAAI,EAAGC,MAAKC,UAAWA,EAAQ,GAAED,KAAOC,IAASD,IAAKE,KAAK,QAClF,uBAAKF,IAAM,GAAEL,IAAOE,IAAKA,EAAKM,MAAOhB,KAczCO,EAAgBU,aAAe,CAC7BP,IAAK,GACLV,OAAQ,CAAC,E,goDCXX,MAAMkB,EAAYC,EAAAA,GAAOC,IAAG,gEAAVD,CAAU,aACvBlB,IAA0B,IAAhBA,EAAMoB,OACb,8EAKHpB,IAA0B,IAAhBA,EAAMoB,OACb,qGAQR,IAAIC,EAEJ,MAAMC,EAAatB,IACjB,MACEuB,EACEvB,EADFuB,QAASC,EACPxB,EADOwB,SAAS,EAChBxB,EADiByB,MAAAA,OAAK,MAAG,GAAE,EAAEC,EAC7B1B,EAD6B0B,YAAaC,EAC1C3B,EAD0C2B,SAAUC,EACpD5B,EADoD4B,QAASR,EAC7DpB,EAD6DoB,MAAOS,EACpE7B,EADoE6B,OAAQC,EAC5E9B,EAD4E8B,OAAO,EACnF9B,EADoF+B,WAAAA,OAAU,MAAG,aAAY,IAC7G/B,EAD+GgC,KAAAA,OAAI,MAAG,SAAQ,IAC9HhC,EADgIiC,OAAAA,OAAM,MAAG,CAAC,EAAC,EAAEC,EAC7IlC,EAD6IkC,YAAgBC,EAAS,EACtKnC,EAAK,GAEHoC,GAAWC,EAAAA,EAAAA,QAAO,OAExBC,EAAAA,EAAAA,YAAU,KACR,MAAMC,EAAgB,OACjBhB,GAAO,IACVQ,aACAS,UAAUC,IACDC,EAAAA,EAAAA,GAAMD,EAAMV,EAAY,IAAIY,KAAQ,CAAEV,OAAQW,EAAAA,IAEvDC,WAAWC,GACFC,EAAAA,EAAgBC,cAAcF,EAASf,GAEhDC,OACAC,OAAO,EAAD,KACDgB,EAAAA,QACAhB,GAELC,gBAsBF,OApBIP,IACFY,EAAiBZ,SAAWA,GAE1BC,IACFW,EAAiBX,QAAUA,GAEzBE,IACFS,EAAiBT,OAASA,GAE5BS,EAAiBW,QAAU,KACrBd,EAASe,QAAQC,MACnBhB,EAASe,QAAQC,MACnB,EAGF/B,GAAoBgC,EAAAA,EAAAA,GAAUjB,EAASe,QAASZ,GAC5Cd,GACFJ,EAAkBiC,QAAQ7B,GAAO,GAG5B,KACDJ,IACFA,EAAkBkC,UAClBlC,EAAoB,KACtB,CACD,GACA,KAEHiB,EAAAA,EAAAA,YAAU,KACJb,GAASJ,GACXA,EAAkBiC,QAAQ7B,GAAO,EACnC,GACC,CAACA,IASJ,OACE,gBAACR,EAAS,CAACG,MAAOA,GACfG,EAAQiC,KACL,uCAASrB,EAAS,CAAEsB,IAAKrB,IAAWZ,GATtCE,EACKgC,EAAAA,aAAmBhC,EAAY,EAAD,CAAI+B,IAAKrB,EAAUP,UAAWM,GAAa,MAE3E,yCAAWA,EAAS,CAAEN,OAAQA,EAAQ4B,IAAKrB,KAQtC,EAoBhBd,EAAUN,aAAe,CACvBO,QAAS,CAAC,EACVC,cAAUmC,EACVlC,WAAOkC,EACPjC,iBAAaiC,EACbhC,cAAUgC,EACV/B,aAAS+B,EACTvC,WAAOuC,EACP9B,YAAQ8B,EACR7B,YAAQ6B,EACR5B,gBAAY4B,EACZ3B,KAAM,SACNC,OAAQ,CAAC,EACTC,YAAa,MCpIR,MAAM0B,EAAiB1C,EAAAA,GAAOC,IAAG,oEAAVD,CAAU,2D,4iDCMxC,MAAM2C,EAAkB,QACtBC,EAAI,EAAJA,KAAMvC,EAAO,EAAPA,QAASwC,EAAY,EAAZA,aAAcrC,EAAW,EAAXA,YAAasC,EAAO,EAAPA,QAASC,EAAO,EAAPA,QAASlC,EAAU,EAAVA,WAAYmC,EAAe,EAAfA,gBAAiBC,EAAW,EAAXA,YAAaxC,EAAQ,EAARA,SAAS,EAAD,EAAEyC,cAAAA,OAAa,OAAO,EAAKC,EAAI,cAE7I,gBAACT,EAAc,KACb,gBAACtC,EAAS,eACRC,QAAO,OACFA,GAAO,IACVyC,UACAC,UACAG,kBAEFN,KAAMA,EACNpC,YAAaA,GAAe,gBAAC4C,EAAA,EAAK,CAACrE,MAAM,OAAOsE,KAAMA,EAAAA,QAAMR,aAAcA,IAC1EI,YAAaA,GAAeD,EAC5BnC,WAAYA,EACZJ,SAAW6C,GAAQ7C,EAASmC,EAAoB,UAAdO,EAAKrC,KAAmBwC,EAAMA,EAAI,KAChEH,IAES,EAiBnBR,EAAgB7C,aAAe,CAC7BO,QAAS,CAAC,EACVwC,aAAc,OACdK,eAAe,EACf1C,iBAAaiC,EACbK,aAASL,EACTM,aAASN,EACT5B,gBAAY4B,EACZO,qBAAiBP,EACjBQ,iBAAaR,GAGf,S,iJCxCA,MAAMc,EAAMvD,EAAAA,GAAOC,IAAG,yDAAVD,CAAU,wBAIhBwD,EAAQxD,EAAAA,GAAOC,IAAG,2DAAVD,CAAU,gGAOnBlB,GAAUA,EAAM2E,OAAU,UAASC,EAAAA,QAGlCC,EAAiB3D,EAAAA,GAAOC,IAAG,oEAAVD,CAAU,sBAI3B4D,EAAU5D,EAAAA,GAAOC,IAAG,6DAAVD,CAAU,wBAGtB6D,EAAAA,GAAMC,MAAO;;KAKXC,EAAgB/D,EAAAA,GAAOC,IAAG,mEAAVD,CAAU,uGAEpBlB,GAAUA,EAAMkF,UAAYC,EAAAA,GAAgBP,EAAAA,KAOlDQ,EAAwBlE,EAAAA,GAAOC,IAAG,2EAAVD,CAAU,8EACvBmE,EAAAA,GACNT,EAAAA,IAMLU,EAAmBC,EAAAA,KAAaC,MAAM,CAC1CC,QAASF,EAAAA,KACNG,QAAQ,aAAc,uCACtBC,SAAS,6BACZC,MAAOL,EAAAA,KACJG,QACC,2CACA,8FAEDC,SAAS,+BAQRE,EAAO,EAAGC,gBAAeC,kBAC7B,gBAAC,KAAM,CAACD,cAAeA,EAAeE,SAAUD,EAAcT,iBAAkBA,IAC7E,EACCW,SAAQC,SAAQC,UAASC,eAAcC,aAAYC,eAAcC,YAEjE,gBAAC,KAAU,KACT,gBAAC9B,EAAG,KACF,gBAACC,EAAK,CAACC,MAAOuB,EAAOT,SAAWU,EAAQV,SAAS,sBACjD,gBAACZ,EAAc,KACb,gBAAC,IAAK,CACJV,YAAY,QACZqC,KAAK,OACL1C,KAAK,UACLnC,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOR,QACdrE,MAAO+E,EAAQV,UAAYS,EAAOT,WAGtC,gBAAC,KAAY,CAACgB,UAAWrB,EAAuBtB,KAAK,aAEvD,gBAACW,EAAG,KACF,gBAACC,EAAK,CAACC,MAAOuB,EAAON,OAASO,EAAQP,OAAO,0CAC7C,gBAACf,EAAc,KACb,gBAAC,IAAK,CACJV,YAAY,iBACZqC,KAAK,OACL1C,KAAK,QACLnC,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOL,MACdxE,MAAO+E,EAAQP,QAAUM,EAAON,SAGpC,gBAAC,KAAY,CAACa,UAAWrB,EAAuBtB,KAAK,WAEvD,gBAACW,EAAG,KACF,gBAACC,EAAK,KAAC,oCACP,gBAAC,IAAa,CACZZ,KAAK,UACLrC,MAAOwE,EAAOS,QACd/E,SAAUyE,EACVvE,OAAQwE,KAGZ,gBAACvB,EAAO,KACN,gBAAC,IAAG,CACF0B,KAAK,SACLG,KAAK,UACLC,UAAWN,EACXO,SAAUP,GAAiBC,GAAUA,EAAOO,QAC5CC,MAAOC,EAAAA,MAGVT,GAAUA,EAAOO,SAAW,gBAAC7B,EAAa,CAACC,WAAS,GAAC,wDACrDqB,IAAWA,EAAOO,SAAW,gBAAC7B,EAAa,KAAC,oD,mHCzHrD,MAAMgC,EAAQ/F,EAAAA,GAAOX,IAAG,4DAAVW,CAAU,qDAKpB6D,EAAAA,GAAMC,MAAO;;KAKXkC,EAAQ,EAAGC,UACf,gCACI,yMAAoLA,qEACtL,+BACE,0BACEpC,MAAM,qBACNrE,OAAS,GAAE0G,SAAoBC,SAEjC,0BACEtC,MAAM,qBACNrE,OAAS,GAAE4G,SAAcC,SAE3B,gBAACN,EAAK,CACJrG,IAAK0G,EACL7G,IAAI,4DAGR,2BAAK,kF,kBCpCF,IAAK+G,E,iBAKX,SALWA,GAAAA,EAAS,cAATA,EAAS,wBAATA,EAAS,sBAATA,EAAS,oCAKpB,CALWA,IAAAA,EAAS,I,6mCCId,MAAMlC,EAAmBC,EAAAA,KAAaC,MAAM,CACjDiC,MAAOlC,EAAAA,KACJI,SAAS,6BACZ+B,cAAenC,EAAAA,KACZoC,OACAhC,SAAS,6BACTiC,IAAIC,EAAAA,GAAqB,6BAA4BA,EAAAA,qBACrDC,IAAIC,EAAAA,GAAqB,sEAAkEA,EAAAA,2DAE9FC,SAAUzC,EAAAA,KACP0C,MAAM,EAAC,GAAO,6EACjBC,SAAU3C,EAAAA,KAAWI,SAAS,6BAA6BwC,UAAU,kDAG1DC,EAA8B,CACzC,CAACZ,EAAAA,EAAUa,OAAQ9C,EAAAA,KAAaC,MAAM,CACpCiC,MAAOlC,EAAAA,KACJI,SAAS,+BAEd,CAAC6B,EAAAA,EAAUc,YAAa/C,EAAAA,KAAaC,MAAM,CACzCkC,cAAenC,EAAAA,KACZoC,OACAhC,SAAS,6BACTiC,IAAIC,EAAAA,GAAqB,6BAA4BA,EAAAA,qBACrDC,IAAIC,EAAAA,GAAqB,sEAAkEA,EAAAA,2DAC9FG,SAAU3C,EAAAA,KAAWI,SAAS,6BAA6BwC,UAAU,kDAEvE,CAACX,EAAAA,EAAUe,WAAYhD,EAAAA,KAAaC,MAAM,CACxCgD,kBAAmBjD,EAAAA,KAAaI,SAAS,6BACzC8C,iBAAkBlD,EAAAA,KAAa0C,MAAM,CAAC,IAAK,MAC3CD,SAAUzC,EAAAA,KACPmD,KAAK,CAAC,oBAAqB,oBAAqB,CAC/CC,GAAI,CAACH,EAAmBC,IAAqBD,IAAsBI,EAAAA,GAAmBC,aAAoC,MAArBJ,EACrGK,KAAMvD,EAAAA,KACH0C,MAAM,EAAC,GAAO,iFAGvB,CAACT,EAAAA,EAAUuB,kBAAmBxD,EAAAA,KAAaC,MAAM,CAC/CC,QAASF,EAAAA,KAAamD,KAAK,CAAC,oBAAqB,oBAAqB,CACpEC,GAAI,CAACH,EAAmBC,IAAqBD,IAAsBI,EAAAA,GAAmBC,aAAoC,MAArBJ,EACrGK,KAAMvD,EAAAA,KACHG,QAAQ,aAAc,uCACtBC,SAAS,+BAEdC,MAAOL,EAAAA,KACJmD,KAAK,CAAC,oBAAqB,oBAAqB,CAC/CC,GAAI,CAACH,EAAmBC,IAAqBD,IAAsBI,EAAAA,GAAmBC,aAAoC,MAArBJ,EACrGK,KAAMvD,EAAAA,KACHG,QACC,2CACA,8FAEDC,SAAS,+BAEhBqC,SAAUzC,EAAAA,KACP0C,MAAM,EAAC,GAAO,gFAIRe,EAAoB,CAC/BvB,MAAO,GACPwB,iBAAkB,GAClBC,gBAAiB,GACjBC,aAAc,GACdC,cAAe,GACfC,uBAAwB,GACxB3B,cAAe,GACfM,UAAU,EACVE,cAAUvE,EACV6E,kBAAmBI,EAAAA,GAAmBC,YACtCJ,iBAAkB,KAGPa,EAA4B,OACpCN,GAAiB,IACpBR,kBAAmB,GACnB/C,QAAS,GACTG,MAAO,I,sEC7ET,MAAM3E,EAAYC,EAAAA,GAAOC,IAAG,gEAAVD,CAAU,qEAIjBqI,EAAAA,IAGLC,EAAStI,EAAAA,GAAOuI,EAAC,6DAARvI,CAAQ,wBAIjBwI,EAAOxI,EAAAA,GAAOyI,EAAC,2DAARzI,CAAQ,SAChBlB,GAAUA,EAAM4J,iBAAkBC,EAAAA,EAAAA,IAAG,iCAOpCC,EAAW,EAAGF,qBAClB,MAAMG,EAASH,EAAiB,4BAA8B,wBAE9D,OACE,gBAAC3I,EAAS,KACP2I,EAAkB,8OAGd,+XAIH,gLAGF,gBAACJ,EAAM,KAAC,iBAAsB,0FAE7B,IACD,gBAACE,EAAI,CAACE,gBAAc,EAACI,KAAO,UAASD,KAAWA,GAC/C,IAAI,4EAEJ,IACAH,EAAiB,OAAS,eAAe,qDAEzC,IACD,gBAACF,EAAI,CACHM,KAAMJ,EAAiB,6DAA+D,iCACtFA,gBAAc,EACdK,OAAO,SACPC,IAAI,uBACL,2CAGS,EAIhBJ,EAAS9I,aAAe,CACtB4I,gBAAgB,E,uGCpDlB,MAAMO,EAAUjJ,EAAAA,GAAOkJ,KAAI,8DAAXlJ,CAAW,sCAKrBmJ,GAAWnJ,EAAAA,EAAAA,IAAOoJ,EAAAA,SAAK,+DAAZpJ,CAAY,mDAInBqJ,EAAAA,IAGJC,EAAgBxK,IACpB,MAAQyK,EAAmBzK,EAAnByK,eACR,OACE,gBAACN,EAAO,KAAC,0BAEP,gBAACO,EAAA,EAAO,CACNC,SAAS,YACTC,QAAS5D,EAAAA,GAAW,QAAU,QAC9B6D,QAASJ,EACTxK,MAAO,KAEP,gBAACoK,EAAQ,OAEH,C,qRCjBP,MAAMS,EAAc,CACzBC,uBAAwBC,EAAAA,GACxBC,mCAAoCC,EAAAA,GACpCC,YAAaC,EAAAA,GACbC,gBAAiB,QAENC,EAAe,CAC1B,CAACC,EAAAA,GAAkBC,UAAW,CAC5BC,WAAY,CACVC,MAAO,UACPC,MAAOC,EACPC,QAASC,EACTC,OAAQ,YACRpB,SAAU,eACVqB,eAAgB,wBAChBnL,KAAM,aAERoL,UAAWC,EAAAA,QACXC,UAAW,OACXC,WAAY,OACZC,MAAO,CACLX,MAAO,OACPY,SAAU,OACVC,eAAgB,OAChBC,WAAY,OACZC,cAAe,QACfC,UAAW,OACXC,IAAK,OACLC,UAAW,OACXC,KAAM,OACNC,WAAY,QAEd/B,uBAAwB,UACxBE,mCAAoC8B,EAAAA,GACpC5B,YAAa,UACbE,gBAAiB0B,EAAAA,IAEnB,CAACxB,EAAAA,GAAkByB,SAAU,CAC3BvB,WAAY,CACVC,MAAO,UACPC,MAAOsB,EACPpB,QAASqB,EACTnB,OAAQ,YACRpB,SAAU,WACVqB,eAAgB,WAChBnL,KAAM,SAERoL,UAAWkB,EAAAA,QACXhB,UAAW,OACXC,WAAY,OACZC,MAAO,CACLX,MAAO,OACPY,SAAU,OACVC,eAAgB,OAChBC,WAAY,OACZC,cAAe,QACfC,UAAW,OACXC,IAAK,IACLC,UAAW,IACXC,KAAM,IACNC,WAAY,KAEd/B,uBAAwB,UACxBE,mCAAoC,UACpCE,YAAa,UACbE,gBAAiB,WAEnB,CAACE,EAAAA,GAAkB6B,OAAQ,CACzB3B,WAAY,CACVC,MAAO,UACPC,MAAO0B,EACPxB,QAASyB,EACTvB,OAAQ,YACRpB,SAAU,SACVqB,eAAgB,SAChBnL,KAAM,SAERoL,UAAWsB,EAAAA,QACXpB,UAAW,OACXC,WAAY,OACZoB,cAAe,OACfnB,MAAO,CACLX,MAAO,UACPY,SAAU,OACVC,eAAgB,OAChBC,WAAY,SACZC,cAAe,QACfC,UAAW,QACXC,IAAK,OACLC,UAAW,OACXC,KAAM,OACNC,WAAY,OACZW,MAAO,OACPC,YAAa,QAEf3C,uBAAwB,UACxBE,mCAAoC,OACpCE,YAAa,UACbE,gBAAiB,QAEnB,CAACE,EAAAA,GAAkBoC,KAAM,CACvBlC,WAAY,CACVC,MAAO,UACPC,MAAOiC,EACP/B,QAASgC,EACT9B,OAAQ,YACRpB,SAAU,cACVqB,eAAgB,cAChBnL,KAAM,WAERoL,UAAW6B,EAAAA,QACX3B,UAAW,OACXC,WAAY,OACZoB,cAAe,MACfnB,MAAO,CACLX,MAAOqB,EAAAA,GACPT,SAAU,OACVC,eAAgB,OAChBC,WAAY,SACZC,cAAe,QACfC,UAAW,SACXC,IAAK,OACLC,UAAW,OACXC,KAAM,MACNC,WAAY,MACZiB,UAAW,oBAEbhD,uBAAwB,UACxBE,mCAAoC,OACpCE,YAAa,UACbE,gBAAiB,S,sECjJrB,MAAM2C,EAAwB,CAAC,IAAK,IAAK,IAAK,IAAK,KAEtCC,EAAa,CACxB5B,MAAO,kBACP6B,UAAW,qDACXC,UAAW,CACTC,MAAO,gBAETC,iBAAkB,CAChBD,MAAO,cACPE,QAAS,8IACTC,MAAOP,GAETQ,gBAAiB,CACfJ,MAAO,qBACPE,QAAS,oIACTC,MAAOP,GAETS,aAAc,CACZL,MAAO,sBACPE,QAAS,0HACTC,MAAOP,GAETU,cAAe,CACbN,MAAO,cACPE,QAAS,gHACTC,MAAOP,GAETW,uBAAwB,CACtBP,MAAO,2BACPE,QAAS,sIACTC,MAAOP,GAETY,SAAU,CACRR,MAAO,cACPS,UAAW,+CACXC,QAAS,yIAEX5G,SAAU,CACRkG,MAAO,mBACPjK,YAAa,+BAEfqE,kBAAmB,CACjB4F,MAAO,iDACPG,MAAOQ,EAAAA,IAETtG,iBAAkB,CAChB2F,MAAO,mFACPG,MAAOS,EAAAA,IAETvJ,QAAS,CACP2I,MAAO,oBACPjK,YAAa,SAEfyB,MAAO,CACLwI,MAAO,wCACPjK,YAAa,mB,eC9CjB,MAAM8K,EAAQ/N,EAAAA,GAAOgO,EAAC,4DAARhO,CAAQ,uFAKX6L,EAAAA,I,+CCFX,MAAMoC,EAAejO,EAAAA,GAAOC,IAAG,mEAAVD,CAAU,oGACdmE,EAAAA,GAINkE,EAAAA,I,oECTX,MAAM6F,EAAclO,EAAAA,GAAOC,IAAG,iEAAVD,CAAU,oBAWxBmO,EAAa,EACjBpJ,SAAQC,SAAQC,UAASC,kBAEzB,gBAACgJ,EAAW,KACV,gBAACE,EAAA,EAAQ,CACPxL,KAAK,WACLsK,MAAO,gBAACmB,EAAA,EAAa,MACrBC,UAAWvJ,EAAO+B,SAClBrG,SAAUyE,EACVzB,MAAOuB,EAAO8B,UAAY7B,EAAQ6B,WAEpC,gBAAC,KAAY,CAACvB,UAAWrB,EAAAA,EAAuBtB,KAAK,cCjBnD2L,EAAevO,EAAAA,GAAOC,IAAG,mEAAVD,CAAU,qGAEzB,EAAGwO,WAAa,6BACIA,EAAM3E,oDACjB2E,EAAMzE,yDAYf0E,EAAgBzO,EAAAA,GAAOC,IAAG,oEAAVD,CAAU,2DAM1B0O,EAAe,CACnB3P,MAAO,OACP4P,SAAU,S,cC7BZ,MAAMZ,EAAQ/N,EAAAA,GAAOgO,EAAC,4DAARhO,CAAQ,8FCJT4O,GAAsB,CACjC,CAACtI,EAAAA,EAAUa,OAAQ,CACjB0H,KAAMvI,EAAAA,EAAUc,WAChB0H,KLec,EAChB9J,SAAQC,UAASF,SAAQgK,YAAWC,kBAAiB9J,eAAcC,iBAEnE,MAAQ8H,EAAcF,EAAdE,UAEFgC,GAAmBC,EAAAA,EAAAA,cAAaC,IACpCC,EAAAA,EAAOC,sBAAsBC,UAAUH,EAAEpG,OAAOxI,OAChD2E,EAAaiK,EAAE,GACd,IAEH,OACE,gCACE,gBAACpB,EAAK,KAAG,GAAEgB,6BAAqCC,KAChD,gBAACO,EAAA,EAAY,CAACC,YAAU,EAACtC,MAAOD,EAAUC,MAAOzJ,MAAOuB,EAAOuB,OAAStB,EAAQsB,OAC9E,gBAACkJ,EAAA,EAAU,CACTC,cAAe3K,EAAOwB,MACtBoJ,YAAaV,EACbtO,OAAQwE,EACRvC,KAAK,QACLgN,YAAa,GACbC,WAAY,KAEd,gBAAC,KAAY,CAACtK,UAAWrB,EAAAA,EAAuBtB,KAAK,WAEtD,EKtCHkN,UAAMrN,EACNsN,KAAM,GAER,CAACzJ,EAAAA,EAAUc,YAAa,CACtByH,KAAMvI,EAAAA,EAAUe,UAChByH,KJYmB,EACrB/J,SAAQC,SAAQC,UAAS+K,gBAAe7K,aAAYD,eAAc+K,oBAElE,MAAQvC,EAAuBX,EAAvBW,SAAU1G,EAAa+F,EAAb/F,SAMlB,OACE,gCACE,gBAACuI,EAAA,EAAY,CAACrC,MAAOlG,EAASkG,OAC5B,gBAACvK,EAAA,EAAe,CACdC,KAAK,WACLI,gBAAiBgE,EAAS/D,YAC1B1C,MAAOwE,EAAOiC,SACdjE,QAAS,IAAItB,KACbqB,QAAS,IAAIrB,KAAKyO,EAAAA,IAClBzP,SAbuB,CAAC0P,EAAO7M,KACrC0M,EAAcG,EAAO7M,EAAI,EAanB3C,OAAQwE,EACRtE,WAAW,eACXX,MAAO+E,EAAQ+B,WAAahC,EAAOgC,WAErC,gBAAC,KAAY,CAACzB,UAAWrB,EAAAA,EAAuBtB,KAAK,cAEvD,gBAAC2M,EAAA,EAAY,CACXrC,MAAM,GACNkD,kBAAgB,EAChB3M,MAAOuB,EAAOwB,eAAiBvB,EAAQuB,eAEvC,gBAAC6J,EAAA,EAAa,CACZzN,KAAK,gBACL0N,UAAW3J,EAAAA,GACXpG,MAAOwE,EAAOyB,cACd/F,SAAUyE,EACVvE,OAAQwE,EACRoL,kBACE,gBAACjH,EAAA,EAAY,CACXC,eAAe,wGAGnBrJ,MAAO+E,EAAQuB,gBAAkBxB,EAAOwB,cACxCgK,YAAaP,IAEf,gBAAC,KAAY,CAAC1K,UAAWrB,EAAAA,EAAuBtB,KAAK,kBACrD,gBAACqL,EAAY,KACX,qBAAGnF,KAAK,0CAA0CC,OAAO,SAASC,IAAI,uBACnE0E,EAASC,WAEZ,2BAAMD,EAASE,WAGlB,EI/DHkC,KAAMxJ,EAAAA,EAAUa,MAChB4I,KAAM,GAER,CAACzJ,EAAAA,EAAUe,WAAY,CACrBwH,KAAM,CAACvH,EAAmBC,KACxB,GAAyB,MAArBA,GAA4BD,IAAsBI,EAAAA,GAAmBC,YACvE,OAAOrB,EAAAA,EAAUuB,gBAGH,EAElBiH,KFiBkB,EACpB/J,SAAQC,SAAQC,UAASC,mBAEzB,MAAQoC,EAAwCyF,EAAxCzF,kBAAmBC,EAAqBwF,EAArBxF,iBAC3B,OACE,gCACE,gBAACgI,EAAA,EAAY,CAACrC,MAAO5F,EAAkB4F,MAAOzJ,MAAOuB,EAAOsC,mBAAqBrC,EAAQqC,kBAAmB8I,kBAAgB,GAC1H,gBAAC7B,EAAY,KACX,gBAAC,KAAQ,CACPlB,MAAO/F,EAAkB+F,MACzBzK,KAAK,oBACL6N,WAAY1L,EAAOuC,kBACnB7G,SAAW0O,IACTC,EAAAA,EAAOC,sBAAsBqB,cAAcvB,EAAEpG,OAAOxI,OACpD2E,EAAaiK,EAAE,KAIrB,gBAAC,KAAY,CAAC5J,UAAWrB,EAAAA,EAAuBtB,KAAK,wBAGrDmC,EAAOuC,oBAAsBI,EAAAA,GAAmBiJ,QAAU5L,EAAOuC,oBAAsBI,EAAAA,GAAmBkJ,OAC1G,gCACE,gBAACrB,EAAA,EAAY,CAACrC,MAAO3F,EAAiB2F,MAAOkD,kBAAgB,GAC3D,gBAAC7B,EAAY,KACX,gBAAC,KAAQ,CACPlB,MAAO9F,EAAiB8F,MACxBzK,KAAK,mBACL6N,WAAY1L,EAAOwC,iBACnB9G,SAAUyE,MAIhB,gBAACuJ,EAAa,KACZ,gBAACrP,EAAA,EAAe,CACdE,OAAQ,CACN,CAAEI,IAAK0G,GACP,CAAE1G,IAAK2G,EAAU1G,KAAM,OAEzBN,IAAK+G,EACL7G,IAAI,GACJV,OAAQ6P,OAOb3J,EAAOuC,oBAAsBI,EAAAA,GAAmBC,aAA2C,MAA5B5C,EAAOwC,mBACrE,gBAAC4G,EAAU,CAACnJ,OAAQA,EAAQC,QAASA,EAASF,OAAQA,EAAQG,aAAcA,IAG/E,EEpEH4K,KAAMxJ,EAAAA,EAAUc,WAChB2I,KAAM,GAER,CAACzJ,EAAAA,EAAUuB,kBAAmB,CAC5BgH,UAAMpM,EACNqM,KDbqB,EACvB9J,SAAQC,UAASF,SAAQI,aAAYD,mBAErC,MAAQX,EAAmBwI,EAAnBxI,QAASG,EAAUqI,EAAVrI,MAEjB,OACE,gCACE,gBAAC,EAAK,KAAC,wEACP,gBAAC6K,EAAA,EAAY,CAACrC,MAAO3I,EAAQ2I,MAAOzJ,MAAOuB,EAAOT,SAAWU,EAAQV,QAAS6L,kBAAgB,GAC5F,gBAACS,EAAA,EAAK,CACJ5N,YAAasB,EAAQtB,YACrBqC,KAAK,OACL1C,KAAK,UACLnC,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOR,QACdrE,MAAO+E,EAAQV,UAAYS,EAAOT,UAEpC,gBAAC,KAAY,CAACgB,UAAWrB,EAAAA,EAAuBtB,KAAK,aAGvD,gBAAC2M,EAAA,EAAY,CAACrC,MAAOxI,EAAMwI,MAAOzJ,MAAOuB,EAAON,OAASO,EAAQP,MAAO0L,kBAAgB,GACtF,gBAACS,EAAA,EAAK,CACJ5N,YAAayB,EAAMzB,YACnBqC,KAAK,OACL1C,KAAK,QACLnC,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOL,MACdxE,MAAO+E,EAAQP,QAAUM,EAAON,QAElC,gBAAC,KAAY,CAACa,UAAWrB,EAAAA,EAAuBtB,KAAK,WAEvD,gBAACuL,EAAU,CAACnJ,OAAQA,EAAQD,OAAQA,EAAQE,QAASA,EAASC,aAAcA,IAC3E,ECpBH4K,KAAMxJ,EAAAA,EAAUe,UAChB0I,KAAM,I,gBC9BV,MAAMhQ,GAAYC,EAAAA,GAAOC,IAAG,gEAAVD,CAAU,wEAIjBqI,EAAAA,GAEPxE,EAAAA,GAAMC,MAAO;;KAKXwE,GAAStI,EAAAA,GAAOuI,EAAC,6DAARvI,CAAQ,wBAIjB4I,GAAW,IACf,gBAAC7I,GAAS,KAAC,ygBAKT,gBAACuI,GAAM,KAAC,iBAAsB,0FAE7B,IACD,qBAAGQ,KAAK,gCAA+B,yBACtC,IAAI,2IAEJ,IACD,qBAAGA,KAAK,iCAAiCC,OAAO,SAASC,IAAI,uBAAsB,4C,ibCrBvF,MAAMrE,GAAO3E,EAAAA,GAAO8Q,KAAI,0DAAX9Q,CAAW,MAElB+Q,GAAa/Q,EAAAA,GAAOC,IAAG,gEAAVD,CAAU,kGAQvBgR,GAAkBhR,EAAAA,GAAOkJ,KAAI,qEAAXlJ,CAAW,+CAGxB6L,EAAAA,IAGLoF,GAAkBjR,EAAAA,GAAOkJ,KAAI,qEAAXlJ,CAAW,yGAMxBkR,EAAAA,IAGLC,GAAWnR,EAAAA,GAAOX,IAAG,8DAAVW,CAAU,6BA8ErBoR,IAAsDC,EAAAA,EAAAA,KA3DrCvS,IACrB,MACEwS,EACExS,EADFwS,OAAQC,EACNzS,EADMyS,aAAcC,EACpB1S,EADoB0S,cAAeC,EACnC3S,EADmC2S,aAAiBxQ,EAAS,GAC7DnC,EAAK,IAEPiG,EACEuM,EADFvM,OAAQK,EACNkM,EADMlM,aAAcP,EACpByM,EADoBzM,cAGxBzD,EAAAA,EAAAA,YAAU,KACR,IAAIsQ,EAEFA,EADoD,oBAA3C9C,GAAoB2C,GAAc1C,KAC9BD,GAAoB2C,GAAc1C,KAAK9J,EAAOuC,kBAAmBvC,EAAOwC,kBAExEqH,GAAoB2C,GAAc1C,KAEjD2C,EAAcE,EAAW,GACxB,CAACH,EAAcxM,EAAOwC,iBAAkBxC,EAAOuC,qBAElDlG,EAAAA,EAAAA,YAAU,KACRuQ,OAAOC,SAAS,EAAG,EAAE,GACpB,CAACL,IAEJ,MAAM/C,GAAQqD,EAAAA,EAAAA,MAERC,EAASlD,GAAoB2C,GAAczC,KAE3CiD,GAAgB7C,EAAAA,EAAAA,cAAY,IAChCqC,IAAiBjL,EAAAA,EAAUe,WACI,MAA5BtC,EAAOwC,kBACPxC,EAAOuC,oBAAsBI,EAAAA,GAAmBC,YAC/C,EACA,GACH,CAAC4J,EAAcxM,EAAOwC,iBAAkBxC,EAAOuC,oBAElD,OACE,gBAAC3C,GAAI,CAACG,SAAUD,GACd,gBAACiN,EAAM,iBAAKR,EAAYrQ,KACtBsQ,IAAiBjL,EAAAA,EAAUe,aAAetC,EAAOuC,oBACjD,gBAAC0K,EAAA,EAAG,CACFxH,MAAOgE,EAAMvE,YACbgI,UAAWzD,EAAMrE,gBACjB7E,KAAK,SACLG,KAAMgM,EAAe,iBACnB,gBAACV,GAAU,KACT,gBAACC,GAAe,KAAC,qBACjB,gBAACC,GAAe,KAAG,GAAErC,GAAoB2C,GAAcxB,YAAYgC,OACnE,gBAACZ,GAAQ,CAACzR,IAAKwS,GAAAA,WAGnBxM,UAAWN,EACX+M,UAAWV,EACX5L,OAAK,IAGR4L,GAAgB,gBAAC7I,GAAQ,MACrB,I,oiCClGX,MAAMwJ,GAASpS,EAAAA,GAAOC,IAAG,6DAAVD,CAAU,qEAII8J,EAAAA,IAGvBuI,GAAWrS,EAAAA,GAAOC,IAAG,+DAAVD,CAAU,oIAWrBsS,GAAOtS,EAAAA,GAAOX,IAAG,2DAAVW,CAAU,qCAKjBuS,GAAavS,EAAAA,GAAOC,IAAG,iEAAVD,CAAU,mLAOP,EAAGwO,WAAYA,EAAM3E,yBAOrC2I,GAAOxS,EAAAA,GAAOC,IAAG,2DAAVD,CAAU,yCAIVqJ,EAAAA,IAIPoJ,IAAkBC,EAAAA,EAAAA,KAAS,EAC/BzC,gBACAlB,YACAC,kBACA2D,iBACAC,gBACAC,eACAC,YAEA,MAAMtE,GAAQqD,EAAAA,EAAAA,MAEmD,MAAzBkB,EAAAA,EAAAA,UAASzM,EAAAA,EAAUa,OAAM,GAA1DoK,EAAY,KAAEyB,EAAe,KACgD,MAAhDD,EAAAA,EAAAA,UAASnE,GAAoB2C,GAAc1C,MAAK,GAA7E6C,EAAU,KAAEF,EAAa,KAC1BC,GAAgBC,EAEhBuB,GAAoB/D,EAAAA,EAAAA,cAAaC,IACrC,MAAM+D,EAAatE,GAAoB2C,GAAczB,KAErDqD,EAAAA,EAAOC,KAAK,QAAU,2BAA0B7B,sBAAkC,CAChF8B,eAAgB,4BAChBC,YAAc,GAAE/B,+BAGd2B,GACF/D,EAAEoE,iBACFP,EAAgBE,GAChBC,EAAAA,EAAOK,QAAQC,UAAU,KAAM,KAAM9B,OAAO+B,SAAS5K,OAErDqK,EAAAA,EAAOK,QAAQG,MACjB,GACC,CAACpC,KAEJnQ,EAAAA,EAAAA,YAAU,KACR+R,EAAAA,EAAOK,QAAQC,UAAU,KAAM,KAAM9B,OAAO+B,SAAS5K,KAAK,GACzD,KAEH1H,EAAAA,EAAAA,YAAU,KACRuQ,OAAOiC,iBAAiB,WAAYX,GAE7B,IAAMtB,OAAOkC,oBAAoB,WAAYZ,KACnD,CAAC1B,IA+BJ,OACE,gCACE,gBAACa,GAAM,KACL,gBAACC,GAAQ,KACP,gBAACC,GAAI,CAAC5S,IAAKkT,EAAgBpE,EAAMzD,UAAY4H,KAE/C,gBAACJ,GAAU,KAAC,kCAEd,gBAACC,GAAI,KACH,gBAAC,KAAM,CACL5N,cAAewD,EAAAA,GACftD,SAxCSgP,MAAO/O,GACtBgP,YAAWC,gBAAeC,YAAWC,iBAOrC,GALAf,EAAAA,EAAOC,KAAK,QAAU,2BAA0B7B,iBAA6B,CAC3E8B,eAAgB,4BAChBC,YAAc,GAAE/B,0BAGdE,EAAc,OACVoB,EAAa9N,EAAQ,CAAEgP,YAAWC,kBAExC,MAAQ1M,EAAwCvC,EAAxCuC,kBAAmBC,EAAqBxC,EAArBwC,iBACvBD,IAAsBI,EAAAA,GAAmBC,aAAoC,MAArBJ,GAC1D6H,EAAAA,EAAO+E,WAAWC,OAAO,CACvBC,KAAM,CACJ3P,MAAOK,EAAOL,MACdoO,QACAwB,WAAYvP,EAAOR,QACnBiB,QAAST,EAAOS,UAEjByO,EAAWD,EAElB,MACEhB,EAAgBtB,GAChBwC,EAAW,CAAC,GACZF,GAAc,EAChB,EAeM5P,iBAAkB8C,EAAAA,GAA4BqK,IAE9C,gBAACH,GAAmB,CAClBnB,cAAeA,EACflB,UAAWA,EACXC,gBAAiBA,EACjB2D,eAAgBA,EAChBpB,aAAcA,EACdC,cAAeA,EACfC,aAAcA,MAInB,I,4BCnJP,MAAM8C,GAAmBvU,EAAAA,GAAOC,IAAG,uEAAVD,CAAU,uEAM/B6D,EAAAA,GAAMC,MAAO;;KAKX0Q,GAAe,IACnB,gBAACD,GAAgB,KACdzO,EAAAA,GAAW,gBAAC,WAAqB,MAAM,gBAAC,WAAe,OCbtDsM,GAASpS,EAAAA,GAAOC,IAAG,6DAAVD,CAAU,0IAErB,EAAGwO,OAASjE,iBAAoB,2BACZA,EAAWC,sCACND,EAAWE,oCACfF,EAAWM,qCACTN,EAAWd,mCACfc,EAAW5K,cAOJb,GAAUA,EAAM0P,MAAMjE,WAAWI,SAG3D9G,EAAAA,GAAMC,MAAO;;2BAEWhF,GAAUA,EAAM0P,MAAMjE,WAAWO;KAIvD2J,GAAgBzU,EAAAA,GAAOC,IAAG,oEAAVD,CAAU,2NAe1BsS,GAAOtS,EAAAA,GAAOX,IAAG,2DAAVW,CAAU,+BACXlB,GAAUA,EAAM0P,MAAMvD,YACrBnM,GAAUA,EAAM0P,MAAMtD,aAC9BpM,GAAUA,EAAM0P,MAAMlC,cAAiB,eAAcxN,EAAM0P,MAAMlC,gBAAkB,KAGlFyB,GAAQ/N,EAAAA,GAAO0U,GAAE,4DAAT1U,CAAS,oEAMnB,EAAGwO,OAASrD,YAAe,gBAClBA,EAAMX,0BACFW,EAAMC,+BACJD,EAAMG,oCACHH,EAAMI,mCACVJ,EAAMK,wBACbL,EAAMM,mBACLN,EAAMQ,cACZR,EAAMoB,MAAS,UAASpB,EAAMoB,QAAU,YACxCpB,EAAM0B,UAAa,cAAa1B,EAAM0B,YAAc,WAGtDhJ,EAAAA,GAAMC,MAAO;;MAEX,EAAG0K,OAASrD,YAAe,sBACdA,EAAME,+BACZF,EAAMO,2BACLP,EAAMS,sBACZT,EAAMqB,YAAe,UAASrB,EAAMqB,cAAgB;KAKtDxG,GAAQhG,EAAAA,GAAOC,IAAG,4DAAVD,CAAU,gHAEK8J,EAAAA,GAKzBjG,EAAAA,GAAMC,MAAO;;KAKX6Q,GAAO3U,EAAAA,GAAOC,IAAG,2DAAVD,CAAU,wBAIjB4U,GAAY5U,EAAAA,GAAOgO,EAAC,gEAARhO,CAAQ,wCAOtB6D,EAAAA,GAAMC,MAAO;;;;KAOX+Q,GAAe,EAAGjS,OAAM0C,WAC5B,MAAMkJ,GAAQqD,EAAAA,EAAAA,MAEd,OACE,gCACE,gBAAC,GAAM,KACL,gBAAC4C,GAAa,KACZ,gBAAC,GAAI,CAAC/U,IAAK8O,EAAMzD,aAGjBzF,IAAS+E,EAAAA,GAAkByB,QACvB,gBAAC,GAAK,KAAC,iCACP,gBAAC0I,GAAY,OAGrB,gBAACxO,GAAK,KACJ,gBAAC2O,GAAI,KAAG,GAAE/R,MACV,gBAACgS,GAAS,KAAC,qNAGX,gBAACA,GAAS,KAAC,wCAIZ,ECjIDxC,GAASpS,EAAAA,GAAOC,IAAG,4DAAVD,CAAU,+DAIrB6D,EAAAA,GAAMC,MAAO;;KAKXgR,GAAS9U,EAAAA,GAAOC,IAAG,4DAAVD,CAAU,mBAInB+N,GAAQ/N,EAAAA,GAAO0U,GAAE,2DAAT1U,CAAS,gGAQnB6D,EAAAA,GAAMC,MAAO;;;;KAOXwO,GAAOtS,EAAAA,GAAOC,IAAG,0DAAVD,CAAU,iGAMnB6D,EAAAA,GAAMC,MAAO;;;;KAYXiR,GAAU/U,EAAAA,GAAOC,IAAG,6DAAVD,CAAU,qEAIfkR,EAAAA,IASL8D,GAAe,EAAGhG,kBAAiB2D,iBAAgBsC,uBACvD,gBAAC,GAAM,KACL,gBAACH,GAAM,KACL,gBAAC,GAAK,KAAE9F,GACR,gBAAC,GAAI,KAAC,uBAAKtP,IAAKiT,EAAgBpT,IAAI,WAEtC,gBAACwV,GAAO,KAAEE,I,gBChDd,MAAMhH,GAAejO,EAAAA,GAAOC,IAAG,kEAAVD,CAAU,oGACdmE,EAAAA,GAINkE,EAAAA,IAIL6F,GAAclO,EAAAA,GAAOC,IAAG,iEAAVD,CAAU,yBAIxBkV,GAAwBlV,EAAAA,GAAOC,IAAG,2EAAVD,CAAU,mCAElC,EAAGwO,WAAa,6BACIA,EAAM3E,oDACjB2E,EAAMzE,wDAKjBlG,EAAAA,GAAMC,MAAO;;;;;KAiKXqR,IAAyBC,EAAAA,GAAAA,IAAkB/D,EAAAA,EAAAA,KAjJnCvS,IACZ,MACEmO,EACEF,EADFE,UAAWS,EACTX,EADSW,SAAUP,EACnBJ,EADmBI,iBAAkBG,EACrCP,EADqCO,gBAAiBC,EACtDR,EADsDQ,aAAcC,EACpET,EADoES,cAAeC,EACnFV,EADmFU,uBAAwBzG,EAC3G+F,EAD2G/F,SAAUM,EACrHyF,EADqHzF,kBAGjHgK,EAAWxS,EAAXwS,OAENvM,EACEuM,EADFvM,OAAQC,EACNsM,EADMtM,OAAQC,EACdqM,EADcrM,QAASC,EACvBoM,EADuBpM,aAAcC,EACrCmM,EADqCnM,WAAYC,EACjDkM,EADiDlM,aAAcP,EAC/DyM,EAD+DzM,aAAcmL,EAC7EsB,EAD6EtB,cAEzEC,EAAkBnR,EAAlBmR,cAEFzB,GAAQqD,EAAAA,EAAAA,MAEd,OACE,wBAAM/M,SAAUD,GACd,gBAAC0K,EAAA,EAAY,CAACC,YAAU,EAACtC,MAAOD,EAAUC,MAAOzJ,MAAOuB,EAAOuB,OAAStB,EAAQsB,OAC9E,gBAACkJ,EAAA,EAAU,CACTC,cAAe3K,EAAOwB,MACtBoJ,YAAcR,IACZC,EAAAA,EAAOC,sBAAsBC,UAAUH,EAAEpG,OAAOxI,OAChD2E,EAAaiK,EAAE,EAEjBvM,KAAK,UAEP,gBAAC,KAAY,CAAC2C,UAAWrB,EAAAA,EAAuBtB,KAAK,WAEvD,gBAAC2M,EAAA,EAAY,CAACrC,MAAOC,EAAiBD,OACpC,gBAAC,KAAQ,CACPG,MAAOF,EAAiBE,MACxBzK,KAAK,mBACL6N,WAAY1L,EAAOgD,iBACnBtH,SAAUyE,IAEZ,gBAAC,GAAY,KAAEiI,EAAiBC,UAElC,gBAACmC,EAAA,EAAY,CAACrC,MAAOI,EAAgBJ,OACnC,gBAAC,KAAQ,CACPG,MAAOC,EAAgBD,MACvBzK,KAAK,kBACL6N,WAAY1L,EAAOiD,gBACnBvH,SAAUyE,IAEZ,gBAAC,GAAY,KAAEoI,EAAgBF,UAEjC,gBAACmC,EAAA,EAAY,CAACrC,MAAOK,EAAaL,OAChC,gBAAC,KAAQ,CACPG,MAAOE,EAAaF,MACpBzK,KAAK,eACL6N,WAAY1L,EAAOkD,aACnBxH,SAAUyE,IAEZ,gBAAC,GAAY,KAAEqI,EAAaH,UAE9B,gBAACmC,EAAA,EAAY,CAACrC,MAAOM,EAAcN,OACjC,gBAAC,KAAQ,CACPG,MAAOG,EAAcH,MACrBzK,KAAK,gBACL6N,WAAY1L,EAAOmD,cACnBzH,SAAUyE,IAEZ,gBAAC,GAAY,KAAEsI,EAAcJ,UAE/B,gBAACmC,EAAA,EAAY,CAACrC,MAAOO,EAAuBP,OAC1C,gBAAC,KAAQ,CACPG,MAAOI,EAAuBJ,MAC9BzK,KAAK,yBACL6N,WAAY1L,EAAOoD,uBACnB1H,SAAUyE,IAEZ,gBAAC,GAAY,KAAEuI,EAAuBL,UAExC,gBAACmC,EAAA,EAAY,CAACrC,MAAOlG,EAASkG,OAC5B,gBAACvK,EAAA,EAAe,CACdC,KAAK,WACLI,gBAAiBgE,EAAS/D,YAC1B1C,MAAOwE,EAAOiC,SACdjE,QAAS,IAAItB,KACbqB,QAAS,IAAIrB,KAAKyO,EAAAA,IAClBzP,SAAUuP,EACVrP,OAAQwE,EACRtE,WAAW,eACXX,MAAO+E,EAAQ+B,WAAahC,EAAOgC,WAErC,gBAAC,KAAY,CAACzB,UAAWrB,EAAAA,EAAuBtB,KAAK,cAEvD,gBAAC2M,EAAA,EAAY,CACXrC,MAAOQ,EAASR,MAChBsC,YAAU,EACVY,kBAAgB,EAChB3M,MAAOuB,EAAOwB,eAAiBvB,EAAQuB,eAEvC,gBAAC6J,EAAA,EAAa,CACZzN,KAAK,gBACL0N,UAAW3J,EAAAA,GACXpG,MAAOwE,EAAOyB,cACd/F,SAAUyE,EACVvE,OAAQwE,EACRoL,kBAAmB,gBAACjH,EAAA,EAAY,CAACC,eAAe,wGAChDrJ,MAAO+E,EAAQuB,gBAAkBxB,EAAOwB,cACxCgK,YAAaP,IAEf,gBAAC,KAAY,CAAC1K,UAAWrB,EAAAA,EAAuBtB,KAAK,kBACrD,gBAAC,GAAY,KACX,qBAAGkG,KAAK,0CAA0CC,OAAO,SAASC,IAAI,uBACnE0E,EAASC,WAEZ,2BAAMD,EAASE,WAGnB,gBAAC2B,EAAA,EAAY,CAACrC,MAAO5F,EAAkB4F,MAAOkD,kBAAgB,GAC5D,gBAAC8E,GAAqB,KACpB,gBAAC,KAAQ,CACP7H,MAAO/F,EAAkB+F,MACzBzK,KAAK,oBACL6N,WAAY1L,EAAOuC,kBACnB7G,SAAW0O,IACTC,EAAAA,EAAOC,sBAAsBqB,cAAcvB,EAAEpG,OAAOxI,OACpD2E,EAAaiK,EAAE,MAKvB,gBAAC,GAAW,KACV,gBAACf,EAAA,EAAQ,CACPxL,KAAK,WACLsK,MAAO,gBAACmB,EAAA,EAAa,MACrBC,UAAWvJ,EAAO+B,SAClBrG,SAAUyE,EACVzB,MAAOuB,EAAO8B,UAAY7B,EAAQ6B,WAEpC,gBAAC,KAAY,CAACvB,UAAWrB,EAAAA,EAAuBtB,KAAK,cAEvD,gBAACoP,EAAA,EAAG,CACF1M,KAAK,SACLG,KAAK,iBACLC,UAAWN,EACXO,SAAUP,EACVS,MAAOC,EAAAA,GACP0E,MAAOgE,EAAMvE,YACbgI,UAAWzD,EAAMrE,kBAEd,KC7LLqI,GAAOxS,EAAAA,GAAOC,IAAG,2DAAVD,CAAU,6CAGnB6D,EAAAA,GAAMC,MAAO;;IAIJuF,EAAAA,IAIPgM,GAAYrV,EAAAA,GAAOsV,GAAE,gEAATtV,CAAS,8FAQrBuV,GAAOvV,EAAAA,GAAOC,IAAG,2DAAVD,CAAU,2FAIZkR,EAAAA,GAGPrN,EAAAA,GAAMC,MAAO;;KAKX0R,GAAcxV,EAAAA,GAAOC,IAAG,kEAAVD,CAAU,sBAIxByV,GAAiB,EACrB7C,gBACA7D,YACAzJ,OACAqN,iBACAsC,oBACAjG,kBACA6D,eACA5C,oBAEA,MAAQ9E,EAAqB4B,EAArB5B,MAAO6B,EAAcD,EAAdC,UAEf,OACE,gCAEI4F,EACI,gBAACiC,GAAY,CAACjS,KAAMmM,EAAWzJ,KAAMA,IAErC,gBAAC0P,GAAY,CACXrC,eAAgBA,EAChBsC,kBAAmBA,EACnBjG,gBAAiBA,IAIzB,gBAAC,GAAI,KACH,gBAACqG,GAAS,KAAElK,GACZ,gBAACoK,GAAI,KAAEvI,GACP,gBAAC,KAAM,CACLpI,cAAekD,EAAAA,GACfhD,SAAU+N,EACVzO,iBAAkBA,EAAAA,IAElB,gBAAC+Q,GAAsB,CAAClF,cAAeA,KAEzC,gBAACuF,GAAW,KACV,gBAAC5M,GAAQ,QAGZ,EC1DD8M,IAAahD,EAAAA,EAAAA,KAAU5T,IAC3B,MAAMmR,GAAgB9O,EAAAA,EAAAA,QAA4B,MAC1CwU,GAAkBC,EAAAA,EAAAA,KAAlBD,cAEF9C,EAAe,CAAC9N,GAAUgP,YAAWC,oBACzC,MACE6B,EACE/W,EADF+W,aAAcC,EACZhX,EADYgX,uBAAwBhD,EACpChU,EADoCgU,MAAO/D,EAC3CjQ,EAD2CiQ,UAAWgH,EACtDjX,EADsDiX,SAEpD/O,GAAWgP,EAAAA,EAAAA,GAAOjR,EAAOiC,SAAU,cAEnCiP,EAAa,CACjBC,mBAAoB,CAClBC,eAAgBN,EAChBO,0BAA2BN,EAC3BhD,QACAuD,WAAYtH,EACZuH,UAAWP,EACXnI,QAAS7I,EAAOyB,cAChBD,MAAOxB,EAAOwB,MACdgQ,aAAcxR,EAAOgD,iBACrByO,aAAczR,EAAOiD,gBACrByO,UAAW1R,EAAOkD,aAClByO,UAAW3R,EAAOmD,cAClByO,oBAAqB5R,EAAOoD,uBAC5ByO,UAAW5P,IAIf,IACEoI,EAAAA,EAAOC,sBAAsB+E,OAAO6B,EAAYlC,EAAWC,EAI7D,CAHE,MAAO7E,GAEP0H,QAAQpT,MAAM0L,EAChB,GAIAH,EACElQ,EADFkQ,gBAAiB2D,EACf7T,EADe6T,eAAgBsC,EAC/BnW,EAD+BmW,kBAAmB3P,EAClDxG,EADkDwG,KAAMyJ,EACxDjQ,EADwDiQ,UAAW+D,EACnEhU,EADmEgU,MAEjEF,EAAgBkE,EAAAA,GAAoBC,SAASzR,GAEnD,OACE,gBAAC,KAAa,CAACkJ,MAAOoE,EAAgBxI,EAAa9E,GAAQsE,GAEvD+L,EAAgBqB,EAAAA,GAAWC,MAEvB,gBAACxB,GAAc,CACb7C,cAAeA,EACf7D,UAAWA,EACXzJ,KAAMA,EACNqN,eAAgBA,EAChBsC,kBAAmBA,EACnBjG,gBAAiBA,EACjB6D,aAAcA,EACd5C,cAAeA,IAIjB,gBAACwC,GAAe,CACdG,cAAeA,EACf7D,UAAWA,EACXzJ,KAAMA,EACNqN,eAAgBA,EAChBsC,kBAAmBA,EACnBjG,gBAAiBA,EACjB6D,aAAcA,EACd5C,cAAeA,EACf6C,MAAOA,IAID,I,gEC9EpB,MAAMN,GAAOxS,EAAAA,GAAOC,IAAG,2DAAVD,CAAU,8CAInB6D,EAAAA,GAAMC,MAAO;;KAKXoT,IAAclX,EAAAA,EAAAA,IAAOmX,GAAAA,SAAK,kEAAZnX,CAAY,2DAM5B6D,EAAAA,GAAMC,MAAO;;;KAMXiK,GAAQ/N,EAAAA,GAAOsV,GAAE,4DAATtV,CAAS,2IACNmE,EAAAA,GAKN0H,EAAAA,GAIPhI,EAAAA,GAAMC,MAAO;;;;KAOXsT,GAAUpX,EAAAA,GAAOC,IAAG,8DAAVD,CAAU,uHACTmE,EAAAA,GAIN0H,EAAAA,IAKLwL,GAA0B,EAC9BpR,OAAM1B,UAASG,QAAOqK,YAAWuI,SAAQC,WAAUC,UAAS1E,YAE5D,MAAMlO,EAAgB,CACpBL,QAASA,GAAW,GACpBG,MAAOA,GAAS,GAChBc,QAAS,IAcX,OACE,gBAAC,GAAI,KACH,gBAAC0R,GAAW,MACZ,gBAAC,GAAK,KAAG,GAAEnI,8BACX,gBAAC,KAAK,CAAC9I,KAAMA,IACb,gBAAC,KAAI,CAACrB,cAAeA,EAAeC,aAhBnB,CAACE,GAAUkP,YAAWD,oBACzC5E,EAAAA,EAAO+E,WAAWC,OAAO,CACvBC,KAAM,CACJ3P,MAAOK,EAAOL,MACdoO,QACAwB,WAAYvP,EAAOR,QACnBiB,QAAST,EAAOS,UAEjByO,EAAWD,EAAc,IASzBwD,GAAWD,GAAYD,EAAS,GAC/B,gBAACF,GAAO,KACN,gBAACK,GAAA,EAAkB,CAACF,SAAUA,EAAUG,cAAY,KAGnD,EChFLC,GAAkB7Y,IACtB,MACE0Y,EACE1Y,EADF0Y,QAASF,EACPxY,EADOwY,OAAQC,EACfzY,EADeyY,SAAUxI,EACzBjQ,EADyBiQ,UAAW6I,EACpC9Y,EADoC8Y,mBAAoB3R,EACxDnH,EADwDmH,KAAM1B,EAC9DzF,EAD8DyF,QAASG,EACvE5F,EADuE4F,MAAOoO,EAC9EhU,EAD8EgU,MAAO+E,EACrF/Y,EADqF+Y,gBAEjFlC,GAAkBC,EAAAA,EAAAA,KAAlBD,cAER,OACEiC,IAAuBlQ,EAAAA,GAAmBC,aAAegO,GAAiBqB,EAAAA,GAAWC,MAEjF,gBAACU,GAAA,EAAqB,CACpBlS,KAAMkQ,GAAiBqB,EAAAA,GAAWC,OAASY,EAAkB,+FAAwF,GACrJ1M,MAAQ,GAAE4D,4BACVyI,QAASA,EACTF,OAAQA,EACRC,SAAUA,EACVG,cAAY,IAId,gBAACL,GAAuB,CACtBpR,KAAMA,EACN1B,QAASA,EACTG,MAAOA,EACPqK,UAAWA,EACXyI,QAASA,EACTF,OAAQA,EACRC,SAAUA,EACVzE,MAAOA,GAEV,ECzCD/S,GAAYC,EAAAA,GAAOC,IAAG,gEAAVD,CAAU,yEAMxB6D,EAAAA,GAAMC,MAAO;;KAqBXgU,IAAuBpF,EAAAA,EAAAA,KAAU5T,IACrC,MAAM,EAEFsQ,EAAAA,EAAOC,sBADT0I,EAAM,EAANA,OAAQT,EAAM,EAANA,OAAQC,EAAQ,EAARA,SAAUK,EAAkB,EAAlBA,mBAEZC,EAAoBzI,EAAAA,EAAO+E,WAAnC4D,OAIR,OAFA3W,EAAAA,EAAAA,YAAU,IAAMgO,EAAAA,EAAOC,sBAAsB2I,8BAA8B,IAGzE,gBAAC,GAAS,KACPD,EAEG,gBAAC,GAAc,CACbhJ,UAAWjQ,EAAMiQ,UACjByI,QAAS1Y,EAAM0Y,QACfF,OAAQA,EACRC,SAAUA,EACVK,mBAAoBA,EACpB3R,KAAMnH,EAAMmH,KACZ1B,QAASzF,EAAMyF,QACfG,MAAO5F,EAAM4F,MACboO,MAAOhU,EAAMgU,MACb+E,gBAAiBA,IAGnB,gBAACnC,GAAe5W,GACV,I,0EC1DT,MAAMsF,GAAoB6T,GAA6B5T,GAAAA,KAAaC,MAAM,CAC/EiC,MAAOlC,GAAAA,KACJI,SAAS,6BACZ+B,cAAenC,GAAAA,KACZoC,OACAhC,SAAS,6BACTiC,IAAIuR,EAAmB,6BAA4BA,oBACnDrR,IAAIC,GAAAA,EAAqB,sEAAkEA,GAAAA,0DAC9FqR,eAAgB7T,GAAAA,KAAaqC,IAAI,GACjCyR,SAAU9T,GAAAA,KAAaqC,IAAI,GAC3B0R,YAAa/T,GAAAA,KAAaqC,IAAI,GAC9B2R,aAAchU,GAAAA,KAAaqC,IAAI,GAC/BqP,SAAU1R,GAAAA,KACPI,SAAS,6BACZsK,UAAW1K,GAAAA,KACRI,SAAS,6BACZqO,MAAOzO,GAAAA,KACJoC,KAAK,oEACL6R,QAAO,GACPxF,MAAM,wDACNrO,SAAS,6BACZqC,SAAUzC,GAAAA,KACP0C,MAAM,EAAC,GAAO,6EACjBwR,kBAAmBlU,GAAAA,KAAWI,SAAS,6BAA6BwC,UAAU,gDAC9EuR,kBAAmBnU,GAAAA,KACnBoU,aAAcpU,GAAAA,KACX0C,MAAM2R,OAAO3T,OAAO4T,GAAAA,GAAe,6EACnClU,SAAS,+BAGDqD,GAAoB,CAC/BvB,MAAO,GACPqS,UAAW,GACXC,YAAa,GACbC,SAAU,GACVC,aAAc,GACdC,QAAS,GACTxS,cAAe,GACfyS,YAAa,GACbf,eAAgB,GAChBC,SAAU,GACVC,YAAa,GACbC,aAAc,GACdtC,SAAU,GACVhH,UAAW,GACX+D,MAAO,GACPhM,UAAU,EACVoS,iBAAkB,GAClBX,uBAAmB9V,EACnB+V,mBAAmB,EACnBC,aAAcE,GAAAA,EAAaQ,S,2BCzB7B,MAAMlL,GAAejO,EAAAA,GAAOC,IAAG,mEAAVD,CAAU,oGACdmE,EAAAA,GAINkE,EAAAA,IAILnE,GAAwBlE,EAAAA,GAAOC,IAAG,4EAAVD,CAAU,8EACvBmE,EAAAA,GACNT,EAAAA,IAML0V,GAAkBpZ,EAAAA,GAAOC,IAAG,sEAAVD,CAAU,0HACjBmE,EAAAA,GAIN0H,EAAAA,GAIPhI,EAAAA,GAAMC,MAAO;;;KAMXuV,GAAerZ,EAAAA,GAAOC,IAAG,mEAAVD,CAAU,iCAC1BlB,GAAUA,EAAMwa,QAAU,mBAOzBC,GAAiBvZ,EAAAA,GAAOC,IAAG,qEAAVD,CAAU,oGACtBqI,EAAAA,IAoBLmR,GAAiB1a,IACrB,MAAM,GAKF2a,EAAAA,EAAAA,UAAQ,KAAMC,EAAAA,GAAAA,IAAa,KAAK,IAJlCzM,EAAS,EAATA,UAAWS,EAAQ,EAARA,SAAUiM,EAAe,EAAfA,gBAAiBC,EAAa,EAAbA,cACtCC,EAAe,EAAfA,gBAAiBC,EAAY,EAAZA,aAAcC,EAAgB,EAAhBA,iBAAkBC,EAAW,EAAXA,YACjDf,EAAW,EAAXA,YAAagB,EAAyB,EAAzBA,0BAA2BC,EAAsB,EAAtBA,uBACxCC,EAAO,EAAPA,QAASC,EAAe,EAAfA,gBAAiB7B,EAAiB,EAAjBA,kBAG1BjH,EACExS,EADFwS,OAAQ+I,EACNvb,EADMub,YAAapK,EACnBnR,EADmBmR,cAAeqK,EAClCxb,EADkCwb,gBAAiBC,EACnDzb,EADmDyb,iBAAkBtC,EACrEnZ,EADqEmZ,iBAGvElT,EACEuM,EADFvM,OAAQC,EACNsM,EADMtM,OAAQC,EACdqM,EADcrM,QAASC,EACvBoM,EADuBpM,aAAcC,EACrCmM,EADqCnM,WAAYC,EACjDkM,EADiDlM,aAAcP,EAC/DyM,EAD+DzM,aAAcQ,EAC7EiM,EAD6EjM,OAAQ2K,EACrFsB,EADqFtB,cAEjFwK,EAAoBpL,EAAAA,EAAOqL,aAA3BD,gBAUFE,GAA2BxL,EAAAA,EAAAA,cAAY,CAACC,EAAyCwL,KACrFL,EAAgBnL,EAAEyL,cAAcra,OAChCoa,EAASxL,EAAEyL,cAAchY,KAAMuM,EAAEyL,cAAcra,MAAM,GACpD,IAEH,OACE,wBAAMuE,SAAUD,EAAc,qBAAmB,mBAC9CwV,EAAYQ,OAET,gBAACtL,EAAA,EAAY,CAACrC,MAAOkN,EAAgBlN,OACnC,gBAAC,KAAQ,CACPtK,KAAK,mBACL7D,MAAM,OACNsB,QAASga,EACT5Z,SAAW0O,GAtBI,EAACA,EAAyCwL,KACnE,MAAQF,EAAoCrL,EAAAA,EAApCqL,aAAcK,EAAsB1L,EAAAA,EAAtB0L,kBACtBL,EAAaM,mBAAmB5L,EAAEyL,cAAcra,OAChD,MAAMya,EAAiBX,EAAYY,MAAMC,GAAWA,EAAOC,KAAOhM,EAAEyL,cAAcra,QAClFua,EAAkBM,WAAWJ,EAAexD,SAC5CmD,EAASxL,EAAEyL,cAAchY,KAAMuM,EAAEyL,cAAcra,MAAM,EAiB1B8a,CAAmBlM,EAAGa,GACvCrP,OAAQwE,EACR5E,MAAOwE,EAAOmU,kBAAoBmB,EAAY,GAAGc,MAIrD,GACJ,gBAAC5L,EAAA,EAAY,CAACrC,MAAM,eAAYsC,YAAU,EAAC/L,MAAOuB,EAAOyT,cAAgBxT,EAAQwT,cAC/E,gBAAC,KAAQ,CACP7V,KAAK,eACL7D,MAAM,OACNsB,QAASka,EACT9Z,SAAW0O,GAAMuL,EAAyBvL,EAAGa,GAC7CrP,OAAQwE,EACR5E,MAAOwE,EAAO0T,aACd,cAAY,mBAGhB,gBAAClJ,EAAA,EAAY,CAACC,YAAU,EAACtC,MAAOD,EAAUC,MAAOzJ,MAAOuB,EAAOuB,OAAStB,EAAQsB,OAC9E,gBAACkJ,EAAA,EAAU,CACTC,cAAe3K,EAAOwB,MACtBoJ,YAAcR,IACZC,EAAAA,EAAO0L,kBAAkBxL,UAAUH,EAAEpG,OAAOxI,OAC5C2E,EAAaiK,EAAE,EAEjBvM,KAAK,UAEP,gBAAC,KAAY,CAAC2C,UAAWrB,GAAuBtB,KAAK,WAEvD,gBAAC2M,EAAA,EAAY,CAACrC,MAAO0M,EAAc1M,OACjC,gBAAC,KAAQ,CACPG,MAAOuM,EAAcvM,MACrBzK,KAAK,YACL6N,WAAY1L,EAAO6T,UACnBnY,SAAUyE,IAEZ,gBAAC,GAAY,KAAE0U,EAAcxM,UAE/B,gBAACmC,EAAA,EAAY,CAACrC,MAAO2M,EAAgB3M,OACnC,gBAAC,KAAQ,CACPG,MAAOwM,EAAgBxM,MACvBzK,KAAK,cACL6N,WAAY1L,EAAO8T,YACnBpY,SAAUyE,IAEZ,gBAAC,GAAY,KAAE2U,EAAgBzM,UAEjC,gBAACmC,EAAA,EAAY,CAACrC,MAAO4M,EAAa5M,OAChC,gBAAC,KAAQ,CACPG,MAAOyM,EAAazM,MACpBzK,KAAK,WACL6N,WAAY1L,EAAO+T,SACnBrY,SAAUyE,IAEZ,gBAAC,GAAY,KAAE4U,EAAa1M,UAE9B,gBAACmC,EAAA,EAAY,CAACrC,MAAO6M,EAAiB7M,OACpC,gBAAC,KAAQ,CACPG,MAAO0M,EAAiB1M,MACxBzK,KAAK,eACL6N,WAAY1L,EAAOgU,aACnBtY,SAAUyE,IAEZ,gBAAC,GAAY,KAAE6U,EAAiB3M,UAElC,gBAACmC,EAAA,EAAY,CAACrC,MAAO8M,EAAY9M,OAC/B,gBAAC,KAAQ,CACPG,MAAO2M,EAAY3M,MACnBzK,KAAK,UACL6N,WAAY1L,EAAOiU,QACnBvY,SAAUyE,IAEZ,gBAAC,GAAY,KAAE8U,EAAY5M,UAE7B,gBAACmC,EAAA,EAAY,CACXrC,MAAOQ,EAASR,MAChBsC,YAAU,EACV/L,MAAOuB,EAAOwB,eAAiBvB,EAAQuB,cACvC8U,cAAe,gBAACC,GAAA,EAAa,CAAChb,MAAOwE,EAAOyB,cAAe8J,UAAW2H,GAAoB,OAE1F,gBAAC5H,EAAA,EAAa,CACZzN,KAAK,gBACLrC,MAAOwE,EAAOyB,cACd/F,SAAUyE,EACVvE,OAAQwE,EACRjF,MAAO+E,EAAQuB,gBAAkBxB,EAAOwB,cACxCgK,YAAaP,EACbuL,OAAO,aAET,gBAAC,KAAY,CAACjW,UAAWrB,GAAuBtB,KAAK,kBACrD,gBAAC,GAAY,KACX,qBAAGkG,KAAK,0CAA0CC,OAAO,SAASC,IAAI,uBACnE0E,EAASC,WAEZ,2BAAMD,EAASE,WAGnB,gBAACwL,GAAe,KAAEO,GAClB,gBAACpK,EAAA,EAAY,CAACrC,MAAO+L,EAAY/L,OAC/B,gBAAC,KAAQ,CACPjK,YAAagW,EAAYhW,YACzBL,KAAK,cACL7D,MAAM,OACNsB,QAASma,EACT/Z,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOkU,cAEhB,gBAAC,KAAY,CAAC1T,UAAWrB,GAAuBtB,KAAK,iBAEvD,gBAAC2M,EAAA,EAAY,CAACC,YAAU,EAACtC,MAAOqL,EAAkBrL,OAChD,gBAACvK,EAAA,EAAe,CACdC,KAAK,oBACLI,gBAAiBuV,EAAkBtV,YACnC1C,MAAOwE,EAAOwT,kBACdxV,QAAS,IAAItB,KACbqB,QAAS,IAAIrB,KAAKyO,EAAAA,IAClBzP,SAAUuP,EACVrP,OAAQwE,EACRtE,WAAW,eACXX,MAAO+E,EAAQsT,oBAAsBvT,EAAOuT,oBAE9C,gBAAC,KAAY,CAAChT,UAAWrB,GAAuBtB,KAAK,uBAEvD,gBAAC2M,EAAA,EAAY,CAACrC,MAAO+M,EAA0B/M,OAC7C,gBAACmM,GAAY,KACX,gBAACxI,EAAA,EAAK,CACJ5N,YAAagX,EAA0BwB,0BACvC7Y,KAAK,iBACL0C,KAAK,SACLoB,IAAK,EACLqJ,KAAK,MACLtP,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOmT,eACdhY,MAAO+E,EAAQiT,iBAAmBlT,EAAOkT,iBAE3C,gBAAC,KAAY,CAAC3S,UAAWrB,GAAuBtB,KAAK,oBAEvD,gBAACyW,GAAY,KACX,gBAACxI,EAAA,EAAK,CACJ5N,YAAagX,EAA0ByB,oBACvC9Y,KAAK,WACL0C,KAAK,SACLoB,IAAK,EACLqJ,KAAK,MACLtP,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOoT,SACdjY,MAAO+E,EAAQkT,WAAanT,EAAOmT,WAErC,gBAAC,KAAY,CAAC5S,UAAWrB,GAAuBtB,KAAK,eAGzD,gBAAC2M,EAAA,EAAY,CAACrC,MAAOgN,EAAuBhN,OAC1C,gBAACmM,GAAY,KACX,gBAACxI,EAAA,EAAK,CACJ5N,YAAaiX,EAAuByB,uBACpC/Y,KAAK,cACL0C,KAAK,SACLoB,IAAK,EACLqJ,KAAK,MACLtP,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOqT,YACdlY,MAAO+E,EAAQmT,cAAgBpT,EAAOoT,cAExC,gBAAC,KAAY,CAAC7S,UAAWrB,GAAuBtB,KAAK,iBAEvD,gBAACyW,GAAY,KACX,gBAACxI,EAAA,EAAK,CACJ5N,YAAaiX,EAAuB0B,wBACpChZ,KAAK,eACL0C,KAAK,SACLoB,IAAK,EACLqJ,KAAK,MACLtP,SAAUyE,EACVvE,OAAQwE,EACR5E,MAAOwE,EAAOsT,aACdnY,MAAO+E,EAAQoT,eAAiBrT,EAAOqT,eAEzC,gBAAC,KAAY,CAAC9S,UAAWrB,GAAuBtB,KAAK,mBAGzD,gBAAC2M,EAAA,EAAY,CACXrC,MAAOiN,EAAQjN,MACfoO,cAAe,gBAAC/B,GAAc,KAAEY,EAAQ/M,SACxCoC,YAAU,EACV/L,MAAQuB,EAAO+Q,UAAY9Q,EAAQ8Q,UAAc/Q,EAAO+J,WAAa9J,EAAQ8J,WAAe/J,EAAO8N,OAAS7N,EAAQ6N,OAEpH,gBAACuG,GAAY,KACX,gBAACxI,EAAA,EAAK,CACJ5N,YAAakX,EAAQ0B,oBACrBjZ,KAAK,WACLrC,MAAOwE,EAAOgR,SACdtV,SAAUyE,EACVvE,OAAQwE,EACRjF,MAAO+E,EAAQ8Q,WAAa/Q,EAAO+Q,WAErC,gBAAC,KAAY,CAACxQ,UAAWrB,GAAuBtB,KAAK,cAEvD,gBAACyW,GAAY,KACX,gBAACxI,EAAA,EAAK,CACJ5N,YAAakX,EAAQ2B,qBACrBlZ,KAAK,YACLrC,MAAOwE,EAAOgK,UACdtO,SAAUyE,EACVvE,OAAQwE,EACRjF,MAAO+E,EAAQ8J,YAAc/J,EAAO+J,YAEtC,gBAAC,KAAY,CAACxJ,UAAWrB,GAAuBtB,KAAK,eAEvD,gBAACyW,GAAY,KACX,gBAACxI,EAAA,EAAK,CACJ5N,YAAakX,EAAQ4B,iBACrBnZ,KAAK,QACL0C,KAAK,QACL/E,MAAOwE,EAAO+N,MACdrS,SAAUyE,EACVvE,OAAQwE,EACRjF,MAAO+E,EAAQ6N,QAAU9N,EAAO8N,QAElC,gBAAC,KAAY,CAACvN,UAAWrB,GAAuBtB,KAAK,YAIzD,gBAAC2M,EAAA,EAAY,CAACrC,MAAM,IAClB,gBAACmM,GAAY,KACX,gBAACjL,EAAA,EAAQ,CACPxL,KAAK,WACLsK,MAAO,gBAACmB,EAAA,EAAa,MACrBC,UAAWvJ,EAAO+B,SAClBrG,SAAUyE,EACVzB,MAAOuB,EAAO8B,UAAY7B,EAAQ6B,WAEpC,gBAAC,KAAY,CAACvB,UAAWrB,GAAuBtB,KAAK,cAEvD,gBAACyW,GAAY,CAACC,QAAM,GAClB,gBAAClL,EAAA,EAAQ,CACPxL,KAAK,oBACLsK,MAAM,8GACNoB,UAAWvJ,EAAOyT,kBAClB/X,SAAUyE,EACVzB,MAAOuB,EAAOwT,mBAAqBvT,EAAQuT,sBAIjD,gBAACjJ,EAAA,EAAY,CAACrC,MAAM,IAClB,gBAAC8E,EAAA,EAAG,CAAC1M,KAAK,SAASG,KAAK,iBAAiBC,UAAWN,EAAcO,SAAUP,EAAcS,MAAOC,EAAAA,GAAUlD,KAAK,mBAC7GyC,IAAWA,EAAOO,SAAW,gBAAC,GAAqB,KAAEoW,GAAAA,IACvDhX,EAAOQ,SAAW,gBAAC,GAAqB,KAAER,EAAOQ,UAEpD,gBAAC+J,EAAA,EAAY,CAACrC,MAAM,IAClB,gBAAC,KAAQ,OAEN,EAIXsM,GAAc1Z,aAAe,CAC3Bua,YAAa,GACbpK,cAAe,KACfqK,gBAAiB,OACjBC,iBAAkB,GAClBtC,iBAAkB,KAGpB,MAAMtT,IAAO0M,EAAAA,EAAAA,KAAQqB,EAAAA,EAAAA,IAAS8G,KAExByC,IAA6B7G,EAAAA,GAAAA,GAAkBzQ,ICxX/CuX,GAAoB,EACxBrJ,eAAcwH,cAAapK,gBAAeqK,kBAAiBC,mBAAkBtC,sBAE7E,gBAAC,KAAM,CACLrT,cAAekD,GACfhD,SAAU+N,EACVzO,iBAAkBA,GAAiB6T,GAAoB,MAEvD,gBAACgE,GAA0B,CACzB5B,YAAaA,EACbpK,cAAeA,EACfqK,gBAAiBA,EACjBC,iBAAkBA,EAClBtC,iBAAkBA,K,gkCCZxB,MAAMzF,GAAOxS,EAAAA,GAAOC,IAAG,2DAAVD,CAAU,6CAEnB6D,EAAAA,GAAMC,MAAO;;IAKJuF,EAAAA,IAIPgM,GAAYrV,EAAAA,GAAOsV,GAAE,gEAATtV,CAAS,8FAQrBuV,GAAOvV,EAAAA,GAAOC,IAAG,2DAAVD,CAAU,2FAIZkR,EAAAA,GAGPrN,EAAAA,GAAMC,MAAO;;KAeXqY,GAAuBrd,IAC3B,MAAMmR,GAAgB9O,EAAAA,EAAAA,QAAO,MACrBib,EAA4Ctd,EAA5Csd,SAAU/B,EAAkCvb,EAAlCub,YAAapC,EAAqBnZ,EAArBmZ,iBACvBwC,EAAiBrL,EAAAA,EAAjBqL,cAERrZ,EAAAA,EAAAA,YAAU,KACFqZ,EAAaD,gBAAgBK,QAAUJ,EAAa4B,0BACxD5B,EAAaM,mBAAmBqB,EAClC,GACC,IAEH,MAAoF,MAA5CrJ,EAAAA,EAAAA,UAAuB4F,GAAAA,EAAaQ,SAAQ,GAA7EV,EAAY,KAAE6B,EAAe,KAEsB,MAAdvH,EAAAA,EAAAA,UAAS,MAAK,GAAnDuJ,EAAc,KAAEC,EAAiB,KAElChC,EAAmB7B,OAAO8D,QAAQC,GAAAA,GAAkBhd,KAAI,EAAEid,EAAKnc,MAA0C,CAAQ4a,GAAIuB,EAAK9Z,KAAMrC,MAEhIoc,GAAoBzN,EAAAA,EAAAA,cAAY4E,UACpC,MAAM8I,QAAkBC,EAAAA,GAAAA,IAAKC,4CACvBC,QAAcH,EAAUI,QAAQ,eAElCD,GACFR,EAAkBQ,EACpB,GACC,KAEH3b,EAAAA,EAAAA,YAAU,KACRub,GAAmB,GAClB,IAEH,MAAM9J,EAAqC,CAAC9N,GAAUgP,YAAWE,YAAWD,oBAC1E,MAAMiC,GAAagH,EAAAA,GAAAA,GAAgBb,EAAUrX,GACrCwB,EAAUxB,EAAVwB,MACR6I,EAAAA,EAAO0L,kBAAkBxL,UAAU/I,GAEnC6I,EAAAA,EAAO0L,kBAAkB1G,OAAO6B,EAAYlC,EAAWE,EAAWD,EAAesI,EAAe,EAG5F,GAAuB7C,EAAAA,EAAAA,UAA2B,KAAMC,EAAAA,GAAAA,IAAa,KAAK,IAAxEvO,EAAK,EAALA,MAAO6B,EAAS,EAATA,UAEf,OACE,gBAAC,GAAI,KACH,gBAAC,GAAS,KAAE7B,GACZ,gBAAC,GAAI,KAAE6B,GAENyL,IAAiBE,GAAAA,EAAaQ,QAE3B,gBAAC+C,GAAiB,CAChBrJ,aAAcA,EACdwH,YAAaA,EACbpK,cAAeA,EACfqK,gBAAiBA,EACjBC,iBAAkBA,EAClBtC,iBAAkBA,IAIpB,gBAACiF,GAAA,EAAgB,CACfrK,aAAcA,EACdwH,YAAaA,EACb5B,aAAcA,EACd6B,gBAAiBA,EACjBC,iBAAkBA,EAClBtK,cAAeA,EACfgI,iBAAkBA,IAGnB,EAIXkE,GAAoBrc,aAAe,CACjCua,YAAa,GACbpC,iBAAkB,KAGpB,MAAMkF,IAAsBzK,EAAAA,EAAAA,IAASyJ,IC/H/Bpc,GAAYC,EAAAA,GAAOC,IAAG,+DAAVD,CAAU,yDAKxB6D,EAAAA,GAAMC,MAAO;;KAYXsZ,IAAmB1K,EAAAA,EAAAA,KAAU5T,IACjC+X,QAAQwG,IAAI,mBAAoBve,EAAMmZ,mBACtC7W,EAAAA,EAAAA,YAAU,KACRgO,EAAAA,EAAO0L,kBAAkBM,WAAWtc,EAAM0Y,SAEnC,IAAMpI,EAAAA,EAAO0L,kBAAkBwC,qBACrC,IACH,MAAM,EAEFlO,EAAAA,EAAO0L,kBADT/C,EAAM,EAANA,OAAQP,EAAO,EAAPA,QAASF,EAAM,EAANA,OAAQC,EAAQ,EAARA,SAG3B,OACE,gBAAC,GAAS,KACPQ,EACG,gBAACJ,GAAA,EAAc,CAAClS,KAAM8X,GAAAA,GAAsB/F,QAASA,EAASF,OAAQA,EAAQC,SAAUA,IACxF,gBAAC4F,GAAwBre,GACnB,G,4DCzCT,MAAMoF,EAAwBlE,EAAAA,GAAOC,IAAG,2EAAVD,CAAU,8EAC9BmE,EAAAA,GACNT,EAAAA,G,uECDJ,MAAMN,EAAQpD,EAAAA,GAAOwd,MAAK,4DAAZxd,CAAY,0UAYhBmE,EAAAA,IACZrF,GAAUA,EAAMuE,MAAS,+BACFvE,EAAMuE,kDAG7BvE,GAAiC,UAAvBA,EAAM+D,aAA4B,6EAG1C,yEAUF/D,GAAUA,EAAM6G,SACd,2HAOA,4EAKF7G,IAA0B,IAAhBA,EAAMoB,OACb,gDAGHpB,IAA0B,IAAhBA,EAAMoB,OACb,qEAIIpB,GAAWA,EAAMC,MAAQD,EAAMC,MAAQ,QAE/C8E,EAAAA,GAAMC,MAAO;;;;;;oDC1DjB,QAAe,IAA0B,sC,gDCAzC,QAAe,IAA0B,sC,gDCAzC,QAAe,IAA0B,sC,gDCAzC,QAAe,IAA0B,sC,+CCAzC,QAAe,IAA0B,sC,gDCAzC,QAAe,IAA0B,sC","sources":["webpack:///./app/javascript/main-app/images/examCentersReviewHeaders/title-codengo-mobile.inline.svg","webpack:///./app/javascript/main-app/images/examCentersReviewHeaders/title-codengo.inline.svg","webpack:///./app/javascript/_shared/AdaptivePicture.jsx","webpack:///./app/javascript/_shared/fields/Flatpickr.jsx","webpack:///./app/javascript/main-app/components/fields/common/InputContainer.js","webpack:///./app/javascript/_shared/fields/DatePickerField.js","webpack:///./app/javascript/main-app/components/LeadForm/Form.tsx","webpack:///./app/javascript/main-app/components/LeadForm/Intro.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/enums.ts","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/formikConstants.ts","webpack:///./app/javascript/main-app/components/ReviewForm/SchoolReviewForm/Footnote.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/TextareaInfo/TextareaInfo.jsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/themes.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/formDictionary.ts","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/Steps/StarsStep.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/Steps/ExamCenterStep.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/LegalField.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/Steps/StudyTypeStep.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/Steps/DataTransferStep.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/constants.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/Footnote.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/SmallResolutionForm.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SmallResolution/SmallResolution.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/CodengoTitle.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/CustomHeader.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/CommonHeader.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/FormWithScrollToErrors.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/HighResolution/HighResolution.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/ReviewForm.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SuccessMessageWithOffer.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/SuccessMessage.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/ExamCenterReviewForm/ExamCenterReviewForm.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/SchoolReviewForm/formikConstants.ts","webpack:///./app/javascript/main-app/components/ReviewForm/SchoolReviewForm/StudentReviewFormComponent.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/SchoolReviewForm/StudentReviewForm.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/SchoolReviewForm/ReviewFormContainer.tsx","webpack:///./app/javascript/main-app/components/ReviewForm/SchoolReviewForm/SchoolReviewForm.tsx","webpack:///./app/javascript/main-app/components/fields/common/ErrorMessageContainer.tsx","webpack:///./app/javascript/main-app/components/fields/common/Input.js","webpack:///./app/javascript/main-app/images/icon-datepicker.svg","webpack:///./app/javascript/main-app/images/icon-forward.svg","webpack:///./app/javascript/main-app/images/logos/logo-codengo-vector.svg","webpack:///./app/javascript/main-app/images/logos/logo-dekra-one-line.svg","webpack:///./app/javascript/main-app/images/logos/logo-la-poste-vector--img-only.svg","webpack:///./app/javascript/main-app/images/logos/sgs.svg"],"sourcesContent":["import React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => <svg width=\"219\" height=\"56\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M.835 2.055c.688 0 1.258.203 1.711.61.453.405.836.933 1.149 1.581.312.649.57 1.39.773 2.227.135.557.267 1.125.396 1.703l.19.875c.187.883.379 1.742.574 2.578.195.836.445 1.582.75 2.238.305.656.672 1.184 1.102 1.582.43.399.98.598 1.652.598.031 0 .07-.008.117-.024L9.302 16l.064-.023c.05-.013.12-.063.21-.15l.072-.073c.125-.133.203-.223.234-.27l.03-.092a6.61 6.61 0 00.065-.265l.232-1.043c.071-.308.153-.653.247-1.037l.551-2.274a133.907 133.907 0 011.336-5.097l.232-.79c.153-.508.302-.975.448-1.402.218-.64.425-1.152.62-1.535.196-.383.364-.574.505-.574a.76.76 0 01.445.117c.11.078.187.18.234.305.047.125.078.262.094.41.016.148.024.293.024.434 0 .234-.043.648-.13 1.242a55.991 55.991 0 01-.35 2.097 76.499 76.499 0 01-.54 2.637 90.7 90.7 0 01-.691 2.895c-.25.976-.524 1.914-.82 2.812a27.468 27.468 0 01-.903 2.39c-.305.696-.617 1.25-.938 1.665-.32.414-.636.621-.949.621-.422 0-.828-.117-1.219-.352a4.966 4.966 0 01-1.101-.914 9.289 9.289 0 01-.973-1.277 15.767 15.767 0 01-.82-1.441 53.126 53.126 0 01-.668-1.383l-.225-.499a18.113 18.113 0 01-.098-.23l-.79-1.955a241.75 241.75 0 01-.75-1.886l-.387-.988-1.268-3.268L1.023 4c-.125-.344-.188-.531-.188-.563V2.056zm15.74 12.187c0-.969.226-1.87.679-2.707a7.114 7.114 0 011.793-2.156 8.794 8.794 0 012.508-1.418 8.088 8.088 0 012.824-.516c.531 0 1.004.172 1.418.516a4.54 4.54 0 011.043 1.254c.281.492.496 1.012.644 1.558.149.547.223 1.024.223 1.43a5.48 5.48 0 01-.633 2.543 7.997 7.997 0 01-1.64 2.18 8.504 8.504 0 01-2.274 1.535c-.844.39-1.687.586-2.531.586-.75 0-1.383-.129-1.899-.387a3.364 3.364 0 01-1.242-1.031 4.396 4.396 0 01-.691-1.524 7.563 7.563 0 01-.223-1.863zm1.991.235c0 .406.036.761.106 1.066.07.305.195.566.375.785.18.219.418.387.715.504.297.117.664.176 1.101.176.578 0 1.157-.16 1.735-.48a6.325 6.325 0 001.558-1.22 6.348 6.348 0 001.114-1.628c.28-.594.421-1.172.421-1.735 0-.25-.023-.523-.07-.82a3.336 3.336 0 00-.234-.82 1.72 1.72 0 00-.469-.633c-.203-.172-.461-.258-.773-.258-.282 0-.614.094-.997.281-.382.188-.78.43-1.195.727-.414.297-.82.633-1.219 1.008-.398.375-.761.75-1.09 1.125a6.66 6.66 0 00-.785 1.078c-.195.344-.293.625-.293.844zm9.74-7.29a.26.26 0 01.023-.117c0-.03.008-.07.023-.117l.118-.135a2.6 2.6 0 01.076-.08l.088-.09c.125-.125.203-.187.234-.187h4.71l-.007-.206a9.166 9.166 0 00-.04-.435l-.022-.18c-.047-.374-.09-.788-.13-1.242-.038-.453-.05-.925-.034-1.418.015-.492.082-.937.199-1.335.117-.399.304-.727.562-.985.258-.258.621-.387 1.09-.387 0 1.579.11 2.844.328 3.797.219.953.512 1.688.88 2.203.366.516.784.852 1.253 1.008.469.157.95.223 1.441.2a6.84 6.84 0 001.442-.223A9.75 9.75 0 0141.794 7c.367-.047.66-.012.879.105.218.118.328.395.328.832 0 .329-.074.563-.223.704-.148.14-.433.25-.855.328l-.621.082c-.217.03-.454.056-.71.081l-1.013.092-1.547.143c-.27.024-.521.04-.756.05l-.547.016c-.14.003-.253.005-.338.005l-.015.292-.023.3a2.974 2.974 0 00-.008.18c0 .688.109 1.356.328 2.005.145.432.3.863.463 1.292l.252.641c.257.641.496 1.282.714 1.922.22.64.328 1.305.328 1.992 0 .126-.011.254-.035.387a.877.877 0 01-.14.352.668.668 0 01-.305.234c-.133.055-.316.043-.55-.035-.595-.156-1.036-.492-1.325-1.008-.29-.515-.504-1.129-.645-1.84a16.237 16.237 0 01-.247-1.788l-.034-.473a26.144 26.144 0 00-.222-2.239c-.102-.695-.262-1.289-.48-1.78-.22-.493-.571-.794-1.056-.903l-4.523-1.031c-.063 0-.156-.067-.281-.2l-.128-.142a.862.862 0 01-.107-.15.26.26 0 01-.023-.118.326.326 0 01-.024-.14zm15.785 1.97c0-.141.008-.286.024-.434a1.49 1.49 0 01.094-.399.684.684 0 01.222-.293c.102-.078.246-.117.434-.117.156 0 .332.121.527.363.196.243.395.547.598.914.203.368.402.77.598 1.207.195.438.367.84.515 1.207l.165.417.32.866a.434.434 0 00.042.089l.323-.856c.113-.297.232-.605.357-.926.25-.64.559-1.238.926-1.793a5.461 5.461 0 011.312-1.394c.508-.375 1.13-.563 1.864-.563.375 0 .73.059 1.066.176a2.632 2.632 0 011.512 1.324c.156.313.234.672.234 1.078 0 .344-.136.586-.41.727a2 2 0 01-.926.21h-.234l-1.008-1.007c-.031 0-.055-.008-.07-.023l-.044-.003-.038-.009a.26.26 0 00-.082-.012c-.547 0-.973.153-1.278.457a2.94 2.94 0 00-.691 1.125 5.557 5.557 0 00-.293 1.407c-.04.492-.059.94-.059 1.347 0 .313.032.63.094.95l.1.474.111.463c.078.305.149.617.211.937.063.32.094.653.094.997 0 .656-.352.984-1.055.984-.39 0-.797-.207-1.219-.621-.422-.414-.84-.942-1.254-1.582a19.9 19.9 0 01-1.183-2.121 28.819 28.819 0 01-.985-2.262 22.093 22.093 0 01-.667-1.992c-.165-.594-.247-1.031-.247-1.313zm12.177 3.327c0-.843.102-1.687.305-2.53a7.074 7.074 0 01.972-2.274 5.285 5.285 0 011.735-1.64c.71-.423 1.574-.634 2.59-.634.578 0 1.085.106 1.523.317.437.21.805.488 1.102.832.296.343.52.746.667 1.207.149.46.223.941.223 1.441 0 .797-.183 1.57-.55 2.32-.368.75-.86 1.41-1.477 1.98a6.22 6.22 0 01-2.121 1.29 4.55 4.55 0 01-2.438.2c.016.452.168.816.457 1.089.29.273.637.48 1.043.621.406.14.828.23 1.266.27.437.039.828.058 1.172.058.36 0 .695-.031 1.008-.093l.468-.1.469-.111a18.6 18.6 0 01.95-.211c.32-.063.66-.094 1.019-.094.14 0 .281.008.422.023.14.016.273.051.398.106.125.054.227.14.305.258a.764.764 0 01.117.433c0 .297-.11.543-.328.738a2.946 2.946 0 01-.832.504 5.172 5.172 0 01-1.113.317c-.407.07-.801.125-1.184.164-.383.039-.734.062-1.055.07l-.611.011h-.104c-1 0-1.898-.16-2.695-.48a5.688 5.688 0 01-2.016-1.336 5.74 5.74 0 01-1.253-2.062c-.29-.805-.434-1.7-.434-2.684zm2.484-1.523c0 .547.075.945.223 1.195.148.25.512.375 1.09.375a3.34 3.34 0 001.195-.222 3.74 3.74 0 001.067-.621c.32-.266.574-.579.761-.938.188-.36.282-.75.282-1.172 0-.234-.02-.476-.06-.726-.038-.25-.12-.48-.245-.692a1.6 1.6 0 00-.48-.515c-.196-.133-.45-.2-.762-.2-.47 0-.895.106-1.278.317a3.16 3.16 0 00-.972.82 3.892 3.892 0 00-.82 2.379zm31.877 5.016l-.567.391c-.359.252-.682.485-.968.698-.43.32-.848.59-1.254.809-.406.219-.84.383-1.3.492-.462.11-1.028.164-1.7.164-1.453 0-2.531-.386-3.235-1.16-.703-.773-1.054-1.926-1.054-3.457 0-.594.078-1.21.234-1.851a9.634 9.634 0 01.692-1.91 11.12 11.12 0 011.09-1.805 8.484 8.484 0 011.43-1.512 7.011 7.011 0 011.698-1.043 4.798 4.798 0 011.91-.387c1.125.11 2.008.387 2.649.832a4.274 4.274 0 011.453 1.711 8.21 8.21 0 01.68 2.32c.093.64.172 1.293.235 1.963l.058.674c.07.907.16 1.813.27 2.719.109.906.335 1.742.679 2.508-.203.515-.395.879-.574 1.09-.18.21-.38.246-.598.105-.219-.14-.473-.484-.762-1.031-.289-.547-.644-1.32-1.066-2.32zm-8.086-2.016c0 .89.168 1.543.504 1.957.336.414.933.621 1.793.621.64 0 1.254-.113 1.84-.34a4.855 4.855 0 001.535-.937c.437-.399.789-.88 1.055-1.442a4.336 4.336 0 00.398-1.875l.006-.507.017-.676a8.148 8.148 0 00-.093-1.512 3.605 3.605 0 00-.446-1.3c-.218-.368-.547-.552-.984-.552a4.27 4.27 0 00-2.25.622 6.492 6.492 0 00-1.781 1.582c-.5.64-.89 1.347-1.172 2.12-.281.774-.422 1.52-.422 2.239zm12.622-7.172c.11-.375.238-.547.387-.516.148.032.332.211.55.54.183.273.384.622.604 1.048l.783 1.567.23.467a43.55 43.55 0 001.02 1.933c.367.656.75 1.258 1.148 1.805.399.547.82 1 1.266 1.36.445.359.902.57 1.371.632l1.875-9.703c.031-.266.153-.418.363-.457a3.33 3.33 0 01.622-.059c.703 0 1.054.328 1.054.985l-.004.259a34.773 34.773 0 01-.394 3.854 49.67 49.67 0 01-.516 2.766 20.169 20.169 0 01-.726 2.59c-.282.78-.606 1.421-.973 1.921s-.77.75-1.207.75c-.64 0-1.273-.215-1.898-.644-.625-.43-1.215-.992-1.77-1.688a15.399 15.399 0 01-1.523-2.332c-.461-.86-.86-1.722-1.196-2.59a18.992 18.992 0 01-.785-2.496c-.187-.797-.281-1.46-.281-1.992zm13.864 3.422l.012-.457.056-1.674c.002-.058.002-.105.002-.143.172-.25.395-.453.668-.609.274-.156.551-.281.832-.375.047.844.18 1.742.399 2.695.218.954.453 1.91.703 2.872.25.96.472 1.91.668 2.847.195.938.293 1.813.293 2.625 0 .703-.36 1.055-1.078 1.055-.438 0-.805-.18-1.102-.54-.297-.359-.535-.816-.715-1.37a12.429 12.429 0 01-.433-1.852c-.11-.68-.184-1.347-.223-2.004l-.04-.761a36.018 36.018 0 01-.03-1.043l-.011-.981-.001-.285zm.328-8.79c.297.126.547.329.75.61.203.282.293.535.27.762-.024.227-.2.383-.528.469-.328.086-.875-.004-1.64-.27 0-.422.082-.789.246-1.101.164-.313.465-.47.902-.47zm8.919 16.524a24.702 24.702 0 001.969-1.547c.359-.312.695-.64 1.007-.984a5.54 5.54 0 00.739-.996c.18-.32.27-.621.27-.902 0-.282-.141-.516-.423-.704-.5 0-1.047.02-1.64.06-.594.038-1.188.054-1.782.046a11.21 11.21 0 01-1.722-.152 4.477 4.477 0 01-1.489-.516 2.739 2.739 0 01-1.043-1.066c-.257-.461-.386-1.051-.386-1.77 0-.844.16-1.605.48-2.285.32-.68.746-1.281 1.278-1.805a9.522 9.522 0 011.793-1.383 15.62 15.62 0 012.003-1.02c.407.11.782.306 1.125.587.344.281.641.594.891.937-.11.344-.324.61-.644.797-.32.188-.688.352-1.102.492l-1.3.446a4.917 4.917 0 00-1.231.62 3.286 3.286 0 00-.926 1.009c-.25.414-.375.957-.375 1.628 0 .5.125.868.375 1.102.25.234.578.395.984.48a5.5 5.5 0 001.383.094 38.389 38.389 0 001.582-.105c.54-.047 1.067-.074 1.582-.082.516-.008.977.054 1.383.187s.73.348.973.645c.242.297.363.734.363 1.312 0 .25-.082.57-.246.961a9.32 9.32 0 01-.656 1.254c-.274.445-.594.887-.961 1.324-.368.438-.75.832-1.149 1.184a7.19 7.19 0 01-1.195.867c-.399.227-.77.34-1.113.34-.328 0-.543-.117-.645-.352a1.756 1.756 0 01-.152-.703zm17.79-6c0-.656.145-1.343.434-2.062a7.363 7.363 0 011.16-1.957 6.793 6.793 0 011.676-1.465c.633-.39 1.3-.586 2.004-.586.36 0 .719.062 1.078.188.36.125.684.304.973.539.289.234.523.515.703.843.18.328.27.696.27 1.102-.282 0-.536-.031-.762-.094a6.694 6.694 0 01-.448-.14l-.22-.083a7.91 7.91 0 00-.645-.222 2.426 2.426 0 00-.691-.094c-.641 0-1.16.16-1.559.48-.398.32-.715.723-.95 1.208a5.484 5.484 0 00-.48 1.558c-.068.444-.11.865-.123 1.264l-.005.35.058 1.773c.008.219.02.367.035.445.172.375.34.664.504.867.164.204.34.356.527.457.188.102.391.164.61.188.219.023.476.035.773.035.407 0 .762-.062 1.067-.187.304-.125.59-.274.855-.446a5.81 5.81 0 00.51-.37l.24-.204c.235-.21.48-.406.738-.586.258-.18.54-.328.844-.445a2.89 2.89 0 011.043-.176c0 .766-.137 1.445-.41 2.04a4.414 4.414 0 01-1.148 1.523 5.226 5.226 0 01-1.735.972 6.674 6.674 0 01-2.168.34c-.734 0-1.394-.25-1.98-.75a6.845 6.845 0 01-1.5-1.84 9.776 9.776 0 01-.95-2.308c-.218-.813-.328-1.532-.328-2.157zm11.732 2.297c0-.969.226-1.87.68-2.707a7.114 7.114 0 011.792-2.156 8.794 8.794 0 012.508-1.418 8.088 8.088 0 012.824-.516c.532 0 1.004.172 1.418.516a4.54 4.54 0 011.043 1.254 6.63 6.63 0 01.645 1.558c.148.547.222 1.024.222 1.43 0 .875-.21 1.723-.632 2.543a7.997 7.997 0 01-1.641 2.18 8.504 8.504 0 01-2.273 1.535c-.844.39-1.688.586-2.532.586-.75 0-1.382-.129-1.898-.387a3.364 3.364 0 01-1.242-1.031 4.396 4.396 0 01-.692-1.524 7.563 7.563 0 01-.222-1.863zm1.992.235c0 .406.035.761.105 1.066.07.305.196.566.375.785.18.219.418.387.715.504.297.117.664.176 1.102.176.578 0 1.156-.16 1.734-.48a6.325 6.325 0 001.559-1.22 6.348 6.348 0 001.113-1.628c.281-.594.422-1.172.422-1.735 0-.25-.024-.523-.07-.82a3.336 3.336 0 00-.235-.82 1.72 1.72 0 00-.469-.633c-.203-.172-.46-.258-.773-.258-.281 0-.613.094-.996.281-.383.188-.781.43-1.195.727-.415.297-.82.633-1.22 1.008-.398.375-.76.75-1.089 1.125a6.66 6.66 0 00-.785 1.078c-.196.344-.293.625-.293.844zm9.739-5.32c0-.391.066-.696.2-.915.115-.191.348-.299.698-.323l.2-.004.472.022.167.76c.057.263.114.537.173.823.117.57.254 1.144.41 1.722.156.578.332 1.149.528 1.711.195.563.433 1.07.714 1.524.282-.297.485-.649.61-1.055.125-.406.219-.817.281-1.23l.176-1.196a2.49 2.49 0 01.34-.984c.172-.274.425-.473.761-.598s.801-.125 1.395 0c.656 0 1.18.121 1.57.363.39.243.73.547 1.02.914.289.368.57.758.844 1.172.273.414.62.785 1.042 1.114l.352-.762a8.45 8.45 0 01.527-.961c.211-.336.438-.672.68-1.008.242-.336.496-.64.762-.914.265-.273.539-.5.82-.68.281-.18.555-.27.82-.27.641 0 1.196.2 1.664.598.47.399.872.899 1.208 1.5.335.602.613 1.274.832 2.016.218.742.39 1.457.515 2.145.125.687.215 1.316.27 1.886l.05.574c.021.282.032.5.032.657 0 .203-.047.36-.14.469a.87.87 0 01-.352.246 1.7 1.7 0 01-.457.105 5.24 5.24 0 01-.313.021l-.145.003a1.22 1.22 0 01-.14-.012 2.958 2.958 0 01-.211-.035l-.156-.042a14.42 14.42 0 01-.102-.029l-1.523-7.007c0-.047-.063-.137-.188-.27l-.135-.135a.709.709 0 00-.146-.111.26.26 0 01-.117-.024l-.041-.002-.03-.01a.104.104 0 00-.046-.01c-.329 0-.637.132-.926.398-.29.265-.559.601-.809 1.007-.25.407-.484.86-.703 1.36a20.9 20.9 0 00-.586 1.488l-.243.709-.393 1.198a18.77 18.77 0 01-.137.402c-.05.025-.14.047-.27.067l-.3.037a1.99 1.99 0 01-.18.013c-.438 0-.774-.153-1.008-.457A3.78 3.78 0 01169.29 16c-.112-.34-.21-.704-.295-1.092l-.08-.396a11.814 11.814 0 00-.375-1.489 3.354 3.354 0 00-.61-1.136c-.258-.305-.62-.457-1.09-.457-.171 0-.336.172-.492.515a7.278 7.278 0 00-.422 1.301 37.037 37.037 0 00-.621 3.375l-.075.589c-.033.275-.058.52-.077.735l-.047.54a.448.448 0 01-.123.111l-.357.216c-.102.063-.204.11-.305.141l-.132.035a.46.46 0 01-.09.012c-.438 0-.86-.2-1.266-.598-.407-.398-.778-.914-1.114-1.547a15.82 15.82 0 01-.914-2.097 25.316 25.316 0 01-.691-2.25 25.554 25.554 0 01-.434-1.992c-.101-.594-.152-1.047-.152-1.36zm21.294 1.195c0-1.516.351-2.641 1.054-3.375.703-.735 1.782-1.102 3.235-1.102.593 0 1.207.055 1.84.164.632.11 1.214.3 1.746.574.53.274.964.653 1.3 1.137.336.484.504 1.11.504 1.875 0 .844-.183 1.637-.55 2.379a10.072 10.072 0 01-1.383 2.086 15.35 15.35 0 01-1.828 1.805l-.964.811c-.31.264-.61.52-.9.77-.025.05-.047.143-.067.278l-.037.312a2.127 2.127 0 00-.013.184c0 .516.152 1.035.457 1.559.203.349.419.701.646 1.057l.35.536c.36.54.688 1.098.985 1.676a3.9 3.9 0 01.445 1.805c0 .375-.078.597-.234.668-.157.07-.485.105-.985.105-.312-.125-.62-.418-.926-.879a12.415 12.415 0 01-.914-1.699 26.343 26.343 0 01-.89-2.262 61.055 61.055 0 01-.82-2.554 93.81 93.81 0 01-.727-2.578l-.259-.99c-.082-.32-.16-.629-.232-.927l-.35-1.444-.345-1.383a21.759 21.759 0 01-.138-.588zm1.992.21l.005.27c.007.203.02.453.042.75.031.445.097.887.199 1.324.102.438.254.817.457 1.137.203.32.484.48.844.48.484 0 .972-.164 1.465-.492.492-.328.93-.742 1.312-1.242.383-.5.695-1.035.938-1.605.242-.57.363-1.09.363-1.559 0-.39-.094-.7-.281-.926a1.99 1.99 0 00-.715-.539 3.073 3.073 0 00-.926-.258 7.942 7.942 0 00-.938-.058c-.89 0-1.574.238-2.05.715-.477.476-.715 1.144-.715 2.004zm8.755-3.374a.26.26 0 01.023-.118c0-.03.008-.07.023-.117l.118-.135a4.96 4.96 0 01.076-.08l.088-.09c.125-.125.203-.187.234-.187h4.711c0-.143-.016-.357-.049-.641l-.021-.18c-.047-.374-.09-.788-.13-1.242-.038-.453-.05-.925-.034-1.418.015-.492.082-.937.199-1.335.117-.399.304-.727.562-.985.258-.258.621-.387 1.09-.387 0 1.579.11 2.844.328 3.797.219.953.512 1.688.88 2.203.366.516.784.852 1.253 1.008.469.157.95.223 1.442.2a6.84 6.84 0 001.44-.223c.47-.125.888-.211 1.255-.258.367-.047.66-.012.879.105.218.118.328.395.328.832 0 .329-.074.563-.223.704-.148.14-.433.25-.855.328l-.621.082c-.217.03-.454.056-.71.081l-1.013.092-1.547.143c-.27.024-.521.04-.756.05l-.547.016c-.14.003-.253.005-.338.005l-.008.2-.037.528-.001.045c0 .687.109 1.355.328 2.004.146.432.3.863.463 1.292l.252.641c.257.641.496 1.282.714 1.922.22.64.329 1.305.329 1.992 0 .126-.012.254-.036.387a.877.877 0 01-.14.352.668.668 0 01-.305.234c-.133.055-.316.043-.55-.035-.594-.156-1.036-.492-1.325-1.008-.289-.515-.504-1.129-.644-1.84a16.237 16.237 0 01-.248-1.788l-.034-.473a26.144 26.144 0 00-.222-2.239c-.102-.695-.262-1.289-.48-1.78-.22-.493-.571-.794-1.056-.903l-4.523-1.031c-.062 0-.156-.067-.281-.2l-.128-.142a.862.862 0 01-.107-.15.26.26 0 01-.023-.118.326.326 0 01-.023-.14zm15.785 5.296c0-.843.102-1.687.305-2.53a7.074 7.074 0 01.973-2.274 5.285 5.285 0 011.734-1.64c.711-.423 1.574-.634 2.59-.634.578 0 1.086.106 1.523.317.438.21.805.488 1.102.832.297.343.52.746.668 1.207.148.46.223.941.223 1.441a5.22 5.22 0 01-.551 2.32c-.367.75-.86 1.41-1.477 1.98-.617.571-1.324 1-2.12 1.29a4.55 4.55 0 01-2.438.2c.015.452.168.816.457 1.089.289.273.636.48 1.043.621.406.14.828.23 1.265.27.438.039.828.058 1.172.058.36 0 .696-.031 1.008-.093l.469-.1.469-.111a18.6 18.6 0 01.949-.211c.32-.063.66-.094 1.02-.094.14 0 .28.008.421.023.14.016.274.051.399.106.125.054.226.14.304.258a.764.764 0 01.117.433.945.945 0 01-.328.738 2.946 2.946 0 01-.832.504 5.172 5.172 0 01-1.113.317c-.406.07-.8.125-1.184.164-.382.039-.734.062-1.054.07l-.612.011h-.103c-1 0-1.899-.16-2.695-.48a5.688 5.688 0 01-2.016-1.336 5.74 5.74 0 01-1.254-2.062c-.289-.805-.434-1.7-.434-2.684zm2.485-1.523c0 .547.074.945.222 1.195.149.25.512.375 1.09.375a3.34 3.34 0 001.196-.222 3.74 3.74 0 001.066-.621c.32-.266.574-.579.762-.938.187-.36.281-.75.281-1.172 0-.234-.02-.476-.059-.726-.039-.25-.12-.48-.246-.692a1.6 1.6 0 00-.48-.515c-.195-.133-.45-.2-.762-.2a2.6 2.6 0 00-1.277.317c-.383.21-.707.484-.973.82a3.876 3.876 0 00-.82 2.379zM49.13 40.35c0-1.515.352-2.64 1.055-3.374.703-.735 1.781-1.102 3.235-1.102.593 0 1.207.055 1.84.164.632.11 1.214.3 1.745.574a3.52 3.52 0 011.301 1.137c.336.484.504 1.11.504 1.875 0 .844-.183 1.637-.55 2.379a10.072 10.072 0 01-1.383 2.086 15.35 15.35 0 01-1.829 1.805l-.963.811c-.311.264-.61.52-.9.77-.025.05-.047.143-.067.278l-.037.312a2.127 2.127 0 00-.013.184c0 .516.152 1.035.457 1.559.305.523.637 1.054.996 1.593.36.54.688 1.098.984 1.676.297.578.446 1.18.446 1.805 0 .375-.078.597-.235.668-.156.07-.484.105-.984.105-.312-.125-.621-.418-.926-.879-.304-.46-.61-1.027-.914-1.699a26.343 26.343 0 01-.89-2.262 61.056 61.056 0 01-.82-2.554c-.259-.867-.5-1.727-.727-2.578l-.26-.99a91.72 91.72 0 01-.232-.927l-.495-2.032-.2-.795a21.758 21.758 0 01-.138-.588zm1.993.212l.005.269c.007.203.02.453.042.75.03.445.097.887.199 1.324.101.438.254.817.457 1.137.203.32.484.48.844.48.484 0 .972-.164 1.464-.492.493-.328.93-.742 1.313-1.242a7.36 7.36 0 00.937-1.605c.243-.57.364-1.09.364-1.559 0-.39-.094-.7-.282-.926a1.99 1.99 0 00-.714-.539 3.073 3.073 0 00-.926-.258 7.942 7.942 0 00-.938-.058c-.89 0-1.574.238-2.05.715-.477.476-.715 1.144-.715 2.004zm9.27 3.68c0-.97.227-1.872.68-2.708a7.114 7.114 0 011.793-2.156 8.794 8.794 0 012.507-1.418 8.088 8.088 0 012.825-.516c.53 0 1.004.172 1.418.516.414.344.761.762 1.043 1.254a6.67 6.67 0 01.644 1.558c.149.547.223 1.024.223 1.43 0 .875-.211 1.723-.633 2.543a7.997 7.997 0 01-1.64 2.18 8.504 8.504 0 01-2.274 1.535c-.844.39-1.688.586-2.531.586-.75 0-1.383-.129-1.899-.387a3.364 3.364 0 01-1.242-1.031 4.396 4.396 0 01-.691-1.524 7.563 7.563 0 01-.223-1.863zm1.992.234c0 .406.035.761.106 1.066.07.305.195.566.375.785.18.219.418.387.714.504.297.117.665.176 1.102.176.578 0 1.156-.16 1.734-.48a6.325 6.325 0 001.559-1.22 6.348 6.348 0 001.113-1.628c.282-.594.422-1.172.422-1.735 0-.25-.023-.523-.07-.82a3.336 3.336 0 00-.235-.82 1.72 1.72 0 00-.468-.633c-.203-.172-.461-.258-.774-.258-.281 0-.613.094-.996.281-.383.188-.781.43-1.195.727-.414.297-.82.633-1.219 1.008-.398.375-.762.75-1.09 1.125a6.66 6.66 0 00-.785 1.078c-.195.344-.293.625-.293.844zm10.255-5.04l.018-.75.005-.515c0-.266.004-.512.012-.738l.011-.417v-.064a4.23 4.23 0 01.387-.55c.149-.18.305-.305.47-.376a.84.84 0 01.538-.035c.196.047.395.203.598.469v.492l-.198 1.165-.06.335-.221 1.203a2.215 2.215 0 00-.037.297c0 .297.032.668.094 1.113.063.446.152.91.27 1.395.117.484.265.969.445 1.453.18.484.394.918.644 1.3.25.384.528.7.832.95.305.25.66.375 1.067.375.5 0 .941-.133 1.324-.398.383-.266.715-.61.996-1.032.281-.422.512-.898.692-1.43.18-.53.324-1.066.433-1.605.11-.539.188-1.058.235-1.558.046-.5.07-.938.07-1.313s-.028-.73-.082-1.066a14.099 14.099 0 00-.125-.667l-.074-.33a15.362 15.362 0 01-.2-.972 5.769 5.769 0 01-.082-.973c0-.297.106-.507.317-.633.21-.125.449-.187.715-.187.328 0 .593.098.796.293.204.195.364.441.48.738.118.297.196.637.235 1.02.04.383.059.761.059 1.136 0 .25-.004.492-.01.724l-.033.876-.004.276c0 .53-.039 1.132-.117 1.804a13.89 13.89 0 01-.41 2.074c-.196.711-.438 1.41-.727 2.098s-.64 1.3-1.055 1.84c-.414.539-.89.973-1.43 1.3a3.424 3.424 0 01-1.816.493c-.703 0-1.32-.168-1.851-.504a4.481 4.481 0 01-1.348-1.336 8.655 8.655 0 01-.926-1.887 14.108 14.108 0 01-.574-2.11 21.39 21.39 0 01-.363-3.773zm12.247-.28c0-.141.008-.286.023-.434a1.49 1.49 0 01.094-.399.684.684 0 01.223-.293c.101-.078.246-.117.433-.117.156 0 .332.121.528.363.195.243.394.547.597.914.203.368.402.77.598 1.207l.275.63c.086.201.166.394.24.577l.165.417a21 21 0 01.14.367l.158.438a.86.86 0 00.065.15l.496-1.31.183-.472c.25-.64.56-1.238.926-1.793a5.461 5.461 0 011.313-1.394c.508-.375 1.129-.563 1.863-.563.375 0 .73.059 1.066.176a2.632 2.632 0 011.512 1.324c.156.313.235.672.235 1.078 0 .344-.137.586-.41.727-.274.14-.583.21-.926.21h-.235l-1.008-1.007a.1.1 0 01-.07-.023l-.044-.003-.038-.009a.26.26 0 00-.082-.012c-.547 0-.973.153-1.277.457a2.94 2.94 0 00-.692 1.125 5.557 5.557 0 00-.293 1.407c-.039.492-.058.94-.058 1.347 0 .313.031.63.093.95l.1.474.111.463c.079.305.149.617.211.937.063.32.094.653.094.996 0 .657-.351.985-1.055.985-.39 0-.796-.207-1.218-.621-.422-.414-.84-.942-1.254-1.582a19.9 19.9 0 01-1.184-2.121 28.819 28.819 0 01-.984-2.262 22.093 22.093 0 01-.668-1.992c-.164-.594-.246-1.031-.246-1.313zm23.181 1.945c0-.407.102-.7.305-.88.203-.179.53-.269.984-.269h.234l.164.867a6.6 6.6 0 00.282 1.008c.125.344.273.66.445.95.172.288.383.519.633.69a3.69 3.69 0 01.41-1.581c.258-.508.578-.961.96-1.36a5.985 5.985 0 011.267-1.007c.46-.274.918-.458 1.37-.551h.516c.75 0 1.39.168 1.922.504a4.33 4.33 0 011.324 1.312c.352.54.621 1.152.809 1.84.187.688.332 1.387.434 2.098.101.71.164 1.398.187 2.062l.026.923c.006.283.01.542.01.776h-1.712a43.516 43.516 0 00-.351-2.695 16.852 16.852 0 00-.446-2.168 11.032 11.032 0 00-.304-.937 3.424 3.424 0 00-.375-.739l-.151-.156-.095-.102a13.713 13.713 0 00-.317-.328 5.2 5.2 0 00-.208-.198l-.096-.083c-.094-.078-.149-.117-.165-.117-.468-.125-.875-.035-1.218.27-.344.304-.649.714-.914 1.23a8.142 8.142 0 00-.645 1.758c-.164.656-.3 1.285-.41 1.886l-.116.685a19.42 19.42 0 00-.087.61l-.119 1.041a1.864 1.864 0 01-.006.043c-.39.282-.758.364-1.102.246-.343-.117-.668-.363-.972-.738-.305-.375-.578-.844-.82-1.406a19.959 19.959 0 01-.669-1.793 33.192 33.192 0 01-.55-1.91l-.232-.926c-.072-.297-.14-.582-.202-.855zm13.77 3.14c0-.969.227-1.87.68-2.707a7.114 7.114 0 011.793-2.156 8.794 8.794 0 012.508-1.418 8.088 8.088 0 012.824-.516c.531 0 1.004.172 1.418.516a4.54 4.54 0 011.043 1.254c.281.492.496 1.012.644 1.558.149.547.223 1.024.223 1.43a5.48 5.48 0 01-.633 2.543 7.997 7.997 0 01-1.64 2.18 8.504 8.504 0 01-2.274 1.535c-.844.39-1.687.586-2.531.586-.75 0-1.383-.129-1.898-.387a3.364 3.364 0 01-1.243-1.031 4.396 4.396 0 01-.691-1.524 7.563 7.563 0 01-.223-1.863zm1.992.235c0 .406.036.761.106 1.066.07.305.195.566.375.785.18.219.418.387.715.504.297.117.664.176 1.101.176.578 0 1.157-.16 1.735-.48a6.325 6.325 0 001.558-1.22 6.348 6.348 0 001.114-1.628c.28-.594.421-1.172.421-1.735 0-.25-.023-.523-.07-.82a3.336 3.336 0 00-.234-.82 1.72 1.72 0 00-.469-.633c-.203-.172-.46-.258-.773-.258-.282 0-.614.094-.996.281-.383.188-.782.43-1.196.727-.414.297-.82.633-1.219 1.008-.398.375-.761.75-1.09 1.125a6.66 6.66 0 00-.785 1.078c-.195.344-.293.625-.293.844zm10.255-5.04l.012-.503a22.6 22.6 0 00.01-.5l.002-.262c0-.177.001-.346.005-.505l.018-.714c.11-.187.238-.371.387-.55.148-.18.304-.305.469-.376a.84.84 0 01.539-.035c.195.047.394.203.597.469v.492l-.198 1.165-.235 1.284c-.055.29-.082.473-.082.551 0 .297.03.668.093 1.113.063.446.153.91.27 1.395.117.484.265.969.445 1.453.18.484.395.918.645 1.3.25.384.527.7.832.95.304.25.66.375 1.066.375.5 0 .942-.133 1.324-.398.383-.266.715-.61.996-1.032.282-.422.512-.898.692-1.43.18-.53.324-1.066.433-1.605.11-.539.188-1.058.235-1.558.047-.5.07-.938.07-1.313s-.027-.73-.082-1.066a14.1 14.1 0 00-.125-.667l-.074-.33a15.362 15.362 0 01-.2-.972 5.77 5.77 0 01-.081-.973c0-.297.105-.507.316-.633.211-.125.45-.187.715-.187.328 0 .594.098.797.293.203.195.363.441.48.738.117.297.196.637.235 1.02.039.383.058.761.058 1.136 0 .25-.003.492-.01.724l-.028.714-.009.438c0 .53-.039 1.132-.117 1.804a13.89 13.89 0 01-.41 2.074c-.195.711-.437 1.41-.727 2.098-.289.688-.64 1.3-1.054 1.84-.414.539-.89.973-1.43 1.3a3.424 3.424 0 01-1.816.493c-.703 0-1.32-.168-1.852-.504a4.481 4.481 0 01-1.348-1.336 8.655 8.655 0 01-.925-1.887 14.109 14.109 0 01-.575-2.11 21.39 21.39 0 01-.363-3.773zm16.747 8.508a24.702 24.702 0 001.969-1.547c.36-.312.695-.64 1.008-.984a5.58 5.58 0 00.738-.996c.18-.32.27-.621.27-.902 0-.282-.141-.516-.422-.703-.5 0-1.047.019-1.641.058-.594.04-1.188.055-1.781.047a11.21 11.21 0 01-1.723-.152 4.477 4.477 0 01-1.488-.516 2.739 2.739 0 01-1.043-1.066c-.258-.461-.387-1.051-.387-1.77 0-.844.16-1.605.48-2.285.32-.68.747-1.281 1.278-1.805a9.522 9.522 0 011.793-1.383 15.62 15.62 0 012.004-1.02c.406.11.781.306 1.125.587.343.281.64.594.89.937-.109.344-.324.61-.644.797-.32.188-.688.352-1.102.492l-1.3.446a4.917 4.917 0 00-1.231.62 3.286 3.286 0 00-.926 1.009c-.25.414-.375.957-.375 1.629 0 .5.125.867.375 1.101.25.234.578.395.985.48a5.5 5.5 0 001.382.094 38.389 38.389 0 001.582-.105c.54-.047 1.067-.074 1.582-.082.516-.008.977.054 1.383.187.407.133.73.348.973.645.242.297.363.734.363 1.312 0 .25-.082.57-.246.961a9.32 9.32 0 01-.656 1.254c-.274.445-.594.887-.961 1.324-.367.438-.75.832-1.149 1.184a7.15 7.15 0 01-1.195.867c-.398.227-.77.34-1.113.34-.328 0-.543-.117-.645-.352a1.756 1.756 0 01-.152-.703zm20.064-.984a1.1 1.1 0 01.598.187c.195.125.32.278.375.457.054.18.004.38-.153.598-.156.219-.492.422-1.007.61-.422-.063-.723-.168-.903-.317-.18-.148-.281-.305-.304-.469a.723.723 0 01.117-.492c.101-.164.226-.305.375-.422.148-.117.308-.195.48-.234.172-.04.313-.012.422.082zm-1.758-15.563c.422-.39.75-.476.985-.257.234.218.41.632.527 1.242.117.61.184 1.34.2 2.191l.025 1.73.01.883c.007.891.023 1.735.046 2.532.024.797.09 1.43.2 1.898 0 .235-.016.438-.047.61a1.037 1.037 0 01-.164.421.704.704 0 01-.375.247 2.302 2.302 0 01-.68.082c-.047 0-.094-.024-.14-.07-.048-.048-.095-.184-.141-.41l-.04-.226c-.034-.213-.068-.49-.101-.83l-.034-.393c-.029-.358-.055-.79-.08-1.297l-.054-1.246c-.026-.67-.052-1.437-.078-2.302l-.028-1.129a191.82 191.82 0 01-.03-3.676z\" fill=\"#FFF\" /></svg>);","import React from \"react\";\nexport default (({\n styles = {},\n ...props\n}) => <svg width=\"265\" height=\"168\" xmlns=\"http://www.w3.org/2000/svg\" {...props}><path d=\"M.088 4.285c1.49 0 2.725.44 3.707 1.32.982.88 1.811 2.023 2.488 3.428.677 1.405 1.236 3.013 1.676 4.824.352 1.45.693 2.93 1.024 4.445l.246 1.141c.406 1.913.82 3.775 1.244 5.586.423 1.812.964 3.428 1.625 4.85.66 1.422 1.455 2.564 2.386 3.428.931.863 2.125 1.295 3.58 1.295a.835.835 0 00.254-.051c.045-.023.098-.045.158-.068l.096-.034c.116-.029.282-.151.498-.367l.112-.115c.27-.288.44-.483.507-.584l.037-.106c.068-.222.176-.675.324-1.358l.177-.811c.14-.63.307-1.351.502-2.163l1.398-5.77c.44-1.827.906-3.68 1.396-5.56.491-1.879.99-3.707 1.498-5.484.508-1.777 1-3.36 1.473-4.748.474-1.388.923-2.497 1.346-3.326.423-.83.787-1.245 1.092-1.245.406 0 .728.085.964.254.237.17.407.39.508.66.102.271.17.568.203.89a8.9 8.9 0 01.051.939l-.006.262c-.022.482-.1 1.196-.232 2.14l-.041.29c-.186 1.286-.44 2.8-.762 4.544a165.75 165.75 0 01-1.168 5.713 196.517 196.517 0 01-1.498 6.271 92.697 92.697 0 01-1.777 6.094c-.643 1.947-1.295 3.673-1.955 5.18-.66 1.506-1.337 2.708-2.032 3.605-.694.897-1.38 1.346-2.056 1.346-.914 0-1.794-.254-2.64-.762a10.759 10.759 0 01-2.387-1.98 20.126 20.126 0 01-2.108-2.768 34.161 34.161 0 01-1.777-3.123 115.116 115.116 0 01-1.448-2.996l-.356-.783a34.078 34.078 0 01-.71-1.705L6.36 23.557l-.637-1.593c-.216-.54-.434-1.09-.654-1.65L3.896 17.33 1.28 10.59c-.224-.58-.421-1.103-.593-1.565L.268 7.868c-.12-.346-.18-.542-.18-.587V4.285zm33.768 26.406c0-2.099.49-4.054 1.473-5.865a15.414 15.414 0 013.884-4.672 19.054 19.054 0 015.434-3.072 17.517 17.517 0 016.119-1.117c1.151 0 2.175.372 3.072 1.117a9.829 9.829 0 012.26 2.717 14.362 14.362 0 011.397 3.377c.321 1.185.482 2.217.482 3.097 0 1.896-.457 3.733-1.371 5.51a17.328 17.328 0 01-3.555 4.723 18.426 18.426 0 01-4.926 3.326c-1.828.846-3.656 1.27-5.484 1.27-1.625 0-2.996-.28-4.113-.838-1.117-.559-2.015-1.304-2.692-2.235-.677-.93-1.176-2.03-1.498-3.3a16.387 16.387 0 01-.482-4.038zm4.316.508c0 .88.076 1.65.229 2.31a4.08 4.08 0 00.812 1.702c.39.474.906.838 1.55 1.092.642.254 1.438.38 2.386.38 1.252 0 2.505-.346 3.758-1.04a13.704 13.704 0 003.377-2.641 13.753 13.753 0 002.412-3.53c.61-1.286.914-2.538.914-3.757a11.4 11.4 0 00-.153-1.777 7.229 7.229 0 00-.507-1.778 3.726 3.726 0 00-1.016-1.37c-.44-.373-.999-.56-1.676-.56-.61 0-1.329.204-2.158.61-.83.406-1.693.93-2.59 1.574a25.764 25.764 0 00-2.64 2.184 35.087 35.087 0 00-2.362 2.437c-.71.813-1.278 1.591-1.701 2.336-.423.745-.635 1.354-.635 1.828zM58.94 15.406c0-.101.017-.186.051-.254 0-.067.017-.152.05-.254.11-.135.26-.303.456-.503l.154-.157c.271-.27.44-.406.508-.406h10.207c0-.331-.04-.836-.12-1.515l-.032-.262a70.99 70.99 0 01-.28-2.692 26.127 26.127 0 01-.076-3.072c.034-1.066.178-2.031.432-2.895.254-.863.66-1.574 1.219-2.132.558-.559 1.345-.838 2.36-.838 0 3.42.238 6.161.712 8.226.474 2.065 1.109 3.657 1.904 4.774.796 1.117 1.701 1.845 2.717 2.183a8.513 8.513 0 003.123.432 14.821 14.821 0 003.123-.482A21.035 21.035 0 0188.165 15c.795-.102 1.43-.025 1.904.229.474.253.711.854.711 1.802 0 .711-.16 1.219-.482 1.524-.322.304-.94.541-1.854.71l-1.346.178c-.5.068-1.05.13-1.649.187l-1.664.15-3.177.297-.594.052a37.75 37.75 0 01-1.738.114l-1.047.028a36.7 36.7 0 01-.77.01l-.003.174a9.279 9.279 0 01-.013.232l-.068.905a6.116 6.116 0 00-.017.365c0 1.49.237 2.937.711 4.342a77.753 77.753 0 001.138 3.147l.411 1.042a82.955 82.955 0 011.549 4.164c.474 1.388.71 2.827.71 4.317 0 .27-.025.55-.075.838a1.9 1.9 0 01-.305.761c-.152.22-.373.39-.66.508-.288.119-.686.093-1.194-.076-1.286-.339-2.242-1.066-2.869-2.184-.626-1.117-1.092-2.446-1.396-3.986a36.22 36.22 0 01-.61-4.9 56.644 56.644 0 00-.482-4.85c-.22-1.506-.567-2.793-1.041-3.86-.474-1.066-1.236-1.717-2.285-1.954l-9.801-2.235c-.135 0-.339-.144-.61-.431-.27-.288-.44-.5-.507-.635a.565.565 0 01-.051-.254.707.707 0 01-.05-.305zm33.87 4.266c0-.305.017-.618.05-.94a3.23 3.23 0 01.204-.863c.101-.254.262-.465.482-.635.22-.169.533-.254.94-.254.338 0 .719.263 1.142.788.423.524.855 1.184 1.295 1.98.44.796.872 1.667 1.295 2.615.353.79.67 1.527.952 2.211l.165.405c.23.568.43 1.08.599 1.536l.391 1.08c.082.216.132.334.153.354l.457-1.219c.316-.835.654-1.715 1.015-2.64a20.542 20.542 0 012.006-3.885 11.832 11.832 0 012.844-3.021c1.1-.813 2.446-1.22 4.037-1.22.813 0 1.583.128 2.31.382a5.704 5.704 0 013.275 2.87c.34.676.509 1.455.509 2.335 0 .745-.296 1.27-.889 1.574-.592.305-1.26.457-2.006.457h-.507l-2.184-2.184c-.068 0-.119-.016-.152-.05a.634.634 0 01-.125-.012l-.053-.014a.563.563 0 00-.178-.025c-1.185 0-2.107.33-2.767.99-.66.66-1.16 1.473-1.499 2.438a12.04 12.04 0 00-.634 3.046 37.162 37.162 0 00-.127 2.92c0 .677.067 1.363.203 2.057.09.463.188.918.293 1.365l.164.666c.17.66.322 1.338.457 2.032s.203 1.413.203 2.158c0 1.422-.762 2.133-2.285 2.133-.846 0-1.727-.449-2.64-1.346-.915-.897-1.82-2.04-2.717-3.428a43.117 43.117 0 01-2.565-4.596 62.44 62.44 0 01-2.133-4.9 47.544 47.544 0 01-1.447-4.316l-.151-.57c-.255-1-.382-1.758-.382-2.274zm26.049 7.21c0-1.827.22-3.655.66-5.484.44-1.828 1.143-3.47 2.108-4.925a11.452 11.452 0 013.757-3.555c1.54-.914 3.411-1.371 5.612-1.371 1.252 0 2.353.228 3.3.685a7.291 7.291 0 012.387 1.803 7.439 7.439 0 011.447 2.615c.322 1 .483 2.04.483 3.123 0 1.727-.398 3.403-1.193 5.028a14.442 14.442 0 01-3.2 4.29 13.47 13.47 0 01-4.595 2.794 9.858 9.858 0 01-5.282.431c.034.982.364 1.77.99 2.362a6.182 6.182 0 002.26 1.345c.88.305 1.795.5 2.743.584.947.085 1.794.127 2.539.127.778 0 1.506-.067 2.183-.203.452-.09.903-.188 1.354-.293l.677-.164c.678-.17 1.363-.321 2.057-.457.694-.135 1.43-.203 2.21-.203.304 0 .608.017.913.05.305.035.593.11.863.23.271.118.491.304.66.558.17.254.254.567.254.94a2.05 2.05 0 01-.71 1.599c-.474.423-1.075.787-1.803 1.092a11.13 11.13 0 01-2.412.685 36.96 36.96 0 01-2.565.356 29.81 29.81 0 01-2.285.152l-.908.02c-.258.003-.471.006-.64.006-2.167 0-4.114-.347-5.84-1.041-1.727-.694-3.183-1.66-4.368-2.895-1.185-1.236-2.09-2.725-2.717-4.469-.626-1.743-.939-3.681-.939-5.814zm5.383-3.3c0 1.185.16 2.048.482 2.59.322.542 1.109.812 2.362.812.88 0 1.743-.16 2.59-.482a8.105 8.105 0 002.31-1.346 6.563 6.563 0 001.65-2.031 5.4 5.4 0 00.61-2.54c0-.507-.043-1.032-.127-1.573a4.173 4.173 0 00-.533-1.498 3.469 3.469 0 00-1.041-1.118c-.424-.287-.974-.431-1.65-.431-1.016 0-1.939.228-2.768.685a6.903 6.903 0 00-2.108 1.778 8.095 8.095 0 00-1.32 2.437 8.398 8.398 0 00-.457 2.717zm68.399 10.867l-.831.573a92.8 92.8 0 00-2.495 1.789 22.127 22.127 0 01-2.717 1.752c-.88.473-1.82.829-2.818 1.066-.999.237-2.226.355-3.682.355-3.148 0-5.484-.838-7.008-2.513-1.523-1.676-2.285-4.173-2.285-7.49 0-1.287.17-2.624.508-4.012a21.007 21.007 0 011.498-4.139 24.258 24.258 0 012.361-3.91 18.383 18.383 0 013.098-3.275 15.19 15.19 0 013.682-2.26 10.396 10.396 0 014.138-.838c2.438.237 4.35.838 5.739 1.803a9.26 9.26 0 013.148 3.707c.71 1.506 1.202 3.182 1.473 5.027.216 1.476.395 2.99.536 4.542l.098 1.17c.153 1.964.347 3.928.584 5.892.237 1.963.728 3.774 1.473 5.433-.44 1.117-.855 1.904-1.244 2.361-.39.457-.821.534-1.295.229-.474-.305-1.024-1.05-1.65-2.234-.627-1.185-1.397-2.861-2.311-5.028zm-17.52-4.367c0 1.93.364 3.343 1.092 4.24.728.897 2.023 1.346 3.885 1.346 1.388 0 2.717-.245 3.986-.736a10.519 10.519 0 003.327-2.032 9.873 9.873 0 002.285-3.123c.575-1.218.863-2.573.863-4.062l.006-.691c.007-.516.022-1.14.045-1.874a17.66 17.66 0 00-.203-3.275c-.17-1.083-.491-2.023-.965-2.818-.474-.796-1.185-1.194-2.133-1.194a9.28 9.28 0 00-4.875 1.346 14.066 14.066 0 00-3.86 3.428 16.69 16.69 0 00-2.538 4.595c-.61 1.676-.915 3.293-.915 4.85zm27.015-15.539c.237-.813.516-1.185.837-1.117.322.067.72.457 1.194 1.168.421.632.89 1.45 1.404 2.457l.195.387a868.132 868.132 0 011.905 3.833 92.157 92.157 0 002.209 4.19 38.848 38.848 0 002.488 3.91c.863 1.185 1.777 2.167 2.742 2.945.965.78 1.955 1.236 2.97 1.371l4.063-21.023c.068-.575.33-.906.787-.99a7.38 7.38 0 011.346-.127c1.524 0 2.285.71 2.285 2.133l-.004.346c-.016.746-.083 1.816-.199 3.208a75.341 75.341 0 01-.66 5.358 108.151 108.151 0 01-1.117 5.992c-.44 2.048-.965 3.919-1.574 5.611-.61 1.693-1.312 3.081-2.108 4.164-.795 1.084-1.667 1.625-2.615 1.625-1.388 0-2.76-.465-4.113-1.396-1.354-.931-2.632-2.15-3.834-3.656a33.364 33.364 0 01-3.301-5.053 50.362 50.362 0 01-2.59-5.611 41.045 41.045 0 01-1.701-5.409c-.406-1.726-.61-3.165-.61-4.316zm29.74 10.671l-.033-2.605v-.857c.003-.158.008-.357.017-.597l.125-3.643a18.9 18.9 0 00.008-.48 4.343 4.343 0 011.448-1.321 9.97 9.97 0 011.802-.813c.102 1.829.39 3.775.864 5.84s.981 4.139 1.523 6.221a129.03 129.03 0 011.447 6.17c.424 2.031.635 3.927.635 5.687 0 1.524-.779 2.286-2.336 2.286-.948 0-1.743-.39-2.387-1.168-.643-.78-1.16-1.77-1.548-2.971-.39-1.202-.703-2.54-.94-4.012a43.65 43.65 0 01-.482-4.342 90.708 90.708 0 01-.143-3.395zm.676-22.3c.643.27 1.185.711 1.625 1.32.44.61.635 1.16.584 1.65-.05.492-.432.83-1.143 1.016-.71.187-1.895-.008-3.554-.584 0-.914.177-1.71.533-2.386.355-.677 1.007-1.016 1.955-1.016zm18.99 35.8a42.555 42.555 0 001.956-1.446 54.78 54.78 0 002.31-1.905 26.031 26.031 0 002.184-2.133c.677-.744 1.21-1.464 1.6-2.158.389-.694.583-1.345.583-1.955 0-.61-.304-1.117-.914-1.523a54.17 54.17 0 00-3.554.127 48.955 48.955 0 01-3.86.101 24.29 24.29 0 01-3.732-.33c-1.202-.203-2.277-.575-3.225-1.117s-1.7-1.312-2.26-2.31c-.558-1-.837-2.277-.837-3.835 0-1.828.347-3.478 1.04-4.95a13.56 13.56 0 012.768-3.91 20.632 20.632 0 013.885-2.997 33.844 33.844 0 014.342-2.209c.88.237 1.692.66 2.437 1.27a10.934 10.934 0 011.93 2.03c-.237.746-.703 1.321-1.397 1.727a12.98 12.98 0 01-2.386 1.067l-2.09.714-.729.25c-.981.34-1.87.788-2.666 1.346-.795.559-1.464 1.287-2.006 2.184-.541.897-.812 2.074-.812 3.53 0 1.083.27 1.878.812 2.386.542.508 1.253.855 2.133 1.041.88.186 1.88.254 2.996.203a83.18 83.18 0 003.428-.228 47.736 47.736 0 013.428-.178c1.117-.017 2.116.118 2.996.406.88.288 1.583.753 2.107 1.397.525.643.787 1.59.787 2.843 0 .542-.177 1.236-.533 2.082-.355.847-.83 1.752-1.422 2.717a24.048 24.048 0 01-2.082 2.87 23.901 23.901 0 01-2.488 2.564 15.586 15.586 0 01-2.59 1.879c-.863.49-1.667.736-2.412.736-.71 0-1.176-.254-1.396-.762a3.805 3.805 0 01-.33-1.523zm-208.649 43c0-1.421.314-2.91.94-4.468a15.953 15.953 0 012.513-4.24 14.718 14.718 0 013.631-3.174c1.371-.846 2.819-1.27 4.342-1.27.779 0 1.557.136 2.336.407.779.27 1.481.66 2.107 1.168a6.107 6.107 0 011.524 1.828c.39.71.584 1.506.584 2.387a6.17 6.17 0 01-1.65-.204c-.491-.135-.974-.296-1.448-.482s-.94-.347-1.396-.482a5.255 5.255 0 00-1.498-.204c-1.388 0-2.514.347-3.377 1.041a7.484 7.484 0 00-2.057 2.616 11.882 11.882 0 00-1.04 3.377 22.124 22.124 0 00-.28 3.377l.01.496.117 3.465c.017.474.042.795.076.964.372.813.736 1.44 1.092 1.88.355.44.736.77 1.142.99.407.22.847.355 1.32.406.475.05 1.033.076 1.676.076.88 0 1.65-.135 2.311-.406.66-.271 1.278-.593 1.853-.965.46-.298.9-.623 1.317-.975l.308-.27c.508-.456 1.041-.88 1.6-1.269a8.55 8.55 0 011.828-.965c.66-.254 1.414-.38 2.26-.38 0 1.658-.296 3.131-.889 4.417a9.564 9.564 0 01-2.488 3.301c-1.066.914-2.319 1.617-3.758 2.108-1.439.49-3.004.736-4.697.736-1.591 0-3.022-.542-4.291-1.625-1.27-1.083-2.353-2.412-3.25-3.986a21.181 21.181 0 01-2.057-5.002c-.474-1.76-.71-3.318-.71-4.672zm25.085 4.977c0-2.099.49-4.054 1.472-5.865a15.414 15.414 0 013.885-4.672 19.054 19.054 0 015.434-3.072 17.517 17.517 0 016.119-1.117c1.15 0 2.175.372 3.072 1.117a9.829 9.829 0 012.26 2.717 14.362 14.362 0 011.396 3.377c.322 1.185.483 2.217.483 3.097 0 1.896-.457 3.733-1.371 5.51a17.328 17.328 0 01-3.555 4.723 18.426 18.426 0 01-4.926 3.326c-1.828.846-3.656 1.27-5.484 1.27-1.625 0-2.996-.28-4.113-.838-1.118-.559-2.015-1.304-2.692-2.235-.677-.93-1.176-2.03-1.498-3.3a16.387 16.387 0 01-.482-4.038zm4.316.508c0 .88.076 1.65.229 2.31a4.08 4.08 0 00.812 1.702c.39.474.906.838 1.549 1.092.643.254 1.439.38 2.387.38 1.252 0 2.505-.346 3.758-1.04a13.704 13.704 0 003.376-2.641 13.753 13.753 0 002.413-3.53c.609-1.286.914-2.538.914-3.757 0-.542-.051-1.134-.153-1.778a7.229 7.229 0 00-.508-1.777 3.726 3.726 0 00-1.015-1.37c-.44-.373-.999-.56-1.676-.56-.61 0-1.329.204-2.158.61-.83.406-1.693.93-2.59 1.574a25.764 25.764 0 00-2.64 2.184 35.087 35.087 0 00-2.362 2.437c-.71.813-1.278 1.591-1.701 2.336-.423.745-.635 1.354-.635 1.828zm20.768-11.527c0-.846.144-1.507.432-1.98.288-.475.905-.712 1.853-.712l.222.007.895.044.24 1.08c.162.742.328 1.524.497 2.348.254 1.236.55 2.48.888 3.732.339 1.253.72 2.489 1.143 3.707.423 1.22.94 2.32 1.549 3.301a5.716 5.716 0 001.32-2.285c.271-.88.474-1.769.61-2.666l.196-1.32c.064-.432.125-.855.184-1.27.119-.83.364-1.54.737-2.133.372-.592.922-1.024 1.65-1.295.728-.27 1.735-.27 3.022 0 1.421 0 2.556.263 3.402.788a8.483 8.483 0 012.209 1.98 37.591 37.591 0 011.828 2.54 10.124 10.124 0 002.26 2.411l.762-1.65c.304-.66.685-1.354 1.142-2.082.457-.728.948-1.456 1.473-2.184a17.64 17.64 0 011.65-1.98 9.998 9.998 0 011.778-1.473c.609-.39 1.201-.584 1.777-.584 1.388 0 2.59.432 3.605 1.295 1.016.863 1.888 1.947 2.616 3.25.727 1.303 1.328 2.76 1.802 4.367a44.836 44.836 0 011.117 4.647c.271 1.49.466 2.852.584 4.088l.078.861c.067.797.1 1.398.1 1.805 0 .44-.101.778-.304 1.015a1.884 1.884 0 01-.762.533 3.683 3.683 0 01-.99.229c-.356.034-.686.05-.99.05-.068 0-.17-.008-.305-.025a6.408 6.408 0 01-.457-.076l-.423-.114a34.123 34.123 0 01-.136-.038l-3.3-15.184c0-.089-.104-.249-.312-.48l-.095-.104c-.27-.288-.474-.465-.61-.533a.565.565 0 01-.253-.05.475.475 0 01-.113-.012l-.04-.014a.225.225 0 00-.101-.026c-.711 0-1.38.288-2.006.864-.626.575-1.21 1.303-1.752 2.183-.542.88-1.05 1.862-1.523 2.946a45.346 45.346 0 00-1.27 3.224l-.358 1.038c-.115.337-.225.664-.33.982l-.65 1.996c-.131.394-.244.723-.338.986-.116.058-.331.11-.646.156l-.166.022a8.48 8.48 0 01-.813.076c-.948 0-1.676-.33-2.183-.99-.508-.66-.923-1.481-1.245-2.463-.268-.818-.5-1.7-.698-2.648l-.114-.577a25.597 25.597 0 00-.813-3.224c-.321-.982-.761-1.803-1.32-2.463-.558-.66-1.346-.99-2.361-.99-.373 0-.728.372-1.067 1.117-.338.745-.643 1.684-.914 2.818a80.247 80.247 0 00-1.346 7.313l-.106.817a59.353 59.353 0 00-.196 1.752l-.129 1.468a1.022 1.022 0 01-.292.26l-.749.45c-.22.136-.44.238-.66.305-.22.068-.381.102-.483.102-.947 0-1.862-.432-2.742-1.295-.88-.863-1.684-1.98-2.412-3.351a34.276 34.276 0 01-1.98-4.545 54.852 54.852 0 01-1.498-4.875 55.368 55.368 0 01-.94-4.317c-.22-1.286-.33-2.268-.33-2.945zm45.803 2.59c0-3.284.762-5.722 2.285-7.313 1.524-1.59 3.86-2.386 7.008-2.386 1.287 0 2.615.118 3.987.355a13.08 13.08 0 013.783 1.244 7.617 7.617 0 012.818 2.463c.728 1.05 1.092 2.404 1.092 4.063 0 1.828-.398 3.546-1.193 5.154a21.822 21.822 0 01-2.997 4.52 33.256 33.256 0 01-3.96 3.91l-1.408 1.182a290.78 290.78 0 00-2.63 2.245c-.058.116-.11.338-.155.666l-.06.5a5.669 5.669 0 00-.039.51c0 1.117.33 2.243.99 3.377a66.964 66.964 0 002.159 3.453 37.057 37.057 0 012.133 3.63c.643 1.254.965 2.557.965 3.911 0 .813-.17 1.295-.508 1.447-.339.153-1.05.229-2.133.229-.677-.271-1.346-.906-2.006-1.904-.66-1-1.32-2.226-1.98-3.682a57.076 57.076 0 01-1.93-4.9 132.287 132.287 0 01-1.777-5.536 200.529 200.529 0 01-1.575-5.586l-.357-1.356a221.7 221.7 0 01-.647-2.552l-.762-3.146-.927-3.734a34.496 34.496 0 01-.176-.764zm4.317.457l.005.372c.011.474.044 1.086.096 1.837.068.965.212 1.921.432 2.869.22.948.55 1.769.99 2.463.44.694 1.05 1.04 1.828 1.04 1.05 0 2.108-.355 3.174-1.066a11.87 11.87 0 002.844-2.691 15.974 15.974 0 002.031-3.479c.525-1.235.787-2.36.787-3.376 0-.847-.203-1.515-.61-2.006a4.31 4.31 0 00-1.548-1.168 6.658 6.658 0 00-2.006-.559 17.208 17.208 0 00-2.031-.127c-1.93 0-3.411.516-4.444 1.549-1.032 1.033-1.548 2.48-1.548 4.342zm18.635-7.313a.58.58 0 01.05-.254c0-.067.018-.152.051-.254a7.5 7.5 0 01.455-.503l.155-.157c.27-.27.44-.406.508-.406h10.207l-.008-.28a18.588 18.588 0 00-.113-1.235l-.032-.262a70.988 70.988 0 01-.28-2.692 26.127 26.127 0 01-.075-3.072c.034-1.066.177-2.031.431-2.895.254-.863.66-1.574 1.22-2.132.558-.559 1.345-.838 2.36-.838 0 3.42.237 6.161.711 8.226.474 2.065 1.11 3.657 1.905 4.774.795 1.117 1.7 1.845 2.717 2.183a8.513 8.513 0 003.123.432 14.822 14.822 0 003.123-.482A21.035 21.035 0 01191.04 71c.796-.102 1.43-.025 1.905.229.474.253.71.854.71 1.802 0 .711-.16 1.219-.482 1.524-.321.304-.94.541-1.853.71l-1.346.178c-.501.068-1.05.13-1.65.187l-1.663.15-3.177.297-.594.052a37.75 37.75 0 01-1.739.114l-1.046.028c-.323.007-.58.01-.77.01l-.004.174c-.005.136-.016.31-.033.523l-.048.614a6.116 6.116 0 00-.016.365c0 1.49.237 2.937.71 4.342a77.755 77.755 0 001.139 3.147l.41 1.042a82.953 82.953 0 011.55 4.164c.473 1.388.71 2.827.71 4.317 0 .27-.025.55-.076.838a1.9 1.9 0 01-.305.761 1.44 1.44 0 01-.66.508c-.252.104-.588.097-1.008-.02L181.52 97c-1.287-.339-2.243-1.066-2.87-2.184-.626-1.117-1.091-2.446-1.396-3.986a36.22 36.22 0 01-.61-4.9 56.645 56.645 0 00-.481-4.85c-.22-1.506-.568-2.793-1.042-3.86-.473-1.066-1.235-1.717-2.285-1.954l-9.8-2.235c-.136 0-.339-.144-.61-.431l-.207-.228a2.224 2.224 0 01-.3-.407.565.565 0 01-.051-.254.707.707 0 01-.051-.305zm33.87 11.477c0-1.828.22-3.656.66-5.485.44-1.828 1.142-3.47 2.107-4.925a11.452 11.452 0 013.758-3.555c1.54-.914 3.41-1.371 5.611-1.371 1.253 0 2.353.228 3.3.685a7.291 7.291 0 012.388 1.803 7.439 7.439 0 011.447 2.615c.321 1 .482 2.04.482 3.123 0 1.727-.398 3.403-1.193 5.028a14.442 14.442 0 01-3.2 4.29 13.47 13.47 0 01-4.595 2.794 9.858 9.858 0 01-5.281.431c.034.982.364 1.77.99 2.362a6.182 6.182 0 002.26 1.345c.88.305 1.794.5 2.742.584.948.085 1.794.127 2.539.127.779 0 1.506-.067 2.184-.203.45-.09.902-.188 1.354-.293l.677-.164c.677-.17 1.362-.321 2.056-.457.694-.135 1.43-.203 2.21-.203.304 0 .609.017.913.05.305.035.593.11.864.23.27.118.49.304.66.558.17.254.254.567.254.94 0 .643-.237 1.176-.711 1.599-.474.423-1.075.787-1.803 1.092a11.13 11.13 0 01-2.412.685c-.88.153-1.735.271-2.564.356a29.81 29.81 0 01-2.286.152l-.907.02c-.258.003-.472.006-.641.006-2.167 0-4.114-.347-5.84-1.041-1.727-.694-3.183-1.66-4.367-2.895-1.185-1.236-2.09-2.725-2.717-4.469-.627-1.743-.94-3.681-.94-5.814zm5.382-3.301c0 1.185.16 2.048.483 2.59.321.542 1.108.812 2.36.812.881 0 1.744-.16 2.59-.482a8.105 8.105 0 002.311-1.346 6.563 6.563 0 001.65-2.031 5.4 5.4 0 00.61-2.54c0-.507-.042-1.032-.127-1.573a4.173 4.173 0 00-.533-1.498 3.469 3.469 0 00-1.041-1.118c-.423-.287-.973-.431-1.65-.431-1.016 0-1.939.228-2.768.685a6.903 6.903 0 00-2.108 1.778 8.095 8.095 0 00-1.32 2.437 8.398 8.398 0 00-.457 2.717zM1.866 134.262c0-3.284.762-5.722 2.285-7.313 1.524-1.59 3.86-2.386 7.008-2.386 1.286 0 2.615.118 3.986.355a13.08 13.08 0 013.784 1.244 7.617 7.617 0 012.818 2.463c.728 1.05 1.092 2.404 1.092 4.063 0 1.828-.398 3.546-1.194 5.154a21.822 21.822 0 01-2.996 4.52 33.256 33.256 0 01-3.96 3.91l-1.408 1.182a277.88 277.88 0 00-2.63 2.245c-.058.116-.11.338-.155.666l-.06.5a5.669 5.669 0 00-.039.51c0 1.117.33 2.243.99 3.377a66.964 66.964 0 002.159 3.453 37.057 37.057 0 012.133 3.63c.643 1.254.964 2.557.964 3.911 0 .813-.169 1.295-.507 1.447-.339.153-1.05.229-2.133.229-.677-.271-1.346-.906-2.006-1.904-.66-1-1.32-2.226-1.98-3.682a57.077 57.077 0 01-1.93-4.9 132.29 132.29 0 01-1.778-5.536 200.529 200.529 0 01-1.574-5.586 207.92 207.92 0 01-1.152-4.512l-.614-2.542c-.149-.609-.29-1.175-.422-1.7l-.408-1.632c-.123-.501-.214-.89-.273-1.166zm4.316.457l.005.372c.012.474.044 1.086.097 1.837.068.965.212 1.921.432 2.869.22.948.55 1.769.99 2.463.44.694 1.05 1.04 1.828 1.04 1.05 0 2.107-.355 3.174-1.066a11.87 11.87 0 002.844-2.691 15.974 15.974 0 002.03-3.479c.526-1.235.788-2.36.788-3.376 0-.847-.203-1.515-.61-2.006a4.31 4.31 0 00-1.548-1.168 6.658 6.658 0 00-2.006-.559 17.208 17.208 0 00-2.031-.127c-1.93 0-3.411.516-4.444 1.549-1.032 1.033-1.549 2.48-1.549 4.342zm19.753 7.972c0-2.099.49-4.054 1.472-5.865a15.414 15.414 0 013.885-4.672 19.054 19.054 0 015.434-3.072 17.517 17.517 0 016.119-1.117c1.151 0 2.175.372 3.072 1.117a9.829 9.829 0 012.26 2.717 14.362 14.362 0 011.396 3.377c.322 1.185.483 2.217.483 3.097 0 1.896-.457 3.733-1.371 5.51a17.328 17.328 0 01-3.555 4.723 18.426 18.426 0 01-4.926 3.326c-1.828.846-3.656 1.27-5.484 1.27-1.625 0-2.996-.28-4.113-.838-1.118-.559-2.015-1.304-2.692-2.235-.677-.93-1.176-2.03-1.498-3.3a16.387 16.387 0 01-.482-4.038zm4.316.508c0 .88.076 1.65.229 2.31a4.08 4.08 0 00.812 1.702c.39.474.906.838 1.549 1.092.643.254 1.439.38 2.387.38 1.252 0 2.505-.346 3.758-1.04a13.704 13.704 0 003.377-2.641 13.753 13.753 0 002.412-3.53c.609-1.286.914-2.538.914-3.757 0-.542-.051-1.134-.153-1.778a7.229 7.229 0 00-.507-1.777 3.726 3.726 0 00-1.016-1.37c-.44-.373-.999-.56-1.676-.56-.61 0-1.329.204-2.158.61-.83.406-1.693.93-2.59 1.574a25.764 25.764 0 00-2.64 2.184 35.087 35.087 0 00-2.362 2.437c-.71.813-1.278 1.591-1.701 2.336-.423.745-.635 1.354-.635 1.828zm21.888-10.56l-.001-.54.024-.91c.011-.35.019-.71.022-1.083l.003-.567c0-.432.005-.84.014-1.223l.032-1.077c.003-.14.005-.254.005-.34.237-.407.516-.805.838-1.194.321-.39.66-.66 1.015-.812.356-.153.745-.178 1.168-.077.424.102.855.44 1.295 1.016v1.066l-.14.81-.063.384c-.06.376-.128.773-.2 1.191l-.39 2.142-.216 1.164c-.072.408-.108.678-.108.81 0 .643.068 1.447.203 2.412.136.964.33 1.972.584 3.021a27.94 27.94 0 00.965 3.148c.39 1.05.855 1.99 1.397 2.819.541.83 1.142 1.515 1.802 2.056.66.542 1.43.813 2.31.813 1.084 0 2.04-.288 2.87-.863.83-.576 1.549-1.32 2.158-2.235a13.147 13.147 0 001.498-3.097c.39-1.151.703-2.31.94-3.479.237-1.168.406-2.293.507-3.377a30.95 30.95 0 00.153-2.844c0-.812-.06-1.582-.178-2.31a30.55 30.55 0 00-.27-1.445l-.162-.713a33.148 33.148 0 01-.431-2.108 12.5 12.5 0 01-.178-2.107c0-.643.229-1.1.686-1.371a2.98 2.98 0 011.548-.406c.711 0 1.287.211 1.727.634.44.423.787.957 1.041 1.6.254.643.423 1.38.508 2.209.084.83.127 1.65.127 2.463 0 .61-.01 1.195-.029 1.756l-.056 1.41c-.006.174-.01.335-.013.484l-.004.412c0 1.151-.084 2.455-.254 3.91a30.097 30.097 0 01-.888 4.495 37.014 37.014 0 01-1.575 4.544c-.626 1.49-1.388 2.819-2.285 3.987-.897 1.168-1.93 2.107-3.097 2.818-1.168.711-2.48 1.067-3.936 1.067-1.523 0-2.86-.364-4.012-1.092-1.15-.728-2.124-1.693-2.92-2.895-.795-1.202-1.464-2.564-2.005-4.088a30.568 30.568 0 01-1.245-4.57 42.94 42.94 0 01-.609-4.443 48.903 48.903 0 01-.175-3.376zm26.199-.967c0-.305.017-.618.05-.94a3.23 3.23 0 01.204-.863c.101-.254.262-.465.482-.635.22-.169.533-.254.94-.254.338 0 .72.263 1.142.788.423.524.855 1.184 1.295 1.98.44.796.872 1.667 1.295 2.615l.406.923c.195.448.377.878.546 1.288l.165.405c.23.568.43 1.08.599 1.536l.392 1.08c.08.216.132.334.152.354l.457-1.219c.316-.835.654-1.715 1.016-2.64a20.542 20.542 0 012.005-3.885 11.832 11.832 0 012.844-3.021c1.1-.813 2.446-1.22 4.037-1.22.813 0 1.583.128 2.31.382a5.704 5.704 0 013.275 2.87c.34.676.509 1.455.509 2.335 0 .745-.296 1.27-.889 1.574-.592.305-1.26.457-2.006.457h-.507l-2.184-2.184c-.068 0-.118-.016-.152-.05a.634.634 0 01-.124-.012l-.054-.014a.563.563 0 00-.178-.025c-1.185 0-2.107.33-2.767.99-.66.66-1.16 1.473-1.498 2.438a12.04 12.04 0 00-.635 3.046 37.162 37.162 0 00-.127 2.92c0 .677.068 1.363.203 2.057.09.463.188.918.293 1.365l.164.666c.17.66.322 1.338.457 2.032s.203 1.413.203 2.158c0 1.422-.762 2.133-2.285 2.133-.846 0-1.727-.449-2.64-1.346-.915-.897-1.82-2.04-2.717-3.428a43.117 43.117 0 01-2.565-4.596 62.44 62.44 0 01-2.133-4.9 48.175 48.175 0 01-1.447-4.316l-.151-.57c-.255-1-.382-1.758-.382-2.274zm49.56 4.215c0-.88.22-1.515.66-1.905.44-.389 1.15-.584 2.132-.584h.508l.356 1.88c.135.71.338 1.438.609 2.183.27.745.592 1.43.965 2.057.372.626.83 1.125 1.37 1.498a7.997 7.997 0 01.89-3.428 12.181 12.181 0 012.082-2.945 12.967 12.967 0 012.742-2.184c.998-.592 1.989-.99 2.97-1.193h1.118c1.625 0 3.013.364 4.164 1.091a9.382 9.382 0 012.869 2.844c.762 1.168 1.346 2.497 1.752 3.987.406 1.49.72 3.004.94 4.544.22 1.54.355 3.03.405 4.47l.03.927c.031 1.046.047 1.964.047 2.754H150.8a94.285 94.285 0 00-.762-5.84 36.513 36.513 0 00-.406-2.361c-.17-.83-.356-1.608-.559-2.336a23.903 23.903 0 00-.66-2.032 7.42 7.42 0 00-.813-1.6l-.29-.298-.243-.26c-.22-.237-.448-.474-.685-.71a9.993 9.993 0 00-.66-.61l-.154-.124a1.048 1.048 0 00-.182-.125l-.02-.005c-1.016-.27-1.896-.076-2.64.584-.745.66-1.406 1.549-1.981 2.666-.576 1.117-1.041 2.387-1.397 3.809a64.353 64.353 0 00-.888 4.088l-.165.945a44.21 44.21 0 00-.302 2.087l-.176 1.597c-.03.256-.053.431-.068.525-.847.61-1.642.787-2.387.533-.745-.254-1.447-.787-2.107-1.6-.66-.812-1.253-1.828-1.778-3.046a43.243 43.243 0 01-1.447-3.885 71.915 71.915 0 01-1.193-4.139l-.342-1.354c-.218-.88-.417-1.715-.598-2.505zm29.502 6.804c0-2.099.49-4.054 1.472-5.865a15.414 15.414 0 013.885-4.672 19.054 19.054 0 015.434-3.072 17.517 17.517 0 016.119-1.117c1.15 0 2.175.372 3.072 1.117a9.829 9.829 0 012.26 2.717 14.362 14.362 0 011.396 3.377c.322 1.185.483 2.217.483 3.097 0 1.896-.457 3.733-1.371 5.51a17.328 17.328 0 01-3.555 4.723 18.426 18.426 0 01-4.926 3.326c-1.828.846-3.656 1.27-5.484 1.27-1.625 0-2.996-.28-4.114-.838-1.117-.559-2.014-1.304-2.69-2.235-.678-.93-1.177-2.03-1.499-3.3a16.387 16.387 0 01-.482-4.038zm4.316.508c0 .88.076 1.65.229 2.31a4.08 4.08 0 00.812 1.702c.39.474.906.838 1.549 1.092.643.254 1.439.38 2.387.38 1.252 0 2.505-.346 3.757-1.04a13.704 13.704 0 003.377-2.641 13.753 13.753 0 002.412-3.53c.61-1.286.915-2.538.915-3.757 0-.542-.051-1.134-.153-1.778a7.229 7.229 0 00-.508-1.777 3.726 3.726 0 00-1.015-1.37c-.44-.373-.999-.56-1.676-.56-.61 0-1.329.204-2.158.61-.83.406-1.693.93-2.59 1.574a25.764 25.764 0 00-2.64 2.184 35.087 35.087 0 00-2.362 2.437c-.711.813-1.278 1.591-1.701 2.336-.423.745-.635 1.354-.635 1.828zm21.887-10.56v-.54l.024-.91c.01-.35.018-.71.022-1.083l.003-.567c0-.432.005-.84.014-1.223l.032-1.077c.003-.14.005-.254.005-.34.237-.407.516-.805.838-1.194.321-.39.66-.66 1.015-.812.356-.153.745-.178 1.168-.077.423.102.855.44 1.295 1.016v1.066l-.065.362-.268 1.612c-.069.404-.144.83-.225 1.276l-.452 2.44c-.071.409-.107.679-.107.81 0 .644.068 1.448.203 2.413.135.964.33 1.972.584 3.021a27.94 27.94 0 00.965 3.148c.39 1.05.855 1.99 1.396 2.819.542.83 1.143 1.515 1.803 2.056.66.542 1.43.813 2.31.813 1.084 0 2.04-.288 2.87-.863.83-.576 1.549-1.32 2.158-2.235a13.147 13.147 0 001.498-3.097c.39-1.151.703-2.31.94-3.479.236-1.168.406-2.293.507-3.377a30.95 30.95 0 00.153-2.844c0-.812-.06-1.582-.178-2.31-.08-.485-.17-.967-.27-1.445l-.162-.713a33.148 33.148 0 01-.431-2.108 12.5 12.5 0 01-.178-2.107c0-.643.228-1.1.685-1.371a2.98 2.98 0 011.55-.406c.71 0 1.286.211 1.726.634.44.423.787.957 1.04 1.6.255.643.424 1.38.509 2.209.084.83.127 1.65.127 2.463 0 .61-.01 1.195-.029 1.756l-.047 1.143c-.014.369-.022.69-.025.966v.197c0 1.151-.086 2.455-.255 3.91a30.097 30.097 0 01-.889 4.495 37.014 37.014 0 01-1.574 4.544c-.626 1.49-1.388 2.819-2.285 3.987-.897 1.168-1.93 2.107-3.098 2.818-1.168.711-2.48 1.067-3.935 1.067-1.524 0-2.86-.364-4.012-1.092-1.15-.728-2.124-1.693-2.92-2.895-.795-1.202-1.464-2.564-2.006-4.088a30.568 30.568 0 01-1.244-4.57 42.94 42.94 0 01-.61-4.443 48.903 48.903 0 01-.175-3.376zm35.95 18.076a42.555 42.555 0 001.955-1.447 54.779 54.779 0 002.31-1.905 26.031 26.031 0 002.184-2.133c.677-.744 1.21-1.464 1.6-2.158.389-.694.584-1.345.584-1.955 0-.61-.305-1.117-.915-1.523a54.17 54.17 0 00-3.554.127 48.955 48.955 0 01-3.86.101 24.29 24.29 0 01-3.732-.33c-1.202-.203-2.277-.575-3.225-1.117s-1.7-1.312-2.26-2.31c-.558-1-.837-2.277-.837-3.835 0-1.828.347-3.478 1.04-4.95a13.56 13.56 0 012.768-3.91 20.632 20.632 0 013.885-2.997 33.844 33.844 0 014.342-2.209c.88.237 1.693.66 2.437 1.27a10.934 10.934 0 011.93 2.03c-.237.746-.702 1.321-1.396 1.727-.694.407-1.49.762-2.387 1.067l-2.09.714-.728.25c-.982.34-1.87.788-2.667 1.346-.795.559-1.464 1.287-2.005 2.184-.542.897-.813 2.074-.813 3.53 0 1.083.271 1.878.813 2.386.541.508 1.252.855 2.132 1.041.88.186 1.88.254 2.997.203a83.18 83.18 0 003.427-.228 47.736 47.736 0 013.428-.178c1.117-.017 2.116.118 2.996.406.88.288 1.583.753 2.108 1.397.524.643.787 1.59.787 2.843 0 .542-.178 1.236-.534 2.082a20.15 20.15 0 01-1.421 2.717 24.048 24.048 0 01-2.082 2.87 23.901 23.901 0 01-2.489 2.564 15.586 15.586 0 01-2.59 1.879c-.863.49-1.667.736-2.412.736-.71 0-1.176-.254-1.396-.762a3.805 3.805 0 01-.33-1.523zm42.805-2.133c.44 0 .872.135 1.295.406.423.271.694.601.813.99.118.39.008.821-.33 1.295-.339.474-1.067.914-2.184 1.32-.914-.135-1.566-.363-1.955-.685-.39-.321-.61-.66-.66-1.015-.051-.356.034-.711.254-1.067.22-.355.49-.66.812-.914a2.596 2.596 0 011.041-.508c.373-.084.677-.025.914.178zm-3.808-33.719c.914-.846 1.625-1.032 2.132-.558.508.474.89 1.37 1.143 2.691.254 1.32.398 2.903.432 4.748.025 1.384.046 2.792.062 4.223l.014 1.44c.017 1.929.05 3.757.101 5.484.051 1.726.195 3.097.432 4.113 0 .508-.034.948-.102 1.32-.067.373-.186.677-.355.914-.17.237-.44.415-.813.533-.372.119-.863.178-1.472.178-.102 0-.203-.05-.305-.152-.101-.102-.203-.398-.305-.889-.101-.49-.203-1.252-.304-2.285l-.07-.781c-.074-.942-.144-2.128-.21-3.56l-.072-1.713a497.36 497.36 0 01-.127-3.554l-.083-2.76a380.713 380.713 0 01-.098-9.392z\" fill=\"#FFF\" /></svg>);","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst AdaptivePicture = ({\n img, srcset, alt, styles,\n}) => (\n <picture>\n <source srcSet={srcset.map(({ src, size }) => size ? `${src} ${size}` : src).join(', ')} />\n <img src={`${img}`} alt={alt} style={styles} />\n </picture>\n);\n\nAdaptivePicture.propTypes = {\n img: PropTypes.string.isRequired,\n srcset: PropTypes.arrayOf(PropTypes.shape({\n src: PropTypes.string,\n size: PropTypes.string,\n })).isRequired,\n alt: PropTypes.string,\n styles: PropTypes.object,\n};\n\nAdaptivePicture.defaultProps = {\n alt: '',\n styles: {},\n};\n\nexport { AdaptivePicture };\n","import React, { useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport flatpickr from 'flatpickr';\nimport { French } from 'flatpickr/dist/l10n/fr';\n\n// Included in application.css\n// import 'flatpickr/dist/flatpickr.min.css';\nimport styled from 'styled-components';\nimport { parse } from 'date-fns';\nimport fr from 'date-fns/locale/fr';\n\nimport { DateTimeService } from '../services/DateTimeService';\n\nconst Container = styled.div`\n ${(props) => props.valid === true\n && `\n input {\n border-color: #51e3ae !important;\n }\n `}\n ${(props) => props.valid === false\n && `\n input {\n border-color: #f74656 !important;\n color: #f74656;\n }\n `}\n`;\n\nlet flatpickrInstance;\n\nconst Flatpickr = (props) => {\n const {\n options, children, value = '', customInput, onChange, onClick, valid, onBlur, onOpen, dateFormat = 'yyyy-MM-dd', mode = 'single', locale = {}, defaultDate, ...restProps\n } = props;\n\n const pickerEl = useRef(null);\n\n useEffect(() => {\n const flatpickrOptions = {\n ...options,\n dateFormat,\n parseDate(date) {\n return parse(date, dateFormat, new Date(), { locale: fr });\n },\n formatDate(dateObj) {\n return DateTimeService.setDateLocale(dateObj, dateFormat);\n },\n mode,\n locale: {\n ...French,\n ...locale,\n },\n defaultDate,\n };\n if (onChange) {\n flatpickrOptions.onChange = onChange;\n }\n if (onClick) {\n flatpickrOptions.onClick = onClick;\n }\n if (onOpen) {\n flatpickrOptions.onOpen = onOpen;\n }\n flatpickrOptions.onClose = () => {\n if (pickerEl.current.blur) {\n pickerEl.current.blur();\n }\n };\n\n flatpickrInstance = flatpickr(pickerEl.current, flatpickrOptions);\n if (value) {\n flatpickrInstance.setDate(value, false);\n }\n\n return () => {\n if (flatpickrInstance) {\n flatpickrInstance.destroy();\n flatpickrInstance = null;\n }\n };\n }, []);\n\n useEffect(() => {\n if (value && flatpickrInstance) {\n flatpickrInstance.setDate(value, false);\n }\n }, [value]);\n\n const renderInput = () => {\n if (customInput) {\n return React.cloneElement(customInput, { ref: pickerEl, onBlur, ...restProps }, null);\n }\n return <input {...restProps} onBlur={onBlur} ref={pickerEl} />;\n };\n\n return (\n <Container valid={valid}>\n {options.wrap\n ? <div {...restProps} ref={pickerEl}>{children}</div>\n : renderInput()}\n </Container>\n );\n};\n\nFlatpickr.propTypes = {\n options: PropTypes.object, // see flatpickr docs for more info https://flatpickr.js.org/options/\n children: PropTypes.node,\n value: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.array]),\n customInput: PropTypes.node,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n valid: PropTypes.bool,\n onBlur: PropTypes.func,\n onOpen: PropTypes.func,\n dateFormat: PropTypes.string,\n mode: PropTypes.string,\n locale: PropTypes.object,\n defaultDate: PropTypes.oneOfType([PropTypes.instanceOf(Date), PropTypes.array]),\n};\n\nFlatpickr.defaultProps = {\n options: {},\n children: undefined,\n value: undefined,\n customInput: undefined,\n onChange: undefined,\n onClick: undefined,\n valid: undefined,\n onBlur: undefined,\n onOpen: undefined,\n dateFormat: undefined,\n mode: 'single',\n locale: {},\n defaultDate: null,\n};\n\nexport { Flatpickr };\n","import styled from 'styled-components';\n\nexport const InputContainer = styled.div`\n display: flex;\n flex-direction: column;\n margin-bottom: 3px;\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Flatpickr } from './Flatpickr';\nimport { InputContainer } from '../../main-app/components/fields/common/InputContainer';\nimport { Input } from '../../main-app/components/fields/common/Input';\nimport icon from '../../main-app/images/icon-datepicker.svg';\n\nconst DatePickerField = ({\n name, options, iconPosition, customInput, minDate, maxDate, dateFormat, placeholderText, placeholder, onChange, disableMobile = true, ...rest\n}) => (\n <InputContainer>\n <Flatpickr\n options={{\n ...options,\n minDate,\n maxDate,\n disableMobile,\n }}\n name={name}\n customInput={customInput || <Input width=\"100%\" icon={icon} iconPosition={iconPosition} />}\n placeholder={placeholder || placeholderText}\n dateFormat={dateFormat}\n onChange={(val) => onChange(name, rest.mode === 'range' ? val : val[0])}\n {...rest}\n />\n </InputContainer>\n);\n\nDatePickerField.propTypes = {\n name: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n options: PropTypes.object, // see flatpickr docs for more info https://flatpickr.js.org/options/\n iconPosition: PropTypes.string,\n customInput: PropTypes.node,\n minDate: PropTypes.instanceOf(Date),\n maxDate: PropTypes.instanceOf(Date),\n dateFormat: PropTypes.string,\n placeholderText: PropTypes.string,\n placeholder: PropTypes.string,\n disableMobile: PropTypes.bool,\n};\n\nDatePickerField.defaultProps = {\n options: {},\n iconPosition: 'left',\n disableMobile: true,\n customInput: undefined,\n minDate: undefined,\n maxDate: undefined,\n dateFormat: undefined,\n placeholderText: undefined,\n placeholder: undefined,\n};\n\nexport default DatePickerField;\n","import React from 'react';\nimport {\n Formik, Form as FormikForm, FormikHelpers, ErrorMessage,\n} from 'formik';\nimport * as Yup from 'yup';\nimport styled from 'styled-components';\n\nimport media from '../../utils/mediaQueries';\nimport Field from '../fields/Field';\nimport Textareafield from '../fields/Textareafield';\nimport { SUCCESS_COLOR, ERROR_COLOR, FONT_FAMILY_MAIN } from '../../theme';\nimport Btn from '../buttons/Btn';\nimport { isMobile } from '../../constants';\nimport { FormTypes } from './types';\n\nconst Row = styled.div`\n margin: 16px 0 8px;\n`;\n\nconst Label = styled.div`\n font-size: 14px;\n font-weight: 600;\n line-height: 1.57;\n letter-spacing: 0.3px;\n margin-bottom: 8px;\n\n ${(props) => props.error && `color: ${ERROR_COLOR};`}\n`;\n\nconst SmallFieldWrap = styled.div`\n max-width: 272px;\n`;\n\nconst BtnWrap = styled.div`\n margin-top: 40px;\n\n ${media.mobile`\n margin-top: 32px;\n `}\n`;\n\nconst ResultMessage = styled.div`\n margin-top: 12px;\n color: ${(props) => props.isSuccess ? SUCCESS_COLOR : ERROR_COLOR};\n font-size: 14px;\n font-weight: bold;\n line-height: 1.29;\n letter-spacing: -0.1px;\n`;\n\nconst ErrorMessageContainer = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n color: ${ERROR_COLOR};\n font-size: 12px;\n line-height: 1.17;\n margin-top: 3px;\n`;\n\nconst validationSchema = Yup.object().shape({\n zipcode: Yup.string()\n .matches(/^[0-9]{5}$/, 'Ce champ doit comporter 5 chiffres.')\n .required('Ce champ est obligatoire.'),\n phone: Yup.string()\n .matches(\n /^(?:(?:)0)\\s*[1-7,9](?:[\\s.-]*\\d{2}){4}$/,\n 'Le téléphone doit être au format 01 02 03 04 05 et ne doit pas commencer par \\'08\\'',\n )\n .required('Ce champ est obligatoire.'),\n});\n\ntype FormProps = {\n initialValues: FormTypes;\n handleSubmit(values: FormTypes, { setStatus, setSubmitting }: FormikHelpers<FormTypes>): void;\n};\n\nconst Form = ({ initialValues, handleSubmit }: FormProps) => (\n <Formik initialValues={initialValues} onSubmit={handleSubmit} validationSchema={validationSchema}>\n {({\n values, errors, touched, handleChange, handleBlur, isSubmitting, status,\n }) => (\n <FormikForm>\n <Row>\n <Label error={errors.zipcode && touched.zipcode}>Votre code postal*</Label>\n <SmallFieldWrap>\n <Field\n placeholder=\"75018\"\n type=\"text\"\n name=\"zipcode\"\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.zipcode}\n valid={touched.zipcode && !errors.zipcode}\n />\n </SmallFieldWrap>\n <ErrorMessage component={ErrorMessageContainer} name=\"zipcode\" />\n </Row>\n <Row>\n <Label error={errors.phone && touched.phone}>Numéro de téléphone portable*</Label>\n <SmallFieldWrap>\n <Field\n placeholder=\"06 05 04 03 02\"\n type=\"text\"\n name=\"phone\"\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.phone}\n valid={touched.phone && !errors.phone}\n />\n </SmallFieldWrap>\n <ErrorMessage component={ErrorMessageContainer} name=\"phone\" />\n </Row>\n <Row>\n <Label>Vous avez un message pour nous ?</Label>\n <Textareafield\n name=\"message\"\n value={values.message}\n onChange={handleChange}\n onBlur={handleBlur}\n />\n </Row>\n <BtnWrap>\n <Btn\n type=\"submit\"\n text=\"Envoyer\"\n isLoading={isSubmitting}\n disabled={isSubmitting || (status && status.success)}\n block={isMobile}\n />\n </BtnWrap>\n {status && status.success && <ResultMessage isSuccess>Merci ! Vous allez être recontacté(e) sous peu</ResultMessage>}\n {status && !status.success && <ResultMessage>Une erreur est survenue, veuillez réessayer</ResultMessage>}\n </FormikForm>\n )}\n </Formik>\n);\n\nexport { Form };\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport bannerMobile from '../../images/examCenterReferralReviewBannerMobile.webp';\nimport bannerMobile2x from '../../images/examCenterReferralReviewBannerMobile@2x.webp';\nimport banner from '../../images/examCenterReferralReviewBanner.webp';\nimport banner2x from '../../images/examCenterReferralReviewBanner@2x.webp';\nimport media from '../../utils/mediaQueries';\n\nconst Image = styled.img`\n max-width: 100%;\n height: auto;\n margin: 8px 0 48px;\n\n ${media.mobile`\n margin: 16px 0 32px;\n `}\n`;\n\nconst Intro = ({ city }: { city: string }) => (\n <>\n {`Bravo encore pour l’obtention de votre code. Maintenant, place aÌ€ la conduite. VroomVroom continue aÌ€ vous accompagner en vous mettant en relation avez une auto-eÌcole proche de ${city} et en vous faisant profiter de tarifs preÌfeÌrentiel !`}\n <picture>\n <source\n media=\"(max-width: 997px)\"\n srcSet={`${bannerMobile} 1x, ${bannerMobile2x} 2x`}\n />\n <source\n media=\"(min-width: 998px)\"\n srcSet={`${banner} 1x, ${banner2x} 2x`}\n />\n <Image\n src={banner}\n alt=\"Économisez jusqu'à 100€ sur votre formation\"\n />\n </picture>\n <div>Laissez nous vos coordonnées ci-dessous afin d’être contacté(e).</div>\n </>\n);\n\nexport { Intro };\n","export enum FormState {\n Stars = 'Stars',\n ExamCenter = 'ExamCenter',\n StudyType = 'StudyType',\n DataTransferForm = 'DataTransferForm',\n}\n","import * as Yup from 'yup';\nimport { MESSAGE_MIN_LENGTH, MESSAGE_MAX_LENGTH, DrivingSchoolsType } from './constants';\nimport { FormState } from './SmallResolution/enums';\n\nexport const validationSchema = Yup.object().shape({\n stars: Yup.string()\n .required('Ce champ est obligatoire.'),\n textareaField: Yup.string()\n .trim()\n .required('Ce champ est obligatoire.')\n .min(MESSAGE_MIN_LENGTH, `Veuillez fournir au moins ${MESSAGE_MIN_LENGTH} caractères.`)\n .max(MESSAGE_MAX_LENGTH, `Votre avis est trop long ! Nous limitons la longueur des avis à ${MESSAGE_MAX_LENGTH} caractères… essayez de le raccourcir un peu.`),\n\n isAgreed: Yup.bool()\n .oneOf([true], 'Veuillez accepter les Conditions générales de publication des avis.'),\n examDate: Yup.date().required('Ce champ est obligatoire.').typeError('Ce champ doit être une date (jj/mm/aaaa).'),\n});\n\nexport const validationSchemaSmallScreen = {\n [FormState.Stars]: Yup.object().shape({\n stars: Yup.string()\n .required('Ce champ est obligatoire.'),\n }),\n [FormState.ExamCenter]: Yup.object().shape({\n textareaField: Yup.string()\n .trim()\n .required('Ce champ est obligatoire.')\n .min(MESSAGE_MIN_LENGTH, `Veuillez fournir au moins ${MESSAGE_MIN_LENGTH} caractères.`)\n .max(MESSAGE_MAX_LENGTH, `Votre avis est trop long ! Nous limitons la longueur des avis à ${MESSAGE_MAX_LENGTH} caractères… essayez de le raccourcir un peu.`),\n examDate: Yup.date().required('Ce champ est obligatoire.').typeError('Ce champ doit être une date (jj/mm/aaaa).'),\n }),\n [FormState.StudyType]: Yup.object().shape({\n drivingSchoolType: Yup.string().required('Ce champ est obligatoire.'),\n helpSearchSchool: Yup.string().oneOf(['0', '1']),\n isAgreed: Yup.bool()\n .when(['drivingSchoolType', 'helpSearchSchool'], {\n is: (drivingSchoolType, helpSearchSchool) => drivingSchoolType === DrivingSchoolsType.TRADITIONAL || helpSearchSchool === '0',\n then: Yup.bool()\n .oneOf([true], 'Veuillez accepter les Conditions générales de publication des avis.'),\n }),\n }),\n [FormState.DataTransferForm]: Yup.object().shape({\n zipcode: Yup.string().when(['drivingSchoolType', 'helpSearchSchool'], {\n is: (drivingSchoolType, helpSearchSchool) => drivingSchoolType !== DrivingSchoolsType.TRADITIONAL && helpSearchSchool === '1',\n then: Yup.string()\n .matches(/^[0-9]{5}$/, 'Ce champ doit comporter 5 chiffres.')\n .required('Ce champ est obligatoire.'),\n }),\n phone: Yup.string()\n .when(['drivingSchoolType', 'helpSearchSchool'], {\n is: (drivingSchoolType, helpSearchSchool) => drivingSchoolType !== DrivingSchoolsType.TRADITIONAL && helpSearchSchool === '1',\n then: Yup.string()\n .matches(\n /^(?:(?:)0)\\s*[1-7,9](?:[\\s.-]*\\d{2}){4}$/,\n 'Le téléphone doit être au format 01 23 45 67 89 et ne doit pas commencer par \\'08\\'',\n )\n .required('Ce champ est obligatoire.'),\n }),\n isAgreed: Yup.bool()\n .oneOf([true], 'Veuillez accepter les Conditions générales de publication des avis.'),\n }),\n};\n\nexport const formInitialValues = {\n stars: '',\n registrationRate: '',\n waitingRoomRate: '',\n examRoomRate: '',\n equipmentRate: '',\n resultAvailabilityRate: '',\n textareaField: '',\n isAgreed: false,\n examDate: undefined,\n drivingSchoolType: DrivingSchoolsType.TRADITIONAL,\n helpSearchSchool: '1',\n};\n\nexport const formInitialValuesSmallScreen = {\n ...formInitialValues,\n drivingSchoolType: '',\n zipcode: '',\n phone: '',\n};\n","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport { BLUE_GREY } from '../../../theme';\n\nconst Container = styled.div`\n font-size: 12px;\n line-height: 1.17;\n letter-spacing: -0.1px;\n color: ${BLUE_GREY};\n`;\n\nconst Italic = styled.i`\n font-style: italic;\n`;\n\nconst Link = styled.a`\n ${(props) => props.isAvisSolution && css`color: #313b82 !important;`}\n`;\n\ntype FootnoteProps = {\n isAvisSolution?: boolean;\n};\n\nconst Footnote = ({ isAvisSolution }: FootnoteProps) => {\n const mailto = isAvisSolution ? 'contact@avis-solutions.fr' : 'contact@vroomvroom.fr';\n\n return (\n <Container>\n {isAvisSolution ? `\n Les données de ce formulaire sont utilisées pour la publication de l'avis et par Avis Solution pour le respect de\n ses obligations légales. Elles sont conservées pendant la durée de publication.\n ` : `\n Les données de ce formulaire font l’objet de traitements dont le responsable est Vroom France - 13 rue Olier 75015 Paris.\n Elles sont utilisées pour la collecte, la modération et la diffusion des avis et le respect par Vroom France de ses obligations légales.\n Elles sont conservées pour une durée maximale de dix (10) ans.\n `}\n Vous disposez d’un droit d’accès, de rectification, de limitation, de portabilité,\n d’opposition, de suppression et vous pouvez définir des directives\n <Italic> post mortem </Italic>\n relatives à vos données. Vous pouvez exercer vos droits en envoyant un email à \n {' '}\n <Link isAvisSolution href={`mailto:${mailto}`}>{mailto}</Link>\n {' '}\n ou en contactant le Délégué à la protection des données de\n {' '}\n {isAvisSolution ? 'Enpc' : 'Vroom France'}\n . Pour en savoir plus, vous pouvez consulter notre\n {' '}\n <Link\n href={isAvisSolution ? 'https://www.prepacode-enpc.fr/politique-de-confidentialite' : '/a-propos/donnees-personnelles'}\n isAvisSolution\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n politique de protection des données.\n </Link>\n </Container>\n );\n};\n\nFootnote.defaultProps = {\n isAvisSolution: false,\n};\n\nexport { Footnote };\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nimport { Tooltip } from '@shared/Tooltip';\nimport Info from '../../../images/info.inline.svg';\nimport { LINKS_COLOR } from '../../../theme';\nimport { isMobile } from '../../../constants';\n\nconst Content = styled.span`\n display: flex;\n align-items: center;\n`;\n\nconst InfoIcon = styled(Info)`\n width: 24px;\n height: 24px;\n display: block;\n fill: ${LINKS_COLOR};\n`;\n\nconst TextareaInfo = (props) => {\n const { tooltipContent } = props;\n return (\n <Content>\n En manque d'inspiration\n <Tooltip\n position=\"top right\"\n trigger={isMobile ? 'click' : 'hover'}\n content={tooltipContent}\n width={200}\n >\n <InfoIcon />\n </Tooltip>\n </Content>\n );\n};\n\nTextareaInfo.propTypes = {\n tooltipContent: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n};\n\nexport { TextareaInfo };\n","import { CustomExamCenters } from './constants';\nimport laposteLogo from '../../../images/logos/logo-la-poste-vector--img-only.svg';\nimport codengoLogo from '../../../images/logos/logo-codengo-vector.svg';\nimport dekraLogo from '../../../images/logos/logo-dekra-one-line.svg';\nimport sgsLogo from '../../../images/logos/sgs.svg';\nimport laposteBackground from '../../../images/examCentersReviewHeaders/background-image-laposte.webp';\nimport laposteBackground2x from '../../../images/examCentersReviewHeaders/background-image-laposte@2x.webp';\nimport codengoBackground from '../../../images/examCentersReviewHeaders/background-image-codengo.webp';\nimport codengoBackground2x from '../../../images/examCentersReviewHeaders/background-image-codengo@2x.webp';\nimport dekraBackground from '../../../images/examCentersReviewHeaders/background-image-dekra.webp';\nimport dekraBackground2x from '../../../images/examCentersReviewHeaders/background-image-dekra@2x.webp';\nimport sgsBackground from '../../../images/examCentersReviewHeaders/background-image-sgs.webp';\nimport sgsBackground2x from '../../../images/examCentersReviewHeaders/background-image-sgs@2x.webp';\nimport {\n MAIN_BLUE, PALE_GREY, TEXT_COLOR, GRAY_CHATEAU,\n} from '../../../theme';\n\nexport const commonTheme = {\n drivingSchoolTypeColor: PALE_GREY,\n drivingSchoolSelectedTypeFontColor: GRAY_CHATEAU,\n buttonColor: MAIN_BLUE,\n buttonTextColor: '#fff',\n};\nexport const customThemes = {\n [CustomExamCenters.LA_POSTE]: {\n background: {\n color: '#fed500',\n image: laposteBackground,\n image2x: laposteBackground2x,\n repeat: 'no-repeat',\n position: 'bottom right',\n positionMobile: 'bottom 0 right -125px',\n size: 'auto 100%',\n },\n imagePath: laposteLogo,\n logoWidth: '54px',\n logoHeight: '42px',\n title: {\n color: '#fff',\n fontSize: '48px',\n fontSizeMobile: '24px',\n lineHeight: '1.17',\n letterSpacing: '0.1px',\n textAlign: 'left',\n top: '56px',\n topMobile: '94px',\n left: '64px',\n leftMobile: '24px',\n },\n drivingSchoolTypeColor: '#fed500',\n drivingSchoolSelectedTypeFontColor: TEXT_COLOR,\n buttonColor: '#fed500',\n buttonTextColor: TEXT_COLOR,\n },\n [CustomExamCenters.CODENGO]: {\n background: {\n color: '#24ace0',\n image: codengoBackground,\n image2x: codengoBackground2x,\n repeat: 'no-repeat',\n position: 'top left',\n positionMobile: 'top left',\n size: 'cover',\n },\n imagePath: codengoLogo,\n logoWidth: '50px',\n logoHeight: '50px',\n title: {\n color: '#fff',\n fontSize: '48px',\n fontSizeMobile: '24px',\n lineHeight: '1.17',\n letterSpacing: '0.1px',\n textAlign: 'left',\n top: '0',\n topMobile: '0',\n left: '0',\n leftMobile: '0',\n },\n drivingSchoolTypeColor: '#ddda19',\n drivingSchoolSelectedTypeFontColor: '#6f6e61',\n buttonColor: '#ddda19',\n buttonTextColor: '#6f6e61',\n },\n [CustomExamCenters.DEKRA]: {\n background: {\n color: '#f2f2f2',\n image: dekraBackground,\n image2x: dekraBackground2x,\n repeat: 'no-repeat',\n position: 'center',\n positionMobile: 'center',\n size: 'cover',\n },\n imagePath: dekraLogo,\n logoWidth: '72px',\n logoHeight: '20px',\n logoMarginTop: '12px',\n title: {\n color: '#007934',\n fontSize: '32px',\n fontSizeMobile: '24px',\n lineHeight: 'normal',\n letterSpacing: '0.2px',\n textAlign: 'right',\n top: '64px',\n topMobile: '64px',\n left: 'auto',\n leftMobile: 'auto',\n right: '48px',\n rightMobile: '16px',\n },\n drivingSchoolTypeColor: '#007934',\n drivingSchoolSelectedTypeFontColor: '#fff',\n buttonColor: '#007934',\n buttonTextColor: '#fff',\n },\n [CustomExamCenters.SGS]: {\n background: {\n color: '#efefef',\n image: sgsBackground,\n image2x: sgsBackground2x,\n repeat: 'no-repeat',\n position: 'bottom left',\n positionMobile: 'bottom left',\n size: 'contain',\n },\n imagePath: sgsLogo,\n logoWidth: '60px',\n logoHeight: '36px',\n logoMarginTop: '7px',\n title: {\n color: TEXT_COLOR,\n fontSize: '32px',\n fontSizeMobile: '24px',\n lineHeight: 'normal',\n letterSpacing: '0.2px',\n textAlign: 'center',\n top: '84px',\n topMobile: '72px',\n left: '50%',\n leftMobile: '50%',\n transform: 'translateX(-50%)',\n },\n drivingSchoolTypeColor: '#fd4f08',\n drivingSchoolSelectedTypeFontColor: '#fff',\n buttonColor: '#fd4f08',\n buttonTextColor: '#fff',\n },\n};\n","import { DRIVING_SCHOOLS_OPTIONS, HELP_SEARCH_OPTIONS } from './constants';\n\nconst COMMON_SWITCHER_ITEMS = ['1', '2', '3', '4', '5'];\n\nexport const FORM_TEXTS = {\n title: 'Laisser un avis',\n titleNote: '* Les champs munis de ce symbole sont obligatoires',\n starsData: {\n label: 'Note globale',\n },\n registrationData: {\n label: 'Inscription',\n caption: 'Comment s’est déroulée votre inscription sur le site (nombre de sessions et de places disponibles sur ce centre, paiement, etc)?',\n items: COMMON_SWITCHER_ITEMS,\n },\n waitingRoomData: {\n label: 'Accueil et attente',\n caption: 'Évaluez l’accueil reçu sur le centre d’examen (attente devant et dans le centre, accueil par l’examinateur).',\n items: COMMON_SWITCHER_ITEMS,\n },\n examRoomData: {\n label: 'Salle d’examen',\n caption: 'Comment avez-vous trouvé les locaux et la salle d’examen (état et propreté, présence de bruits…)?',\n items: COMMON_SWITCHER_ITEMS,\n },\n equipmentData: {\n label: 'Matériel',\n caption: 'Comment jugeriez-vous le matériel mis à votre disposition pour passer l’examen (tablette, casque)?',\n items: COMMON_SWITCHER_ITEMS,\n },\n resultAvailabilityData: {\n label: 'Accès aux résultat',\n caption: 'Évaluez la transmission de votre résultat à l’examen (délai de réception du résultat, mode de transmission)?',\n items: COMMON_SWITCHER_ITEMS,\n },\n textarea: {\n label: 'Commentaire',\n rulesLink: 'Voir les critères de publication des avis',\n comment: 'Attention, les avis sont publiés et référencés, soyez courtois, ne citez pas le nom des personnes dans votre commentaire.',\n },\n examDate: {\n label: 'Date de l\\'examen',\n placeholder: 'Date de passage de l\\'examen',\n },\n drivingSchoolType: {\n label: 'Vous êtes inscrit(e) dans une auto-école',\n items: DRIVING_SCHOOLS_OPTIONS,\n },\n helpSearchSchool: {\n label: 'On vous aide à trouver une auto-école de qualité près de chez vous ?',\n items: HELP_SEARCH_OPTIONS,\n },\n zipcode: {\n label: 'Votre code postal',\n placeholder: '75018',\n },\n phone: {\n label: 'Numéro de téléphone portable',\n placeholder: '06 05 04 03 02',\n },\n};\n","import React, { useCallback } from 'react';\nimport { ErrorMessage, FormikProps } from 'formik';\nimport styled from 'styled-components';\n\nimport stores from '../../../../../stores';\nimport { StarRating } from '../../../../StarRating';\nimport { LabeledField } from '../../../../LabeledField';\nimport { TEXT_COLOR } from '../../../../../theme';\nimport { FORM_TEXTS } from '../../formDictionary';\nimport { ReviewFormValues } from '../../types';\nimport { ErrorMessageContainer } from '../../../../fields/common/ErrorMessageContainer';\n\nconst Title = styled.p`\n margin-bottom: 16px;\n font-size: 18px;\n line-height: 1.33;\n letter-spacing: 0.2px;\n color: ${TEXT_COLOR};\n`;\n\ntype StarsStepProps = FormikProps<ReviewFormValues> & {\n firstName: string,\n examCenterTitle: string,\n};\n\nconst StarsStep = ({\n errors, touched, values, firstName, examCenterTitle, handleChange, handleBlur,\n}: StarsStepProps) => {\n const { starsData } = FORM_TEXTS;\n\n const handleStarsClick = useCallback((e) => {\n stores.examCenterReviewStore.setRating(e.target.value);\n handleChange(e);\n }, []);\n\n return (\n <>\n <Title>{`${firstName}, laissez un avis sur le ${examCenterTitle}`}</Title>\n <LabeledField isRequired label={starsData.label} error={errors.stars && touched.stars}>\n <StarRating\n selectedStars={values.stars}\n onStarClick={handleStarsClick}\n onBlur={handleBlur}\n name=\"stars\"\n starsHeight={40}\n starsWidth={40}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"stars\" />\n </LabeledField>\n </>\n );\n};\n\nexport { StarsStep };\n","import React from 'react';\nimport { ErrorMessage, FormikProps } from 'formik';\nimport styled from 'styled-components';\n\nimport DatePickerField from '@shared/fields/DatePickerField';\nimport { LabeledField } from '../../../../LabeledField';\nimport { FONT_FAMILY_MAIN, BLUE_GREY } from '../../../../../theme';\nimport { REVIEW_MIN_DATE_ISO } from '../../../../../constants';\nimport Textareafield from '../../../../fields/Textareafield';\nimport { TextareaInfo } from '../../../TextareaInfo';\nimport { FORM_TEXTS } from '../../formDictionary';\nimport { MESSAGE_MIN_LENGTH } from '../../constants';\nimport { ReviewFormValues } from '../../types';\nimport { ErrorMessageContainer } from '../../../../fields/common/ErrorMessageContainer';\n\nconst FieldComment = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n font-size: 12px;\n line-height: 1.17;\n letter-spacing: -0.1px;\n color: ${BLUE_GREY};\n margin-top: 8px;\n`;\n\ntype ExamCenterStepProps = FormikProps<ReviewFormValues> & {\n reviewTextRef: React.RefObject<HTMLTextAreaElement>;\n};\n\nconst ExamCenterStep = ({\n values, errors, touched, setFieldValue, handleBlur, handleChange, reviewTextRef,\n}: ExamCenterStepProps) => {\n const { textarea, examDate } = FORM_TEXTS;\n\n const handleDatepickerChange = (field, val) => {\n setFieldValue(field, val);\n };\n\n return (\n <>\n <LabeledField label={examDate.label}>\n <DatePickerField\n name=\"examDate\"\n placeholderText={examDate.placeholder}\n value={values.examDate}\n maxDate={new Date()} // today\n minDate={new Date(REVIEW_MIN_DATE_ISO)}\n onChange={handleDatepickerChange}\n onBlur={handleBlur}\n dateFormat=\"dd MMMM yyyy\"\n valid={touched.examDate && !errors.examDate}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"examDate\" />\n </LabeledField>\n <LabeledField\n label=\"\"\n isFullWidthLabel\n error={errors.textareaField && touched.textareaField}\n >\n <Textareafield\n name=\"textareaField\"\n minLength={MESSAGE_MIN_LENGTH}\n value={values.textareaField}\n onChange={handleChange}\n onBlur={handleBlur}\n supplementaryInfo={(\n <TextareaInfo\n tooltipContent=\"Parlez de l'accueil que vous avez reçu, des conditions d'examen, du matériel, des locaux, etc\"\n />\n )}\n valid={touched.textareaField && !errors.textareaField}\n textareaRef={reviewTextRef}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"textareaField\" />\n <FieldComment>\n <a href=\"/a-propos/conditions-particulieres-avis\" target=\"_blank\" rel=\"noopener noreferrer\">\n {textarea.rulesLink}\n </a>\n <div>{textarea.comment}</div>\n </FieldComment>\n </LabeledField>\n </>\n );\n};\n\nexport { ExamCenterStep };\n","import React from 'react';\nimport styled from 'styled-components';\nimport {\n ErrorMessage, FormikValues, FormikErrors, FormikTouched,\n} from 'formik';\n\nimport { Checkbox } from '../../../fields/Checkbox';\nimport { CheckboxLabel } from '../../CheckboxLabel';\nimport { ReviewFormValues } from '../types';\nimport { ErrorMessageContainer } from '../../../fields/common/ErrorMessageContainer';\n\nconst CheckboxRow = styled.div`\n margin: 24px 0;\n`;\n\ntype LegalFieldProps = {\n values: FormikValues,\n errors: FormikErrors<ReviewFormValues>,\n touched: FormikTouched<ReviewFormValues>,\n handleChange(e: React.ChangeEvent): void,\n};\n\nconst LegalField = ({\n values, errors, touched, handleChange,\n}: LegalFieldProps) => (\n <CheckboxRow>\n <Checkbox\n name=\"isAgreed\"\n label={<CheckboxLabel />}\n isChecked={values.isAgreed}\n onChange={handleChange}\n error={errors.isAgreed && touched.isAgreed}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"isAgreed\" />\n </CheckboxRow>\n);\n\nexport { LegalField };\n","import React from 'react';\nimport styled from 'styled-components';\nimport { ErrorMessage, FormikProps } from 'formik';\n\nimport { Switcher } from '@shared/fields';\nimport { AdaptivePicture } from '@shared/AdaptivePicture';\nimport { FORM_TEXTS } from '../../formDictionary';\nimport { LabeledField } from '../../../../LabeledField';\nimport stores from '../../../../../stores';\nimport { DrivingSchoolsType } from '../../constants';\nimport banner from '../../../../../images/examCentersReviewMobileBanner/banner-100@2x.webp';\nimport banner2x from '../../../../../images/examCentersReviewMobileBanner/banner-100@3x.webp';\nimport { LegalField } from '../LegalField';\nimport { ReviewFormValues } from '../../types';\nimport { ErrorMessageContainer } from '../../../../fields/common/ErrorMessageContainer';\n\nconst SwitcherWrap = styled.div`\n input:checked + label {\n ${({ theme }) => `\n background-color: ${theme.drivingSchoolTypeColor} !important;\n color: ${theme.drivingSchoolSelectedTypeFontColor} !important;\n `}\n }\n \n label {\n padding: 0 8px;\n white-space: nowrap;\n height: 48px;\n line-height: 48px;\n }\n`;\n\nconst BannerWrapper = styled.div`\n display: flex;\n justify-content: center;\n margin: 24px -8px;\n`;\n\nconst bannerStyles = {\n width: '100%',\n maxWidth: '480px',\n};\n\ntype StudyTypeStepProps = FormikProps<ReviewFormValues>;\n\nconst StudyTypeStep = ({\n values, errors, touched, handleChange,\n}: StudyTypeStepProps) => {\n const { drivingSchoolType, helpSearchSchool } = FORM_TEXTS;\n return (\n <>\n <LabeledField label={drivingSchoolType.label} error={errors.drivingSchoolType && touched.drivingSchoolType} isFullWidthLabel>\n <SwitcherWrap>\n <Switcher\n items={drivingSchoolType.items}\n name=\"drivingSchoolType\"\n activeItem={values.drivingSchoolType}\n onChange={(e) => {\n stores.examCenterReviewStore.setSchoolType(e.target.value);\n handleChange(e);\n }}\n />\n </SwitcherWrap>\n <ErrorMessage component={ErrorMessageContainer} name=\"drivingSchoolType\" />\n </LabeledField>\n\n {(values.drivingSchoolType === DrivingSchoolsType.ONLINE || values.drivingSchoolType === DrivingSchoolsType.NONE) && (\n <>\n <LabeledField label={helpSearchSchool.label} isFullWidthLabel>\n <SwitcherWrap>\n <Switcher\n items={helpSearchSchool.items}\n name=\"helpSearchSchool\"\n activeItem={values.helpSearchSchool}\n onChange={handleChange}\n />\n </SwitcherWrap>\n </LabeledField>\n <BannerWrapper>\n <AdaptivePicture\n srcset={[\n { src: banner },\n { src: banner2x, size: '2x' },\n ]}\n img={banner}\n alt=\"\"\n styles={bannerStyles}\n />\n </BannerWrapper>\n </>\n )}\n\n {\n (values.drivingSchoolType === DrivingSchoolsType.TRADITIONAL || values.helpSearchSchool === '0') && (\n <LegalField errors={errors} touched={touched} values={values} handleChange={handleChange} />\n )\n }\n </>\n );\n};\n\nexport { StudyTypeStep };\n","import React from 'react';\nimport styled from 'styled-components';\nimport { ErrorMessage, FormikProps } from 'formik';\n\nimport { FORM_TEXTS } from '../../formDictionary';\nimport { LabeledField } from '../../../../LabeledField';\nimport Field from '../../../../fields/Field';\nimport { LegalField } from '../LegalField';\nimport { ReviewFormValues } from '../../types';\nimport { ErrorMessageContainer } from '../../../../fields/common/ErrorMessageContainer';\n\nconst Title = styled.p`\n margin-bottom: 16px;\n font-size: 18px;\n line-height: 1.33;\n letter-spacing: 0.2px;\n font-weight: 600;\n`;\n\ntype DataTransferStepProps = FormikProps<ReviewFormValues>;\n\nconst DataTransferStep = ({\n errors, touched, values, handleBlur, handleChange,\n}: DataTransferStepProps) => {\n const { zipcode, phone } = FORM_TEXTS;\n\n return (\n <>\n <Title>Super ! On a besoin de deux dernieÌ€res informations pour cela :</Title>\n <LabeledField label={zipcode.label} error={errors.zipcode && touched.zipcode} isFullWidthLabel>\n <Field\n placeholder={zipcode.placeholder}\n type=\"text\"\n name=\"zipcode\"\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.zipcode}\n valid={touched.zipcode && !errors.zipcode}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"zipcode\" />\n\n </LabeledField>\n <LabeledField label={phone.label} error={errors.phone && touched.phone} isFullWidthLabel>\n <Field\n placeholder={phone.placeholder}\n type=\"text\"\n name=\"phone\"\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.phone}\n valid={touched.phone && !errors.phone}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"phone\" />\n </LabeledField>\n <LegalField errors={errors} values={values} touched={touched} handleChange={handleChange} />\n </>\n );\n};\n\nexport { DataTransferStep };\n","import { FormState } from './enums';\nimport { StarsStep } from './Steps/StarsStep';\nimport { ExamCenterStep } from './Steps/ExamCenterStep';\nimport { StudyTypeStep } from './Steps/StudyTypeStep';\nimport { DataTransferStep } from './Steps/DataTransferStep';\nimport { DrivingSchoolsType } from '../constants';\n\nexport const SCREENS_TRANSITIONS = {\n [FormState.Stars]: {\n next: FormState.ExamCenter,\n node: StarsStep,\n prev: undefined,\n step: 1,\n },\n [FormState.ExamCenter]: {\n next: FormState.StudyType,\n node: ExamCenterStep,\n prev: FormState.Stars,\n step: 2,\n },\n [FormState.StudyType]: {\n next: (drivingSchoolType, helpSearchSchool) => {\n if (helpSearchSchool === '1' && drivingSchoolType !== DrivingSchoolsType.TRADITIONAL) {\n return FormState.DataTransferForm;\n }\n\n return undefined;\n },\n node: StudyTypeStep,\n prev: FormState.ExamCenter,\n step: 3,\n },\n [FormState.DataTransferForm]: {\n next: undefined,\n node: DataTransferStep,\n prev: FormState.StudyType,\n step: 4,\n },\n};\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport { BLUE_GREY } from '../../../theme';\nimport media from '../../../utils/mediaQueries';\n\nconst Container = styled.div`\n font-size: 12px;\n line-height: 1.17;\n letter-spacing: -0.1px;\n color: ${BLUE_GREY};\n\n ${media.mobile`\n margin-top: 24px;\n `}\n`;\n\nconst Italic = styled.i`\n font-style: italic;\n`;\n\nconst Footnote = () => (\n <Container>\n Les données de ce formulaire font l’objet de traitements dont le responsable est Vroom France - 13 rue Olier 75015 Paris.\n Elles sont utilisées pour la collecte, la modération et la diffusion des avis et le respect par Vroom France de ses obligations légales.\n Elles sont conservées pour une durée maximale de cinq (5) ans. Vous disposez d’un droit d’accès, de rectification, de limitation, de portabilité,\n d’opposition, de suppression et vous pouvez définir des directives\n <Italic> post mortem </Italic>\n relatives à vos données. Vous pouvez exercer vos droits en envoyant un email à \n {' '}\n <a href=\"mailto:contact@vroomvroom.fr\">contact@vroomvroom.fr</a>\n {' '}\n ou en contactant le Délégué à la protection des données de Vroom France. Pour en savoir plus, vous pouvez consulter notre\n {' '}\n <a href=\"/a-propos/donnees-personnelles\" target=\"_blank\" rel=\"noopener noreferrer\">\n politique de protection des données.\n </a>\n </Container>\n);\n\nexport { Footnote };\n","import React, { useCallback, useEffect } from 'react';\nimport { connect, FormikContextType } from 'formik';\nimport styled, { useTheme } from 'styled-components';\n\nimport Btn from '../../../buttons/Btn';\nimport { FormState } from './enums';\nimport { SCREENS_TRANSITIONS } from './constants';\nimport { ReviewFormValues } from '../types';\nimport arrowIcon from '../../../../images/icon-forward.svg';\nimport { Footnote } from '../Footnote';\nimport { DrivingSchoolsType } from '../constants';\nimport { TEXT_COLOR, NOTES_COLOR } from '../../../../theme';\n\nconst Form = styled.form``;\n\nconst NextButton = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex-direction: row;\n width: 100%;\n`;\n\nconst NextButtonTitle = styled.span`\n font-size: 16px;\n font-weight: bold;\n color: ${TEXT_COLOR};\n`;\n\nconst NextButtonCount = styled.span`\n font-size: 14px;\n font-weight: normal;\n line-height: 1.29;\n letter-spacing: -0.1px;\n text-align: right;\n color: ${NOTES_COLOR};\n`;\n\nconst IconNext = styled.img`\n width: 16px;\n height: 16px;\n`;\n\ntype FormProps = {\n reviewTextRef: React.RefObject<HTMLTextAreaElement>,\n firstName: string,\n examCenterTitle: string,\n examCenterLogo: string,\n activeScreen: FormState,\n isLastScreen: boolean,\n setNextScreen(val: FormState): void;\n};\n\ntype FormikProps = {\n formik: FormikContextType<ReviewFormValues>;\n};\n\nconst FormComponent = (props: FormProps & FormikProps) => {\n const {\n formik, activeScreen, setNextScreen, isLastScreen, ...restProps\n } = props;\n const {\n values, isSubmitting, handleSubmit,\n } = formik;\n\n useEffect(() => {\n let nextScreen: FormState;\n if (typeof SCREENS_TRANSITIONS[activeScreen].next === 'function') {\n nextScreen = SCREENS_TRANSITIONS[activeScreen].next(values.drivingSchoolType, values.helpSearchSchool);\n } else {\n nextScreen = SCREENS_TRANSITIONS[activeScreen].next;\n }\n setNextScreen(nextScreen);\n }, [activeScreen, values.helpSearchSchool, values.drivingSchoolType]);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [activeScreen]);\n\n const theme = useTheme();\n\n const Screen = SCREENS_TRANSITIONS[activeScreen].node;\n\n const getTotalSteps = useCallback(() => (\n activeScreen === FormState.StudyType\n && values.helpSearchSchool === '1'\n && values.drivingSchoolType !== DrivingSchoolsType.TRADITIONAL\n ? 4\n : 3\n ), [activeScreen, values.helpSearchSchool, values.drivingSchoolType]);\n\n return (\n <Form onSubmit={handleSubmit}>\n <Screen {...formik} {...restProps} />\n {(activeScreen !== FormState.StudyType || !!values.drivingSchoolType) && (\n <Btn\n color={theme.buttonColor}\n textColor={theme.buttonTextColor}\n type=\"submit\"\n text={isLastScreen ? \"Publier l'avis\" : (\n <NextButton>\n <NextButtonTitle>Étape suivante</NextButtonTitle>\n <NextButtonCount>{`${SCREENS_TRANSITIONS[activeScreen].step} sur ${getTotalSteps()}`}</NextButtonCount>\n <IconNext src={arrowIcon} />\n </NextButton>\n )}\n isLoading={isSubmitting}\n outlined={!isLastScreen}\n block\n />\n )}\n {isLastScreen && <Footnote />}\n </Form>\n );\n};\n\nconst SmallResolutionForm: React.ComponentType<FormProps> = connect(FormComponent);\n\nexport { SmallResolutionForm };\n","import React, { useCallback, useEffect, useState } from 'react';\nimport styled, { useTheme } from 'styled-components';\nimport { Formik, FormikHelpers } from 'formik';\nimport { observer } from 'mobx-react';\n\nimport { LINKS_COLOR, PALE_GREY } from '../../../../theme';\nimport { formInitialValuesSmallScreen, validationSchemaSmallScreen } from '../formikConstants';\nimport { ReviewFormType, ReviewFormValues } from '../types';\nimport { SmallResolutionForm } from './SmallResolutionForm';\nimport { SCREENS_TRANSITIONS } from './constants';\nimport { DrivingSchoolsType } from '../constants';\nimport stores from '../../../../stores';\nimport { FormState } from './enums';\n\nconst Header = styled.div`\n height: 63px;\n display: flex;\n color: #fff;\n border-bottom: 1px solid ${PALE_GREY};\n`;\n\nconst LogoWrap = styled.div`\n background: #fff;\n width: 72px;\n min-width: 72px;\n height: 100%;\n padding: 8px 12px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nconst Logo = styled.img`\n max-width: 100%;\n max-height: 100%;\n`;\n\nconst HeaderText = styled.div`\n font-size: 16px;\n font-weight: 800;\n line-height: 1.38;\n letter-spacing: 0.2px;\n color: #fff;\n padding: 8px 12px;\n background-color: ${({ theme }) => theme.drivingSchoolTypeColor};\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n`;\n\nconst Body = styled.div`\n padding: 16px 24px 24px;\n\n a {\n color: ${LINKS_COLOR};\n }\n`;\n\nconst SmallResolution = observer(({\n reviewTextRef,\n firstName,\n examCenterTitle,\n examCenterLogo,\n isCustomTheme,\n onFormSubmit,\n email,\n}: ReviewFormType) => {\n const theme = useTheme();\n\n const [activeScreen, setActiveScreen] = useState(FormState.Stars);\n const [nextScreen, setNextScreen] = useState(SCREENS_TRANSITIONS[activeScreen].next);\n const isLastScreen = !nextScreen;\n\n const onBackButtonClick = useCallback((e) => {\n const prevScreen = SCREENS_TRANSITIONS[activeScreen].prev;\n\n global.gtag('event', `exam-center-mobile-form-${activeScreen}-back-button-click`, {\n event_category: 'Exam center review mobile',\n event_label: `${activeScreen} screen back button click`,\n });\n\n if (prevScreen) {\n e.preventDefault();\n setActiveScreen(prevScreen);\n global.history.pushState(null, null, window.location.href);\n } else {\n global.history.back();\n }\n }, [activeScreen]);\n\n useEffect(() => {\n global.history.pushState(null, null, window.location.href);\n }, []);\n\n useEffect(() => {\n window.addEventListener('popstate', onBackButtonClick);\n\n return () => window.removeEventListener('popstate', onBackButtonClick);\n }, [activeScreen]);\n\n const onSubmit = async (values, {\n setErrors, setSubmitting, setStatus, setTouched,\n }: FormikHelpers<ReviewFormValues>): Promise<void> => {\n global.gtag('event', `exam-center-mobile-form-${activeScreen}-button-click`, {\n event_category: 'Exam center review mobile',\n event_label: `${activeScreen} screen button click`,\n });\n\n if (isLastScreen) {\n await onFormSubmit(values, { setErrors, setSubmitting } as FormikHelpers<ReviewFormValues>);\n\n const { drivingSchoolType, helpSearchSchool } = values;\n if (drivingSchoolType !== DrivingSchoolsType.TRADITIONAL && helpSearchSchool === '1') {\n stores.leadsStore.create({\n lead: {\n phone: values.phone,\n email,\n codepostal: values.zipcode,\n message: values.message,\n },\n }, setStatus, setSubmitting);\n }\n } else {\n setActiveScreen(nextScreen);\n setTouched({});\n setSubmitting(false);\n }\n };\n\n return (\n <>\n <Header>\n <LogoWrap>\n <Logo src={isCustomTheme ? theme.imagePath : examCenterLogo} />\n </LogoWrap>\n <HeaderText>Votre avis compte pour nous !</HeaderText>\n </Header>\n <Body>\n <Formik\n initialValues={formInitialValuesSmallScreen}\n onSubmit={onSubmit}\n validationSchema={validationSchemaSmallScreen[activeScreen]}\n >\n <SmallResolutionForm\n reviewTextRef={reviewTextRef}\n firstName={firstName}\n examCenterTitle={examCenterTitle}\n examCenterLogo={examCenterLogo}\n activeScreen={activeScreen}\n setNextScreen={setNextScreen}\n isLastScreen={isLastScreen}\n />\n </Formik>\n </Body>\n </>\n );\n});\n\nexport { SmallResolution };\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport CodengoTitleImg from '../../../images/examCentersReviewHeaders/title-codengo.inline.svg';\nimport CodengoTitleImgMobile from '../../../images/examCentersReviewHeaders/title-codengo-mobile.inline.svg';\nimport { isMobile } from '../../../constants';\nimport media from '../../../utils/mediaQueries';\n\nconst CodengoTitleWrap = styled.div`\n position: absolute;\n top: 81px;\n left: 50%;\n transform: translateX(-50%);\n \n ${media.mobile`\n top: 98px\n `}\n`;\n\nconst CodengoTitle = () => (\n <CodengoTitleWrap>\n {isMobile ? <CodengoTitleImgMobile /> : <CodengoTitleImg />}\n </CodengoTitleWrap>\n);\n\nexport { CodengoTitle };\n","import React from 'react';\nimport styled, { useTheme } from 'styled-components';\n\nimport media from '../../../utils/mediaQueries';\nimport { PALE_GREY } from '../../../theme';\nimport { CustomExamCenters } from './constants';\nimport { CodengoTitle } from './CodengoTitle';\n\nconst Header = styled.div`\n height: 280px;\n ${({ theme: { background } }) => `\n background-color: ${background.color};\n background-image: url(\"${background.image}\");\n background-repeat: ${background.repeat};\n background-position: ${background.position};\n background-size: ${background.size};\n `}\n position: relative;\n\n @media\n (-webkit-min-device-pixel-ratio: 2),\n (min-resolution: 2dppx) {\n background-image: url(\"${(props) => props.theme.background.image2x}\");\n }\n\n ${media.mobile`\n height: 224px;\n background-position: ${(props) => props.theme.background.positionMobile};\n `}\n`;\n\nconst LogoContainer = styled.div`\n width: 112px;\n height: 56px;\n border-bottom-left-radius: 56px;\n border-bottom-right-radius: 56px;\n position: absolute;\n top: 0;\n left: 50%;\n margin-left: -56px;\n background: #fff;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n`;\n\nconst Logo = styled.img`\n width: ${(props) => props.theme.logoWidth};\n height: ${(props) => props.theme.logoHeight};\n ${(props) => props.theme.logoMarginTop ? `margin-top: ${props.theme.logoMarginTop}` : ''};\n`;\n\nconst Title = styled.h1`\n width: 320px;\n font-weight: 800;\n position: absolute;\n margin: 0;\n \n ${({ theme: { title } }) => `\n color: ${title.color};\n font-size: ${title.fontSize};\n line-height: ${title.lineHeight};\n letter-spacing: ${title.letterSpacing};\n text-align: ${title.textAlign};\n top: ${title.top};\n left: ${title.left};\n ${title.right ? `right: ${title.right}` : ''};\n ${title.transform ? `transform: ${title.transform}` : ''};\n `}\n\n ${media.mobile`\n width: 150px;\n ${({ theme: { title } }) => `\n font-size: ${title.fontSizeMobile};\n top: ${title.topMobile};\n left: ${title.leftMobile};\n ${title.rightMobile ? `right: ${title.rightMobile}` : ''};\n `}\n `}\n`;\n\nconst Intro = styled.div`\n padding: 32px 40px 24px;\n border-bottom: 1px solid ${PALE_GREY};\n font-size: 18px;\n line-height: 1.33;\n letter-spacing: 0.2px;\n \n ${media.mobile`\n padding: 24px 24px 16px;\n `}\n`;\n\nconst Name = styled.div`\n margin-bottom: 8px;\n`;\n\nconst Paragraph = styled.p`\n margin: 0;\n \n & + & {\n margin-top: 24px;\n }\n \n ${media.mobile`\n & + & {\n margin-top: 16px;\n }\n `}\n`;\n\nconst CustomHeader = ({ name, type }: { name: string, type: string }) => {\n const theme = useTheme();\n\n return (\n <>\n <Header>\n <LogoContainer>\n <Logo src={theme.imagePath} />\n </LogoContainer>\n {\n type !== CustomExamCenters.CODENGO\n ? <Title>Votre avis compte pour nous !</Title>\n : <CodengoTitle />\n }\n </Header>\n <Intro>\n <Name>{`${name},`}</Name>\n <Paragraph>\n Vous avez récemment passé votre examen du code de la route. Donnez votre avis sur le déroulement de l’examen et aidez les futurs candidats à choisir leur centre en toute connaissance de cause.\n </Paragraph>\n <Paragraph>\n Cela prend moins d’une minute.\n </Paragraph>\n </Intro>\n </>\n );\n};\n\nexport { CustomHeader };\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport media from '../../../utils/mediaQueries';\nimport { NOTES_COLOR } from '../../../theme';\n\nconst Header = styled.div`\n padding: 32px 40px 24px;\n border-bottom: 1px solid #eef1f6;\n \n ${media.mobile`\n padding: 16px 8px 16px 24px;\n `}\n`;\n\nconst TopRow = styled.div`\n display: flex;\n`;\n\nconst Title = styled.h1`\n font-size: 32px;\n padding-bottom: 16px;\n letter-spacing: 0.2px;\n font-weight: 800;\n margin: 0;\n flex: 1;\n \n ${media.mobile`\n font-size: 18px;\n line-height: 1.44;\n padding-bottom: 8px;\n `}\n`;\n\nconst Logo = styled.div`\n width: 96px;\n margin-left: 32px;\n display: flex;\n align-items: center;\n\n ${media.mobile`\n width: 48px;\n margin-left: 8px;\n align-items: flex-start;\n `}\n\n img {\n width: 100%;\n height: auto;\n }\n`;\n\nconst Address = styled.div`\n font-size: 14px;\n line-height: 1.29;\n letter-spacing: -0.1px;\n color: ${NOTES_COLOR};\n`;\n\ntype CommonHeaderProps = {\n examCenterTitle: string,\n examCenterLogo: string,\n examCenterAddress: string\n};\n\nconst CommonHeader = ({ examCenterTitle, examCenterLogo, examCenterAddress }: CommonHeaderProps) => (\n <Header>\n <TopRow>\n <Title>{examCenterTitle}</Title>\n <Logo><img src={examCenterLogo} alt=\"logo\" /></Logo>\n </TopRow>\n <Address>{examCenterAddress}</Address>\n </Header>\n);\n\nexport { CommonHeader };\n","import React from 'react';\nimport { connect, ErrorMessage, FormikContextType } from 'formik';\nimport styled, { useTheme } from 'styled-components';\n\nimport DatePickerField from '@shared/fields/DatePickerField';\nimport { Switcher } from '@shared/fields';\nimport { LabeledField } from '../../LabeledField';\nimport { StarRating } from '../../StarRating';\nimport Textareafield from '../../fields/Textareafield';\nimport { TextareaInfo } from '../TextareaInfo';\nimport { Checkbox } from '../../fields/Checkbox';\nimport { CheckboxLabel } from '../CheckboxLabel';\nimport Btn from '../../buttons/Btn';\nimport { isMobile, REVIEW_MIN_DATE_ISO } from '../../../constants';\nimport { FORM_TEXTS } from './formDictionary';\nimport { BLUE_GREY, FONT_FAMILY_MAIN } from '../../../theme';\nimport { withScrollToError } from '../../../hocs/withScrollToError';\nimport { MESSAGE_MIN_LENGTH } from './constants';\nimport stores from '../../../stores';\nimport media from '../../../utils/mediaQueries';\nimport { ReviewFormValues } from './types';\nimport { ErrorMessageContainer } from '../../fields/common/ErrorMessageContainer';\n\nconst FieldComment = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n font-size: 12px;\n line-height: 1.17;\n letter-spacing: -0.1px;\n color: ${BLUE_GREY};\n margin-top: 8px;\n`;\n\nconst CheckboxRow = styled.div`\n margin: 51px 0 19px; \n`;\n\nconst DrivingSchoolTypeWrap = styled.div`\n input:checked + label {\n ${({ theme }) => `\n background-color: ${theme.drivingSchoolTypeColor} !important;\n color: ${theme.drivingSchoolSelectedTypeFontColor} !important;\n `}\n \n }\n \n ${media.mobile`\n label {\n font-size: 14px;\n padding: 0 8px;\n }\n `}\n`;\n\ntype FormProps = {\n reviewTextRef: React.RefObject<HTMLTextAreaElement>,\n};\n\ntype FormikProps = {\n formik: FormikContextType<ReviewFormValues>;\n};\n\nconst Form = (props: FormProps & FormikProps) => {\n const {\n starsData, textarea, registrationData, waitingRoomData, examRoomData, equipmentData, resultAvailabilityData, examDate, drivingSchoolType,\n } = FORM_TEXTS;\n\n const { formik } = props;\n const {\n values, errors, touched, handleChange, handleBlur, isSubmitting, handleSubmit, setFieldValue,\n } = formik;\n const { reviewTextRef } = props;\n\n const theme = useTheme();\n\n return (\n <form onSubmit={handleSubmit}>\n <LabeledField isRequired label={starsData.label} error={errors.stars && touched.stars}>\n <StarRating\n selectedStars={values.stars}\n onStarClick={(e) => {\n stores.examCenterReviewStore.setRating(e.target.value);\n handleChange(e);\n }}\n name=\"stars\"\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"stars\" />\n </LabeledField>\n <LabeledField label={registrationData.label}>\n <Switcher\n items={registrationData.items}\n name=\"registrationRate\"\n activeItem={values.registrationRate}\n onChange={handleChange}\n />\n <FieldComment>{registrationData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={waitingRoomData.label}>\n <Switcher\n items={waitingRoomData.items}\n name=\"waitingRoomRate\"\n activeItem={values.waitingRoomRate}\n onChange={handleChange}\n />\n <FieldComment>{waitingRoomData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={examRoomData.label}>\n <Switcher\n items={examRoomData.items}\n name=\"examRoomRate\"\n activeItem={values.examRoomRate}\n onChange={handleChange}\n />\n <FieldComment>{examRoomData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={equipmentData.label}>\n <Switcher\n items={equipmentData.items}\n name=\"equipmentRate\"\n activeItem={values.equipmentRate}\n onChange={handleChange}\n />\n <FieldComment>{equipmentData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={resultAvailabilityData.label}>\n <Switcher\n items={resultAvailabilityData.items}\n name=\"resultAvailabilityRate\"\n activeItem={values.resultAvailabilityRate}\n onChange={handleChange}\n />\n <FieldComment>{resultAvailabilityData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={examDate.label}>\n <DatePickerField\n name=\"examDate\"\n placeholderText={examDate.placeholder}\n value={values.examDate}\n maxDate={new Date()} // today\n minDate={new Date(REVIEW_MIN_DATE_ISO)}\n onChange={setFieldValue}\n onBlur={handleBlur}\n dateFormat=\"dd MMMM yyyy\"\n valid={touched.examDate && !errors.examDate}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"examDate\" />\n </LabeledField>\n <LabeledField\n label={textarea.label}\n isRequired\n isFullWidthLabel\n error={errors.textareaField && touched.textareaField}\n >\n <Textareafield\n name=\"textareaField\"\n minLength={MESSAGE_MIN_LENGTH}\n value={values.textareaField}\n onChange={handleChange}\n onBlur={handleBlur}\n supplementaryInfo={<TextareaInfo tooltipContent=\"Parlez de l'accueil que vous avez reçu, des conditions d'examen, du matériel, des locaux, etc\" />}\n valid={touched.textareaField && !errors.textareaField}\n textareaRef={reviewTextRef}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"textareaField\" />\n <FieldComment>\n <a href=\"/a-propos/conditions-particulieres-avis\" target=\"_blank\" rel=\"noopener noreferrer\">\n {textarea.rulesLink}\n </a>\n <div>{textarea.comment}</div>\n </FieldComment>\n </LabeledField>\n <LabeledField label={drivingSchoolType.label} isFullWidthLabel>\n <DrivingSchoolTypeWrap>\n <Switcher\n items={drivingSchoolType.items}\n name=\"drivingSchoolType\"\n activeItem={values.drivingSchoolType}\n onChange={(e) => {\n stores.examCenterReviewStore.setSchoolType(e.target.value);\n handleChange(e);\n }}\n />\n </DrivingSchoolTypeWrap>\n </LabeledField>\n <CheckboxRow>\n <Checkbox\n name=\"isAgreed\"\n label={<CheckboxLabel />}\n isChecked={values.isAgreed}\n onChange={handleChange}\n error={errors.isAgreed && touched.isAgreed}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"isAgreed\" />\n </CheckboxRow>\n <Btn\n type=\"submit\"\n text=\"Publier l'avis\"\n isLoading={isSubmitting}\n disabled={isSubmitting}\n block={isMobile}\n color={theme.buttonColor}\n textColor={theme.buttonTextColor}\n />\n </form>\n );\n};\n\nconst FormWithScrollToErrors = withScrollToError(connect(Form));\n\nexport { FormWithScrollToErrors };\n","import { Formik } from 'formik';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { CustomHeader } from '../CustomHeader';\nimport { CommonHeader } from '../CommonHeader';\nimport { formInitialValues, validationSchema } from '../formikConstants';\nimport { FormWithScrollToErrors } from '../FormWithScrollToErrors';\nimport { Footnote } from '../Footnote';\nimport media from '../../../../utils/mediaQueries';\nimport { LINKS_COLOR, NOTES_COLOR } from '../../../../theme';\nimport { ReviewFormType } from '../types';\nimport { FORM_TEXTS } from '../formDictionary';\n\nconst Body = styled.div`\n padding: 24px 40px 32px;\n\n ${media.mobile`\n padding: 16px 24px 24px;\n `}\n a {\n color: ${LINKS_COLOR};\n }\n`;\n\nconst FormTitle = styled.h4`\n font-size: 18px;\n font-weight: 800;\n line-height: 1.44;\n letter-spacing: 0.2px;\n margin-bottom: 10px;\n`;\n\nconst Note = styled.div`\n font-size: 14px;\n line-height: 1.29;\n letter-spacing: -0.1px;\n color: ${NOTES_COLOR};\n margin-bottom: 24px;\n\n ${media.mobile`\n font-size: 12px;\n `}\n`;\n\nconst FootnoteRow = styled.div`\n margin-top: 24px;\n`;\n\nconst HighResolution = ({\n isCustomTheme,\n firstName,\n type,\n examCenterLogo,\n examCenterAddress,\n examCenterTitle,\n onFormSubmit,\n reviewTextRef,\n}: ReviewFormType) => {\n const { title, titleNote } = FORM_TEXTS;\n\n return (\n <>\n {\n isCustomTheme\n ? <CustomHeader name={firstName} type={type} />\n : (\n <CommonHeader\n examCenterLogo={examCenterLogo}\n examCenterAddress={examCenterAddress}\n examCenterTitle={examCenterTitle}\n />\n )\n }\n <Body>\n <FormTitle>{title}</FormTitle>\n <Note>{titleNote}</Note>\n <Formik\n initialValues={formInitialValues}\n onSubmit={onFormSubmit}\n validationSchema={validationSchema}\n >\n <FormWithScrollToErrors reviewTextRef={reviewTextRef} />\n </Formik>\n <FootnoteRow>\n <Footnote />\n </FootnoteRow>\n </Body>\n </>\n );\n};\n\nexport { HighResolution };\n","import React, { useRef } from 'react';\nimport { ThemeProvider } from 'styled-components';\nimport { observer } from 'mobx-react';\nimport { FormikHelpers } from 'formik';\nimport { format } from 'date-fns';\n\nimport { useViewport } from '@shared/hooks/useViewport';\nimport stores from '../../../stores';\nimport { CUSTOM_EXAM_CENTERS } from './constants';\nimport { commonTheme, customThemes } from './themes';\nimport { ReviewFormValues } from './types';\nimport { SmallResolution } from './SmallResolution/SmallResolution';\nimport { HighResolution } from './HighResolution/HighResolution';\nimport { RESOLUTION } from '../../../constants';\n\ntype ReviewFormProps = {\n examCenterId: string;\n partnerReviewPayloadId: string;\n email: string;\n firstName: string;\n lastName: string;\n examCenterTitle: string;\n examCenterLogo: string;\n examCenterAddress: string;\n placeId: string;\n type: string;\n city: string;\n};\n\nconst ReviewForm = observer((props: ReviewFormProps) => {\n const reviewTextRef = useRef<HTMLTextAreaElement>(null);\n const { viewportWidth } = useViewport();\n\n const onFormSubmit = (values, { setErrors, setSubmitting }: FormikHelpers<ReviewFormValues>): void => {\n const {\n examCenterId, partnerReviewPayloadId, email, firstName, lastName,\n } = props;\n const examDate = format(values.examDate, 'yyyy-MM-dd');\n\n const reviewData = {\n exam_center_review: {\n exam_center_id: examCenterId,\n partner_review_payload_id: partnerReviewPayloadId,\n email,\n first_name: firstName,\n last_name: lastName,\n comment: values.textareaField,\n stars: values.stars,\n registration: values.registrationRate,\n waiting_room: values.waitingRoomRate,\n exam_room: values.examRoomRate,\n equipment: values.equipmentRate,\n result_availability: values.resultAvailabilityRate,\n exam_date: examDate,\n },\n };\n\n try {\n stores.examCenterReviewStore.create(reviewData, setErrors, setSubmitting);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(e);\n }\n };\n\n const {\n examCenterTitle, examCenterLogo, examCenterAddress, type, firstName, email,\n } = props;\n const isCustomTheme = CUSTOM_EXAM_CENTERS.includes(type);\n\n return (\n <ThemeProvider theme={isCustomTheme ? customThemes[type] : commonTheme}>\n {\n viewportWidth > RESOLUTION.LARGE\n ? (\n <HighResolution\n isCustomTheme={isCustomTheme}\n firstName={firstName}\n type={type}\n examCenterLogo={examCenterLogo}\n examCenterAddress={examCenterAddress}\n examCenterTitle={examCenterTitle}\n onFormSubmit={onFormSubmit}\n reviewTextRef={reviewTextRef}\n />\n )\n : (\n <SmallResolution\n isCustomTheme={isCustomTheme}\n firstName={firstName}\n type={type}\n examCenterLogo={examCenterLogo}\n examCenterAddress={examCenterAddress}\n examCenterTitle={examCenterTitle}\n onFormSubmit={onFormSubmit}\n reviewTextRef={reviewTextRef}\n email={email}\n />\n )\n }\n </ThemeProvider>\n );\n});\n\nexport { ReviewForm };\n","import React from 'react';\nimport styled from 'styled-components';\n\nimport media from '../../../utils/mediaQueries';\nimport Icon from '../../../images/icon-success.inline.svg';\nimport { FONT_FAMILY_MAIN, TEXT_COLOR } from '../../../theme';\nimport { ShareReviewMessage } from '../ShareReviewMessage';\nimport { Intro } from '../../LeadForm/Intro';\nimport { Form } from '../../LeadForm/Form';\nimport stores from '../../../stores';\n\ntype SuccessMessageWithOfferProps = {\n city: string;\n zipcode: string;\n phone: string;\n firstName: string;\n placeId: string;\n rating: number;\n reviewId: string;\n email: string;\n};\n\nconst Body = styled.div`\n padding: 88px 98px 40px;\n font-size: 18px;\n\n ${media.mobile`\n padding: 24px;\n `}\n`;\n\nconst IconSuccess = styled(Icon)`\n width: 48px;\n height: 48px;\n display: block;\n margin: 0 auto;\n \n ${media.mobile`\n width: 32px;\n height: 32px;\n `}\n`;\n\nconst Title = styled.h4`\n font-family: ${FONT_FAMILY_MAIN};\n font-size: 24px;\n font-weight: 800;\n line-height: 1.25;\n letter-spacing: 0.2px;\n color: ${TEXT_COLOR};\n margin: 32px 0 8px;\n text-align: center;\n \n ${media.mobile`\n font-size: 18px;\n line-height: 1.44;\n margin-top: 8px;\n `}\n`;\n\nconst Message = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n font-size: 18px;\n line-height: 1.33;\n letter-spacing: 0.2px;\n color: ${TEXT_COLOR};\n max-width: 437px;\n margin: 48px auto 0;\n`;\n\nconst SuccessMessageWithOffer = ({\n city, zipcode, phone, firstName, rating, reviewId, placeId, email,\n}: SuccessMessageWithOfferProps) => {\n const initialValues = {\n zipcode: zipcode || '',\n phone: phone || '',\n message: '',\n };\n\n const handleSubmit = (values, { setStatus, setSubmitting }) => {\n stores.leadsStore.create({\n lead: {\n phone: values.phone,\n email,\n codepostal: values.zipcode,\n message: values.message,\n },\n }, setStatus, setSubmitting);\n };\n\n return (\n <Body>\n <IconSuccess />\n <Title>{`${firstName}, merci pour votre avis !`}</Title>\n <Intro city={city} />\n <Form initialValues={initialValues} handleSubmit={handleSubmit} />\n {placeId && reviewId && rating > 3 && (\n <Message>\n <ShareReviewMessage reviewId={reviewId} isExamCenter />\n </Message>\n )}\n </Body>\n );\n};\n\nexport { SuccessMessageWithOffer };\n","import React from 'react';\n\nimport { useViewport } from '@shared/hooks/useViewport';\nimport { SuccessMessage as SuccessMessageDefault } from '../SuccessMessage';\nimport { DrivingSchoolsType } from './constants';\nimport { SuccessMessageWithOffer } from './SuccessMessageWithOffer';\nimport { RESOLUTION } from '../../../constants';\n\ntype SuccessMessageProps = {\n placeId: string;\n rating: number;\n reviewId: string;\n firstName: string;\n selectedSchoolType: DrivingSchoolsType;\n city: string;\n zipcode: string;\n phone: string;\n email: string;\n isLeadsFormSent: boolean;\n};\n\nconst SuccessMessage = (props: SuccessMessageProps) => {\n const {\n placeId, rating, reviewId, firstName, selectedSchoolType, city, zipcode, phone, email, isLeadsFormSent,\n } = props;\n const { viewportWidth } = useViewport();\n\n return (\n selectedSchoolType === DrivingSchoolsType.TRADITIONAL || viewportWidth <= RESOLUTION.LARGE\n ? (\n <SuccessMessageDefault\n text={viewportWidth <= RESOLUTION.LARGE && isLeadsFormSent ? 'Vous allez être recontacté(e) prochainement par une auto-école proche de chez vous.' : ''}\n title={`${firstName}, merci pour votre avis!`}\n placeId={placeId}\n rating={rating}\n reviewId={reviewId}\n isExamCenter\n />\n )\n : (\n <SuccessMessageWithOffer\n city={city}\n zipcode={zipcode}\n phone={phone}\n firstName={firstName}\n placeId={placeId}\n rating={rating}\n reviewId={reviewId}\n email={email}\n />\n )\n );\n};\n\nexport { SuccessMessage };\n","import React, { useEffect } from 'react';\nimport { observer } from 'mobx-react';\nimport styled from 'styled-components';\nimport media from '../../../utils/mediaQueries';\n\nimport { ReviewForm } from './ReviewForm';\nimport { SuccessMessage } from './SuccessMessage';\nimport stores from '../../../stores';\n\nconst Container = styled.div`\n background: #fff;\n border-radius: 10px;\n margin: 24px 0;\n overflow: hidden;\n \n ${media.mobile`\n margin: 24px -8px;\n `}\n`;\n\ntype ExamCenterReviewFormProps = {\n examCenterId: string;\n partnerReviewPayloadId: string;\n email: string;\n firstName: string;\n lastName: string;\n examCenterTitle: string;\n examCenterLogo: string;\n examCenterAddress: string;\n placeId: string;\n type: string;\n city: string;\n zipcode: string;\n phone: string;\n};\n\nconst ExamCenterReviewForm = observer((props: ExamCenterReviewFormProps) => {\n const {\n isSent, rating, reviewId, selectedSchoolType,\n } = stores.examCenterReviewStore;\n const { isSent: isLeadsFormSent } = stores.leadsStore;\n\n useEffect(() => stores.examCenterReviewStore.resetExamCenterReviewStore(), []);\n\n return (\n <Container>\n {isSent\n ? (\n <SuccessMessage\n firstName={props.firstName}\n placeId={props.placeId}\n rating={rating}\n reviewId={reviewId}\n selectedSchoolType={selectedSchoolType}\n city={props.city}\n zipcode={props.zipcode}\n phone={props.phone}\n email={props.email}\n isLeadsFormSent={isLeadsFormSent}\n />\n )\n : <ReviewForm {...props} />}\n </Container>\n );\n});\n\nexport { ExamCenterReviewForm };\n","import * as Yup from 'yup';\nimport { ReviewerType } from '../../../enums';\nimport { MESSAGE_MAX_LENGTH } from './constants';\n\nexport const validationSchema = (minCommentLength: number) => Yup.object().shape({\n stars: Yup.string()\n .required('Ce champ est obligatoire.'),\n textareaField: Yup.string()\n .trim()\n .required('Ce champ est obligatoire.')\n .min(minCommentLength, `Veuillez fournir au moins ${minCommentLength} caractères.`)\n .max(MESSAGE_MAX_LENGTH, `Votre avis est trop long ! Nous limitons la longueur des avis à ${MESSAGE_MAX_LENGTH} caractères… essayez de le raccourcir un peu.`),\n drivingLessons: Yup.number().min(0),\n fullCost: Yup.number().min(0),\n theoryExams: Yup.number().min(0),\n drivingExams: Yup.number().min(0),\n lastName: Yup.string()\n .required('Ce champ est obligatoire.'),\n firstName: Yup.string()\n .required('Ce champ est obligatoire.'),\n email: Yup.string()\n .trim('Ce champ ne peut pas inclure d\\'espace au début et à la fin')\n .strict(true)\n .email('Veuillez fournir une adresse électronique valide.')\n .required('Ce champ est obligatoire.'),\n isAgreed: Yup.bool()\n .oneOf([true], 'Veuillez accepter les Conditions générales de publication des avis.'),\n practicalExamDate: Yup.date().required('Ce champ est obligatoire.').typeError('Ce champ doit être une date (jj/mm/aaaa).'),\n allowMaifProposal: Yup.bool(),\n reviewerType: Yup.string()\n .oneOf(Object.values(ReviewerType), 'Veuillez accepter les Conditions générales de publication des avis.')\n .required('Ce champ est obligatoire.'),\n});\n\nexport const formInitialValues = {\n stars: '',\n reception: '',\n information: '',\n teaching: '',\n availability: '',\n quality: '',\n textareaField: '',\n licenseType: '',\n drivingLessons: '',\n fullCost: '',\n theoryExams: '',\n drivingExams: '',\n lastName: '',\n firstName: '',\n email: '',\n isAgreed: false,\n selectedSchoolId: '',\n practicalExamDate: undefined,\n allowMaifProposal: true,\n reviewerType: ReviewerType.Student,\n};\n","import React, { useCallback, useMemo } from 'react';\nimport { connect, ErrorMessage, FormikContextType } from 'formik';\nimport styled from 'styled-components';\nimport { observer } from 'mobx-react';\n\nimport { Combobox, Switcher } from '@shared/fields';\n\nimport DatePickerField from '@shared/fields/DatePickerField';\nimport { LabeledField } from '../../LabeledField';\nimport { StarRating } from '../../StarRating';\nimport { TextareaHints } from '../TextareaHints';\nimport Textareafield from '../../fields/Textareafield';\nimport Field from '../../fields/Field';\nimport { Checkbox } from '../../fields/Checkbox';\nimport { CheckboxLabel } from '../CheckboxLabel';\nimport Btn from '../../buttons/Btn';\nimport { isMobile, REVIEW_MIN_DATE_ISO } from '../../../constants';\nimport { Footnote } from './Footnote';\nimport { ERROR_OCCURED, getFormTexts } from './formDictionary';\nimport {\n BLUE_GREY, ERROR_COLOR, FONT_FAMILY_MAIN, TEXT_COLOR,\n} from '../../../theme';\nimport media from '../../../utils/mediaQueries';\nimport { withScrollToError } from '../../../hocs/withScrollToError';\nimport stores from '../../../stores';\nimport { UserSchool } from './types/UserSchool';\nimport { ReviewerOption } from './types/ReviewerOption';\nimport { StudentFormValues } from './types/StudentFormValues';\n\nconst FieldComment = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n font-size: 12px;\n line-height: 1.17;\n letter-spacing: -0.1px;\n color: ${BLUE_GREY};\n margin-top: 8px;\n`;\n\nconst ErrorMessageContainer = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n color: ${ERROR_COLOR};\n font-size: 12px;\n line-height: 1.17;\n margin-top: 3px;\n`;\n\nconst ContactInfoNote = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n font-size: 18px;\n line-height: 1.33;\n letter-spacing: 0.2px;\n color: ${TEXT_COLOR};\n max-width: 616px;\n margin: 62px 0 16px;\n\n ${media.mobile`\n margin-top: 48px;\n max-width: none;\n `}\n`;\n\nconst GroupedField = styled.div`\n ${(props) => props.hidden && 'display: none;'}\n\n & + & {\n margin-top: 16px;\n }\n`;\n\nconst ContactCaption = styled.div`\n color: ${BLUE_GREY};\n margin-top: 8px;\n font-size: 12px;\n line-height: 1.17;\n letter-spacing: -0.1px;\n font-weight: 400;\n`;\n\ntype FormProps = {\n userSchools?: UserSchool[];\n reviewTextRef?: React.RefObject<HTMLTextAreaElement>;\n setReviewerType?(type: string): void;\n reviewersOptions?: ReviewerOption[];\n minCommentLength?: number;\n};\n\ntype FormikProps = {\n formik: FormikContextType<StudentFormValues>;\n};\n\nconst FormComponent = (props: FormProps & FormikProps) => {\n const {\n starsData, textarea, contactInfoNote, receptionData,\n informationData, teachingData, availabilityData, qualityData,\n licenseType, drivingLessonsAndFullCost, theoryAndDrivivngExams,\n contact, userSchoolsData, practicalExamDate,\n } = useMemo(() => getFormTexts(''), []);\n const {\n formik, userSchools, reviewTextRef, setReviewerType, reviewersOptions, minCommentLength,\n } = props;\n const {\n values, errors, touched, handleChange, handleBlur, isSubmitting, handleSubmit, status, setFieldValue,\n } = formik;\n const { meetingSubjects } = stores.meetingStore;\n\n const handleSchoolChange = (e: React.ChangeEvent<HTMLSelectElement>, setValue: (field: string, value: string) => void) => {\n const { meetingStore, schoolReviewStore } = stores;\n meetingStore.getMeetingSubjects(e.currentTarget.value);\n const selectedSchool = userSchools.find((school) => school.id === e.currentTarget.value);\n schoolReviewStore.setPlaceId(selectedSchool.placeId);\n setValue(e.currentTarget.name, e.currentTarget.value);\n };\n\n const handleReviewerTypeChange = useCallback((e: React.ChangeEvent<HTMLSelectElement>, setValue: (field: string, value: string) => void) => {\n setReviewerType(e.currentTarget.value);\n setValue(e.currentTarget.name, e.currentTarget.value);\n }, []);\n\n return (\n <form onSubmit={handleSubmit} data-test-selector=\"post-new-rating\">\n {userSchools.length\n ? (\n <LabeledField label={userSchoolsData.label}>\n <Combobox\n name=\"selectedSchoolId\"\n width=\"100%\"\n options={userSchools}\n onChange={(e) => handleSchoolChange(e, setFieldValue)}\n onBlur={handleBlur}\n value={values.selectedSchoolId || userSchools[0].id}\n />\n </LabeledField>\n )\n : ''}\n <LabeledField label=\"Vous êtes\" isRequired error={errors.reviewerType && touched.reviewerType}>\n <Combobox\n name=\"reviewerType\"\n width=\"100%\"\n options={reviewersOptions}\n onChange={(e) => handleReviewerTypeChange(e, setFieldValue)}\n onBlur={handleBlur}\n value={values.reviewerType}\n data-testid=\"reviewer-type\"\n />\n </LabeledField>\n <LabeledField isRequired label={starsData.label} error={errors.stars && touched.stars}>\n <StarRating\n selectedStars={values.stars}\n onStarClick={(e) => {\n stores.schoolReviewStore.setRating(e.target.value);\n handleChange(e);\n }}\n name=\"stars\"\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"stars\" />\n </LabeledField>\n <LabeledField label={receptionData.label}>\n <Switcher\n items={receptionData.items}\n name=\"reception\"\n activeItem={values.reception}\n onChange={handleChange}\n />\n <FieldComment>{receptionData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={informationData.label}>\n <Switcher\n items={informationData.items}\n name=\"information\"\n activeItem={values.information}\n onChange={handleChange}\n />\n <FieldComment>{informationData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={teachingData.label}>\n <Switcher\n items={teachingData.items}\n name=\"teaching\"\n activeItem={values.teaching}\n onChange={handleChange}\n />\n <FieldComment>{teachingData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={availabilityData.label}>\n <Switcher\n items={availabilityData.items}\n name=\"availability\"\n activeItem={values.availability}\n onChange={handleChange}\n />\n <FieldComment>{availabilityData.caption}</FieldComment>\n </LabeledField>\n <LabeledField label={qualityData.label}>\n <Switcher\n items={qualityData.items}\n name=\"quality\"\n activeItem={values.quality}\n onChange={handleChange}\n />\n <FieldComment>{qualityData.caption}</FieldComment>\n </LabeledField>\n <LabeledField\n label={textarea.label}\n isRequired\n error={errors.textareaField && touched.textareaField}\n labelAddition={<TextareaHints value={values.textareaField} minLength={minCommentLength || 200} />}\n >\n <Textareafield\n name=\"textareaField\"\n value={values.textareaField}\n onChange={handleChange}\n onBlur={handleBlur}\n valid={touched.textareaField && !errors.textareaField}\n textareaRef={reviewTextRef}\n resize=\"vertical\"\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"textareaField\" />\n <FieldComment>\n <a href=\"/a-propos/conditions-particulieres-avis\" target=\"_blank\" rel=\"noopener noreferrer\">\n {textarea.rulesLink}\n </a>\n <div>{textarea.comment}</div>\n </FieldComment>\n </LabeledField>\n <ContactInfoNote>{contactInfoNote}</ContactInfoNote>\n <LabeledField label={licenseType.label}>\n <Combobox\n placeholder={licenseType.placeholder}\n name=\"licenseType\"\n width=\"100%\"\n options={meetingSubjects}\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.licenseType}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"licenseType\" />\n </LabeledField>\n <LabeledField isRequired label={practicalExamDate.label}>\n <DatePickerField\n name=\"practicalExamDate\"\n placeholderText={practicalExamDate.placeholder}\n value={values.practicalExamDate}\n maxDate={new Date()} // today\n minDate={new Date(REVIEW_MIN_DATE_ISO)}\n onChange={setFieldValue}\n onBlur={handleBlur}\n dateFormat=\"dd MMMM yyyy\"\n valid={touched.practicalExamDate && !errors.practicalExamDate}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"practicalExamDate\" />\n </LabeledField>\n <LabeledField label={drivingLessonsAndFullCost.label}>\n <GroupedField>\n <Field\n placeholder={drivingLessonsAndFullCost.drivingLessonsPlaceholder}\n name=\"drivingLessons\"\n type=\"number\"\n min={0}\n step=\"any\"\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.drivingLessons}\n valid={touched.drivingLessons && !errors.drivingLessons}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"drivingLessons\" />\n </GroupedField>\n <GroupedField>\n <Field\n placeholder={drivingLessonsAndFullCost.fullCostPlaceholder}\n name=\"fullCost\"\n type=\"number\"\n min={0}\n step=\"any\"\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.fullCost}\n valid={touched.fullCost && !errors.fullCost}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"fullCost\" />\n </GroupedField>\n </LabeledField>\n <LabeledField label={theoryAndDrivivngExams.label}>\n <GroupedField>\n <Field\n placeholder={theoryAndDrivivngExams.theoryExamsPlaceholder}\n name=\"theoryExams\"\n type=\"number\"\n min={0}\n step=\"any\"\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.theoryExams}\n valid={touched.theoryExams && !errors.theoryExams}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"theoryExams\" />\n </GroupedField>\n <GroupedField>\n <Field\n placeholder={theoryAndDrivivngExams.drivingExamsPlaceholder}\n name=\"drivingExams\"\n type=\"number\"\n min={0}\n step=\"any\"\n onChange={handleChange}\n onBlur={handleBlur}\n value={values.drivingExams}\n valid={touched.drivingExams && !errors.drivingExams}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"drivingExams\" />\n </GroupedField>\n </LabeledField>\n <LabeledField\n label={contact.label}\n labelAddition={<ContactCaption>{contact.caption}</ContactCaption>}\n isRequired\n error={(errors.lastName && touched.lastName) || (errors.firstName && touched.firstName) || (errors.email && touched.email)}\n >\n <GroupedField>\n <Field\n placeholder={contact.lastNamePlaceholder}\n name=\"lastName\"\n value={values.lastName}\n onChange={handleChange}\n onBlur={handleBlur}\n valid={touched.lastName && !errors.lastName}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"lastName\" />\n </GroupedField>\n <GroupedField>\n <Field\n placeholder={contact.firstNamePlaceholder}\n name=\"firstName\"\n value={values.firstName}\n onChange={handleChange}\n onBlur={handleBlur}\n valid={touched.firstName && !errors.firstName}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"firstName\" />\n </GroupedField>\n <GroupedField>\n <Field\n placeholder={contact.emailPlaceholder}\n name=\"email\"\n type=\"email\"\n value={values.email}\n onChange={handleChange}\n onBlur={handleBlur}\n valid={touched.email && !errors.email}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"email\" />\n </GroupedField>\n </LabeledField>\n\n <LabeledField label=\"\">\n <GroupedField>\n <Checkbox\n name=\"isAgreed\"\n label={<CheckboxLabel />}\n isChecked={values.isAgreed}\n onChange={handleChange}\n error={errors.isAgreed && touched.isAgreed}\n />\n <ErrorMessage component={ErrorMessageContainer} name=\"isAgreed\" />\n </GroupedField>\n <GroupedField hidden>\n <Checkbox\n name=\"allowMaifProposal\"\n label=\"J'accepte que mes données personnelles soient transmises à MAIF pour recevoir des offres commerciales\"\n isChecked={values.allowMaifProposal}\n onChange={handleChange}\n error={errors.allowMaifProposal && touched.allowMaifProposal}\n />\n </GroupedField>\n </LabeledField>\n <LabeledField label=\"\">\n <Btn type=\"submit\" text=\"Publier l'avis\" isLoading={isSubmitting} disabled={isSubmitting} block={isMobile} name=\"submitReview\" />\n {!!status && !status.success && <ErrorMessageContainer>{ERROR_OCCURED}</ErrorMessageContainer>}\n {errors.message && <ErrorMessageContainer>{errors.message}</ErrorMessageContainer>}\n </LabeledField>\n <LabeledField label=\"\">\n <Footnote />\n </LabeledField>\n </form>\n );\n};\n\nFormComponent.defaultProps = {\n userSchools: [],\n reviewTextRef: null,\n setReviewerType: () => {},\n reviewersOptions: [],\n minCommentLength: 200,\n};\n\nconst Form = connect(observer(FormComponent));\n\nconst StudentReviewFormComponent = withScrollToError(Form);\n\nexport { StudentReviewFormComponent };\n","/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport { Formik, FormikHelpers } from 'formik';\n\nimport { validationSchema, formInitialValues } from './formikConstants';\nimport { StudentReviewFormComponent } from './StudentReviewFormComponent';\nimport { ReviewerOption } from './types/ReviewerOption';\nimport { UserSchool } from './types/UserSchool';\nimport { StudentFormValues } from './types/StudentFormValues';\nimport { ReviewerType } from '../../../enums';\n\ntype FormProps = {\n userSchools: UserSchool[];\n reviewTextRef: React.RefObject<HTMLTextAreaElement>;\n setReviewerType(type: ReviewerType): void;\n reviewersOptions: ReviewerOption[];\n onFormSubmit(values, { setErrors, setStatus, setSubmitting }: FormikHelpers<StudentFormValues>): void;\n minCommentLength?: number;\n};\n\nconst StudentReviewForm = ({\n onFormSubmit, userSchools, reviewTextRef, setReviewerType, reviewersOptions, minCommentLength,\n}: FormProps) => (\n <Formik\n initialValues={formInitialValues}\n onSubmit={onFormSubmit}\n validationSchema={validationSchema(minCommentLength || 200)}\n >\n <StudentReviewFormComponent\n userSchools={userSchools}\n reviewTextRef={reviewTextRef}\n setReviewerType={setReviewerType}\n reviewersOptions={reviewersOptions}\n minCommentLength={minCommentLength}\n />\n </Formik>\n);\n\nexport { StudentReviewForm };\n","import React, {\n useEffect, useRef, useState, useMemo, useCallback,\n} from 'react';\nimport styled from 'styled-components';\nimport { observer } from 'mobx-react';\nimport { FormikHelpers } from 'formik';\nimport { load } from 'recaptcha-v3';\n\nimport media from '../../../utils/mediaQueries';\nimport { LINKS_COLOR, NOTES_COLOR } from '../../../theme';\nimport { getFormTexts, FORM_TEXTS } from './formDictionary';\nimport stores from '../../../stores';\nimport { REVIEWERS_TITLES } from './reviewerTypes';\nimport { StudentReviewForm } from './StudentReviewForm';\nimport { FunderReviewForm } from './FunderReviewForm';\nimport { UserSchool } from './types/UserSchool';\nimport { StudentFormValues } from './types/StudentFormValues';\nimport { FunderFormValues } from './types/FunderFormValues';\nimport { valuesToPayload } from './mappers';\nimport { ReviewerType } from '../../../enums';\n\nconst Body = styled.div`\n padding: 24px 40px 32px;\n ${media.mobile`\n padding: 16px 24px 24px;\n `}\n \n a {\n color: ${LINKS_COLOR};\n }\n`;\n\nconst FormTitle = styled.h4`\n font-size: 18px;\n font-weight: 800;\n line-height: 1.44;\n letter-spacing: 0.2px;\n margin-bottom: 10px;\n`;\n\nconst Note = styled.div`\n font-size: 14px; \n line-height: 1.29;\n letter-spacing: -0.1px;\n color: ${NOTES_COLOR};\n margin-bottom: 24px;\n \n ${media.mobile`\n font-size: 12px;\n `}\n`;\n\ntype ReviewFormProps = {\n schoolId: string;\n userSchools?: UserSchool[];\n minCommentLength?: number;\n};\n\ntype ReviewFormSubmitType = (values: StudentFormValues | FunderFormValues, {\n setErrors, setStatus, setSubmitting,\n}: FormikHelpers<StudentFormValues> | FormikHelpers<FunderFormValues>) => void;\n\nconst ReviewFormComponent = (props: ReviewFormProps) => {\n const reviewTextRef = useRef(null);\n const { schoolId, userSchools, minCommentLength } = props;\n const { meetingStore } = stores;\n\n useEffect(() => {\n if (!(meetingStore.meetingSubjects.length || meetingStore.isMeetingSubjectsLoading)) {\n meetingStore.getMeetingSubjects(schoolId);\n }\n }, []);\n\n const [reviewerType, setReviewerType] = useState<ReviewerType>(ReviewerType.Student);\n\n const [recaptchaToken, setRecaptchaToken] = useState(null);\n\n const reviewersOptions = Object.entries(REVIEWERS_TITLES).map(([key, value]: [key: ReviewerType, value: string]) => ({ id: key, name: value }));\n\n const getRecaptchaToken = useCallback(async () => {\n const recaptcha = await load(process.env.GOOGLE_RECAPTCHA_SITE_KEY);\n const token = await recaptcha.execute('review_post');\n\n if (token) {\n setRecaptchaToken(token);\n }\n }, []);\n\n useEffect(() => {\n getRecaptchaToken();\n }, []);\n\n const onFormSubmit: ReviewFormSubmitType = (values, { setErrors, setStatus, setSubmitting }) => {\n const reviewData = valuesToPayload(schoolId, values);\n const { stars } = values;\n stores.schoolReviewStore.setRating(stars);\n\n stores.schoolReviewStore.create(reviewData, setErrors, setStatus, setSubmitting, recaptchaToken);\n };\n\n const { title, titleNote } = useMemo<typeof FORM_TEXTS>(() => getFormTexts(''), []);\n\n return (\n <Body>\n <FormTitle>{title}</FormTitle>\n <Note>{titleNote}</Note>\n\n {reviewerType === ReviewerType.Student\n ? (\n <StudentReviewForm\n onFormSubmit={onFormSubmit}\n userSchools={userSchools}\n reviewTextRef={reviewTextRef}\n setReviewerType={setReviewerType}\n reviewersOptions={reviewersOptions}\n minCommentLength={minCommentLength}\n />\n )\n : (\n <FunderReviewForm\n onFormSubmit={onFormSubmit}\n userSchools={userSchools}\n reviewerType={reviewerType}\n setReviewerType={setReviewerType}\n reviewersOptions={reviewersOptions}\n reviewTextRef={reviewTextRef}\n minCommentLength={minCommentLength}\n />\n )}\n </Body>\n );\n};\n\nReviewFormComponent.defaultProps = {\n userSchools: [],\n minCommentLength: 200,\n};\n\nconst ReviewFormContainer = observer(ReviewFormComponent);\n\nexport { ReviewFormContainer };\n","import React, { useEffect } from 'react';\nimport { observer } from 'mobx-react';\nimport styled from 'styled-components';\nimport media from '../../../utils/mediaQueries';\n\nimport { ReviewFormContainer } from './ReviewFormContainer';\nimport { SuccessMessage } from '../SuccessMessage';\nimport stores from '../../../stores';\nimport { SUCCESS_MESSAGE_BODY } from './formDictionary';\nimport { UserSchool } from './types/UserSchool';\n\nconst Container = styled.div`\n background: #fff;\n border-radius: 10px;\n margin: 24px 0;\n\n ${media.mobile`\n margin: 24px -8px;\n `}\n`;\n\ntype SchoolReviewFormProps = {\n schoolId: string;\n placeId: string;\n userSchools: UserSchool[];\n minCommentLength: number;\n};\n\nconst SchoolReviewForm = observer((props: SchoolReviewFormProps) => {\n console.log('minCommentLength', props.minCommentLength);\n useEffect(() => {\n stores.schoolReviewStore.setPlaceId(props.placeId);\n\n return () => stores.schoolReviewStore.resetReviewStore();\n }, []);\n const {\n isSent, placeId, rating, reviewId,\n } = stores.schoolReviewStore;\n\n return (\n <Container>\n {isSent\n ? <SuccessMessage text={SUCCESS_MESSAGE_BODY} placeId={placeId} rating={rating} reviewId={reviewId} />\n : <ReviewFormContainer {...props} />}\n </Container>\n );\n});\n\nexport { SchoolReviewForm };\n","import styled from 'styled-components';\nimport { ERROR_COLOR, FONT_FAMILY_MAIN } from '../../../theme';\n\nexport const ErrorMessageContainer = styled.div`\n font-family: ${FONT_FAMILY_MAIN};\n color: ${ERROR_COLOR};\n font-size: 12px;\n line-height: 1.17;\n margin-top: 3px;\n`;\n","import styled from 'styled-components';\nimport media from '../../../utils/mediaQueries';\nimport { FONT_FAMILY_MAIN } from '../../../theme';\n\nexport const Input = styled.input`\n height: 48px;\n padding: 1px 16px;\n border-radius: 2px;\n border: solid 1px rgba(0, 0, 0, 0.07);\n background-color: #f4f7f9;\n outline: none;\n font-size: 14px;\n line-height: 1.43;\n letter-spacing: 0.2px;\n color: #354354;\n transition: all .2s;\n font-family: ${FONT_FAMILY_MAIN};\n ${(props) => props.icon && `\n background-image: url(${props.icon});\n background-repeat: no-repeat;\n `}\n ${(props) => props.iconPosition === 'right' ? `\n padding-right: 42px;\n background-position: right 9px center;\n ` : `\n padding-left: 42px;\n background-position: 14px center;\n `}\n &:focus {\n border-color: #23c4f8 !important;\n }\n &::placeholder {\n color: #ccd0d4; \n }\n ${(props) => props.disabled\n ? `\n border: dashed 1px rgba(0, 0, 0, 0.07);\n color: #9aa1a9;\n &:hover {\n cursor: not-allowed;\n }\n `\n : `\n &:hover {\n border-color: rgba(41, 83, 102, 0.3);\n }\n `}\n ${(props) => props.valid === true\n && `\n border-color: #51e3ae !important;\n `}\n ${(props) => props.valid === false\n && `\n border-color: #f74656 !important;\n color: #f74656;\n `}\n width: ${(props) => (props.width ? props.width : 'auto')};\n \n ${media.mobile`\n font-size: 16px;\n \n &:focus {\n font-size: 16px;\n }\n `}\n`;\n","export default __webpack_public_path__ + \"e79d32bc1a572c0e47c356b1c508f278.svg\";","export default __webpack_public_path__ + \"d304a5f7003777c76cef60d8c5cc14e5.svg\";","export default __webpack_public_path__ + \"155ec719ac070e4b6f908e5a58829d7c.svg\";","export default __webpack_public_path__ + \"1912b238810497b13dab5bf6bcbb3cd2.svg\";","export default __webpack_public_path__ + \"16d74a9acb981e916db1935980b1dbfd.svg\";","export default __webpack_public_path__ + \"427f7bc5ee7fd277a662a45ad8d36233.svg\";"],"names":["styles","props","width","height","xmlns","d","fill","AdaptivePicture","img","srcset","alt","srcSet","map","src","size","join","style","defaultProps","Container","styled","div","valid","flatpickrInstance","Flatpickr","options","children","value","customInput","onChange","onClick","onBlur","onOpen","dateFormat","mode","locale","defaultDate","restProps","pickerEl","useRef","useEffect","flatpickrOptions","parseDate","date","parse","Date","fr","formatDate","dateObj","DateTimeService","setDateLocale","French","onClose","current","blur","flatpickr","setDate","destroy","wrap","ref","React","undefined","InputContainer","DatePickerField","name","iconPosition","minDate","maxDate","placeholderText","placeholder","disableMobile","rest","Input","icon","val","Row","Label","error","ERROR_COLOR","SmallFieldWrap","BtnWrap","media","mobile","ResultMessage","isSuccess","SUCCESS_COLOR","ErrorMessageContainer","FONT_FAMILY_MAIN","validationSchema","Yup","shape","zipcode","matches","required","phone","Form","initialValues","handleSubmit","onSubmit","values","errors","touched","handleChange","handleBlur","isSubmitting","status","type","component","message","text","isLoading","disabled","success","block","isMobile","Image","Intro","city","bannerMobile","bannerMobile2x","banner","banner2x","FormState","stars","textareaField","trim","min","MESSAGE_MIN_LENGTH","max","MESSAGE_MAX_LENGTH","isAgreed","oneOf","examDate","typeError","validationSchemaSmallScreen","Stars","ExamCenter","StudyType","drivingSchoolType","helpSearchSchool","when","is","DrivingSchoolsType","TRADITIONAL","then","DataTransferForm","formInitialValues","registrationRate","waitingRoomRate","examRoomRate","equipmentRate","resultAvailabilityRate","formInitialValuesSmallScreen","BLUE_GREY","Italic","i","Link","a","isAvisSolution","css","Footnote","mailto","href","target","rel","Content","span","InfoIcon","Info","LINKS_COLOR","TextareaInfo","tooltipContent","Tooltip","position","trigger","content","commonTheme","drivingSchoolTypeColor","PALE_GREY","drivingSchoolSelectedTypeFontColor","GRAY_CHATEAU","buttonColor","MAIN_BLUE","buttonTextColor","customThemes","CustomExamCenters","LA_POSTE","background","color","image","laposteBackground","image2x","laposteBackground2x","repeat","positionMobile","imagePath","laposteLogo","logoWidth","logoHeight","title","fontSize","fontSizeMobile","lineHeight","letterSpacing","textAlign","top","topMobile","left","leftMobile","TEXT_COLOR","CODENGO","codengoBackground","codengoBackground2x","codengoLogo","DEKRA","dekraBackground","dekraBackground2x","dekraLogo","logoMarginTop","right","rightMobile","SGS","sgsBackground","sgsBackground2x","sgsLogo","transform","COMMON_SWITCHER_ITEMS","FORM_TEXTS","titleNote","starsData","label","registrationData","caption","items","waitingRoomData","examRoomData","equipmentData","resultAvailabilityData","textarea","rulesLink","comment","DRIVING_SCHOOLS_OPTIONS","HELP_SEARCH_OPTIONS","Title","p","FieldComment","CheckboxRow","LegalField","Checkbox","CheckboxLabel","isChecked","SwitcherWrap","theme","BannerWrapper","bannerStyles","maxWidth","SCREENS_TRANSITIONS","next","node","firstName","examCenterTitle","handleStarsClick","useCallback","e","stores","examCenterReviewStore","setRating","LabeledField","isRequired","StarRating","selectedStars","onStarClick","starsHeight","starsWidth","prev","step","setFieldValue","reviewTextRef","REVIEW_MIN_DATE_ISO","field","isFullWidthLabel","Textareafield","minLength","supplementaryInfo","textareaRef","activeItem","setSchoolType","ONLINE","NONE","Field","form","NextButton","NextButtonTitle","NextButtonCount","NOTES_COLOR","IconNext","SmallResolutionForm","connect","formik","activeScreen","setNextScreen","isLastScreen","nextScreen","window","scrollTo","useTheme","Screen","getTotalSteps","Btn","textColor","arrowIcon","outlined","Header","LogoWrap","Logo","HeaderText","Body","SmallResolution","observer","examCenterLogo","isCustomTheme","onFormSubmit","email","useState","setActiveScreen","onBackButtonClick","prevScreen","global","gtag","event_category","event_label","preventDefault","history","pushState","location","back","addEventListener","removeEventListener","async","setErrors","setSubmitting","setStatus","setTouched","leadsStore","create","lead","codepostal","CodengoTitleWrap","CodengoTitle","LogoContainer","h1","Name","Paragraph","CustomHeader","TopRow","Address","CommonHeader","examCenterAddress","DrivingSchoolTypeWrap","FormWithScrollToErrors","withScrollToError","FormTitle","h4","Note","FootnoteRow","HighResolution","ReviewForm","viewportWidth","useViewport","examCenterId","partnerReviewPayloadId","lastName","format","reviewData","exam_center_review","exam_center_id","partner_review_payload_id","first_name","last_name","registration","waiting_room","exam_room","equipment","result_availability","exam_date","console","CUSTOM_EXAM_CENTERS","includes","RESOLUTION","LARGE","IconSuccess","Icon","Message","SuccessMessageWithOffer","rating","reviewId","placeId","ShareReviewMessage","isExamCenter","SuccessMessage","selectedSchoolType","isLeadsFormSent","ExamCenterReviewForm","isSent","resetExamCenterReviewStore","minCommentLength","drivingLessons","fullCost","theoryExams","drivingExams","strict","practicalExamDate","allowMaifProposal","reviewerType","Object","ReviewerType","reception","information","teaching","availability","quality","licenseType","selectedSchoolId","Student","ContactInfoNote","GroupedField","hidden","ContactCaption","FormComponent","useMemo","getFormTexts","contactInfoNote","receptionData","informationData","teachingData","availabilityData","qualityData","drivingLessonsAndFullCost","theoryAndDrivivngExams","contact","userSchoolsData","userSchools","setReviewerType","reviewersOptions","meetingSubjects","meetingStore","handleReviewerTypeChange","setValue","currentTarget","length","schoolReviewStore","getMeetingSubjects","selectedSchool","find","school","id","setPlaceId","handleSchoolChange","labelAddition","TextareaHints","resize","drivingLessonsPlaceholder","fullCostPlaceholder","theoryExamsPlaceholder","drivingExamsPlaceholder","lastNamePlaceholder","firstNamePlaceholder","emailPlaceholder","ERROR_OCCURED","StudentReviewFormComponent","StudentReviewForm","ReviewFormComponent","schoolId","isMeetingSubjectsLoading","recaptchaToken","setRecaptchaToken","entries","REVIEWERS_TITLES","key","getRecaptchaToken","recaptcha","load","process","token","execute","valuesToPayload","FunderReviewForm","ReviewFormContainer","SchoolReviewForm","log","resetReviewStore","SUCCESS_MESSAGE_BODY","input"],"sourceRoot":""}