├── README.md ├── obfuscate.js ├── package-lock.json ├── package.json ├── simple_test.js └── simple_test.obfuscated.js /README.md: -------------------------------------------------------------------------------- 1 | # jsafer 2 | ```shell 3 | $ npm install -g jsafer 4 | ``` 5 | ```shell 6 | $ # Let's test the installation. 7 | $ jsafer 8 | 9 | No files were specified, getting code from prompt. 10 | 11 | prompt: code: 12 | 13 | function fibo(limit, a=1, b=1){ 14 | // Some docstring about this function 15 | if(a > limit){ 16 | return 17 | } 18 | console.log(a) 19 | return fibo(limit, b, a+b) 20 | } 21 | 22 | fibo(1000); 23 | 24 | - jsafer - Stage 1 - Obfuscation #1 is done 25 | - jsafer - Stage 2 - Obfuscation #2 is done 26 | - jsafer - Stage 3 - Minifying... 27 | - jsafer - Stage 4 - Obfuscated And Minified: 28 | 29 | var _0x49e6=["1zlSZGb","518807ylKatK","Qlakm","1155382sXYSWG","log","3085474vbXBWc","11seDYzl","46887RdaVcU","514116BeWIKX","987748FPAGmd","1177490DqkqIl","kFteY","VBurQ","2BAVaWb"],_0x7c2b=function(r,n){return _0x49e6[r-=190]},_0x2f68a6=_0x7c2b;!function(r,n){for(var t=_0x7c2b;;)try{if(715168===-parseInt(t(192))*-parseInt(t(193))+parseInt(t(201))+-parseInt(t(198))*parseInt(t(199))+-parseInt(t(202))+-parseInt(t(195))+parseInt(t(200))*-parseInt(t(191))+parseInt(t(197)))break;r.push(r.shift())}catch(n){r.push(r.shift())}}(_0x49e6);var _0x84f0=[_0x2f68a6(196)];function fibo(r,n=1,t=1){var e=_0x2f68a6,a={kFteY:function(r,n){return r>n},Qlakm:function(r,n,t,e){return r(n,t,e)},VBurQ:function(r,n){return r+n}};if(!a[e(203)](n,r))return console[_0x84f0[0]](n),a[e(194)](fibo,r,t,a[e(190)](n,t))}fibo(1e3); 30 | 31 | - jsafer - Stage 5 - Done. 32 | 1 33 | 1 34 | 2 35 | 3 36 | 5 37 | 8 38 | 13 39 | 21 40 | 34 41 | 55 42 | 89 43 | 144 44 | 233 45 | 377 46 | 610 47 | ``` 48 | ## Security Obfuscation Examples 49 | The CLI tool enables various usages.
50 | Code of any size can be encapsulated with this technique, in a stable way.
51 | The output is production-ready artifacts, that are created as "**.obfuscated.js" 52 | 53 | #### Single File Obfuscation / Protection 54 | ```shell 55 | ➜ jsafer git:(main) ✗ jsafer ./simple_test.js 56 | - jsafer - Files to minify: [ './simple_test.js' ] 57 | - jsafer - Stage 0 - First obfuscation is done 58 | - jsafer - Stage 0 - Second obfuscation is done 59 | - jsafer - Stage 1 - First obfuscation is done 60 | - jsafer - Stage 1 - Second obfuscation is done 61 | - jsafer - Stage 2 - First obfuscation is done 62 | - jsafer - Stage 2 - Second obfuscation is done 63 | - jsafer - Stage 3 - First obfuscation is done 64 | - jsafer - Stage 3 - Second obfuscation is done 65 | - jsafer - Stage 4 - First obfuscation is done 66 | - jsafer - Stage 4 - Second obfuscation is done 67 | - jsafer - Stage 5 - First obfuscation is done 68 | - jsafer - Stage 5 - Second obfuscation is done 69 | - jsafer - Stage 6 - First obfuscation is done 70 | - jsafer - Stage 6 - Second obfuscation is done 71 | - jsafer - Stage 7 - First obfuscation is done 72 | - jsafer - Stage 7 - Second obfuscation is done 73 | - jsafer - Stage 8 - First obfuscation is done 74 | - jsafer - Stage 8 - Second obfuscation is done 75 | - jsafer - Stage 9 - First obfuscation is done 76 | - jsafer - Stage 9 - Second obfuscation is done 77 | - jsafer - Stage 3 - Minifying... 78 | - jsafer - Stage 4 - Obfuscated And Minified: 79 | 80 | var _0x342e93=_0x1143;function _0x1143(e,r){var n=_0x35d0();return(_0x1143=function(e,r){return n[e-=302]})(e,r)}!function(e,r){for(var n=_0x1143,t=_0x35d0();;)try{if(520382===-parseInt(n(315))/1*(-parseInt(n(307))/2)+-parseInt(n(319))/3+parseInt(n(303))/4*(parseInt(n(305))/5)+parseInt(n(308))/6+parseInt(n(311))/7+-parseInt(n(309))/8+-parseInt(n(318))/9)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();var _0x9875=[_0x342e93(316),_0x342e93(302),_0x342e93(312),_0x342e93(310)+_0x342e93(314),_0x342e93(313)+_0x342e93(304)];const{performance:performance}=require(_0x9875[0]);var startTime=performance[_0x9875[1]]();function fibo(e,r=1,n=1){var t=_0x342e93,o={vxBTI:function(e,r){return e>r},aEBwR:function(e,r,n,t){return e(r,n,t)},LHoLC:function(e,r){return e+r}};if(!o[t(306)](r,e))return console[_0x9875[2]](r),o[t(320)](fibo,e,n,o[t(317)](r,n))}function _0x35d0(){var e=["ok ","341sPqGdk","perf_hooks","LHoLC","11695428cDfJvU","516504tfDkFZ","aEBwR","now","284FEQHXZ","nds","890aKXUeK","vxBTI","4978Piqczx","5899530SGIBSd","732472GoaJsq","The run to","1672713PsAbHz","log"," milliseco"];return(_0x35d0=function(){return e})()}fibo(1/1e-9);var endTime=performance[_0x9875[1]]();console[_0x9875[2]](""+_0x9875[3]+(endTime-startTime)+_0x9875[4]); 81 | 82 | - jsafer - Stage 5 - Done. 83 | ``` 84 | Check the obfuscated code: 85 | ```shell 86 | ➜ jsafer git:(main) ✗ node simple_test.obfuscated.js 87 | 1 88 | 1 89 | 2 90 | 3 91 | 5 92 | 8 93 | 13 94 | 21 95 | 34 96 | 55 97 | 89 98 | 144 99 | 233 100 | 377 101 | 610 102 | 987 103 | 1597 104 | 2584 105 | 4181 106 | 6765 107 | 10946 108 | 17711 109 | 28657 110 | 46368 111 | 75025 112 | 121393 113 | 196418 114 | 317811 115 | 514229 116 | 832040 117 | 1346269 118 | 2178309 119 | 3524578 120 | 5702887 121 | 9227465 122 | 14930352 123 | 24157817 124 | 39088169 125 | 63245986 126 | 102334155 127 | 165580141 128 | 267914296 129 | 433494437 130 | 701408733 131 | The run took 7.0212240014225245 milliseconds 132 | ``` 133 | #### Code Snippet Obfuscation 134 | ```shell 135 | % jsafer 136 | 137 | No files were specified, getting code from prompt. 138 | 139 | prompt: code: "let a=1, b=2; console.alert(1);'" 140 | - jsafer - Command-line input received: 141 | - jsafer - Stage 1 - Obfuscation #1 is done 142 | - jsafer - Stage 2 - Obfuscation #2 is done 143 | - jsafer - Stage 3 - Minifying... 144 | - jsafer - Stage 4 - Obfuscated And Minified: 145 | 146 | var _0x9b94=["31691VFPYXl","15KxXWKQ","e.alert(1)","=2; 147 | ... +_0x556a0e(121)+_0x556a0e(120)+";'"];jsafer,_0x57a5[0]; 148 | 149 | - jsafer - Stage 5 - Done. 150 | ``` 151 | #### Directory Obfuscation 152 | ```shell 153 | % jsafer *.js 154 | 155 | - jsafer - Files to minify: [ 156 | 'obfuscate.js', 157 | 'simple_test.js', 158 | ] 159 | 160 | ... 161 | 381)](t[x(381)](3994,9310),-13268)],((_,r)=>{const c=x,d=_0x2724;if(_)return void console[_0xb827[t[c(387)](t[c(387)](-7876,-8188),t[c(388)](1,16085))]](_);e[t[c(527)](d,411)](obfuscate,r,n)}))}))); 162 | 163 | - jsafer - Stage 5 - Done. 164 | ``` 165 | -------------------------------------------------------------------------------- /obfuscate.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | const jsObfuscator = require('js-obfuscator'); 3 | const JavaScriptObfuscator = require('javascript-obfuscator'); 4 | const minify = require('minify'); 5 | const prompt = require('prompt'); 6 | const fs = require('fs'); 7 | const path = require('path'); 8 | 9 | const obfuscateStep1Options = { 10 | keepLinefeeds: true, 11 | keepIndentations: true, 12 | encodeStrings: true, 13 | encodeNumbers: true, 14 | moveStrings: true, 15 | replaceNames: true, 16 | variableExclusions: ['^_get_', '^_set_', '^_mtd_'] 17 | }; 18 | 19 | const obfuscateStep2Options = { 20 | compact: true, 21 | controlFlowFlattening: true, 22 | controlFlowFlatteningThreshold: 1, 23 | numbersToExpressions: true, 24 | simplify: true, 25 | shuffleStringArray: true, 26 | splitStrings: true, 27 | stringArrayThreshold: 1 28 | }; 29 | 30 | const minifyOptions = { 31 | html: { 32 | removeAttributeQuotes: false, 33 | }, 34 | css: { 35 | compatibility: '*', 36 | }, 37 | js: { 38 | ecma: 5, 39 | }, 40 | img: { 41 | maxSize: 4096, 42 | }, 43 | }; 44 | 45 | /* 46 | Optional configuration: 47 | removeComments: true 48 | removeCommentsFromCDATA: true 49 | removeCDATASectionsFromCDATA: true 50 | collapseWhitespace: true 51 | collapseBooleanAttributes: true 52 | removeAttributeQuotes: true 53 | removeRedundantAttributes: true 54 | useShortDoctype: true 55 | removeEmptyAttributes: true 56 | removeEmptyElements: false 57 | removeOptionalTags: true 58 | removeScriptTypeAttributes: true 59 | removeStyleLinkTypeAttributes: true 60 | minifyJS: true 61 | minifyCSS: true 62 | */ 63 | 64 | 65 | 66 | /* 67 | Obsufcates and minified JS code using different libraries (chaining the outputs) to create a non-readable code, that is hard to understand with commercial decompilers. 68 | The code is finally minified to keep network performance the same. 69 | Good Luck! 70 | */ 71 | const obfuscate = (script, obfuscated_name, steps) => { 72 | jsObfuscator(script, obfuscateStep1Options).then( 73 | function (obfuscated) { 74 | var obfuscationResult = ""; 75 | for (let i = 0; i < steps; i++) { 76 | console.log("- jsafer - Stage " + i + " - First obfuscation is done"); 77 | obfuscationResult = JavaScriptObfuscator.obfuscate( 78 | obfuscated, 79 | obfuscateStep2Options 80 | ); 81 | 82 | obfuscationResult = obfuscationResult.getObfuscatedCode(); 83 | console.log("- jsafer - Stage " + i + " - Second obfuscation is done"); 84 | // console.log(obfuscationResult) 85 | }; 86 | console.log("- jsafer - Stage 3 - Minifying...") 87 | 88 | // Saving to file 89 | const newFileName = path.basename(obfuscated_name).replace(".js", ".obfuscated.js"); 90 | fs.writeFileSync(newFileName, obfuscationResult); 91 | minify(newFileName, minifyOptions) 92 | .then((minifiedCode) => { 93 | console.log("- jsafer - Stage 4 - Obfuscated And Minified:") 94 | console.log() 95 | console.log(minifiedCode) 96 | console.log() 97 | console.log("- jsafer - Stage 5 - Done.") 98 | return minifiedCode; 99 | }) 100 | .catch(console.error); 101 | }, function (err) { 102 | console.error(err); 103 | }); 104 | 105 | }; 106 | 107 | // Entrypoint 108 | const runtimeArgs = process.argv.slice(2); 109 | if (runtimeArgs.length == 0) { 110 | console.warn("No files were specified, getting code from prompt.") 111 | prompt.get(['code'], (err, result) => { 112 | if (err) { 113 | console.error(err); 114 | return 115 | } 116 | 117 | console.log('- jsafer - Command-line input received:'); 118 | obfuscate(result.code, 'script.js', 10); 119 | }) 120 | } 121 | else { 122 | console.log('- jsafer - Files to minify: ', runtimeArgs); 123 | runtimeArgs.forEach(fileName => { 124 | fs.readFile(fileName, 'utf8', (err, data) => { 125 | if (err) { 126 | console.error(err); 127 | return 128 | } 129 | const obfuscated = obfuscate(data, fileName, 10); 130 | return 131 | }) 132 | }); 133 | } -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jsafer", 3 | "version": "1.3.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "jsafer", 9 | "version": "1.3.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "javascript-obfuscator": "^4.0.0", 13 | "js-obfuscator": "^0.1.4", 14 | "minify": "^7.0.1", 15 | "prompt": "^1.1.0" 16 | }, 17 | "bin": { 18 | "jsafer": "obfuscate.js" 19 | } 20 | }, 21 | "node_modules/@colors/colors": { 22 | "version": "1.5.0", 23 | "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", 24 | "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", 25 | "engines": { 26 | "node": ">=0.1.90" 27 | } 28 | }, 29 | "node_modules/@javascript-obfuscator/escodegen": { 30 | "version": "2.3.0", 31 | "resolved": "https://registry.npmjs.org/@javascript-obfuscator/escodegen/-/escodegen-2.3.0.tgz", 32 | "integrity": "sha512-QVXwMIKqYMl3KwtTirYIA6gOCiJ0ZDtptXqAv/8KWLG9uQU2fZqTVy7a/A5RvcoZhbDoFfveTxuGxJ5ibzQtkw==", 33 | "dependencies": { 34 | "@javascript-obfuscator/estraverse": "^5.3.0", 35 | "esprima": "^4.0.1", 36 | "esutils": "^2.0.2", 37 | "optionator": "^0.8.1" 38 | }, 39 | "engines": { 40 | "node": ">=6.0" 41 | }, 42 | "optionalDependencies": { 43 | "source-map": "~0.6.1" 44 | } 45 | }, 46 | "node_modules/@javascript-obfuscator/estraverse": { 47 | "version": "5.4.0", 48 | "resolved": "https://registry.npmjs.org/@javascript-obfuscator/estraverse/-/estraverse-5.4.0.tgz", 49 | "integrity": "sha512-CZFX7UZVN9VopGbjTx4UXaXsi9ewoM1buL0kY7j1ftYdSs7p2spv9opxFjHlQ/QGTgh4UqufYqJJ0WKLml7b6w==", 50 | "engines": { 51 | "node": ">=4.0" 52 | } 53 | }, 54 | "node_modules/@types/minimatch": { 55 | "version": "3.0.4", 56 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", 57 | "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" 58 | }, 59 | "node_modules/acorn": { 60 | "version": "8.7.0", 61 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", 62 | "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", 63 | "bin": { 64 | "acorn": "bin/acorn" 65 | }, 66 | "engines": { 67 | "node": ">=0.4.0" 68 | } 69 | }, 70 | "node_modules/ansi-styles": { 71 | "version": "4.3.0", 72 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 73 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 74 | "dependencies": { 75 | "color-convert": "^2.0.1" 76 | }, 77 | "engines": { 78 | "node": ">=8" 79 | }, 80 | "funding": { 81 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 82 | } 83 | }, 84 | "node_modules/array-differ": { 85 | "version": "3.0.0", 86 | "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", 87 | "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", 88 | "engines": { 89 | "node": ">=8" 90 | } 91 | }, 92 | "node_modules/array-filter": { 93 | "version": "1.0.0", 94 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", 95 | "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" 96 | }, 97 | "node_modules/array-union": { 98 | "version": "2.1.0", 99 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 100 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", 101 | "engines": { 102 | "node": ">=8" 103 | } 104 | }, 105 | "node_modules/arrify": { 106 | "version": "2.0.1", 107 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", 108 | "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", 109 | "engines": { 110 | "node": ">=8" 111 | } 112 | }, 113 | "node_modules/assert": { 114 | "version": "2.0.0", 115 | "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", 116 | "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", 117 | "dependencies": { 118 | "es6-object-assign": "^1.1.0", 119 | "is-nan": "^1.2.1", 120 | "object-is": "^1.0.1", 121 | "util": "^0.12.0" 122 | } 123 | }, 124 | "node_modules/async": { 125 | "version": "0.9.2", 126 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", 127 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" 128 | }, 129 | "node_modules/available-typed-arrays": { 130 | "version": "1.0.2", 131 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", 132 | "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", 133 | "dependencies": { 134 | "array-filter": "^1.0.0" 135 | }, 136 | "engines": { 137 | "node": ">= 0.4" 138 | }, 139 | "funding": { 140 | "url": "https://github.com/sponsors/ljharb" 141 | } 142 | }, 143 | "node_modules/balanced-match": { 144 | "version": "1.0.0", 145 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 146 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 147 | }, 148 | "node_modules/brace-expansion": { 149 | "version": "1.1.11", 150 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 151 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 152 | "dependencies": { 153 | "balanced-match": "^1.0.0", 154 | "concat-map": "0.0.1" 155 | } 156 | }, 157 | "node_modules/buffer-from": { 158 | "version": "1.1.1", 159 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 160 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" 161 | }, 162 | "node_modules/call-bind": { 163 | "version": "1.0.2", 164 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 165 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 166 | "dependencies": { 167 | "function-bind": "^1.1.1", 168 | "get-intrinsic": "^1.0.2" 169 | }, 170 | "funding": { 171 | "url": "https://github.com/sponsors/ljharb" 172 | } 173 | }, 174 | "node_modules/camel-case": { 175 | "version": "4.1.2", 176 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", 177 | "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", 178 | "dependencies": { 179 | "pascal-case": "^3.1.2", 180 | "tslib": "^2.0.3" 181 | } 182 | }, 183 | "node_modules/chalk": { 184 | "version": "4.1.2", 185 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 186 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 187 | "dependencies": { 188 | "ansi-styles": "^4.1.0", 189 | "supports-color": "^7.1.0" 190 | }, 191 | "engines": { 192 | "node": ">=10" 193 | }, 194 | "funding": { 195 | "url": "https://github.com/chalk/chalk?sponsor=1" 196 | } 197 | }, 198 | "node_modules/chance": { 199 | "version": "1.1.8", 200 | "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.8.tgz", 201 | "integrity": "sha512-v7fi5Hj2VbR6dJEGRWLmJBA83LJMS47pkAbmROFxHWd9qmE1esHRZW8Clf1Fhzr3rjxnNZVCjOEv/ivFxeIMtg==" 202 | }, 203 | "node_modules/char-regex": { 204 | "version": "1.0.2", 205 | "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", 206 | "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", 207 | "engines": { 208 | "node": ">=10" 209 | } 210 | }, 211 | "node_modules/char-spinner": { 212 | "version": "1.0.1", 213 | "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz", 214 | "integrity": "sha1-5upnvSR+EHESmDt6sEee02KAAIE=" 215 | }, 216 | "node_modules/charenc": { 217 | "version": "0.0.2", 218 | "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", 219 | "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", 220 | "engines": { 221 | "node": "*" 222 | } 223 | }, 224 | "node_modules/class-validator": { 225 | "version": "0.13.2", 226 | "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz", 227 | "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==", 228 | "dependencies": { 229 | "libphonenumber-js": "^1.9.43", 230 | "validator": "^13.7.0" 231 | } 232 | }, 233 | "node_modules/clean-css": { 234 | "version": "5.1.2", 235 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.2.tgz", 236 | "integrity": "sha512-QcaGg9OuMo+0Ds933yLOY+gHPWbxhxqF0HDexmToPf8pczvmvZGYzd+QqWp9/mkucAOKViI+dSFOqoZIvXbeBw==", 237 | "dependencies": { 238 | "source-map": "~0.6.0" 239 | }, 240 | "engines": { 241 | "node": ">= 10.0" 242 | } 243 | }, 244 | "node_modules/color-convert": { 245 | "version": "2.0.1", 246 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 247 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 248 | "dependencies": { 249 | "color-name": "~1.1.4" 250 | }, 251 | "engines": { 252 | "node": ">=7.0.0" 253 | } 254 | }, 255 | "node_modules/color-name": { 256 | "version": "1.1.4", 257 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 258 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 259 | }, 260 | "node_modules/commander": { 261 | "version": "9.0.0", 262 | "resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz", 263 | "integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==", 264 | "engines": { 265 | "node": "^12.20.0 || >=14" 266 | } 267 | }, 268 | "node_modules/concat-map": { 269 | "version": "0.0.1", 270 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 271 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 272 | }, 273 | "node_modules/crypt": { 274 | "version": "0.0.2", 275 | "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", 276 | "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", 277 | "engines": { 278 | "node": "*" 279 | } 280 | }, 281 | "node_modules/css-b64-images": { 282 | "version": "0.2.5", 283 | "resolved": "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz", 284 | "integrity": "sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=", 285 | "bin": { 286 | "css-b64-images": "bin/css-b64-images" 287 | }, 288 | "engines": { 289 | "node": "*" 290 | } 291 | }, 292 | "node_modules/cycle": { 293 | "version": "1.0.3", 294 | "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", 295 | "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=", 296 | "engines": { 297 | "node": ">=0.4.0" 298 | } 299 | }, 300 | "node_modules/debug": { 301 | "version": "4.3.1", 302 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", 303 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", 304 | "dependencies": { 305 | "ms": "2.1.2" 306 | }, 307 | "engines": { 308 | "node": ">=6.0" 309 | }, 310 | "peerDependenciesMeta": { 311 | "supports-color": { 312 | "optional": true 313 | } 314 | } 315 | }, 316 | "node_modules/deep-is": { 317 | "version": "0.1.4", 318 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 319 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" 320 | }, 321 | "node_modules/define-properties": { 322 | "version": "1.1.3", 323 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 324 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 325 | "dependencies": { 326 | "object-keys": "^1.0.12" 327 | }, 328 | "engines": { 329 | "node": ">= 0.4" 330 | } 331 | }, 332 | "node_modules/dom-serializer": { 333 | "version": "0.2.2", 334 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", 335 | "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", 336 | "dependencies": { 337 | "domelementtype": "^2.0.1", 338 | "entities": "^2.0.0" 339 | } 340 | }, 341 | "node_modules/dom-serializer/node_modules/domelementtype": { 342 | "version": "2.2.0", 343 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", 344 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", 345 | "funding": [ 346 | { 347 | "type": "github", 348 | "url": "https://github.com/sponsors/fb55" 349 | } 350 | ] 351 | }, 352 | "node_modules/dom-serializer/node_modules/entities": { 353 | "version": "2.2.0", 354 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 355 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", 356 | "funding": { 357 | "url": "https://github.com/fb55/entities?sponsor=1" 358 | } 359 | }, 360 | "node_modules/domelementtype": { 361 | "version": "1.3.1", 362 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", 363 | "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" 364 | }, 365 | "node_modules/domhandler": { 366 | "version": "2.4.2", 367 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", 368 | "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", 369 | "dependencies": { 370 | "domelementtype": "1" 371 | } 372 | }, 373 | "node_modules/domutils": { 374 | "version": "1.7.0", 375 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", 376 | "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", 377 | "dependencies": { 378 | "dom-serializer": "0", 379 | "domelementtype": "1" 380 | } 381 | }, 382 | "node_modules/dot-case": { 383 | "version": "3.0.4", 384 | "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", 385 | "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", 386 | "dependencies": { 387 | "no-case": "^3.0.4", 388 | "tslib": "^2.0.3" 389 | } 390 | }, 391 | "node_modules/entities": { 392 | "version": "1.1.2", 393 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", 394 | "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" 395 | }, 396 | "node_modules/es-abstract": { 397 | "version": "1.18.0", 398 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", 399 | "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", 400 | "dependencies": { 401 | "call-bind": "^1.0.2", 402 | "es-to-primitive": "^1.2.1", 403 | "function-bind": "^1.1.1", 404 | "get-intrinsic": "^1.1.1", 405 | "has": "^1.0.3", 406 | "has-symbols": "^1.0.2", 407 | "is-callable": "^1.2.3", 408 | "is-negative-zero": "^2.0.1", 409 | "is-regex": "^1.1.2", 410 | "is-string": "^1.0.5", 411 | "object-inspect": "^1.9.0", 412 | "object-keys": "^1.1.1", 413 | "object.assign": "^4.1.2", 414 | "string.prototype.trimend": "^1.0.4", 415 | "string.prototype.trimstart": "^1.0.4", 416 | "unbox-primitive": "^1.0.0" 417 | }, 418 | "engines": { 419 | "node": ">= 0.4" 420 | }, 421 | "funding": { 422 | "url": "https://github.com/sponsors/ljharb" 423 | } 424 | }, 425 | "node_modules/es-to-primitive": { 426 | "version": "1.2.1", 427 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 428 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 429 | "dependencies": { 430 | "is-callable": "^1.1.4", 431 | "is-date-object": "^1.0.1", 432 | "is-symbol": "^1.0.2" 433 | }, 434 | "engines": { 435 | "node": ">= 0.4" 436 | }, 437 | "funding": { 438 | "url": "https://github.com/sponsors/ljharb" 439 | } 440 | }, 441 | "node_modules/es6-object-assign": { 442 | "version": "1.1.0", 443 | "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", 444 | "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" 445 | }, 446 | "node_modules/eslint-scope": { 447 | "version": "7.1.0", 448 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", 449 | "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", 450 | "dependencies": { 451 | "esrecurse": "^4.3.0", 452 | "estraverse": "^5.2.0" 453 | }, 454 | "engines": { 455 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 456 | } 457 | }, 458 | "node_modules/eslint-visitor-keys": { 459 | "version": "3.2.0", 460 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", 461 | "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", 462 | "engines": { 463 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 464 | } 465 | }, 466 | "node_modules/esprima": { 467 | "version": "4.0.1", 468 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 469 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", 470 | "bin": { 471 | "esparse": "bin/esparse.js", 472 | "esvalidate": "bin/esvalidate.js" 473 | }, 474 | "engines": { 475 | "node": ">=4" 476 | } 477 | }, 478 | "node_modules/esrecurse": { 479 | "version": "4.3.0", 480 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 481 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 482 | "dependencies": { 483 | "estraverse": "^5.2.0" 484 | }, 485 | "engines": { 486 | "node": ">=4.0" 487 | } 488 | }, 489 | "node_modules/estraverse": { 490 | "version": "5.3.0", 491 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 492 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", 493 | "engines": { 494 | "node": ">=4.0" 495 | } 496 | }, 497 | "node_modules/esutils": { 498 | "version": "2.0.3", 499 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 500 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 501 | "engines": { 502 | "node": ">=0.10.0" 503 | } 504 | }, 505 | "node_modules/eyes": { 506 | "version": "0.1.8", 507 | "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", 508 | "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=", 509 | "engines": { 510 | "node": "> 0.1.90" 511 | } 512 | }, 513 | "node_modules/fast-deep-equal": { 514 | "version": "3.1.3", 515 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 516 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 517 | }, 518 | "node_modules/fast-levenshtein": { 519 | "version": "2.0.6", 520 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 521 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" 522 | }, 523 | "node_modules/foreach": { 524 | "version": "2.0.5", 525 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", 526 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" 527 | }, 528 | "node_modules/function-bind": { 529 | "version": "1.1.1", 530 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 531 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 532 | }, 533 | "node_modules/get-intrinsic": { 534 | "version": "1.1.1", 535 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 536 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 537 | "dependencies": { 538 | "function-bind": "^1.1.1", 539 | "has": "^1.0.3", 540 | "has-symbols": "^1.0.1" 541 | }, 542 | "funding": { 543 | "url": "https://github.com/sponsors/ljharb" 544 | } 545 | }, 546 | "node_modules/has": { 547 | "version": "1.0.3", 548 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 549 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 550 | "dependencies": { 551 | "function-bind": "^1.1.1" 552 | }, 553 | "engines": { 554 | "node": ">= 0.4.0" 555 | } 556 | }, 557 | "node_modules/has-bigints": { 558 | "version": "1.0.1", 559 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", 560 | "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", 561 | "funding": { 562 | "url": "https://github.com/sponsors/ljharb" 563 | } 564 | }, 565 | "node_modules/has-flag": { 566 | "version": "4.0.0", 567 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 568 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 569 | "engines": { 570 | "node": ">=8" 571 | } 572 | }, 573 | "node_modules/has-symbols": { 574 | "version": "1.0.2", 575 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", 576 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", 577 | "engines": { 578 | "node": ">= 0.4" 579 | }, 580 | "funding": { 581 | "url": "https://github.com/sponsors/ljharb" 582 | } 583 | }, 584 | "node_modules/he": { 585 | "version": "1.2.0", 586 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 587 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 588 | "bin": { 589 | "he": "bin/he" 590 | } 591 | }, 592 | "node_modules/html-minifier-terser": { 593 | "version": "5.1.1", 594 | "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", 595 | "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", 596 | "dependencies": { 597 | "camel-case": "^4.1.1", 598 | "clean-css": "^4.2.3", 599 | "commander": "^4.1.1", 600 | "he": "^1.2.0", 601 | "param-case": "^3.0.3", 602 | "relateurl": "^0.2.7", 603 | "terser": "^4.6.3" 604 | }, 605 | "bin": { 606 | "html-minifier-terser": "cli.js" 607 | }, 608 | "engines": { 609 | "node": ">=6" 610 | } 611 | }, 612 | "node_modules/html-minifier-terser/node_modules/clean-css": { 613 | "version": "4.2.3", 614 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", 615 | "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", 616 | "dependencies": { 617 | "source-map": "~0.6.0" 618 | }, 619 | "engines": { 620 | "node": ">= 4.0" 621 | } 622 | }, 623 | "node_modules/html-minifier-terser/node_modules/commander": { 624 | "version": "4.1.1", 625 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 626 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 627 | "engines": { 628 | "node": ">= 6" 629 | } 630 | }, 631 | "node_modules/html-minifier-terser/node_modules/terser": { 632 | "version": "4.8.0", 633 | "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", 634 | "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", 635 | "dependencies": { 636 | "commander": "^2.20.0", 637 | "source-map": "~0.6.1", 638 | "source-map-support": "~0.5.12" 639 | }, 640 | "bin": { 641 | "terser": "bin/terser" 642 | }, 643 | "engines": { 644 | "node": ">=6.0.0" 645 | } 646 | }, 647 | "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": { 648 | "version": "2.20.3", 649 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 650 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 651 | }, 652 | "node_modules/htmlparser2": { 653 | "version": "3.10.1", 654 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", 655 | "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", 656 | "dependencies": { 657 | "domelementtype": "^1.3.1", 658 | "domhandler": "^2.3.0", 659 | "domutils": "^1.5.1", 660 | "entities": "^1.1.1", 661 | "inherits": "^2.0.1", 662 | "readable-stream": "^3.1.1" 663 | } 664 | }, 665 | "node_modules/inherits": { 666 | "version": "2.0.4", 667 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 668 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 669 | }, 670 | "node_modules/inversify": { 671 | "version": "6.0.1", 672 | "resolved": "https://registry.npmjs.org/inversify/-/inversify-6.0.1.tgz", 673 | "integrity": "sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==" 674 | }, 675 | "node_modules/is-arguments": { 676 | "version": "1.1.0", 677 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", 678 | "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", 679 | "dependencies": { 680 | "call-bind": "^1.0.0" 681 | }, 682 | "engines": { 683 | "node": ">= 0.4" 684 | }, 685 | "funding": { 686 | "url": "https://github.com/sponsors/ljharb" 687 | } 688 | }, 689 | "node_modules/is-bigint": { 690 | "version": "1.0.1", 691 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", 692 | "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==", 693 | "funding": { 694 | "url": "https://github.com/sponsors/ljharb" 695 | } 696 | }, 697 | "node_modules/is-boolean-object": { 698 | "version": "1.1.0", 699 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", 700 | "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", 701 | "dependencies": { 702 | "call-bind": "^1.0.0" 703 | }, 704 | "engines": { 705 | "node": ">= 0.4" 706 | }, 707 | "funding": { 708 | "url": "https://github.com/sponsors/ljharb" 709 | } 710 | }, 711 | "node_modules/is-buffer": { 712 | "version": "1.1.6", 713 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 714 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 715 | }, 716 | "node_modules/is-callable": { 717 | "version": "1.2.3", 718 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", 719 | "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", 720 | "engines": { 721 | "node": ">= 0.4" 722 | }, 723 | "funding": { 724 | "url": "https://github.com/sponsors/ljharb" 725 | } 726 | }, 727 | "node_modules/is-date-object": { 728 | "version": "1.0.2", 729 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 730 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", 731 | "engines": { 732 | "node": ">= 0.4" 733 | }, 734 | "funding": { 735 | "url": "https://github.com/sponsors/ljharb" 736 | } 737 | }, 738 | "node_modules/is-generator-function": { 739 | "version": "1.0.8", 740 | "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", 741 | "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==", 742 | "engines": { 743 | "node": ">= 0.4" 744 | }, 745 | "funding": { 746 | "url": "https://github.com/sponsors/ljharb" 747 | } 748 | }, 749 | "node_modules/is-nan": { 750 | "version": "1.3.2", 751 | "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", 752 | "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", 753 | "dependencies": { 754 | "call-bind": "^1.0.0", 755 | "define-properties": "^1.1.3" 756 | }, 757 | "engines": { 758 | "node": ">= 0.4" 759 | }, 760 | "funding": { 761 | "url": "https://github.com/sponsors/ljharb" 762 | } 763 | }, 764 | "node_modules/is-negative-zero": { 765 | "version": "2.0.1", 766 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", 767 | "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", 768 | "engines": { 769 | "node": ">= 0.4" 770 | }, 771 | "funding": { 772 | "url": "https://github.com/sponsors/ljharb" 773 | } 774 | }, 775 | "node_modules/is-number-object": { 776 | "version": "1.0.4", 777 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", 778 | "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==", 779 | "engines": { 780 | "node": ">= 0.4" 781 | }, 782 | "funding": { 783 | "url": "https://github.com/sponsors/ljharb" 784 | } 785 | }, 786 | "node_modules/is-regex": { 787 | "version": "1.1.2", 788 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", 789 | "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", 790 | "dependencies": { 791 | "call-bind": "^1.0.2", 792 | "has-symbols": "^1.0.1" 793 | }, 794 | "engines": { 795 | "node": ">= 0.4" 796 | }, 797 | "funding": { 798 | "url": "https://github.com/sponsors/ljharb" 799 | } 800 | }, 801 | "node_modules/is-string": { 802 | "version": "1.0.5", 803 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", 804 | "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", 805 | "engines": { 806 | "node": ">= 0.4" 807 | }, 808 | "funding": { 809 | "url": "https://github.com/sponsors/ljharb" 810 | } 811 | }, 812 | "node_modules/is-symbol": { 813 | "version": "1.0.3", 814 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 815 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 816 | "dependencies": { 817 | "has-symbols": "^1.0.1" 818 | }, 819 | "engines": { 820 | "node": ">= 0.4" 821 | }, 822 | "funding": { 823 | "url": "https://github.com/sponsors/ljharb" 824 | } 825 | }, 826 | "node_modules/is-typed-array": { 827 | "version": "1.1.5", 828 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", 829 | "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", 830 | "dependencies": { 831 | "available-typed-arrays": "^1.0.2", 832 | "call-bind": "^1.0.2", 833 | "es-abstract": "^1.18.0-next.2", 834 | "foreach": "^2.0.5", 835 | "has-symbols": "^1.0.1" 836 | }, 837 | "engines": { 838 | "node": ">= 0.4" 839 | }, 840 | "funding": { 841 | "url": "https://github.com/sponsors/ljharb" 842 | } 843 | }, 844 | "node_modules/isstream": { 845 | "version": "0.1.2", 846 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 847 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 848 | }, 849 | "node_modules/javascript-obfuscator": { 850 | "version": "4.0.0", 851 | "resolved": "https://registry.npmjs.org/javascript-obfuscator/-/javascript-obfuscator-4.0.0.tgz", 852 | "integrity": "sha512-vS/8w/9eKISzwXNLd+OLMCCwjD+dFMdOlCDOo919iR/MWdBs+7u1ybpwRoWOmODToPQKVYw5GasvZoIiPs5nPw==", 853 | "hasInstallScript": true, 854 | "dependencies": { 855 | "@javascript-obfuscator/escodegen": "2.3.0", 856 | "@javascript-obfuscator/estraverse": "5.4.0", 857 | "acorn": "8.7.0", 858 | "assert": "2.0.0", 859 | "chalk": "4.1.2", 860 | "chance": "1.1.8", 861 | "class-validator": "0.13.2", 862 | "commander": "9.0.0", 863 | "eslint-scope": "7.1.0", 864 | "eslint-visitor-keys": "3.2.0", 865 | "fast-deep-equal": "3.1.3", 866 | "inversify": "6.0.1", 867 | "js-string-escape": "1.0.1", 868 | "md5": "2.3.0", 869 | "mkdirp": "1.0.4", 870 | "multimatch": "5.0.0", 871 | "opencollective-postinstall": "2.0.3", 872 | "process": "0.11.10", 873 | "reflect-metadata": "0.1.13", 874 | "source-map-support": "0.5.21", 875 | "string-template": "1.0.0", 876 | "stringz": "2.1.0", 877 | "tslib": "2.3.1" 878 | }, 879 | "bin": { 880 | "javascript-obfuscator": "bin/javascript-obfuscator" 881 | }, 882 | "engines": { 883 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 884 | }, 885 | "funding": { 886 | "type": "opencollective", 887 | "url": "https://opencollective.com/javascript-obfuscator" 888 | } 889 | }, 890 | "node_modules/js-obfuscator": { 891 | "version": "0.1.4", 892 | "resolved": "https://registry.npmjs.org/js-obfuscator/-/js-obfuscator-0.1.4.tgz", 893 | "integrity": "sha512-OpiUSofa3fkDvS+iPm6CB8gfaYzdgrIk/2R9057PNx/Hlj7LqzoEGCEXmrCvgCo4RbWN7nkwyz96IQeSNOqmxg==", 894 | "dependencies": { 895 | "async": "^0.9.0", 896 | "char-spinner": "^1.0.1", 897 | "entities": "^1.1.1", 898 | "htmlparser2": "^3.7.2", 899 | "q": "^1.0.1" 900 | }, 901 | "bin": { 902 | "jsobfuscate": "bin/jsobfuscate" 903 | } 904 | }, 905 | "node_modules/js-string-escape": { 906 | "version": "1.0.1", 907 | "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", 908 | "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=", 909 | "engines": { 910 | "node": ">= 0.8" 911 | } 912 | }, 913 | "node_modules/levn": { 914 | "version": "0.3.0", 915 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 916 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 917 | "dependencies": { 918 | "prelude-ls": "~1.1.2", 919 | "type-check": "~0.3.2" 920 | }, 921 | "engines": { 922 | "node": ">= 0.8.0" 923 | } 924 | }, 925 | "node_modules/libphonenumber-js": { 926 | "version": "1.9.53", 927 | "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.53.tgz", 928 | "integrity": "sha512-3cuMrA2CY3TbKVC0wKye5dXYgxmVVi4g13gzotprQSguFHMqf0pIrMM2Z6ZtMsSWqvtIqi5TuQhGjMhxz0O9Mw==" 929 | }, 930 | "node_modules/lower-case": { 931 | "version": "2.0.2", 932 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", 933 | "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", 934 | "dependencies": { 935 | "tslib": "^2.0.3" 936 | } 937 | }, 938 | "node_modules/md5": { 939 | "version": "2.3.0", 940 | "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", 941 | "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", 942 | "dependencies": { 943 | "charenc": "0.0.2", 944 | "crypt": "0.0.2", 945 | "is-buffer": "~1.1.6" 946 | } 947 | }, 948 | "node_modules/minify": { 949 | "version": "7.0.1", 950 | "resolved": "https://registry.npmjs.org/minify/-/minify-7.0.1.tgz", 951 | "integrity": "sha512-U3CjnPKRjPu3DxZX7NsB833r2ijbw9af3fHsaChn6o7BHKvaT/zxYDQ8Q/3W7VFXGDrnkAx6XBx3ggEf5KJm7A==", 952 | "dependencies": { 953 | "clean-css": "^5.0.1", 954 | "css-b64-images": "~0.2.5", 955 | "debug": "^4.1.0", 956 | "html-minifier-terser": "^5.1.1", 957 | "terser": "^5.3.2", 958 | "try-to-catch": "^3.0.0" 959 | }, 960 | "bin": { 961 | "minify": "bin/minify.js" 962 | }, 963 | "engines": { 964 | "node": ">=14" 965 | } 966 | }, 967 | "node_modules/minimatch": { 968 | "version": "3.0.4", 969 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 970 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 971 | "dependencies": { 972 | "brace-expansion": "^1.1.7" 973 | }, 974 | "engines": { 975 | "node": "*" 976 | } 977 | }, 978 | "node_modules/mkdirp": { 979 | "version": "1.0.4", 980 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 981 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 982 | "bin": { 983 | "mkdirp": "bin/cmd.js" 984 | }, 985 | "engines": { 986 | "node": ">=10" 987 | } 988 | }, 989 | "node_modules/ms": { 990 | "version": "2.1.2", 991 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 992 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 993 | }, 994 | "node_modules/multimatch": { 995 | "version": "5.0.0", 996 | "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", 997 | "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", 998 | "dependencies": { 999 | "@types/minimatch": "^3.0.3", 1000 | "array-differ": "^3.0.0", 1001 | "array-union": "^2.1.0", 1002 | "arrify": "^2.0.1", 1003 | "minimatch": "^3.0.4" 1004 | }, 1005 | "engines": { 1006 | "node": ">=10" 1007 | }, 1008 | "funding": { 1009 | "url": "https://github.com/sponsors/sindresorhus" 1010 | } 1011 | }, 1012 | "node_modules/mute-stream": { 1013 | "version": "0.0.8", 1014 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 1015 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" 1016 | }, 1017 | "node_modules/no-case": { 1018 | "version": "3.0.4", 1019 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", 1020 | "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", 1021 | "dependencies": { 1022 | "lower-case": "^2.0.2", 1023 | "tslib": "^2.0.3" 1024 | } 1025 | }, 1026 | "node_modules/object-inspect": { 1027 | "version": "1.9.0", 1028 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", 1029 | "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", 1030 | "funding": { 1031 | "url": "https://github.com/sponsors/ljharb" 1032 | } 1033 | }, 1034 | "node_modules/object-is": { 1035 | "version": "1.1.5", 1036 | "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", 1037 | "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", 1038 | "dependencies": { 1039 | "call-bind": "^1.0.2", 1040 | "define-properties": "^1.1.3" 1041 | }, 1042 | "engines": { 1043 | "node": ">= 0.4" 1044 | }, 1045 | "funding": { 1046 | "url": "https://github.com/sponsors/ljharb" 1047 | } 1048 | }, 1049 | "node_modules/object-keys": { 1050 | "version": "1.1.1", 1051 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 1052 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 1053 | "engines": { 1054 | "node": ">= 0.4" 1055 | } 1056 | }, 1057 | "node_modules/object.assign": { 1058 | "version": "4.1.2", 1059 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", 1060 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", 1061 | "dependencies": { 1062 | "call-bind": "^1.0.0", 1063 | "define-properties": "^1.1.3", 1064 | "has-symbols": "^1.0.1", 1065 | "object-keys": "^1.1.1" 1066 | }, 1067 | "engines": { 1068 | "node": ">= 0.4" 1069 | }, 1070 | "funding": { 1071 | "url": "https://github.com/sponsors/ljharb" 1072 | } 1073 | }, 1074 | "node_modules/opencollective-postinstall": { 1075 | "version": "2.0.3", 1076 | "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", 1077 | "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", 1078 | "bin": { 1079 | "opencollective-postinstall": "index.js" 1080 | } 1081 | }, 1082 | "node_modules/optionator": { 1083 | "version": "0.8.3", 1084 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 1085 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 1086 | "dependencies": { 1087 | "deep-is": "~0.1.3", 1088 | "fast-levenshtein": "~2.0.6", 1089 | "levn": "~0.3.0", 1090 | "prelude-ls": "~1.1.2", 1091 | "type-check": "~0.3.2", 1092 | "word-wrap": "~1.2.3" 1093 | }, 1094 | "engines": { 1095 | "node": ">= 0.8.0" 1096 | } 1097 | }, 1098 | "node_modules/param-case": { 1099 | "version": "3.0.4", 1100 | "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", 1101 | "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", 1102 | "dependencies": { 1103 | "dot-case": "^3.0.4", 1104 | "tslib": "^2.0.3" 1105 | } 1106 | }, 1107 | "node_modules/pascal-case": { 1108 | "version": "3.1.2", 1109 | "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", 1110 | "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", 1111 | "dependencies": { 1112 | "no-case": "^3.0.4", 1113 | "tslib": "^2.0.3" 1114 | } 1115 | }, 1116 | "node_modules/prelude-ls": { 1117 | "version": "1.1.2", 1118 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 1119 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", 1120 | "engines": { 1121 | "node": ">= 0.8.0" 1122 | } 1123 | }, 1124 | "node_modules/process": { 1125 | "version": "0.11.10", 1126 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 1127 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", 1128 | "engines": { 1129 | "node": ">= 0.6.0" 1130 | } 1131 | }, 1132 | "node_modules/prompt": { 1133 | "version": "1.3.0", 1134 | "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz", 1135 | "integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==", 1136 | "dependencies": { 1137 | "@colors/colors": "1.5.0", 1138 | "async": "3.2.3", 1139 | "read": "1.0.x", 1140 | "revalidator": "0.1.x", 1141 | "winston": "2.x" 1142 | }, 1143 | "engines": { 1144 | "node": ">= 6.0.0" 1145 | } 1146 | }, 1147 | "node_modules/prompt/node_modules/async": { 1148 | "version": "3.2.3", 1149 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", 1150 | "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" 1151 | }, 1152 | "node_modules/q": { 1153 | "version": "1.5.1", 1154 | "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", 1155 | "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", 1156 | "engines": { 1157 | "node": ">=0.6.0", 1158 | "teleport": ">=0.2.0" 1159 | } 1160 | }, 1161 | "node_modules/read": { 1162 | "version": "1.0.7", 1163 | "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 1164 | "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", 1165 | "dependencies": { 1166 | "mute-stream": "~0.0.4" 1167 | }, 1168 | "engines": { 1169 | "node": ">=0.8" 1170 | } 1171 | }, 1172 | "node_modules/readable-stream": { 1173 | "version": "3.6.0", 1174 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1175 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1176 | "dependencies": { 1177 | "inherits": "^2.0.3", 1178 | "string_decoder": "^1.1.1", 1179 | "util-deprecate": "^1.0.1" 1180 | }, 1181 | "engines": { 1182 | "node": ">= 6" 1183 | } 1184 | }, 1185 | "node_modules/reflect-metadata": { 1186 | "version": "0.1.13", 1187 | "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", 1188 | "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" 1189 | }, 1190 | "node_modules/relateurl": { 1191 | "version": "0.2.7", 1192 | "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", 1193 | "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", 1194 | "engines": { 1195 | "node": ">= 0.10" 1196 | } 1197 | }, 1198 | "node_modules/revalidator": { 1199 | "version": "0.1.8", 1200 | "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", 1201 | "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=", 1202 | "engines": { 1203 | "node": ">= 0.4.0" 1204 | } 1205 | }, 1206 | "node_modules/safe-buffer": { 1207 | "version": "5.2.1", 1208 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1209 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 1210 | "funding": [ 1211 | { 1212 | "type": "github", 1213 | "url": "https://github.com/sponsors/feross" 1214 | }, 1215 | { 1216 | "type": "patreon", 1217 | "url": "https://www.patreon.com/feross" 1218 | }, 1219 | { 1220 | "type": "consulting", 1221 | "url": "https://feross.org/support" 1222 | } 1223 | ] 1224 | }, 1225 | "node_modules/source-map": { 1226 | "version": "0.6.1", 1227 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1228 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1229 | "engines": { 1230 | "node": ">=0.10.0" 1231 | } 1232 | }, 1233 | "node_modules/source-map-support": { 1234 | "version": "0.5.21", 1235 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 1236 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 1237 | "dependencies": { 1238 | "buffer-from": "^1.0.0", 1239 | "source-map": "^0.6.0" 1240 | } 1241 | }, 1242 | "node_modules/stack-trace": { 1243 | "version": "0.0.10", 1244 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 1245 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", 1246 | "engines": { 1247 | "node": "*" 1248 | } 1249 | }, 1250 | "node_modules/string_decoder": { 1251 | "version": "1.3.0", 1252 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1253 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1254 | "dependencies": { 1255 | "safe-buffer": "~5.2.0" 1256 | } 1257 | }, 1258 | "node_modules/string-template": { 1259 | "version": "1.0.0", 1260 | "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz", 1261 | "integrity": "sha1-np8iM9wA8hhxjsN5oopWc+zKi5Y=" 1262 | }, 1263 | "node_modules/string.prototype.trimend": { 1264 | "version": "1.0.4", 1265 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", 1266 | "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", 1267 | "dependencies": { 1268 | "call-bind": "^1.0.2", 1269 | "define-properties": "^1.1.3" 1270 | }, 1271 | "funding": { 1272 | "url": "https://github.com/sponsors/ljharb" 1273 | } 1274 | }, 1275 | "node_modules/string.prototype.trimstart": { 1276 | "version": "1.0.4", 1277 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", 1278 | "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", 1279 | "dependencies": { 1280 | "call-bind": "^1.0.2", 1281 | "define-properties": "^1.1.3" 1282 | }, 1283 | "funding": { 1284 | "url": "https://github.com/sponsors/ljharb" 1285 | } 1286 | }, 1287 | "node_modules/stringz": { 1288 | "version": "2.1.0", 1289 | "resolved": "https://registry.npmjs.org/stringz/-/stringz-2.1.0.tgz", 1290 | "integrity": "sha512-KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A==", 1291 | "dependencies": { 1292 | "char-regex": "^1.0.2" 1293 | } 1294 | }, 1295 | "node_modules/supports-color": { 1296 | "version": "7.2.0", 1297 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1298 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1299 | "dependencies": { 1300 | "has-flag": "^4.0.0" 1301 | }, 1302 | "engines": { 1303 | "node": ">=8" 1304 | } 1305 | }, 1306 | "node_modules/terser": { 1307 | "version": "5.6.1", 1308 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", 1309 | "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", 1310 | "dependencies": { 1311 | "commander": "^2.20.0", 1312 | "source-map": "~0.7.2", 1313 | "source-map-support": "~0.5.19" 1314 | }, 1315 | "bin": { 1316 | "terser": "bin/terser" 1317 | }, 1318 | "engines": { 1319 | "node": ">=10" 1320 | } 1321 | }, 1322 | "node_modules/terser/node_modules/commander": { 1323 | "version": "2.20.3", 1324 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 1325 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 1326 | }, 1327 | "node_modules/terser/node_modules/source-map": { 1328 | "version": "0.7.3", 1329 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", 1330 | "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", 1331 | "engines": { 1332 | "node": ">= 8" 1333 | } 1334 | }, 1335 | "node_modules/try-to-catch": { 1336 | "version": "3.0.0", 1337 | "resolved": "https://registry.npmjs.org/try-to-catch/-/try-to-catch-3.0.0.tgz", 1338 | "integrity": "sha512-eIm6ZXwR35jVF8By/HdbbkcaCDTBI5PpCPkejRKrYp0jyf/DbCCcRhHD7/O9jtFI3ewsqo9WctFEiJTS6i+CQA==", 1339 | "engines": { 1340 | "node": ">=6" 1341 | } 1342 | }, 1343 | "node_modules/tslib": { 1344 | "version": "2.3.1", 1345 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 1346 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" 1347 | }, 1348 | "node_modules/type-check": { 1349 | "version": "0.3.2", 1350 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 1351 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 1352 | "dependencies": { 1353 | "prelude-ls": "~1.1.2" 1354 | }, 1355 | "engines": { 1356 | "node": ">= 0.8.0" 1357 | } 1358 | }, 1359 | "node_modules/unbox-primitive": { 1360 | "version": "1.0.1", 1361 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", 1362 | "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", 1363 | "dependencies": { 1364 | "function-bind": "^1.1.1", 1365 | "has-bigints": "^1.0.1", 1366 | "has-symbols": "^1.0.2", 1367 | "which-boxed-primitive": "^1.0.2" 1368 | }, 1369 | "funding": { 1370 | "url": "https://github.com/sponsors/ljharb" 1371 | } 1372 | }, 1373 | "node_modules/util": { 1374 | "version": "0.12.3", 1375 | "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", 1376 | "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", 1377 | "dependencies": { 1378 | "inherits": "^2.0.3", 1379 | "is-arguments": "^1.0.4", 1380 | "is-generator-function": "^1.0.7", 1381 | "is-typed-array": "^1.1.3", 1382 | "safe-buffer": "^5.1.2", 1383 | "which-typed-array": "^1.1.2" 1384 | } 1385 | }, 1386 | "node_modules/util-deprecate": { 1387 | "version": "1.0.2", 1388 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1389 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1390 | }, 1391 | "node_modules/validator": { 1392 | "version": "13.7.0", 1393 | "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", 1394 | "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", 1395 | "engines": { 1396 | "node": ">= 0.10" 1397 | } 1398 | }, 1399 | "node_modules/which-boxed-primitive": { 1400 | "version": "1.0.2", 1401 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 1402 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 1403 | "dependencies": { 1404 | "is-bigint": "^1.0.1", 1405 | "is-boolean-object": "^1.1.0", 1406 | "is-number-object": "^1.0.4", 1407 | "is-string": "^1.0.5", 1408 | "is-symbol": "^1.0.3" 1409 | }, 1410 | "funding": { 1411 | "url": "https://github.com/sponsors/ljharb" 1412 | } 1413 | }, 1414 | "node_modules/which-typed-array": { 1415 | "version": "1.1.4", 1416 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", 1417 | "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", 1418 | "dependencies": { 1419 | "available-typed-arrays": "^1.0.2", 1420 | "call-bind": "^1.0.0", 1421 | "es-abstract": "^1.18.0-next.1", 1422 | "foreach": "^2.0.5", 1423 | "function-bind": "^1.1.1", 1424 | "has-symbols": "^1.0.1", 1425 | "is-typed-array": "^1.1.3" 1426 | }, 1427 | "engines": { 1428 | "node": ">= 0.4" 1429 | }, 1430 | "funding": { 1431 | "url": "https://github.com/sponsors/ljharb" 1432 | } 1433 | }, 1434 | "node_modules/winston": { 1435 | "version": "2.4.6", 1436 | "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz", 1437 | "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==", 1438 | "dependencies": { 1439 | "async": "^3.2.3", 1440 | "colors": "1.0.x", 1441 | "cycle": "1.0.x", 1442 | "eyes": "0.1.x", 1443 | "isstream": "0.1.x", 1444 | "stack-trace": "0.0.x" 1445 | }, 1446 | "engines": { 1447 | "node": ">= 0.10.0" 1448 | } 1449 | }, 1450 | "node_modules/winston/node_modules/async": { 1451 | "version": "3.2.3", 1452 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", 1453 | "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" 1454 | }, 1455 | "node_modules/winston/node_modules/colors": { 1456 | "version": "1.0.3", 1457 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", 1458 | "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", 1459 | "engines": { 1460 | "node": ">=0.1.90" 1461 | } 1462 | }, 1463 | "node_modules/word-wrap": { 1464 | "version": "1.2.3", 1465 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 1466 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", 1467 | "engines": { 1468 | "node": ">=0.10.0" 1469 | } 1470 | } 1471 | }, 1472 | "dependencies": { 1473 | "@colors/colors": { 1474 | "version": "1.5.0", 1475 | "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", 1476 | "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==" 1477 | }, 1478 | "@javascript-obfuscator/escodegen": { 1479 | "version": "2.3.0", 1480 | "resolved": "https://registry.npmjs.org/@javascript-obfuscator/escodegen/-/escodegen-2.3.0.tgz", 1481 | "integrity": "sha512-QVXwMIKqYMl3KwtTirYIA6gOCiJ0ZDtptXqAv/8KWLG9uQU2fZqTVy7a/A5RvcoZhbDoFfveTxuGxJ5ibzQtkw==", 1482 | "requires": { 1483 | "@javascript-obfuscator/estraverse": "^5.3.0", 1484 | "esprima": "^4.0.1", 1485 | "esutils": "^2.0.2", 1486 | "optionator": "^0.8.1", 1487 | "source-map": "~0.6.1" 1488 | } 1489 | }, 1490 | "@javascript-obfuscator/estraverse": { 1491 | "version": "5.4.0", 1492 | "resolved": "https://registry.npmjs.org/@javascript-obfuscator/estraverse/-/estraverse-5.4.0.tgz", 1493 | "integrity": "sha512-CZFX7UZVN9VopGbjTx4UXaXsi9ewoM1buL0kY7j1ftYdSs7p2spv9opxFjHlQ/QGTgh4UqufYqJJ0WKLml7b6w==" 1494 | }, 1495 | "@types/minimatch": { 1496 | "version": "3.0.4", 1497 | "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz", 1498 | "integrity": "sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA==" 1499 | }, 1500 | "acorn": { 1501 | "version": "8.7.0", 1502 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", 1503 | "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" 1504 | }, 1505 | "ansi-styles": { 1506 | "version": "4.3.0", 1507 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1508 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1509 | "requires": { 1510 | "color-convert": "^2.0.1" 1511 | } 1512 | }, 1513 | "array-differ": { 1514 | "version": "3.0.0", 1515 | "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", 1516 | "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==" 1517 | }, 1518 | "array-filter": { 1519 | "version": "1.0.0", 1520 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", 1521 | "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" 1522 | }, 1523 | "array-union": { 1524 | "version": "2.1.0", 1525 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", 1526 | "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" 1527 | }, 1528 | "arrify": { 1529 | "version": "2.0.1", 1530 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", 1531 | "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" 1532 | }, 1533 | "assert": { 1534 | "version": "2.0.0", 1535 | "resolved": "https://registry.npmjs.org/assert/-/assert-2.0.0.tgz", 1536 | "integrity": "sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==", 1537 | "requires": { 1538 | "es6-object-assign": "^1.1.0", 1539 | "is-nan": "^1.2.1", 1540 | "object-is": "^1.0.1", 1541 | "util": "^0.12.0" 1542 | } 1543 | }, 1544 | "async": { 1545 | "version": "0.9.2", 1546 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", 1547 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" 1548 | }, 1549 | "available-typed-arrays": { 1550 | "version": "1.0.2", 1551 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", 1552 | "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", 1553 | "requires": { 1554 | "array-filter": "^1.0.0" 1555 | } 1556 | }, 1557 | "balanced-match": { 1558 | "version": "1.0.0", 1559 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 1560 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" 1561 | }, 1562 | "brace-expansion": { 1563 | "version": "1.1.11", 1564 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1565 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1566 | "requires": { 1567 | "balanced-match": "^1.0.0", 1568 | "concat-map": "0.0.1" 1569 | } 1570 | }, 1571 | "buffer-from": { 1572 | "version": "1.1.1", 1573 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 1574 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" 1575 | }, 1576 | "call-bind": { 1577 | "version": "1.0.2", 1578 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", 1579 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", 1580 | "requires": { 1581 | "function-bind": "^1.1.1", 1582 | "get-intrinsic": "^1.0.2" 1583 | } 1584 | }, 1585 | "camel-case": { 1586 | "version": "4.1.2", 1587 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", 1588 | "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", 1589 | "requires": { 1590 | "pascal-case": "^3.1.2", 1591 | "tslib": "^2.0.3" 1592 | } 1593 | }, 1594 | "chalk": { 1595 | "version": "4.1.2", 1596 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 1597 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 1598 | "requires": { 1599 | "ansi-styles": "^4.1.0", 1600 | "supports-color": "^7.1.0" 1601 | } 1602 | }, 1603 | "chance": { 1604 | "version": "1.1.8", 1605 | "resolved": "https://registry.npmjs.org/chance/-/chance-1.1.8.tgz", 1606 | "integrity": "sha512-v7fi5Hj2VbR6dJEGRWLmJBA83LJMS47pkAbmROFxHWd9qmE1esHRZW8Clf1Fhzr3rjxnNZVCjOEv/ivFxeIMtg==" 1607 | }, 1608 | "char-regex": { 1609 | "version": "1.0.2", 1610 | "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", 1611 | "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" 1612 | }, 1613 | "char-spinner": { 1614 | "version": "1.0.1", 1615 | "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz", 1616 | "integrity": "sha1-5upnvSR+EHESmDt6sEee02KAAIE=" 1617 | }, 1618 | "charenc": { 1619 | "version": "0.0.2", 1620 | "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", 1621 | "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" 1622 | }, 1623 | "class-validator": { 1624 | "version": "0.13.2", 1625 | "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz", 1626 | "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==", 1627 | "requires": { 1628 | "libphonenumber-js": "^1.9.43", 1629 | "validator": "^13.7.0" 1630 | } 1631 | }, 1632 | "clean-css": { 1633 | "version": "5.1.2", 1634 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.1.2.tgz", 1635 | "integrity": "sha512-QcaGg9OuMo+0Ds933yLOY+gHPWbxhxqF0HDexmToPf8pczvmvZGYzd+QqWp9/mkucAOKViI+dSFOqoZIvXbeBw==", 1636 | "requires": { 1637 | "source-map": "~0.6.0" 1638 | } 1639 | }, 1640 | "color-convert": { 1641 | "version": "2.0.1", 1642 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1643 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1644 | "requires": { 1645 | "color-name": "~1.1.4" 1646 | } 1647 | }, 1648 | "color-name": { 1649 | "version": "1.1.4", 1650 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1651 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1652 | }, 1653 | "commander": { 1654 | "version": "9.0.0", 1655 | "resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz", 1656 | "integrity": "sha512-JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==" 1657 | }, 1658 | "concat-map": { 1659 | "version": "0.0.1", 1660 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1661 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" 1662 | }, 1663 | "crypt": { 1664 | "version": "0.0.2", 1665 | "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", 1666 | "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" 1667 | }, 1668 | "css-b64-images": { 1669 | "version": "0.2.5", 1670 | "resolved": "https://registry.npmjs.org/css-b64-images/-/css-b64-images-0.2.5.tgz", 1671 | "integrity": "sha1-QgBdgyBLK0pdk7axpWRBM7WSegI=" 1672 | }, 1673 | "cycle": { 1674 | "version": "1.0.3", 1675 | "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz", 1676 | "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=" 1677 | }, 1678 | "debug": { 1679 | "version": "4.3.1", 1680 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", 1681 | "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", 1682 | "requires": { 1683 | "ms": "2.1.2" 1684 | } 1685 | }, 1686 | "deep-is": { 1687 | "version": "0.1.4", 1688 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", 1689 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" 1690 | }, 1691 | "define-properties": { 1692 | "version": "1.1.3", 1693 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 1694 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 1695 | "requires": { 1696 | "object-keys": "^1.0.12" 1697 | } 1698 | }, 1699 | "dom-serializer": { 1700 | "version": "0.2.2", 1701 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", 1702 | "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", 1703 | "requires": { 1704 | "domelementtype": "^2.0.1", 1705 | "entities": "^2.0.0" 1706 | }, 1707 | "dependencies": { 1708 | "domelementtype": { 1709 | "version": "2.2.0", 1710 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", 1711 | "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" 1712 | }, 1713 | "entities": { 1714 | "version": "2.2.0", 1715 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", 1716 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" 1717 | } 1718 | } 1719 | }, 1720 | "domelementtype": { 1721 | "version": "1.3.1", 1722 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", 1723 | "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" 1724 | }, 1725 | "domhandler": { 1726 | "version": "2.4.2", 1727 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", 1728 | "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", 1729 | "requires": { 1730 | "domelementtype": "1" 1731 | } 1732 | }, 1733 | "domutils": { 1734 | "version": "1.7.0", 1735 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", 1736 | "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", 1737 | "requires": { 1738 | "dom-serializer": "0", 1739 | "domelementtype": "1" 1740 | } 1741 | }, 1742 | "dot-case": { 1743 | "version": "3.0.4", 1744 | "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", 1745 | "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", 1746 | "requires": { 1747 | "no-case": "^3.0.4", 1748 | "tslib": "^2.0.3" 1749 | } 1750 | }, 1751 | "entities": { 1752 | "version": "1.1.2", 1753 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", 1754 | "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" 1755 | }, 1756 | "es-abstract": { 1757 | "version": "1.18.0", 1758 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz", 1759 | "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==", 1760 | "requires": { 1761 | "call-bind": "^1.0.2", 1762 | "es-to-primitive": "^1.2.1", 1763 | "function-bind": "^1.1.1", 1764 | "get-intrinsic": "^1.1.1", 1765 | "has": "^1.0.3", 1766 | "has-symbols": "^1.0.2", 1767 | "is-callable": "^1.2.3", 1768 | "is-negative-zero": "^2.0.1", 1769 | "is-regex": "^1.1.2", 1770 | "is-string": "^1.0.5", 1771 | "object-inspect": "^1.9.0", 1772 | "object-keys": "^1.1.1", 1773 | "object.assign": "^4.1.2", 1774 | "string.prototype.trimend": "^1.0.4", 1775 | "string.prototype.trimstart": "^1.0.4", 1776 | "unbox-primitive": "^1.0.0" 1777 | } 1778 | }, 1779 | "es-to-primitive": { 1780 | "version": "1.2.1", 1781 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 1782 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 1783 | "requires": { 1784 | "is-callable": "^1.1.4", 1785 | "is-date-object": "^1.0.1", 1786 | "is-symbol": "^1.0.2" 1787 | } 1788 | }, 1789 | "es6-object-assign": { 1790 | "version": "1.1.0", 1791 | "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz", 1792 | "integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=" 1793 | }, 1794 | "eslint-scope": { 1795 | "version": "7.1.0", 1796 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", 1797 | "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", 1798 | "requires": { 1799 | "esrecurse": "^4.3.0", 1800 | "estraverse": "^5.2.0" 1801 | } 1802 | }, 1803 | "eslint-visitor-keys": { 1804 | "version": "3.2.0", 1805 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", 1806 | "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==" 1807 | }, 1808 | "esprima": { 1809 | "version": "4.0.1", 1810 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", 1811 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" 1812 | }, 1813 | "esrecurse": { 1814 | "version": "4.3.0", 1815 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", 1816 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", 1817 | "requires": { 1818 | "estraverse": "^5.2.0" 1819 | } 1820 | }, 1821 | "estraverse": { 1822 | "version": "5.3.0", 1823 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", 1824 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" 1825 | }, 1826 | "esutils": { 1827 | "version": "2.0.3", 1828 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 1829 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" 1830 | }, 1831 | "eyes": { 1832 | "version": "0.1.8", 1833 | "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz", 1834 | "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=" 1835 | }, 1836 | "fast-deep-equal": { 1837 | "version": "3.1.3", 1838 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1839 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" 1840 | }, 1841 | "fast-levenshtein": { 1842 | "version": "2.0.6", 1843 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", 1844 | "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" 1845 | }, 1846 | "foreach": { 1847 | "version": "2.0.5", 1848 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", 1849 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" 1850 | }, 1851 | "function-bind": { 1852 | "version": "1.1.1", 1853 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 1854 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" 1855 | }, 1856 | "get-intrinsic": { 1857 | "version": "1.1.1", 1858 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", 1859 | "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", 1860 | "requires": { 1861 | "function-bind": "^1.1.1", 1862 | "has": "^1.0.3", 1863 | "has-symbols": "^1.0.1" 1864 | } 1865 | }, 1866 | "has": { 1867 | "version": "1.0.3", 1868 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 1869 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 1870 | "requires": { 1871 | "function-bind": "^1.1.1" 1872 | } 1873 | }, 1874 | "has-bigints": { 1875 | "version": "1.0.1", 1876 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", 1877 | "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" 1878 | }, 1879 | "has-flag": { 1880 | "version": "4.0.0", 1881 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1882 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 1883 | }, 1884 | "has-symbols": { 1885 | "version": "1.0.2", 1886 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", 1887 | "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" 1888 | }, 1889 | "he": { 1890 | "version": "1.2.0", 1891 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 1892 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" 1893 | }, 1894 | "html-minifier-terser": { 1895 | "version": "5.1.1", 1896 | "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", 1897 | "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", 1898 | "requires": { 1899 | "camel-case": "^4.1.1", 1900 | "clean-css": "^4.2.3", 1901 | "commander": "^4.1.1", 1902 | "he": "^1.2.0", 1903 | "param-case": "^3.0.3", 1904 | "relateurl": "^0.2.7", 1905 | "terser": "^4.6.3" 1906 | }, 1907 | "dependencies": { 1908 | "clean-css": { 1909 | "version": "4.2.3", 1910 | "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", 1911 | "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", 1912 | "requires": { 1913 | "source-map": "~0.6.0" 1914 | } 1915 | }, 1916 | "commander": { 1917 | "version": "4.1.1", 1918 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1919 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" 1920 | }, 1921 | "terser": { 1922 | "version": "4.8.0", 1923 | "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", 1924 | "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", 1925 | "requires": { 1926 | "commander": "^2.20.0", 1927 | "source-map": "~0.6.1", 1928 | "source-map-support": "~0.5.12" 1929 | }, 1930 | "dependencies": { 1931 | "commander": { 1932 | "version": "2.20.3", 1933 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 1934 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 1935 | } 1936 | } 1937 | } 1938 | } 1939 | }, 1940 | "htmlparser2": { 1941 | "version": "3.10.1", 1942 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", 1943 | "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", 1944 | "requires": { 1945 | "domelementtype": "^1.3.1", 1946 | "domhandler": "^2.3.0", 1947 | "domutils": "^1.5.1", 1948 | "entities": "^1.1.1", 1949 | "inherits": "^2.0.1", 1950 | "readable-stream": "^3.1.1" 1951 | } 1952 | }, 1953 | "inherits": { 1954 | "version": "2.0.4", 1955 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1956 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1957 | }, 1958 | "inversify": { 1959 | "version": "6.0.1", 1960 | "resolved": "https://registry.npmjs.org/inversify/-/inversify-6.0.1.tgz", 1961 | "integrity": "sha512-B3ex30927698TJENHR++8FfEaJGqoWOgI6ZY5Ht/nLUsFCwHn6akbwtnUAPCgUepAnTpe2qHxhDNjoKLyz6rgQ==" 1962 | }, 1963 | "is-arguments": { 1964 | "version": "1.1.0", 1965 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", 1966 | "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", 1967 | "requires": { 1968 | "call-bind": "^1.0.0" 1969 | } 1970 | }, 1971 | "is-bigint": { 1972 | "version": "1.0.1", 1973 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", 1974 | "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" 1975 | }, 1976 | "is-boolean-object": { 1977 | "version": "1.1.0", 1978 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", 1979 | "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", 1980 | "requires": { 1981 | "call-bind": "^1.0.0" 1982 | } 1983 | }, 1984 | "is-buffer": { 1985 | "version": "1.1.6", 1986 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", 1987 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" 1988 | }, 1989 | "is-callable": { 1990 | "version": "1.2.3", 1991 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", 1992 | "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" 1993 | }, 1994 | "is-date-object": { 1995 | "version": "1.0.2", 1996 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", 1997 | "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" 1998 | }, 1999 | "is-generator-function": { 2000 | "version": "1.0.8", 2001 | "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz", 2002 | "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==" 2003 | }, 2004 | "is-nan": { 2005 | "version": "1.3.2", 2006 | "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", 2007 | "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", 2008 | "requires": { 2009 | "call-bind": "^1.0.0", 2010 | "define-properties": "^1.1.3" 2011 | } 2012 | }, 2013 | "is-negative-zero": { 2014 | "version": "2.0.1", 2015 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", 2016 | "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" 2017 | }, 2018 | "is-number-object": { 2019 | "version": "1.0.4", 2020 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", 2021 | "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" 2022 | }, 2023 | "is-regex": { 2024 | "version": "1.1.2", 2025 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", 2026 | "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", 2027 | "requires": { 2028 | "call-bind": "^1.0.2", 2029 | "has-symbols": "^1.0.1" 2030 | } 2031 | }, 2032 | "is-string": { 2033 | "version": "1.0.5", 2034 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", 2035 | "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" 2036 | }, 2037 | "is-symbol": { 2038 | "version": "1.0.3", 2039 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 2040 | "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 2041 | "requires": { 2042 | "has-symbols": "^1.0.1" 2043 | } 2044 | }, 2045 | "is-typed-array": { 2046 | "version": "1.1.5", 2047 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz", 2048 | "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==", 2049 | "requires": { 2050 | "available-typed-arrays": "^1.0.2", 2051 | "call-bind": "^1.0.2", 2052 | "es-abstract": "^1.18.0-next.2", 2053 | "foreach": "^2.0.5", 2054 | "has-symbols": "^1.0.1" 2055 | } 2056 | }, 2057 | "isstream": { 2058 | "version": "0.1.2", 2059 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", 2060 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" 2061 | }, 2062 | "javascript-obfuscator": { 2063 | "version": "4.0.0", 2064 | "resolved": "https://registry.npmjs.org/javascript-obfuscator/-/javascript-obfuscator-4.0.0.tgz", 2065 | "integrity": "sha512-vS/8w/9eKISzwXNLd+OLMCCwjD+dFMdOlCDOo919iR/MWdBs+7u1ybpwRoWOmODToPQKVYw5GasvZoIiPs5nPw==", 2066 | "requires": { 2067 | "@javascript-obfuscator/escodegen": "2.3.0", 2068 | "@javascript-obfuscator/estraverse": "5.4.0", 2069 | "acorn": "8.7.0", 2070 | "assert": "2.0.0", 2071 | "chalk": "4.1.2", 2072 | "chance": "1.1.8", 2073 | "class-validator": "0.13.2", 2074 | "commander": "9.0.0", 2075 | "eslint-scope": "7.1.0", 2076 | "eslint-visitor-keys": "3.2.0", 2077 | "fast-deep-equal": "3.1.3", 2078 | "inversify": "6.0.1", 2079 | "js-string-escape": "1.0.1", 2080 | "md5": "2.3.0", 2081 | "mkdirp": "1.0.4", 2082 | "multimatch": "5.0.0", 2083 | "opencollective-postinstall": "2.0.3", 2084 | "process": "0.11.10", 2085 | "reflect-metadata": "0.1.13", 2086 | "source-map-support": "0.5.21", 2087 | "string-template": "1.0.0", 2088 | "stringz": "2.1.0", 2089 | "tslib": "2.3.1" 2090 | } 2091 | }, 2092 | "js-obfuscator": { 2093 | "version": "0.1.4", 2094 | "resolved": "https://registry.npmjs.org/js-obfuscator/-/js-obfuscator-0.1.4.tgz", 2095 | "integrity": "sha512-OpiUSofa3fkDvS+iPm6CB8gfaYzdgrIk/2R9057PNx/Hlj7LqzoEGCEXmrCvgCo4RbWN7nkwyz96IQeSNOqmxg==", 2096 | "requires": { 2097 | "async": "^0.9.0", 2098 | "char-spinner": "^1.0.1", 2099 | "entities": "^1.1.1", 2100 | "htmlparser2": "^3.7.2", 2101 | "q": "^1.0.1" 2102 | } 2103 | }, 2104 | "js-string-escape": { 2105 | "version": "1.0.1", 2106 | "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz", 2107 | "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=" 2108 | }, 2109 | "levn": { 2110 | "version": "0.3.0", 2111 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", 2112 | "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", 2113 | "requires": { 2114 | "prelude-ls": "~1.1.2", 2115 | "type-check": "~0.3.2" 2116 | } 2117 | }, 2118 | "libphonenumber-js": { 2119 | "version": "1.9.53", 2120 | "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.53.tgz", 2121 | "integrity": "sha512-3cuMrA2CY3TbKVC0wKye5dXYgxmVVi4g13gzotprQSguFHMqf0pIrMM2Z6ZtMsSWqvtIqi5TuQhGjMhxz0O9Mw==" 2122 | }, 2123 | "lower-case": { 2124 | "version": "2.0.2", 2125 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", 2126 | "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", 2127 | "requires": { 2128 | "tslib": "^2.0.3" 2129 | } 2130 | }, 2131 | "md5": { 2132 | "version": "2.3.0", 2133 | "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", 2134 | "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", 2135 | "requires": { 2136 | "charenc": "0.0.2", 2137 | "crypt": "0.0.2", 2138 | "is-buffer": "~1.1.6" 2139 | } 2140 | }, 2141 | "minify": { 2142 | "version": "7.0.1", 2143 | "resolved": "https://registry.npmjs.org/minify/-/minify-7.0.1.tgz", 2144 | "integrity": "sha512-U3CjnPKRjPu3DxZX7NsB833r2ijbw9af3fHsaChn6o7BHKvaT/zxYDQ8Q/3W7VFXGDrnkAx6XBx3ggEf5KJm7A==", 2145 | "requires": { 2146 | "clean-css": "^5.0.1", 2147 | "css-b64-images": "~0.2.5", 2148 | "debug": "^4.1.0", 2149 | "html-minifier-terser": "^5.1.1", 2150 | "terser": "^5.3.2", 2151 | "try-to-catch": "^3.0.0" 2152 | } 2153 | }, 2154 | "minimatch": { 2155 | "version": "3.0.4", 2156 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 2157 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 2158 | "requires": { 2159 | "brace-expansion": "^1.1.7" 2160 | } 2161 | }, 2162 | "mkdirp": { 2163 | "version": "1.0.4", 2164 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 2165 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" 2166 | }, 2167 | "ms": { 2168 | "version": "2.1.2", 2169 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 2170 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" 2171 | }, 2172 | "multimatch": { 2173 | "version": "5.0.0", 2174 | "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", 2175 | "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", 2176 | "requires": { 2177 | "@types/minimatch": "^3.0.3", 2178 | "array-differ": "^3.0.0", 2179 | "array-union": "^2.1.0", 2180 | "arrify": "^2.0.1", 2181 | "minimatch": "^3.0.4" 2182 | } 2183 | }, 2184 | "mute-stream": { 2185 | "version": "0.0.8", 2186 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", 2187 | "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" 2188 | }, 2189 | "no-case": { 2190 | "version": "3.0.4", 2191 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", 2192 | "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", 2193 | "requires": { 2194 | "lower-case": "^2.0.2", 2195 | "tslib": "^2.0.3" 2196 | } 2197 | }, 2198 | "object-inspect": { 2199 | "version": "1.9.0", 2200 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", 2201 | "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" 2202 | }, 2203 | "object-is": { 2204 | "version": "1.1.5", 2205 | "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", 2206 | "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", 2207 | "requires": { 2208 | "call-bind": "^1.0.2", 2209 | "define-properties": "^1.1.3" 2210 | } 2211 | }, 2212 | "object-keys": { 2213 | "version": "1.1.1", 2214 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 2215 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" 2216 | }, 2217 | "object.assign": { 2218 | "version": "4.1.2", 2219 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", 2220 | "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", 2221 | "requires": { 2222 | "call-bind": "^1.0.0", 2223 | "define-properties": "^1.1.3", 2224 | "has-symbols": "^1.0.1", 2225 | "object-keys": "^1.1.1" 2226 | } 2227 | }, 2228 | "opencollective-postinstall": { 2229 | "version": "2.0.3", 2230 | "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", 2231 | "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==" 2232 | }, 2233 | "optionator": { 2234 | "version": "0.8.3", 2235 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", 2236 | "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", 2237 | "requires": { 2238 | "deep-is": "~0.1.3", 2239 | "fast-levenshtein": "~2.0.6", 2240 | "levn": "~0.3.0", 2241 | "prelude-ls": "~1.1.2", 2242 | "type-check": "~0.3.2", 2243 | "word-wrap": "~1.2.3" 2244 | } 2245 | }, 2246 | "param-case": { 2247 | "version": "3.0.4", 2248 | "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", 2249 | "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", 2250 | "requires": { 2251 | "dot-case": "^3.0.4", 2252 | "tslib": "^2.0.3" 2253 | } 2254 | }, 2255 | "pascal-case": { 2256 | "version": "3.1.2", 2257 | "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", 2258 | "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", 2259 | "requires": { 2260 | "no-case": "^3.0.4", 2261 | "tslib": "^2.0.3" 2262 | } 2263 | }, 2264 | "prelude-ls": { 2265 | "version": "1.1.2", 2266 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", 2267 | "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" 2268 | }, 2269 | "process": { 2270 | "version": "0.11.10", 2271 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 2272 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" 2273 | }, 2274 | "prompt": { 2275 | "version": "1.3.0", 2276 | "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.3.0.tgz", 2277 | "integrity": "sha512-ZkaRWtaLBZl7KKAKndKYUL8WqNT+cQHKRZnT4RYYms48jQkFw3rrBL+/N5K/KtdEveHkxs982MX2BkDKub2ZMg==", 2278 | "requires": { 2279 | "@colors/colors": "1.5.0", 2280 | "async": "3.2.3", 2281 | "read": "1.0.x", 2282 | "revalidator": "0.1.x", 2283 | "winston": "2.x" 2284 | }, 2285 | "dependencies": { 2286 | "async": { 2287 | "version": "3.2.3", 2288 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", 2289 | "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" 2290 | } 2291 | } 2292 | }, 2293 | "q": { 2294 | "version": "1.5.1", 2295 | "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", 2296 | "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" 2297 | }, 2298 | "read": { 2299 | "version": "1.0.7", 2300 | "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 2301 | "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", 2302 | "requires": { 2303 | "mute-stream": "~0.0.4" 2304 | } 2305 | }, 2306 | "readable-stream": { 2307 | "version": "3.6.0", 2308 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 2309 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 2310 | "requires": { 2311 | "inherits": "^2.0.3", 2312 | "string_decoder": "^1.1.1", 2313 | "util-deprecate": "^1.0.1" 2314 | } 2315 | }, 2316 | "reflect-metadata": { 2317 | "version": "0.1.13", 2318 | "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", 2319 | "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" 2320 | }, 2321 | "relateurl": { 2322 | "version": "0.2.7", 2323 | "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", 2324 | "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" 2325 | }, 2326 | "revalidator": { 2327 | "version": "0.1.8", 2328 | "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz", 2329 | "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=" 2330 | }, 2331 | "safe-buffer": { 2332 | "version": "5.2.1", 2333 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2334 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 2335 | }, 2336 | "source-map": { 2337 | "version": "0.6.1", 2338 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2339 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" 2340 | }, 2341 | "source-map-support": { 2342 | "version": "0.5.21", 2343 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", 2344 | "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", 2345 | "requires": { 2346 | "buffer-from": "^1.0.0", 2347 | "source-map": "^0.6.0" 2348 | } 2349 | }, 2350 | "stack-trace": { 2351 | "version": "0.0.10", 2352 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", 2353 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" 2354 | }, 2355 | "string_decoder": { 2356 | "version": "1.3.0", 2357 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2358 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2359 | "requires": { 2360 | "safe-buffer": "~5.2.0" 2361 | } 2362 | }, 2363 | "string-template": { 2364 | "version": "1.0.0", 2365 | "resolved": "https://registry.npmjs.org/string-template/-/string-template-1.0.0.tgz", 2366 | "integrity": "sha1-np8iM9wA8hhxjsN5oopWc+zKi5Y=" 2367 | }, 2368 | "string.prototype.trimend": { 2369 | "version": "1.0.4", 2370 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", 2371 | "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", 2372 | "requires": { 2373 | "call-bind": "^1.0.2", 2374 | "define-properties": "^1.1.3" 2375 | } 2376 | }, 2377 | "string.prototype.trimstart": { 2378 | "version": "1.0.4", 2379 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", 2380 | "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", 2381 | "requires": { 2382 | "call-bind": "^1.0.2", 2383 | "define-properties": "^1.1.3" 2384 | } 2385 | }, 2386 | "stringz": { 2387 | "version": "2.1.0", 2388 | "resolved": "https://registry.npmjs.org/stringz/-/stringz-2.1.0.tgz", 2389 | "integrity": "sha512-KlywLT+MZ+v0IRepfMxRtnSvDCMc3nR1qqCs3m/qIbSOWkNZYT8XHQA31rS3TnKp0c5xjZu3M4GY/2aRKSi/6A==", 2390 | "requires": { 2391 | "char-regex": "^1.0.2" 2392 | } 2393 | }, 2394 | "supports-color": { 2395 | "version": "7.2.0", 2396 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 2397 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 2398 | "requires": { 2399 | "has-flag": "^4.0.0" 2400 | } 2401 | }, 2402 | "terser": { 2403 | "version": "5.6.1", 2404 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz", 2405 | "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==", 2406 | "requires": { 2407 | "commander": "^2.20.0", 2408 | "source-map": "~0.7.2", 2409 | "source-map-support": "~0.5.19" 2410 | }, 2411 | "dependencies": { 2412 | "commander": { 2413 | "version": "2.20.3", 2414 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 2415 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" 2416 | }, 2417 | "source-map": { 2418 | "version": "0.7.3", 2419 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", 2420 | "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" 2421 | } 2422 | } 2423 | }, 2424 | "try-to-catch": { 2425 | "version": "3.0.0", 2426 | "resolved": "https://registry.npmjs.org/try-to-catch/-/try-to-catch-3.0.0.tgz", 2427 | "integrity": "sha512-eIm6ZXwR35jVF8By/HdbbkcaCDTBI5PpCPkejRKrYp0jyf/DbCCcRhHD7/O9jtFI3ewsqo9WctFEiJTS6i+CQA==" 2428 | }, 2429 | "tslib": { 2430 | "version": "2.3.1", 2431 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", 2432 | "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" 2433 | }, 2434 | "type-check": { 2435 | "version": "0.3.2", 2436 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", 2437 | "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", 2438 | "requires": { 2439 | "prelude-ls": "~1.1.2" 2440 | } 2441 | }, 2442 | "unbox-primitive": { 2443 | "version": "1.0.1", 2444 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", 2445 | "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", 2446 | "requires": { 2447 | "function-bind": "^1.1.1", 2448 | "has-bigints": "^1.0.1", 2449 | "has-symbols": "^1.0.2", 2450 | "which-boxed-primitive": "^1.0.2" 2451 | } 2452 | }, 2453 | "util": { 2454 | "version": "0.12.3", 2455 | "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz", 2456 | "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==", 2457 | "requires": { 2458 | "inherits": "^2.0.3", 2459 | "is-arguments": "^1.0.4", 2460 | "is-generator-function": "^1.0.7", 2461 | "is-typed-array": "^1.1.3", 2462 | "safe-buffer": "^5.1.2", 2463 | "which-typed-array": "^1.1.2" 2464 | } 2465 | }, 2466 | "util-deprecate": { 2467 | "version": "1.0.2", 2468 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2469 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 2470 | }, 2471 | "validator": { 2472 | "version": "13.7.0", 2473 | "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", 2474 | "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==" 2475 | }, 2476 | "which-boxed-primitive": { 2477 | "version": "1.0.2", 2478 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 2479 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 2480 | "requires": { 2481 | "is-bigint": "^1.0.1", 2482 | "is-boolean-object": "^1.1.0", 2483 | "is-number-object": "^1.0.4", 2484 | "is-string": "^1.0.5", 2485 | "is-symbol": "^1.0.3" 2486 | } 2487 | }, 2488 | "which-typed-array": { 2489 | "version": "1.1.4", 2490 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", 2491 | "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", 2492 | "requires": { 2493 | "available-typed-arrays": "^1.0.2", 2494 | "call-bind": "^1.0.0", 2495 | "es-abstract": "^1.18.0-next.1", 2496 | "foreach": "^2.0.5", 2497 | "function-bind": "^1.1.1", 2498 | "has-symbols": "^1.0.1", 2499 | "is-typed-array": "^1.1.3" 2500 | } 2501 | }, 2502 | "winston": { 2503 | "version": "2.4.6", 2504 | "resolved": "https://registry.npmjs.org/winston/-/winston-2.4.6.tgz", 2505 | "integrity": "sha512-J5Zu4p0tojLde8mIOyDSsmLmcP8I3Z6wtwpTDHx1+hGcdhxcJaAmG4CFtagkb+NiN1M9Ek4b42pzMWqfc9jm8w==", 2506 | "requires": { 2507 | "async": "^3.2.3", 2508 | "colors": "1.0.x", 2509 | "cycle": "1.0.x", 2510 | "eyes": "0.1.x", 2511 | "isstream": "0.1.x", 2512 | "stack-trace": "0.0.x" 2513 | }, 2514 | "dependencies": { 2515 | "async": { 2516 | "version": "3.2.3", 2517 | "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", 2518 | "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" 2519 | }, 2520 | "colors": { 2521 | "version": "1.0.3", 2522 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", 2523 | "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=" 2524 | } 2525 | } 2526 | }, 2527 | "word-wrap": { 2528 | "version": "1.2.3", 2529 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", 2530 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" 2531 | } 2532 | } 2533 | } 2534 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jsafer", 3 | "version": "1.4.0", 4 | "description": "A simple Javascript Obfuscator that chains files/snippets using multiple obfuscation techniques.", 5 | "main": "obfuscate.js", 6 | "scripts": { 7 | "test": "node obfuscate.js \"simple_test.js\" && node simple_test.obfuscated.js", 8 | "start": "node obfuscate.js $@", 9 | "run": "node obfuscate.js $@" 10 | }, 11 | "keywords": [ 12 | "obfuscator", 13 | "obfuscation", 14 | "security", 15 | "reverse-engineering", 16 | "prompt" 17 | ], 18 | "author": "Avi Lumelsky", 19 | "license": "MIT", 20 | "dependencies": { 21 | "javascript-obfuscator": "^4.0.0", 22 | "js-obfuscator": "^0.1.4", 23 | "minify": "^7.0.1", 24 | "prompt": "^1.1.0" 25 | }, 26 | "bin": { 27 | "jsafer": "./obfuscate.js" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /simple_test.js: -------------------------------------------------------------------------------- 1 | const { performance } = require('perf_hooks'); 2 | 3 | var startTime = performance.now() 4 | 5 | function fibo(limit, a = 1, b = 1) { 6 | if (a > limit) { 7 | return 8 | } 9 | console.log(a) 10 | return fibo(limit, b, a + b) 11 | } 12 | 13 | fibo(1 / 1e-9); 14 | 15 | var endTime = performance.now() 16 | 17 | console.log(`The run took ${endTime - startTime} milliseconds`) -------------------------------------------------------------------------------- /simple_test.obfuscated.js: -------------------------------------------------------------------------------- 1 | var _0x342e93=_0x1143;(function(_0x25893b,_0x2cfaf3){var _0x18ca1d=_0x1143,_0x2b67b0=_0x25893b();while(!![]){try{var _0x2f8b99=-parseInt(_0x18ca1d(0x13b))/(-0x20d6+0x2669*-0x1+0x28*0x1c8)*(-parseInt(_0x18ca1d(0x133))/(-0xe6a*0x1+0x1*0x1ee6+-0x107a))+-parseInt(_0x18ca1d(0x13f))/(0x23*0x43+-0x3*-0x572+-0x197c)+parseInt(_0x18ca1d(0x12f))/(-0x1c39+0x1139+0xb04)*(parseInt(_0x18ca1d(0x131))/(-0xedc+-0x1e*-0xf4+-0xdb7*0x1))+parseInt(_0x18ca1d(0x134))/(0xf1*0x13+-0xee4+0x2f9*-0x1)+parseInt(_0x18ca1d(0x137))/(0x12*-0xca+-0x2403+0x323e)+-parseInt(_0x18ca1d(0x135))/(-0x1*-0x2495+-0x12f1+-0x2e*0x62)+-parseInt(_0x18ca1d(0x13e))/(-0x83f+0x1b0+0x2*0x34c);if(_0x2f8b99===_0x2cfaf3)break;else _0x2b67b0['push'](_0x2b67b0['shift']());}catch(_0x140e7e){_0x2b67b0['push'](_0x2b67b0['shift']());}}}(_0x35d0,0x669aa+0xf99dd+-0x1*0xe12c9));function _0x1143(_0x4daaf6,_0x424b85){var _0x40bd7e=_0x35d0();return _0x1143=function(_0x4d9490,_0x3138f6){_0x4d9490=_0x4d9490-(-0x2a5*-0xb+-0x336+-0x18b3*0x1);var _0x5d0c3c=_0x40bd7e[_0x4d9490];return _0x5d0c3c;},_0x1143(_0x4daaf6,_0x424b85);}var _0x9875=[_0x342e93(0x13c),_0x342e93(0x12e),_0x342e93(0x138),_0x342e93(0x136)+_0x342e93(0x13a),_0x342e93(0x139)+_0x342e93(0x130)];const {performance}=require(_0x9875[-0x1596+0x159a+-0x4]);var startTime=performance[_0x9875[-0x14dc+0x2*-0x18b+-0x1*-0x17f3]]();function fibo(_0x19f726,_0x21f01e=0x1b5c+-0x6*0x654+0xa9d,_0x284175=0x1121+0x97e+-0x1a9e){var _0x38c873=_0x342e93,_0x331a18={'vxBTI':function(_0x590739,_0x3464bb){return _0x590739>_0x3464bb;},'aEBwR':function(_0x59183c,_0x59bd19,_0xfecbb9,_0x234c4c){return _0x59183c(_0x59bd19,_0xfecbb9,_0x234c4c);},'LHoLC':function(_0x43b6df,_0xa0f6ed){return _0x43b6df+_0xa0f6ed;}};if(_0x331a18[_0x38c873(0x132)](_0x21f01e,_0x19f726))return;return console[_0x9875[-0xcd4+-0x1*0x1eec+0x2bc2]](_0x21f01e),_0x331a18[_0x38c873(0x140)](fibo,_0x19f726,_0x284175,_0x331a18[_0x38c873(0x13d)](_0x21f01e,_0x284175));}function _0x35d0(){var _0x5e59cb=['ok\x20','341sPqGdk','perf_hooks','LHoLC','11695428cDfJvU','516504tfDkFZ','aEBwR','now','284FEQHXZ','nds','890aKXUeK','vxBTI','4978Piqczx','5899530SGIBSd','732472GoaJsq','The\x20run\x20to','1672713PsAbHz','log','\x20milliseco'];_0x35d0=function(){return _0x5e59cb;};return _0x35d0();}fibo((-0x4c0+-0x550+0xa11)/(-0x5b2+-0x17dd*-0x1+0x1*-0x122b+1e-9));var endTime=performance[_0x9875[0xb*0xc+0x1a*-0x11+0x137]]();console[_0x9875[0x1a62+0x1ac9+0x3529*-0x1]](''+_0x9875[-0x5a6+-0xb37+0x10e0]+(endTime-startTime)+_0x9875[0x38c*0x1+-0x1028+0x4*0x328]); --------------------------------------------------------------------------------