cdk-nuxt 2.3.0 → 2.4.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/README.md +10 -2
- package/index.d.ts +1 -0
- package/index.js +4 -2
- package/lib/functions/access-logs-analysis/group-by-date/build/app/index.js.map +1 -1
- package/lib/functions/access-logs-analysis/group-by-date/package.json +7 -6
- package/lib/functions/access-logs-analysis/group-by-date/yarn.lock +1117 -1067
- package/lib/functions/access-logs-analysis/partitioning/build/app/create-partition.js.map +1 -1
- package/lib/functions/access-logs-analysis/partitioning/build/app/transform-partition.js.map +1 -1
- package/lib/functions/access-logs-analysis/partitioning/build/app/util.js.map +1 -1
- package/lib/functions/access-logs-analysis/partitioning/package.json +7 -6
- package/lib/functions/access-logs-analysis/partitioning/yarn.lock +876 -818
- package/lib/functions/assets-cleanup/build/app/index.js.map +1 -1
- package/lib/functions/assets-cleanup/package.json +7 -6
- package/lib/functions/assets-cleanup/yarn.lock +1156 -870
- package/lib/stack/NuxtAppStackProps.d.ts +1 -1
- package/lib/stack/NuxtAppStackProps.js +1 -1
- package/lib/stack/NuxtAppStackProps.ts +1 -1
- package/lib/stack/access-logs-analysis/AccessLogsAnalysis.d.ts +3 -3
- package/lib/stack/access-logs-analysis/AccessLogsAnalysis.js +1 -1
- package/lib/stack/access-logs-analysis/AccessLogsAnalysis.ts +5 -5
- package/lib/stack/access-logs-analysis/AccessLogsParquetTable.d.ts +1 -1
- package/lib/stack/access-logs-analysis/AccessLogsParquetTable.js +1 -1
- package/lib/stack/access-logs-analysis/AccessLogsParquetTable.ts +1 -1
- package/lib/stack/access-logs-analysis/AccessLogsTableConfig.d.ts +1 -1
- package/lib/stack/access-logs-analysis/AccessLogsTableConfig.js +1 -1
- package/lib/stack/access-logs-analysis/AccessLogsTableConfig.ts +1 -1
- package/lib/stack/access-logs-analysis/CloudFrontAccessLogsAnalysis.d.ts +3 -3
- package/lib/stack/access-logs-analysis/CloudFrontAccessLogsAnalysis.js +1 -1
- package/lib/stack/access-logs-analysis/CloudFrontAccessLogsAnalysis.ts +3 -3
- package/lib/stack/access-logs-analysis/CloudFrontAccessLogsByDateTable.d.ts +1 -1
- package/lib/stack/access-logs-analysis/CloudFrontAccessLogsByDateTable.js +1 -1
- package/lib/stack/access-logs-analysis/CloudFrontAccessLogsByDateTable.ts +1 -1
- package/lib/stack/server/NuxtServerAppStack.d.ts +1 -1
- package/lib/stack/server/NuxtServerAppStack.js +3 -3
- package/lib/stack/server/NuxtServerAppStack.ts +8 -8
- package/lib/stack/server/NuxtServerAppStackProps.d.ts +1 -1
- package/lib/stack/server/NuxtServerAppStackProps.js +1 -1
- package/lib/stack/server/NuxtServerAppStackProps.ts +1 -1
- package/lib/templates/stack-index-server.ts +7 -2
- package/package.json +10 -10
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTnV4dEFwcFN0YWNrUHJvcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJOdXh0QXBwU3RhY2tQcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt0eXBlIFN0YWNrUHJvcHN9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuXG4vKipcbiAqIERlZmluZXMgdGhlIGNvbW1vbiBwcm9wcyByZXF1aXJlZCB0byBkZXBsb3kgTnV4dCBhcHBzIG9uIEFXUy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOdXh0QXBwU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuXG4gICAgLyoqXG4gICAgICogQSBzdHJpbmcgaWRlbnRpZmllciBmb3IgdGhlIHByb2plY3QgdGhlIE51eHQgYXBwIGlzIHBhcnQgb2YuXG4gICAgICogQSBwcm9qZWN0IG1pZ2h0IGhhdmUgbXVsdGlwbGUgZGlmZmVyZW50IHNlcnZpY2VzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByb2plY3Q6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEEgc3RyaW5nIGlkZW50aWZpZXIgZm9yIHRoZSBwcm9qZWN0J3Mgc2VydmljZSB0aGUgTnV4dCBhcHAgaXMgY3JlYXRlZCBmb3IuXG4gICAgICogVGhpcyBjYW4gYmUgc2VlbiBhcyB0aGUgbmFtZSBvZiB0aGUgTnV4dCBhcHAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2VydmljZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQSBzdHJpbmcgdG8gaWRlbnRpZnkgdGhlIGVudmlyb25tZW50IG9mIHRoZSBOdXh0IGFwcC4gVGhpcyBlbmFibGVzIHVzXG4gICAgICogdG8gZGVwbG95IG11bHRpcGxlIGRpZmZlcmVudCBlbnZpcm9ubWVudHMgb2YgdGhlIHNhbWUgTnV4dCBhcHAsIGUuZy4sIHByb2R1Y3Rpb24gYW5kIGRldmVsb3BtZW50LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGVudmlyb25tZW50OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZG9tYWluICh3aXRob3V0IHRoZSBwcm90b2NvbCkgYXQgd2hpY2ggdGhlIE51eHQgYXBwIHNoYWxsIGJlIHB1YmxpY2x5IGF2YWlsYWJsZS5cbiAgICAgKiBBIEROUyByZWNvcmQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgaW4gUm91dGU1MyBmb3IgdGhlIGRvbWFpbi5cbiAgICAgKiBUaGlzIGFsc28gc3VwcG9ydHMgc3ViZG9tYWlucy5cbiAgICAgKiBFeGFtcGxlczogXCJleGFtcGxlLmNvbVwiLCBcInN1Yi5leGFtcGxlLmNvbVwiXG4gICAgICovXG4gICAgcmVhZG9ubHkgZG9tYWluOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaWQgb2YgdGhlIGhvc3RlZCB6b25lIHRvIGNyZWF0ZSBhIEROUyByZWNvcmQgZm9yIHRoZSBzcGVjaWZpZWQgZG9tYWluLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhvc3RlZFpvbmVJZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIEFSTiBvZiB0aGUgY2VydGlmaWNhdGUgdG8gdXNlIG9uIENsb3VkRnJvbnQgZm9yIHRoZSBOdXh0IGFwcCB0byBtYWtlIGl0IGFjY2Vzc2libGUgdmlhIEhUVFBTLlxuICAgICAqIFRoZSBjZXJ0aWZpY2F0ZSBtdXN0IGJlIGlzc3VlZCBmb3IgdGhlIHNwZWNpZmllZCBkb21haW4gaW4gdXMtZWFzdC0xIChnbG9iYWwpIHJlZ2FyZGxlc3Mgb2YgdGhlXG4gICAgICogcmVnaW9uIHNwZWNpZmllZCB2aWEgJ2Vudi5yZWdpb24nIGFzIENsb3VkRnJvbnQgb25seSB3b3JrcyBnbG9iYWxseS5cbiAgICAgKi9cbiAgICByZWFkb25seSBnbG9iYWxUbHNDZXJ0aWZpY2F0ZUFybjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBhdGggdG8gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBOdXh0IGFwcCAoYXQgd2hpY2ggdGhlIGBudXh0LmNvbmZpZy50c2AgZmlsZSBpcyBsb2NhdGVkKS5cbiAgICAgKiBEZWZhdWx0cyB0byAnLicuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcm9vdERpcj86IHN0cmluZztcblxufSJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bucket, NotificationKeyFilter } from 'aws-cdk-lib/aws-s3';
|
|
1
|
+
import { Bucket, type NotificationKeyFilter } from 'aws-cdk-lib/aws-s3';
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
3
|
import { CfnWorkGroup } from 'aws-cdk-lib/aws-athena';
|
|
4
4
|
import { CloudFrontAccessLogsByDateTable } from './CloudFrontAccessLogsByDateTable';
|
|
@@ -6,8 +6,8 @@ import { AccessLogsParquetTable } from './AccessLogsParquetTable';
|
|
|
6
6
|
import { Function } from 'aws-cdk-lib/aws-lambda';
|
|
7
7
|
import { Rule } from 'aws-cdk-lib/aws-events';
|
|
8
8
|
import { Database } from '@aws-cdk/aws-glue-alpha';
|
|
9
|
-
import { AccessLogsAnalysisProps } from "./AccessLogsAnalysisProps";
|
|
10
|
-
import { ColumnTransformationRules } from "../../functions/access-logs-analysis/partitioning/types";
|
|
9
|
+
import { type AccessLogsAnalysisProps } from "./AccessLogsAnalysisProps";
|
|
10
|
+
import { type ColumnTransformationRules } from "../../functions/access-logs-analysis/partitioning/types";
|
|
11
11
|
/**
|
|
12
12
|
* Provides the AWS resources to analyze access logs. This construct is derived from the official AWS sample
|
|
13
13
|
* CloudFormation stack:
|
|
@@ -251,4 +251,4 @@ AccessLogsAnalysis.ACCESS_LOGS_FOLDER_UNPROCESSED = 'unprocessed';
|
|
|
251
251
|
AccessLogsAnalysis.ACCESS_LOGS_FOLDER_GROUPED_BY_DATE = 'by-date';
|
|
252
252
|
AccessLogsAnalysis.ACCESS_LOGS_FOLDER_TRANSFORMED = 'transformed';
|
|
253
253
|
AccessLogsAnalysis.ACCESS_LOGS_FOLDER_ATHENA_RESULTS = 'athena-query-results';
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjZXNzTG9nc0FuYWx5c2lzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQWNjZXNzTG9nc0FuYWx5c2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE0RTtBQUM1RSwyQ0FBcUM7QUFDckMsdURBQW9EO0FBR3BELHVEQUE2RTtBQUM3RSx1REFBdUU7QUFDdkUsNkNBQW9EO0FBQ3BELDREQUF5RDtBQUN6RCxtRkFBbUU7QUFDbkUsbURBQW1EO0FBQ25ELGlEQUE0RDtBQUM1RCx1RUFBOEQ7QUFDOUQsNkJBQTZCO0FBSTdCOzs7O0dBSUc7QUFDSCxNQUFzQixrQkFBbUIsU0FBUSxzQkFBUztJQW1CdEQsWUFBc0IsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDOUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUNsRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMs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QUFFLEVBQUU7aUJBQ3BCLENBQUM7YUFDTDtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxvQ0FBb0MsQ0FBQyxLQUE4QjtRQUN2RSxPQUFPLDRCQUFlLENBQUMsVUFBVSxDQUFDO1lBQzlCLFdBQVcsRUFBRTtnQkFDVCxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPO2dCQUN0QyxHQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUEwQjthQUM3RCxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDNUIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEtBQUssQ0FBQztTQUNsRSxDQUFDLENBQUM7SUFDUCxDQUFDOztBQXhSTCxnREErUkM7QUE3UjZCLGlEQUE4QixHQUFHLGFBQWEsQ0FBQztBQUMvQyxxREFBa0MsR0FBRyxTQUFTLENBQUM7QUFDL0MsaURBQThCLEdBQUcsYUFBYSxDQUFDO0FBQy9DLG9EQUFpQyxHQUFHLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCdWNrZXQsIEV2ZW50VHlwZSwgTm90aWZpY2F0aW9uS2V5RmlsdGVyfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHtDZm5Xb3JrR3JvdXB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1hdGhlbmEnO1xuaW1wb3J0IHtDbG91ZEZyb250QWNjZXNzTG9nc0J5RGF0ZVRhYmxlfSBmcm9tICcuL0Nsb3VkRnJvbnRBY2Nlc3NMb2dzQnlEYXRlVGFibGUnO1xuaW1wb3J0IHtBY2Nlc3NMb2dzUGFycXVldFRhYmxlfSBmcm9tICcuL0FjY2Vzc0xvZ3NQYXJxdWV0VGFibGUnO1xuaW1wb3J0IHtBcmNoaXRlY3R1cmUsIENvZGUsIEZ1bmN0aW9uLCBSdW50aW1lfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7UnVsZSwgUnVsZVRhcmdldElucHV0LCBTY2hlZHVsZX0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWV2ZW50cyc7XG5pbXBvcnQge0NmblRhZywgRHVyYXRpb24sIFN0YWNrfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge0NvbHVtbiwgRGF0YWJhc2V9IGZyb20gJ0Bhd3MtY2RrL2F3cy1nbHVlLWFscGhhJztcbmltcG9ydCB7UzNFdmVudFNvdXJjZX0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ldmVudC1zb3VyY2VzJztcbmltcG9ydCB7UmV0ZW50aW9uRGF5c30gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHtFZmZlY3QsIFBvbGljeVN0YXRlbWVudH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge0xhbWJkYUZ1bmN0aW9ufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7QWNjZXNzTG9nc0FuYWx5c2lzUHJvcHN9IGZyb20gXCIuL0FjY2Vzc0xvZ3NBbmFseXNpc1Byb3BzXCI7XG5pbXBvcnQge0NvbHVtblRyYW5zZm9ybWF0aW9uUnVsZXN9IGZyb20gXCIuLi8uLi9mdW5jdGlvbnMvYWNjZXNzLWxvZ3MtYW5hbHlzaXMvcGFydGl0aW9uaW5nL3R5cGVzXCI7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIEFXUyByZXNvdXJjZXMgdG8gYW5hbHl6ZSBhY2Nlc3MgbG9ncy4gVGhpcyBjb25zdHJ1Y3QgaXMgZGVyaXZlZCBmcm9tIHRoZSBvZmZpY2lhbCBBV1Mgc2FtcGxlXG4gKiBDbG91ZEZvcm1hdGlvbiBzdGFjazpcbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vYXdzLXNhbXBsZXMvYW1hem9uLWNsb3VkZnJvbnQtYWNjZXNzLWxvZ3MtcXVlcmllcy9ibG9iL21haW5saW5lL3RlbXBsYXRlLnlhbWx9XG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBY2Nlc3NMb2dzQW5hbHlzaXMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuXG4gICAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBBQ0NFU1NfTE9HU19GT0xERVJfVU5QUk9DRVNTRUQgPSAndW5wcm9jZXNzZWQnO1xuICAgIHByb3RlY3RlZCBzdGF0aWMgcmVhZG9ubHkgQUNDRVNTX0xPR1NfRk9MREVSX0dST1VQRURfQllfREFURSA9ICdieS1kYXRlJztcbiAgICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IEFDQ0VTU19MT0dTX0ZPTERFUl9UUkFOU0ZPUk1FRCA9ICd0cmFuc2Zvcm1lZCc7XG4gICAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBBQ0NFU1NfTE9HU19GT0xERVJfQVRIRU5BX1JFU1VMVFMgPSAnYXRoZW5hLXF1ZXJ5LXJlc3VsdHMnO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlc291cmNlSWRQcmVmaXg6IHN0cmluZztcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYnVja2V0OiBCdWNrZXQ7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHdvcmtncm91cDogQ2ZuV29ya0dyb3VwO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkYXRhYmFzZTogRGF0YWJhc2U7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjY2Vzc0xvZ3NCeURhdGVUYWJsZTogQ2xvdWRGcm9udEFjY2Vzc0xvZ3NCeURhdGVUYWJsZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWNjZXNzTG9nc1BhcnF1ZXRUYWJsZTogQWNjZXNzTG9nc1BhcnF1ZXRUYWJsZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZ3JvdXBCeURhdGVMYW1iZGE6IEZ1bmN0aW9uO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjcmVhdGVQYXJ0aXRpb25MYW1iZGE6IEZ1bmN0aW9uO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2Zvcm1QYXJ0aXRpb25MYW1iZGE6IEZ1bmN0aW9uO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjcmVhdGVQYXJ0aXRpb25zU2NoZWR1bGVyOiBSdWxlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2Zvcm1QYXJ0aXRpb25zU2NoZWR1bGVyOiBSdWxlO1xuXG4gICAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBY2Nlc3NMb2dzQW5hbHlzaXNQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgICAgICB0aGlzLnJlc291cmNlSWRQcmVmaXggPSBwcm9wcy5yZXNvdXJjZVByZWZpeDtcbiAgICAgICAgdGhpcy5idWNrZXQgPSBwcm9wcy5idWNrZXQ7XG4gICAgICAgIHRoaXMuc2V0dXBMaWZlY3ljbGVSdWxlcyhwcm9wcyk7XG4gICAgICAgIHRoaXMud29ya2dyb3VwID0gdGhpcy5jcmVhdGVXb3JrZ3JvdXAoKTtcbiAgICAgICAgdGhpcy5kYXRhYmFzZSA9IHRoaXMuY3JlYXRlR2x1ZURhdGFiYXNlKCk7XG4gICAgICAgIHRoaXMuYWNjZXNzTG9nc0J5RGF0ZVRhYmxlID0gdGhpcy5jcmVhdGVBY2Nlc3NMb2dzQnlEYXRlVGFibGUoKTtcbiAgICAgICAgdGhpcy5hY2Nlc3NMb2dzUGFycXVldFRhYmxlID0gdGhpcy5jcmVhdGVBY2Nlc3NMb2dzUGFycXVldFRhYmxlKCk7XG4gICAgICAgIHRoaXMuZ3JvdXBCeURhdGVMYW1iZGEgPSB0aGlzLmNyZWF0ZUdyb3VwQnlEYXRlTGFtYmRhKCk7XG4gICAgICAgIHRoaXMuY3JlYXRlUGFydGl0aW9uTGFtYmRhID0gdGhpcy5jcmVhdGVDcmVhdGVQYXJ0aXRpb25MYW1iZGEoKTtcbiAgICAgICAgdGhpcy50cmFuc2Zvcm1QYXJ0aXRpb25MYW1iZGEgPSB0aGlzLmNyZWF0ZVRyYW5zZm9ybVBhcnRpdGlvbkxhbWJkYSgpO1xuICAgICAgICB0aGlzLmNyZWF0ZVBhcnRpdGlvbnNTY2hlZHVsZXIgPSB0aGlzLmNyZWF0ZUNyZWF0ZVBhcnRpdGlvbnNTY2hlZHVsZXIoKTtcbiAgICAgICAgdGhpcy50cmFuc2Zvcm1QYXJ0aXRpb25zU2NoZWR1bGVyID0gdGhpcy5jcmVhdGVUcmFuc2Zvcm1QYXJ0aXRpb25zU2NoZWR1bGVyKHByb3BzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwTGlmZWN5Y2xlUnVsZXMocHJvcHM6IEFjY2Vzc0xvZ3NBbmFseXNpc1Byb3BzKTogdm9pZCB7XG4gICAgICAgIC8vIGNsZWFudXAgcmF3IGFuZCBwYXJ0aXRpb25lZCBhY2Nlc3MgbG9ncyBhZnRlciBhIGNvbmZpZ3VyYWJsZSB0aW1lIHJhbmdlXG5cbiAgICAgICAgdGhpcy5idWNrZXQuYWRkTGlmZWN5Y2xlUnVsZSh7XG4gICAgICAgICAgICBpZDogYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS1jbGVhbnVwLXVucHJvY2Vzc2VkYCxcbiAgICAgICAgICAgIHByZWZpeDogYCR7QWNjZXNzTG9nc0FuYWx5c2lzLkFDQ0VTU19MT0dTX0ZPTERFUl9VTlBST0NFU1NFRH0vKmAsXG4gICAgICAgICAgICBleHBpcmF0aW9uOiBwcm9wcy5leHBpcmVSYXdMb2dzQWZ0ZXIgPz8gRHVyYXRpb24uZGF5cyg3KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5idWNrZXQuYWRkTGlmZWN5Y2xlUnVsZSh7XG4gICAgICAgICAgICBpZDogYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS1jbGVhbnVwLWdyb3VwZWRgLFxuICAgICAgICAgICAgcHJlZml4OiBgJHtBY2Nlc3NMb2dzQW5hbHlzaXMuQUNDRVNTX0xPR1NfRk9MREVSX0dST1VQRURfQllfREFURX0vKmAsXG4gICAgICAgICAgICBleHBpcmF0aW9uOiBwcm9wcy5leHBpcmVJbnRlcm1lZGlhdGVMb2dzQWZ0ZXIgPz8gRHVyYXRpb24uZGF5cyg3KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5idWNrZXQuYWRkTGlmZWN5Y2xlUnVsZSh7XG4gICAgICAgICAgICBpZDogYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS1jbGVhbnVwLXRyYW5zZm9ybWVkYCxcbiAgICAgICAgICAgIHByZWZpeDogYCR7QWNjZXNzTG9nc0FuYWx5c2lzLkFDQ0VTU19MT0dTX0ZPTERFUl9UUkFOU0ZPUk1FRH0vKmAsXG4gICAgICAgICAgICBleHBpcmF0aW9uOiBwcm9wcy5leHBpcmVUcmFuc2Zvcm1lZExvZ3NBZnRlciA/PyBEdXJhdGlvbi5kYXlzKDE4MCksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qIENIRUNLTUU6IGRlbGV0ZSBxdWVyeSByZXN1bHRzIGFmdGVyIDEgd2Vla1xuICAgICAgICB0aGlzLmJ1Y2tldC5hZGRMaWZlY3ljbGVSdWxlKHtcbiAgICAgICAgICBpZDogYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS1jbGVhbnVwLXF1ZXJ5LXJlc3VsdHNgLFxuICAgICAgICAgIHByZWZpeDogYCR7QWNjZXNzTG9nc0FuYWx5c2lzLkFDQ0VTU19MT0dTX0ZPTERFUl9BVEhFTkFfUkVTVUxUU30vKmAsXG4gICAgICAgICAgZXhwaXJhdGlvbjogRHVyYXRpb24uZGF5cyg3KSxcbiAgICAgICAgfSk7XG4gICAgICAgICovXG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVXb3JrZ3JvdXAoKTogQ2ZuV29ya0dyb3VwIHtcbiAgICAgICAgY29uc3Qgd29ya2dyb3VwTmFtZSA9IGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0td29ya2dyb3VwYDtcblxuICAgICAgICAvLyBkdWUgdG8gYSBjdXJyZW50IGJ1ZywgdGhlIHRhZ3MgYXJlIG5vdCBhdXRvbWF0aWNhbGx5IGFzc2lnbmVkIHRvIHRoZSB3b3JrZ3JvdXBcbiAgICAgICAgLy8gbm90ZSwgdGhhdCB0aGUga2V5cyBtdXN0IGJlIGNvbnZlcnRlZCB0byBsb3dlciBjYXNlXG4gICAgICAgIGNvbnN0IHRhZ3M6IENmblRhZ1tdID0gU3RhY2sub2YodGhpcylcbiAgICAgICAgICAgIC50YWdzLnJlbmRlclRhZ3MoKVxuICAgICAgICAgICAgLm1hcCgodGFnOiB7IEtleTogc3RyaW5nOyBWYWx1ZTogc3RyaW5nIH0pID0+ICh7a2V5OiB0YWcuS2V5LCB2YWx1ZTogdGFnLlZhbHVlfSkpO1xuXG4gICAgICAgIHJldHVybiBuZXcgQ2ZuV29ya0dyb3VwKHRoaXMsIHdvcmtncm91cE5hbWUsIHtcbiAgICAgICAgICAgIG5hbWU6IHdvcmtncm91cE5hbWUsXG4gICAgICAgICAgICByZWN1cnNpdmVEZWxldGVPcHRpb246IHRydWUsXG4gICAgICAgICAgICB3b3JrR3JvdXBDb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgICAgICAgcHVibGlzaENsb3VkV2F0Y2hNZXRyaWNzRW5hYmxlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgcmVzdWx0Q29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBvdXRwdXRMb2NhdGlvbjogYHMzOi8vJHt0aGlzLmJ1Y2tldC5idWNrZXROYW1lfS8ke0FjY2Vzc0xvZ3NBbmFseXNpcy5BQ0NFU1NfTE9HU19GT0xERVJfQVRIRU5BX1JFU1VMVFN9YCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGVuZm9yY2VXb3JrR3JvdXBDb25maWd1cmF0aW9uOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGFncyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVHbHVlRGF0YWJhc2UoKTogRGF0YWJhc2Uge1xuICAgICAgICBjb25zdCBkYXRhYmFzZU5hbWUgPSBgJHt0aGlzLnJlc291cmNlSWRQcmVmaXh9LWRhdGFiYXNlYDtcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRhYmFzZSh0aGlzLCBkYXRhYmFzZU5hbWUsIHtcbiAgICAgICAgICAgIC8vIEF0aGVuYSBkb2Vzbid0IHN1cHBvcnQgZGFzaGVzIGluIGRhdGFiYXNlL3RhYmxlIG5hbWVzXG4gICAgICAgICAgICBkYXRhYmFzZU5hbWU6IGRhdGFiYXNlTmFtZS5yZXBsYWNlKC8tL2csICdfJyksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVBY2Nlc3NMb2dzQnlEYXRlVGFibGUoKTogQ2xvdWRGcm9udEFjY2Vzc0xvZ3NCeURhdGVUYWJsZTtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVBY2Nlc3NMb2dzUGFycXVldFRhYmxlKCk6IENsb3VkRnJvbnRBY2Nlc3NMb2dzQnlEYXRlVGFibGU7XG5cbiAgICAvKipcbiAgICAgKiBBIExhbWJkYSBmdW5jdGlvbiB0byBiZSB0cmlnZ2VyZWQgd2hlbmV2ZXIgYSBuZXcgYWNjZXNzIGxvZyBpcyBjcmVhdGVkLlxuICAgICAqIEl0IG1vdmVzIHRoZSByYXcgYWNjZXNzIGxvZ3MgaW50byBhIHN1YiBmb2xkZXIgaGllcmFyY2h5IGJ5IHllYXIsIG1vbnRoLCBkYXkgYW5kIGhvdXIuXG4gICAgICogTm90ZSB0aGF0IHdlIHVzZSB0aGUgYnVuZGxlZCBBV1MgU0RLIGZvciBOb2RlIHRvIGF2b2lkIHRoZSBuZWVkIGZvciBhIGN1c3RvbSBsYXllclxuICAgICAqIHdoaWNoIHJlc3RyaWN0cyB0aGUgY29uc3VtZXIgdG8gYSBzcGVjaWZpYyB5YXJuIG9yIG5wbSB2ZXJzaW9uLlxuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlR3JvdXBCeURhdGVMYW1iZGEoKTogRnVuY3Rpb24ge1xuICAgICAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBgJHt0aGlzLnJlc291cmNlSWRQcmVmaXh9LWdyb3VwLWJ5LWRhdGVgO1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYSA9IG5ldyBGdW5jdGlvbih0aGlzLCBmdW5jdGlvbk5hbWUsIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgICAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzIwX1gsXG4gICAgICAgICAgICBjb2RlOiBDb2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vLi4vZnVuY3Rpb25zL2FjY2Vzcy1sb2dzLWFuYWx5c2lzL2dyb3VwLWJ5LWRhdGUvYnVpbGQvYXBwJyksIHtcbiAgICAgICAgICAgICAgICBleGNsdWRlOiBbJyouZC50cyddXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1lbW9yeVNpemU6IDUxMixcbiAgICAgICAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMjApLFxuICAgICAgICAgICAgaGFuZGxlcjogJ2luZGV4LmhhbmRsZXInLFxuICAgICAgICAgICAgZXZlbnRzOiBbXG4gICAgICAgICAgICAgICAgbmV3IFMzRXZlbnRTb3VyY2UodGhpcy5idWNrZXQsIHtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnRzOiBbRXZlbnRUeXBlLk9CSkVDVF9DUkVBVEVEXSxcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyczogW3RoaXMuZ2V0VW5wcm9jZXNzZWRPYmplY3RzRmlsdGVyKCldLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5UV09fV0VFS1MsXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIEFXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEOiAnMScsXG4gICAgICAgICAgICAgICAgTk9ERV9PUFRJT05TOiAnLS1lbmFibGUtc291cmNlLW1hcHMnLFxuICAgICAgICAgICAgICAgIFRBUkdFVF9GT0xERVI6IEFjY2Vzc0xvZ3NBbmFseXNpcy5BQ0NFU1NfTE9HU19GT0xERVJfR1JPVVBFRF9CWV9EQVRFLFxuICAgICAgICAgICAgICAgIFJBV19BQ0NFU1NfTE9HX0ZJTEVfUEFUVEVSTjogdGhpcy5nZXRSYXdBY2Nlc3NMb2dGaWxlUGF0dGVybigpLnNvdXJjZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZFdyaXRlKGxhbWJkYSk7XG4gICAgICAgIHRoaXMuYnVja2V0LmdyYW50RGVsZXRlKGxhbWJkYSwgYCR7QWNjZXNzTG9nc0FuYWx5c2lzLkFDQ0VTU19MT0dTX0ZPTERFUl9VTlBST0NFU1NFRH0vKmApO1xuXG4gICAgICAgIHJldHVybiBsYW1iZGE7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFVucHJvY2Vzc2VkT2JqZWN0c0ZpbHRlcigpOiBOb3RpZmljYXRpb25LZXlGaWx0ZXI7XG5cbiAgICAvKiogVGhlIHBhdHRlcm4gdG8gaWRlbnRpZnkgdW5wcm9jZXNzZWQgYWNjZXNzIGxvZ3MgZGVwZW5kcyBvbiB0aGUgcHJvZHVjaW5nIHNvdXJjZSAqL1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRSYXdBY2Nlc3NMb2dGaWxlUGF0dGVybigpOiBSZWdFeHA7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IHBhcnRpdGlvbiBmb3IgdGhlIHVwY29taW5nIGhvdXIgaW4gdGhlIGFjY2VzcyBsb2cgZGF0YWJhc2UuXG4gICAgICogTm90ZSB0aGF0IHdlIHVzZSB0aGUgYnVuZGxlZCBBV1MgU0RLIGZvciBOb2RlIHRvIGF2b2lkIHRoZSBuZWVkIGZvciBhIGN1c3RvbSBsYXllclxuICAgICAqIHdoaWNoIHJlc3RyaWN0cyB0aGUgY29uc3VtZXIgdG8gYSBzcGVjaWZpYyB5YXJuIG9yIG5wbSB2ZXJzaW9uLlxuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlQ3JlYXRlUGFydGl0aW9uTGFtYmRhKCk6IEZ1bmN0aW9uIHtcbiAgICAgICAgY29uc3QgZnVuY3Rpb25OYW1lID0gYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS1jcmVhdGUtcGFydGA7XG5cbiAgICAgICAgY29uc3QgbGFtYmRhID0gbmV3IEZ1bmN0aW9uKHRoaXMsIGZ1bmN0aW9uTmFtZSwge1xuICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgICAgICAgcnVudGltZTogUnVudGltZS5OT0RFSlNfMjBfWCxcbiAgICAgICAgICAgIGNvZGU6IENvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9mdW5jdGlvbnMvYWNjZXNzLWxvZ3MtYW5hbHlzaXMvcGFydGl0aW9uaW5nL2J1aWxkL2FwcCcpLCB7XG4gICAgICAgICAgICAgICAgZXhjbHVkZTogWycqLmQudHMnXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtZW1vcnlTaXplOiAxMjgsXG4gICAgICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDIwKSxcbiAgICAgICAgICAgIGhhbmRsZXI6ICdjcmVhdGUtcGFydGl0aW9uLmhhbmRsZXInLFxuICAgICAgICAgICAgbG9nUmV0ZW50aW9uOiBSZXRlbnRpb25EYXlzLlRXT19XRUVLUyxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQ6ICcxJyxcbiAgICAgICAgICAgICAgICBOT0RFX09QVElPTlM6ICctLWVuYWJsZS1zb3VyY2UtbWFwcycsXG4gICAgICAgICAgICAgICAgV09SS0dST1VQOiB0aGlzLndvcmtncm91cC5uYW1lLFxuICAgICAgICAgICAgICAgIERBVEFCQVNFOiB0aGlzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgICAgICAgICBUQUJMRTogdGhpcy5hY2Nlc3NMb2dzQnlEYXRlVGFibGUudGFibGVOYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gZ3JhbnQgYWNjZXNzIHRvIFMzIGJ1Y2tldCBhbmQgdG8gZXhlY3V0ZSBBdGhlbmEgcXVlcmllcyB3aGljaCBjcmVhdGUgbmV3IHBhcnRpdGlvbnNcbiAgICAgICAgdGhpcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUobGFtYmRhKTtcbiAgICAgICAgbGFtYmRhLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ2F0aGVuYTpTdGFydFF1ZXJ5RXhlY3V0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ2F0aGVuYTpHZXRRdWVyeUV4ZWN1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkNyZWF0ZURhdGFiYXNlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6Q3JlYXRlUGFydGl0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6R2V0RGF0YWJhc2UnLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpHZXRUYWJsZScsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkJhdGNoQ3JlYXRlUGFydGl0aW9uJyxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHJlc291cmNlczogWycqJ10sXG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBsYW1iZGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJhbnNmb3JtcyBwYXJ0aXRpb25zIGZyb20gdGhlIEhpdmUgZm9ybWF0IHRvIFBhcnF1ZXQuXG4gICAgICogTm90ZSB0aGF0IHdlIHVzZSB0aGUgYnVuZGxlZCBBV1MgU0RLIGZvciBOb2RlIHRvIGF2b2lkIHRoZSBuZWVkIGZvciBhIGN1c3RvbSBsYXllclxuICAgICAqIHdoaWNoIHJlc3RyaWN0cyB0aGUgY29uc3VtZXIgdG8gYSBzcGVjaWZpYyB5YXJuIG9yIG5wbSB2ZXJzaW9uLlxuICAgICAqL1xuICAgIHByaXZhdGUgY3JlYXRlVHJhbnNmb3JtUGFydGl0aW9uTGFtYmRhKCk6IEZ1bmN0aW9uIHtcbiAgICAgICAgY29uc3QgZnVuY3Rpb25OYW1lID0gYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS10cmFuc2Zvcm0tcGFydGA7XG5cbiAgICAgICAgY29uc3QgbGFtYmRhID0gbmV3IEZ1bmN0aW9uKHRoaXMsIGZ1bmN0aW9uTmFtZSwge1xuICAgICAgICAgICAgZnVuY3Rpb25OYW1lLFxuICAgICAgICAgICAgYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmUuQVJNXzY0LFxuICAgICAgICAgICAgcnVudGltZTogUnVudGltZS5OT0RFSlNfMjBfWCxcbiAgICAgICAgICAgIGNvZGU6IENvZGUuZnJvbUFzc2V0KHBhdGguam9pbihfX2Rpcm5hbWUsICcuLi8uLi9mdW5jdGlvbnMvYWNjZXNzLWxvZ3MtYW5hbHlzaXMvcGFydGl0aW9uaW5nL2J1aWxkL2FwcCcpLCB7XG4gICAgICAgICAgICAgICAgZXhjbHVkZTogWydjcmVhdGUtcGFydGl0aW9uKicsICcqLmQudHMnXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtZW1vcnlTaXplOiAxMjgsXG4gICAgICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDIwKSxcbiAgICAgICAgICAgIGhhbmRsZXI6ICd0cmFuc2Zvcm0tcGFydGl0aW9uLmhhbmRsZXInLFxuICAgICAgICAgICAgbG9nUmV0ZW50aW9uOiBSZXRlbnRpb25EYXlzLlRXT19XRUVLUyxcbiAgICAgICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgICAgICAgQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQ6ICcxJyxcbiAgICAgICAgICAgICAgICBOT0RFX09QVElPTlM6ICctLWVuYWJsZS1zb3VyY2UtbWFwcycsXG4gICAgICAgICAgICAgICAgV09SS0dST1VQOiB0aGlzLndvcmtncm91cC5uYW1lLFxuICAgICAgICAgICAgICAgIERBVEFCQVNFOiB0aGlzLmRhdGFiYXNlLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgICAgICAgICBTT1VSQ0VfVEFCTEU6IHRoaXMuYWNjZXNzTG9nc0J5RGF0ZVRhYmxlLnRhYmxlTmFtZSxcbiAgICAgICAgICAgICAgICBUQVJHRVRfVEFCTEU6IHRoaXMuYWNjZXNzTG9nc1BhcnF1ZXRUYWJsZS50YWJsZU5hbWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBncmFudCBhY2Nlc3MgdG8gUzMgYnVja2V0IGFuZCB0byBleGVjdXRlIEF0aGVuYSBxdWVyaWVzIHdoaWNoIGNyZWF0ZSBuZXcgcGFydGl0aW9uc1xuICAgICAgICB0aGlzLmJ1Y2tldC5ncmFudFJlYWRXcml0ZShsYW1iZGEpO1xuICAgICAgICBsYW1iZGEuYWRkVG9Sb2xlUG9saWN5KFxuICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICAgICAgICAnYXRoZW5hOlN0YXJ0UXVlcnlFeGVjdXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAnYXRoZW5hOkdldFF1ZXJ5RXhlY3V0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6Q3JlYXRlRGF0YWJhc2UnLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpDcmVhdGVQYXJ0aXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpHZXREYXRhYmFzZScsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkdldFRhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6QmF0Y2hDcmVhdGVQYXJ0aXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpHZXRQYXJ0aXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpHZXRQYXJ0aXRpb25zJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6Q3JlYXRlVGFibGUnLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpEZWxldGVUYWJsZScsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkRlbGV0ZVBhcnRpdGlvbicsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbGFtYmRhO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlQ3JlYXRlUGFydGl0aW9uc1NjaGVkdWxlcigpOiBSdWxlIHtcbiAgICAgICAgY29uc3QgcnVsZU5hbWUgPSBgJHt0aGlzLnJlc291cmNlSWRQcmVmaXh9LWNyZWF0ZS1wYXJ0LXNjaGVkYDtcbiAgICAgICAgcmV0dXJuIG5ldyBSdWxlKHRoaXMsIHJ1bGVOYW1lLCB7XG4gICAgICAgICAgICBydWxlTmFtZSxcbiAgICAgICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5jcm9uKHttaW51dGU6ICc1NSd9KSxcbiAgICAgICAgICAgIHRhcmdldHM6IFtuZXcgTGFtYmRhRnVuY3Rpb24odGhpcy5jcmVhdGVQYXJ0aXRpb25MYW1iZGEsIHtyZXRyeUF0dGVtcHRzOiAxMH0pXSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVUcmFuc2Zvcm1QYXJ0aXRpb25zU2NoZWR1bGVyKHByb3BzOiBBY2Nlc3NMb2dzQW5hbHlzaXNQcm9wcyk6IFJ1bGUge1xuICAgICAgICBjb25zdCBydWxlTmFtZSA9IGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0tdHJhbnNmb3JtLXBhcnQtc2NoZWRgO1xuICAgICAgICByZXR1cm4gbmV3IFJ1bGUodGhpcywgcnVsZU5hbWUsIHtcbiAgICAgICAgICAgIHJ1bGVOYW1lLFxuICAgICAgICAgICAgc2NoZWR1bGU6IFNjaGVkdWxlLmNyb24oe21pbnV0ZTogJzEnfSksXG4gICAgICAgICAgICB0YXJnZXRzOiBbXG4gICAgICAgICAgICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMudHJhbnNmb3JtUGFydGl0aW9uTGFtYmRhLCB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiB0aGlzLmdldFRyYW5zZm9ybVBhcnRpdGlvbkludm9jYXRpb25Qcm9wcyhwcm9wcyksXG4gICAgICAgICAgICAgICAgICAgIHJldHJ5QXR0ZW1wdHM6IDEwLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUcmFuc2Zvcm1QYXJ0aXRpb25JbnZvY2F0aW9uUHJvcHMocHJvcHM6IEFjY2Vzc0xvZ3NBbmFseXNpc1Byb3BzKTogUnVsZVRhcmdldElucHV0IHtcbiAgICAgICAgcmV0dXJuIFJ1bGVUYXJnZXRJbnB1dC5mcm9tT2JqZWN0KHtcbiAgICAgICAgICAgIGNvbHVtbk5hbWVzOiBbXG4gICAgICAgICAgICAgICAgLi4udGhpcy5hY2Nlc3NMb2dzUGFycXVldFRhYmxlLmNvbHVtbnMsXG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuYWNjZXNzTG9nc1BhcnF1ZXRUYWJsZS5wYXJ0aXRpb25LZXlzIGFzIENvbHVtbltdKSxcbiAgICAgICAgICAgIF0ubWFwKGNvbHVtbiA9PiBjb2x1bW4ubmFtZSksXG4gICAgICAgICAgICBjb2x1bW5UcmFuc2Zvcm1hdGlvbnM6IHRoaXMuZ2V0Q29sdW1uVHJhbnNmb3JtYXRpb25SdWxlcyhwcm9wcyksXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE5lZWRzIHRvIHJldHVybiB0aGUgbG9nIHNvdXJjZSBzcGVjaWZpYyBjb2x1bW4gdHJhbnNmb3JtYXRpb24gcnVsZXNcbiAgICAgKiAoZS5nLiB0byBhbm9ueW1pemUgSVAgYWRkcmVzc2VzKS5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0Q29sdW1uVHJhbnNmb3JtYXRpb25SdWxlcyhwcm9wczogQWNjZXNzTG9nc0FuYWx5c2lzUHJvcHMpOiBDb2x1bW5UcmFuc2Zvcm1hdGlvblJ1bGVzO1xufVxuIl19
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjZXNzTG9nc0FuYWx5c2lzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQWNjZXNzTG9nc0FuYWx5c2lzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUFpRjtBQUNqRiwyQ0FBcUM7QUFDckMsdURBQW9EO0FBR3BELHVEQUE2RTtBQUM3RSx1REFBdUU7QUFDdkUsNkNBQXlEO0FBQ3pELDREQUE4RDtBQUM5RCxtRkFBbUU7QUFDbkUsbURBQW1EO0FBQ25ELGlEQUE0RDtBQUM1RCx1RUFBOEQ7QUFDOUQsNkJBQTZCO0FBSTdCOzs7O0dBSUc7QUFDSCxNQUFzQixrQkFBbUIsU0FBUSxzQkFBUztJQW1CdEQsWUFBc0IsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBOEI7UUFDOUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUNsRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDeEQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQywyQkFBMkIsRUFBRSxDQUFDO1FBQ2hFLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMs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QUFFLEVBQUU7aUJBQ3BCLENBQUM7YUFDTDtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxvQ0FBb0MsQ0FBQyxLQUE4QjtRQUN2RSxPQUFPLDRCQUFlLENBQUMsVUFBVSxDQUFDO1lBQzlCLFdBQVcsRUFBRTtnQkFDVCxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPO2dCQUN0QyxHQUFJLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUEwQjthQUM3RCxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDNUIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLDRCQUE0QixDQUFDLEtBQUssQ0FBQztTQUNsRSxDQUFDLENBQUM7SUFDUCxDQUFDOztBQXhSTCxnREErUkM7QUE3UjZCLGlEQUE4QixHQUFHLGFBQWEsQ0FBQztBQUMvQyxxREFBa0MsR0FBRyxTQUFTLENBQUM7QUFDL0MsaURBQThCLEdBQUcsYUFBYSxDQUFDO0FBQy9DLG9EQUFpQyxHQUFHLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCdWNrZXQsIEV2ZW50VHlwZSwgdHlwZSBOb3RpZmljYXRpb25LZXlGaWx0ZXJ9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge0NmbldvcmtHcm91cH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWF0aGVuYSc7XG5pbXBvcnQge0Nsb3VkRnJvbnRBY2Nlc3NMb2dzQnlEYXRlVGFibGV9IGZyb20gJy4vQ2xvdWRGcm9udEFjY2Vzc0xvZ3NCeURhdGVUYWJsZSc7XG5pbXBvcnQge0FjY2Vzc0xvZ3NQYXJxdWV0VGFibGV9IGZyb20gJy4vQWNjZXNzTG9nc1BhcnF1ZXRUYWJsZSc7XG5pbXBvcnQge0FyY2hpdGVjdHVyZSwgQ29kZSwgRnVuY3Rpb24sIFJ1bnRpbWV9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHtSdWxlLCBSdWxlVGFyZ2V0SW5wdXQsIFNjaGVkdWxlfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCB7dHlwZSBDZm5UYWcsIER1cmF0aW9uLCBTdGFja30gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHt0eXBlIENvbHVtbiwgRGF0YWJhc2V9IGZyb20gJ0Bhd3MtY2RrL2F3cy1nbHVlLWFscGhhJztcbmltcG9ydCB7UzNFdmVudFNvdXJjZX0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ldmVudC1zb3VyY2VzJztcbmltcG9ydCB7UmV0ZW50aW9uRGF5c30gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxvZ3MnO1xuaW1wb3J0IHtFZmZlY3QsIFBvbGljeVN0YXRlbWVudH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQge0xhbWJkYUZ1bmN0aW9ufSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzLXRhcmdldHMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7dHlwZSBBY2Nlc3NMb2dzQW5hbHlzaXNQcm9wc30gZnJvbSBcIi4vQWNjZXNzTG9nc0FuYWx5c2lzUHJvcHNcIjtcbmltcG9ydCB7dHlwZSBDb2x1bW5UcmFuc2Zvcm1hdGlvblJ1bGVzfSBmcm9tIFwiLi4vLi4vZnVuY3Rpb25zL2FjY2Vzcy1sb2dzLWFuYWx5c2lzL3BhcnRpdGlvbmluZy90eXBlc1wiO1xuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBBV1MgcmVzb3VyY2VzIHRvIGFuYWx5emUgYWNjZXNzIGxvZ3MuIFRoaXMgY29uc3RydWN0IGlzIGRlcml2ZWQgZnJvbSB0aGUgb2ZmaWNpYWwgQVdTIHNhbXBsZVxuICogQ2xvdWRGb3JtYXRpb24gc3RhY2s6XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2F3cy1zYW1wbGVzL2FtYXpvbi1jbG91ZGZyb250LWFjY2Vzcy1sb2dzLXF1ZXJpZXMvYmxvYi9tYWlubGluZS90ZW1wbGF0ZS55YW1sfVxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWNjZXNzTG9nc0FuYWx5c2lzIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICAgIHByb3RlY3RlZCBzdGF0aWMgcmVhZG9ubHkgQUNDRVNTX0xPR1NfRk9MREVSX1VOUFJPQ0VTU0VEID0gJ3VucHJvY2Vzc2VkJztcbiAgICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IEFDQ0VTU19MT0dTX0ZPTERFUl9HUk9VUEVEX0JZX0RBVEUgPSAnYnktZGF0ZSc7XG4gICAgcHJvdGVjdGVkIHN0YXRpYyByZWFkb25seSBBQ0NFU1NfTE9HU19GT0xERVJfVFJBTlNGT1JNRUQgPSAndHJhbnNmb3JtZWQnO1xuICAgIHByb3RlY3RlZCBzdGF0aWMgcmVhZG9ubHkgQUNDRVNTX0xPR1NfRk9MREVSX0FUSEVOQV9SRVNVTFRTID0gJ2F0aGVuYS1xdWVyeS1yZXN1bHRzJztcblxuICAgIHByb3RlY3RlZCByZWFkb25seSByZXNvdXJjZUlkUHJlZml4OiBzdHJpbmc7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGJ1Y2tldDogQnVja2V0O1xuICAgIHByb3RlY3RlZCByZWFkb25seSB3b3JrZ3JvdXA6IENmbldvcmtHcm91cDtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGF0YWJhc2U6IERhdGFiYXNlO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBhY2Nlc3NMb2dzQnlEYXRlVGFibGU6IENsb3VkRnJvbnRBY2Nlc3NMb2dzQnlEYXRlVGFibGU7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGFjY2Vzc0xvZ3NQYXJxdWV0VGFibGU6IEFjY2Vzc0xvZ3NQYXJxdWV0VGFibGU7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGdyb3VwQnlEYXRlTGFtYmRhOiBGdW5jdGlvbjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3JlYXRlUGFydGl0aW9uTGFtYmRhOiBGdW5jdGlvbjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNmb3JtUGFydGl0aW9uTGFtYmRhOiBGdW5jdGlvbjtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgY3JlYXRlUGFydGl0aW9uc1NjaGVkdWxlcjogUnVsZTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgdHJhbnNmb3JtUGFydGl0aW9uc1NjaGVkdWxlcjogUnVsZTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQWNjZXNzTG9nc0FuYWx5c2lzUHJvcHMpIHtcbiAgICAgICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICAgICAgdGhpcy5yZXNvdXJjZUlkUHJlZml4ID0gcHJvcHMucmVzb3VyY2VQcmVmaXg7XG4gICAgICAgIHRoaXMuYnVja2V0ID0gcHJvcHMuYnVja2V0O1xuICAgICAgICB0aGlzLnNldHVwTGlmZWN5Y2xlUnVsZXMocHJvcHMpO1xuICAgICAgICB0aGlzLndvcmtncm91cCA9IHRoaXMuY3JlYXRlV29ya2dyb3VwKCk7XG4gICAgICAgIHRoaXMuZGF0YWJhc2UgPSB0aGlzLmNyZWF0ZUdsdWVEYXRhYmFzZSgpO1xuICAgICAgICB0aGlzLmFjY2Vzc0xvZ3NCeURhdGVUYWJsZSA9IHRoaXMuY3JlYXRlQWNjZXNzTG9nc0J5RGF0ZVRhYmxlKCk7XG4gICAgICAgIHRoaXMuYWNjZXNzTG9nc1BhcnF1ZXRUYWJsZSA9IHRoaXMuY3JlYXRlQWNjZXNzTG9nc1BhcnF1ZXRUYWJsZSgpO1xuICAgICAgICB0aGlzLmdyb3VwQnlEYXRlTGFtYmRhID0gdGhpcy5jcmVhdGVHcm91cEJ5RGF0ZUxhbWJkYSgpO1xuICAgICAgICB0aGlzLmNyZWF0ZVBhcnRpdGlvbkxhbWJkYSA9IHRoaXMuY3JlYXRlQ3JlYXRlUGFydGl0aW9uTGFtYmRhKCk7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtUGFydGl0aW9uTGFtYmRhID0gdGhpcy5jcmVhdGVUcmFuc2Zvcm1QYXJ0aXRpb25MYW1iZGEoKTtcbiAgICAgICAgdGhpcy5jcmVhdGVQYXJ0aXRpb25zU2NoZWR1bGVyID0gdGhpcy5jcmVhdGVDcmVhdGVQYXJ0aXRpb25zU2NoZWR1bGVyKCk7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtUGFydGl0aW9uc1NjaGVkdWxlciA9IHRoaXMuY3JlYXRlVHJhbnNmb3JtUGFydGl0aW9uc1NjaGVkdWxlcihwcm9wcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cExpZmVjeWNsZVJ1bGVzKHByb3BzOiBBY2Nlc3NMb2dzQW5hbHlzaXNQcm9wcyk6IHZvaWQge1xuICAgICAgICAvLyBjbGVhbnVwIHJhdyBhbmQgcGFydGl0aW9uZWQgYWNjZXNzIGxvZ3MgYWZ0ZXIgYSBjb25maWd1cmFibGUgdGltZSByYW5nZVxuXG4gICAgICAgIHRoaXMuYnVja2V0LmFkZExpZmVjeWNsZVJ1bGUoe1xuICAgICAgICAgICAgaWQ6IGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0tY2xlYW51cC11bnByb2Nlc3NlZGAsXG4gICAgICAgICAgICBwcmVmaXg6IGAke0FjY2Vzc0xvZ3NBbmFseXNpcy5BQ0NFU1NfTE9HU19GT0xERVJfVU5QUk9DRVNTRUR9LypgLFxuICAgICAgICAgICAgZXhwaXJhdGlvbjogcHJvcHMuZXhwaXJlUmF3TG9nc0FmdGVyID8/IER1cmF0aW9uLmRheXMoNyksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYnVja2V0LmFkZExpZmVjeWNsZVJ1bGUoe1xuICAgICAgICAgICAgaWQ6IGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0tY2xlYW51cC1ncm91cGVkYCxcbiAgICAgICAgICAgIHByZWZpeDogYCR7QWNjZXNzTG9nc0FuYWx5c2lzLkFDQ0VTU19MT0dTX0ZPTERFUl9HUk9VUEVEX0JZX0RBVEV9LypgLFxuICAgICAgICAgICAgZXhwaXJhdGlvbjogcHJvcHMuZXhwaXJlSW50ZXJtZWRpYXRlTG9nc0FmdGVyID8/IER1cmF0aW9uLmRheXMoNyksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuYnVja2V0LmFkZExpZmVjeWNsZVJ1bGUoe1xuICAgICAgICAgICAgaWQ6IGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0tY2xlYW51cC10cmFuc2Zvcm1lZGAsXG4gICAgICAgICAgICBwcmVmaXg6IGAke0FjY2Vzc0xvZ3NBbmFseXNpcy5BQ0NFU1NfTE9HU19GT0xERVJfVFJBTlNGT1JNRUR9LypgLFxuICAgICAgICAgICAgZXhwaXJhdGlvbjogcHJvcHMuZXhwaXJlVHJhbnNmb3JtZWRMb2dzQWZ0ZXIgPz8gRHVyYXRpb24uZGF5cygxODApLFxuICAgICAgICB9KTtcblxuICAgICAgICAvKiBDSEVDS01FOiBkZWxldGUgcXVlcnkgcmVzdWx0cyBhZnRlciAxIHdlZWtcbiAgICAgICAgdGhpcy5idWNrZXQuYWRkTGlmZWN5Y2xlUnVsZSh7XG4gICAgICAgICAgaWQ6IGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0tY2xlYW51cC1xdWVyeS1yZXN1bHRzYCxcbiAgICAgICAgICBwcmVmaXg6IGAke0FjY2Vzc0xvZ3NBbmFseXNpcy5BQ0NFU1NfTE9HU19GT0xERVJfQVRIRU5BX1JFU1VMVFN9LypgLFxuICAgICAgICAgIGV4cGlyYXRpb246IER1cmF0aW9uLmRheXMoNyksXG4gICAgICAgIH0pO1xuICAgICAgICAqL1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlV29ya2dyb3VwKCk6IENmbldvcmtHcm91cCB7XG4gICAgICAgIGNvbnN0IHdvcmtncm91cE5hbWUgPSBgJHt0aGlzLnJlc291cmNlSWRQcmVmaXh9LXdvcmtncm91cGA7XG5cbiAgICAgICAgLy8gZHVlIHRvIGEgY3VycmVudCBidWcsIHRoZSB0YWdzIGFyZSBub3QgYXV0b21hdGljYWxseSBhc3NpZ25lZCB0byB0aGUgd29ya2dyb3VwXG4gICAgICAgIC8vIG5vdGUsIHRoYXQgdGhlIGtleXMgbXVzdCBiZSBjb252ZXJ0ZWQgdG8gbG93ZXIgY2FzZVxuICAgICAgICBjb25zdCB0YWdzOiBDZm5UYWdbXSA9IFN0YWNrLm9mKHRoaXMpXG4gICAgICAgICAgICAudGFncy5yZW5kZXJUYWdzKClcbiAgICAgICAgICAgIC5tYXAoKHRhZzogeyBLZXk6IHN0cmluZzsgVmFsdWU6IHN0cmluZyB9KSA9PiAoe2tleTogdGFnLktleSwgdmFsdWU6IHRhZy5WYWx1ZX0pKTtcblxuICAgICAgICByZXR1cm4gbmV3IENmbldvcmtHcm91cCh0aGlzLCB3b3JrZ3JvdXBOYW1lLCB7XG4gICAgICAgICAgICBuYW1lOiB3b3JrZ3JvdXBOYW1lLFxuICAgICAgICAgICAgcmVjdXJzaXZlRGVsZXRlT3B0aW9uOiB0cnVlLFxuICAgICAgICAgICAgd29ya0dyb3VwQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgICAgIHB1Ymxpc2hDbG91ZFdhdGNoTWV0cmljc0VuYWJsZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHJlc3VsdENvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgb3V0cHV0TG9jYXRpb246IGBzMzovLyR7dGhpcy5idWNrZXQuYnVja2V0TmFtZX0vJHtBY2Nlc3NMb2dzQW5hbHlzaXMuQUNDRVNTX0xPR1NfRk9MREVSX0FUSEVOQV9SRVNVTFRTfWAsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBlbmZvcmNlV29ya0dyb3VwQ29uZmlndXJhdGlvbjogdHJ1ZVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRhZ3MsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlR2x1ZURhdGFiYXNlKCk6IERhdGFiYXNlIHtcbiAgICAgICAgY29uc3QgZGF0YWJhc2VOYW1lID0gYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS1kYXRhYmFzZWA7XG4gICAgICAgIHJldHVybiBuZXcgRGF0YWJhc2UodGhpcywgZGF0YWJhc2VOYW1lLCB7XG4gICAgICAgICAgICAvLyBBdGhlbmEgZG9lc24ndCBzdXBwb3J0IGRhc2hlcyBpbiBkYXRhYmFzZS90YWJsZSBuYW1lc1xuICAgICAgICAgICAgZGF0YWJhc2VOYW1lOiBkYXRhYmFzZU5hbWUucmVwbGFjZSgvLS9nLCAnXycpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlQWNjZXNzTG9nc0J5RGF0ZVRhYmxlKCk6IENsb3VkRnJvbnRBY2Nlc3NMb2dzQnlEYXRlVGFibGU7XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlQWNjZXNzTG9nc1BhcnF1ZXRUYWJsZSgpOiBDbG91ZEZyb250QWNjZXNzTG9nc0J5RGF0ZVRhYmxlO1xuXG4gICAgLyoqXG4gICAgICogQSBMYW1iZGEgZnVuY3Rpb24gdG8gYmUgdHJpZ2dlcmVkIHdoZW5ldmVyIGEgbmV3IGFjY2VzcyBsb2cgaXMgY3JlYXRlZC5cbiAgICAgKiBJdCBtb3ZlcyB0aGUgcmF3IGFjY2VzcyBsb2dzIGludG8gYSBzdWIgZm9sZGVyIGhpZXJhcmNoeSBieSB5ZWFyLCBtb250aCwgZGF5IGFuZCBob3VyLlxuICAgICAqIE5vdGUgdGhhdCB3ZSB1c2UgdGhlIGJ1bmRsZWQgQVdTIFNESyBmb3IgTm9kZSB0byBhdm9pZCB0aGUgbmVlZCBmb3IgYSBjdXN0b20gbGF5ZXJcbiAgICAgKiB3aGljaCByZXN0cmljdHMgdGhlIGNvbnN1bWVyIHRvIGEgc3BlY2lmaWMgeWFybiBvciBucG0gdmVyc2lvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZUdyb3VwQnlEYXRlTGFtYmRhKCk6IEZ1bmN0aW9uIHtcbiAgICAgICAgY29uc3QgZnVuY3Rpb25OYW1lID0gYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS1ncm91cC1ieS1kYXRlYDtcblxuICAgICAgICBjb25zdCBsYW1iZGEgPSBuZXcgRnVuY3Rpb24odGhpcywgZnVuY3Rpb25OYW1lLCB7XG4gICAgICAgICAgICBmdW5jdGlvbk5hbWUsXG4gICAgICAgICAgICBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZS5BUk1fNjQsXG4gICAgICAgICAgICBydW50aW1lOiBSdW50aW1lLk5PREVKU18yMF9YLFxuICAgICAgICAgICAgY29kZTogQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uLy4uL2Z1bmN0aW9ucy9hY2Nlc3MtbG9ncy1hbmFseXNpcy9ncm91cC1ieS1kYXRlL2J1aWxkL2FwcCcpLCB7XG4gICAgICAgICAgICAgICAgZXhjbHVkZTogWycqLmQudHMnXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtZW1vcnlTaXplOiA1MTIsXG4gICAgICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDIwKSxcbiAgICAgICAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgICAgICAgIGV2ZW50czogW1xuICAgICAgICAgICAgICAgIG5ldyBTM0V2ZW50U291cmNlKHRoaXMuYnVja2V0LCB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50czogW0V2ZW50VHlwZS5PQkpFQ1RfQ1JFQVRFRF0sXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcnM6IFt0aGlzLmdldFVucHJvY2Vzc2VkT2JqZWN0c0ZpbHRlcigpXSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBsb2dSZXRlbnRpb246IFJldGVudGlvbkRheXMuVFdPX1dFRUtTLFxuICAgICAgICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICAgICAgICBBV1NfTk9ERUpTX0NPTk5FQ1RJT05fUkVVU0VfRU5BQkxFRDogJzEnLFxuICAgICAgICAgICAgICAgIE5PREVfT1BUSU9OUzogJy0tZW5hYmxlLXNvdXJjZS1tYXBzJyxcbiAgICAgICAgICAgICAgICBUQVJHRVRfRk9MREVSOiBBY2Nlc3NMb2dzQW5hbHlzaXMuQUNDRVNTX0xPR1NfRk9MREVSX0dST1VQRURfQllfREFURSxcbiAgICAgICAgICAgICAgICBSQVdfQUNDRVNTX0xPR19GSUxFX1BBVFRFUk46IHRoaXMuZ2V0UmF3QWNjZXNzTG9nRmlsZVBhdHRlcm4oKS5zb3VyY2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmJ1Y2tldC5ncmFudFJlYWRXcml0ZShsYW1iZGEpO1xuICAgICAgICB0aGlzLmJ1Y2tldC5ncmFudERlbGV0ZShsYW1iZGEsIGAke0FjY2Vzc0xvZ3NBbmFseXNpcy5BQ0NFU1NfTE9HU19GT0xERVJfVU5QUk9DRVNTRUR9LypgKTtcblxuICAgICAgICByZXR1cm4gbGFtYmRhO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRVbnByb2Nlc3NlZE9iamVjdHNGaWx0ZXIoKTogTm90aWZpY2F0aW9uS2V5RmlsdGVyO1xuXG4gICAgLyoqIFRoZSBwYXR0ZXJuIHRvIGlkZW50aWZ5IHVucHJvY2Vzc2VkIGFjY2VzcyBsb2dzIGRlcGVuZHMgb24gdGhlIHByb2R1Y2luZyBzb3VyY2UgKi9cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0UmF3QWNjZXNzTG9nRmlsZVBhdHRlcm4oKTogUmVnRXhwO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBwYXJ0aXRpb24gZm9yIHRoZSB1cGNvbWluZyBob3VyIGluIHRoZSBhY2Nlc3MgbG9nIGRhdGFiYXNlLlxuICAgICAqIE5vdGUgdGhhdCB3ZSB1c2UgdGhlIGJ1bmRsZWQgQVdTIFNESyBmb3IgTm9kZSB0byBhdm9pZCB0aGUgbmVlZCBmb3IgYSBjdXN0b20gbGF5ZXJcbiAgICAgKiB3aGljaCByZXN0cmljdHMgdGhlIGNvbnN1bWVyIHRvIGEgc3BlY2lmaWMgeWFybiBvciBucG0gdmVyc2lvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZUNyZWF0ZVBhcnRpdGlvbkxhbWJkYSgpOiBGdW5jdGlvbiB7XG4gICAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0tY3JlYXRlLXBhcnRgO1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYSA9IG5ldyBGdW5jdGlvbih0aGlzLCBmdW5jdGlvbk5hbWUsIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgICAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzIwX1gsXG4gICAgICAgICAgICBjb2RlOiBDb2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vLi4vZnVuY3Rpb25zL2FjY2Vzcy1sb2dzLWFuYWx5c2lzL3BhcnRpdGlvbmluZy9idWlsZC9hcHAnKSwge1xuICAgICAgICAgICAgICAgIGV4Y2x1ZGU6IFsnKi5kLnRzJ11cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygyMCksXG4gICAgICAgICAgICBoYW5kbGVyOiAnY3JlYXRlLXBhcnRpdGlvbi5oYW5kbGVyJyxcbiAgICAgICAgICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5UV09fV0VFS1MsXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIEFXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEOiAnMScsXG4gICAgICAgICAgICAgICAgTk9ERV9PUFRJT05TOiAnLS1lbmFibGUtc291cmNlLW1hcHMnLFxuICAgICAgICAgICAgICAgIFdPUktHUk9VUDogdGhpcy53b3JrZ3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICBEQVRBQkFTRTogdGhpcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgVEFCTEU6IHRoaXMuYWNjZXNzTG9nc0J5RGF0ZVRhYmxlLnRhYmxlTmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIGdyYW50IGFjY2VzcyB0byBTMyBidWNrZXQgYW5kIHRvIGV4ZWN1dGUgQXRoZW5hIHF1ZXJpZXMgd2hpY2ggY3JlYXRlIG5ldyBwYXJ0aXRpb25zXG4gICAgICAgIHRoaXMuYnVja2V0LmdyYW50UmVhZFdyaXRlKGxhbWJkYSk7XG4gICAgICAgIGxhbWJkYS5hZGRUb1JvbGVQb2xpY3koXG4gICAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgICAgICdhdGhlbmE6U3RhcnRRdWVyeUV4ZWN1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICdhdGhlbmE6R2V0UXVlcnlFeGVjdXRpb24nLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpDcmVhdGVEYXRhYmFzZScsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkNyZWF0ZVBhcnRpdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkdldERhdGFiYXNlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6R2V0VGFibGUnLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpCYXRjaENyZWF0ZVBhcnRpdGlvbicsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICByZXNvdXJjZXM6IFsnKiddLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbGFtYmRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zZm9ybXMgcGFydGl0aW9ucyBmcm9tIHRoZSBIaXZlIGZvcm1hdCB0byBQYXJxdWV0LlxuICAgICAqIE5vdGUgdGhhdCB3ZSB1c2UgdGhlIGJ1bmRsZWQgQVdTIFNESyBmb3IgTm9kZSB0byBhdm9pZCB0aGUgbmVlZCBmb3IgYSBjdXN0b20gbGF5ZXJcbiAgICAgKiB3aGljaCByZXN0cmljdHMgdGhlIGNvbnN1bWVyIHRvIGEgc3BlY2lmaWMgeWFybiBvciBucG0gdmVyc2lvbi5cbiAgICAgKi9cbiAgICBwcml2YXRlIGNyZWF0ZVRyYW5zZm9ybVBhcnRpdGlvbkxhbWJkYSgpOiBGdW5jdGlvbiB7XG4gICAgICAgIGNvbnN0IGZ1bmN0aW9uTmFtZSA9IGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0tdHJhbnNmb3JtLXBhcnRgO1xuXG4gICAgICAgIGNvbnN0IGxhbWJkYSA9IG5ldyBGdW5jdGlvbih0aGlzLCBmdW5jdGlvbk5hbWUsIHtcbiAgICAgICAgICAgIGZ1bmN0aW9uTmFtZSxcbiAgICAgICAgICAgIGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlLkFSTV82NCxcbiAgICAgICAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzIwX1gsXG4gICAgICAgICAgICBjb2RlOiBDb2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vLi4vZnVuY3Rpb25zL2FjY2Vzcy1sb2dzLWFuYWx5c2lzL3BhcnRpdGlvbmluZy9idWlsZC9hcHAnKSwge1xuICAgICAgICAgICAgICAgIGV4Y2x1ZGU6IFsnY3JlYXRlLXBhcnRpdGlvbionLCAnKi5kLnRzJ11cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygyMCksXG4gICAgICAgICAgICBoYW5kbGVyOiAndHJhbnNmb3JtLXBhcnRpdGlvbi5oYW5kbGVyJyxcbiAgICAgICAgICAgIGxvZ1JldGVudGlvbjogUmV0ZW50aW9uRGF5cy5UV09fV0VFS1MsXG4gICAgICAgICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICAgICAgICAgIEFXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEOiAnMScsXG4gICAgICAgICAgICAgICAgTk9ERV9PUFRJT05TOiAnLS1lbmFibGUtc291cmNlLW1hcHMnLFxuICAgICAgICAgICAgICAgIFdPUktHUk9VUDogdGhpcy53b3JrZ3JvdXAubmFtZSxcbiAgICAgICAgICAgICAgICBEQVRBQkFTRTogdGhpcy5kYXRhYmFzZS5kYXRhYmFzZU5hbWUsXG4gICAgICAgICAgICAgICAgU09VUkNFX1RBQkxFOiB0aGlzLmFjY2Vzc0xvZ3NCeURhdGVUYWJsZS50YWJsZU5hbWUsXG4gICAgICAgICAgICAgICAgVEFSR0VUX1RBQkxFOiB0aGlzLmFjY2Vzc0xvZ3NQYXJxdWV0VGFibGUudGFibGVOYW1lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gZ3JhbnQgYWNjZXNzIHRvIFMzIGJ1Y2tldCBhbmQgdG8gZXhlY3V0ZSBBdGhlbmEgcXVlcmllcyB3aGljaCBjcmVhdGUgbmV3IHBhcnRpdGlvbnNcbiAgICAgICAgdGhpcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUobGFtYmRhKTtcbiAgICAgICAgbGFtYmRhLmFkZFRvUm9sZVBvbGljeShcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICAgIGVmZmVjdDogRWZmZWN0LkFMTE9XLFxuICAgICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgJ2F0aGVuYTpTdGFydFF1ZXJ5RXhlY3V0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ2F0aGVuYTpHZXRRdWVyeUV4ZWN1dGlvbicsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkNyZWF0ZURhdGFiYXNlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6Q3JlYXRlUGFydGl0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6R2V0RGF0YWJhc2UnLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpHZXRUYWJsZScsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkJhdGNoQ3JlYXRlUGFydGl0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6R2V0UGFydGl0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6R2V0UGFydGl0aW9ucycsXG4gICAgICAgICAgICAgICAgICAgICdnbHVlOkNyZWF0ZVRhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2dsdWU6RGVsZXRlVGFibGUnLFxuICAgICAgICAgICAgICAgICAgICAnZ2x1ZTpEZWxldGVQYXJ0aXRpb24nLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGxhbWJkYTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZUNyZWF0ZVBhcnRpdGlvbnNTY2hlZHVsZXIoKTogUnVsZSB7XG4gICAgICAgIGNvbnN0IHJ1bGVOYW1lID0gYCR7dGhpcy5yZXNvdXJjZUlkUHJlZml4fS1jcmVhdGUtcGFydC1zY2hlZGA7XG4gICAgICAgIHJldHVybiBuZXcgUnVsZSh0aGlzLCBydWxlTmFtZSwge1xuICAgICAgICAgICAgcnVsZU5hbWUsXG4gICAgICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUuY3Jvbih7bWludXRlOiAnNTUnfSksXG4gICAgICAgICAgICB0YXJnZXRzOiBbbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMuY3JlYXRlUGFydGl0aW9uTGFtYmRhLCB7cmV0cnlBdHRlbXB0czogMTB9KV0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlVHJhbnNmb3JtUGFydGl0aW9uc1NjaGVkdWxlcihwcm9wczogQWNjZXNzTG9nc0FuYWx5c2lzUHJvcHMpOiBSdWxlIHtcbiAgICAgICAgY29uc3QgcnVsZU5hbWUgPSBgJHt0aGlzLnJlc291cmNlSWRQcmVmaXh9LXRyYW5zZm9ybS1wYXJ0LXNjaGVkYDtcbiAgICAgICAgcmV0dXJuIG5ldyBSdWxlKHRoaXMsIHJ1bGVOYW1lLCB7XG4gICAgICAgICAgICBydWxlTmFtZSxcbiAgICAgICAgICAgIHNjaGVkdWxlOiBTY2hlZHVsZS5jcm9uKHttaW51dGU6ICcxJ30pLFxuICAgICAgICAgICAgdGFyZ2V0czogW1xuICAgICAgICAgICAgICAgIG5ldyBMYW1iZGFGdW5jdGlvbih0aGlzLnRyYW5zZm9ybVBhcnRpdGlvbkxhbWJkYSwge1xuICAgICAgICAgICAgICAgICAgICBldmVudDogdGhpcy5nZXRUcmFuc2Zvcm1QYXJ0aXRpb25JbnZvY2F0aW9uUHJvcHMocHJvcHMpLFxuICAgICAgICAgICAgICAgICAgICByZXRyeUF0dGVtcHRzOiAxMCxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VHJhbnNmb3JtUGFydGl0aW9uSW52b2NhdGlvblByb3BzKHByb3BzOiBBY2Nlc3NMb2dzQW5hbHlzaXNQcm9wcyk6IFJ1bGVUYXJnZXRJbnB1dCB7XG4gICAgICAgIHJldHVybiBSdWxlVGFyZ2V0SW5wdXQuZnJvbU9iamVjdCh7XG4gICAgICAgICAgICBjb2x1bW5OYW1lczogW1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuYWNjZXNzTG9nc1BhcnF1ZXRUYWJsZS5jb2x1bW5zLFxuICAgICAgICAgICAgICAgIC4uLih0aGlzLmFjY2Vzc0xvZ3NQYXJxdWV0VGFibGUucGFydGl0aW9uS2V5cyBhcyBDb2x1bW5bXSksXG4gICAgICAgICAgICBdLm1hcChjb2x1bW4gPT4gY29sdW1uLm5hbWUpLFxuICAgICAgICAgICAgY29sdW1uVHJhbnNmb3JtYXRpb25zOiB0aGlzLmdldENvbHVtblRyYW5zZm9ybWF0aW9uUnVsZXMocHJvcHMpLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBOZWVkcyB0byByZXR1cm4gdGhlIGxvZyBzb3VyY2Ugc3BlY2lmaWMgY29sdW1uIHRyYW5zZm9ybWF0aW9uIHJ1bGVzXG4gICAgICogKGUuZy4gdG8gYW5vbnltaXplIElQIGFkZHJlc3NlcykuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldENvbHVtblRyYW5zZm9ybWF0aW9uUnVsZXMocHJvcHM6IEFjY2Vzc0xvZ3NBbmFseXNpc1Byb3BzKTogQ29sdW1uVHJhbnNmb3JtYXRpb25SdWxlcztcbn1cbiJdfQ==
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
import {Bucket, EventType, NotificationKeyFilter} from 'aws-cdk-lib/aws-s3';
|
|
1
|
+
import {Bucket, EventType, type NotificationKeyFilter} from 'aws-cdk-lib/aws-s3';
|
|
2
2
|
import {Construct} from 'constructs';
|
|
3
3
|
import {CfnWorkGroup} from 'aws-cdk-lib/aws-athena';
|
|
4
4
|
import {CloudFrontAccessLogsByDateTable} from './CloudFrontAccessLogsByDateTable';
|
|
5
5
|
import {AccessLogsParquetTable} from './AccessLogsParquetTable';
|
|
6
6
|
import {Architecture, Code, Function, Runtime} from 'aws-cdk-lib/aws-lambda';
|
|
7
7
|
import {Rule, RuleTargetInput, Schedule} from 'aws-cdk-lib/aws-events';
|
|
8
|
-
import {CfnTag, Duration, Stack} from 'aws-cdk-lib';
|
|
9
|
-
import {Column, Database} from '@aws-cdk/aws-glue-alpha';
|
|
8
|
+
import {type CfnTag, Duration, Stack} from 'aws-cdk-lib';
|
|
9
|
+
import {type Column, Database} from '@aws-cdk/aws-glue-alpha';
|
|
10
10
|
import {S3EventSource} from 'aws-cdk-lib/aws-lambda-event-sources';
|
|
11
11
|
import {RetentionDays} from 'aws-cdk-lib/aws-logs';
|
|
12
12
|
import {Effect, PolicyStatement} from 'aws-cdk-lib/aws-iam';
|
|
13
13
|
import {LambdaFunction} from 'aws-cdk-lib/aws-events-targets';
|
|
14
14
|
import * as path from 'path';
|
|
15
|
-
import {AccessLogsAnalysisProps} from "./AccessLogsAnalysisProps";
|
|
16
|
-
import {ColumnTransformationRules} from "../../functions/access-logs-analysis/partitioning/types";
|
|
15
|
+
import {type AccessLogsAnalysisProps} from "./AccessLogsAnalysisProps";
|
|
16
|
+
import {type ColumnTransformationRules} from "../../functions/access-logs-analysis/partitioning/types";
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Provides the AWS resources to analyze access logs. This construct is derived from the official AWS sample
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Table } from '@aws-cdk/aws-glue-alpha';
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
|
-
import { AccessLogsTableProps } from "./AccessLogsTableProps";
|
|
3
|
+
import { type AccessLogsTableProps } from "./AccessLogsTableProps";
|
|
4
4
|
/**
|
|
5
5
|
* Contains the transformed access logs in Apache Parquet format (which is cheaper to query).
|
|
6
6
|
*/
|
|
@@ -22,4 +22,4 @@ class AccessLogsParquetTable extends aws_glue_alpha_1.Table {
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
exports.AccessLogsParquetTable = AccessLogsParquetTable;
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjZXNzTG9nc1BhcnF1ZXRUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkFjY2Vzc0xvZ3NQYXJxdWV0VGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELDREQUEwRDtBQUkxRDs7R0FFRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQUs7SUFDL0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4Qix3REFBd0Q7WUFDeEQsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztZQUNoQyxPQUFPLEVBQUUsNkNBQXFCLENBQUMsZUFBZSxFQUFFO1lBQ2hELE1BQU0sRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQzlCLFdBQVcsRUFBRSwrREFBK0Q7WUFDNUUsYUFBYSxFQUFFLDZDQUFxQixDQUFDLGdCQUFnQixFQUFFO1lBQ3ZELFVBQVUsRUFBRSwyQkFBVSxDQUFDLE9BQU87WUFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxVQUFVO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWRELHdEQWNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBY2Nlc3NMb2dzVGFibGVDb25maWd9IGZyb20gJy4vQWNjZXNzTG9nc1RhYmxlQ29uZmlnJztcbmltcG9ydCB7RGF0YUZvcm1hdCwgVGFibGV9IGZyb20gJ0Bhd3MtY2RrL2F3cy1nbHVlLWFscGhhJztcbmltcG9ydCB7Q29uc3RydWN0fSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7dHlwZSBBY2Nlc3NMb2dzVGFibGVQcm9wc30gZnJvbSBcIi4vQWNjZXNzTG9nc1RhYmxlUHJvcHNcIjtcblxuLyoqXG4gKiBDb250YWlucyB0aGUgdHJhbnNmb3JtZWQgYWNjZXNzIGxvZ3MgaW4gQXBhY2hlIFBhcnF1ZXQgZm9ybWF0ICh3aGljaCBpcyBjaGVhcGVyIHRvIHF1ZXJ5KS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFjY2Vzc0xvZ3NQYXJxdWV0VGFibGUgZXh0ZW5kcyBUYWJsZSB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBBY2Nlc3NMb2dzVGFibGVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgZGF0YWJhc2U6IHByb3BzLmRhdGFiYXNlLFxuICAgICAgLy8gQXRoZW5hIGRvZXNuJ3Qgc3VwcG9ydCBkYXNoZXMgaW4gZGF0YWJhc2UvdGFibGUgbmFtZXNcbiAgICAgIHRhYmxlTmFtZTogaWQucmVwbGFjZSgvLS9nLCAnXycpLFxuICAgICAgY29sdW1uczogQWNjZXNzTG9nc1RhYmxlQ29uZmlnLmdldFRhYmxlQ29sdW1ucygpLFxuICAgICAgYnVja2V0OiBwcm9wcy5hY2Nlc3NMb2dzQnVja2V0LFxuICAgICAgZGVzY3JpcHRpb246ICdDb250YWlucyB0aGUgYWNjZXNzIGxvZ3MgdHJhbnNmb3JtZWQgdG8gQXBhY2hlIFBhcnF1ZXQgZm9ybWF0JyxcbiAgICAgIHBhcnRpdGlvbktleXM6IEFjY2Vzc0xvZ3NUYWJsZUNvbmZpZy5nZXRQYXJ0aXRpb25LZXlzKCksXG4gICAgICBkYXRhRm9ybWF0OiBEYXRhRm9ybWF0LlBBUlFVRVQsXG4gICAgICBzM1ByZWZpeDogcHJvcHMuZm9sZGVyTmFtZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {AccessLogsTableConfig} from './AccessLogsTableConfig';
|
|
2
2
|
import {DataFormat, Table} from '@aws-cdk/aws-glue-alpha';
|
|
3
3
|
import {Construct} from 'constructs';
|
|
4
|
-
import {AccessLogsTableProps} from "./AccessLogsTableProps";
|
|
4
|
+
import {type AccessLogsTableProps} from "./AccessLogsTableProps";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Contains the transformed access logs in Apache Parquet format (which is cheaper to query).
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Provides the column descriptions for both of the access log tables.
|
|
3
3
|
*/
|
|
4
|
-
import { Column } from '@aws-cdk/aws-glue-alpha';
|
|
4
|
+
import { type Column } from '@aws-cdk/aws-glue-alpha';
|
|
5
5
|
export declare class AccessLogsTableConfig {
|
|
6
6
|
static getPartitionKeys(): Column[];
|
|
7
7
|
static getTableColumns(): Column[];
|
|
@@ -164,4 +164,4 @@ class AccessLogsTableConfig {
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
exports.AccessLogsTableConfig = AccessLogsTableConfig;
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNjZXNzTG9nc1RhYmxlQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiQWNjZXNzTG9nc1RhYmxlQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOztHQUVHO0FBQ0gsNERBQTREO0FBRTVELE1BQWEscUJBQXFCO0lBQ3pCLE1BQU0sQ0FBQyxnQkFBZ0I7UUFDNUIsT0FBTztZQUNMO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSx1QkFBTSxDQUFDLE1BQU07YUFDcEI7WUFDRDtnQkFDRSxJQUFJLEVBQUUsT0FBTztnQkFDYixJQUFJLEVBQUUsdUJBQU0sQ0FBQyxNQUFNO2FBQ3BCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsSUFBSSxFQUFFLHVCQUFNLENBQUMsTUFBTTthQUNwQjtZQUNEO2dCQUNFLElBQUksRUFBRSxNQUFNO2dCQUNaLElBQUksRUFBRSx1QkFBTSxDQUFDLE1BQU07YUFDcEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlO1FBQzNCLE9BQU87WUFDTDtnQkFDRSxJQUFJLEVBQUUsTUFBTTtnQkFDWixJQUFJLEVBQUUsdUJBQU0sQ0FBQyxJQUFJO2FBQ2xCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE1BQU07Z0JBQ1osSUFBSSxFQUFFLHVCQUFNLENBQUMsTUFBTTthQUNwQjtZQUNEO2dCQUNFLElBQUksRUFBRSxVQUFVO2dCQUNoQixJQUFJLEVBQUUsdUJBQU0sQ0FBQyxNQUFNO2FBQ3BCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLHVCQUFNLENBQUMsT0FBTzthQUNyQjtZQUNEO2dCQUNFLElBQUksRUFBRSxZQUFZO2dCQUNsQixJQUFJLEVBQUUsdUJBQU0sQ0FBQyxNQUFNO2FBQ3BCO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLHVCQUFNLENBQUMsTUFBTTthQUNwQjtZQUNE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QyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHJvdmlkZXMgdGhlIGNvbHVtbiBkZXNjcmlwdGlvbnMgZm9yIGJvdGggb2YgdGhlIGFjY2VzcyBsb2cgdGFibGVzLlxuICovXG5pbXBvcnQge3R5cGUgQ29sdW1uLCBTY2hlbWF9IGZyb20gJ0Bhd3MtY2RrL2F3cy1nbHVlLWFscGhhJztcblxuZXhwb3J0IGNsYXNzIEFjY2Vzc0xvZ3NUYWJsZUNvbmZpZyB7XG4gIHB1YmxpYyBzdGF0aWMgZ2V0UGFydGl0aW9uS2V5cygpOiBDb2x1bW5bXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3llYXInLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ21vbnRoJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkYXknLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2hvdXInLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICBdO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXRUYWJsZUNvbHVtbnMoKTogQ29sdW1uW10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdkYXRlJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLkRBVEUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndGltZScsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnbG9jYXRpb24nLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2J5dGVzJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLkJJR19JTlQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmVxdWVzdF9pcCcsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnbWV0aG9kJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdob3N0JyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd1cmknLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N0YXR1cycsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5JTlRFR0VSLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlZmVycmVyJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd1c2VyX2FnZW50JyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdxdWVyeV9zdHJpbmcnLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2Nvb2tpZScsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAncmVzdWx0X3R5cGUnLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3JlcXVlc3RfaWQnLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2hvc3RfaGVhZGVyJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdyZXF1ZXN0X3Byb3RvY29sJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdyZXF1ZXN0X2J5dGVzJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLkJJR19JTlQsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAndGltZV90YWtlbicsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5GTE9BVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd4Zm9yd2FyZGVkX2ZvcicsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc3NsX3Byb3RvY29sJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzc2xfY2lwaGVyJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdyZXNwb25zZV9yZXN1bHRfdHlwZScsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnaHR0cF92ZXJzaW9uJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdmbGVfc3RhdHVzJyxcbiAgICAgICAgdHlwZTogU2NoZW1hLlNUUklORyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdmbGVfZW5jcnlwdGVkX2ZpZWxkcycsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5JTlRFR0VSLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2NfcG9ydCcsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5JTlRFR0VSLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3RpbWVfdG9fZmlyc3RfYnl0ZScsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5GTE9BVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICd4X2VkZ2VfZGV0YWlsZWRfcmVzdWx0X3R5cGUnLFxuICAgICAgICB0eXBlOiBTY2hlbWEuU1RSSU5HLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3NjX2NvbnRlbnRfdHlwZScsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5TVFJJTkcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc2NfY29udGVudF9sZW4nLFxuICAgICAgICB0eXBlOiBTY2hlbWEuQklHX0lOVCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdzY19yYW5nZV9zdGFydCcsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5CSUdfSU5ULFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3NjX3JhbmdlX2VuZCcsXG4gICAgICAgIHR5cGU6IFNjaGVtYS5CSUdfSU5ULFxuICAgICAgfSxcbiAgICBdO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Provides the column descriptions for both of the access log tables.
|
|
3
3
|
*/
|
|
4
|
-
import {Column, Schema} from '@aws-cdk/aws-glue-alpha';
|
|
4
|
+
import {type Column, Schema} from '@aws-cdk/aws-glue-alpha';
|
|
5
5
|
|
|
6
6
|
export class AccessLogsTableConfig {
|
|
7
7
|
public static getPartitionKeys(): Column[] {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Construct } from 'constructs';
|
|
2
|
-
import { AccessLogsAnalysisProps } from "./AccessLogsAnalysisProps";
|
|
3
|
-
import { ColumnTransformationRules } from "../../functions/access-logs-analysis/partitioning/types";
|
|
2
|
+
import { type AccessLogsAnalysisProps } from "./AccessLogsAnalysisProps";
|
|
3
|
+
import { type ColumnTransformationRules } from "../../functions/access-logs-analysis/partitioning/types";
|
|
4
4
|
import { AccessLogsAnalysis } from "./AccessLogsAnalysis";
|
|
5
|
-
import { NotificationKeyFilter } from "aws-cdk-lib/aws-s3";
|
|
5
|
+
import { type NotificationKeyFilter } from "aws-cdk-lib/aws-s3";
|
|
6
6
|
import { CloudFrontAccessLogsByDateTable } from "./CloudFrontAccessLogsByDateTable";
|
|
7
7
|
import { AccessLogsParquetTable } from "./AccessLogsParquetTable";
|
|
8
8
|
interface CloudFrontAccessLogsAnalysisProps extends AccessLogsAnalysisProps {
|
|
@@ -57,4 +57,4 @@ class CloudFrontAccessLogsAnalysis extends AccessLogsAnalysis_1.AccessLogsAnalys
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
exports.CloudFrontAccessLogsAnalysis = CloudFrontAccessLogsAnalysis;
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRGcm9udEFjY2Vzc0xvZ3NBbmFseXNpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkNsb3VkRnJvbnRBY2Nlc3NMb2dzQW5hbHlzaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0EsNkRBQXdEO0FBRXhELHVGQUFrRjtBQUNsRixxRUFBZ0U7QUFNaEU7O0dBRUc7QUFDSCxNQUFhLDRCQUE2QixTQUFRLHVDQUFrQjtJQUVoRSxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXdDO1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxnQkFBZ0I7UUFDMUIsT0FBTyx1Q0FBa0IsQ0FBQyw4QkFBOEIsQ0FBQztJQUM3RCxDQUFDO0lBRVMsMkJBQTJCO1FBQ2pDLE9BQU8sRUFBQyxNQUFNLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxDQUFDO0lBQzFGLENBQUM7SUFFRDs7O09BR0c7SUFDTywwQkFBMEI7UUFDaEMsT0FBTywrRUFBK0UsQ0FBQztJQUMzRixDQUFDO0lBRVMsMkJBQTJCO1FBQ2pDLE9BQU8sSUFBSSxpRUFBK0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLGdCQUFnQixFQUFFO1lBQ3ZGLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNO1lBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixVQUFVLEVBQUUsdUNBQWtCLENBQUMsa0NBQWtDO1NBQ3BFLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFUyw0QkFBNEI7UUFDbEMsT0FBTyxJQUFJLCtDQUFzQixDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0Isb0JBQW9CLEVBQUU7WUFDbEYsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDN0IsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFVBQVUsRUFBRSx1Q0FBa0IsQ0FBQyw4QkFBOEI7U0FDaEUsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ08sNEJBQTRCLENBQUMsS0FBd0M7UUFDM0UsT0FBTztZQUNILFVBQVUsRUFBRSxvREFBb0Q7WUFDaEUsTUFBTSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7Z0JBQzFCLENBQUMsQ0FBQyxzREFBc0QsS0FBSyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDL0UsR0FBRyxDQUNOLG1DQUFtQztnQkFDcEMsQ0FBQyxDQUFDLFNBQVM7U0FDbEIsQ0FBQztJQUNOLENBQUM7Q0FDSjtBQXpERCxvRUF5REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQge3R5cGUgQWNjZXNzTG9nc0FuYWx5c2lzUHJvcHN9IGZyb20gXCIuL0FjY2Vzc0xvZ3NBbmFseXNpc1Byb3BzXCI7XG5pbXBvcnQge3R5cGUgQ29sdW1uVHJhbnNmb3JtYXRpb25SdWxlc30gZnJvbSBcIi4uLy4uL2Z1bmN0aW9ucy9hY2Nlc3MtbG9ncy1hbmFseXNpcy9wYXJ0aXRpb25pbmcvdHlwZXNcIjtcbmltcG9ydCB7QWNjZXNzTG9nc0FuYWx5c2lzfSBmcm9tIFwiLi9BY2Nlc3NMb2dzQW5hbHlzaXNcIjtcbmltcG9ydCB7dHlwZSBOb3RpZmljYXRpb25LZXlGaWx0ZXJ9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7Q2xvdWRGcm9udEFjY2Vzc0xvZ3NCeURhdGVUYWJsZX0gZnJvbSBcIi4vQ2xvdWRGcm9udEFjY2Vzc0xvZ3NCeURhdGVUYWJsZVwiO1xuaW1wb3J0IHtBY2Nlc3NMb2dzUGFycXVldFRhYmxlfSBmcm9tIFwiLi9BY2Nlc3NMb2dzUGFycXVldFRhYmxlXCI7XG5cbmludGVyZmFjZSBDbG91ZEZyb250QWNjZXNzTG9nc0FuYWx5c2lzUHJvcHMgZXh0ZW5kcyBBY2Nlc3NMb2dzQW5hbHlzaXNQcm9wcyB7XG4gICAgcmVhZG9ubHkgYWNjZXNzTG9nQ29va2llcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIHRoZSBBV1MgcmVzb3VyY2VzIHRvIGFuYWx5emUgQ2xvdWRGcm9udCBhY2Nlc3MgbG9ncy5cbiAqL1xuZXhwb3J0IGNsYXNzIENsb3VkRnJvbnRBY2Nlc3NMb2dzQW5hbHlzaXMgZXh0ZW5kcyBBY2Nlc3NMb2dzQW5hbHlzaXMge1xuXG4gICAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENsb3VkRnJvbnRBY2Nlc3NMb2dzQW5hbHlzaXNQcm9wcykge1xuICAgICAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHJhaWxpbmcgc2xhc2ggaXMgYXV0b21hdGljYWxseSBhZGRlZCBieSBDbG91ZEZyb250XG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRMb2dGaWxlUHJlZml4KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBBY2Nlc3NMb2dzQW5hbHlzaXMuQUNDRVNTX0xPR1NfRk9MREVSX1VOUFJPQ0VTU0VEO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXRVbnByb2Nlc3NlZE9iamVjdHNGaWx0ZXIoKTogTm90aWZpY2F0aW9uS2V5RmlsdGVyIHtcbiAgICAgICAgcmV0dXJuIHtwcmVmaXg6IGAke0Nsb3VkRnJvbnRBY2Nlc3NMb2dzQW5hbHlzaXMuZ2V0TG9nRmlsZVByZWZpeCgpfS9gLCBzdWZmaXg6ICcuZ3onfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiA8cD5Gb3JtYXQ6ICd7cHJlZml4L317Y2RuX2lkfS57eWVhcn0te21vbnRofS17ZGF5fS17aG91cn0ue3JhbmRvbV9pZH0uZ3onIChzbGFzaCBhZnRlciBwcmVmaXggYXV0by1hcHBlbmRlZCk8L3A+XG4gICAgICogPHA+RXhhbXBsZTogJ3VucHJvY2Vzc2VkL0UyNERONDFDRFpSTE04LjIwMjItMDctMjAtMTMuZDk0NTQzZDAuZ3onPC9wPlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBnZXRSYXdBY2Nlc3NMb2dGaWxlUGF0dGVybigpOiBSZWdFeHAge1xuICAgICAgICByZXR1cm4gL1tcXHdcXC9dK1xcLig/PHllYXI+XFxkezR9KS0oPzxtb250aD5cXGR7Mn0pLSg/PGRheT5cXGR7Mn0pLSg/PGhvdXI+XFxkezJ9KVxcLlxcdytcXC5nei87XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjY2Vzc0xvZ3NCeURhdGVUYWJsZSgpOiBDbG91ZEZyb250QWNjZXNzTG9nc0J5RGF0ZVRhYmxlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBDbG91ZEZyb250QWNjZXNzTG9nc0J5RGF0ZVRhYmxlKHRoaXMsIGAke3RoaXMucmVzb3VyY2VJZFByZWZpeH0tdGFibGUtYnktZGF0ZWAsIHtcbiAgICAgICAgICAgIGFjY2Vzc0xvZ3NCdWNrZXQ6IHRoaXMuYnVja2V0LFxuICAgICAgICAgICAgZGF0YWJhc2U6IHRoaXMuZGF0YWJhc2UsXG4gICAgICAgICAgICBmb2xkZXJOYW1lOiBBY2Nlc3NMb2dzQW5hbHlzaXMuQUNDRVNTX0xPR1NfRk9MREVSX0dST1VQRURfQllfREFURSxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjY2Vzc0xvZ3NQYXJxdWV0VGFibGUoKTogQWNjZXNzTG9nc1BhcnF1ZXRUYWJsZSB7XG4gICAgICAgIHJldHVybiBuZXcgQWNjZXNzTG9nc1BhcnF1ZXRUYWJsZSh0aGlzLCBgJHt0aGlzLnJlc291cmNlSWRQcmVmaXh9LXRhYmxlLXRyYW5zZm9ybWVkYCwge1xuICAgICAgICAgICAgYWNjZXNzTG9nc0J1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICAgICAgICBkYXRhYmFzZTogdGhpcy5kYXRhYmFzZSxcbiAgICAgICAgICAgIGZvbGRlck5hbWU6IEFjY2Vzc0xvZ3NBbmFseXNpcy5BQ0NFU1NfTE9HU19GT0xERVJfVFJBTlNGT1JNRUQsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgcnVsZXMgdG9cbiAgICAgKiA8dWw+cmVwbGFjZXMgdGhlIGxhc3QgcGFydCBvZiBhbiBJUCBhZGRyZXNzIChJUHY0IGFuZCBJUHY2KTwvdWw+XG4gICAgICogPHVsPm9wdGlvbmFsbHkgcmVtb3ZlIGFsbCBjb29raWVzLCB0aGF0IGFyZSBub3Qgd2hpdGVsaXN0ZWQ8L3VsPlxuICAgICAqIDx1bD5vcHRpb25hbGx5IGRlY29kZSBxdW90ZXMgaW4gY29va2llczwvdWw+XG4gICAgICovXG4gICAgcHJvdGVjdGVkIGdldENvbHVtblRyYW5zZm9ybWF0aW9uUnVsZXMocHJvcHM6IENsb3VkRnJvbnRBY2Nlc3NMb2dzQW5hbHlzaXNQcm9wcyk6IENvbHVtblRyYW5zZm9ybWF0aW9uUnVsZXMge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVxdWVzdF9pcDogXCJyZWdleHBfcmVwbGFjZShyZXF1ZXN0X2lwLCAnKC4qXFxcXC58OikuKicsICckMXh4eCcpXCIsXG4gICAgICAgICAgICBjb29raWU6IHByb3BzLmFjY2Vzc0xvZ0Nvb2tpZXNcbiAgICAgICAgICAgICAgICA/IGByZXBsYWNlKCBhcnJheV9qb2luKCByZWdleHBfZXh0cmFjdF9hbGwoIGNvb2tpZSwgJygke3Byb3BzLmFjY2Vzc0xvZ0Nvb2tpZXMuam9pbihcbiAgICAgICAgICAgICAgICAgICAgJ3wnXG4gICAgICAgICAgICAgICAgKX0pPVteO10rJyApLCAnOycgKSwgJyUyNTIyJywgJ1wiJyApYFxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {Construct} from 'constructs';
|
|
2
|
-
import {AccessLogsAnalysisProps} from "./AccessLogsAnalysisProps";
|
|
3
|
-
import {ColumnTransformationRules} from "../../functions/access-logs-analysis/partitioning/types";
|
|
2
|
+
import {type AccessLogsAnalysisProps} from "./AccessLogsAnalysisProps";
|
|
3
|
+
import {type ColumnTransformationRules} from "../../functions/access-logs-analysis/partitioning/types";
|
|
4
4
|
import {AccessLogsAnalysis} from "./AccessLogsAnalysis";
|
|
5
|
-
import {NotificationKeyFilter} from "aws-cdk-lib/aws-s3";
|
|
5
|
+
import {type NotificationKeyFilter} from "aws-cdk-lib/aws-s3";
|
|
6
6
|
import {CloudFrontAccessLogsByDateTable} from "./CloudFrontAccessLogsByDateTable";
|
|
7
7
|
import {AccessLogsParquetTable} from "./AccessLogsParquetTable";
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Table } from "@aws-cdk/aws-glue-alpha";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
|
-
import { AccessLogsTableProps } from "./AccessLogsTableProps";
|
|
3
|
+
import { type AccessLogsTableProps } from "./AccessLogsTableProps";
|
|
4
4
|
/**
|
|
5
5
|
* Represents the temporary table, containing the access logs of the S3 sub folder hierarchy.
|
|
6
6
|
*/
|
|
@@ -34,4 +34,4 @@ class CloudFrontAccessLogsByDateTable extends aws_glue_alpha_1.Table {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
exports.CloudFrontAccessLogsByDateTable = CloudFrontAccessLogsByDateTable;
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xvdWRGcm9udEFjY2Vzc0xvZ3NCeURhdGVUYWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkNsb3VkRnJvbnRBY2Nlc3NMb2dzQnlEYXRlVGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQThEO0FBQzlELDREQU9pQztBQUtqQzs7R0FFRztBQUNILE1BQWEsK0JBQWdDLFNBQVEsc0JBQUs7SUFDeEQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4Qix3REFBd0Q7WUFDeEQsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQztZQUNoQyxXQUFXLEVBQUUsb0VBQW9FO1lBQ2pGLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLGFBQWEsRUFBRSw2Q0FBcUIsQ0FBQyxnQkFBZ0IsRUFBRTtZQUN2RCxPQUFPLEVBQUUsNkNBQXFCLENBQUMsZUFBZSxFQUFFO1lBQ2hELFVBQVUsRUFBRSxJQUFJLDJCQUFVLENBQUM7Z0JBQ3pCLFlBQVksRUFBRSw2QkFBWSxDQUFDLG9CQUFvQjtnQkFDL0MsV0FBVyxFQUFFLDRCQUFXLENBQUMsSUFBSTtnQkFDN0Isb0JBQW9CLEVBQUUscUNBQW9CLENBQUMsV0FBVztnQkFDdEQsb0JBQW9CLEVBQUUscUNBQW9CLENBQUMsR0FBRzthQUMvQyxDQUFDO1lBQ0YsTUFBTSxFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzFCLHNCQUFzQixFQUFFLElBQUk7U0FDN0IsQ0FBQyxDQUFDO1FBRUgseUVBQXlFO1FBQ3pFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBd0IsQ0FBQztRQUNwRCxRQUFRLENBQUMsbUJBQW1CLENBQUMsb0RBQW9ELEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDeEYsUUFBUSxDQUFDLG1CQUFtQixDQUFDLGlFQUFpRSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3RHLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQywwRUFBMEUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqSCxDQUFDO0NBQ0Y7QUEzQkQsMEVBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBY2Nlc3NMb2dzVGFibGVDb25maWd9IGZyb20gJy4vQWNjZXNzTG9nc1RhYmxlQ29uZmlnJztcbmltcG9ydCB7XG4gIENsYXNzaWZpY2F0aW9uU3RyaW5nLFxuICBEYXRhRm9ybWF0LFxuICBJbnB1dEZvcm1hdCxcbiAgT3V0cHV0Rm9ybWF0LFxuICBTZXJpYWxpemF0aW9uTGlicmFyeSxcbiAgVGFibGVcbn0gZnJvbSBcIkBhd3MtY2RrL2F3cy1nbHVlLWFscGhhXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7Q2ZuVGFibGV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZ2x1ZVwiO1xuaW1wb3J0IHt0eXBlIEFjY2Vzc0xvZ3NUYWJsZVByb3BzfSBmcm9tIFwiLi9BY2Nlc3NMb2dzVGFibGVQcm9wc1wiO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHRlbXBvcmFyeSB0YWJsZSwgY29udGFpbmluZyB0aGUgYWNjZXNzIGxvZ3Mgb2YgdGhlIFMzIHN1YiBmb2xkZXIgaGllcmFyY2h5LlxuICovXG5leHBvcnQgY2xhc3MgQ2xvdWRGcm9udEFjY2Vzc0xvZ3NCeURhdGVUYWJsZSBleHRlbmRzIFRhYmxlIHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFjY2Vzc0xvZ3NUYWJsZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkYXRhYmFzZTogcHJvcHMuZGF0YWJhc2UsXG4gICAgICAvLyBBdGhlbmEgZG9lc24ndCBzdXBwb3J0IGRhc2hlcyBpbiBkYXRhYmFzZS90YWJsZSBuYW1lc1xuICAgICAgdGFibGVOYW1lOiBpZC5yZXBsYWNlKC8tL2csICdfJyksXG4gICAgICBkZXNjcmlwdGlvbjogJ1JlcHJlc2VudHMgdGhlIFMzIGJ1Y2tldCBmb2xkZXIgY29udGFpbmluZyB0aGUgc3ViIGZvbGRlcnMgYnkgZGF0ZScsXG4gICAgICBjb21wcmVzc2VkOiB0cnVlLFxuICAgICAgcGFydGl0aW9uS2V5czogQWNjZXNzTG9nc1RhYmxlQ29uZmlnLmdldFBhcnRpdGlvbktleXMoKSxcbiAgICAgIGNvbHVtbnM6IEFjY2Vzc0xvZ3NUYWJsZUNvbmZpZy5nZXRUYWJsZUNvbHVtbnMoKSxcbiAgICAgIGRhdGFGb3JtYXQ6IG5ldyBEYXRhRm9ybWF0KHtcbiAgICAgICAgb3V0cHV0Rm9ybWF0OiBPdXRwdXRGb3JtYXQuSElWRV9JR05PUkVfS0VZX1RFWFQsXG4gICAgICAgIGlucHV0Rm9ybWF0OiBJbnB1dEZvcm1hdC5URVhULFxuICAgICAgICBzZXJpYWxpemF0aW9uTGlicmFyeTogU2VyaWFsaXphdGlvbkxpYnJhcnkuTEFaWV9TSU1QTEUsXG4gICAgICAgIGNsYXNzaWZpY2F0aW9uU3RyaW5nOiBDbGFzc2lmaWNhdGlvblN0cmluZy5DU1YsXG4gICAgICB9KSxcbiAgICAgIGJ1Y2tldDogcHJvcHMuYWNjZXNzTG9nc0J1Y2tldCxcbiAgICAgIHMzUHJlZml4OiBwcm9wcy5mb2xkZXJOYW1lLFxuICAgICAgc3RvcmVkQXNTdWJEaXJlY3RvcmllczogdHJ1ZSxcbiAgICB9KTtcblxuICAgIC8vIHRoZXNlIHByb3BlcnRpZXMgYXJlIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBWMiBhbHBoYSBjb25zdHJ1Y3RcbiAgICBjb25zdCBjZm5UYWJsZSA9IHRoaXMubm9kZS5kZWZhdWx0Q2hpbGQgYXMgQ2ZuVGFibGU7XG4gICAgY2ZuVGFibGUuYWRkUHJvcGVydHlPdmVycmlkZSgnVGFibGVJbnB1dC5QYXJhbWV0ZXJzLnNraXBcXFxcLmhlYWRlclxcXFwubGluZVxcXFwuY291bnQnLCAnMicpO1xuICAgIGNmblRhYmxlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1RhYmxlSW5wdXQuU3RvcmFnZURlc2NyaXB0b3IuU2VyZGVJbmZvLlBhcmFtZXRlcnMuZmllbGRcXFxcLmRlbGltJywgJ1xcdCcpO1xuICAgIGNmblRhYmxlLmFkZFByb3BlcnR5T3ZlcnJpZGUoJ1RhYmxlSW5wdXQuU3RvcmFnZURlc2NyaXB0b3IuU2VyZGVJbmZvLlBhcmFtZXRlcnMuc2VyaWFsaXphdGlvblxcXFwuZm9ybWF0JywgJ1xcdCcpO1xuICB9XG59XG4iXX0=
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "@aws-cdk/aws-glue-alpha";
|
|
10
10
|
import {Construct} from "constructs";
|
|
11
11
|
import {CfnTable} from "aws-cdk-lib/aws-glue";
|
|
12
|
-
import {AccessLogsTableProps} from "./AccessLogsTableProps";
|
|
12
|
+
import {type AccessLogsTableProps} from "./AccessLogsTableProps";
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Represents the temporary table, containing the access logs of the S3 sub folder hierarchy.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Stack } from 'aws-cdk-lib';
|
|
2
2
|
import { Construct } from 'constructs';
|
|
3
3
|
import { Bucket } from "aws-cdk-lib/aws-s3";
|
|
4
|
-
import { NuxtServerAppStackProps } from "./NuxtServerAppStackProps";
|
|
4
|
+
import { type NuxtServerAppStackProps } from "./NuxtServerAppStackProps";
|
|
5
5
|
/**
|
|
6
6
|
* CDK stack to deploy a dynamic Nuxt app (target=server) on AWS with Lambda, ApiGateway, S3 and CloudFront.
|
|
7
7
|
*/
|