@salesforce/source-deploy-retrieve 5.15.0 → 6.0.2
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/CHANGELOG.md +10 -0
- package/lib/src/client/deployStrategies/baseDeploy.d.ts +4 -3
- package/lib/src/client/deployStrategies/baseDeploy.js +10 -5
- package/lib/src/client/deployStrategies/baseDeploy.js.map +1 -1
- package/lib/src/client/deployStrategies/containerDeploy.d.ts +5 -4
- package/lib/src/client/deployStrategies/containerDeploy.js +20 -14
- package/lib/src/client/deployStrategies/containerDeploy.js.map +1 -1
- package/lib/src/client/index.d.ts +1 -1
- package/lib/src/client/index.js.map +1 -1
- package/lib/src/client/metadataApiDeploy.js +29 -37
- package/lib/src/client/metadataApiDeploy.js.map +1 -1
- package/lib/src/client/metadataApiRetrieve.js +10 -5
- package/lib/src/client/metadataApiRetrieve.js.map +1 -1
- package/lib/src/client/metadataTransfer.js +11 -3
- package/lib/src/client/metadataTransfer.js.map +1 -1
- package/lib/src/client/toolingApi.js +22 -15
- package/lib/src/client/toolingApi.js.map +1 -1
- package/lib/src/client/types.d.ts +3 -4
- package/lib/src/client/types.js.map +1 -1
- package/lib/src/collections/componentSet.d.ts +2 -2
- package/lib/src/collections/componentSet.js +15 -11
- package/lib/src/collections/componentSet.js.map +1 -1
- package/lib/src/collections/componentSetBuilder.js +3 -3
- package/lib/src/collections/componentSetBuilder.js.map +1 -1
- package/lib/src/convert/metadataConverter.js +19 -30
- package/lib/src/convert/metadataConverter.js.map +1 -1
- package/lib/src/convert/streams.js +6 -4
- package/lib/src/convert/streams.js.map +1 -1
- package/lib/src/convert/transformers/metadataTransformerFactory.js +4 -2
- package/lib/src/convert/transformers/metadataTransformerFactory.js.map +1 -1
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js +8 -3
- package/lib/src/convert/transformers/staticResourceMetadataTransformer.js.map +1 -1
- package/lib/src/index.d.ts +2 -2
- package/lib/src/index.js +2 -1
- package/lib/src/index.js.map +1 -1
- package/lib/src/registry/index.d.ts +1 -0
- package/lib/src/registry/index.js +3 -1
- package/lib/src/registry/index.js.map +1 -1
- package/lib/src/registry/metadataRegistry.json +4 -4
- package/lib/src/registry/registry.d.ts +1 -1
- package/lib/src/registry/registryAccess.d.ts +0 -4
- package/lib/src/registry/registryAccess.js +8 -6
- package/lib/src/registry/registryAccess.js.map +1 -1
- package/lib/src/registry/types.d.ts +0 -1
- package/lib/src/resolve/adapters/baseSourceAdapter.js +4 -2
- package/lib/src/resolve/adapters/baseSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/decomposedSourceAdapter.js +10 -2
- package/lib/src/resolve/adapters/decomposedSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/matchingContentSourceAdapter.js +9 -3
- package/lib/src/resolve/adapters/matchingContentSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/mixedContentSourceAdapter.js +4 -2
- package/lib/src/resolve/adapters/mixedContentSourceAdapter.js.map +1 -1
- package/lib/src/resolve/adapters/sourceAdapterFactory.js +10 -2
- package/lib/src/resolve/adapters/sourceAdapterFactory.js.map +1 -1
- package/lib/src/resolve/metadataResolver.js +7 -3
- package/lib/src/resolve/metadataResolver.js.map +1 -1
- package/lib/src/resolve/sourceComponent.js +9 -4
- package/lib/src/resolve/sourceComponent.js.map +1 -1
- package/lib/src/resolve/treeContainers.js +15 -8
- package/lib/src/resolve/treeContainers.js.map +1 -1
- package/messages/sdr.md +191 -0
- package/package.json +11 -10
- package/lib/src/errors/index.d.ts +0 -41
- package/lib/src/errors/index.js +0 -89
- package/lib/src/errors/index.js.map +0 -1
- package/lib/src/i18n/i18n.d.ts +0 -59
- package/lib/src/i18n/i18n.js +0 -70
- package/lib/src/i18n/i18n.js.map +0 -1
- package/lib/src/i18n/index.d.ts +0 -3
- package/lib/src/i18n/index.js +0 -24
- package/lib/src/i18n/index.js.map +0 -1
- package/lib/src/i18n/localization.d.ts +0 -17
- package/lib/src/i18n/localization.js +0 -70
- package/lib/src/i18n/localization.js.map +0 -1
package/lib/src/i18n/i18n.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.messages = void 0;
|
|
4
|
-
/*
|
|
5
|
-
* Copyright (c) 2020, salesforce.com, inc.
|
|
6
|
-
* All rights reserved.
|
|
7
|
-
* Licensed under the BSD 3-Clause license.
|
|
8
|
-
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
-
*/
|
|
10
|
-
/* eslint camelcase: 0 */
|
|
11
|
-
/**
|
|
12
|
-
* Conventions:
|
|
13
|
-
* _message: is for unformatted text that will be shown as-is to
|
|
14
|
-
* the user.
|
|
15
|
-
* _text: is for text that will appear in the UI, possibly with
|
|
16
|
-
* decorations, e.g., $(x) uses the https://octicons.github.com/ and should not
|
|
17
|
-
* be localized
|
|
18
|
-
*
|
|
19
|
-
* If ommitted, we will assume _message.
|
|
20
|
-
*/
|
|
21
|
-
exports.messages = {
|
|
22
|
-
md_request_fail: 'Metadata API request failed: %s',
|
|
23
|
-
md_request_timeout: 'Metadata API request timed out',
|
|
24
|
-
registry_error_missing_type_definition: 'Missing metadata type definition for %s',
|
|
25
|
-
registry_error_file_not_found: 'File not found %s',
|
|
26
|
-
registry_error_missing_metadata_xml: 'Metadata xml file missing for %s',
|
|
27
|
-
registry_error_unsupported_type: 'Types missing a defined suffix are currently unsupported',
|
|
28
|
-
beta_tapi_mdcontainer_error: 'Unexpected error creating metadata container',
|
|
29
|
-
beta_tapi_membertype_error: 'Unexpected error creating %s member',
|
|
30
|
-
beta_tapi_car_error: 'Unexpected error creating container async request',
|
|
31
|
-
beta_tapi_queue_status: 'The deploy is still in the queue',
|
|
32
|
-
beta_tapi_membertype_unsupported_error: "'%s' type not supported",
|
|
33
|
-
error_convert_invalid_format: "Invalid conversion format '%s'",
|
|
34
|
-
error_convert_not_implemented: '%s format conversion not yet implemented for type %s',
|
|
35
|
-
error_could_not_infer_type: '%s: Could not infer a metadata type',
|
|
36
|
-
error_unexpected_child_type: 'Unexpected child metadata [%s] found for parent type [%s]',
|
|
37
|
-
error_expected_source_files: "%s: Expected source files for type '%s'",
|
|
38
|
-
error_failed_convert: 'Component conversion failed: %s',
|
|
39
|
-
error_merge_metadata_target_unsupported: 'Merge convert for metadata target format currently unsupported',
|
|
40
|
-
error_in_tooling_retrieve: 'Unexpected error while retrieving using Tooling API. Stack trace: %s',
|
|
41
|
-
error_md_not_present_in_org: '%s was not found in org',
|
|
42
|
-
error_missing_adapter: "Missing adapter '%s' for metadata type '%s'",
|
|
43
|
-
error_missing_transformer: "Missing transformer '%s' for metadata type '%s'",
|
|
44
|
-
error_missing_metadata_xml: "%s: Metadata xml file missing for '%s'",
|
|
45
|
-
error_unsupported_content_metadata_xml: "%s: Unsupported content xml file for '%s'",
|
|
46
|
-
error_missing_type_definition: "Missing metadata type definition in registry for id '%s'.",
|
|
47
|
-
error_missing_child_type_definition: 'Type %s does not have a child type definition %s.',
|
|
48
|
-
error_no_metadata_xml_ignore: 'Metadata xml file %s is forceignored but is required for %s.',
|
|
49
|
-
error_no_source_ignore: '%s metadata types require source files, but %s is forceignored. \n\tACTION: Metadata types with content are composed of two files: a content file (ie MyApexClass.cls) and a -meta.xml file (i.e MyApexClass.cls-meta.xml). You must include both files in your .forceignore file. Or try appending “*” to your existing .forceignore entry.',
|
|
50
|
-
error_path_not_found: '%s: File or folder not found',
|
|
51
|
-
tapi_retrieve_component_limit_error: 'This retrieve method only supports retrieving one metadata component at a time',
|
|
52
|
-
error_on_manifest_creation: "Unexpected error while creating manifest for '%s'. Stack trace: %s",
|
|
53
|
-
error_creating_metadata_type: "Unexpected error creating '%s'",
|
|
54
|
-
error_updating_metadata_type: "Unexpected error updating '%s'",
|
|
55
|
-
error_parsing_metadata_file: 'Error parsing metadata file',
|
|
56
|
-
error_parsing_xml: 'SourceComponent %s does not have an associated metadata xml to parse',
|
|
57
|
-
error_expected_file_path: '%s: path is to a directory, expected a file',
|
|
58
|
-
error_expected_directory_path: '%s: path is to a file, expected a directory',
|
|
59
|
-
error_no_directory_stream: "%s doesn't support readable streams on directories.",
|
|
60
|
-
error_no_source_to_deploy: 'No source-backed components present in the package.',
|
|
61
|
-
error_no_components_to_retrieve: 'No components in the package to retrieve.',
|
|
62
|
-
error_invalid_package: "The metadata package wasn't properly initialized.",
|
|
63
|
-
error_static_resource_expected_archive_type: 'A StaticResource directory must have a content type of application/zip or application/jar - found %s for %s.',
|
|
64
|
-
error_static_resource_missing_resource_file: 'A StaticResource must have an associated .resource file, missing %s.resource-meta.xml',
|
|
65
|
-
error_no_job_id: 'The %s operation is missing a job ID. Initialize an operation with an ID, or start a new job.',
|
|
66
|
-
tapi_deploy_component_limit_error: 'This deploy method only supports deploying one metadata component at a time',
|
|
67
|
-
warn_unresolved_source_for_components: 'The following components will not be deployed due to unresolved source: %s',
|
|
68
|
-
invalid_xml_parsing: 'error parsing %s due to:\n message: %s\n line: %s\n code: %s',
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=i18n.js.map
|
package/lib/src/i18n/i18n.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/i18n/i18n.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB;;;;;;;;;GASG;AACU,QAAA,QAAQ,GAAG;IACtB,eAAe,EAAE,iCAAiC;IAClD,kBAAkB,EAAE,gCAAgC;IACpD,sCAAsC,EAAE,yCAAyC;IACjF,6BAA6B,EAAE,mBAAmB;IAClD,mCAAmC,EAAE,kCAAkC;IACvE,+BAA+B,EAAE,0DAA0D;IAC3F,2BAA2B,EAAE,8CAA8C;IAC3E,0BAA0B,EAAE,qCAAqC;IACjE,mBAAmB,EAAE,mDAAmD;IACxE,sBAAsB,EAAE,kCAAkC;IAC1D,sCAAsC,EAAE,yBAAyB;IACjE,4BAA4B,EAAE,gCAAgC;IAC9D,6BAA6B,EAAE,sDAAsD;IACrF,0BAA0B,EAAE,qCAAqC;IACjE,2BAA2B,EAAE,2DAA2D;IACxF,2BAA2B,EAAE,yCAAyC;IACtE,oBAAoB,EAAE,iCAAiC;IACvD,uCAAuC,EAAE,gEAAgE;IACzG,yBAAyB,EAAE,sEAAsE;IACjG,2BAA2B,EAAE,yBAAyB;IACtD,qBAAqB,EAAE,6CAA6C;IACpE,yBAAyB,EAAE,iDAAiD;IAC5E,0BAA0B,EAAE,wCAAwC;IACpE,sCAAsC,EAAE,2CAA2C;IACnF,6BAA6B,EAAE,2DAA2D;IAC1F,mCAAmC,EAAE,mDAAmD;IACxF,4BAA4B,EAAE,8DAA8D;IAC5F,sBAAsB,EACpB,8UAA8U;IAChV,oBAAoB,EAAE,8BAA8B;IACpD,mCAAmC,EAAE,gFAAgF;IACrH,0BAA0B,EAAE,oEAAoE;IAChG,4BAA4B,EAAE,gCAAgC;IAC9D,4BAA4B,EAAE,gCAAgC;IAC9D,2BAA2B,EAAE,6BAA6B;IAC1D,iBAAiB,EAAE,sEAAsE;IACzF,wBAAwB,EAAE,6CAA6C;IACvE,6BAA6B,EAAE,6CAA6C;IAC5E,yBAAyB,EAAE,qDAAqD;IAChF,yBAAyB,EAAE,qDAAqD;IAChF,+BAA+B,EAAE,2CAA2C;IAC5E,qBAAqB,EAAE,mDAAmD;IAC1E,2CAA2C,EACzC,8GAA8G;IAChH,2CAA2C,EACzC,uFAAuF;IACzF,eAAe,EAAE,+FAA+F;IAChH,iCAAiC,EAAE,6EAA6E;IAChH,qCAAqC,EAAE,4EAA4E;IACnH,mBAAmB,EAAE,iEAAiE;CACvF,CAAC"}
|
package/lib/src/i18n/index.d.ts
DELETED
package/lib/src/i18n/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
* Licensed under the BSD 3-Clause license.
|
|
6
|
-
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.Message = exports.Localization = exports.nls = void 0;
|
|
10
|
-
const i18n_1 = require("./i18n");
|
|
11
|
-
const localization_1 = require("./localization");
|
|
12
|
-
function loadMessageBundle() {
|
|
13
|
-
try {
|
|
14
|
-
return new localization_1.Message(i18n_1.messages);
|
|
15
|
-
}
|
|
16
|
-
catch (e) {
|
|
17
|
-
process.emitWarning('Cannot find messages in i18n module');
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.nls = new localization_1.Localization(loadMessageBundle());
|
|
21
|
-
var localization_2 = require("./localization");
|
|
22
|
-
Object.defineProperty(exports, "Localization", { enumerable: true, get: function () { return localization_2.Localization; } });
|
|
23
|
-
Object.defineProperty(exports, "Message", { enumerable: true, get: function () { return localization_2.Message; } });
|
|
24
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/i18n/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,iCAAkC;AAClC,iDAAuD;AAEvD,SAAS,iBAAiB;IACxB,IAAI;QACF,OAAO,IAAI,sBAAO,CAAC,eAAQ,CAAC,CAAC;KAC9B;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,WAAW,CAAC,qCAAqC,CAAC,CAAC;KAC5D;AACH,CAAC;AAEY,QAAA,GAAG,GAAG,IAAI,2BAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACzD,+CAAuD;AAA9C,4GAAA,YAAY,OAAA;AAAE,uGAAA,OAAO,OAAA"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export interface LocalizationProvider {
|
|
2
|
-
localize(label: string, args?: string | string[]): string;
|
|
3
|
-
}
|
|
4
|
-
export declare class Localization implements LocalizationProvider {
|
|
5
|
-
private readonly delegate;
|
|
6
|
-
constructor(delegate: Message);
|
|
7
|
-
localize(label: string, args?: string | string[]): string;
|
|
8
|
-
}
|
|
9
|
-
export declare type MessageBundle = {
|
|
10
|
-
readonly [index: string]: string;
|
|
11
|
-
};
|
|
12
|
-
export declare class Message implements LocalizationProvider {
|
|
13
|
-
private readonly messages;
|
|
14
|
-
constructor(messages: MessageBundle);
|
|
15
|
-
localize(label: string, args?: string | string[]): string;
|
|
16
|
-
private getLabel;
|
|
17
|
-
}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2020, salesforce.com, inc.
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
* Licensed under the BSD 3-Clause license.
|
|
6
|
-
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.Message = exports.Localization = void 0;
|
|
10
|
-
const util = require("util");
|
|
11
|
-
const MISSING_LABEL_MSG = '!!! MISSING LABEL !!!';
|
|
12
|
-
class Localization {
|
|
13
|
-
constructor(delegate) {
|
|
14
|
-
this.delegate = delegate;
|
|
15
|
-
}
|
|
16
|
-
localize(label, args) {
|
|
17
|
-
return this.delegate.localize(label, args);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
exports.Localization = Localization;
|
|
21
|
-
class Message {
|
|
22
|
-
constructor(messages) {
|
|
23
|
-
this.messages = messages;
|
|
24
|
-
}
|
|
25
|
-
localize(label, args) {
|
|
26
|
-
let possibleLabel = this.getLabel(label);
|
|
27
|
-
if (typeof args === 'undefined' && possibleLabel) {
|
|
28
|
-
return possibleLabel;
|
|
29
|
-
}
|
|
30
|
-
// Note: We are getting an array of arrays when we want to consume the ...args param
|
|
31
|
-
// e.g. [['value1', 'value2']]
|
|
32
|
-
if (typeof args !== 'undefined' && Array.isArray(args)) {
|
|
33
|
-
args = args[0].constructor === Array ? args[0] : args;
|
|
34
|
-
}
|
|
35
|
-
else if (typeof args !== 'undefined' && !Array.isArray(args)) {
|
|
36
|
-
args = [args];
|
|
37
|
-
}
|
|
38
|
-
if (!possibleLabel) {
|
|
39
|
-
process.emitWarning(`Missing label for key: ${label}`);
|
|
40
|
-
possibleLabel = `${MISSING_LABEL_MSG} ${label}`;
|
|
41
|
-
if (Array.isArray(args) && args.length >= 1) {
|
|
42
|
-
args.forEach((arg) => {
|
|
43
|
-
possibleLabel += ` (${arg})`;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
return possibleLabel;
|
|
47
|
-
}
|
|
48
|
-
if (Array.isArray(args) && args.length >= 1) {
|
|
49
|
-
const expectedNumArgs = possibleLabel.split('%s').length - 1;
|
|
50
|
-
if (args.length !== expectedNumArgs) {
|
|
51
|
-
// just log it, we might want to hide some in some languages on purpose
|
|
52
|
-
process.emitWarning(`Arguments do not match for label '${label}', got ${args.length} but want ${expectedNumArgs}`);
|
|
53
|
-
}
|
|
54
|
-
args.unshift(possibleLabel);
|
|
55
|
-
// eslint-disable-next-line prefer-spread,@typescript-eslint/no-unsafe-return
|
|
56
|
-
return util.format.apply(util, args);
|
|
57
|
-
}
|
|
58
|
-
return possibleLabel;
|
|
59
|
-
}
|
|
60
|
-
getLabel(label) {
|
|
61
|
-
if (this.messages[label]) {
|
|
62
|
-
return this.messages[label];
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
return undefined;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.Message = Message;
|
|
70
|
-
//# sourceMappingURL=localization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"localization.js","sourceRoot":"","sources":["../../../src/i18n/localization.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,6BAA6B;AAE7B,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAMlD,MAAa,YAAY;IAGvB,YAAmB,QAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,QAAQ,CAAC,KAAa,EAAE,IAAwB;QACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAVD,oCAUC;AAMD,MAAa,OAAO;IAGlB,YAAmB,QAAuB;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEM,QAAQ,CAAC,KAAa,EAAE,IAAwB;QACrD,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEzC,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,aAAa,EAAE;YAChD,OAAO,aAAa,CAAC;SACtB;QAED,oFAAoF;QACpF,8BAA8B;QAC9B,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtD,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACvD;aAAM,IAAI,OAAO,IAAI,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9D,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;SACf;QAED,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,CAAC,WAAW,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC;YACvD,aAAa,GAAG,GAAG,iBAAiB,IAAI,KAAK,EAAE,CAAC;YAEhD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC3C,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnB,aAAa,IAAI,KAAK,GAAG,GAAG,CAAC;gBAC/B,CAAC,CAAC,CAAC;aACJ;YACD,OAAO,aAAa,CAAC;SACtB;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE;YAC3C,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,EAAE;gBACnC,uEAAuE;gBACvE,OAAO,CAAC,WAAW,CACjB,qCAAqC,KAAK,UAAU,IAAI,CAAC,MAAM,aAAa,eAAe,EAAE,CAC9F,CAAC;aACH;YAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC5B,6EAA6E;YAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SACtC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,QAAQ,CAAC,KAAa;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SAC7B;aAAM;YACL,OAAO,SAAS,CAAC;SAClB;IACH,CAAC;CACF;AA1DD,0BA0DC"}
|