prettier-plugin-java 1.6.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/base-cst-printer.js +4 -3
- package/dist/cst-printer.js +1 -0
- package/dist/index.js +1 -0
- package/dist/options.js +2 -0
- package/dist/parser.js +1 -0
- package/dist/printer.js +1 -0
- package/dist/printers/arrays.js +4 -3
- package/dist/printers/blocks-and-statements.js +107 -102
- package/dist/printers/classes.js +152 -151
- package/dist/printers/comments/comments-utils.js +1 -0
- package/dist/printers/comments/format-comments.js +22 -13
- package/dist/printers/comments/handle-comments.js +2 -1
- package/dist/printers/expressions.js +128 -105
- package/dist/printers/interfaces.js +57 -56
- package/dist/printers/lexical-structure.js +5 -4
- package/dist/printers/names.js +9 -8
- package/dist/printers/packages-and-modules.js +73 -59
- package/dist/printers/prettier-builder.js +21 -12
- package/dist/printers/printer-utils.js +64 -56
- package/dist/printers/types-values-and-variables.js +44 -39
- package/dist/src/base-cst-printer.js +77 -0
- package/dist/src/cst-printer.js +37 -0
- package/dist/src/index.js +67 -0
- package/dist/src/options.js +256 -0
- package/dist/src/parser.js +7 -0
- package/dist/src/printer.js +28 -0
- package/dist/src/printers/arrays.js +49 -0
- package/dist/src/printers/blocks-and-statements.js +493 -0
- package/dist/src/printers/classes.js +724 -0
- package/dist/src/printers/comments/comments-utils.js +29 -0
- package/dist/src/printers/comments/format-comments.js +187 -0
- package/dist/src/printers/comments/handle-comments.js +38 -0
- package/dist/src/printers/expressions.js +549 -0
- package/dist/src/printers/interfaces.js +251 -0
- package/dist/src/printers/lexical-structure.js +43 -0
- package/dist/src/printers/names.js +53 -0
- package/dist/src/printers/packages-and-modules.js +185 -0
- package/dist/src/printers/prettier-builder.js +47 -0
- package/dist/src/printers/printer-utils.js +577 -0
- package/dist/src/printers/types-values-and-variables.js +183 -0
- package/dist/src/types/utils.js +29 -0
- package/dist/src/utils/expressions-utils.js +29 -0
- package/dist/src/utils/index.js +10 -0
- package/dist/src/utils/printArgumentListWithBraces.js +21 -0
- package/dist/src/utils/printSingleLambdaInvocation.js +20 -0
- package/dist/test/babel-register.js +3 -0
- package/dist/test/repository-test/core-test.js +12 -0
- package/dist/test/repository-test/jhipster-1-test.js +17 -0
- package/dist/test/repository-test/jhipster-2-test.js +16 -0
- package/dist/test/test-utils.js +215 -0
- package/dist/test/unit-test/annotation_type_declaration/annotation_type_declaration-spec.js +6 -0
- package/dist/test/unit-test/args/args-spec.js +6 -0
- package/dist/test/unit-test/assert/assert-spec.js +6 -0
- package/dist/test/unit-test/binary_expressions/binary_expressions-spec.js +6 -0
- package/dist/test/unit-test/blank_lines/blank_lines-spec.js +6 -0
- package/dist/test/unit-test/bug-fixes/bug-fixes-spec.js +6 -0
- package/dist/test/unit-test/cast/cast-spec.js +6 -0
- package/dist/test/unit-test/char_literal/char_literal-spec.js +6 -0
- package/dist/test/unit-test/classes/multiple_classes-spec.js +6 -0
- package/dist/test/unit-test/comments/comments-spec.js +14 -0
- package/dist/test/unit-test/complex_generic_class/complex_generic_class-spec.js +6 -0
- package/dist/test/unit-test/constructors/constructors-spec.js +6 -0
- package/dist/test/unit-test/empty_statement/empty_statement-spec.js +6 -0
- package/dist/test/unit-test/enum/enum-spec.js +6 -0
- package/dist/test/unit-test/expressions/expressions-spec.js +6 -0
- package/dist/test/unit-test/extends_abstract_class/extends_abstract_class-spec.js +6 -0
- package/dist/test/unit-test/extends_abstract_class_and_implements_interfaces/extends_abstract_class_and_implements_interfaces-spec.js +6 -0
- package/dist/test/unit-test/for/for-spec.js +6 -0
- package/dist/test/unit-test/generic_class/generic_class-spec.js +6 -0
- package/dist/test/unit-test/generic_questionmark/generic_questionmark-spec.js +6 -0
- package/dist/test/unit-test/hello-world/hello-word-spec.js +6 -0
- package/dist/test/unit-test/if/if-spec.js +6 -0
- package/dist/test/unit-test/indent/indent-spec.js +6 -0
- package/dist/test/unit-test/instantiation/instantiation-spec.js +6 -0
- package/dist/test/unit-test/interface/interface-spec.js +6 -0
- package/dist/test/unit-test/lambda/lambda-spec.js +6 -0
- package/dist/test/unit-test/marker_annotations/marker_annotations-spec.js +6 -0
- package/dist/test/unit-test/member_chain/member_chain-spec.js +6 -0
- package/dist/test/unit-test/method_reference/method_reference-spec.js +6 -0
- package/dist/test/unit-test/modifiers/modifiers-spec.js +6 -0
- package/dist/test/unit-test/modules/modules-spec.js +6 -0
- package/dist/test/unit-test/package_and_imports/package_and_imports-spec.js +34 -0
- package/dist/test/unit-test/pattern-matching/pattern-matching-spec.js +6 -0
- package/dist/test/unit-test/prettier-ignore/prettier-ignore-spec.js +28 -0
- package/dist/test/unit-test/records/records-spec.js +6 -0
- package/dist/test/unit-test/return/return-spec.js +6 -0
- package/dist/test/unit-test/sealed/sealed-spec.js +6 -0
- package/dist/test/unit-test/snippets/arrays/array-initializer.spec.js +94 -0
- package/dist/test/unit-test/snippets/arrays/variable-initializer-list.spec.js +19 -0
- package/dist/test/unit-test/snippets/blocks-and-statements/switch.spec.js +26 -0
- package/dist/test/unit-test/snippets/classes/class-body.spec.js +181 -0
- package/dist/test/unit-test/snippets/classes/enum-body.spec.js +87 -0
- package/dist/test/unit-test/snippets/classes/variableDeclarator/test.spec.js +186 -0
- package/dist/test/unit-test/snippets/interfaces/element-value-array-initializer.spec.js +85 -0
- package/dist/test/unit-test/snippets/names/ambiguousName/test.spec.js +19 -0
- package/dist/test/unit-test/snippets/names/expressionName/test.spec.js +19 -0
- package/dist/test/unit-test/snippets/names/methodName/test.spec.js +12 -0
- package/dist/test/unit-test/snippets/names/packageOrTypeName/test.spec.js +19 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/floatingPointType/test.spec.js +19 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/integralType/test.spec.js +40 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/numericType/test.spec.js +88 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/wildcard/test.spec.js +112 -0
- package/dist/test/unit-test/snippets/types-values-and-variables/wildcardBounds/test.spec.js +81 -0
- package/dist/test/unit-test/switch/switch-spec.js +6 -0
- package/dist/test/unit-test/synchronized/synchronized-spec.js +6 -0
- package/dist/test/unit-test/text-blocks/text-block-spec.js +6 -0
- package/dist/test/unit-test/throws/throws-spec.js +6 -0
- package/dist/test/unit-test/try_catch/try_catch-spec.js +6 -0
- package/dist/test/unit-test/types/types-spec.js +6 -0
- package/dist/test/unit-test/variables/variables-spec.js +6 -0
- package/dist/test/unit-test/while/while-spec.js +6 -0
- package/dist/test/unit-test/yield-statement/yield-statement-spec.js +6 -0
- package/dist/types/utils.js +1 -0
- package/dist/utils/expressions-utils.js +1 -0
- package/dist/utils/index.js +4 -1
- package/dist/utils/isEmptyDoc.js +7 -0
- package/dist/utils/printArgumentListWithBraces.js +3 -2
- package/dist/utils/printSingleLambdaInvocation.js +5 -4
- package/package.json +21 -21
- package/dist/utils/constants.js +0 -4
|
@@ -25,10 +25,14 @@ var __assign = (this && this.__assign) || function () {
|
|
|
25
25
|
};
|
|
26
26
|
return __assign.apply(this, arguments);
|
|
27
27
|
};
|
|
28
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
29
|
-
for (var i = 0,
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
29
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
30
|
+
if (ar || !(i in from)) {
|
|
31
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
32
|
+
ar[i] = from[i];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
32
36
|
};
|
|
33
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
38
|
exports.BlocksAndStatementPrettierVisitor = void 0;
|
|
@@ -46,30 +50,30 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
46
50
|
}
|
|
47
51
|
BlocksAndStatementPrettierVisitor.prototype.block = function (ctx) {
|
|
48
52
|
var blockStatements = this.visit(ctx.blockStatements);
|
|
49
|
-
return printer_utils_1.putIntoBraces(blockStatements, hardline, ctx.LCurly[0], ctx.RCurly[0]);
|
|
53
|
+
return (0, printer_utils_1.putIntoBraces)(blockStatements, hardline, ctx.LCurly[0], ctx.RCurly[0]);
|
|
50
54
|
};
|
|
51
55
|
BlocksAndStatementPrettierVisitor.prototype.blockStatements = function (ctx) {
|
|
52
56
|
var blockStatement = this.mapVisit(ctx.blockStatement);
|
|
53
|
-
var separators = printer_utils_1.rejectSeparators(printer_utils_1.getBlankLinesSeparator(ctx.blockStatement), blockStatement);
|
|
54
|
-
return printer_utils_1.rejectAndJoinSeps(separators, blockStatement);
|
|
57
|
+
var separators = (0, printer_utils_1.rejectSeparators)((0, printer_utils_1.getBlankLinesSeparator)(ctx.blockStatement), blockStatement);
|
|
58
|
+
return (0, printer_utils_1.rejectAndJoinSeps)(separators, blockStatement);
|
|
55
59
|
};
|
|
56
60
|
BlocksAndStatementPrettierVisitor.prototype.blockStatement = function (ctx) {
|
|
57
61
|
return this.visitSingle(ctx);
|
|
58
62
|
};
|
|
59
63
|
BlocksAndStatementPrettierVisitor.prototype.localVariableDeclarationStatement = function (ctx) {
|
|
60
64
|
var localVariableDeclaration = this.visit(ctx.localVariableDeclaration);
|
|
61
|
-
return printer_utils_1.rejectAndConcat([localVariableDeclaration, ctx.Semicolon[0]]);
|
|
65
|
+
return (0, printer_utils_1.rejectAndConcat)([localVariableDeclaration, ctx.Semicolon[0]]);
|
|
62
66
|
};
|
|
63
67
|
BlocksAndStatementPrettierVisitor.prototype.localVariableDeclaration = function (ctx) {
|
|
64
|
-
var modifiers = printer_utils_1.sortModifiers(ctx.variableModifier);
|
|
68
|
+
var modifiers = (0, printer_utils_1.sortModifiers)(ctx.variableModifier);
|
|
65
69
|
var firstAnnotations = this.mapVisit(modifiers[0]);
|
|
66
70
|
var finalModifiers = this.mapVisit(modifiers[1]);
|
|
67
71
|
var localVariableType = this.visit(ctx.localVariableType);
|
|
68
72
|
var variableDeclaratorList = this.visit(ctx.variableDeclaratorList);
|
|
69
|
-
return printer_utils_1.rejectAndJoin(hardline, [
|
|
70
|
-
printer_utils_1.rejectAndJoin(hardline, firstAnnotations),
|
|
71
|
-
printer_utils_1.rejectAndJoin(" ", [
|
|
72
|
-
printer_utils_1.rejectAndJoin(" ", finalModifiers),
|
|
73
|
+
return (0, printer_utils_1.rejectAndJoin)(hardline, [
|
|
74
|
+
(0, printer_utils_1.rejectAndJoin)(hardline, firstAnnotations),
|
|
75
|
+
(0, printer_utils_1.rejectAndJoin)(" ", [
|
|
76
|
+
(0, printer_utils_1.rejectAndJoin)(" ", finalModifiers),
|
|
73
77
|
localVariableType,
|
|
74
78
|
variableDeclaratorList
|
|
75
79
|
])
|
|
@@ -79,7 +83,7 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
79
83
|
if (ctx.unannType) {
|
|
80
84
|
return this.visitSingle(ctx);
|
|
81
85
|
}
|
|
82
|
-
return format_comments_1.printTokenWithComments(this.getSingle(ctx));
|
|
86
|
+
return (0, format_comments_1.printTokenWithComments)(this.getSingle(ctx));
|
|
83
87
|
};
|
|
84
88
|
BlocksAndStatementPrettierVisitor.prototype.statement = function (ctx, params) {
|
|
85
89
|
// handling Labeled statements comments
|
|
@@ -109,16 +113,16 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
109
113
|
return this.visitSingle(ctx, params);
|
|
110
114
|
};
|
|
111
115
|
BlocksAndStatementPrettierVisitor.prototype.emptyStatement = function (ctx, params) {
|
|
112
|
-
return printer_utils_1.displaySemicolon(ctx.Semicolon[0], params);
|
|
116
|
+
return (0, printer_utils_1.displaySemicolon)(ctx.Semicolon[0], params);
|
|
113
117
|
};
|
|
114
118
|
BlocksAndStatementPrettierVisitor.prototype.labeledStatement = function (ctx) {
|
|
115
119
|
var identifier = ctx.Identifier[0];
|
|
116
120
|
var statement = this.visit(ctx.statement);
|
|
117
|
-
return printer_utils_1.rejectAndJoin(ctx.Colon[0], [identifier, statement]);
|
|
121
|
+
return (0, printer_utils_1.rejectAndJoin)(ctx.Colon[0], [identifier, statement]);
|
|
118
122
|
};
|
|
119
123
|
BlocksAndStatementPrettierVisitor.prototype.expressionStatement = function (ctx) {
|
|
120
124
|
var statementExpression = this.visit(ctx.statementExpression);
|
|
121
|
-
return printer_utils_1.rejectAndConcat([statementExpression, ctx.Semicolon[0]]);
|
|
125
|
+
return (0, printer_utils_1.rejectAndConcat)([statementExpression, ctx.Semicolon[0]]);
|
|
122
126
|
};
|
|
123
127
|
BlocksAndStatementPrettierVisitor.prototype.statementExpression = function (ctx) {
|
|
124
128
|
return this.visitSingle(ctx);
|
|
@@ -128,27 +132,27 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
128
132
|
var ifStatement = this.visit(ctx.statement[0], {
|
|
129
133
|
allowEmptyStatement: true
|
|
130
134
|
});
|
|
131
|
-
var ifSeparator = printer_utils_1.isStatementEmptyStatement(ifStatement) ? "" : " ";
|
|
135
|
+
var ifSeparator = (0, printer_utils_1.isStatementEmptyStatement)(ifStatement) ? "" : " ";
|
|
132
136
|
var elsePart = "";
|
|
133
137
|
if (ctx.Else !== undefined) {
|
|
134
138
|
var elseStatement = this.visit(ctx.statement[1], {
|
|
135
139
|
allowEmptyStatement: true
|
|
136
140
|
});
|
|
137
|
-
var elseSeparator = printer_utils_1.isStatementEmptyStatement(elseStatement) ? "" : " ";
|
|
138
|
-
var elseOnSameLine = comments_utils_1.hasTrailingLineComments(ctx.statement[0]) ||
|
|
139
|
-
comments_utils_1.hasLeadingLineComments(ctx.Else[0])
|
|
141
|
+
var elseSeparator = (0, printer_utils_1.isStatementEmptyStatement)(elseStatement) ? "" : " ";
|
|
142
|
+
var elseOnSameLine = (0, comments_utils_1.hasTrailingLineComments)(ctx.statement[0]) ||
|
|
143
|
+
(0, comments_utils_1.hasLeadingLineComments)(ctx.Else[0])
|
|
140
144
|
? hardline
|
|
141
145
|
: " ";
|
|
142
|
-
elsePart = printer_utils_1.rejectAndJoin(elseSeparator, [
|
|
143
|
-
prettier_builder_1.concat([elseOnSameLine, ctx.Else[0]]),
|
|
146
|
+
elsePart = (0, printer_utils_1.rejectAndJoin)(elseSeparator, [
|
|
147
|
+
(0, prettier_builder_1.concat)([elseOnSameLine, ctx.Else[0]]),
|
|
144
148
|
elseStatement
|
|
145
149
|
]);
|
|
146
150
|
}
|
|
147
|
-
return printer_utils_1.rejectAndConcat([
|
|
148
|
-
printer_utils_1.rejectAndJoin(" ", [
|
|
151
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
152
|
+
(0, printer_utils_1.rejectAndJoin)(" ", [
|
|
149
153
|
ctx.If[0],
|
|
150
|
-
prettier_builder_1.concat([
|
|
151
|
-
printer_utils_1.putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
154
|
+
(0, prettier_builder_1.concat)([
|
|
155
|
+
(0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
152
156
|
ifSeparator
|
|
153
157
|
])
|
|
154
158
|
]),
|
|
@@ -159,18 +163,18 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
159
163
|
BlocksAndStatementPrettierVisitor.prototype.assertStatement = function (ctx) {
|
|
160
164
|
var expressions = this.mapVisit(ctx.expression);
|
|
161
165
|
var colon = ctx.Colon ? ctx.Colon[0] : ":";
|
|
162
|
-
return printer_utils_1.rejectAndConcat([
|
|
163
|
-
prettier_builder_1.concat([ctx.Assert[0], " "]),
|
|
164
|
-
printer_utils_1.rejectAndJoin(prettier_builder_1.concat([" ", colon, " "]), expressions),
|
|
166
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
167
|
+
(0, prettier_builder_1.concat)([ctx.Assert[0], " "]),
|
|
168
|
+
(0, printer_utils_1.rejectAndJoin)((0, prettier_builder_1.concat)([" ", colon, " "]), expressions),
|
|
165
169
|
ctx.Semicolon[0]
|
|
166
170
|
]);
|
|
167
171
|
};
|
|
168
172
|
BlocksAndStatementPrettierVisitor.prototype.switchStatement = function (ctx) {
|
|
169
173
|
var expression = this.visit(ctx.expression);
|
|
170
174
|
var switchBlock = this.visit(ctx.switchBlock);
|
|
171
|
-
return printer_utils_1.rejectAndJoin(" ", [
|
|
175
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", [
|
|
172
176
|
ctx.Switch[0],
|
|
173
|
-
printer_utils_1.putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
177
|
+
(0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
174
178
|
switchBlock
|
|
175
179
|
]);
|
|
176
180
|
};
|
|
@@ -178,40 +182,40 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
178
182
|
var switchCases = ctx.switchBlockStatementGroup !== undefined
|
|
179
183
|
? this.mapVisit(ctx.switchBlockStatementGroup)
|
|
180
184
|
: this.mapVisit(ctx.switchRule);
|
|
181
|
-
return printer_utils_1.putIntoBraces(printer_utils_1.rejectAndJoin(hardline, switchCases), hardline, ctx.LCurly[0], ctx.RCurly[0]);
|
|
185
|
+
return (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndJoin)(hardline, switchCases), hardline, ctx.LCurly[0], ctx.RCurly[0]);
|
|
182
186
|
};
|
|
183
187
|
BlocksAndStatementPrettierVisitor.prototype.switchBlockStatementGroup = function (ctx) {
|
|
184
188
|
var switchLabel = this.visit(ctx.switchLabel);
|
|
185
189
|
var blockStatements = this.visit(ctx.blockStatements);
|
|
186
|
-
return prettier_builder_1.concat([
|
|
190
|
+
return (0, prettier_builder_1.concat)([
|
|
187
191
|
switchLabel,
|
|
188
192
|
ctx.Colon[0],
|
|
189
|
-
blockStatements && prettier_builder_1.indent([hardline, blockStatements])
|
|
193
|
+
blockStatements && (0, prettier_builder_1.indent)([hardline, blockStatements])
|
|
190
194
|
]);
|
|
191
195
|
};
|
|
192
196
|
BlocksAndStatementPrettierVisitor.prototype.switchLabel = function (ctx) {
|
|
193
197
|
var caseOrDefaultLabels = this.mapVisit(ctx.caseOrDefaultLabel);
|
|
194
198
|
var colons = ctx.Colon
|
|
195
199
|
? ctx.Colon.map(function (elt) {
|
|
196
|
-
return prettier_builder_1.concat([elt, hardline]);
|
|
200
|
+
return (0, prettier_builder_1.concat)([elt, hardline]);
|
|
197
201
|
})
|
|
198
202
|
: [];
|
|
199
|
-
return prettier_builder_1.group(printer_utils_1.rejectAndJoinSeps(colons, caseOrDefaultLabels));
|
|
203
|
+
return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoinSeps)(colons, caseOrDefaultLabels));
|
|
200
204
|
};
|
|
201
205
|
BlocksAndStatementPrettierVisitor.prototype.caseOrDefaultLabel = function (ctx) {
|
|
202
206
|
if (ctx.Case) {
|
|
203
207
|
var caseLabelElements = this.mapVisit(ctx.caseLabelElement);
|
|
204
208
|
var commas = ctx.Comma
|
|
205
209
|
? ctx.Comma.map(function (elt) {
|
|
206
|
-
return prettier_builder_1.concat([elt, line]);
|
|
210
|
+
return (0, prettier_builder_1.concat)([elt, line]);
|
|
207
211
|
})
|
|
208
212
|
: [];
|
|
209
|
-
return prettier_builder_1.group(prettier_builder_1.indent(printer_utils_1.rejectAndConcat([
|
|
210
|
-
prettier_builder_1.concat([ctx.Case[0], " "]),
|
|
211
|
-
printer_utils_1.rejectAndJoinSeps(commas, caseLabelElements)
|
|
213
|
+
return (0, prettier_builder_1.group)((0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([
|
|
214
|
+
(0, prettier_builder_1.concat)([ctx.Case[0], " "]),
|
|
215
|
+
(0, printer_utils_1.rejectAndJoinSeps)(commas, caseLabelElements)
|
|
212
216
|
])));
|
|
213
217
|
}
|
|
214
|
-
return prettier_builder_1.concat([ctx.Default[0]]);
|
|
218
|
+
return (0, prettier_builder_1.concat)([ctx.Default[0]]);
|
|
215
219
|
};
|
|
216
220
|
BlocksAndStatementPrettierVisitor.prototype.caseLabelElement = function (ctx) {
|
|
217
221
|
if (ctx.Default || ctx.Null) {
|
|
@@ -229,9 +233,9 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
229
233
|
caseInstruction = this.visit(ctx.block);
|
|
230
234
|
}
|
|
231
235
|
else {
|
|
232
|
-
caseInstruction = prettier_builder_1.concat([this.visit(ctx.expression), ctx.Semicolon[0]]);
|
|
236
|
+
caseInstruction = (0, prettier_builder_1.concat)([this.visit(ctx.expression), ctx.Semicolon[0]]);
|
|
233
237
|
}
|
|
234
|
-
return prettier_builder_1.join(" ", [switchLabel, ctx.Arrow[0], caseInstruction]);
|
|
238
|
+
return (0, prettier_builder_1.join)(" ", [switchLabel, ctx.Arrow[0], caseInstruction]);
|
|
235
239
|
};
|
|
236
240
|
BlocksAndStatementPrettierVisitor.prototype.caseConstant = function (ctx) {
|
|
237
241
|
return this.visitSingle(ctx);
|
|
@@ -241,11 +245,11 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
241
245
|
var statement = this.visit(ctx.statement[0], {
|
|
242
246
|
allowEmptyStatement: true
|
|
243
247
|
});
|
|
244
|
-
var statementSeparator = printer_utils_1.isStatementEmptyStatement(statement) ? "" : " ";
|
|
245
|
-
return printer_utils_1.rejectAndJoin(" ", [
|
|
248
|
+
var statementSeparator = (0, printer_utils_1.isStatementEmptyStatement)(statement) ? "" : " ";
|
|
249
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", [
|
|
246
250
|
ctx.While[0],
|
|
247
|
-
printer_utils_1.rejectAndJoin(statementSeparator, [
|
|
248
|
-
printer_utils_1.putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
251
|
+
(0, printer_utils_1.rejectAndJoin)(statementSeparator, [
|
|
252
|
+
(0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
249
253
|
statement
|
|
250
254
|
])
|
|
251
255
|
]);
|
|
@@ -254,13 +258,13 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
254
258
|
var statement = this.visit(ctx.statement[0], {
|
|
255
259
|
allowEmptyStatement: true
|
|
256
260
|
});
|
|
257
|
-
var statementSeparator = printer_utils_1.isStatementEmptyStatement(statement) ? "" : " ";
|
|
261
|
+
var statementSeparator = (0, printer_utils_1.isStatementEmptyStatement)(statement) ? "" : " ";
|
|
258
262
|
var expression = this.visit(ctx.expression);
|
|
259
|
-
return printer_utils_1.rejectAndJoin(" ", [
|
|
260
|
-
printer_utils_1.rejectAndJoin(statementSeparator, [ctx.Do[0], statement]),
|
|
263
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", [
|
|
264
|
+
(0, printer_utils_1.rejectAndJoin)(statementSeparator, [ctx.Do[0], statement]),
|
|
261
265
|
ctx.While[0],
|
|
262
|
-
printer_utils_1.rejectAndConcat([
|
|
263
|
-
printer_utils_1.putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
266
|
+
(0, printer_utils_1.rejectAndConcat)([
|
|
267
|
+
(0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
264
268
|
ctx.Semicolon[0]
|
|
265
269
|
])
|
|
266
270
|
]);
|
|
@@ -275,14 +279,14 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
275
279
|
var statement = this.visit(ctx.statement[0], {
|
|
276
280
|
allowEmptyStatement: true
|
|
277
281
|
});
|
|
278
|
-
var statementSeparator = printer_utils_1.isStatementEmptyStatement(statement) ? "" : " ";
|
|
279
|
-
return printer_utils_1.rejectAndConcat([
|
|
280
|
-
printer_utils_1.rejectAndJoin(" ", [
|
|
282
|
+
var statementSeparator = (0, printer_utils_1.isStatementEmptyStatement)(statement) ? "" : " ";
|
|
283
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
284
|
+
(0, printer_utils_1.rejectAndJoin)(" ", [
|
|
281
285
|
ctx.For[0],
|
|
282
|
-
printer_utils_1.putIntoBraces(printer_utils_1.rejectAndConcat([
|
|
286
|
+
(0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndConcat)([
|
|
283
287
|
forInit,
|
|
284
|
-
printer_utils_1.rejectAndJoin(line, [ctx.Semicolon[0], expression]),
|
|
285
|
-
printer_utils_1.rejectAndJoin(line, [ctx.Semicolon[1], forUpdate])
|
|
288
|
+
(0, printer_utils_1.rejectAndJoin)(line, [ctx.Semicolon[0], expression]),
|
|
289
|
+
(0, printer_utils_1.rejectAndJoin)(line, [ctx.Semicolon[1], forUpdate])
|
|
286
290
|
]), softline, ctx.LBrace[0], ctx.RBrace[0])
|
|
287
291
|
]),
|
|
288
292
|
statementSeparator,
|
|
@@ -299,10 +303,10 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
299
303
|
var statementExpressions = this.mapVisit(ctx.statementExpression);
|
|
300
304
|
var commas = ctx.Comma
|
|
301
305
|
? ctx.Comma.map(function (elt) {
|
|
302
|
-
return prettier_builder_1.concat([format_comments_1.printTokenWithComments(elt), " "]);
|
|
306
|
+
return (0, prettier_builder_1.concat)([(0, format_comments_1.printTokenWithComments)(elt), " "]);
|
|
303
307
|
})
|
|
304
308
|
: [];
|
|
305
|
-
return printer_utils_1.rejectAndJoinSeps(commas, statementExpressions);
|
|
309
|
+
return (0, printer_utils_1.rejectAndJoinSeps)(commas, statementExpressions);
|
|
306
310
|
};
|
|
307
311
|
BlocksAndStatementPrettierVisitor.prototype.enhancedForStatement = function (ctx) {
|
|
308
312
|
var variableModifiers = this.mapVisit(ctx.variableModifier);
|
|
@@ -312,59 +316,59 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
312
316
|
var statement = this.visit(ctx.statement[0], {
|
|
313
317
|
allowEmptyStatement: true
|
|
314
318
|
});
|
|
315
|
-
var statementSeparator = printer_utils_1.isStatementEmptyStatement(statement) ? "" : " ";
|
|
316
|
-
return printer_utils_1.rejectAndConcat([
|
|
317
|
-
printer_utils_1.rejectAndJoin(" ", [ctx.For[0], ctx.LBrace[0]]),
|
|
318
|
-
printer_utils_1.rejectAndJoin(" ", [
|
|
319
|
-
printer_utils_1.rejectAndJoin(" ", variableModifiers),
|
|
319
|
+
var statementSeparator = (0, printer_utils_1.isStatementEmptyStatement)(statement) ? "" : " ";
|
|
320
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
321
|
+
(0, printer_utils_1.rejectAndJoin)(" ", [ctx.For[0], ctx.LBrace[0]]),
|
|
322
|
+
(0, printer_utils_1.rejectAndJoin)(" ", [
|
|
323
|
+
(0, printer_utils_1.rejectAndJoin)(" ", variableModifiers),
|
|
320
324
|
localVariableType,
|
|
321
325
|
variableDeclaratorId
|
|
322
326
|
]),
|
|
323
|
-
prettier_builder_1.concat([" ", ctx.Colon[0], " "]),
|
|
327
|
+
(0, prettier_builder_1.concat)([" ", ctx.Colon[0], " "]),
|
|
324
328
|
expression,
|
|
325
|
-
prettier_builder_1.concat([ctx.RBrace[0], statementSeparator]),
|
|
329
|
+
(0, prettier_builder_1.concat)([ctx.RBrace[0], statementSeparator]),
|
|
326
330
|
statement
|
|
327
331
|
]);
|
|
328
332
|
};
|
|
329
333
|
BlocksAndStatementPrettierVisitor.prototype.breakStatement = function (ctx) {
|
|
330
334
|
if (ctx.Identifier) {
|
|
331
335
|
var identifier = ctx.Identifier[0];
|
|
332
|
-
return printer_utils_1.rejectAndConcat([
|
|
333
|
-
prettier_builder_1.concat([ctx.Break[0], " "]),
|
|
336
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
337
|
+
(0, prettier_builder_1.concat)([ctx.Break[0], " "]),
|
|
334
338
|
identifier,
|
|
335
339
|
ctx.Semicolon[0]
|
|
336
340
|
]);
|
|
337
341
|
}
|
|
338
|
-
return prettier_builder_1.concat([ctx.Break[0], ctx.Semicolon[0]]);
|
|
342
|
+
return (0, prettier_builder_1.concat)([ctx.Break[0], ctx.Semicolon[0]]);
|
|
339
343
|
};
|
|
340
344
|
BlocksAndStatementPrettierVisitor.prototype.continueStatement = function (ctx) {
|
|
341
345
|
if (ctx.Identifier) {
|
|
342
346
|
var identifier = ctx.Identifier[0];
|
|
343
|
-
return printer_utils_1.rejectAndConcat([
|
|
344
|
-
prettier_builder_1.concat([ctx.Continue[0], " "]),
|
|
347
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
348
|
+
(0, prettier_builder_1.concat)([ctx.Continue[0], " "]),
|
|
345
349
|
identifier,
|
|
346
350
|
ctx.Semicolon[0]
|
|
347
351
|
]);
|
|
348
352
|
}
|
|
349
|
-
return printer_utils_1.rejectAndConcat([ctx.Continue[0], ctx.Semicolon[0]]);
|
|
353
|
+
return (0, printer_utils_1.rejectAndConcat)([ctx.Continue[0], ctx.Semicolon[0]]);
|
|
350
354
|
};
|
|
351
355
|
BlocksAndStatementPrettierVisitor.prototype.returnStatement = function (ctx) {
|
|
352
356
|
if (ctx.expression) {
|
|
353
357
|
var expression = this.visit(ctx.expression, {
|
|
354
358
|
addParenthesisToWrapStatement: true
|
|
355
359
|
});
|
|
356
|
-
return printer_utils_1.rejectAndConcat([
|
|
357
|
-
prettier_builder_1.concat([ctx.Return[0], " "]),
|
|
360
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
361
|
+
(0, prettier_builder_1.concat)([ctx.Return[0], " "]),
|
|
358
362
|
expression,
|
|
359
363
|
ctx.Semicolon[0]
|
|
360
364
|
]);
|
|
361
365
|
}
|
|
362
|
-
return printer_utils_1.rejectAndConcat([ctx.Return[0], ctx.Semicolon[0]]);
|
|
366
|
+
return (0, printer_utils_1.rejectAndConcat)([ctx.Return[0], ctx.Semicolon[0]]);
|
|
363
367
|
};
|
|
364
368
|
BlocksAndStatementPrettierVisitor.prototype.throwStatement = function (ctx) {
|
|
365
369
|
var expression = this.visit(ctx.expression);
|
|
366
|
-
return printer_utils_1.rejectAndConcat([
|
|
367
|
-
prettier_builder_1.concat([ctx.Throw[0], " "]),
|
|
370
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
371
|
+
(0, prettier_builder_1.concat)([ctx.Throw[0], " "]),
|
|
368
372
|
expression,
|
|
369
373
|
ctx.Semicolon[0]
|
|
370
374
|
]);
|
|
@@ -372,11 +376,11 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
372
376
|
BlocksAndStatementPrettierVisitor.prototype.synchronizedStatement = function (ctx) {
|
|
373
377
|
var expression = this.visit(ctx.expression);
|
|
374
378
|
var block = this.visit(ctx.block);
|
|
375
|
-
return printer_utils_1.rejectAndConcat([
|
|
376
|
-
prettier_builder_1.join(" ", [
|
|
379
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
380
|
+
(0, prettier_builder_1.join)(" ", [
|
|
377
381
|
ctx.Synchronized[0],
|
|
378
|
-
prettier_builder_1.concat([
|
|
379
|
-
printer_utils_1.putIntoBraces(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
382
|
+
(0, prettier_builder_1.concat)([
|
|
383
|
+
(0, printer_utils_1.putIntoBraces)(expression, softline, ctx.LBrace[0], ctx.RBrace[0]),
|
|
380
384
|
" "
|
|
381
385
|
])
|
|
382
386
|
]),
|
|
@@ -390,21 +394,21 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
390
394
|
var block = this.visit(ctx.block);
|
|
391
395
|
var catches = this.visit(ctx.catches);
|
|
392
396
|
var finallyBlock = this.visit(ctx.finally);
|
|
393
|
-
return printer_utils_1.rejectAndJoin(" ", [ctx.Try[0], block, catches, finallyBlock]);
|
|
397
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", [ctx.Try[0], block, catches, finallyBlock]);
|
|
394
398
|
};
|
|
395
399
|
BlocksAndStatementPrettierVisitor.prototype.catches = function (ctx) {
|
|
396
400
|
var catchClauses = this.mapVisit(ctx.catchClause);
|
|
397
|
-
return printer_utils_1.rejectAndJoin(" ", catchClauses);
|
|
401
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", catchClauses);
|
|
398
402
|
};
|
|
399
403
|
BlocksAndStatementPrettierVisitor.prototype.catchClause = function (ctx) {
|
|
400
404
|
var catchFormalParameter = this.visit(ctx.catchFormalParameter);
|
|
401
405
|
var block = this.visit(ctx.block);
|
|
402
|
-
return printer_utils_1.rejectAndConcat([
|
|
403
|
-
prettier_builder_1.group(printer_utils_1.rejectAndConcat([
|
|
404
|
-
printer_utils_1.rejectAndJoin(" ", [ctx.Catch[0], ctx.LBrace[0]]),
|
|
405
|
-
prettier_builder_1.indent(printer_utils_1.rejectAndConcat([softline, catchFormalParameter])),
|
|
406
|
+
return (0, printer_utils_1.rejectAndConcat)([
|
|
407
|
+
(0, prettier_builder_1.group)((0, printer_utils_1.rejectAndConcat)([
|
|
408
|
+
(0, printer_utils_1.rejectAndJoin)(" ", [ctx.Catch[0], ctx.LBrace[0]]),
|
|
409
|
+
(0, prettier_builder_1.indent)((0, printer_utils_1.rejectAndConcat)([softline, catchFormalParameter])),
|
|
406
410
|
softline,
|
|
407
|
-
prettier_builder_1.concat([ctx.RBrace[0], " "])
|
|
411
|
+
(0, prettier_builder_1.concat)([ctx.RBrace[0], " "])
|
|
408
412
|
])),
|
|
409
413
|
block
|
|
410
414
|
]);
|
|
@@ -413,8 +417,8 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
413
417
|
var variableModifiers = this.mapVisit(ctx.variableModifier);
|
|
414
418
|
var catchType = this.visit(ctx.catchType);
|
|
415
419
|
var variableDeclaratorId = this.visit(ctx.variableDeclaratorId);
|
|
416
|
-
return printer_utils_1.rejectAndJoin(" ", [
|
|
417
|
-
printer_utils_1.rejectAndJoin(" ", variableModifiers),
|
|
420
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", [
|
|
421
|
+
(0, printer_utils_1.rejectAndJoin)(" ", variableModifiers),
|
|
418
422
|
catchType,
|
|
419
423
|
variableDeclaratorId
|
|
420
424
|
]);
|
|
@@ -422,19 +426,19 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
422
426
|
BlocksAndStatementPrettierVisitor.prototype.catchType = function (ctx) {
|
|
423
427
|
var unannClassType = this.visit(ctx.unannClassType);
|
|
424
428
|
var classTypes = this.mapVisit(ctx.classType);
|
|
425
|
-
var ors = ctx.Or ? ctx.Or.map(function (elt) { return prettier_builder_1.concat([line, elt, " "]); }) : [];
|
|
426
|
-
return prettier_builder_1.group(printer_utils_1.rejectAndJoinSeps(ors, __spreadArray([unannClassType], classTypes)));
|
|
429
|
+
var ors = ctx.Or ? ctx.Or.map(function (elt) { return (0, prettier_builder_1.concat)([line, elt, " "]); }) : [];
|
|
430
|
+
return (0, prettier_builder_1.group)((0, printer_utils_1.rejectAndJoinSeps)(ors, __spreadArray([unannClassType], classTypes, true)));
|
|
427
431
|
};
|
|
428
432
|
BlocksAndStatementPrettierVisitor.prototype.finally = function (ctx) {
|
|
429
433
|
var block = this.visit(ctx.block);
|
|
430
|
-
return printer_utils_1.rejectAndJoin(" ", [ctx.Finally[0], block]);
|
|
434
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", [ctx.Finally[0], block]);
|
|
431
435
|
};
|
|
432
436
|
BlocksAndStatementPrettierVisitor.prototype.tryWithResourcesStatement = function (ctx) {
|
|
433
437
|
var resourceSpecification = this.visit(ctx.resourceSpecification);
|
|
434
438
|
var block = this.visit(ctx.block);
|
|
435
439
|
var catches = this.visit(ctx.catches);
|
|
436
440
|
var finallyBlock = this.visit(ctx.finally);
|
|
437
|
-
return printer_utils_1.rejectAndJoin(" ", [
|
|
441
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", [
|
|
438
442
|
ctx.Try[0],
|
|
439
443
|
resourceSpecification,
|
|
440
444
|
block,
|
|
@@ -445,16 +449,16 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
445
449
|
BlocksAndStatementPrettierVisitor.prototype.resourceSpecification = function (ctx) {
|
|
446
450
|
var resourceList = this.visit(ctx.resourceList);
|
|
447
451
|
var optionalSemicolon = ctx.Semicolon ? ctx.Semicolon[0] : "";
|
|
448
|
-
return printer_utils_1.putIntoBraces(printer_utils_1.rejectAndConcat([resourceList, optionalSemicolon]), softline, ctx.LBrace[0], ctx.RBrace[0]);
|
|
452
|
+
return (0, printer_utils_1.putIntoBraces)((0, printer_utils_1.rejectAndConcat)([resourceList, optionalSemicolon]), softline, ctx.LBrace[0], ctx.RBrace[0]);
|
|
449
453
|
};
|
|
450
454
|
BlocksAndStatementPrettierVisitor.prototype.resourceList = function (ctx) {
|
|
451
455
|
var resources = this.mapVisit(ctx.resource);
|
|
452
456
|
var semicolons = ctx.Semicolon
|
|
453
457
|
? ctx.Semicolon.map(function (elt) {
|
|
454
|
-
return prettier_builder_1.concat([elt, line]);
|
|
458
|
+
return (0, prettier_builder_1.concat)([elt, line]);
|
|
455
459
|
})
|
|
456
460
|
: [""];
|
|
457
|
-
return printer_utils_1.rejectAndJoinSeps(semicolons, resources);
|
|
461
|
+
return (0, printer_utils_1.rejectAndJoinSeps)(semicolons, resources);
|
|
458
462
|
};
|
|
459
463
|
BlocksAndStatementPrettierVisitor.prototype.resource = function (ctx) {
|
|
460
464
|
return this.visitSingle(ctx);
|
|
@@ -464,8 +468,8 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
464
468
|
var localVariableType = this.visit(ctx.localVariableType);
|
|
465
469
|
var identifier = ctx.Identifier[0];
|
|
466
470
|
var expression = this.visit(ctx.expression);
|
|
467
|
-
return printer_utils_1.rejectAndJoin(" ", [
|
|
468
|
-
printer_utils_1.rejectAndJoin(" ", variableModifiers),
|
|
471
|
+
return (0, printer_utils_1.rejectAndJoin)(" ", [
|
|
472
|
+
(0, printer_utils_1.rejectAndJoin)(" ", variableModifiers),
|
|
469
473
|
localVariableType,
|
|
470
474
|
identifier,
|
|
471
475
|
ctx.Equals[0],
|
|
@@ -474,7 +478,7 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
474
478
|
};
|
|
475
479
|
BlocksAndStatementPrettierVisitor.prototype.yieldStatement = function (ctx) {
|
|
476
480
|
var expression = this.visit(ctx.expression);
|
|
477
|
-
return prettier_builder_1.join(" ", [ctx.Yield[0], prettier_builder_1.concat([expression, ctx.Semicolon[0]])]);
|
|
481
|
+
return (0, prettier_builder_1.join)(" ", [ctx.Yield[0], (0, prettier_builder_1.concat)([expression, ctx.Semicolon[0]])]);
|
|
478
482
|
};
|
|
479
483
|
BlocksAndStatementPrettierVisitor.prototype.variableAccess = function (ctx) {
|
|
480
484
|
return this.visitSingle(ctx);
|
|
@@ -491,3 +495,4 @@ var BlocksAndStatementPrettierVisitor = /** @class */ (function (_super) {
|
|
|
491
495
|
return BlocksAndStatementPrettierVisitor;
|
|
492
496
|
}(base_cst_printer_1.BaseCstPrettierPrinter));
|
|
493
497
|
exports.BlocksAndStatementPrettierVisitor = BlocksAndStatementPrettierVisitor;
|
|
498
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tzLWFuZC1zdGF0ZW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ByaW50ZXJzL2Jsb2Nrcy1hbmQtc3RhdGVtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRWIsb0NBQXdDO0FBQ3hDLHVEQUF5RTtBQUN6RSw4REFBb0U7QUFDcEUsNERBR21DO0FBQ25DLGlEQVV5QjtBQUN6Qix3REFBNkQ7QUFzRHJELElBQUEsSUFBSSxHQUF5QixjQUFRLEtBQWpDLEVBQUUsUUFBUSxHQUFlLGNBQVEsU0FBdkIsRUFBRSxRQUFRLEdBQUssY0FBUSxTQUFiLENBQWM7QUFFOUM7SUFBdUQscURBQXNCO0lBQTdFOztJQWtrQkEsQ0FBQztJQWprQkMsaURBQUssR0FBTCxVQUFNLEdBQWE7UUFDakIsSUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFeEQsT0FBTyxJQUFBLDZCQUFhLEVBQ2xCLGVBQWUsRUFDZixRQUFRLEVBQ1IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDYixHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUNkLENBQUM7SUFDSixDQUFDO0lBRUQsMkRBQWUsR0FBZixVQUFnQixHQUF1QjtRQUNyQyxJQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV6RCxJQUFNLFVBQVUsR0FBRyxJQUFBLGdDQUFnQixFQUNqQyxJQUFBLHNDQUFzQixFQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFDMUMsY0FBYyxDQUNmLENBQUM7UUFFRixPQUFPLElBQUEsaUNBQWlCLEVBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCwwREFBYyxHQUFkLFVB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
|