awslint 2.237.1-alpha.0 → 2.239.0-alpha.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/lib/linter.d.ts +1 -1
- package/lib/linter.js +1 -1
- package/lib/linter.ts +2 -2
- package/lib/rules/api.js +1 -1
- package/lib/rules/api.ts +1 -1
- package/lib/rules/attributes.d.ts +2 -1
- package/lib/rules/attributes.js +1 -1
- package/lib/rules/attributes.ts +2 -1
- package/lib/rules/cfn-resource.d.ts +1 -1
- package/lib/rules/cfn-resource.js +1 -1
- package/lib/rules/cfn-resource.ts +1 -1
- package/lib/rules/cloudwatch-events.d.ts +1 -1
- package/lib/rules/cloudwatch-events.js +1 -1
- package/lib/rules/cloudwatch-events.ts +1 -1
- package/lib/rules/construct.d.ts +1 -1
- package/lib/rules/construct.js +1 -1
- package/lib/rules/construct.ts +3 -2
- package/lib/rules/core-types.d.ts +1 -1
- package/lib/rules/core-types.js +1 -1
- package/lib/rules/core-types.ts +1 -1
- package/lib/rules/docs.d.ts +1 -1
- package/lib/rules/docs.js +1 -1
- package/lib/rules/docs.ts +1 -1
- package/lib/rules/durations.d.ts +1 -1
- package/lib/rules/durations.js +1 -1
- package/lib/rules/durations.ts +1 -1
- package/lib/rules/grant-methods.js +1 -1
- package/lib/rules/grant-methods.ts +1 -1
- package/lib/rules/imports.d.ts +1 -1
- package/lib/rules/imports.js +1 -1
- package/lib/rules/imports.ts +1 -1
- package/lib/rules/integrations.d.ts +1 -1
- package/lib/rules/integrations.js +1 -1
- package/lib/rules/integrations.ts +1 -1
- package/lib/rules/module.d.ts +1 -1
- package/lib/rules/module.js +1 -1
- package/lib/rules/module.ts +1 -1
- package/lib/rules/no-unused-type.d.ts +1 -1
- package/lib/rules/no-unused-type.js +1 -1
- package/lib/rules/no-unused-type.ts +1 -1
- package/lib/rules/public-static-properties.d.ts +1 -1
- package/lib/rules/public-static-properties.js +1 -1
- package/lib/rules/public-static-properties.ts +1 -1
- package/lib/rules/resource.d.ts +1 -1
- package/lib/rules/resource.js +1 -1
- package/lib/rules/resource.ts +1 -1
- package/package.json +5 -5
package/lib/linter.d.ts
CHANGED
package/lib/linter.js
CHANGED
|
@@ -225,4 +225,4 @@ function typeReferenceFrom(ts, x) {
|
|
|
225
225
|
function isTypeReference(x) {
|
|
226
226
|
return x instanceof reflect.TypeReference;
|
|
227
227
|
}
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGludGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUU3Qix3Q0FBd0M7QUFpQnhDLE1BQXNCLFVBQVU7Q0FHL0I7QUFIRCxnQ0FHQztBQUVELE1BQWEsZUFBZ0IsU0FBUSxVQUFVO0lBQ3JDLE9BQU8sQ0FBZTtJQUU5QixZQUFZLEdBQUcsT0FBcUI7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQVEsQ0FBQztRQUM5QixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxJQUFJLENBQUMsUUFBMEIsRUFBRSxPQUFrQztRQUN4RSxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO1FBQ3RDLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQXZCRCwwQ0F1QkM7QUFFRDs7R0FFRztBQUNILE1BQWEsTUFBVSxTQUFRLFVBQVU7SUFHVjtJQUZaLE1BQU0sR0FBd0MsRUFBRyxDQUFDO0lBRW5FLFlBQTZCLElBQWtFO1FBQzdGLEtBQUssRUFBRSxDQUFDO1FBRG1CLFNBQUksR0FBSixJQUFJLENBQThEO0lBRS9GLENBQUM7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ZUFBZSwrQkFBZixlQUFlLFFBSzFCO0FBU0Q7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLEVBQXNCLEVBQUUsQ0FBZ0I7SUFDakUsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQUMsQ0FBQztJQUVyQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUMxRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxDQUFNO0lBQzdCLE9BQU8sQ0FBQyxZQUFZLE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWwgZnJvbSAndXRpbCc7XG5pbXBvcnQgeyBQcmltaXRpdmVUeXBlIH0gZnJvbSAnQGpzaWkvc3BlYyc7XG5pbXBvcnQgKiBhcyByZWZsZWN0IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5pbXBvcnQgeyBSdWxlRmlsdGVyU2V0IH0gZnJvbSAnLi9ydWxlLXNwZWNzJztcblxuZXhwb3J0IGludGVyZmFjZSBMaW50ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIExpc3Qgb2YgcnVsZXMgdG8gaW5jbHVkZS5cbiAgICogQGRlZmF1bHQgYWxsIHJ1bGVzXG4gICAqL1xuICBpbmNsdWRlUnVsZXM/OiBSdWxlRmlsdGVyU2V0O1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHJ1bGVzIHRvIGV4Y2x1ZGUgKHRha2VzIHByZWNlZGVuY2Ugb24gXCJpbmNsdWRlXCIpXG4gICAqIEBkZWZhdWx0IG5vbmVcbiAgICovXG4gIGV4Y2x1ZGVSdWxlcz86IFJ1bGVGaWx0ZXJTZXQ7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaW50ZXJCYXNlIHtcbiAgcHVibGljIGFic3RyYWN0IHJ1bGVzOiBSdWxlW107XG4gIHB1YmxpYyBhYnN0cmFjdCBldmFsKGFzc2VtYmx5OiByZWZsZWN0LkFzc2VtYmx5LCBvcHRpb25zOiBMaW50ZXJPcHRpb25zIHwgdW5kZWZpbmVkKTogRGlhZ25vc3RpY1tdO1xufVxuXG5leHBvcnQgY2xhc3MgQWdncmVnYXRlTGludGVyIGV4dGVuZHMgTGludGVyQmFzZSB7XG4gIHByaXZhdGUgbGludGVyczogTGludGVyQmFzZVtdO1xuXG4gIGNvbnN0cnVjdG9yKC4uLmxpbnRlcnM6IExpbnRlckJhc2VbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5saW50ZXJzID0gbGludGVycztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcnVsZXMoKTogUnVsZVtdIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8UnVsZT4oKTtcbiAgICBmb3IgKGNvbnN0IGxpbnRlciBvZiB0aGlzLmxpbnRlcnMpIHtcbiAgICAgIHJldC5wdXNoKC4uLmxpbnRlci5ydWxlcyk7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICBwdWJsaWMgZXZhbChhc3NlbWJseTogcmVmbGVjdC5Bc3NlbWJseSwgb3B0aW9uczogTGludGVyT3B0aW9ucyB8IHVuZGVmaW5lZCk6IERpYWdub3N0aWNbXSB7XG4gICAgY29uc3QgZGlhZ3MgPSBuZXcgQXJyYXk8RGlhZ25vc3RpYz4oKTtcbiAgICBmb3IgKGNvbnN0IGxpbnRlciBvZiB0aGlzLmxpbnRlcnMpIHtcbiAgICAgIGRpYWdzLnB1c2goLi4ubGludGVyLmV2YWwoYXNzZW1ibHksIG9wdGlvbnMpKTtcbiAgICB9XG4gICAgcmV0dXJuIGRpYWdzO1xuICB9XG59XG5cbi8qKlxuICogRXZhbHVhdGVzIGEgYnVuY2ggb2YgcnVsZXMgYWdhaW5zdCBzb21lIGNvbnRleHQuXG4gKi9cbmV4cG9ydCBjbGFzcyBMaW50ZXI8VD4gZXh0ZW5kcyBMaW50ZXJCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfcnVsZXM6IHsgW25hbWU6IHN0cmluZ106IENvbmNyZXRlUnVsZTxUPiB9ID0geyB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaW5pdDogKGFzc2VtYmx5OiByZWZsZWN0LkFzc2VtYmx5KSA9PiBUIHwgcmVhZG9ubHkgVFtdIHwgdW5kZWZpbmVkKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcnVsZXMoKSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5fcnVsZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluc3RhbGwgYW5vdGhlciBydWxlLlxuICAgKi9cbiAgcHVibGljIGFkZChydWxlOiBDb25jcmV0ZVJ1bGU8VD4pIHtcbiAgICBpZiAocnVsZS5jb2RlIGluIHRoaXMuX3J1bGVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHJ1bGUgXCIke3J1bGUuY29kZX1cIiBhbHJlYWR5IGV4aXN0c2ApO1xuICAgIH1cblxuICAgIHRoaXMuX3J1bGVzW3J1bGUuY29kZV0gPSBydWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlIGFsbCBydWxlcyBhZ2FpbnN0IHRoZSBjb250ZXh0LlxuICAgKi9cbiAgcHVibGljIGV2YWwoYXNzZW1ibHk6IHJlZmxlY3QuQXNzZW1ibHksIG9wdGlvbnM6IExpbnRlck9wdGlvbnMgfCB1bmRlZmluZWQpOiBEaWFnbm9zdGljW10ge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHsgfTtcblxuICAgIGxldCBjdHhzID0gdGhpcy5pbml0KGFzc2VtYmx5KTtcbiAgICBpZiAoIWN0eHMpIHtcbiAgICAgIHJldHVybiBbXTsgLy8gc2tpcFxuICAgIH1cblxuICAgIGlmICghQXJyYXkuaXNBcnJheShjdHhzKSkge1xuICAgICAgY3R4cyA9IFtjdHhzXSBhcyByZWFkb25seSBUW107XG4gICAgfVxuXG4gICAgY29uc3QgZGlhZyA9IG5ldyBBcnJheTxEaWFnbm9zdGljPigpO1xuXG4gICAgZm9yIChjb25zdCBjdHggb2YgY3R4cykge1xuICAgICAgZm9yIChjb25zdCBydWxlIG9mIE9iamVjdC52YWx1ZXModGhpcy5fcnVsZXMpKSB7XG4gICAgICAgIGNvbnN0IGV2YWx1YXRpb24gPSBuZXcgRXZhbHVhdGlvbihjdHgsIHJ1bGUsIGRpYWcsIG9wdGlvbnMpO1xuICAgICAgICBydWxlLmV2YWwoZXZhbHVhdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGRpYWc7XG4gIH1cbn1cblxuLyoqXG4gKiBQYXNzZWQgaW4gdG8gZWFjaCBydWxlIGR1cmluZyBldmFsdWF0aW9uLlxuICovXG5leHBvcnQgY2xhc3MgRXZhbHVhdGlvbjxUPiB7XG4gIHB1YmxpYyByZWFkb25seSBjdHg6IFQ7XG4gIHB1YmxpYyByZWFkb25seSBvcHRpb25zOiBMaW50ZXJPcHRpb25zO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY3VycjogQ29uY3JldGVSdWxlPFQ+O1xuICBwcml2YXRlIHJlYWRvbmx5IGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW107XG5cbiAgY29uc3RydWN0b3IoY3R4OiBULCBydWxlOiBDb25jcmV0ZVJ1bGU8VD4sIGRpYWdub3N0aWNzOiBEaWFnbm9zdGljW10sIG9wdGlvbnM6IExpbnRlck9wdGlvbnMpIHtcbiAgICB0aGlzLmN0eCA9IGN0eDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMuY3VyciA9IHJ1bGU7XG4gICAgdGhpcy5kaWFnbm9zdGljcyA9IGRpYWdub3N0aWNzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY29yZCBhIGZhaWx1cmUgaWYgYGNvbmRpdGlvbmAgaXMgbm90IHRydXRoeS5cbiAgICpcbiAgICogQHBhcmFtIGNvbmRpdGlvbiBUaGUgY29uZGl0aW9uIHRvIGFzc2VydC5cbiAgICogQHBhcmFtIHNjb3BlIFVzZWQgdG8gZGlhZ25vc2UgdGhlIGxvY2F0aW9uIGluIHRoZSBzb3VyY2UsIGFuZCBpcyB1c2VkIGluIHRoZVxuICAgKiBpZ25vcmUgcGF0dGVybi5cbiAgICogQHBhcmFtIGV4dHJhIFVzZWQgdG8gcmVwbGFjZSAlcyBpbiB0aGUgZGVmYXVsdCBtZXNzYWdlIGZvcm1hdCBzdHJpbmcuXG4gICAqL1xuICBwdWJsaWMgYXNzZXJ0KGNvbmRpdGlvbjogYW55LCBzY29wZTogc3RyaW5nLCBleHRyYT86IHN0cmluZyk6IGNvbmRpdGlvbiBpcyB0cnVlIHtcbiAgICAvLyBkZWR1cGxpY2F0ZTogc2tpcCBpZiB0aGlzIHNwZWNpZmljIGFzc2VydGlvbiAoXCJydWxlOnNjb3BlXCIpIHdhcyBhbHJlYWR5IGV4YW1pbmVkXG4gICAgaWYgKHRoaXMuZGlhZ25vc3RpY3MuZmluZChkID0+IGQucnVsZS5jb2RlID09PSB0aGlzLmN1cnIuY29kZSAmJiBkLnNjb3BlID09PSBzY29wZSkpIHtcbiAgICAgIHJldHVybiBjb25kaXRpb247XG4gICAgfVxuXG4gICAgY29uc3QgaW5jbHVkZSA9IHRoaXMuc2hvdWxkRXZhbHVhdGUodGhpcy5jdXJyLmNvZGUsIHNjb3BlKTtcbiAgICBjb25zdCBtZXNzYWdlID0gdXRpbC5mb3JtYXQodGhpcy5jdXJyLm1lc3NhZ2UsIGV4dHJhIHx8ICcnKTtcblxuICAgIC8vIERvbid0IGFkZCBhIFwiU3VjY2Vzc1wiIGRpYWdub3N0aWMuIEl0IHdpbGwgYnJlYWsgaWYgd2UgcnVuIGEgY29tcG91bmRcbiAgICAvLyBsaW50ZXIgcnVsZSB3aGljaCBjb25zaXN0cyBvZiAzIGNoZWNrcyB3aXRoIHRoZSBzYW1lIHNjb3BlIChzdWNoXG4gICAgLy8gYXMgZm9yIGV4YW1wbGUgYGFzc2VydFNpZ25hdHVyZSgpYCkuIElmIHRoZSBmaXJzdCBjaGVjayBmYWlscywgd2Ugd291bGRcbiAgICAvLyBhZGQgYSBcIlN1Y2Nlc3NcIiBkaWFnbm9zdGljIGFuZCBhbGwgb3RoZXIgZGlhZ25vc3RpY3Mgd291bGQgYmUgc2tpcHBlZCBiZWNhdXNlXG4gICAgLy8gb2YgdGhlIGRlZHVwbGljYXRpb24gY2hlY2sgYWJvdmUuIENoYW5naW5nIHRoZSBzY29wZSBtYWtlcyBpdCB3b3JzZSwgc2luY2VcbiAgICAvLyB0aGUgc2NvcGUgaXMgYWxzbyB0aGUgaWdub3JlIHBhdHRlcm4gYW5kIHRoZXkncmUgYWxsIGNvbmNlcHR1YWxseSB0aGUgc2FtZSBydWxlLlxuICAgIC8vXG4gICAgLy8gU2ltcGxlc3Qgc29sdXRpb24gaXMgdG8gbm90IHJlY29yZCBzdWNjZXNzZXMgLS0gd2h5IGRvIHdlIGV2ZW4gbmVlZCB0aGVtP1xuICAgIGlmIChpbmNsdWRlICYmIGNvbmRpdGlvbikgeyByZXR1cm4gY29uZGl0aW9uOyB9XG5cbiAgICBsZXQgbGV2ZWw6IERpYWdub3N0aWNMZXZlbDtcbiAgICBpZiAoIWluY2x1ZGUpIHtcbiAgICAgIGxldmVsID0gRGlhZ25vc3RpY0xldmVsLlNraXBwZWQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLmN1cnIud2FybmluZykge1xuICAgICAgbGV2ZWwgPSBEaWFnbm9zdGljTGV2ZWwuV2FybmluZztcbiAgICB9IGVsc2Uge1xuICAgICAgbGV2ZWwgPSBEaWFnbm9zdGljTGV2ZWwuRXJyb3I7XG4gICAgfVxuXG4gICAgY29uc3QgZGlhZzogRGlhZ25vc3RpYyA9IHtcbiAgICAgIGxldmVsLFxuICAgICAgcnVsZTogdGhpcy5jdXJyLFxuICAgICAgc2NvcGUsXG4gICAgICBtZXNzYWdlLFxuICAgIH07XG5cbiAgICB0aGlzLmRpYWdub3N0aWNzLnB1c2goZGlhZyk7XG5cbiAgICByZXR1cm4gY29uZGl0aW9uO1xuICB9XG5cbiAgcHVibGljIGFzc2VydEVxdWFscyhhY3R1YWw6IGFueSwgZXhwZWN0ZWQ6IGFueSwgc2NvcGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFzc2VydChhY3R1YWwgPT09IGV4cGVjdGVkLCBzY29wZSwgYCAoZXhwZWN0ZWQ9XCIke2V4cGVjdGVkfVwiLGFjdHVhbD1cIiR7YWN0dWFsfVwiKWApO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFR5cGVzRXF1YWwodHM6IHJlZmxlY3QuVHlwZVN5c3RlbSwgYWN0dWFsOiBUeXBlU3BlY2lmaWVyLCBleHBlY3RlZDogVHlwZVNwZWNpZmllciwgc2NvcGU6IHN0cmluZykge1xuICAgIGNvbnN0IGEgPSB0eXBlUmVmZXJlbmNlRnJvbSh0cywgYWN0dWFsKTtcbiAgICBjb25zdCBlID0gdHlwZVJlZmVyZW5jZUZyb20odHMsIGV4cGVjdGVkKTtcbiAgICByZXR1cm4gdGhpcy5hc3NlcnQoYS50b1N0cmluZygpID09PSBlLnRvU3RyaW5nKCksIHNjb3BlLCBgIChleHBlY3RlZD1cIiR7ZX1cIixhY3R1YWw9XCIke2F9XCIpYCk7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0VHlwZXNBc3NpZ25hYmxlKHRzOiByZWZsZWN0LlR5cGVTeXN0ZW0sIGFjdHVhbDogVHlwZVNwZWNpZmllciwgZXhwZWN0ZWQ6IFR5cGVTcGVjaWZpZXIsIHNjb3BlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBhID0gdHlwZVJlZmVyZW5jZUZyb20odHMsIGFjdHVhbCk7XG4gICAgY29uc3QgZSA9IHR5cGVSZWZlcmVuY2VGcm9tKHRzLCBleHBlY3RlZCk7XG4gICAgcmV0dXJuIHRoaXMuYXNzZXJ0KGEudG9TdHJpbmcoKSA9PT0gZS50b1N0cmluZygpIHx8IChhLmZxbiAmJiBlLmZxbiAmJiBhLnR5cGUhLmV4dGVuZHMoZS50eXBlISkpLCBzY29wZSwgYCAoXCIke2F9XCIgbm90IGFzc2lnbmFibGUgdG8gXCIke2V9XCIpYCk7XG4gIH1cblxuICBwdWJsaWMgYXNzZXJ0UGFyYW1ldGVyT3B0aW9uYWwoYWN0dWFsOiBib29sZWFuLCBleHBlY3RlZDogYm9vbGVhbiwgc2NvcGU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFzc2VydChhY3R1YWwgPT09IGV4cGVjdGVkLCBzY29wZSwgYCAoJHtzY29wZX0gc2hvdWxkIGJlICR7ZXhwZWN0ZWQgPyAnb3B0aW9uYWwnIDogJ21hbmRhdG9yeSd9KWApO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFNpZ25hdHVyZShtZXRob2Q6IHJlZmxlY3QuQ2FsbGFibGUsIGV4cGVjdGF0aW9uczogTWV0aG9kU2lnbmF0dXJlRXhwZWN0YXRpb25zKSB7XG4gICAgY29uc3Qgc2NvcGUgPSBtZXRob2QucGFyZW50VHlwZS5mcW4gKyAnLicgKyBtZXRob2QubmFtZTtcbiAgICBpZiAoZXhwZWN0YXRpb25zLnJldHVybnMgJiYgcmVmbGVjdC5NZXRob2QuaXNNZXRob2QobWV0aG9kKSkge1xuICAgICAgdGhpcy5hc3NlcnRUeXBlc0VxdWFsKG1ldGhvZC5zeXN0ZW0sIG1ldGhvZC5yZXR1cm5zLnR5cGUsIGV4cGVjdGF0aW9ucy5yZXR1cm5zLCBzY29wZSk7XG4gICAgfVxuXG4gICAgaWYgKGV4cGVjdGF0aW9ucy5wYXJhbWV0ZXJzKSB7XG4gICAgICBjb25zdCBleHBlY3RlZENvdW50ID0gZXhwZWN0YXRpb25zLnBhcmFtZXRlcnMubGVuZ3RoO1xuICAgICAgY29uc3QgYWN0dWFsQ291bnQgPSBtZXRob2QucGFyYW1ldGVycy5sZW5ndGg7XG4gICAgICBpZiAodGhpcy5hc3NlcnRFcXVhbHMoYWN0dWFsQ291bnQsIGV4cGVjdGVkQ291bnQsIHNjb3BlKSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV4cGVjdGF0aW9ucy5wYXJhbWV0ZXJzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgY29uc3QgZXhwZWN0ID0gZXhwZWN0YXRpb25zLnBhcmFtZXRlcnNbaV07XG4gICAgICAgICAgY29uc3QgYWN0dWFsID0gbWV0aG9kLnBhcmFtZXRlcnNbaV07XG4gICAgICAgICAgY29uc3QgcHNjb3BlID0gc2NvcGUgKyBgLnBhcmFtc1ske2l9XWA7XG4gICAgICAgICAgaWYgKGV4cGVjdC5uYW1lKSB7XG4gICAgICAgICAgICBjb25zdCBleHBlY3RlZE5hbWUgPSBleHBlY3QubmFtZTtcbiAgICAgICAgICAgIGNvbnN0IGFjdHVhbE5hbWUgPSBhY3R1YWwubmFtZTtcbiAgICAgICAgICAgIHRoaXMuYXNzZXJ0RXF1YWxzKGFjdHVhbE5hbWUsIGV4cGVjdGVkTmFtZSwgcHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGV4cGVjdC50eXBlKSB7XG4gICAgICAgICAgICBpZiAoZXhwZWN0LnN1YnR5cGVBbGxvd2VkKSB7XG4gICAgICAgICAgICAgIHRoaXMuYXNzZXJ0VHlwZXNBc3NpZ25hYmxlKG1ldGhvZC5zeXN0ZW0sIGFjdHVhbC50eXBlLCBleHBlY3QudHlwZSwgcHNjb3BlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuYXNzZXJ0VHlwZXNFcXVhbChtZXRob2Quc3lzdGVtLCBhY3R1YWwudHlwZSwgZXhwZWN0LnR5cGUsIHBzY29wZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChleHBlY3Qub3B0aW9uYWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5hc3NlcnRQYXJhbWV0ZXJPcHRpb25hbChhY3R1YWwub3B0aW9uYWwsIGV4cGVjdC5vcHRpb25hbCwgcHNjb3BlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRXZhbHVhdGVzIHdoZXRoZXIgdGhlIHJ1bGUgc2hvdWxkIGJlIGV2YWx1YXRlZCBiYXNlZCBvbiB0aGUgZmlsdGVycyBhcHBsaWVkLlxuICAgKi9cbiAgcHJpdmF0ZSBzaG91bGRFdmFsdWF0ZShjb2RlOiBzdHJpbmcsIHNjb3BlOiBzdHJpbmcpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5pbmNsdWRlUnVsZXMgfHwgdGhpcy5vcHRpb25zLmluY2x1ZGVSdWxlcy5pc0VtcHR5KCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMuaW5jbHVkZVJ1bGVzLm1hdGNoZXMoY29kZSwgc2NvcGUpKSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmV4Y2x1ZGVSdWxlcz8ubWF0Y2hlcyhjb2RlLCBzY29wZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5leHBvcnQgaW50ZXJmYWNlIFJ1bGUge1xuICBjb2RlOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgd2FybmluZz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uY3JldGVSdWxlPFQ+IGV4dGVuZHMgUnVsZSB7XG4gIGV2YWwobGludGVyOiBFdmFsdWF0aW9uPFQ+KTogdm9pZDtcbn1cblxuLyoqXG4gKiBBIHR5cGUgY29uc3RyYWludFxuICpcbiAqIEJlIHN1cGVyIGZsZXhpYmxlIGFib3V0IGhvdyB0eXBlcyBjYW4gYmUgcmVwcmVzZW50ZWQuIFVsdGltYXRlbHksIHdlIHdpbGxcbiAqIGNvbXBhcmUgd2hhdCB5b3UgZ2l2ZSB0byBhIFR5cGVSZWZlcmVuY2UsIGJlY2F1c2UgdGhhdCdzIHdoYXQncyBpbiB0aGUgSlNJSVxuICogUmVmbGVjdCBtb2RlbC4gSG93ZXZlciwgaWYgeW91IGFscmVhZHkgaGF2ZSBhIHJlYWwgVHlwZSwgb3IganVzdCBhIHN0cmluZyB0b1xuICogYSB1c2VyLWRlZmluZWQgdHlwZSwgdGhhdCdzIGZpbmUgdG9vLiBXZSdsbCBEbyBUaGUgUmlnaHQgVGhpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIFR5cGVTcGVjaWZpZXIgPSByZWZsZWN0LlR5cGVSZWZlcmVuY2UgfCByZWZsZWN0LlR5cGUgfCBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0aG9kU2lnbmF0dXJlUGFyYW1ldGVyRXhwZWN0YXRpb24ge1xuICBuYW1lPzogc3RyaW5nO1xuICB0eXBlPzogVHlwZVNwZWNpZmllcjtcbiAgc3VidHlwZUFsbG93ZWQ/OiBib29sZWFuO1xuXG4gIC8qKiBzaG91bGQgdGhpcyBwYXJhbSBiZSBvcHRpb25hbD8gKi9cbiAgb3B0aW9uYWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGhvZFNpZ25hdHVyZUV4cGVjdGF0aW9ucyB7XG4gIHBhcmFtZXRlcnM/OiBNZXRob2RTaWduYXR1cmVQYXJhbWV0ZXJFeHBlY3RhdGlvbltdO1xuICByZXR1cm5zPzogVHlwZVNwZWNpZmllcjtcbn1cblxuZXhwb3J0IGVudW0gRGlhZ25vc3RpY0xldmVsIHtcbiAgU2tpcHBlZCxcbiAgU3VjY2VzcyxcbiAgV2FybmluZyxcbiAgRXJyb3IsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlhZ25vc3RpYyB7XG4gIGxldmVsOiBEaWFnbm9zdGljTGV2ZWw7XG4gIHJ1bGU6IFJ1bGU7XG4gIHNjb3BlOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb252ZXJ0IGEgdHlwZSBzcGVjaWZpZXIgdG8gYSBUeXBlUmVmZXJlbmNlXG4gKi9cbmZ1bmN0aW9uIHR5cGVSZWZlcmVuY2VGcm9tKHRzOiByZWZsZWN0LlR5cGVTeXN0ZW0sIHg6IFR5cGVTcGVjaWZpZXIpOiByZWZsZWN0LlR5cGVSZWZlcmVuY2Uge1xuICBpZiAoaXNUeXBlUmVmZXJlbmNlKHgpKSB7IHJldHVybiB4OyB9XG5cbiAgaWYgKHR5cGVvZiB4ID09PSAnc3RyaW5nJykge1xuICAgIGlmICh4LmluZGV4T2YoJy4nKSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiBuZXcgcmVmbGVjdC5UeXBlUmVmZXJlbmNlKHRzLCB7IHByaW1pdGl2ZTogeCBhcyBQcmltaXRpdmVUeXBlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSh0cywgeyBmcW46IHggfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ldyByZWZsZWN0LlR5cGVSZWZlcmVuY2UodHMsIHgpO1xufVxuXG5mdW5jdGlvbiBpc1R5cGVSZWZlcmVuY2UoeDogYW55KTogeCBpcyByZWZsZWN0LlR5cGVSZWZlcmVuY2Uge1xuICByZXR1cm4geCBpbnN0YW5jZW9mIHJlZmxlY3QuVHlwZVJlZmVyZW5jZTtcbn1cbiJdfQ==
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGludGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibGludGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE2QjtBQUU3Qix3Q0FBd0M7QUFpQnhDLE1BQXNCLFVBQVU7Q0FHL0I7QUFIRCxnQ0FHQztBQUVELE1BQWEsZUFBZ0IsU0FBUSxVQUFVO0lBQ3JDLE9BQU8sQ0FBZTtJQUU5QixZQUFZLEdBQUcsT0FBcUI7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQVEsQ0FBQztRQUM5QixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxJQUFJLENBQUMsUUFBMEIsRUFBRSxPQUFrQztRQUN4RSxNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO1FBQ3RDLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7Q0FDRjtBQXZCRCwwQ0F1QkM7QUFFRDs7R0FFRztBQUNILE1BQWEsTUFBVSxTQUFRLFVBQVU7SUFHVjtJQUZaLE1BQU0sR0FBd0MsRUFBRyxDQUFDO0lBRW5FLFlBQTZCLElBQWtFO1FBQzdGLEtBQUssRUFBRSxDQUFDO1FBRG1CLFNBQUksR0FBSixJQUFJLENBQThEO0lBRS9GLENBQUM7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ZUFBZSwrQkFBZixlQUFlLFFBSzFCO0FBU0Q7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLEVBQXNCLEVBQUUsQ0FBZ0I7SUFDakUsSUFBSSxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQUMsQ0FBQztJQUVyQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQUMxRSxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxDQUFNO0lBQzdCLE9BQU8sQ0FBQyxZQUFZLE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0aWwgZnJvbSAndXRpbCc7XG5pbXBvcnQgdHlwZSB7IFByaW1pdGl2ZVR5cGUgfSBmcm9tICdAanNpaS9zcGVjJztcbmltcG9ydCAqIGFzIHJlZmxlY3QgZnJvbSAnanNpaS1yZWZsZWN0JztcbmltcG9ydCB0eXBlIHsgUnVsZUZpbHRlclNldCB9IGZyb20gJy4vcnVsZS1zcGVjcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGludGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBMaXN0IG9mIHJ1bGVzIHRvIGluY2x1ZGUuXG4gICAqIEBkZWZhdWx0IGFsbCBydWxlc1xuICAgKi9cbiAgaW5jbHVkZVJ1bGVzPzogUnVsZUZpbHRlclNldDtcblxuICAvKipcbiAgICogTGlzdCBvZiBydWxlcyB0byBleGNsdWRlICh0YWtlcyBwcmVjZWRlbmNlIG9uIFwiaW5jbHVkZVwiKVxuICAgKiBAZGVmYXVsdCBub25lXG4gICAqL1xuICBleGNsdWRlUnVsZXM/OiBSdWxlRmlsdGVyU2V0O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTGludGVyQmFzZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCBydWxlczogUnVsZVtdO1xuICBwdWJsaWMgYWJzdHJhY3QgZXZhbChhc3NlbWJseTogcmVmbGVjdC5Bc3NlbWJseSwgb3B0aW9uczogTGludGVyT3B0aW9ucyB8IHVuZGVmaW5lZCk6IERpYWdub3N0aWNbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEFnZ3JlZ2F0ZUxpbnRlciBleHRlbmRzIExpbnRlckJhc2Uge1xuICBwcml2YXRlIGxpbnRlcnM6IExpbnRlckJhc2VbXTtcblxuICBjb25zdHJ1Y3RvciguLi5saW50ZXJzOiBMaW50ZXJCYXNlW10pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMubGludGVycyA9IGxpbnRlcnM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJ1bGVzKCk6IFJ1bGVbXSB7XG4gICAgY29uc3QgcmV0ID0gbmV3IEFycmF5PFJ1bGU+KCk7XG4gICAgZm9yIChjb25zdCBsaW50ZXIgb2YgdGhpcy5saW50ZXJzKSB7XG4gICAgICByZXQucHVzaCguLi5saW50ZXIucnVsZXMpO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG5cbiAgcHVibGljIGV2YWwoYXNzZW1ibHk6IHJlZmxlY3QuQXNzZW1ibHksIG9wdGlvbnM6IExpbnRlck9wdGlvbnMgfCB1bmRlZmluZWQpOiBEaWFnbm9zdGljW10ge1xuICAgIGNvbnN0IGRpYWdzID0gbmV3IEFycmF5PERpYWdub3N0aWM+KCk7XG4gICAgZm9yIChjb25zdCBsaW50ZXIgb2YgdGhpcy5saW50ZXJzKSB7XG4gICAgICBkaWFncy5wdXNoKC4uLmxpbnRlci5ldmFsKGFzc2VtYmx5LCBvcHRpb25zKSk7XG4gICAgfVxuICAgIHJldHVybiBkaWFncztcbiAgfVxufVxuXG4vKipcbiAqIEV2YWx1YXRlcyBhIGJ1bmNoIG9mIHJ1bGVzIGFnYWluc3Qgc29tZSBjb250ZXh0LlxuICovXG5leHBvcnQgY2xhc3MgTGludGVyPFQ+IGV4dGVuZHMgTGludGVyQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3J1bGVzOiB7IFtuYW1lOiBzdHJpbmddOiBDb25jcmV0ZVJ1bGU8VD4gfSA9IHsgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluaXQ6IChhc3NlbWJseTogcmVmbGVjdC5Bc3NlbWJseSkgPT4gVCB8IHJlYWRvbmx5IFRbXSB8IHVuZGVmaW5lZCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJ1bGVzKCkge1xuICAgIHJldHVybiBPYmplY3QudmFsdWVzKHRoaXMuX3J1bGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnN0YWxsIGFub3RoZXIgcnVsZS5cbiAgICovXG4gIHB1YmxpYyBhZGQocnVsZTogQ29uY3JldGVSdWxlPFQ+KSB7XG4gICAgaWYgKHJ1bGUuY29kZSBpbiB0aGlzLl9ydWxlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBydWxlIFwiJHtydWxlLmNvZGV9XCIgYWxyZWFkeSBleGlzdHNgKTtcbiAgICB9XG5cbiAgICB0aGlzLl9ydWxlc1tydWxlLmNvZGVdID0gcnVsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZSBhbGwgcnVsZXMgYWdhaW5zdCB0aGUgY29udGV4dC5cbiAgICovXG4gIHB1YmxpYyBldmFsKGFzc2VtYmx5OiByZWZsZWN0LkFzc2VtYmx5LCBvcHRpb25zOiBMaW50ZXJPcHRpb25zIHwgdW5kZWZpbmVkKTogRGlhZ25vc3RpY1tdIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7IH07XG5cbiAgICBsZXQgY3R4cyA9IHRoaXMuaW5pdChhc3NlbWJseSk7XG4gICAgaWYgKCFjdHhzKSB7XG4gICAgICByZXR1cm4gW107IC8vIHNraXBcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoY3R4cykpIHtcbiAgICAgIGN0eHMgPSBbY3R4c10gYXMgcmVhZG9ubHkgVFtdO1xuICAgIH1cblxuICAgIGNvbnN0IGRpYWcgPSBuZXcgQXJyYXk8RGlhZ25vc3RpYz4oKTtcblxuICAgIGZvciAoY29uc3QgY3R4IG9mIGN0eHMpIHtcbiAgICAgIGZvciAoY29uc3QgcnVsZSBvZiBPYmplY3QudmFsdWVzKHRoaXMuX3J1bGVzKSkge1xuICAgICAgICBjb25zdCBldmFsdWF0aW9uID0gbmV3IEV2YWx1YXRpb24oY3R4LCBydWxlLCBkaWFnLCBvcHRpb25zKTtcbiAgICAgICAgcnVsZS5ldmFsKGV2YWx1YXRpb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkaWFnO1xuICB9XG59XG5cbi8qKlxuICogUGFzc2VkIGluIHRvIGVhY2ggcnVsZSBkdXJpbmcgZXZhbHVhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIEV2YWx1YXRpb248VD4ge1xuICBwdWJsaWMgcmVhZG9ubHkgY3R4OiBUO1xuICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogTGludGVyT3B0aW9ucztcblxuICBwcml2YXRlIHJlYWRvbmx5IGN1cnI6IENvbmNyZXRlUnVsZTxUPjtcbiAgcHJpdmF0ZSByZWFkb25seSBkaWFnbm9zdGljczogRGlhZ25vc3RpY1tdO1xuXG4gIGNvbnN0cnVjdG9yKGN0eDogVCwgcnVsZTogQ29uY3JldGVSdWxlPFQ+LCBkaWFnbm9zdGljczogRGlhZ25vc3RpY1tdLCBvcHRpb25zOiBMaW50ZXJPcHRpb25zKSB7XG4gICAgdGhpcy5jdHggPSBjdHg7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLmN1cnIgPSBydWxlO1xuICAgIHRoaXMuZGlhZ25vc3RpY3MgPSBkaWFnbm9zdGljcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmQgYSBmYWlsdXJlIGlmIGBjb25kaXRpb25gIGlzIG5vdCB0cnV0aHkuXG4gICAqXG4gICAqIEBwYXJhbSBjb25kaXRpb24gVGhlIGNvbmRpdGlvbiB0byBhc3NlcnQuXG4gICAqIEBwYXJhbSBzY29wZSBVc2VkIHRvIGRpYWdub3NlIHRoZSBsb2NhdGlvbiBpbiB0aGUgc291cmNlLCBhbmQgaXMgdXNlZCBpbiB0aGVcbiAgICogaWdub3JlIHBhdHRlcm4uXG4gICAqIEBwYXJhbSBleHRyYSBVc2VkIHRvIHJlcGxhY2UgJXMgaW4gdGhlIGRlZmF1bHQgbWVzc2FnZSBmb3JtYXQgc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIGFzc2VydChjb25kaXRpb246IGFueSwgc2NvcGU6IHN0cmluZywgZXh0cmE/OiBzdHJpbmcpOiBjb25kaXRpb24gaXMgdHJ1ZSB7XG4gICAgLy8gZGVkdXBsaWNhdGU6IHNraXAgaWYgdGhpcyBzcGVjaWZpYyBhc3NlcnRpb24gKFwicnVsZTpzY29wZVwiKSB3YXMgYWxyZWFkeSBleGFtaW5lZFxuICAgIGlmICh0aGlzLmRpYWdub3N0aWNzLmZpbmQoZCA9PiBkLnJ1bGUuY29kZSA9PT0gdGhpcy5jdXJyLmNvZGUgJiYgZC5zY29wZSA9PT0gc2NvcGUpKSB7XG4gICAgICByZXR1cm4gY29uZGl0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGluY2x1ZGUgPSB0aGlzLnNob3VsZEV2YWx1YXRlKHRoaXMuY3Vyci5jb2RlLCBzY29wZSk7XG4gICAgY29uc3QgbWVzc2FnZSA9IHV0aWwuZm9ybWF0KHRoaXMuY3Vyci5tZXNzYWdlLCBleHRyYSB8fCAnJyk7XG5cbiAgICAvLyBEb24ndCBhZGQgYSBcIlN1Y2Nlc3NcIiBkaWFnbm9zdGljLiBJdCB3aWxsIGJyZWFrIGlmIHdlIHJ1biBhIGNvbXBvdW5kXG4gICAgLy8gbGludGVyIHJ1bGUgd2hpY2ggY29uc2lzdHMgb2YgMyBjaGVja3Mgd2l0aCB0aGUgc2FtZSBzY29wZSAoc3VjaFxuICAgIC8vIGFzIGZvciBleGFtcGxlIGBhc3NlcnRTaWduYXR1cmUoKWApLiBJZiB0aGUgZmlyc3QgY2hlY2sgZmFpbHMsIHdlIHdvdWxkXG4gICAgLy8gYWRkIGEgXCJTdWNjZXNzXCIgZGlhZ25vc3RpYyBhbmQgYWxsIG90aGVyIGRpYWdub3N0aWNzIHdvdWxkIGJlIHNraXBwZWQgYmVjYXVzZVxuICAgIC8vIG9mIHRoZSBkZWR1cGxpY2F0aW9uIGNoZWNrIGFib3ZlLiBDaGFuZ2luZyB0aGUgc2NvcGUgbWFrZXMgaXQgd29yc2UsIHNpbmNlXG4gICAgLy8gdGhlIHNjb3BlIGlzIGFsc28gdGhlIGlnbm9yZSBwYXR0ZXJuIGFuZCB0aGV5J3JlIGFsbCBjb25jZXB0dWFsbHkgdGhlIHNhbWUgcnVsZS5cbiAgICAvL1xuICAgIC8vIFNpbXBsZXN0IHNvbHV0aW9uIGlzIHRvIG5vdCByZWNvcmQgc3VjY2Vzc2VzIC0tIHdoeSBkbyB3ZSBldmVuIG5lZWQgdGhlbT9cbiAgICBpZiAoaW5jbHVkZSAmJiBjb25kaXRpb24pIHsgcmV0dXJuIGNvbmRpdGlvbjsgfVxuXG4gICAgbGV0IGxldmVsOiBEaWFnbm9zdGljTGV2ZWw7XG4gICAgaWYgKCFpbmNsdWRlKSB7XG4gICAgICBsZXZlbCA9IERpYWdub3N0aWNMZXZlbC5Ta2lwcGVkO1xuICAgIH0gZWxzZSBpZiAodGhpcy5jdXJyLndhcm5pbmcpIHtcbiAgICAgIGxldmVsID0gRGlhZ25vc3RpY0xldmVsLldhcm5pbmc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldmVsID0gRGlhZ25vc3RpY0xldmVsLkVycm9yO1xuICAgIH1cblxuICAgIGNvbnN0IGRpYWc6IERpYWdub3N0aWMgPSB7XG4gICAgICBsZXZlbCxcbiAgICAgIHJ1bGU6IHRoaXMuY3VycixcbiAgICAgIHNjb3BlLFxuICAgICAgbWVzc2FnZSxcbiAgICB9O1xuXG4gICAgdGhpcy5kaWFnbm9zdGljcy5wdXNoKGRpYWcpO1xuXG4gICAgcmV0dXJuIGNvbmRpdGlvbjtcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRFcXVhbHMoYWN0dWFsOiBhbnksIGV4cGVjdGVkOiBhbnksIHNjb3BlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hc3NlcnQoYWN0dWFsID09PSBleHBlY3RlZCwgc2NvcGUsIGAgKGV4cGVjdGVkPVwiJHtleHBlY3RlZH1cIixhY3R1YWw9XCIke2FjdHVhbH1cIilgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRUeXBlc0VxdWFsKHRzOiByZWZsZWN0LlR5cGVTeXN0ZW0sIGFjdHVhbDogVHlwZVNwZWNpZmllciwgZXhwZWN0ZWQ6IFR5cGVTcGVjaWZpZXIsIHNjb3BlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBhID0gdHlwZVJlZmVyZW5jZUZyb20odHMsIGFjdHVhbCk7XG4gICAgY29uc3QgZSA9IHR5cGVSZWZlcmVuY2VGcm9tKHRzLCBleHBlY3RlZCk7XG4gICAgcmV0dXJuIHRoaXMuYXNzZXJ0KGEudG9TdHJpbmcoKSA9PT0gZS50b1N0cmluZygpLCBzY29wZSwgYCAoZXhwZWN0ZWQ9XCIke2V9XCIsYWN0dWFsPVwiJHthfVwiKWApO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFR5cGVzQXNzaWduYWJsZSh0czogcmVmbGVjdC5UeXBlU3lzdGVtLCBhY3R1YWw6IFR5cGVTcGVjaWZpZXIsIGV4cGVjdGVkOiBUeXBlU3BlY2lmaWVyLCBzY29wZTogc3RyaW5nKSB7XG4gICAgY29uc3QgYSA9IHR5cGVSZWZlcmVuY2VGcm9tKHRzLCBhY3R1YWwpO1xuICAgIGNvbnN0IGUgPSB0eXBlUmVmZXJlbmNlRnJvbSh0cywgZXhwZWN0ZWQpO1xuICAgIHJldHVybiB0aGlzLmFzc2VydChhLnRvU3RyaW5nKCkgPT09IGUudG9TdHJpbmcoKSB8fCAoYS5mcW4gJiYgZS5mcW4gJiYgYS50eXBlIS5leHRlbmRzKGUudHlwZSEpKSwgc2NvcGUsIGAgKFwiJHthfVwiIG5vdCBhc3NpZ25hYmxlIHRvIFwiJHtlfVwiKWApO1xuICB9XG5cbiAgcHVibGljIGFzc2VydFBhcmFtZXRlck9wdGlvbmFsKGFjdHVhbDogYm9vbGVhbiwgZXhwZWN0ZWQ6IGJvb2xlYW4sIHNjb3BlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hc3NlcnQoYWN0dWFsID09PSBleHBlY3RlZCwgc2NvcGUsIGAgKCR7c2NvcGV9IHNob3VsZCBiZSAke2V4cGVjdGVkID8gJ29wdGlvbmFsJyA6ICdtYW5kYXRvcnknfSlgKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3NlcnRTaWduYXR1cmUobWV0aG9kOiByZWZsZWN0LkNhbGxhYmxlLCBleHBlY3RhdGlvbnM6IE1ldGhvZFNpZ25hdHVyZUV4cGVjdGF0aW9ucykge1xuICAgIGNvbnN0IHNjb3BlID0gbWV0aG9kLnBhcmVudFR5cGUuZnFuICsgJy4nICsgbWV0aG9kLm5hbWU7XG4gICAgaWYgKGV4cGVjdGF0aW9ucy5yZXR1cm5zICYmIHJlZmxlY3QuTWV0aG9kLmlzTWV0aG9kKG1ldGhvZCkpIHtcbiAgICAgIHRoaXMuYXNzZXJ0VHlwZXNFcXVhbChtZXRob2Quc3lzdGVtLCBtZXRob2QucmV0dXJucy50eXBlLCBleHBlY3RhdGlvbnMucmV0dXJucywgc2NvcGUpO1xuICAgIH1cblxuICAgIGlmIChleHBlY3RhdGlvbnMucGFyYW1ldGVycykge1xuICAgICAgY29uc3QgZXhwZWN0ZWRDb3VudCA9IGV4cGVjdGF0aW9ucy5wYXJhbWV0ZXJzLmxlbmd0aDtcbiAgICAgIGNvbnN0IGFjdHVhbENvdW50ID0gbWV0aG9kLnBhcmFtZXRlcnMubGVuZ3RoO1xuICAgICAgaWYgKHRoaXMuYXNzZXJ0RXF1YWxzKGFjdHVhbENvdW50LCBleHBlY3RlZENvdW50LCBzY29wZSkpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBleHBlY3RhdGlvbnMucGFyYW1ldGVycy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgIGNvbnN0IGV4cGVjdCA9IGV4cGVjdGF0aW9ucy5wYXJhbWV0ZXJzW2ldO1xuICAgICAgICAgIGNvbnN0IGFjdHVhbCA9IG1ldGhvZC5wYXJhbWV0ZXJzW2ldO1xuICAgICAgICAgIGNvbnN0IHBzY29wZSA9IHNjb3BlICsgYC5wYXJhbXNbJHtpfV1gO1xuICAgICAgICAgIGlmIChleHBlY3QubmFtZSkge1xuICAgICAgICAgICAgY29uc3QgZXhwZWN0ZWROYW1lID0gZXhwZWN0Lm5hbWU7XG4gICAgICAgICAgICBjb25zdCBhY3R1YWxOYW1lID0gYWN0dWFsLm5hbWU7XG4gICAgICAgICAgICB0aGlzLmFzc2VydEVxdWFscyhhY3R1YWxOYW1lLCBleHBlY3RlZE5hbWUsIHBzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChleHBlY3QudHlwZSkge1xuICAgICAgICAgICAgaWYgKGV4cGVjdC5zdWJ0eXBlQWxsb3dlZCkge1xuICAgICAgICAgICAgICB0aGlzLmFzc2VydFR5cGVzQXNzaWduYWJsZShtZXRob2Quc3lzdGVtLCBhY3R1YWwudHlwZSwgZXhwZWN0LnR5cGUsIHBzY29wZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmFzc2VydFR5cGVzRXF1YWwobWV0aG9kLnN5c3RlbSwgYWN0dWFsLnR5cGUsIGV4cGVjdC50eXBlLCBwc2NvcGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXhwZWN0Lm9wdGlvbmFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYXNzZXJ0UGFyYW1ldGVyT3B0aW9uYWwoYWN0dWFsLm9wdGlvbmFsLCBleHBlY3Qub3B0aW9uYWwsIHBzY29wZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyB3aGV0aGVyIHRoZSBydWxlIHNob3VsZCBiZSBldmFsdWF0ZWQgYmFzZWQgb24gdGhlIGZpbHRlcnMgYXBwbGllZC5cbiAgICovXG4gIHByaXZhdGUgc2hvdWxkRXZhbHVhdGUoY29kZTogc3RyaW5nLCBzY29wZTogc3RyaW5nKSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMuaW5jbHVkZVJ1bGVzIHx8IHRoaXMub3B0aW9ucy5pbmNsdWRlUnVsZXMuaXNFbXB0eSgpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLmluY2x1ZGVSdWxlcy5tYXRjaGVzKGNvZGUsIHNjb3BlKSkge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5leGNsdWRlUnVsZXM/Lm1hdGNoZXMoY29kZSwgc2NvcGUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuZXhwb3J0IGludGVyZmFjZSBSdWxlIHtcbiAgY29kZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHdhcm5pbmc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmNyZXRlUnVsZTxUPiBleHRlbmRzIFJ1bGUge1xuICBldmFsKGxpbnRlcjogRXZhbHVhdGlvbjxUPik6IHZvaWQ7XG59XG5cbi8qKlxuICogQSB0eXBlIGNvbnN0cmFpbnRcbiAqXG4gKiBCZSBzdXBlciBmbGV4aWJsZSBhYm91dCBob3cgdHlwZXMgY2FuIGJlIHJlcHJlc2VudGVkLiBVbHRpbWF0ZWx5LCB3ZSB3aWxsXG4gKiBjb21wYXJlIHdoYXQgeW91IGdpdmUgdG8gYSBUeXBlUmVmZXJlbmNlLCBiZWNhdXNlIHRoYXQncyB3aGF0J3MgaW4gdGhlIEpTSUlcbiAqIFJlZmxlY3QgbW9kZWwuIEhvd2V2ZXIsIGlmIHlvdSBhbHJlYWR5IGhhdmUgYSByZWFsIFR5cGUsIG9yIGp1c3QgYSBzdHJpbmcgdG9cbiAqIGEgdXNlci1kZWZpbmVkIHR5cGUsIHRoYXQncyBmaW5lIHRvby4gV2UnbGwgRG8gVGhlIFJpZ2h0IFRoaW5nLlxuICovXG5leHBvcnQgdHlwZSBUeXBlU3BlY2lmaWVyID0gcmVmbGVjdC5UeXBlUmVmZXJlbmNlIHwgcmVmbGVjdC5UeXBlIHwgc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGhvZFNpZ25hdHVyZVBhcmFtZXRlckV4cGVjdGF0aW9uIHtcbiAgbmFtZT86IHN0cmluZztcbiAgdHlwZT86IFR5cGVTcGVjaWZpZXI7XG4gIHN1YnR5cGVBbGxvd2VkPzogYm9vbGVhbjtcblxuICAvKiogc2hvdWxkIHRoaXMgcGFyYW0gYmUgb3B0aW9uYWw/ICovXG4gIG9wdGlvbmFsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRob2RTaWduYXR1cmVFeHBlY3RhdGlvbnMge1xuICBwYXJhbWV0ZXJzPzogTWV0aG9kU2lnbmF0dXJlUGFyYW1ldGVyRXhwZWN0YXRpb25bXTtcbiAgcmV0dXJucz86IFR5cGVTcGVjaWZpZXI7XG59XG5cbmV4cG9ydCBlbnVtIERpYWdub3N0aWNMZXZlbCB7XG4gIFNraXBwZWQsXG4gIFN1Y2Nlc3MsXG4gIFdhcm5pbmcsXG4gIEVycm9yLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERpYWdub3N0aWMge1xuICBsZXZlbDogRGlhZ25vc3RpY0xldmVsO1xuICBydWxlOiBSdWxlO1xuICBzY29wZTogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udmVydCBhIHR5cGUgc3BlY2lmaWVyIHRvIGEgVHlwZVJlZmVyZW5jZVxuICovXG5mdW5jdGlvbiB0eXBlUmVmZXJlbmNlRnJvbSh0czogcmVmbGVjdC5UeXBlU3lzdGVtLCB4OiBUeXBlU3BlY2lmaWVyKTogcmVmbGVjdC5UeXBlUmVmZXJlbmNlIHtcbiAgaWYgKGlzVHlwZVJlZmVyZW5jZSh4KSkgeyByZXR1cm4geDsgfVxuXG4gIGlmICh0eXBlb2YgeCA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAoeC5pbmRleE9mKCcuJykgPT09IC0xKSB7XG4gICAgICByZXR1cm4gbmV3IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSh0cywgeyBwcmltaXRpdmU6IHggYXMgUHJpbWl0aXZlVHlwZSB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG5ldyByZWZsZWN0LlR5cGVSZWZlcmVuY2UodHMsIHsgZnFuOiB4IH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXcgcmVmbGVjdC5UeXBlUmVmZXJlbmNlKHRzLCB4KTtcbn1cblxuZnVuY3Rpb24gaXNUeXBlUmVmZXJlbmNlKHg6IGFueSk6IHggaXMgcmVmbGVjdC5UeXBlUmVmZXJlbmNlIHtcbiAgcmV0dXJuIHggaW5zdGFuY2VvZiByZWZsZWN0LlR5cGVSZWZlcmVuY2U7XG59XG4iXX0=
|
package/lib/linter.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as util from 'util';
|
|
2
|
-
import { PrimitiveType } from '@jsii/spec';
|
|
2
|
+
import type { PrimitiveType } from '@jsii/spec';
|
|
3
3
|
import * as reflect from 'jsii-reflect';
|
|
4
|
-
import { RuleFilterSet } from './rule-specs';
|
|
4
|
+
import type { RuleFilterSet } from './rule-specs';
|
|
5
5
|
|
|
6
6
|
export interface LinterOptions {
|
|
7
7
|
/**
|
package/lib/rules/api.js
CHANGED
|
@@ -151,4 +151,4 @@ function visitParameters(root, visitor) {
|
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUFrRDtBQUNsRCw2Q0FBeUM7QUFDekMsc0NBQW1DO0FBRW5DLE1BQU0scUJBQXFCLEdBQUcsbUJBQW1CLENBQUM7QUFDbEQsTUFBTSw0QkFBNEIsR0FBRyxzQkFBc0IsQ0FBQztBQUU1RCxnREFBZ0Q7QUFDbkMsUUFBQSxTQUFTLEdBQUcsSUFBSSxlQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQywrQkFBbUI7S0FDekQsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0tBQ3BCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsc0JBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV2RCxpQkFBUyxDQUFDLEdBQUcsQ0FBQztJQUNaLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsT0FBTyxFQUFFLGlHQUFpRztRQUN4RyxnQ0FBZ0MsU0FBUyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQjtJQUN4RixJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDUixlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDL0IsU0FBUyxFQUFFLFVBQVUsSUFBMkIsRUFBRSxJQUFrQixFQUFFLEtBQWE7Z0JBQ2pGLCtCQUErQjtnQkFDL0IsSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztvQkFDakQsT0FBTztnQkFDVCxDQUFDO2dCQUVELGtGQUFrRjtnQkFDbEYsc0NBQXNDO2dCQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7dUJBQ2QsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTt1QkFDeEIsQ0FBQyxzQkFBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29C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Q0FBQztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNsQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFFRCxzQkFBc0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUM3QyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcmVmbGVjdCBmcm9tICdqc2lpLXJlZmxlY3QnO1xuaW1wb3J0IHsgQ29uc3RydWN0UmVmbGVjdGlvbiB9IGZyb20gJy4vY29uc3RydWN0JztcbmltcG9ydCB7IENvcmVUeXBlcyB9IGZyb20gJy4vY29yZS10eXBlcyc7XG5pbXBvcnQgeyBMaW50ZXIgfSBmcm9tICcuLi9saW50ZXInO1xuXG5jb25zdCBDTEFTU19PTl9QVVJQT1NFX1JVTEUgPSAncmVmLXZpYS1pbnRlcmZhY2UnO1xuY29uc3QgTDJfSU5URVJGQUNFX09OX1BVUlBPU0VfUlVMRSA9ICdwcmVmZXItcmVmLWludGVyZmFjZSc7XG5cbi8vIGxpbnQgYWxsIGNvbnN0cnVjdHMgdGhhdCBhcmUgbm90IEwxIHJlc291cmNlc1xuZXhwb3J0IGNvbnN0IGFwaUxpbnRlciA9IG5ldyBMaW50ZXIoYSA9PiBDb25zdHJ1Y3RSZWZsZWN0aW9uXG4gIC5maW5kQWxsQ29uc3RydWN0cyhhKVxuICAuZmlsdGVyKGMgPT4gIUNvcmVUeXBlcy5pc0NmblJlc291cmNlKGMuY2xhc3NUeXBlKSkpO1xuXG5hcGlMaW50ZXIuYWRkKHtcbiAgY29kZTogQ0xBU1NfT05fUFVSUE9TRV9SVUxFLFxuICBtZXNzYWdlOiAnQVBJIHNob3VsZCB1c2UgaW50ZXJmYWNlIChwcmVmZXJhYmx5IEl4eHhSZWYsIG90aGVyd2lzZSBJeHh4KSBhbmQgbm90IHRoZSBjb25jcmV0ZSBjbGFzcyAoJXMpLiAnICtcbiAgICBgSWYgdGhpcyBpcyBpbnRlbnRpb25hbCwgYWRkIFwiJHtpZ25vcmVUYWcoQ0xBU1NfT05fUFVSUE9TRV9SVUxFKX1cIiB0byBlbGVtZW50J3MganNkb2NgLFxuICBldmFsOiBlID0+IHtcbiAgICB2aXNpdFBhcmFtZXRlcnMoZS5jdHguY2xhc3NUeXBlLCB7XG4gICAgICB2aXNpdFR5cGU6IGZ1bmN0aW9uICh0eXBlOiByZWZsZWN0LlR5cGVSZWZlcmVuY2UsIGRvY3M6IHJlZmxlY3QuRG9jcywgc2NvcGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAvLyBhbGxvdyBleGNsdXNpb24gb2YgdGhpcyBydWxlXG4gICAgICAgIGlmIChkb2NIYXNJZ25vcmVUYWcoZG9jcywgQ0xBU1NfT05fUFVSUE9TRV9SVUxFKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFzc2VydCB0aGF0IGFsbCB0eXBlcyB0aGF0IHJlZmVyZW5jZSBjbGFzc2VzIGFyZSBub3QgcmVzb3VyY2UgY29uc3RydWN0cy4gVGhvc2VcbiAgICAgICAgLy8gc2hvdWxkIGJlIHJlZmVyZW5jZWQgdmlhIEludGVyZmFjZS5cbiAgICAgICAgZS5hc3NlcnQoIXR5cGUudHlwZVxuICAgICAgICAgIHx8ICF0eXBlLnR5cGUuaXNDbGFzc1R5cGUoKVxuICAgICAgICAgIHx8ICFDb3JlVHlwZXMuaXNSZXNvdXJjZUNsYXNzKHR5cGUudHlwZSlcbiAgICAgICAgICAvLyBNYWtlIGFuIGV4Y2VwdGlvbiBmb3IgYGNvbnN0cnVjdHMuQ29uc3RydWN0YC5cbiAgICAgICAgICB8fCB0eXBlLnR5cGUuZnFuID09PSBlLmN0eC5jb3JlLmJhc2VDb25zdHJ1Y3RDbGFzc0ZxbixcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIHR5cGUudHlwZT8uZnFuLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSxcbn0pO1xuXG5hcGlMaW50ZXIuYWRkKHtcbiAgY29kZTogTDJfSU5URVJGQUNFX09OX1BVUlBPU0VfUlVMRSxcbiAgbWVzc2FnZTogJ0FQSSBzaG91bGQgcHJlZmVyIHRvIHVzZSB0aGUgTDEgcmVmZXJlbmNlIGludGVyZmFjZSAoSXh4eFJlZikgYW5kIG5vdCB0aGUgTDIgaW50ZXJmYWNlICglcykuICcgK1xuICAgIGBJZiB0aGlzIGlzIGludGVudGlvbmFsLCBhZGQgXCIke2lnbm9yZVRhZyhMMl9JTlRFUkZBQ0VfT05fUFVSUE9TRV9SVUxFKX1cIiB0byBlbGVtZW50J3MganNkb2NgLFxuICBldmFsOiBlID0+IHtcbiAgICB2aXNpdFBhcmFtZXRlcnMoZS5jdHguY2xhc3NUeXBlLCB7XG4gICAgICB2aXNpdFR5cGU6IGZ1bmN0aW9uICh0eXBlOiByZWZsZWN0LlR5cGVSZWZlcmVuY2UsIGRvY3M6IHJlZmxlY3QuRG9jcywgc2NvcGU6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICAvLyBhbGxvdyBleGNsdXNpb24gb2YgdGhpcyBydWxlXG4gICAgICAgIGlmIChkb2NIYXNJZ25vcmVUYWcoZG9jcywgTDJfSU5URVJGQUNFX09OX1BVUlBPU0VfUlVMRSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBc3NlcnQgdGhhdCBhbGwgdHlwZXMgdGhhdCBpbnRlcmZhY2VzIGFyZSBub3QgTDIgaW50ZXJmYWNlcy4gVGhpcyBpcyBhY3R1YWxseSBub3QgY2hlY2tpbmdcbiAgICAgICAgLy8gdGhhdCB0aGV5IEFSRSBSZWYgaW50ZXJmYWNlcywganVzdCB0aGF0IHRoZXkgYXJlbid0IEwyIGludGVyZmFjZXMgKGNvdWxkIGFsc28gYmUgc2VydmljZS1cbiAgICAgICAgLy8gc3BlY2lmaWMgbm9uLXJlc291cmNlIGludGVyZmFjZXMsIGFuZCB0aG9zZSBhcmUgZmluZSB0b28pXG4gICAgICAgIGUuYXNzZXJ0KCF0eXBlLnR5cGVcbiAgICAgICAgICB8fCAhdHlwZS50eXBlLmlzSW50ZXJmYWNlVHlwZSgpXG4gICAgICAgICAgfHwgdHlwZS50eXBlLmRhdGF0eXBlXG4gICAgICAgICAgfHwgIUNvcmVUeXBlcy5pc0wySW50ZXJmYWNlKHR5cGUudHlwZSksXG4gICAgICAgIHNjb3BlLFxuICAgICAgICB0eXBlLnR5cGU/LmZxbixcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sXG59KTtcblxuZnVuY3Rpb24gaWdub3JlVGFnKHJ1bGU6IHN0cmluZykge1xuICByZXR1cm4gYFtkaXNhYmxlLWF3c2xpbnQ6JHtydWxlfV1gO1xufVxuXG5mdW5jdGlvbiBkb2NIYXNJZ25vcmVUYWcoZG9jczogcmVmbGVjdC5Eb2NzLCBydWxlOiBzdHJpbmcpIHtcbiAgY29uc3QgdGFnID0gaWdub3JlVGFnKHJ1bGUpO1xuICByZXR1cm4gZG9jcy5zdW1tYXJ5LmluY2x1ZGVzKHRhZykgfHwgZG9jcy5yZW1hcmtzLmluY2x1ZGVzKHRhZyk7XG59XG5cbi8qKlxuICogVmlzaXQgYWxsIHR5cGVzIGluIHRoZSBBUEkgb2YgYSBnaXZlbiB0eXBlXG4gKlxuICogVGhpcyB2aXNpdHMgbWV0aG9kIHBhcmFtZXRlcnMgYW5kIG1lbWJlcnMgb2Ygc3RydWN0cyBvZiBtZXRob2QgcGFyYW1ldGVycy5cbiAqL1xuZnVuY3Rpb24gdmlzaXRQYXJhbWV0ZXJzKHJvb3Q6IHJlZmxlY3QuVHlwZSwgdmlzaXRvcjogVHlwZVZpc2l0b3IpIHtcbiAgY29uc3QgdmlzaXRlZCA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGlmIChyb290LmlzQ2xhc3NUeXBlKCkpIHtcbiAgICBhc3NlcnRDbGFzcyhyb290KTtcbiAgfSBlbHNlIGlmIChyb290LmlzSW50ZXJmYWNlVHlwZSgpKSB7XG4gICAgYXNzZXJ0SW50ZXJmYWNlKHJvb3QpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCB0eXBlOiAke3Jvb3QudG9TdHJpbmcoKX1gKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2VydENsYXNzKHR5cGU6IHJlZmxlY3QuQ2xhc3NUeXBlKTogdm9pZCB7XG4gICAgaWYgKHZpc2l0ZWQuaGFzKHR5cGUuZnFuKSkgeyByZXR1cm47IH1cbiAgICB2aXNpdGVkLmFkZCh0eXBlLmZxbik7XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiB0eXBlLmFsbE1ldGhvZHMpIHtcbiAgICAgIGFzc2VydE1ldGhvZChtZXRob2QpO1xuICAgIH1cblxuICAgIGlmICh0eXBlLmluaXRpYWxpemVyKSB7XG4gICAgICBhc3NlcnRNZXRob2QodHlwZS5pbml0aWFsaXplcik7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gYXNzZXJ0RGF0YVR5cGUodHlwZTogcmVmbGVjdC5JbnRlcmZhY2VUeXBlKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiB0eXBlLmFsbFByb3BlcnRpZXMpIHtcbiAgICAgIGFzc2VydFByb3BlcnR5KHByb3BlcnR5KTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnRJbnRlcmZhY2UodHlwZTogcmVmbGVjdC5JbnRlcmZhY2VUeXBlKTogdm9pZCB7XG4gICAgaWYgKHZpc2l0ZWQuaGFzKHR5cGUuZnFuKSkgeyByZXR1cm47IH1cbiAgICB2aXNpdGVkLmFkZCh0eXBlLmZxbik7XG5cbiAgICBpZiAodHlwZS5kYXRhdHlwZSkge1xuICAgICAgYXNzZXJ0RGF0YVR5cGUodHlwZSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBtZXRob2Qgb2YgdHlwZS5hbGxNZXRob2RzKSB7XG4gICAgICBhc3NlcnRNZXRob2QobWV0aG9kKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnRQcm9wZXJ0eShwcm9wZXJ0eTogcmVmbGVjdC5Qcm9wZXJ0eSkge1xuICAgIGlmIChwcm9wZXJ0eS5wcm90ZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzaXRlID0gcHJvcGVydHkub3ZlcnJpZGVzID8gcHJvcGVydHkub3ZlcnJpZGVzIDogcHJvcGVydHkucGFyZW50VHlwZTtcbiAgICBhc3NlcnRUeXBlKHByb3BlcnR5LnR5cGUsIHByb3BlcnR5LmRvY3MsIGAke3NpdGUuZnFufS4ke3Byb3BlcnR5Lm5hbWV9YCk7XG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnRNZXRob2QobWV0aG9kOiByZWZsZWN0LkNhbGxhYmxlKSB7XG4gICAgaWYgKG1ldGhvZC5wcm90ZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzaXRlID0gbWV0aG9kLm92ZXJyaWRlcyA/IG1ldGhvZC5vdmVycmlkZXMgOiBtZXRob2QucGFyZW50VHlwZTtcbiAgICBjb25zdCBzY29wZSA9IGAke3NpdGUuZnFufS4ke21ldGhvZC5uYW1lfWA7XG5cbiAgICBsZXQgZmlyc3RNZXRob2Q6IHJlZmxlY3QuQ2FsbGFibGUgfCB1bmRlZmluZWQgPSBzaXRlLmlzQ2xhc3NUeXBlKCkgfHwgc2l0ZS5pc0ludGVyZmFjZVR5cGUoKVxuICAgICAgPyBzaXRlLmFsbE1ldGhvZHMuZmluZChtID0+IG0ubmFtZSA9PT0gbWV0aG9kLm5hbWUpXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGlmICghZmlyc3RNZXRob2QpIHtcbiAgICAgIGZpcnN0TWV0aG9kID0gbWV0aG9kO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcGFyYW0gb2YgZmlyc3RNZXRob2QucGFyYW1ldGVycykge1xuICAgICAgYXNzZXJ0VHlwZShwYXJhbS50eXBlLCBwYXJhbS5kb2NzLCBgJHtzY29wZX0uJHtwYXJhbS5uYW1lfWApO1xuICAgIH1cblxuICAgIC8vIG5vdGUgdGhhdCB3ZSBkbyBub3QgcmVxdWlyZSB0aGF0IHJldHVybiB2YWx1ZXMgd2lsbCB1c2UgYW4gaW50ZXJmYWNlXG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnRUeXBlKHR5cGU6IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSwgZG9jczogcmVmbGVjdC5Eb2NzLCBzY29wZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdmlzaXRvci52aXNpdFR5cGUodHlwZSwgZG9jcywgc2NvcGUpO1xuXG4gICAgLy8gQW5kIHJlY3Vyc2VcbiAgICBpZiAodHlwZS5hcnJheU9mVHlwZSkge1xuICAgICAgcmV0dXJuIGFzc2VydFR5cGUodHlwZS5hcnJheU9mVHlwZSwgZG9jcywgc2NvcGUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlLm1hcE9mVHlwZSkge1xuICAgICAgcmV0dXJuIGFzc2VydFR5cGUodHlwZS5tYXBPZlR5cGUsIGRvY3MsIHNjb3BlKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZS51bmlvbk9mVHlwZXMpIHtcbiAgICAgIGZvciAoY29uc3QgdCBvZiB0eXBlLnVuaW9uT2ZUeXBlcykge1xuICAgICAgICBhc3NlcnRUeXBlKHQsIGRvY3MsIHNjb3BlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBpbnRlcmZhY2VzIGFyZSBva2F5XG4gICAgaWYgKHR5cGUudHlwZSAmJiB0eXBlLnR5cGUuaXNJbnRlcmZhY2VUeXBlKCkpIHtcbiAgICAgIHJldHVybiBhc3NlcnRJbnRlcmZhY2UodHlwZS50eXBlKTtcbiAgICB9XG4gIH1cbn1cblxuaW50ZXJmYWNlIFR5cGVWaXNpdG9yIHtcbiAgdmlzaXRUeXBlKHR5cGU6IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSwgZG9jczogcmVmbGVjdC5Eb2NzLCBzY29wZTogc3RyaW5nKTogdm9pZDtcbn1cbiJdfQ==
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUFrRDtBQUNsRCw2Q0FBeUM7QUFDekMsc0NBQW1DO0FBRW5DLE1BQU0scUJBQXFCLEdBQUcsbUJBQW1CLENBQUM7QUFDbEQsTUFBTSw0QkFBNEIsR0FBRyxzQkFBc0IsQ0FBQztBQUU1RCxnREFBZ0Q7QUFDbkMsUUFBQSxTQUFTLEdBQUcsSUFBSSxlQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQywrQkFBbUI7S0FDekQsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0tBQ3BCLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsc0JBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV2RCxpQkFBUyxDQUFDLEdBQUcsQ0FBQztJQUNaLElBQUksRUFBRSxxQkFBcUI7SUFDM0IsT0FBTyxFQUFFLGlHQUFpRztRQUN4RyxnQ0FBZ0MsU0FBUyxDQUFDLHFCQUFxQixDQUFDLHNCQUFzQjtJQUN4RixJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDUixlQUFlLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUU7WUFDL0IsU0FBUyxFQUFFLFVBQVUsSUFBMkIsRUFBRSxJQUFrQixFQUFFLEtBQWE7Z0JBQ2pGLCtCQUErQjtnQkFDL0IsSUFBSSxlQUFlLENBQUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLEVBQUUsQ0FBQztvQkFDakQsT0FBTztnQkFDVCxDQUFDO2dCQUVELGtGQUFrRjtnQkFDbEYsc0NBQXNDO2dCQUN0QyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUk7dUJBQ2QsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTt1QkFDeEIsQ0FBQyxzQkFBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29C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Q0FBQztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNsQyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3QixDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFFRCxzQkFBc0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztZQUM3QyxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgKiBhcyByZWZsZWN0IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RSZWZsZWN0aW9uIH0gZnJvbSAnLi9jb25zdHJ1Y3QnO1xuaW1wb3J0IHsgQ29yZVR5cGVzIH0gZnJvbSAnLi9jb3JlLXR5cGVzJztcbmltcG9ydCB7IExpbnRlciB9IGZyb20gJy4uL2xpbnRlcic7XG5cbmNvbnN0IENMQVNTX09OX1BVUlBPU0VfUlVMRSA9ICdyZWYtdmlhLWludGVyZmFjZSc7XG5jb25zdCBMMl9JTlRFUkZBQ0VfT05fUFVSUE9TRV9SVUxFID0gJ3ByZWZlci1yZWYtaW50ZXJmYWNlJztcblxuLy8gbGludCBhbGwgY29uc3RydWN0cyB0aGF0IGFyZSBub3QgTDEgcmVzb3VyY2VzXG5leHBvcnQgY29uc3QgYXBpTGludGVyID0gbmV3IExpbnRlcihhID0+IENvbnN0cnVjdFJlZmxlY3Rpb25cbiAgLmZpbmRBbGxDb25zdHJ1Y3RzKGEpXG4gIC5maWx0ZXIoYyA9PiAhQ29yZVR5cGVzLmlzQ2ZuUmVzb3VyY2UoYy5jbGFzc1R5cGUpKSk7XG5cbmFwaUxpbnRlci5hZGQoe1xuICBjb2RlOiBDTEFTU19PTl9QVVJQT1NFX1JVTEUsXG4gIG1lc3NhZ2U6ICdBUEkgc2hvdWxkIHVzZSBpbnRlcmZhY2UgKHByZWZlcmFibHkgSXh4eFJlZiwgb3RoZXJ3aXNlIEl4eHgpIGFuZCBub3QgdGhlIGNvbmNyZXRlIGNsYXNzICglcykuICcgK1xuICAgIGBJZiB0aGlzIGlzIGludGVudGlvbmFsLCBhZGQgXCIke2lnbm9yZVRhZyhDTEFTU19PTl9QVVJQT1NFX1JVTEUpfVwiIHRvIGVsZW1lbnQncyBqc2RvY2AsXG4gIGV2YWw6IGUgPT4ge1xuICAgIHZpc2l0UGFyYW1ldGVycyhlLmN0eC5jbGFzc1R5cGUsIHtcbiAgICAgIHZpc2l0VHlwZTogZnVuY3Rpb24gKHR5cGU6IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSwgZG9jczogcmVmbGVjdC5Eb2NzLCBzY29wZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIGFsbG93IGV4Y2x1c2lvbiBvZiB0aGlzIHJ1bGVcbiAgICAgICAgaWYgKGRvY0hhc0lnbm9yZVRhZyhkb2NzLCBDTEFTU19PTl9QVVJQT1NFX1JVTEUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQXNzZXJ0IHRoYXQgYWxsIHR5cGVzIHRoYXQgcmVmZXJlbmNlIGNsYXNzZXMgYXJlIG5vdCByZXNvdXJjZSBjb25zdHJ1Y3RzLiBUaG9zZVxuICAgICAgICAvLyBzaG91bGQgYmUgcmVmZXJlbmNlZCB2aWEgSW50ZXJmYWNlLlxuICAgICAgICBlLmFzc2VydCghdHlwZS50eXBlXG4gICAgICAgICAgfHwgIXR5cGUudHlwZS5pc0NsYXNzVHlwZSgpXG4gICAgICAgICAgfHwgIUNvcmVUeXBlcy5pc1Jlc291cmNlQ2xhc3ModHlwZS50eXBlKVxuICAgICAgICAgIC8vIE1ha2UgYW4gZXhjZXB0aW9uIGZvciBgY29uc3RydWN0cy5Db25zdHJ1Y3RgLlxuICAgICAgICAgIHx8IHR5cGUudHlwZS5mcW4gPT09IGUuY3R4LmNvcmUuYmFzZUNvbnN0cnVjdENsYXNzRnFuLFxuICAgICAgICBzY29wZSxcbiAgICAgICAgdHlwZS50eXBlPy5mcW4sXG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9LFxufSk7XG5cbmFwaUxpbnRlci5hZGQoe1xuICBjb2RlOiBMMl9JTlRFUkZBQ0VfT05fUFVSUE9TRV9SVUxFLFxuICBtZXNzYWdlOiAnQVBJIHNob3VsZCBwcmVmZXIgdG8gdXNlIHRoZSBMMSByZWZlcmVuY2UgaW50ZXJmYWNlIChJeHh4UmVmKSBhbmQgbm90IHRoZSBMMiBpbnRlcmZhY2UgKCVzKS4gJyArXG4gICAgYElmIHRoaXMgaXMgaW50ZW50aW9uYWwsIGFkZCBcIiR7aWdub3JlVGFnKEwyX0lOVEVSRkFDRV9PTl9QVVJQT1NFX1JVTEUpfVwiIHRvIGVsZW1lbnQncyBqc2RvY2AsXG4gIGV2YWw6IGUgPT4ge1xuICAgIHZpc2l0UGFyYW1ldGVycyhlLmN0eC5jbGFzc1R5cGUsIHtcbiAgICAgIHZpc2l0VHlwZTogZnVuY3Rpb24gKHR5cGU6IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSwgZG9jczogcmVmbGVjdC5Eb2NzLCBzY29wZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIC8vIGFsbG93IGV4Y2x1c2lvbiBvZiB0aGlzIHJ1bGVcbiAgICAgICAgaWYgKGRvY0hhc0lnbm9yZVRhZyhkb2NzLCBMMl9JTlRFUkZBQ0VfT05fUFVSUE9TRV9SVUxFKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFzc2VydCB0aGF0IGFsbCB0eXBlcyB0aGF0IGludGVyZmFjZXMgYXJlIG5vdCBMMiBpbnRlcmZhY2VzLiBUaGlzIGlzIGFjdHVhbGx5IG5vdCBjaGVja2luZ1xuICAgICAgICAvLyB0aGF0IHRoZXkgQVJFIFJlZiBpbnRlcmZhY2VzLCBqdXN0IHRoYXQgdGhleSBhcmVuJ3QgTDIgaW50ZXJmYWNlcyAoY291bGQgYWxzbyBiZSBzZXJ2aWNlLVxuICAgICAgICAvLyBzcGVjaWZpYyBub24tcmVzb3VyY2UgaW50ZXJmYWNlcywgYW5kIHRob3NlIGFyZSBmaW5lIHRvbylcbiAgICAgICAgZS5hc3NlcnQoIXR5cGUudHlwZVxuICAgICAgICAgIHx8ICF0eXBlLnR5cGUuaXNJbnRlcmZhY2VUeXBlKClcbiAgICAgICAgICB8fCB0eXBlLnR5cGUuZGF0YXR5cGVcbiAgICAgICAgICB8fCAhQ29yZVR5cGVzLmlzTDJJbnRlcmZhY2UodHlwZS50eXBlKSxcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIHR5cGUudHlwZT8uZnFuLFxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfSxcbn0pO1xuXG5mdW5jdGlvbiBpZ25vcmVUYWcocnVsZTogc3RyaW5nKSB7XG4gIHJldHVybiBgW2Rpc2FibGUtYXdzbGludDoke3J1bGV9XWA7XG59XG5cbmZ1bmN0aW9uIGRvY0hhc0lnbm9yZVRhZyhkb2NzOiByZWZsZWN0LkRvY3MsIHJ1bGU6IHN0cmluZykge1xuICBjb25zdCB0YWcgPSBpZ25vcmVUYWcocnVsZSk7XG4gIHJldHVybiBkb2NzLnN1bW1hcnkuaW5jbHVkZXModGFnKSB8fCBkb2NzLnJlbWFya3MuaW5jbHVkZXModGFnKTtcbn1cblxuLyoqXG4gKiBWaXNpdCBhbGwgdHlwZXMgaW4gdGhlIEFQSSBvZiBhIGdpdmVuIHR5cGVcbiAqXG4gKiBUaGlzIHZpc2l0cyBtZXRob2QgcGFyYW1ldGVycyBhbmQgbWVtYmVycyBvZiBzdHJ1Y3RzIG9mIG1ldGhvZCBwYXJhbWV0ZXJzLlxuICovXG5mdW5jdGlvbiB2aXNpdFBhcmFtZXRlcnMocm9vdDogcmVmbGVjdC5UeXBlLCB2aXNpdG9yOiBUeXBlVmlzaXRvcikge1xuICBjb25zdCB2aXNpdGVkID0gbmV3IFNldDxzdHJpbmc+KCk7XG5cbiAgaWYgKHJvb3QuaXNDbGFzc1R5cGUoKSkge1xuICAgIGFzc2VydENsYXNzKHJvb3QpO1xuICB9IGVsc2UgaWYgKHJvb3QuaXNJbnRlcmZhY2VUeXBlKCkpIHtcbiAgICBhc3NlcnRJbnRlcmZhY2Uocm9vdCk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIHR5cGU6ICR7cm9vdC50b1N0cmluZygpfWApO1xuICB9XG5cbiAgZnVuY3Rpb24gYXNzZXJ0Q2xhc3ModHlwZTogcmVmbGVjdC5DbGFzc1R5cGUpOiB2b2lkIHtcbiAgICBpZiAodmlzaXRlZC5oYXModHlwZS5mcW4pKSB7IHJldHVybjsgfVxuICAgIHZpc2l0ZWQuYWRkKHR5cGUuZnFuKTtcblxuICAgIGZvciAoY29uc3QgbWV0aG9kIG9mIHR5cGUuYWxsTWV0aG9kcykge1xuICAgICAgYXNzZXJ0TWV0aG9kKG1ldGhvZCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUuaW5pdGlhbGl6ZXIpIHtcbiAgICAgIGFzc2VydE1ldGhvZCh0eXBlLmluaXRpYWxpemVyKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBhc3NlcnREYXRhVHlwZSh0eXBlOiByZWZsZWN0LkludGVyZmFjZVR5cGUpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHR5cGUuYWxsUHJvcGVydGllcykge1xuICAgICAgYXNzZXJ0UHJvcGVydHkocHJvcGVydHkpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2VydEludGVyZmFjZSh0eXBlOiByZWZsZWN0LkludGVyZmFjZVR5cGUpOiB2b2lkIHtcbiAgICBpZiAodmlzaXRlZC5oYXModHlwZS5mcW4pKSB7IHJldHVybjsgfVxuICAgIHZpc2l0ZWQuYWRkKHR5cGUuZnFuKTtcblxuICAgIGlmICh0eXBlLmRhdGF0eXBlKSB7XG4gICAgICBhc3NlcnREYXRhVHlwZSh0eXBlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiB0eXBlLmFsbE1ldGhvZHMpIHtcbiAgICAgIGFzc2VydE1ldGhvZChtZXRob2QpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2VydFByb3BlcnR5KHByb3BlcnR5OiByZWZsZWN0LlByb3BlcnR5KSB7XG4gICAgaWYgKHByb3BlcnR5LnByb3RlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNpdGUgPSBwcm9wZXJ0eS5vdmVycmlkZXMgPyBwcm9wZXJ0eS5vdmVycmlkZXMgOiBwcm9wZXJ0eS5wYXJlbnRUeXBlO1xuICAgIGFzc2VydFR5cGUocHJvcGVydHkudHlwZSwgcHJvcGVydHkuZG9jcywgYCR7c2l0ZS5mcW59LiR7cHJvcGVydHkubmFtZX1gKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2VydE1ldGhvZChtZXRob2Q6IHJlZmxlY3QuQ2FsbGFibGUpIHtcbiAgICBpZiAobWV0aG9kLnByb3RlY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNpdGUgPSBtZXRob2Qub3ZlcnJpZGVzID8gbWV0aG9kLm92ZXJyaWRlcyA6IG1ldGhvZC5wYXJlbnRUeXBlO1xuICAgIGNvbnN0IHNjb3BlID0gYCR7c2l0ZS5mcW59LiR7bWV0aG9kLm5hbWV9YDtcblxuICAgIGxldCBmaXJzdE1ldGhvZDogcmVmbGVjdC5DYWxsYWJsZSB8IHVuZGVmaW5lZCA9IHNpdGUuaXNDbGFzc1R5cGUoKSB8fCBzaXRlLmlzSW50ZXJmYWNlVHlwZSgpXG4gICAgICA/IHNpdGUuYWxsTWV0aG9kcy5maW5kKG0gPT4gbS5uYW1lID09PSBtZXRob2QubmFtZSlcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKCFmaXJzdE1ldGhvZCkge1xuICAgICAgZmlyc3RNZXRob2QgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwYXJhbSBvZiBmaXJzdE1ldGhvZC5wYXJhbWV0ZXJzKSB7XG4gICAgICBhc3NlcnRUeXBlKHBhcmFtLnR5cGUsIHBhcmFtLmRvY3MsIGAke3Njb3BlfS4ke3BhcmFtLm5hbWV9YCk7XG4gICAgfVxuXG4gICAgLy8gbm90ZSB0aGF0IHdlIGRvIG5vdCByZXF1aXJlIHRoYXQgcmV0dXJuIHZhbHVlcyB3aWxsIHVzZSBhbiBpbnRlcmZhY2VcbiAgfVxuXG4gIGZ1bmN0aW9uIGFzc2VydFR5cGUodHlwZTogcmVmbGVjdC5UeXBlUmVmZXJlbmNlLCBkb2NzOiByZWZsZWN0LkRvY3MsIHNjb3BlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB2aXNpdG9yLnZpc2l0VHlwZSh0eXBlLCBkb2NzLCBzY29wZSk7XG5cbiAgICAvLyBBbmQgcmVjdXJzZVxuICAgIGlmICh0eXBlLmFycmF5T2ZUeXBlKSB7XG4gICAgICByZXR1cm4gYXNzZXJ0VHlwZSh0eXBlLmFycmF5T2ZUeXBlLCBkb2NzLCBzY29wZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUubWFwT2ZUeXBlKSB7XG4gICAgICByZXR1cm4gYXNzZXJ0VHlwZSh0eXBlLm1hcE9mVHlwZSwgZG9jcywgc2NvcGUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlLnVuaW9uT2ZUeXBlcykge1xuICAgICAgZm9yIChjb25zdCB0IG9mIHR5cGUudW5pb25PZlR5cGVzKSB7XG4gICAgICAgIGFzc2VydFR5cGUodCwgZG9jcywgc2NvcGUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGludGVyZmFjZXMgYXJlIG9rYXlcbiAgICBpZiAodHlwZS50eXBlICYmIHR5cGUudHlwZS5pc0ludGVyZmFjZVR5cGUoKSkge1xuICAgICAgcmV0dXJuIGFzc2VydEludGVyZmFjZSh0eXBlLnR5cGUpO1xuICAgIH1cbiAgfVxufVxuXG5pbnRlcmZhY2UgVHlwZVZpc2l0b3Ige1xuICB2aXNpdFR5cGUodHlwZTogcmVmbGVjdC5UeXBlUmVmZXJlbmNlLCBkb2NzOiByZWZsZWN0LkRvY3MsIHNjb3BlOiBzdHJpbmcpOiB2b2lkO1xufVxuIl19
|
package/lib/rules/api.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Attribute
|
|
1
|
+
import type { Attribute } from './resource';
|
|
2
|
+
import { ResourceReflection } from './resource';
|
|
2
3
|
import { Linter } from '../linter';
|
|
3
4
|
export declare const attributesLinter: Linter<AttributeReflection>;
|
|
4
5
|
declare class AttributeReflection {
|
package/lib/rules/attributes.js
CHANGED
|
@@ -37,4 +37,4 @@ exports.attributesLinter.add({
|
|
|
37
37
|
e.assert(tag, e.ctx.fqn, `${e.ctx.attr.property.parentType.fqn}.${e.ctx.attr.property.name}`);
|
|
38
38
|
},
|
|
39
39
|
});
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF0dHJpYnV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EseUNBQWdEO0FBQ2hELHNDQUFtQztBQUV0QixRQUFBLGdCQUFnQixHQUFHLElBQUksZUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO0lBQzdDLE1BQU0sTUFBTSxHQUFHLElBQUksS0FBSyxFQUF1QixDQUFDO0lBQ2hELEtBQUssTUFBTSxRQUFRLElBQUksNkJBQWtCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDckQsS0FBSyxNQUFNLElBQUksSUFBSSxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLG1CQUFtQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDLENBQUM7QUFFSCxNQUFNLG1CQUFtQjtJQUdLO0lBQThDO0lBRjFELEdBQUcsQ0FBUztJQUU1QixZQUE0QixRQUE0QixFQUFrQixJQUFlO1FBQTdELGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQWtCLFNBQUksR0FBSixJQUFJLENBQVc7UUFDdkYsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztJQUNyRCxDQUFDO0NBQ0Y7QUFFRCx3QkFBZ0IsQ0FBQyxHQUFHLENBQUM7SUFDbkIsSUFBSSxFQUFFLG9CQUFvQjtJQUMxQixPQUFPLEVBQUUscUNBQXFDO0lBQzlDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtRQUNSLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCx3QkFBZ0IsQ0FBQyxHQUFHLENBQUM7SUFDbkIsSUFBSSxFQUFFLGVBQWU7SUFDckIsT0FBTyxFQUFFLDREQUE0RDtJQUNyRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDUixNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEF0dHJpYnV0ZSB9IGZyb20gJy4vcmVzb3VyY2UnO1xuaW1wb3J0IHsgUmVzb3VyY2VSZWZsZWN0aW9uIH0gZnJvbSAnLi9yZXNvdXJjZSc7XG5pbXBvcnQgeyBMaW50ZXIgfSBmcm9tICcuLi9saW50ZXInO1xuXG5leHBvcnQgY29uc3QgYXR0cmlidXRlc0xpbnRlciA9IG5ldyBMaW50ZXIoYSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBBcnJheTxBdHRyaWJ1dGVSZWZsZWN0aW9uPigpO1xuICBmb3IgKGNvbnN0IHJlc291cmNlIG9mIFJlc291cmNlUmVmbGVjdGlvbi5maW5kQWxsKGEpKSB7XG4gICAgZm9yIChjb25zdCBhdHRyIG9mIHJlc291cmNlLmF0dHJpYnV0ZXMpIHtcbiAgICAgIHJlc3VsdC5wdXNoKG5ldyBBdHRyaWJ1dGVSZWZsZWN0aW9uKHJlc291cmNlLCBhdHRyKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59KTtcblxuY2xhc3MgQXR0cmlidXRlUmVmbGVjdGlvbiB7XG4gIHB1YmxpYyByZWFkb25seSBmcW46IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2U6IFJlc291cmNlUmVmbGVjdGlvbiwgcHVibGljIHJlYWRvbmx5IGF0dHI6IEF0dHJpYnV0ZSkge1xuICAgIHRoaXMuZnFuID0gcmVzb3VyY2UuZnFuICsgJy4nICsgYXR0ci5wcm9wZXJ0eS5uYW1lO1xuICB9XG59XG5cbmF0dHJpYnV0ZXNMaW50ZXIuYWRkKHtcbiAgY29kZTogJ2F0dHJpYnV0ZS1yZWFkb25seScsXG4gIG1lc3NhZ2U6ICdhdHRyaWJ1dGUgcHJvcGVydHkgbXVzdCBiZSByZWFkb25seScsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGUuYXNzZXJ0KGUuY3R4LmF0dHIucHJvcGVydHkuaW1tdXRhYmxlLCBlLmN0eC5mcW4pO1xuICB9LFxufSk7XG5cbmF0dHJpYnV0ZXNMaW50ZXIuYWRkKHtcbiAgY29kZTogJ2F0dHJpYnV0ZS10YWcnLFxuICBtZXNzYWdlOiAnYXR0cmlidXRlIHByb3BlcnRpZXMgbXVzdCBoYXZlIGFuIFwiQGF0dHJpYnV0ZVwiIGRvY3RhZyBvbjogJyxcbiAgZXZhbDogZSA9PiB7XG4gICAgY29uc3QgdGFnID0gZS5jdHguYXR0ci5wcm9wZXJ0eS5kb2NzLmN1c3RvbVRhZygnYXR0cmlidXRlJyk7XG4gICAgZS5hc3NlcnQodGFnLCBlLmN0eC5mcW4sIGAke2UuY3R4LmF0dHIucHJvcGVydHkucGFyZW50VHlwZS5mcW59LiR7ZS5jdHguYXR0ci5wcm9wZXJ0eS5uYW1lfWApO1xuICB9LFxufSk7XG4iXX0=
|
package/lib/rules/attributes.ts
CHANGED
|
@@ -84,4 +84,4 @@ class CfnResourceReflection {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
exports.CfnResourceReflection = CfnResourceReflection;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2ZuLXJlc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2ZuLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDZDQUF5QztBQUN6Qyx5Q0FBZ0Q7QUFDaEQsa0NBQW9DO0FBQ3BDLHNDQUFtQztBQUVuQyxNQUFNLGtCQUFrQixHQUFHLHdCQUF3QixDQUFDO0FBRXBELHlGQUF5RjtBQUN6RixnRkFBZ0Y7QUFDbkUsUUFBQSxpQkFBaUIsR0FBRyxJQUFJLGVBQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRW5GLHVDQUF1QztBQUN2QyxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFzRCxDQUFDO0FBRXZGLFNBQVMsOEJBQThCLENBQUMsR0FBdUI7SUFDN0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9CLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQTZCLENBQUMsQ0FBQztRQUVoRSxLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBRTlELElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLGlCQUFpQixFQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDNUUsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELHlCQUFpQixDQUFDLEdBQUcsQ0FBQztJQUNwQixJQUFJLEVBQUUsZ0JBQWdCO0lBQ3RCLE9BQU8sRUFBRSx1RkFBdUY7SUFDaEcsT0FBTyxFQUFF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RSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0RCxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLGdDQUFnQyxDQUFDLElBQVk7UUFDbkQsc0VBQXNFO1FBQ3RFLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxlQUFlLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sSUFBQSxnQkFBUyxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQWhFRCxzREFnRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIHJlZmxlY3QgZnJvbSAnanNpaS1yZWZsZWN0JztcbmltcG9ydCB7IENvcmVUeXBlcyB9IGZyb20gJy4vY29yZS10eXBlcyc7XG5pbXBvcnQgeyBSZXNvdXJjZVJlZmxlY3Rpb24gfSBmcm9tICcuL3Jlc291cmNlJztcbmltcG9ydCB7IHBhc2NhbGl6ZSB9IGZyb20gJy4uL2Nhc2UnO1xuaW1wb3J0IHsgTGludGVyIH0gZnJvbSAnLi4vbGludGVyJztcblxuY29uc3QgY2ZuUmVzb3VyY2VUYWdOYW1lID0gJ2Nsb3VkZm9ybWF0aW9uUmVzb3VyY2UnO1xuXG4vLyB0aGlzIGxpbnRlciB2ZXJpZmllcyB0aGF0IHdlIGhhdmUgTDIgY292ZXJhZ2UuIGl0IGZpbmRzIGFsbCBcIkNmblwiIGNsYXNzZXMgYW5kIHZlcmlmaWVzXG4vLyB0aGF0IHdlIGhhdmUgYSBjb3JyZXNwb25kaW5nIEwxIGNsYXNzIGZvciBpdCB0aGF0J3MgaWRlbnRpZmllZCBhcyBhIHJlc291cmNlLlxuZXhwb3J0IGNvbnN0IGNmblJlc291cmNlTGludGVyID0gbmV3IExpbnRlcihhID0+IENmblJlc291cmNlUmVmbGVjdGlvbi5maW5kQWxsKGEpKTtcblxuLy8gQ2FjaGUgTDEgY29uc3RydWN0cyBwZXIgdHlwZSBzeXN0ZW0uXG5jb25zdCBsMUNvbnN0cnVjdENhY2hlID0gbmV3IE1hcDxyZWZsZWN0LlR5cGVTeXN0ZW0sIE1hcDxzdHJpbmcsIHJlZmxlY3QuQ2xhc3NUeXBlPj4oKTtcblxuZnVuY3Rpb24gY2FjaGVMMUNvbnN0cnVjdHNGb3JUeXBlU3lzdGVtKHN5czogcmVmbGVjdC5UeXBlU3lzdGVtKSB7XG4gIGlmICghbDFDb25zdHJ1Y3RDYWNoZS5oYXMoc3lzKSkge1xuICAgIGwxQ29uc3RydWN0Q2FjaGUuc2V0KHN5cywgbmV3IE1hcDxzdHJpbmcsIHJlZmxlY3QuQ2xhc3NUeXBlPigpKTtcblxuICAgIGZvciAoY29uc3QgY2xzIG9mIHN5cy5jbGFzc2VzKSB7XG4gICAgICBjb25zdCBjZm5SZXNvdXJjZVRhZyA9IGNscy5kb2NzLmN1c3RvbVRhZyhjZm5SZXNvdXJjZVRhZ05hbWUpO1xuXG4gICAgICBpZiAoY2ZuUmVzb3VyY2VUYWcpIHtcbiAgICAgICAgbDFDb25zdHJ1Y3RDYWNoZS5nZXQoc3lzKT8uc2V0KGNmblJlc291cmNlVGFnPy50b0xvY2FsZUxvd2VyQ2FzZSgpISwgY2xzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuY2ZuUmVzb3VyY2VMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Jlc291cmNlLWNsYXNzJyxcbiAgbWVzc2FnZTogJ2V2ZXJ5IHJlc291cmNlIG11c3QgaGF2ZSBhIHJlc291cmNlIGNsYXNzIChMMiksIGFkZCBcXCdAcmVzb3VyY2UgJXNcXCcgdG8gaXRzIGRvY3N0cmluZycsXG4gIHdhcm5pbmc6IHRydWUsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGNvbnN0IGwyID0gUmVzb3VyY2VSZWZsZWN0aW9uLmZpbmRBbGwoZS5jdHguY2xhc3NUeXBlLmFzc2VtYmx5KS5maW5kKHIgPT4gci5jZm4uZnVsbG5hbWUgPT09IGUuY3R4LmZ1bGxuYW1lKTtcbiAgICBlLmFzc2VydChsMiwgZS5jdHguZnVsbG5hbWUsIGUuY3R4LmZ1bGxuYW1lKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgY2xhc3MgQ2ZuUmVzb3VyY2VSZWZsZWN0aW9uIHtcbiAgLyoqXG4gICAqIEZpbmRzIGEgQ2ZuIHJlc291cmNlIGNsYXNzIGJ5IGZ1bGwgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgbmFtZSAoZS5nLiBgQVdTOjpTMzo6QnVja2V0YClcbiAgICogQHBhcmFtIGZ1bGxOYW1lIGZpcnN0IHR3byBjb21wb25lbnRzIGFyZSBjYXNlLWluc2Vuc2l0aXZlIChlLmcuIGBhd3M6OnMzOjpCdWNrZXRgIGlzIGVxdWl2YWxlbnQgdG8gYEF3czo6UzM6OkJ1Y2tldGApXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZpbmRCeU5hbWUoc3lzOiByZWZsZWN0LlR5cGVTeXN0ZW0sIGZ1bGxOYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoIWwxQ29uc3RydWN0Q2FjaGUuaGFzKHN5cykpIHtcbiAgICAgIGNhY2hlTDFDb25zdHJ1Y3RzRm9yVHlwZVN5c3RlbShzeXMpO1xuICAgIH1cblxuICAgIGNvbnN0IGNscyA9IGwxQ29uc3RydWN0Q2FjaGUuZ2V0KHN5cyk/LmdldChmdWxsTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgICBpZiAoY2xzKSB7XG4gICAgICByZXR1cm4gbmV3IENmblJlc291cmNlUmVmbGVjdGlvbihjbHMpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgQ0ZOIHJlc291cmNlIGNsYXNzZXMgd2l0aGluIGFuIGFzc2VtYmx5LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmaW5kQWxsKGFzc2VtYmx5OiByZWZsZWN0LkFzc2VtYmx5KSB7XG4gICAgcmV0dXJuIGFzc2VtYmx5LmFsbENsYXNzZXNcbiAgICAgIC5maWx0ZXIoYyA9PiBDb3JlVHlwZXMuaXNDZm5SZXNvdXJjZShjKSlcbiAgICAgIC5tYXAoYyA9PiBuZXcgQ2ZuUmVzb3VyY2VSZWZsZWN0aW9uKGMpKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSBjbGFzc1R5cGU6IHJlZmxlY3QuQ2xhc3NUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgZnVsbG5hbWU6IHN0cmluZzsgLy8gQVdTOjpTMzo6QnVja2V0XG4gIHB1YmxpYyByZWFkb25seSBuYW1lc3BhY2U6IHN0cmluZzsgLy8gQVdTOjpTM1xuICBwdWJsaWMgcmVhZG9ubHkgYmFzZW5hbWU6IHN0cmluZzsgLy8gQnVja2V0XG4gIHB1YmxpYyByZWFkb25seSBhdHRyaWJ1dGVOYW1lczogc3RyaW5nW107IC8vIChub3JtYWxpemVkKSBidWNrZXRBcm4sIGJ1Y2tldE5hbWUsIHF1ZXVlVXJsXG4gIHB1YmxpYyByZWFkb25seSBkb2M6IHN0cmluZzsgLy8gbGluayB0byBDbG91ZEZvcm1hdGlvbiBkb2NzXG5cbiAgY29uc3RydWN0b3IoY2xzOiByZWZsZWN0LkNsYXNzVHlwZSkge1xuICAgIHRoaXMuY2xhc3NUeXBlID0gY2xzO1xuXG4gICAgdGhpcy5iYXNlbmFtZSA9IGNscy5uYW1lLnNsaWNlKCdDZm4nLmxlbmd0aCk7XG5cbiAgICBjb25zdCBmdWxsbmFtZSA9IGNscy5kb2NzLmN1c3RvbVRhZygnY2xvdWRmb3JtYXRpb25SZXNvdXJjZScpO1xuICAgIGlmICghZnVsbG5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGV4dHJhY3QgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2UgbmFtZSBmcm9tIGluaXRpYWxpemVyIGRvY3VtZW50YXRpb24gb2YgJHtjbHN9YCk7XG4gICAgfVxuXG4gICAgdGhpcy5mdWxsbmFtZSA9IGZ1bGxuYW1lO1xuXG4gICAgdGhpcy5uYW1lc3BhY2UgPSBmdWxsbmFtZS5zcGxpdCgnOjonKS5zbGljZSgwLCAyKS5qb2luKCc6OicpO1xuXG4gICAgdGhpcy5hdHRyaWJ1dGVOYW1lcyA9IGNscy5vd25Qcm9wZXJ0aWVzXG4gICAgICAuZmlsdGVyKHAgPT4gKHAuZG9jcy5kb2NzLmN1c3RvbSB8fCB7fSkuY2xvdWRmb3JtYXRpb25BdHRyaWJ1dGUpXG4gICAgICAubWFwKHAgPT4gcC5kb2NzLmN1c3RvbVRhZygnY2xvdWRmb3JtYXRpb25BdHRyaWJ1dGUnKSB8fCAnPGVycm9yPicpXG4gICAgICAubWFwKHAgPT4gdGhpcy5hdHRyaWJ1dGVQcm9wZXJ0eU5hbWVGcm9tQ2ZuTmFtZShwKSk7XG5cbiAgICB0aGlzLmRvYyA9IGNscy5kb2NzLmRvY3Muc2VlIHx8ICcnO1xuICB9XG5cbiAgcHJpdmF0ZSBhdHRyaWJ1dGVQcm9wZXJ0eU5hbWVGcm9tQ2ZuTmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIHNwZWNpYWwgY2FzZSAoc29tZW9uZSB3YXMgc21hcnQpLCBzcGVjaWFsIGNhc2UgY29waWVkIGZyb20gc3BlYzJjZGtcbiAgICBpZiAodGhpcy5iYXNlbmFtZSA9PT0gJ1NlY3VyaXR5R3JvdXAnICYmIG5hbWUgPT09ICdHcm91cElkJykge1xuICAgICAgcmV0dXJuICdJZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhc2NhbGl6ZShuYW1lKTtcbiAgfVxufVxuIl19
|
|
@@ -66,4 +66,4 @@ function isDirectEventMethod(m) {
|
|
|
66
66
|
function isCloudTrailEventMethod(m) {
|
|
67
67
|
return m.name.startsWith('onCloudTrail');
|
|
68
68
|
}
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvdWR3YXRjaC1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbG91ZHdhdGNoLWV2ZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwyQ0FBa0Q7QUFDbEQsNkNBQXlDO0FBQ3pDLHNDQUFtQztBQUV0QixRQUFBLFlBQVksR0FBRyxJQUFJLGVBQU0sQ0FBbUIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTztLQUNsRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxzQkFBUyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQzFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRXRELE1BQWEsZ0JBQWlCLFNBQVEsK0JBQW1CO0lBQ3ZELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDbkUsQ0FBQztDQUNGO0FBUkQsNENBUUM7QUFFRCxNQUFNLG9CQUFvQixHQUFHLHVDQUF1QyxDQUFDO0FBQ3JFLE1BQU0sY0FBYyxHQUFHLDZCQUE2QixDQUFDO0FBRXJELG9CQUFZLENBQUMsR0FBRyxDQUFDO0lBQ2YsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixPQUFPLEVBQUUsbUVBQW1FO0lBQzVFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtRQUNSLEtBQUssTUFBTSxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7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cyByZWZsZWN0IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RSZWZsZWN0aW9uIH0gZnJvbSAnLi9jb25zdHJ1Y3QnO1xuaW1wb3J0IHsgQ29yZVR5cGVzIH0gZnJvbSAnLi9jb3JlLXR5cGVzJztcbmltcG9ydCB7IExpbnRlciB9IGZyb20gJy4uL2xpbnRlcic7XG5cbmV4cG9ydCBjb25zdCBldmVudHNMaW50ZXIgPSBuZXcgTGludGVyPEV2ZW50c1JlZmxlY3Rpb24+KGFzc2VtYmx5ID0+IGFzc2VtYmx5LmNsYXNzZXNcbiAgLmZpbHRlcih0ID0+IENvcmVUeXBlcy5pc0NvbnN0cnVjdENsYXNzKHQpKVxuICAubWFwKGNvbnN0cnVjdCA9PiBuZXcgRXZlbnRzUmVmbGVjdGlvbihjb25zdHJ1Y3QpKSk7XG5cbmV4cG9ydCBjbGFzcyBFdmVudHNSZWZsZWN0aW9uIGV4dGVuZHMgQ29uc3RydWN0UmVmbGVjdGlvbiB7XG4gIHB1YmxpYyBnZXQgZGlyZWN0RXZlbnRNZXRob2RzKCkge1xuICAgIHJldHVybiB0aGlzLmNsYXNzVHlwZS5hbGxNZXRob2RzLmZpbHRlcihpc0RpcmVjdEV2ZW50TWV0aG9kKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2xvdWRUcmFpbEV2ZW50TWV0aG9kcygpIHtcbiAgICByZXR1cm4gdGhpcy5jbGFzc1R5cGUuYWxsTWV0aG9kcy5maWx0ZXIoaXNDbG91ZFRyYWlsRXZlbnRNZXRob2QpO1xuICB9XG59XG5cbmNvbnN0IE9OX0VWRU5UX09QVElPTlNfRlFOID0gJ2F3cy1jZGstbGliLmF3c19ldmVudHMuT25FdmVudE9wdGlvbnMnO1xuY29uc3QgRVZFTlRfUlVMRV9GUU4gPSAnYXdzLWNkay1saWIuYXdzX2V2ZW50cy5SdWxlJztcblxuZXZlbnRzTGludGVyLmFkZCh7XG4gIGNvZGU6ICdldmVudHMtaW4taW50ZXJmYWNlJyxcbiAgbWVzc2FnZTogJ1xcJ29uWHh4KClcXCcgbWV0aG9kcyBzaG91bGQgYWxzbyBiZSBkZWZpbmVkIG9uIGNvbnN0cnVjdCBpbnRlcmZhY2UnLFxuICBldmFsOiBlID0+IHtcbiAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiBlLmN0eC5kaXJlY3RFdmVudE1ldGhvZHMuY29uY2F0KGUuY3R4LmNsb3VkVHJhaWxFdmVudE1ldGhvZHMpKSB7XG4gICAgICBlLmFzc2VydCghZS5jdHguaW50ZXJmYWNlVHlwZSB8fCBlLmN0eC5pbnRlcmZhY2VUeXBlLmFsbE1ldGhvZHMuZmlsdGVyKG0gPT4gIW0ucHJvdGVjdGVkKS5zb21lKG0gPT4gbS5uYW1lID09PSBtZXRob2QubmFtZSksIGAke2UuY3R4LmZxbn0uJHttZXRob2QubmFtZX1gKTtcbiAgICB9XG4gIH0sXG59KTtcblxuZXZlbnRzTGludGVyLmFkZCh7XG4gIGNvZGU6ICdldmVudHMtZ2VuZXJpYycsXG4gIG1lc3NhZ2U6ICdpZiB0aGVyZSBhcmUgc3BlY2lmaWMgXFwnb25YeHgoKVxcJyBtZXRob2RzLCB0aGVyZSBzaG91bGQgYWxzbyBiZSBhIGdlbmVyaWMgXFwnb25FdmVudCgpXFwnIG1ldGhvZCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGUuYXNzZXJ0KGUuY3R4LmRpcmVjdEV2ZW50TWV0aG9kcy5sZW5ndGggPT09IDAgfHwgZS5jdHguY2xhc3NUeXBlLmFsbE1ldGhvZHMuc29tZShtID0+IG0ubmFtZSA9PT0gJ29uRXZlbnQnKSwgZS5jdHguZnFuKTtcbiAgfSxcbn0pO1xuXG5ldmVudHNMaW50ZXIuYWRkKHtcbiAgY29kZTogJ2V2ZW50cy1nZW5lcmljLWNsb3VkdHJhaWwnLFxuICBtZXNzYWdlOiAnaWYgdGhlcmUgYXJlIHNwZWNpZmljIFxcJ29uQ2xvdWRUcmFpbFh4eCgpXFwnIG1ldGhvZHMsIHRoZXJlIHNob3VsZCBhbHNvIGJlIGEgZ2VuZXJpYyBcXCdvbkNsb3VkVHJhaWxFdmVudCgpXFwnIG1ldGhvZCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGUuYXNzZXJ0KGUuY3R4LmNsb3VkVHJhaWxFdmVudE1ldGhvZHMubGVuZ3RoID09PSAwIHx8IGUuY3R4LmNsYXNzVHlwZS5hbGxNZXRob2RzLnNvbWUobSA9PiBtLm5hbWUgPT09ICdvbkNsb3VkVHJhaWxFdmVudCcpLCBlLmN0eC5mcW4pO1xuICB9LFxufSk7XG5cbmV2ZW50c0xpbnRlci5hZGQoe1xuICBjb2RlOiAnZXZlbnRzLW1ldGhvZC1zaWduYXR1cmUnLFxuICBtZXNzYWdlOiAnYWxsIFxcJ29uWHh4KClcXCcgbWV0aG9kcyBzaG91bGQgaGF2ZSB0aGUgQ2xvdWRXYXRjaCBFdmVudHMgc2lnbmF0dXJlIChpZDogc3RyaW5nLCBvcHRpb25zOiBldmVudHMuT25FdmVudE9wdGlvbnMgPSB7fSkgPT4gZXZlbnRzLlJ1bGUnLFxuICBldmFsOiBlID0+IHtcbiAgICBmb3IgKGNvbnN0IG1ldGhvZCBvZiBlLmN0eC5kaXJlY3RFdmVudE1ldGhvZHMpIHtcbiAgICAgIC8vIGdpdmUgc2xhY2sgdG8gcHJvdGVjdGVkIG1ldGhvZHMgbGlrZSBcIm9uU3ludGhlc2l6ZVwiLCBcIm9uUHJlcGFyZVwiLCAuLi5cbiAgICAgIGlmIChtZXRob2QucHJvdGVjdGVkKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgZS5hc3NlcnRTaWduYXR1cmUobWV0aG9kLCB7XG4gICAgICAgIHBhcmFtZXRlcnM6IFtcbiAgICAgICAgICB7IHR5cGU6ICdzdHJpbmcnIH0sXG4gICAgICAgICAgeyB0eXBlOiBPTl9FVkVOVF9PUFRJT05TX0ZRTiwgc3VidHlwZUFsbG93ZWQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHJldHVybnM6IEVWRU5UX1JVTEVfRlFOLFxuICAgICAgfSk7XG4gICAgfVxuICB9LFxufSk7XG5cbmZ1bmN0aW9uIGlzRGlyZWN0RXZlbnRNZXRob2QobTogcmVmbGVjdC5NZXRob2QpIHtcbiAgcmV0dXJuICFtLnByb3RlY3RlZCAmJiBtLm5hbWUuc3RhcnRzV2l0aCgnb24nKSAmJiAhIG0ubmFtZS5zdGFydHNXaXRoKCdvbkNsb3VkVHJhaWwnKTtcbn1cblxuZnVuY3Rpb24gaXNDbG91ZFRyYWlsRXZlbnRNZXRob2QobTogcmVmbGVjdC5NZXRob2QpIHtcbiAgcmV0dXJuIG0ubmFtZS5zdGFydHNXaXRoKCdvbkNsb3VkVHJhaWwnKTtcbn1cbiJdfQ==
|
package/lib/rules/construct.d.ts
CHANGED
package/lib/rules/construct.js
CHANGED
|
@@ -282,4 +282,4 @@ function baseConstructAddendum() {
|
|
|
282
282
|
}
|
|
283
283
|
return '';
|
|
284
284
|
}
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uc3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDZDQUF5QztBQUN6QyxzQ0FBd0U7QUFFM0QsUUFBQSxlQUFlLEdBQUcsSUFBSSxlQUFNLENBQXNCLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVU7S0FDM0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsc0JBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV6RCxNQUFhLG1CQUFtQjtJQTJCRjtJQTFCckIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQTBCO1FBQ3hELE9BQU8sUUFBUSxDQUFDLFVBQVU7YUFDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsc0JBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUE4QjtRQUM1RCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1FBQ2pDLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQy9CLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVlLEdBQUcsQ0FBUztJQUNaLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQVM7SUFDakIsYUFB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QUcsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxTQUFTLHFCQUFxQjtJQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hDLE9BQU8scUhBQXFILENBQUM7SUFDL0gsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHJlZmxlY3QgZnJvbSAnanNpaS1yZWZsZWN0JztcbmltcG9ydCB7IENvcmVUeXBlcyB9IGZyb20gJy4vY29yZS10eXBlcyc7XG5pbXBvcnQgeyBMaW50ZXIsIE1ldGhvZFNpZ25hdHVyZVBhcmFtZXRlckV4cGVjdGF0aW9uIH0gZnJvbSAnLi4vbGludGVyJztcblxuZXhwb3J0IGNvbnN0IGNvbnN0cnVjdExpbnRlciA9IG5ldyBMaW50ZXI8Q29uc3RydWN0UmVmbGVjdGlvbj4oYXNzZW1ibHkgPT4gYXNzZW1ibHkuYWxsQ2xhc3Nlc1xuICAuZmlsdGVyKHQgPT4gQ29yZVR5cGVzLmlzQ29uc3RydWN0Q2xhc3ModCkpXG4gIC5tYXAoY29uc3RydWN0ID0+IG5ldyBDb25zdHJ1Y3RSZWZsZWN0aW9uKGNvbnN0cnVjdCkpKTtcblxuZXhwb3J0IGNsYXNzIENvbnN0cnVjdFJlZmxlY3Rpb24ge1xuICBwdWJsaWMgc3RhdGljIGZpbmRBbGxDb25zdHJ1Y3RzKGFzc2VtYmx5OiByZWZsZWN0LkFzc2VtYmx5KSB7XG4gICAgcmV0dXJuIGFzc2VtYmx5LmFsbENsYXNzZXNcbiAgICAgIC5maWx0ZXIoYyA9PiBDb3JlVHlwZXMuaXNDb25zdHJ1Y3RDbGFzcyhjKSlcbiAgICAgIC5tYXAoYyA9PiBuZXcgQ29uc3RydWN0UmVmbGVjdGlvbihjKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldEZxbkZyb21UeXBlUmVmKHR5cGVSZWY6IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSkge1xuICAgIGlmICh0eXBlUmVmLmFycmF5T2ZUeXBlKSB7XG4gICAgICByZXR1cm4gdHlwZVJlZi5hcnJheU9mVHlwZS5mcW47XG4gICAgfSBlbHNlIGlmICh0eXBlUmVmLm1hcE9mVHlwZSkge1xuICAgICAgcmV0dXJuIHR5cGVSZWYubWFwT2ZUeXBlLmZxbjtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZVJlZi5mcW47XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZnFuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBpbnRlcmZhY2VGcW46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHByb3BzRnFuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBpbnRlcmZhY2VUeXBlPzogcmVmbGVjdC5JbnRlcmZhY2VUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcHNUeXBlPzogcmVmbGVjdC5JbnRlcmZhY2VUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5pdGlhbGl6ZXI/OiByZWZsZWN0LkluaXRpYWxpemVyO1xuICBwdWJsaWMgcmVhZG9ubHkgaGFzUHJvcHNBcmd1bWVudDogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IHN5czogcmVmbGVjdC5UeXBlU3lzdGVtO1xuICBwdWJsaWMgcmVhZG9ubHkgY29yZTogQ29yZVR5cGVzO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjbGFzc1R5cGU6IHJlZmxlY3QuQ2xhc3NUeXBlKSB7XG4gICAgdGhpcy5mcW4gPSBjbGFzc1R5cGUuZnFuO1xuICAgIHRoaXMuc3lzID0gY2xhc3NUeXBlLnN5c3RlbTtcbiAgICB0aGlzLmNvcmUgPSBuZXcgQ29yZVR5cGVzKHRoaXMuc3lzKTtcbiAgICB0aGlzLmludGVyZmFjZUZxbiA9IGAke3RoaXMudHlwZVByZWZpeChjbGFzc1R5cGUpfS5JJHtjbGFzc1R5cGUubmFtZX1gO1xuICAgIHRoaXMucHJvcHNGcW4gPSBgJHt0aGlzLnR5cGVQcmVmaXgoY2xhc3NUeXBlKX0uJHtjbGFzc1R5cGUubmFtZX1Qcm9wc2A7XG4gICAgdGhpcy5pbnRlcmZhY2VUeXBlID0gdGhpcy50cnlGaW5kSW50ZXJmYWNlKCk7XG4gICAgdGhpcy5wcm9wc1R5cGUgPSB0aGlzLnRyeUZpbmRQcm9wcygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZXIgPSBjbGFzc1R5cGUuaW5pdGlhbGl6ZXI7XG4gICAgdGhpcy5oYXNQcm9wc0FyZ3VtZW50ID0gdGhpcy5pbml0aWFsaXplciAhPSBudWxsICYmIHRoaXMuaW5pdGlhbGl6ZXIucGFyYW1ldGVycy5sZW5ndGggPj0gMztcbiAgfVxuXG4gIHByaXZhdGUgdHlwZVByZWZpeChjbGFzc1R5cGU6IHJlZmxlY3QuQ2xhc3NUeXBlKSB7XG4gICAgcmV0dXJuIGNsYXNzVHlwZS5hc3NlbWJseS5uYW1lICsgKGNsYXNzVHlwZS5uYW1lc3BhY2UgPyBgLiR7Y2xhc3NUeXBlLm5hbWVzcGFjZX1gIDogJycpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cnlGaW5kSW50ZXJmYWNlKCkge1xuICAgIGNvbnN0IHN5cyA9IHRoaXMuY2xhc3NUeXBlLnN5c3RlbTtcbiAgICBjb25zdCBmb3VuZCA9IHN5cy50cnlGaW5kRnFuKHRoaXMuaW50ZXJmYWNlRnFuKTtcbiAgICBpZiAoIWZvdW5kKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICghZm91bmQuaXNJbnRlcmZhY2VUeXBlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0aW5nIHR5cGUgJHt0aGlzLmludGVyZmFjZUZxbn0gdG8gYmUgYW4gaW50ZXJmYWNlYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kO1xuICB9XG5cbiAgcHJpdmF0ZSB0cnlGaW5kUHJvcHMoKSB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLnN5cy50cnlGaW5kRnFuKHRoaXMucHJvcHNGcW4pO1xuICAgIGlmICghZm91bmQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKCFmb3VuZC5pc0ludGVyZmFjZVR5cGUoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RpbmcgcHJvcHMgc3RydWN0ICR7dGhpcy5wcm9wc0Zxbn0gdG8gYmUgYW4gaW50ZXJmYWNlYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kO1xuICB9XG59XG5cbmNvbnN0cnVjdExpbnRlci5hZGQoe1xuICBjb2RlOiAnY29uc3RydWN0LWN0b3InLFxuICBtZXNzYWdlOiAnc2lnbmF0dXJlIG9mIGFsbCBjb25zdHJ1Y3QgY29uc3RydWN0b3JzIHNob3VsZCBiZSBcInNjb3BlLCBpZCwgcHJvcHNcIi4gJyArIGJhc2VDb25zdHJ1Y3RBZGRlbmR1bSgpLFxuICBldmFsOiBlID0+IHtcbiAgICAvLyBvbmx5IGFwcGxpZXMgdG8gbm9uIGFic3RyYWN0IGNsYXNzZXNcbiAgICBpZiAoZS5jdHguY2xhc3NUeXBlLmFic3RyYWN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5pdGlhbGl6ZXIgPSBlLmN0eC5pbml0aWFsaXplcjtcbiAgICBpZiAoIWUuYXNzZXJ0KGluaXRpYWxpemVyLCBlLmN0eC5mcW4pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZXhwZWN0ZWRQYXJhbXMgPSBuZXcgQXJyYXk8TWV0aG9kU2lnbmF0dXJlUGFyYW1ldGVyRXhwZWN0YXRpb24+KCk7XG4gICAgZXhwZWN0ZWRQYXJhbXMucHVzaCh7XG4gICAgICBuYW1lOiAnc2NvcGUnLFxuICAgICAgdHlwZTogZS5jdHguY29yZS5iYXNlQ29uc3RydWN0Q2xhc3NGcW4sXG4gICAgfSk7XG5cbiAgICBleHBlY3RlZFBhcmFtcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdpZCcsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9KTtcblxuICAgIC8vIGl0J3Mgb2theSBmb3IgYSBjb25zdHJ1Y3Qgbm90IHRvIGhhdmUgYSBcInByb3BzXCIgYXJndW1lbnQgc28gd2Ugb25seVxuICAgIC8vIGFzc2VydCB0aGUgXCJwcm9wc1wiIGFyZ3VtZW50IGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gdHdvIHBhcmFtZXRlcnNcbiAgICBpZiAoaW5pdGlhbGl6ZXIucGFyYW1ldGVycy5sZW5ndGggPiAyKSB7XG4gICAgICBleHBlY3RlZFBhcmFtcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3Byb3BzJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGUuYXNzZXJ0U2lnbmF0dXJlKGluaXRpYWxpemVyLCB7XG4gICAgICBwYXJhbWV0ZXJzOiBleHBlY3RlZFBhcmFtcyxcbiAgICB9KTtcbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Byb3BzLXN0cnVjdC1uYW1lJyxcbiAgbWVzc2FnZTogJ2FsbCBjb25zdHJ1Y3RzIG11c3QgaGF2ZSBhIHByb3BzIHN0cnVjdCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHguaGFzUHJvcHNBcmd1bWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFic3RyYWN0IGNsYXNzZXMgYXJlIGV4ZW1wdFxuICAgIGlmIChlLmN0eC5jbGFzc1R5cGUuYWJzdHJhY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlLmFzc2VydChlLmN0eC5wcm9wc1R5cGUsIGUuY3R4LmludGVyZmFjZUZxbik7XG4gIH0sXG59KTtcblxuY29uc3RydWN0TGludGVyLmFkZCh7XG4gIGNvZGU6ICdjb25zdHJ1Y3QtY3Rvci1wcm9wcy10eXBlJyxcbiAgbWVzc2FnZTogJ2NvbnN0cnVjdCBcInByb3BzXCIgdHlwZSBzaG91bGQgdXNlIHRoZSBwcm9wcyBzdHJ1Y3QgJXMnLFxuICBldmFsOiBlID0+IHtcbiAgICBpZiAoIWUuY3R4LmluaXRpYWxpemVyKSB7IHJldHVybjsgfVxuICAgIGlmIChlLmN0eC5pbml0aWFsaXplci5wYXJhbWV0ZXJzLmxlbmd0aCA8IDMpIHsgcmV0dXJuOyB9XG5cbiAgICBlLmFzc2VydChcbiAgICAgIGUuY3R4LmluaXRpYWxpemVyLnBhcmFtZXRlcnNbMl0udHlwZS50eXBlID09PSBlLmN0eC5wcm9wc1R5cGUsXG4gICAgICBlLmN0eC5mcW4sXG4gICAgICBlLmN0eC5wcm9wc0Zxbik7XG4gIH0sXG59KTtcblxuY29uc3RydWN0TGludGVyLmFkZCh7XG4gIGNvZGU6ICdjb25zdHJ1Y3QtY3Rvci1wcm9wcy1vcHRpb25hbCcsXG4gIG1lc3NhZ2U6ICdjb25zdHJ1Y3QgXCJwcm9wc1wiIG11c3QgYmUgb3B0aW9uYWwgc2luY2UgYWxsIHByb3BzIGFyZSBvcHRpb25hbCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHgucHJvcHNUeXBlKSB7IHJldHVybjsgfVxuICAgIGlmICghZS5jdHguaW5pdGlhbGl6ZXIpIHsgcmV0dXJuOyB9XG4gICAgaWYgKCFlLmN0eC5oYXNQcm9wc0FyZ3VtZW50KSB7IHJldHVybjsgfVxuXG4gICAgLy8gdGhpcyBydWxlIGFwcGxpZXMgb25seSBpZiBhbGwgcHJvcGVydGllcyBhcmUgb3B0aW9uYWxcbiAgICBjb25zdCBhbGxPcHRpb25hbCA9IGUuY3R4LnByb3BzVHlwZS5hbGxQcm9wZXJ0aWVzLmV2ZXJ5KHAgPT4gcC5vcHRpb25hbCk7XG4gICAgaWYgKCFhbGxPcHRpb25hbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGUuYXNzZXJ0KGUuY3R4LmluaXRpYWxpemVyLnBhcmFtZXRlcnNbMl0ub3B0aW9uYWwsIGUuY3R4LmZxbik7XG4gIH0sXG59KTtcblxuY29uc3RydWN0TGludGVyLmFkZCh7XG4gIGNvZGU6ICdjb25zdHJ1Y3QtaW50ZXJmYWNlLWV4dGVuZHMtaWNvbnN0cnVjdCcsXG4gIG1lc3NhZ2U6ICdjb25zdHJ1Y3QgaW50ZXJmYWNlIG11c3QgZXh0ZW5kIGNvcmUuSUNvbnN0cnVjdCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHguaW50ZXJmYWNlVHlwZSkgeyByZXR1cm47IH1cbiAgICBjb25zdCBpbnRlcmZhY2VCYXNlID0gZS5jdHguc3lzLmZpbmRJbnRlcmZhY2UoZS5jdHguY29yZS5iYXNlQ29uc3RydWN0SW50ZXJmYWNlRnFuKTtcbiAgICBlLmFzc2VydChlLmN0eC5pbnRlcmZhY2VUeXBlLmV4dGVuZHMoaW50ZXJmYWNlQmFzZSksIGUuY3R4LmludGVyZmFjZVR5cGUuZnFuKTtcbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ2NvbnN0cnVjdC1iYXNlLWlzLXByaXZhdGUnLFxuICBtZXNzYWdlOiAncHJlZmVyIHRoYXQgdGhlIGNvbnN0cnVjdCBiYXNlIGNsYXNzIGlzIHByaXZhdGUnLFxuICB3YXJuaW5nOiB0cnVlLFxuICBldmFsOiBlID0+IHtcbiAgICBpZiAoIWUuY3R4LmludGVyZmFjZVR5cGUpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgYmFzZUZxbiA9IGAke2UuY3R4LmNsYXNzVHlwZS5mcW59QmFzZWA7XG4gICAgZS5hc3NlcnQoIWUuY3R4LnN5cy50cnlGaW5kRnFuKGJhc2VGcW4pLCBiYXNlRnFuKTtcbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Byb3BzLW5vLXVuaW9ucycsXG4gIG1lc3NhZ2U6ICdwcm9wcyBtdXN0IG5vdCB1c2UgVHlwZVNjcmlwdCB1bmlvbnMnLFxuICBldmFsOiBlID0+IHtcbiAgICBpZiAoIWUuY3R4LnByb3BzVHlwZSkgeyByZXR1cm47IH1cbiAgICBpZiAoIWUuY3R4Lmhhc1Byb3BzQXJndW1lbnQpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyB0aGlzIHJ1bGUgZG9lcyBub3QgYXBwbHkgdG8gTDEgY29uc3RydWN0c1xuICAgIGlmIChDb3JlVHlwZXMuaXNDZm5SZXNvdXJjZShlLmN0eC5jbGFzc1R5cGUpKSB7IHJldHVybjsgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBlLmN0eC5wcm9wc1R5cGUub3duUHJvcGVydGllcykge1xuICAgICAgZS5hc3NlcnQoIXByb3BlcnR5LnR5cGUudW5pb25PZlR5cGVzLCBgJHtlLmN0eC5wcm9wc0Zxbn0uJHtwcm9wZXJ0eS5uYW1lfWApO1xuICAgIH1cbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Byb3BzLW5vLWFybi1yZWZzJyxcbiAgbWVzc2FnZTogJ3Byb3BzIG11c3QgdXNlIHN0cm9uZyB0eXBlcyBpbnN0ZWFkIG9mIGF0dHJpYnV0ZXMuIHByb3BzIHNob3VsZCBub3QgaGF2ZSBcImFyblwiIHN1ZmZpeCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHgucHJvcHNUeXBlKSB7IHJldHVybjsgfVxuICAgIGlmICghZS5jdHguaGFzUHJvcHNBcmd1bWVudCkgeyByZXR1cm47IH1cblxuICAgIC8vIHRoaXMgcnVsZSBkb2VzIG5vdCBhcHBseSB0byBMMSBjb25zdHJ1Y3RzXG4gICAgaWYgKENvcmVUeXBlcy5pc0NmblJlc291cmNlKGUuY3R4LmNsYXNzVHlwZSkpIHsgcmV0dXJuOyB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIGUuY3R4LnByb3BzVHlwZS5vd25Qcm9wZXJ0aWVzKSB7XG4gICAgICBlLmFzc2VydCghcHJvcGVydHkubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdhcm4nKSwgYCR7ZS5jdHgucHJvcHNGcW59LiR7cHJvcGVydHkubmFtZX1gKTtcbiAgICB9XG4gIH0sXG59KTtcblxuY29uc3RydWN0TGludGVyLmFkZCh7XG4gIGNvZGU6ICdwcm9wcy1uby10b2tlbnMnLFxuICBtZXNzYWdlOiAncHJvcHMgbXVzdCBub3QgdXNlIHRoZSBcIlRva2VuXCIgdHlwZScsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHgucHJvcHNUeXBlKSB7IHJldHVybjsgfVxuICAgIGlmICghZS5jdHguaGFzUHJvcHNBcmd1bWVudCkgeyByZXR1cm47IH1cblxuICAgIC8vIHRoaXMgcnVsZSBkb2VzIG5vdCBhcHBseSB0byBMMSBjb25zdHJ1Y3RzXG4gICAgaWYgKENvcmVUeXBlcy5pc0NmblJlc291cmNlKGUuY3R4LmNsYXNzVHlwZSkpIHsgcmV0dXJuOyB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIGUuY3R4LnByb3BzVHlwZS5hbGxQcm9wZXJ0aWVzKSB7XG4gICAgICBjb25zdCBmcW4gPSBDb25zdHJ1Y3RSZWZsZWN0aW9uLmdldEZxbkZyb21UeXBlUmVmKHByb3BlcnR5LnR5cGUpO1xuXG4gICAgICBjb25zdCBmb3VuZCA9IChmcW4gJiYgZS5jdHguc3lzLnRyeUZpbmRGcW4oZnFuKSk7XG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgZS5hc3NlcnQoIShmcW4gPT09IGUuY3R4LmNvcmUudG9rZW5JbnRlcmZhY2VGcW4pLCBgJHtlLmN0eC5wcm9wc0Zxbn0uJHtwcm9wZXJ0eS5uYW1lfWApO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Byb3BzLW5vLWNmbi10eXBlcycsXG4gIG1lc3NhZ2U6ICdwcm9wcyBtdXN0IG5vdCBleHBvc2UgTDEgdHlwZXMgKHR5cGVzIHdoaWNoIHN0YXJ0IHdpdGggXCJDZm5cIiknLFxuICBldmFsOiBlID0+IHtcbiAgICBpZiAoIWUuY3R4LnByb3BzVHlwZSkgeyByZXR1cm47IH1cbiAgICBpZiAoIWUuY3R4Lmhhc1Byb3BzQXJndW1lbnQpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyB0aGlzIHJ1bGUgZG9lcyBub3QgYXBwbHkgdG8gTDEgY29uc3RydWN0c1xuICAgIGlmIChDb3JlVHlwZXMuaXNDZm5SZXNvdXJjZShlLmN0eC5jbGFzc1R5cGUpKSB7IHJldHVybjsgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBlLmN0eC5wcm9wc1R5cGUub3duUHJvcGVydGllcykge1xuICAgICAgY29uc3QgZnFuID0gQ29uc3RydWN0UmVmbGVjdGlvbi5nZXRGcW5Gcm9tVHlwZVJlZihwcm9wZXJ0eS50eXBlKTtcblxuICAgICAgY29uc3QgZm91bmQgPSAoZnFuICYmIGUuY3R4LnN5cy50cnlGaW5kRnFuKGZxbikpO1xuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIGUuYXNzZXJ0KCFmb3VuZC5uYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnY2ZuJyksIGAke2UuY3R4LnByb3BzRnFufS4ke3Byb3BlcnR5Lm5hbWV9YCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxufSk7XG5cbmNvbnN0cnVjdExpbnRlci5hZGQoe1xuICBjb2RlOiAncHJvcHMtbm8tYW55JyxcbiAgbWVzc2FnZTogJ3Byb3BzIG11c3Qgbm90IHVzZSBUeXBlc2NyaXB0IFwiYW55XCIgdHlwZScsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHgucHJvcHNUeXBlKSB7IHJldHVybjsgfVxuICAgIGlmICghZS5jdHguaGFzUHJvcHNBcmd1bWVudCkgeyByZXR1cm47IH1cblxuICAgIC8vIHRoaXMgcnVsZSBkb2VzIG5vdCBhcHBseSB0byBMMSBjb25zdHJ1Y3RzXG4gICAgaWYgKENvcmVUeXBlcy5pc0NmblJlc291cmNlKGUuY3R4LmNsYXNzVHlwZSkpIHsgcmV0dXJuOyB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIGUuY3R4LnByb3BzVHlwZS5vd25Qcm9wZXJ0aWVzKSB7XG4gICAgICBlLmFzc2VydCghcHJvcGVydHkudHlwZS5pc0FueSwgYCR7ZS5jdHgucHJvcHNGcW59LiR7cHJvcGVydHkubmFtZX1gKTtcbiAgICB9XG4gIH0sXG59KTtcblxuZnVuY3Rpb24gYmFzZUNvbnN0cnVjdEFkZGVuZHVtKCk6IHN0cmluZyB7XG4gIGlmICghcHJvY2Vzcy5lbnYuQVdTTElOVF9CQVNFX0NPTlNUUlVDVCkge1xuICAgIHJldHVybiAnSWYgdGhlIGNvbnN0cnVjdCBpcyB1c2luZyB0aGUgXCJjb25zdHJ1Y3RzXCIgbW9kdWxlLCBzZXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFwiQVdTTElOVF9CQVNFX0NPTlNUUlVDVFwiIGFuZCByZS1ydW4nO1xuICB9XG4gIHJldHVybiAnJztcbn1cbiJdfQ==
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uc3RydWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDZDQUF5QztBQUV6QyxzQ0FBbUM7QUFFdEIsUUFBQSxlQUFlLEdBQUcsSUFBSSxlQUFNLENBQXNCLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVU7S0FDM0YsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsc0JBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUV6RCxNQUFhLG1CQUFtQjtJQTJCRjtJQTFCckIsTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQTBCO1FBQ3hELE9BQU8sUUFBUSxDQUFDLFVBQVU7YUFDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsc0JBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxPQUE4QjtRQUM1RCxJQUFJLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN4QixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDO1FBQ2pDLENBQUM7YUFBTSxJQUFJLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QixPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQy9CLENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVlLEdBQUcsQ0FBUztJQUNaLFlBQVksQ0FBUztJQUNyQixRQUFRLENBQVM7SUFDakIsYUFB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QUcsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFDLENBQUM7QUFFSCxTQUFTLHFCQUFxQjtJQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3hDLE9BQU8scUhBQXFILENBQUM7SUFDL0gsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgcmVmbGVjdCBmcm9tICdqc2lpLXJlZmxlY3QnO1xuaW1wb3J0IHsgQ29yZVR5cGVzIH0gZnJvbSAnLi9jb3JlLXR5cGVzJztcbmltcG9ydCB0eXBlIHsgTWV0aG9kU2lnbmF0dXJlUGFyYW1ldGVyRXhwZWN0YXRpb24gfSBmcm9tICcuLi9saW50ZXInO1xuaW1wb3J0IHsgTGludGVyIH0gZnJvbSAnLi4vbGludGVyJztcblxuZXhwb3J0IGNvbnN0IGNvbnN0cnVjdExpbnRlciA9IG5ldyBMaW50ZXI8Q29uc3RydWN0UmVmbGVjdGlvbj4oYXNzZW1ibHkgPT4gYXNzZW1ibHkuYWxsQ2xhc3Nlc1xuICAuZmlsdGVyKHQgPT4gQ29yZVR5cGVzLmlzQ29uc3RydWN0Q2xhc3ModCkpXG4gIC5tYXAoY29uc3RydWN0ID0+IG5ldyBDb25zdHJ1Y3RSZWZsZWN0aW9uKGNvbnN0cnVjdCkpKTtcblxuZXhwb3J0IGNsYXNzIENvbnN0cnVjdFJlZmxlY3Rpb24ge1xuICBwdWJsaWMgc3RhdGljIGZpbmRBbGxDb25zdHJ1Y3RzKGFzc2VtYmx5OiByZWZsZWN0LkFzc2VtYmx5KSB7XG4gICAgcmV0dXJuIGFzc2VtYmx5LmFsbENsYXNzZXNcbiAgICAgIC5maWx0ZXIoYyA9PiBDb3JlVHlwZXMuaXNDb25zdHJ1Y3RDbGFzcyhjKSlcbiAgICAgIC5tYXAoYyA9PiBuZXcgQ29uc3RydWN0UmVmbGVjdGlvbihjKSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGdldEZxbkZyb21UeXBlUmVmKHR5cGVSZWY6IHJlZmxlY3QuVHlwZVJlZmVyZW5jZSkge1xuICAgIGlmICh0eXBlUmVmLmFycmF5T2ZUeXBlKSB7XG4gICAgICByZXR1cm4gdHlwZVJlZi5hcnJheU9mVHlwZS5mcW47XG4gICAgfSBlbHNlIGlmICh0eXBlUmVmLm1hcE9mVHlwZSkge1xuICAgICAgcmV0dXJuIHR5cGVSZWYubWFwT2ZUeXBlLmZxbjtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZVJlZi5mcW47XG4gIH1cblxuICBwdWJsaWMgcmVhZG9ubHkgZnFuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBpbnRlcmZhY2VGcW46IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHByb3BzRnFuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBpbnRlcmZhY2VUeXBlPzogcmVmbGVjdC5JbnRlcmZhY2VUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcHNUeXBlPzogcmVmbGVjdC5JbnRlcmZhY2VUeXBlO1xuICBwdWJsaWMgcmVhZG9ubHkgaW5pdGlhbGl6ZXI/OiByZWZsZWN0LkluaXRpYWxpemVyO1xuICBwdWJsaWMgcmVhZG9ubHkgaGFzUHJvcHNBcmd1bWVudDogYm9vbGVhbjtcbiAgcHVibGljIHJlYWRvbmx5IHN5czogcmVmbGVjdC5UeXBlU3lzdGVtO1xuICBwdWJsaWMgcmVhZG9ubHkgY29yZTogQ29yZVR5cGVzO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBjbGFzc1R5cGU6IHJlZmxlY3QuQ2xhc3NUeXBlKSB7XG4gICAgdGhpcy5mcW4gPSBjbGFzc1R5cGUuZnFuO1xuICAgIHRoaXMuc3lzID0gY2xhc3NUeXBlLnN5c3RlbTtcbiAgICB0aGlzLmNvcmUgPSBuZXcgQ29yZVR5cGVzKHRoaXMuc3lzKTtcbiAgICB0aGlzLmludGVyZmFjZUZxbiA9IGAke3RoaXMudHlwZVByZWZpeChjbGFzc1R5cGUpfS5JJHtjbGFzc1R5cGUubmFtZX1gO1xuICAgIHRoaXMucHJvcHNGcW4gPSBgJHt0aGlzLnR5cGVQcmVmaXgoY2xhc3NUeXBlKX0uJHtjbGFzc1R5cGUubmFtZX1Qcm9wc2A7XG4gICAgdGhpcy5pbnRlcmZhY2VUeXBlID0gdGhpcy50cnlGaW5kSW50ZXJmYWNlKCk7XG4gICAgdGhpcy5wcm9wc1R5cGUgPSB0aGlzLnRyeUZpbmRQcm9wcygpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZXIgPSBjbGFzc1R5cGUuaW5pdGlhbGl6ZXI7XG4gICAgdGhpcy5oYXNQcm9wc0FyZ3VtZW50ID0gdGhpcy5pbml0aWFsaXplciAhPSBudWxsICYmIHRoaXMuaW5pdGlhbGl6ZXIucGFyYW1ldGVycy5sZW5ndGggPj0gMztcbiAgfVxuXG4gIHByaXZhdGUgdHlwZVByZWZpeChjbGFzc1R5cGU6IHJlZmxlY3QuQ2xhc3NUeXBlKSB7XG4gICAgcmV0dXJuIGNsYXNzVHlwZS5hc3NlbWJseS5uYW1lICsgKGNsYXNzVHlwZS5uYW1lc3BhY2UgPyBgLiR7Y2xhc3NUeXBlLm5hbWVzcGFjZX1gIDogJycpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cnlGaW5kSW50ZXJmYWNlKCkge1xuICAgIGNvbnN0IHN5cyA9IHRoaXMuY2xhc3NUeXBlLnN5c3RlbTtcbiAgICBjb25zdCBmb3VuZCA9IHN5cy50cnlGaW5kRnFuKHRoaXMuaW50ZXJmYWNlRnFuKTtcbiAgICBpZiAoIWZvdW5kKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICghZm91bmQuaXNJbnRlcmZhY2VUeXBlKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0aW5nIHR5cGUgJHt0aGlzLmludGVyZmFjZUZxbn0gdG8gYmUgYW4gaW50ZXJmYWNlYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kO1xuICB9XG5cbiAgcHJpdmF0ZSB0cnlGaW5kUHJvcHMoKSB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLnN5cy50cnlGaW5kRnFuKHRoaXMucHJvcHNGcW4pO1xuICAgIGlmICghZm91bmQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKCFmb3VuZC5pc0ludGVyZmFjZVR5cGUoKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RpbmcgcHJvcHMgc3RydWN0ICR7dGhpcy5wcm9wc0Zxbn0gdG8gYmUgYW4gaW50ZXJmYWNlYCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZvdW5kO1xuICB9XG59XG5cbmNvbnN0cnVjdExpbnRlci5hZGQoe1xuICBjb2RlOiAnY29uc3RydWN0LWN0b3InLFxuICBtZXNzYWdlOiAnc2lnbmF0dXJlIG9mIGFsbCBjb25zdHJ1Y3QgY29uc3RydWN0b3JzIHNob3VsZCBiZSBcInNjb3BlLCBpZCwgcHJvcHNcIi4gJyArIGJhc2VDb25zdHJ1Y3RBZGRlbmR1bSgpLFxuICBldmFsOiBlID0+IHtcbiAgICAvLyBvbmx5IGFwcGxpZXMgdG8gbm9uIGFic3RyYWN0IGNsYXNzZXNcbiAgICBpZiAoZS5jdHguY2xhc3NUeXBlLmFic3RyYWN0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5pdGlhbGl6ZXIgPSBlLmN0eC5pbml0aWFsaXplcjtcbiAgICBpZiAoIWUuYXNzZXJ0KGluaXRpYWxpemVyLCBlLmN0eC5mcW4pKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZXhwZWN0ZWRQYXJhbXMgPSBuZXcgQXJyYXk8TWV0aG9kU2lnbmF0dXJlUGFyYW1ldGVyRXhwZWN0YXRpb24+KCk7XG4gICAgZXhwZWN0ZWRQYXJhbXMucHVzaCh7XG4gICAgICBuYW1lOiAnc2NvcGUnLFxuICAgICAgdHlwZTogZS5jdHguY29yZS5iYXNlQ29uc3RydWN0Q2xhc3NGcW4sXG4gICAgfSk7XG5cbiAgICBleHBlY3RlZFBhcmFtcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdpZCcsXG4gICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICB9KTtcblxuICAgIC8vIGl0J3Mgb2theSBmb3IgYSBjb25zdHJ1Y3Qgbm90IHRvIGhhdmUgYSBcInByb3BzXCIgYXJndW1lbnQgc28gd2Ugb25seVxuICAgIC8vIGFzc2VydCB0aGUgXCJwcm9wc1wiIGFyZ3VtZW50IGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gdHdvIHBhcmFtZXRlcnNcbiAgICBpZiAoaW5pdGlhbGl6ZXIucGFyYW1ldGVycy5sZW5ndGggPiAyKSB7XG4gICAgICBleHBlY3RlZFBhcmFtcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3Byb3BzJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGUuYXNzZXJ0U2lnbmF0dXJlKGluaXRpYWxpemVyLCB7XG4gICAgICBwYXJhbWV0ZXJzOiBleHBlY3RlZFBhcmFtcyxcbiAgICB9KTtcbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Byb3BzLXN0cnVjdC1uYW1lJyxcbiAgbWVzc2FnZTogJ2FsbCBjb25zdHJ1Y3RzIG11c3QgaGF2ZSBhIHByb3BzIHN0cnVjdCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHguaGFzUHJvcHNBcmd1bWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGFic3RyYWN0IGNsYXNzZXMgYXJlIGV4ZW1wdFxuICAgIGlmIChlLmN0eC5jbGFzc1R5cGUuYWJzdHJhY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBlLmFzc2VydChlLmN0eC5wcm9wc1R5cGUsIGUuY3R4LmludGVyZmFjZUZxbik7XG4gIH0sXG59KTtcblxuY29uc3RydWN0TGludGVyLmFkZCh7XG4gIGNvZGU6ICdjb25zdHJ1Y3QtY3Rvci1wcm9wcy10eXBlJyxcbiAgbWVzc2FnZTogJ2NvbnN0cnVjdCBcInByb3BzXCIgdHlwZSBzaG91bGQgdXNlIHRoZSBwcm9wcyBzdHJ1Y3QgJXMnLFxuICBldmFsOiBlID0+IHtcbiAgICBpZiAoIWUuY3R4LmluaXRpYWxpemVyKSB7IHJldHVybjsgfVxuICAgIGlmIChlLmN0eC5pbml0aWFsaXplci5wYXJhbWV0ZXJzLmxlbmd0aCA8IDMpIHsgcmV0dXJuOyB9XG5cbiAgICBlLmFzc2VydChcbiAgICAgIGUuY3R4LmluaXRpYWxpemVyLnBhcmFtZXRlcnNbMl0udHlwZS50eXBlID09PSBlLmN0eC5wcm9wc1R5cGUsXG4gICAgICBlLmN0eC5mcW4sXG4gICAgICBlLmN0eC5wcm9wc0Zxbik7XG4gIH0sXG59KTtcblxuY29uc3RydWN0TGludGVyLmFkZCh7XG4gIGNvZGU6ICdjb25zdHJ1Y3QtY3Rvci1wcm9wcy1vcHRpb25hbCcsXG4gIG1lc3NhZ2U6ICdjb25zdHJ1Y3QgXCJwcm9wc1wiIG11c3QgYmUgb3B0aW9uYWwgc2luY2UgYWxsIHByb3BzIGFyZSBvcHRpb25hbCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHgucHJvcHNUeXBlKSB7IHJldHVybjsgfVxuICAgIGlmICghZS5jdHguaW5pdGlhbGl6ZXIpIHsgcmV0dXJuOyB9XG4gICAgaWYgKCFlLmN0eC5oYXNQcm9wc0FyZ3VtZW50KSB7IHJldHVybjsgfVxuXG4gICAgLy8gdGhpcyBydWxlIGFwcGxpZXMgb25seSBpZiBhbGwgcHJvcGVydGllcyBhcmUgb3B0aW9uYWxcbiAgICBjb25zdCBhbGxPcHRpb25hbCA9IGUuY3R4LnByb3BzVHlwZS5hbGxQcm9wZXJ0aWVzLmV2ZXJ5KHAgPT4gcC5vcHRpb25hbCk7XG4gICAgaWYgKCFhbGxPcHRpb25hbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGUuYXNzZXJ0KGUuY3R4LmluaXRpYWxpemVyLnBhcmFtZXRlcnNbMl0ub3B0aW9uYWwsIGUuY3R4LmZxbik7XG4gIH0sXG59KTtcblxuY29uc3RydWN0TGludGVyLmFkZCh7XG4gIGNvZGU6ICdjb25zdHJ1Y3QtaW50ZXJmYWNlLWV4dGVuZHMtaWNvbnN0cnVjdCcsXG4gIG1lc3NhZ2U6ICdjb25zdHJ1Y3QgaW50ZXJmYWNlIG11c3QgZXh0ZW5kIGNvcmUuSUNvbnN0cnVjdCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHguaW50ZXJmYWNlVHlwZSkgeyByZXR1cm47IH1cbiAgICBjb25zdCBpbnRlcmZhY2VCYXNlID0gZS5jdHguc3lzLmZpbmRJbnRlcmZhY2UoZS5jdHguY29yZS5iYXNlQ29uc3RydWN0SW50ZXJmYWNlRnFuKTtcbiAgICBlLmFzc2VydChlLmN0eC5pbnRlcmZhY2VUeXBlLmV4dGVuZHMoaW50ZXJmYWNlQmFzZSksIGUuY3R4LmludGVyZmFjZVR5cGUuZnFuKTtcbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ2NvbnN0cnVjdC1iYXNlLWlzLXByaXZhdGUnLFxuICBtZXNzYWdlOiAncHJlZmVyIHRoYXQgdGhlIGNvbnN0cnVjdCBiYXNlIGNsYXNzIGlzIHByaXZhdGUnLFxuICB3YXJuaW5nOiB0cnVlLFxuICBldmFsOiBlID0+IHtcbiAgICBpZiAoIWUuY3R4LmludGVyZmFjZVR5cGUpIHsgcmV0dXJuOyB9XG4gICAgY29uc3QgYmFzZUZxbiA9IGAke2UuY3R4LmNsYXNzVHlwZS5mcW59QmFzZWA7XG4gICAgZS5hc3NlcnQoIWUuY3R4LnN5cy50cnlGaW5kRnFuKGJhc2VGcW4pLCBiYXNlRnFuKTtcbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Byb3BzLW5vLXVuaW9ucycsXG4gIG1lc3NhZ2U6ICdwcm9wcyBtdXN0IG5vdCB1c2UgVHlwZVNjcmlwdCB1bmlvbnMnLFxuICBldmFsOiBlID0+IHtcbiAgICBpZiAoIWUuY3R4LnByb3BzVHlwZSkgeyByZXR1cm47IH1cbiAgICBpZiAoIWUuY3R4Lmhhc1Byb3BzQXJndW1lbnQpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyB0aGlzIHJ1bGUgZG9lcyBub3QgYXBwbHkgdG8gTDEgY29uc3RydWN0c1xuICAgIGlmIChDb3JlVHlwZXMuaXNDZm5SZXNvdXJjZShlLmN0eC5jbGFzc1R5cGUpKSB7IHJldHVybjsgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBlLmN0eC5wcm9wc1R5cGUub3duUHJvcGVydGllcykge1xuICAgICAgZS5hc3NlcnQoIXByb3BlcnR5LnR5cGUudW5pb25PZlR5cGVzLCBgJHtlLmN0eC5wcm9wc0Zxbn0uJHtwcm9wZXJ0eS5uYW1lfWApO1xuICAgIH1cbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Byb3BzLW5vLWFybi1yZWZzJyxcbiAgbWVzc2FnZTogJ3Byb3BzIG11c3QgdXNlIHN0cm9uZyB0eXBlcyBpbnN0ZWFkIG9mIGF0dHJpYnV0ZXMuIHByb3BzIHNob3VsZCBub3QgaGF2ZSBcImFyblwiIHN1ZmZpeCcsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHgucHJvcHNUeXBlKSB7IHJldHVybjsgfVxuICAgIGlmICghZS5jdHguaGFzUHJvcHNBcmd1bWVudCkgeyByZXR1cm47IH1cblxuICAgIC8vIHRoaXMgcnVsZSBkb2VzIG5vdCBhcHBseSB0byBMMSBjb25zdHJ1Y3RzXG4gICAgaWYgKENvcmVUeXBlcy5pc0NmblJlc291cmNlKGUuY3R4LmNsYXNzVHlwZSkpIHsgcmV0dXJuOyB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIGUuY3R4LnByb3BzVHlwZS5vd25Qcm9wZXJ0aWVzKSB7XG4gICAgICBlLmFzc2VydCghcHJvcGVydHkubmFtZS50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKCdhcm4nKSwgYCR7ZS5jdHgucHJvcHNGcW59LiR7cHJvcGVydHkubmFtZX1gKTtcbiAgICB9XG4gIH0sXG59KTtcblxuY29uc3RydWN0TGludGVyLmFkZCh7XG4gIGNvZGU6ICdwcm9wcy1uby10b2tlbnMnLFxuICBtZXNzYWdlOiAncHJvcHMgbXVzdCBub3QgdXNlIHRoZSBcIlRva2VuXCIgdHlwZScsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHgucHJvcHNUeXBlKSB7IHJldHVybjsgfVxuICAgIGlmICghZS5jdHguaGFzUHJvcHNBcmd1bWVudCkgeyByZXR1cm47IH1cblxuICAgIC8vIHRoaXMgcnVsZSBkb2VzIG5vdCBhcHBseSB0byBMMSBjb25zdHJ1Y3RzXG4gICAgaWYgKENvcmVUeXBlcy5pc0NmblJlc291cmNlKGUuY3R4LmNsYXNzVHlwZSkpIHsgcmV0dXJuOyB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIGUuY3R4LnByb3BzVHlwZS5hbGxQcm9wZXJ0aWVzKSB7XG4gICAgICBjb25zdCBmcW4gPSBDb25zdHJ1Y3RSZWZsZWN0aW9uLmdldEZxbkZyb21UeXBlUmVmKHByb3BlcnR5LnR5cGUpO1xuXG4gICAgICBjb25zdCBmb3VuZCA9IChmcW4gJiYgZS5jdHguc3lzLnRyeUZpbmRGcW4oZnFuKSk7XG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgZS5hc3NlcnQoIShmcW4gPT09IGUuY3R4LmNvcmUudG9rZW5JbnRlcmZhY2VGcW4pLCBgJHtlLmN0eC5wcm9wc0Zxbn0uJHtwcm9wZXJ0eS5uYW1lfWApO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbn0pO1xuXG5jb25zdHJ1Y3RMaW50ZXIuYWRkKHtcbiAgY29kZTogJ3Byb3BzLW5vLWNmbi10eXBlcycsXG4gIG1lc3NhZ2U6ICdwcm9wcyBtdXN0IG5vdCBleHBvc2UgTDEgdHlwZXMgKHR5cGVzIHdoaWNoIHN0YXJ0IHdpdGggXCJDZm5cIiknLFxuICBldmFsOiBlID0+IHtcbiAgICBpZiAoIWUuY3R4LnByb3BzVHlwZSkgeyByZXR1cm47IH1cbiAgICBpZiAoIWUuY3R4Lmhhc1Byb3BzQXJndW1lbnQpIHsgcmV0dXJuOyB9XG5cbiAgICAvLyB0aGlzIHJ1bGUgZG9lcyBub3QgYXBwbHkgdG8gTDEgY29uc3RydWN0c1xuICAgIGlmIChDb3JlVHlwZXMuaXNDZm5SZXNvdXJjZShlLmN0eC5jbGFzc1R5cGUpKSB7IHJldHVybjsgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBlLmN0eC5wcm9wc1R5cGUub3duUHJvcGVydGllcykge1xuICAgICAgY29uc3QgZnFuID0gQ29uc3RydWN0UmVmbGVjdGlvbi5nZXRGcW5Gcm9tVHlwZVJlZihwcm9wZXJ0eS50eXBlKTtcblxuICAgICAgY29uc3QgZm91bmQgPSAoZnFuICYmIGUuY3R4LnN5cy50cnlGaW5kRnFuKGZxbikpO1xuICAgICAgaWYgKGZvdW5kKSB7XG4gICAgICAgIGUuYXNzZXJ0KCFmb3VuZC5uYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnY2ZuJyksIGAke2UuY3R4LnByb3BzRnFufS4ke3Byb3BlcnR5Lm5hbWV9YCk7XG4gICAgICB9XG4gICAgfVxuICB9LFxufSk7XG5cbmNvbnN0cnVjdExpbnRlci5hZGQoe1xuICBjb2RlOiAncHJvcHMtbm8tYW55JyxcbiAgbWVzc2FnZTogJ3Byb3BzIG11c3Qgbm90IHVzZSBUeXBlc2NyaXB0IFwiYW55XCIgdHlwZScsXG4gIGV2YWw6IGUgPT4ge1xuICAgIGlmICghZS5jdHgucHJvcHNUeXBlKSB7IHJldHVybjsgfVxuICAgIGlmICghZS5jdHguaGFzUHJvcHNBcmd1bWVudCkgeyByZXR1cm47IH1cblxuICAgIC8vIHRoaXMgcnVsZSBkb2VzIG5vdCBhcHBseSB0byBMMSBjb25zdHJ1Y3RzXG4gICAgaWYgKENvcmVUeXBlcy5pc0NmblJlc291cmNlKGUuY3R4LmNsYXNzVHlwZSkpIHsgcmV0dXJuOyB9XG5cbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIGUuY3R4LnByb3BzVHlwZS5vd25Qcm9wZXJ0aWVzKSB7XG4gICAgICBlLmFzc2VydCghcHJvcGVydHkudHlwZS5pc0FueSwgYCR7ZS5jdHgucHJvcHNGcW59LiR7cHJvcGVydHkubmFtZX1gKTtcbiAgICB9XG4gIH0sXG59KTtcblxuZnVuY3Rpb24gYmFzZUNvbnN0cnVjdEFkZGVuZHVtKCk6IHN0cmluZyB7XG4gIGlmICghcHJvY2Vzcy5lbnYuQVdTTElOVF9CQVNFX0NPTlNUUlVDVCkge1xuICAgIHJldHVybiAnSWYgdGhlIGNvbnN0cnVjdCBpcyB1c2luZyB0aGUgXCJjb25zdHJ1Y3RzXCIgbW9kdWxlLCBzZXQgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFwiQVdTTElOVF9CQVNFX0NPTlNUUlVDVFwiIGFuZCByZS1ydW4nO1xuICB9XG4gIHJldHVybiAnJztcbn1cbiJdfQ==
|
package/lib/rules/construct.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import * as reflect from 'jsii-reflect';
|
|
1
|
+
import type * as reflect from 'jsii-reflect';
|
|
2
2
|
import { CoreTypes } from './core-types';
|
|
3
|
-
import {
|
|
3
|
+
import type { MethodSignatureParameterExpectation } from '../linter';
|
|
4
|
+
import { Linter } from '../linter';
|
|
4
5
|
|
|
5
6
|
export const constructLinter = new Linter<ConstructReflection>(assembly => assembly.allClasses
|
|
6
7
|
.filter(t => CoreTypes.isConstructClass(t))
|
package/lib/rules/core-types.js
CHANGED
|
@@ -202,4 +202,4 @@ exports.CoreTypes = CoreTypes;
|
|
|
202
202
|
function interfaceExtends(interfaceType, baseInterface) {
|
|
203
203
|
return interfaceType.getInterfaces(true).some(i => i.fqn === baseInterface.fqn);
|
|
204
204
|
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvcmUtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQW1DO0FBRW5DLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQztBQUNsQyxJQUFLLFlBU0o7QUFURCxXQUFLLFlBQVk7SUFDZix1REFBdUMsQ0FBQTtJQUN2QyxpREFBaUMsQ0FBQTtJQUNqQywyREFBMkMsQ0FBQTtJQUMzQywrREFBK0MsQ0FBQTtJQUMvQyx5REFBeUMsQ0FBQTtJQUV6QyxrREFBa0MsQ0FBQTtJQUNsQyw0REFBNEMsQ0FBQTtBQUM5QyxDQUFDLEVBVEksWUFBWSxLQUFaLFlBQVksUUFTaEI7QUFFRCxNQUFhLFNBQVM7SUFDcEI7O09BRUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQTBCO1FBQ3BELE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQW9CO1FBQzlDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FB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QUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyByZWZsZWN0IGZyb20gJ2pzaWktcmVmbGVjdCc7XG5pbXBvcnQgeyBnZXREb2NUYWcgfSBmcm9tICcuL3V0aWwnO1xuXG5jb25zdCBDT1JFX01PRFVMRSA9ICdhd3MtY2RrLWxpYic7XG5lbnVtIENvcmVUeXBlc0ZxbiB7XG4gIENmblJlc291cmNlID0gJ2F3cy1jZGstbGliLkNmblJlc291cmNlJyxcbiAgUmVzb3VyY2UgPSAnYXdzLWNkay1saWIuUmVzb3VyY2UnLFxuICBSZXNvdXJjZUludGVyZmFjZSA9ICdhd3MtY2RrLWxpYi5JUmVzb3VyY2UnLFxuICBSZXNvbHZhYmxlSW50ZXJmYWNlID0gJ2F3cy1jZGstbGliLklSZXNvbHZhYmxlJyxcbiAgUGh5c2ljYWxOYW1lID0gJ2F3cy1jZGstbGliLlBoeXNpY2FsTmFtZScsXG5cbiAgQ29uc3RydWN0ID0gJ2NvbnN0cnVjdHMuQ29uc3RydWN0JyxcbiAgQ29uc3RydWN0SW50ZXJmYWNlID0gJ2NvbnN0cnVjdHMuSUNvbnN0cnVjdCcsXG59XG5cbmV4cG9ydCBjbGFzcyBDb3JlVHlwZXMge1xuICAvKipcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBhc3NlbWJseSBoYXMgdGhlIENvcmUgbW9kdWxlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGhhc0NvcmVNb2R1bGUoYXNzZW1ibHk6IHJlZmxlY3QuQXNzZW1ibHkpIHtcbiAgICByZXR1cm4gKCFhc3NlbWJseS5zeXN0ZW0uYXNzZW1ibGllcy5maW5kKGEgPT4gYS5uYW1lID09PSBDT1JFX01PRFVMRSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYGNsYXNzVHlwZWAgcmVwcmVzZW50cyBhbiBMMSBDZm4gUmVzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNDZm5SZXNvdXJjZShjOiByZWZsZWN0LkNsYXNzVHlwZSkge1xuICAgIGlmICghYy5zeXN0ZW0uaW5jbHVkZXNBc3NlbWJseShDT1JFX01PRFVMRSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBza2lwIENmblJlc291cmNlIGl0c2VsZlxuICAgIGlmIChjLmZxbiA9PT0gQ29yZVR5cGVzRnFuLkNmblJlc291cmNlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmlzQ29uc3RydWN0Q2xhc3MoYykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBjZm5SZXNvdXJjZUNsYXNzID0gYy5zeXN0ZW0uZmluZEZxbihDb3JlVHlwZXNGcW4uQ2ZuUmVzb3VyY2UpO1xuICAgIGlmICghYy5leHRlbmRzKGNmblJlc291cmNlQ2xhc3MpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGMubmFtZS5zdGFydHNXaXRoKCdDZm4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGBjbGFzc1R5cGVgIHJlcHJlc2VudHMgYSBDb25zdHJ1Y3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNDb25zdHJ1Y3RDbGFzcyhjOiByZWZsZWN0LkNsYXNzVHlwZSkge1xuICAgIGlmICghYy5zeXN0ZW0uaW5jbHVkZXNBc3NlbWJseShDT1JFX01PRFVMRSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIWMuaXNDbGFzc1R5cGUoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmIChjLmFic3RyYWN0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGMuZXh0ZW5kcyhjLnN5c3RlbS5maW5kRnFuKENvcmVUeXBlc0Zxbi5Db25zdHJ1Y3QpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGBjbGFzc1R5cGVgIHJlcHJlc2VudHMgYW4gQVdTIHJlc291cmNlIChpLmUuIGV4dGVuZHMgYGNkay5SZXNvdXJjZWApLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc1Jlc291cmNlQ2xhc3MoY2xhc3NUeXBlOiByZWZsZWN0LkNsYXNzVHlwZSkge1xuICAgIGNvbnN0IGJhc2VSZXNvdXJjZSA9IGNsYXNzVHlwZS5zeXN0ZW0uZmluZENsYXNzKENvcmVUeXBlc0Zxbi5SZXNvdXJjZSk7XG4gICAgcmV0dXJuIGNsYXNzVHlwZS5leHRlbmRzKGJhc2VSZXNvdXJjZSkgfHwgZ2V0RG9jVGFnKGNsYXNzVHlwZSwgJ3Jlc291cmNlJyk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBgaW50ZXJmYWNlVHlwZWAgbG9va3MgbGlrZSBhbiBMMiBpbnRlcmZhY2UgKGBJQnVja2V0YClcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNMMkludGVyZmFjZShpbnRlcmZhY2VUeXBlOiByZWZsZWN0LkludGVyZmFjZVR5cGUpIHtcbiAgICAvLyBXZSBkZXRlcm1pbmUgdGhpcyBieSBpdCBiZWluZyBhIGJlaGF2aW9yYWwgaW50ZXJmYWNlLCBhbmQgaXQgaW5oZXJpdGluZyBmcm9tIGBJUmVzb3VyY2VgLlxuICAgIGNvbnN0IGJhc2VJbnRlcmZhY2UgPSBpbnRlcmZhY2VUeXBlLnN5c3RlbS5maW5kSW50ZXJmYWNlKENvcmVUeXBlc0Zxbi5SZXNvdXJjZUludGVyZmFjZSk7XG4gICAgcmV0dXJuICFpbnRlcmZhY2VUeXBlLmRhdGF0eXBlICYmIGludGVyZmFjZUV4dGVuZHMoaW50ZXJmYWNlVHlwZSwgYmFzZUludGVyZmFjZSk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBgaW50ZXJmYWNlVHlwZWAgbG9va3MgbGlrZSBhbiBMMSBSZWYgaW50ZXJmYWNlIChgSUJ1Y2tldFJlZilgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzTDFSZWZJbnRlcmZhY2UoaW50ZXJmYWNlVHlwZTogcmVmbGVjdC5JbnRlcmZhY2VUeXBlKSB7XG4gICAgLy8gV2UgZGV0ZXJtaW5lIHRoaXMgYnkgaXQgYmVpbmcgYSBiZWhhdmlvcmFsIGludGVyZmFjZSwgYW5kIGl0IGxpdmluZyBpbnNpZGUgdGhlIGBhd3MtY2RrLWxpYi5pbnRlcmZhY2VzYCBuYW1lc3BhY2VcbiAgICAvLyB3aXRoIGEgbmFtZSBlbmRpbmcgaW4gYFJlZmAuXG4gICAgcmV0dXJuICFpbnRlcmZhY2VUeXBlLmRhdGF0eXBlICYmIGludGVyZmFjZVR5cGUuZnFuLnN0YXJ0c1dpdGgoJ2F3cy1jZGstbGliLmludGVyZmFjZXMuJykgJiYgaW50ZXJmYWNlVHlwZS5uYW1lLmVuZHNXaXRoKCdSZWYnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgbmVzdGluZyBwYXJlbnQgb2YgdGhlIGdpdmVuIGludGVyZmFjZSBpcyBhIENGTiBjbGFzc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0Nmbk5lc3RlZFR5cGUoaW50ZXJmYWNlVHlwZTogcmVmbGVjdC5UeXBlKSB7XG4gICAgcmV0dXJuIGludGVyZmFjZVR5cGUubmVzdGluZ1BhcmVudCAmJiBDb3JlVHlwZXMuaXNDZm5UeXBlKGludGVyZmFjZVR5cGUubmVzdGluZ1BhcmVudCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdGhlIGdpdmVuIGludGVyZmFjZSB0eXBlIGlzIGEgQ0ZOIGNsYXNzLCBwcm9wIHR5cGUgb3IgaW50ZXJmYWNlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzQ2ZuVHlwZShpbnRlcmZhY2VUeXBlOiByZWZsZWN0LlR5cGUpOiBib29sZWFuIHtcbiAgICAvLyBhd3Nfc2VydmljZS5DZm5UaGVSZXNvdXJjZVxuICAgIGlmIChpbnRlcmZhY2VUeXBlLm5hbWUuc3RhcnRzV2l0aCgnQ2ZuJykpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIGF3c19zZXJ2aWNlLklUaGVSZXNvdXJjZVJmXG4gICAgaWYgKC9eSVxcdytSZWYvLnRlc3QoaW50ZXJmYWNlVHlwZS5uYW1lKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGludGVyZmFjZVR5cGUubmFtZXNwYWNlKSB7XG4gICAgICBpZiAoaW50ZXJmYWNlVHlwZS5uYW1lc3BhY2Uuc3RhcnRzV2l0aCgnQ2ZuJykpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5hbWVzcGFjZVBhcnRzID0gaW50ZXJmYWNlVHlwZS5uYW1lc3BhY2Uuc3BsaXQoJy4nKTtcblxuICAgICAgLy8gYXdzX3NlcnZpY2UuQ2ZuVGhlUmVzb3VyY2UuU3ViVHlwZVxuICAgICAgaWYgKG5hbWVzcGFjZVBhcnRzLmF0KDEpPy5zdGFydHNXaXRoKCdDZm4nKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gYXdzX3NlcnZpY2UubWl4aW5zLkNmblRoZVJlc291cmNlLlN1YlR5cGVcbiAgICAgIGlmIChuYW1lc3BhY2VQYXJ0cy5hdCgxKSA9PT0gJ21peGlucycgJiYgbmFtZXNwYWNlUGFydHMuYXQoMik/LnN0YXJ0c1dpdGgoJ0NmbicpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBgY2xhc3NUeXBlYCBmb3IgdGhlIGNvcmUgdHlwZSBDb25zdHJ1Y3RcbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgYGJhc2VDb25zdHJ1Y3RDbGFzcygpYFxuICAgKi9cbiAgcHVibGljIGdldCBjb25zdHJ1Y3RDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5iYXNlQ29uc3RydWN0Q2xhc3M7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYGNsYXNzVHlwZWAgZm9yIHRoZSBjb3JlIHR5cGUgQ29uc3RydWN0XG4gICAqL1xuICBwdWJsaWMgZ2V0IGJhc2VDb25zdHJ1Y3RDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5zeXMuZmluZENsYXNzKHRoaXMuYmFzZUNvbnN0cnVjdENsYXNzRnFuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBgY2xhc3NUeXBlYCBmb3IgdGhlIGNvcmUgdHlwZSBDb25zdHJ1Y3RcbiAgICovXG4gIHB1YmxpYyBnZXQgYmFzZUNvbnN0cnVjdENsYXNzRnFuKCkge1xuICAgIHJldHVybiBDb3JlVHlwZXNGcW4uQ29uc3RydWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGBpbnRlcmZhY2V0eXBlYCBmb3IgdGhlIGNvcmUgdHlwZSBDb25zdHJ1Y3RcbiAgICogQGRlcHJlY2F0ZWQgLSB1c2UgYGJhc2VDb25zdHJ1Y3RJbnRlcmZhY2UoKWBcbiAgICovXG4gIHB1YmxpYyBnZXQgY29uc3RydWN0SW50ZXJmYWNlKCkge1xuICAgIHJldHVybiB0aGlzLmJhc2VDb25zdHJ1Y3RJbnRlcmZhY2U7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYGludGVyZmFjZXR5cGVgIGZvciB0aGUgY29yZSB0eXBlIENvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIGdldCBiYXNlQ29uc3RydWN0SW50ZXJmYWNlKCkge1xuICAgIHJldHVybiB0aGlzLnN5cy5maW5kSW50ZXJmYWNlKHRoaXMuYmFzZUNvbnN0cnVjdEludGVyZmFjZUZxbik7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgZnFuIGZvciBmb3IgdGhlIGNvcmUgQ29uc3RydWN0IGludGVyZmFjZVxuICAgKi9cbiAgcHVibGljIGdldCBiYXNlQ29uc3RydWN0SW50ZXJmYWNlRnFuKCkge1xuICAgIHJldHVybiBDb3JlVHlwZXNGcW4uQ29uc3RydWN0SW50ZXJmYWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGBjbGFzc1R5cGVgIGZvciB0aGUgY29yZSB0eXBlIFJlc291cmNlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlc291cmNlQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3lzLmZpbmRDbGFzcyh0aGlzLnJlc291cmNlQ2xhc3NGcW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGZxbiBmb3IgdGhlIGNvcmUgdHlwZSBSZXNvdXJjZVxuICAgKi9cbiAgcHVibGljIGdldCByZXNvdXJjZUNsYXNzRnFuKCkge1xuICAgIHJldHVybiBDb3JlVHlwZXNGcW4uUmVzb3VyY2U7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgZnFuIGZvciB0aGUgY29yZSBSZXNvdXJjZSBpbnRlcmZhY2VcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VJbnRlcmZhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3lzLmZpbmRJbnRlcmZhY2UodGhpcy5yZXNvdXJjZUludGVyZmFjZUZxbik7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYGludGVyZmFjZVR5cGVgIGZvciB0aGUgY29yZSB0eXBlIFJlc291cmNlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlc291cmNlSW50ZXJmYWNlRnFuKCkge1xuICAgIHJldHVybiBDb3JlVHlwZXNGcW4uUmVzb3VyY2VJbnRlcmZhY2U7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYGNsYXNzVHlwZWAgZm9yIHRoZSBjb3JlIHR5cGUgVG9rZW5cbiAgICovXG4gIHB1YmxpYyBnZXQgdG9rZW5JbnRlcmZhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3lzLmZpbmRJbnRlcmZhY2UodGhpcy50b2tlbkludGVyZmFjZUZxbik7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgZnFuIGZvciB0aGUgY29yZSB0eXBlIFRva2VuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHRva2VuSW50ZXJmYWNlRnFuKCkge1xuICAgIHJldHVybiBDb3JlVHlwZXNGcW4uUmVzb2x2YWJsZUludGVyZmFjZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGh5c2ljYWxOYW1lQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3lzLmZpbmRDbGFzcyhDb3JlVHlwZXNGcW4uUGh5c2ljYWxOYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgc3lzOiByZWZsZWN0LlR5cGVTeXN0ZW07XG5cbiAgY29uc3RydWN0b3Ioc3lzOiByZWZsZWN0LlR5cGVTeXN0ZW0pIHtcbiAgICB0aGlzLnN5cyA9IHN5cztcbiAgICBpZiAoIXN5cy5pbmNsdWRlc0Fzc2VtYmx5KENPUkVfTU9EVUxFKSkge1xuICAgICAgLy8gZGlzYWJsZS1hbGwtY2hlY2tzXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGludGVyZmFjZUV4dGVuZHMoaW50ZXJmYWNlVHlwZTogcmVmbGVjdC5JbnRlcmZhY2VUeXBlLCBiYXNlSW50ZXJmYWNlOiByZWZsZWN0LkludGVyZmFjZVR5cGUpIHtcbiAgcmV0dXJuIGludGVyZmFjZVR5cGUuZ2V0SW50ZXJmYWNlcyh0cnVlKS5zb21lKGkgPT4gaS5mcW4gPT09IGJhc2VJbnRlcmZhY2UuZnFuKTtcbn1cbiJdfQ==
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvcmUtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQW1DO0FBRW5DLE1BQU0sV0FBVyxHQUFHLGFBQWEsQ0FBQztBQUNsQyxJQUFLLFlBU0o7QUFURCxXQUFLLFlBQVk7SUFDZix1REFBdUMsQ0FBQTtJQUN2QyxpREFBaUMsQ0FBQTtJQUNqQywyREFBMkMsQ0FBQTtJQUMzQywrREFBK0MsQ0FBQTtJQUMvQyx5REFBeUMsQ0FBQTtJQUV6QyxrREFBa0MsQ0FBQTtJQUNsQyw0REFBNEMsQ0FBQTtBQUM5QyxDQUFDLEVBVEksWUFBWSxLQUFaLFlBQVksUUFTaEI7QUFFRCxNQUFhLFNBQVM7SUFDcEI7O09BRUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQTBCO1FBQ3BELE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQW9CO1FBQzlDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsMEJBQTBCO1FBQzFCLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFvQjtRQUNqRCxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQzVDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUNyQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNmLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLFNBQTRCO1FBQ3hELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2RSxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksSUFBQSxnQkFBUyxFQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsYUFBYSxDQUFDLGFBQW9DO1FBQzlELDRGQUE0RjtRQUM1RixNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6RixPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsSUFBSSxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUFDLGFBQW9DO1FBQ2pFLG9IQUFvSDtRQUNwSCwrQkFBK0I7UUFDL0IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsSSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsZUFBZSxDQUFDLGFBQTJCO1FBQ3ZELE9BQU8sYUFBYSxDQUFDLGFBQWEsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQTJCO1FBQ2pELDZCQUE2QjtRQUM3QixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDekMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsNkJBQTZCO1FBQzdCLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM1QixJQUFJLGFBQWEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzlDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTFELHFDQUFxQztZQUNyQyxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUVELDRDQUE0QztZQUM1QyxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pGLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLFlBQVksQ0FBQyxTQUFTLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsc0JBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxZQUFZLENBQUMsa0JBQWtCLENBQUM7SUFDekMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxvQkFBb0I7UUFDN0IsT0FBTyxZQUFZLENBQUMsaUJBQWlCLENBQUM7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxjQUFjO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxpQkFBaUI7UUFDMUIsT0FBTyxZQUFZLENBQUMsbUJBQW1CLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFZ0IsR0FBRyxDQUFxQjtJQUV6QyxZQUFZLEdBQXVCO1FBQ2pDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLHFCQUFxQjtZQUNyQixPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7Q0FDRjtBQTNORCw4QkEyTkM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLGFBQW9DLEVBQUUsYUFBb0M7SUFDbEcsT0FBTyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSAqIGFzIHJlZmxlY3QgZnJvbSAnanNpaS1yZWZsZWN0JztcbmltcG9ydCB7IGdldERvY1RhZyB9IGZyb20gJy4vdXRpbCc7XG5cbmNvbnN0IENPUkVfTU9EVUxFID0gJ2F3cy1jZGstbGliJztcbmVudW0gQ29yZVR5cGVzRnFuIHtcbiAgQ2ZuUmVzb3VyY2UgPSAnYXdzLWNkay1saWIuQ2ZuUmVzb3VyY2UnLFxuICBSZXNvdXJjZSA9ICdhd3MtY2RrLWxpYi5SZXNvdXJjZScsXG4gIFJlc291cmNlSW50ZXJmYWNlID0gJ2F3cy1jZGstbGliLklSZXNvdXJjZScsXG4gIFJlc29sdmFibGVJbnRlcmZhY2UgPSAnYXdzLWNkay1saWIuSVJlc29sdmFibGUnLFxuICBQaHlzaWNhbE5hbWUgPSAnYXdzLWNkay1saWIuUGh5c2ljYWxOYW1lJyxcblxuICBDb25zdHJ1Y3QgPSAnY29uc3RydWN0cy5Db25zdHJ1Y3QnLFxuICBDb25zdHJ1Y3RJbnRlcmZhY2UgPSAnY29uc3RydWN0cy5JQ29uc3RydWN0Jyxcbn1cblxuZXhwb3J0IGNsYXNzIENvcmVUeXBlcyB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGFzc2VtYmx5IGhhcyB0aGUgQ29yZSBtb2R1bGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaGFzQ29yZU1vZHVsZShhc3NlbWJseTogcmVmbGVjdC5Bc3NlbWJseSkge1xuICAgIHJldHVybiAoIWFzc2VtYmx5LnN5c3RlbS5hc3NlbWJsaWVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IENPUkVfTU9EVUxFKSk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgdHJ1ZSBpZiBgY2xhc3NUeXBlYCByZXByZXNlbnRzIGFuIEwxIENmbiBSZXNvdXJjZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0NmblJlc291cmNlKGM6IHJlZmxlY3QuQ2xhc3NUeXBlKSB7XG4gICAgaWYgKCFjLnN5c3RlbS5pbmNsdWRlc0Fzc2VtYmx5KENPUkVfTU9EVUxFKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIHNraXAgQ2ZuUmVzb3VyY2UgaXRzZWxmXG4gICAgaWYgKGMuZnFuID09PSBDb3JlVHlwZXNGcW4uQ2ZuUmVzb3VyY2UpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuaXNDb25zdHJ1Y3RDbGFzcyhjKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGNmblJlc291cmNlQ2xhc3MgPSBjLnN5c3RlbS5maW5kRnFuKENvcmVUeXBlc0Zxbi5DZm5SZXNvdXJjZSk7XG4gICAgaWYgKCFjLmV4dGVuZHMoY2ZuUmVzb3VyY2VDbGFzcykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gYy5uYW1lLnN0YXJ0c1dpdGgoJ0NmbicpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYGNsYXNzVHlwZWAgcmVwcmVzZW50cyBhIENvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0NvbnN0cnVjdENsYXNzKGM6IHJlZmxlY3QuQ2xhc3NUeXBlKSB7XG4gICAgaWYgKCFjLnN5c3RlbS5pbmNsdWRlc0Fzc2VtYmx5KENPUkVfTU9EVUxFKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICghYy5pc0NsYXNzVHlwZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKGMuYWJzdHJhY3QpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gYy5leHRlbmRzKGMuc3lzdGVtLmZpbmRGcW4oQ29yZVR5cGVzRnFuLkNvbnN0cnVjdCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHRydWUgaWYgYGNsYXNzVHlwZWAgcmVwcmVzZW50cyBhbiBBV1MgcmVzb3VyY2UgKGkuZS4gZXh0ZW5kcyBgY2RrLlJlc291cmNlYCkuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzUmVzb3VyY2VDbGFzcyhjbGFzc1R5cGU6IHJlZmxlY3QuQ2xhc3NUeXBlKSB7XG4gICAgY29uc3QgYmFzZVJlc291cmNlID0gY2xhc3NUeXBlLnN5c3RlbS5maW5kQ2xhc3MoQ29yZVR5cGVzRnFuLlJlc291cmNlKTtcbiAgICByZXR1cm4gY2xhc3NUeXBlLmV4dGVuZHMoYmFzZVJlc291cmNlKSB8fCBnZXREb2NUYWcoY2xhc3NUeXBlLCAncmVzb3VyY2UnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGBpbnRlcmZhY2VUeXBlYCBsb29rcyBsaWtlIGFuIEwyIGludGVyZmFjZSAoYElCdWNrZXRgKVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0wySW50ZXJmYWNlKGludGVyZmFjZVR5cGU6IHJlZmxlY3QuSW50ZXJmYWNlVHlwZSkge1xuICAgIC8vIFdlIGRldGVybWluZSB0aGlzIGJ5IGl0IGJlaW5nIGEgYmVoYXZpb3JhbCBpbnRlcmZhY2UsIGFuZCBpdCBpbmhlcml0aW5nIGZyb20gYElSZXNvdXJjZWAuXG4gICAgY29uc3QgYmFzZUludGVyZmFjZSA9IGludGVyZmFjZVR5cGUuc3lzdGVtLmZpbmRJbnRlcmZhY2UoQ29yZVR5cGVzRnFuLlJlc291cmNlSW50ZXJmYWNlKTtcbiAgICByZXR1cm4gIWludGVyZmFjZVR5cGUuZGF0YXR5cGUgJiYgaW50ZXJmYWNlRXh0ZW5kcyhpbnRlcmZhY2VUeXBlLCBiYXNlSW50ZXJmYWNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB0cnVlIGlmIGBpbnRlcmZhY2VUeXBlYCBsb29rcyBsaWtlIGFuIEwxIFJlZiBpbnRlcmZhY2UgKGBJQnVja2V0UmVmKWBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNMMVJlZkludGVyZmFjZShpbnRlcmZhY2VUeXBlOiByZWZsZWN0LkludGVyZmFjZVR5cGUpIHtcbiAgICAvLyBXZSBkZXRlcm1pbmUgdGhpcyBieSBpdCBiZWluZyBhIGJlaGF2aW9yYWwgaW50ZXJmYWNlLCBhbmQgaXQgbGl2aW5nIGluc2lkZSB0aGUgYGF3cy1jZGstbGliLmludGVyZmFjZXNgIG5hbWVzcGFjZVxuICAgIC8vIHdpdGggYSBuYW1lIGVuZGluZyBpbiBgUmVmYC5cbiAgICByZXR1cm4gIWludGVyZmFjZVR5cGUuZGF0YXR5cGUgJiYgaW50ZXJmYWNlVHlwZS5mcW4uc3RhcnRzV2l0aCgnYXdzLWNkay1saWIuaW50ZXJmYWNlcy4nKSAmJiBpbnRlcmZhY2VUeXBlLm5hbWUuZW5kc1dpdGgoJ1JlZicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0cnVlIGlmIHRoZSBuZXN0aW5nIHBhcmVudCBvZiB0aGUgZ2l2ZW4gaW50ZXJmYWNlIGlzIGEgQ0ZOIGNsYXNzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGlzQ2ZuTmVzdGVkVHlwZShpbnRlcmZhY2VUeXBlOiByZWZsZWN0LlR5cGUpIHtcbiAgICByZXR1cm4gaW50ZXJmYWNlVHlwZS5uZXN0aW5nUGFyZW50ICYmIENvcmVUeXBlcy5pc0NmblR5cGUoaW50ZXJmYWNlVHlwZS5uZXN0aW5nUGFyZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgZ2l2ZW4gaW50ZXJmYWNlIHR5cGUgaXMgYSBDRk4gY2xhc3MsIHByb3AgdHlwZSBvciBpbnRlcmZhY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgaXNDZm5UeXBlKGludGVyZmFjZVR5cGU6IHJlZmxlY3QuVHlwZSk6IGJvb2xlYW4ge1xuICAgIC8vIGF3c19zZXJ2aWNlLkNmblRoZVJlc291cmNlXG4gICAgaWYgKGludGVyZmFjZVR5cGUubmFtZS5zdGFydHNXaXRoKCdDZm4nKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLy8gYXdzX3NlcnZpY2UuSVRoZVJlc291cmNlUmZcbiAgICBpZiAoL15JXFx3K1JlZi8udGVzdChpbnRlcmZhY2VUeXBlLm5hbWUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoaW50ZXJmYWNlVHlwZS5uYW1lc3BhY2UpIHtcbiAgICAgIGlmIChpbnRlcmZhY2VUeXBlLm5hbWVzcGFjZS5zdGFydHNXaXRoKCdDZm4nKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmFtZXNwYWNlUGFydHMgPSBpbnRlcmZhY2VUeXBlLm5hbWVzcGFjZS5zcGxpdCgnLicpO1xuXG4gICAgICAvLyBhd3Nfc2VydmljZS5DZm5UaGVSZXNvdXJjZS5TdWJUeXBlXG4gICAgICBpZiAobmFtZXNwYWNlUGFydHMuYXQoMSk/LnN0YXJ0c1dpdGgoJ0NmbicpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBhd3Nfc2VydmljZS5taXhpbnMuQ2ZuVGhlUmVzb3VyY2UuU3ViVHlwZVxuICAgICAgaWYgKG5hbWVzcGFjZVBhcnRzLmF0KDEpID09PSAnbWl4aW5zJyAmJiBuYW1lc3BhY2VQYXJ0cy5hdCgyKT8uc3RhcnRzV2l0aCgnQ2ZuJykpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGBjbGFzc1R5cGVgIGZvciB0aGUgY29yZSB0eXBlIENvbnN0cnVjdFxuICAgKiBAZGVwcmVjYXRlZCAtIHVzZSBgYmFzZUNvbnN0cnVjdENsYXNzKClgXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNvbnN0cnVjdENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmJhc2VDb25zdHJ1Y3RDbGFzcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBgY2xhc3NUeXBlYCBmb3IgdGhlIGNvcmUgdHlwZSBDb25zdHJ1Y3RcbiAgICovXG4gIHB1YmxpYyBnZXQgYmFzZUNvbnN0cnVjdENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLnN5cy5maW5kQ2xhc3ModGhpcy5iYXNlQ29uc3RydWN0Q2xhc3NGcW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIGBjbGFzc1R5cGVgIGZvciB0aGUgY29yZSB0eXBlIENvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIGdldCBiYXNlQ29uc3RydWN0Q2xhc3NGcW4oKSB7XG4gICAgcmV0dXJuIENvcmVUeXBlc0Zxbi5Db25zdHJ1Y3Q7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYGludGVyZmFjZXR5cGVgIGZvciB0aGUgY29yZSB0eXBlIENvbnN0cnVjdFxuICAgKiBAZGVwcmVjYXRlZCAtIHVzZSBgYmFzZUNvbnN0cnVjdEludGVyZmFjZSgpYFxuICAgKi9cbiAgcHVibGljIGdldCBjb25zdHJ1Y3RJbnRlcmZhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuYmFzZUNvbnN0cnVjdEludGVyZmFjZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBgaW50ZXJmYWNldHlwZWAgZm9yIHRoZSBjb3JlIHR5cGUgQ29uc3RydWN0XG4gICAqL1xuICBwdWJsaWMgZ2V0IGJhc2VDb25zdHJ1Y3RJbnRlcmZhY2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3lzLmZpbmRJbnRlcmZhY2UodGhpcy5iYXNlQ29uc3RydWN0SW50ZXJmYWNlRnFuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBmcW4gZm9yIGZvciB0aGUgY29yZSBDb25zdHJ1Y3QgaW50ZXJmYWNlXG4gICAqL1xuICBwdWJsaWMgZ2V0IGJhc2VDb25zdHJ1Y3RJbnRlcmZhY2VGcW4oKSB7XG4gICAgcmV0dXJuIENvcmVUeXBlc0Zxbi5Db25zdHJ1Y3RJbnRlcmZhY2U7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYGNsYXNzVHlwZWAgZm9yIHRoZSBjb3JlIHR5cGUgUmVzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5zeXMuZmluZENsYXNzKHRoaXMucmVzb3VyY2VDbGFzc0Zxbik7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgZnFuIGZvciB0aGUgY29yZSB0eXBlIFJlc291cmNlXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJlc291cmNlQ2xhc3NGcW4oKSB7XG4gICAgcmV0dXJuIENvcmVUeXBlc0Zxbi5SZXNvdXJjZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBmcW4gZm9yIHRoZSBjb3JlIFJlc291cmNlIGludGVyZmFjZVxuICAgKi9cbiAgcHVibGljIGdldCByZXNvdXJjZUludGVyZmFjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zeXMuZmluZEludGVyZmFjZSh0aGlzLnJlc291cmNlSW50ZXJmYWNlRnFuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBgaW50ZXJmYWNlVHlwZWAgZm9yIHRoZSBjb3JlIHR5cGUgUmVzb3VyY2VcbiAgICovXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2VJbnRlcmZhY2VGcW4oKSB7XG4gICAgcmV0dXJuIENvcmVUeXBlc0Zxbi5SZXNvdXJjZUludGVyZmFjZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBgY2xhc3NUeXBlYCBmb3IgdGhlIGNvcmUgdHlwZSBUb2tlblxuICAgKi9cbiAgcHVibGljIGdldCB0b2tlbkludGVyZmFjZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zeXMuZmluZEludGVyZmFjZSh0aGlzLnRva2VuSW50ZXJmYWNlRnFuKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBmcW4gZm9yIHRoZSBjb3JlIHR5cGUgVG9rZW5cbiAgICovXG4gIHB1YmxpYyBnZXQgdG9rZW5JbnRlcmZhY2VGcW4oKSB7XG4gICAgcmV0dXJuIENvcmVUeXBlc0Zxbi5SZXNvbHZhYmxlSW50ZXJmYWNlO1xuICB9XG5cbiAgcHVibGljIGdldCBwaHlzaWNhbE5hbWVDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5zeXMuZmluZENsYXNzKENvcmVUeXBlc0Zxbi5QaHlzaWNhbE5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzeXM6IHJlZmxlY3QuVHlwZVN5c3RlbTtcblxuICBjb25zdHJ1Y3RvcihzeXM6IHJlZmxlY3QuVHlwZVN5c3RlbSkge1xuICAgIHRoaXMuc3lzID0gc3lzO1xuICAgIGlmICghc3lzLmluY2x1ZGVzQXNzZW1ibHkoQ09SRV9NT0RVTEUpKSB7XG4gICAgICAvLyBkaXNhYmxlLWFsbC1jaGVja3NcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW50ZXJmYWNlRXh0ZW5kcyhpbnRlcmZhY2VUeXBlOiByZWZsZWN0LkludGVyZmFjZVR5cGUsIGJhc2VJbnRlcmZhY2U6IHJlZmxlY3QuSW50ZXJmYWNlVHlwZSkge1xuICByZXR1cm4gaW50ZXJmYWNlVHlwZS5nZXRJbnRlcmZhY2VzKHRydWUpLnNvbWUoaSA9PiBpLmZxbiA9PT0gYmFzZUludGVyZmFjZS5mcW4pO1xufVxuIl19
|
package/lib/rules/core-types.ts
CHANGED
package/lib/rules/docs.d.ts
CHANGED