Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build(deps): Bump @babel/parser from 7.16.12 to 7.17.0 #12241

Merged
merged 8 commits into from Feb 7, 2022
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Expand Up @@ -24,7 +24,7 @@
"dependencies": {
"@angular/compiler": "12.2.16",
"@babel/code-frame": "7.16.7",
"@babel/parser": "7.16.12",
"@babel/parser": "7.17.0",
"@glimmer/syntax": "0.83.1",
"@iarna/toml": "2.2.5",
"@typescript-eslint/typescript-estree": "5.10.2",
Expand Down
1 change: 1 addition & 0 deletions src/language-js/parse/babel.js
Expand Up @@ -37,6 +37,7 @@ const parseOptions = {
"decimal",
"moduleBlocks",
"asyncDoExpressions",
"regexpUnicodeSets",
],
tokens: true,
ranges: true,
Expand Down
35 changes: 35 additions & 0 deletions tests/format/js/babel-plugins/__snapshots__/jsfmt.spec.js.snap
Expand Up @@ -2104,6 +2104,41 @@ const tuple1 = #[1, 2, 3];
================================================================================
`;

exports[`regex-v-flag.js [acorn] format 1`] = `
"Invalid regular expression flag (1:2)
> 1 | /a/v;
| ^
2 |"
`;

exports[`regex-v-flag.js [espree] format 1`] = `
"Invalid regular expression flag (1:2)
> 1 | /a/v;
| ^
2 |"
`;

exports[`regex-v-flag.js [meriyah] format 1`] = `
"[1:3]: Unexpected regular expression flag (1:3)
> 1 | /a/v;
| ^
2 |"
`;

exports[`regex-v-flag.js format 1`] = `
====================================options=====================================
parsers: ["babel", "babel-ts", "babel-flow"]
printWidth: 80
| printWidth
=====================================input======================================
/a/v;

=====================================output=====================================
/a/v;

================================================================================
`;

exports[`throw-expressions.js [acorn] format 1`] = `
"Unexpected token (3:23)
1 | // https://babeljs.io/docs/en/babel-plugin-proposal-throw-expressions
Expand Down
3 changes: 3 additions & 0 deletions tests/format/js/babel-plugins/jsfmt.spec.js
Expand Up @@ -24,6 +24,7 @@ run_spec(__dirname, ["babel", "babel-ts", "babel-flow"], {
"v8intrinsic.js",
"module-blocks.js",
"async-do-expressions.js",
"regex-v-flag.js",
],
espree: [
"decimal.js",
Expand All @@ -46,6 +47,7 @@ run_spec(__dirname, ["babel", "babel-ts", "babel-flow"], {
"v8intrinsic.js",
"module-blocks.js",
"async-do-expressions.js",
"regex-v-flag.js",
],
meriyah: [
"decimal.js",
Expand All @@ -71,6 +73,7 @@ run_spec(__dirname, ["babel", "babel-ts", "babel-flow"], {
"module-string-names.js",
"module-blocks.js",
"async-do-expressions.js",
"regex-v-flag.js",
],
},
});
1 change: 1 addition & 0 deletions tests/format/js/babel-plugins/regex-v-flag.js
@@ -0,0 +1 @@
/a/v;
42 changes: 42 additions & 0 deletions tests/format/js/regex/__snapshots__/jsfmt.spec.js.snap
Expand Up @@ -41,3 +41,45 @@ printWidth: 80

================================================================================
`;

exports[`v-flag.js [acorn] format 1`] = `
"Invalid regular expression flag (1:2)
> 1 | /a/v;
| ^
2 |"
`;

exports[`v-flag.js [espree] format 1`] = `
"Invalid regular expression flag (1:2)
> 1 | /a/v;
| ^
2 |"
`;

exports[`v-flag.js [flow] format 1`] = `
"Invalid flags supplied to RegExp constructor 'v' (1:5)
> 1 | /a/v;
| ^
2 |"
`;

exports[`v-flag.js [meriyah] format 1`] = `
"[1:3]: Unexpected regular expression flag (1:3)
> 1 | /a/v;
| ^
2 |"
`;

exports[`v-flag.js format 1`] = `
====================================options=====================================
parsers: ["babel", "flow", "typescript"]
printWidth: 80
| printWidth
=====================================input======================================
/a/v;

=====================================output=====================================
/a/v;

================================================================================
`;
6 changes: 4 additions & 2 deletions tests/format/js/regex/jsfmt.spec.js
@@ -1,6 +1,8 @@
run_spec(__dirname, ["babel", "flow", "typescript"], {
errors: {
flow: ["d-flag.js"],
meriyah: ["d-flag.js"],
flow: ["d-flag.js", "v-flag.js"],
acorn: ["v-flag.js"],
espree: ["v-flag.js"],
meriyah: ["d-flag.js", "v-flag.js"],
},
});
1 change: 1 addition & 0 deletions tests/format/js/regex/v-flag.js
@@ -0,0 +1 @@
/a/v;
@@ -0,0 +1,57 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`invalid-flags.js [acorn] format 1`] = `
"Invalid regular expression flag (1:2)
> 1 | /a/ugv;
| ^
2 |"
`;

exports[`invalid-flags.js [babel] format 1`] = `
"The 'u' and 'v' regular expression flags cannot be enabled at the same time. (1:7)
> 1 | /a/ugv;
| ^
2 |"
`;

exports[`invalid-flags.js [espree] format 1`] = `
"Invalid regular expression flag (1:2)
> 1 | /a/ugv;
| ^
2 |"
`;

exports[`invalid-flags.js [meriyah] format 1`] = `
"[1:5]: Unexpected regular expression flag (1:5)
> 1 | /a/ugv;
| ^
2 |"
`;

exports[`invalid-flags2.js [acorn] format 1`] = `
"Invalid regular expression flag (1:2)
> 1 | /a/vu;
| ^
2 |"
`;

exports[`invalid-flags2.js [babel] format 1`] = `
"The 'u' and 'v' regular expression flags cannot be enabled at the same time. (1:6)
> 1 | /a/vu;
| ^
2 |"
`;

exports[`invalid-flags2.js [espree] format 1`] = `
"Invalid regular expression flag (1:2)
> 1 | /a/vu;
| ^
2 |"
`;

exports[`invalid-flags2.js [meriyah] format 1`] = `
"[1:3]: Unexpected regular expression flag (1:3)
> 1 | /a/vu;
| ^
2 |"
`;
@@ -0,0 +1 @@
/a/ugv;
@@ -0,0 +1 @@
/a/vu;
1 change: 1 addition & 0 deletions tests/format/misc/errors/js/regex-v-u-flags/jsfmt.spec.js
@@ -0,0 +1 @@
run_spec(__dirname, ["babel", "acorn", "espree", "meriyah"]);
@@ -0,0 +1 @@
f<<<T>(x)
@@ -0,0 +1 @@
f<<T>(v: T) => void>();
@@ -0,0 +1 @@
(class extends f<<T>(v: T) => void> {});
@@ -0,0 +1 @@
(@f<<T>(v: T) => void>() class {});
@@ -0,0 +1 @@
<Component<<T>(v: T) => void> />
@@ -0,0 +1 @@
new f<<T>(v: T) => void>();
@@ -0,0 +1,107 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`1.ts format 1`] = `
====================================options=====================================
parsers: ["typescript"]
printWidth: 80
| printWidth
=====================================input======================================
f<<<T>(x)

=====================================output=====================================
f << (<T>x);

================================================================================
`;

exports[`2.ts format 1`] = `
====================================options=====================================
parsers: ["typescript"]
printWidth: 80
| printWidth
=====================================input======================================
f<<T>(v: T) => void>();

=====================================output=====================================
f<<T>(v: T) => void>();

================================================================================
`;

exports[`3.ts [babel-ts] format 1`] = `
====================================options=====================================
parsers: ["typescript"]
printWidth: 80
| printWidth
=====================================input======================================
(class extends f<<T>(v: T) => void> {});

=====================================output=====================================
(class extends f<<T>(v: T) => void> {});

================================================================================
`;

exports[`3.ts [typescript] format 1`] = `
"',' expected. (1:17)
> 1 | (class extends f<<T>(v: T) => void> {});
| ^
2 |"
`;

exports[`4.ts [babel-ts] format 1`] = `
====================================options=====================================
parsers: ["typescript"]
printWidth: 80
| printWidth
=====================================input======================================
(@f<<T>(v: T) => void>() class {});

=====================================output=====================================
@f<<T>(v: T) => void>()
class {};

================================================================================
`;

exports[`4.ts [typescript] format 1`] = `
"Expression expected. (1:2)
> 1 | (@f<<T>(v: T) => void>() class {});
| ^
2 |"
`;

exports[`5.tsx [babel-ts] format 1`] = `
====================================options=====================================
parsers: ["typescript"]
printWidth: 80
| printWidth
=====================================input======================================
<Component<<T>(v: T) => void> />

=====================================output=====================================
<Component<<T>(v: T) => void> />;

================================================================================
`;

exports[`5.tsx [typescript] format 1`] = `
"Identifier expected. (1:11)
> 1 | <Component<<T>(v: T) => void> />
| ^
2 |"
`;

exports[`6.ts format 1`] = `
====================================options=====================================
parsers: ["typescript"]
printWidth: 80
| printWidth
=====================================input======================================
new f<<T>(v: T) => void>();

=====================================output=====================================
new f<<T>(v: T) => void>();

================================================================================
`;
@@ -0,0 +1,3 @@
run_spec(__dirname, ["typescript"], {
errors: { typescript: ["3.ts", "4.ts", "5.tsx"] },
});
@@ -1,5 +1,5 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`prints information for debugging AST --debug-print-ast (stdout) 1`] = `"{\\"type\\":\\"File\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18}},\\"range\\":[0,18],\\"errors\\":[],\\"program\\":{\\"type\\":\\"Program\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18}},\\"range\\":[0,18],\\"sourceType\\":\\"module\\",\\"interpreter\\":null,\\"body\\":[{\\"type\\":\\"VariableDeclaration\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18}},\\"range\\":[0,18],\\"declarations\\":[{\\"type\\":\\"VariableDeclarator\\",\\"start\\":6,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6},\\"end\\":{\\"line\\":1,\\"column\\":17}},\\"range\\":[6,17],\\"id\\":{\\"type\\":\\"Identifier\\",\\"start\\":6,\\"end\\":9,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6},\\"end\\":{\\"line\\":1,\\"column\\":9},\\"identifierName\\":\\"foo\\"},\\"range\\":[6,9],\\"name\\":\\"foo\\"},\\"init\\":{\\"type\\":\\"StringLiteral\\",\\"start\\":12,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":12},\\"end\\":{\\"line\\":1,\\"column\\":17}},\\"range\\":[12,17],\\"extra\\":{\\"rawValue\\":\\"foo\\",\\"raw\\":\\"'foo'\\"},\\"value\\":\\"foo\\"}}],\\"kind\\":\\"const\\"}],\\"directives\\":[]},\\"comments\\":[],\\"tokens\\":[{\\"type\\":{\\"label\\":\\"const\\",\\"keyword\\":\\"const\\",\\"beforeExpr\\":false,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"const\\",\\"start\\":0,\\"end\\":5,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0},\\"end\\":{\\"line\\":1,\\"column\\":5}}},{\\"type\\":{\\"label\\":\\"name\\",\\"beforeExpr\\":false,\\"startsExpr\\":true,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"foo\\",\\"start\\":6,\\"end\\":9,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6},\\"end\\":{\\"line\\":1,\\"column\\":9}}},{\\"type\\":{\\"label\\":\\"=\\",\\"beforeExpr\\":true,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":true,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"=\\",\\"start\\":10,\\"end\\":11,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":10},\\"end\\":{\\"line\\":1,\\"column\\":11}}},{\\"type\\":{\\"label\\":\\"string\\",\\"beforeExpr\\":false,\\"startsExpr\\":true,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"foo\\",\\"start\\":12,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":12},\\"end\\":{\\"line\\":1,\\"column\\":17}}},{\\"type\\":{\\"label\\":\\";\\",\\"beforeExpr\\":true,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"start\\":17,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":17},\\"end\\":{\\"line\\":1,\\"column\\":18}}},{\\"type\\":{\\"label\\":\\"eof\\",\\"beforeExpr\\":false,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"start\\":18,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":18},\\"end\\":{\\"line\\":1,\\"column\\":18}}}]}"`;
exports[`prints information for debugging AST --debug-print-ast (stdout) 1`] = `"{\\"type\\":\\"File\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0,\\"index\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}},\\"range\\":[0,18],\\"errors\\":[],\\"program\\":{\\"type\\":\\"Program\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0,\\"index\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}},\\"range\\":[0,18],\\"sourceType\\":\\"module\\",\\"interpreter\\":null,\\"body\\":[{\\"type\\":\\"VariableDeclaration\\",\\"start\\":0,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0,\\"index\\":0},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}},\\"range\\":[0,18],\\"declarations\\":[{\\"type\\":\\"VariableDeclarator\\",\\"start\\":6,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6,\\"index\\":6},\\"end\\":{\\"line\\":1,\\"column\\":17,\\"index\\":17}},\\"range\\":[6,17],\\"id\\":{\\"type\\":\\"Identifier\\",\\"start\\":6,\\"end\\":9,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6,\\"index\\":6},\\"end\\":{\\"line\\":1,\\"column\\":9,\\"index\\":9},\\"identifierName\\":\\"foo\\"},\\"range\\":[6,9],\\"name\\":\\"foo\\"},\\"init\\":{\\"type\\":\\"StringLiteral\\",\\"start\\":12,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":12,\\"index\\":12},\\"end\\":{\\"line\\":1,\\"column\\":17,\\"index\\":17}},\\"range\\":[12,17],\\"extra\\":{\\"rawValue\\":\\"foo\\",\\"raw\\":\\"'foo'\\"},\\"value\\":\\"foo\\"}}],\\"kind\\":\\"const\\"}],\\"directives\\":[]},\\"comments\\":[],\\"tokens\\":[{\\"type\\":{\\"label\\":\\"const\\",\\"keyword\\":\\"const\\",\\"beforeExpr\\":false,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"const\\",\\"start\\":0,\\"end\\":5,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":0,\\"index\\":0},\\"end\\":{\\"line\\":1,\\"column\\":5,\\"index\\":5}}},{\\"type\\":{\\"label\\":\\"name\\",\\"beforeExpr\\":false,\\"startsExpr\\":true,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"foo\\",\\"start\\":6,\\"end\\":9,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":6,\\"index\\":6},\\"end\\":{\\"line\\":1,\\"column\\":9,\\"index\\":9}}},{\\"type\\":{\\"label\\":\\"=\\",\\"beforeExpr\\":true,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":true,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"=\\",\\"start\\":10,\\"end\\":11,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":10,\\"index\\":10},\\"end\\":{\\"line\\":1,\\"column\\":11,\\"index\\":11}}},{\\"type\\":{\\"label\\":\\"string\\",\\"beforeExpr\\":false,\\"startsExpr\\":true,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"value\\":\\"foo\\",\\"start\\":12,\\"end\\":17,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":12,\\"index\\":12},\\"end\\":{\\"line\\":1,\\"column\\":17,\\"index\\":17}}},{\\"type\\":{\\"label\\":\\";\\",\\"beforeExpr\\":true,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"start\\":17,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":17,\\"index\\":17},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}}},{\\"type\\":{\\"label\\":\\"eof\\",\\"beforeExpr\\":false,\\"startsExpr\\":false,\\"rightAssociative\\":false,\\"isLoop\\":false,\\"isAssign\\":false,\\"prefix\\":false,\\"postfix\\":false,\\"binop\\":null,\\"updateContext\\":null},\\"start\\":18,\\"end\\":18,\\"loc\\":{\\"start\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18},\\"end\\":{\\"line\\":1,\\"column\\":18,\\"index\\":18}}}]}"`;

exports[`prints information for debugging AST --debug-print-ast (write) 1`] = `Array []`;
Expand Up @@ -8,8 +8,8 @@ exports[`prints information for debugging comment attachment with --debug-print-
\\"start\\": 0,
\\"end\\": 7,
\\"loc\\": {
\\"start\\": { \\"line\\": 1, \\"column\\": 0 },
\\"end\\": { \\"line\\": 1, \\"column\\": 7 }
\\"start\\": { \\"line\\": 1, \\"column\\": 0, \\"index\\": 0 },
\\"end\\": { \\"line\\": 1, \\"column\\": 7, \\"index\\": 7 }
},
\\"placement\\": \\"endOfLine\\",
\\"leading\\": true,
Expand All @@ -22,8 +22,8 @@ exports[`prints information for debugging comment attachment with --debug-print-
\\"start\\": 24,
\\"end\\": 31,
\\"loc\\": {
\\"start\\": { \\"line\\": 2, \\"column\\": 16 },
\\"end\\": { \\"line\\": 2, \\"column\\": 23 }
\\"start\\": { \\"line\\": 2, \\"column\\": 16, \\"index\\": 24 },
\\"end\\": { \\"line\\": 2, \\"column\\": 23, \\"index\\": 31 }
},
\\"placement\\": \\"remaining\\",
\\"leading\\": false,
Expand All @@ -36,8 +36,8 @@ exports[`prints information for debugging comment attachment with --debug-print-
\\"start\\": 34,
\\"end\\": 38,
\\"loc\\": {
\\"start\\": { \\"line\\": 2, \\"column\\": 26 },
\\"end\\": { \\"line\\": 2, \\"column\\": 30 }
\\"start\\": { \\"line\\": 2, \\"column\\": 26, \\"index\\": 34 },
\\"end\\": { \\"line\\": 2, \\"column\\": 30, \\"index\\": 38 }
},
\\"placement\\": \\"remaining\\",
\\"leading\\": false,
Expand Down
7 changes: 1 addition & 6 deletions yarn.lock
Expand Up @@ -281,12 +281,7 @@
chalk "^2.0.0"
js-tokens "^4.0.0"

"@babel/parser@7.16.12":
version "7.16.12"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6"
integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==

"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0":
"@babel/parser@7.17.0", "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.0":
version "7.17.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c"
integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==
Expand Down