cdk-nextjs 0.1.1 → 0.1.3

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.
@@ -48,11 +48,7 @@ class NextjsAssetsDeployment extends constructs_1.Construct {
48
48
  const root = "/app";
49
49
  const actions = [];
50
50
  if (this.props.staticAssetsBucket?.bucketName) {
51
- actions.push({
52
- type: "fs-to-s3",
53
- sourcePath: (0, posix_1.join)(root, "public"),
54
- destinationBucketName: this.props.staticAssetsBucket.bucketName,
55
- },
51
+ actions.push(
56
52
  // static files
57
53
  {
58
54
  type: "fs-to-s3",
@@ -73,6 +69,12 @@ class NextjsAssetsDeployment extends constructs_1.Construct {
73
69
  type: "fs-to-fs",
74
70
  sourcePath: (0, posix_1.join)(root, ".next", "standalone", this.props.relativePathToWorkspace || "", ".next", "server", "app"),
75
71
  destinationPath: (0, posix_1.join)(this.props.containerMountPathForEfs, common_1.FULL_ROUTE_CACHE_DIR),
72
+ },
73
+ // public dir
74
+ {
75
+ type: "fs-to-fs",
76
+ sourcePath: (0, posix_1.join)(root, "public"),
77
+ destinationPath: (0, posix_1.join)(this.props.containerMountPathForEfs, common_1.PUBLIC_DIR),
76
78
  });
77
79
  const properties = {
78
80
  actions,
@@ -89,5 +91,5 @@ class NextjsAssetsDeployment extends constructs_1.Construct {
89
91
  }
90
92
  exports.NextjsAssetsDeployment = NextjsAssetsDeployment;
91
93
  _a = JSII_RTTI_SYMBOL_1;
92
- NextjsAssetsDeployment[_a] = { fqn: "cdk-nextjs.NextjsAssetsDeployment", version: "0.1.1" };
93
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWFzc2V0cy1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1hc3NldHMtZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNDQUFrQztBQUNsQyw2Q0FBdUQ7QUFHdkQsdURBS2dDO0FBRWhDLDJDQUF1QztBQUN2QyxxQ0FJa0I7QUFzR2xCOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQVVuRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFrQztRQUVsQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksWUFBWSxHQUE2QixTQUFTLENBQUM7UUFDdkQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdDLFlBQVk7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQ2hDLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFVBQVUsRUFBRSx1QkFBVSxDQUFDLGtCQUFrQixDQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FDcEM7WUFDRCxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ25CLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDNUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3QkFBd0I7U0FDbEQsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMvQixFQUFFLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNsQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUM7UUFDcEIsTUFBTSxPQUFPLEdBQXdDLEVBQUUsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLENBQUM7WUFDOUMsT0FBTyxDQUFDLElBQUksQ0FDVjtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsVUFBVSxFQUFFLElBQUEsWUFBSSxFQUFDLElBQUksRUFBRSxRQUFRLENBQUM7Z0JBQ2hDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsVUFBVTthQUNoRTtZQUNELGVBQWU7WUFDZjtnQkFDRSxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsVUFBVSxFQUFFLElBQUEsWUFBSSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDO2dCQUN6QyxxQkFBcUIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFVBQVU7Z0JBQy9ELG9CQUFvQixFQUFFLGNBQWM7YUFDckMsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1Ysd0ZBQXdGO1FBQ3hGO1lBQ0UsSUFBSSxFQUFFLFVBQVU7WUFDaEIsVUFBVSxFQUFFLElBQUEsWUFBSSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQztZQUN2RCxlQUFlLEVBQUUsSUFBQSxZQUFJLEVBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQ25DLHVCQUFjLENBQ2Y7U0FDRjtRQUNELG9HQUFvRztRQUNwRztZQUNFLElBQUksRUFBRSxVQUFVO1lBQ2hCLFVBQVUsRUFBRSxJQUFBLFlBQUksRUFDZCxJQUFJLEVBQ0osT0FBTyxFQUNQLFlBQVksRUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixJQUFJLEVBQUUsRUFDeEMsT0FBTyxFQUNQLFFBQVEsRUFDUixLQUFLLENBQ047WUFDRCxlQUFlLEVBQUUsSUFBQSxZQUFJLEVBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsd0JBQXdCLEVBQ25DLDZCQUFvQixDQUNyQjtTQUNGLENBRUYsQ0FBQztRQUNGLE1BQU0sVUFBVSxHQUE2QjtZQUMzQyxPQUFPO1lBQ1AsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7WUFDN0MsY0FBYyxFQUFFLElBQUEsWUFBSSxFQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLHdCQUF3QixFQUNuQyx3QkFBZSxDQUNoQjtZQUNELHFCQUFxQixFQUFFLElBQUEsWUFBSSxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUseUJBQXlCLENBQUM7U0FDdEUsQ0FBQztRQUNGLE9BQU8sSUFBSSw0QkFBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNoRCxVQUFVO1lBQ1YsWUFBWSxFQUFFLGdDQUFnQztZQUM5QyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVc7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFoSEgsd0RBaUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJwYXRoL3Bvc2l4XCI7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZSwgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IElWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQWNjZXNzUG9pbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVmc1wiO1xuaW1wb3J0IHtcbiAgQXJjaGl0ZWN0dXJlLFxuICBEb2NrZXJJbWFnZUNvZGUsXG4gIERvY2tlckltYWdlRnVuY3Rpb24sXG4gIEZpbGVTeXN0ZW0sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgREFUQV9DQUNIRV9ESVIsXG4gIEZVTExfUk9VVEVfQ0FDSEVfRElSLFxuICBJTUFHRV9DQUNIRV9ESVIsXG59IGZyb20gXCIuL2NvbW1vblwiO1xuaW1wb3J0IHsgT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wc1wiO1xuaW1wb3J0IHsgTmV4dGpzQnVpbGQgfSBmcm9tIFwiLi9uZXh0anMtYnVpbGQvbmV4dGpzLWJ1aWxkXCI7XG5pbXBvcnQgeyBOZXh0anNCYXNlUHJvcHMgfSBmcm9tIFwiLi9yb290LWNvbnN0cnVjdHMvbmV4dGpzLWJhc2UtcHJvcHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXMge1xuICByZWFkb25seSBkb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM/OiBPcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMge1xuICByZWFkb25seSBhY2Nlc3NQb2ludDogQWNjZXNzUG9pbnQ7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5idWlsZEltYWdlRGlnZXN0fVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICAvKipcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWc/OiBib29sZWFuO1xuICByZWFkb25seSBkb2NrZXJJbWFnZUNvZGU6IERvY2tlckltYWdlQ29kZTsgLy8gVE9ETzogcmVtb3ZlIGFuZCBidWlsZCBmcm9tIGNvbW1vbiBidWlsZGVyIGJhc2U/XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5jb250YWluZXJNb3VudFBhdGhGb3JFZnN9XG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJNb3VudFBhdGhGb3JFZnM6IE5leHRqc0J1aWxkW1wiY29udGFpbmVyTW91bnRQYXRoRm9yRWZzXCJdO1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNBc3NldERlcGxveW1lbnRPdmVycmlkZXM7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2V9XG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGZvciBgTmV4dGpzVHlwZS5HbG9iYWxGdW5jdGlvbnNgIGFuZCBgTmV4dGpzVHlwZS5HbG9iYWxDb250YWluZXJzYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzQnVja2V0PzogQnVja2V0O1xuICByZWFkb25seSB2cGM6IElWcGM7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb1MzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1zM1wiO1xuICBkZXN0aW5hdGlvbkJ1Y2tldE5hbWU6IHN0cmluZztcbiAgZGVzdGluYXRpb25LZXlQcmVmaXg/OiBzdHJpbmc7XG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb0ZzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1mc1wiO1xuICBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uUGF0aDogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZVMzQWN0aW9uIHtcbiAgdHlwZTogXCJwcnVuZS1zM1wiO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBjb3VudCB0byBwcnVuZVxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveUNvdW50VG9QcnVuZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBkYXRlIHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0TW9udGgobmV3IERhdGUoKS5nZXRNb250aCgpIC0gMSkpXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveURhdGVUb1BydW5lOiBzdHJpbmc7XG4gIGJ1Y2tldE5hbWU6IHN0cmluZztcbiAgYnVja2V0UHJlZml4Pzogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZUZzQWN0aW9uIHtcbiAgdHlwZTogXCJwcnVuZS1mc1wiO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBjb3VudCB0byBwcnVuZVxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveUNvdW50VG9QcnVuZTogbnVtYmVyO1xuICAvKipcbiAgICogVGhlIG1pbmltdW0gcHJldmlvdXMgZGVwbG95bWVudCBkYXRlIHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IG5ldyBEYXRlKG5ldyBEYXRlKCkuc2V0TW9udGgobmV3IERhdGUoKS5nZXRNb250aCgpIC0gMSkpXG4gICAqL1xuICBtaW5QcmV2aW91c0RlcGxveURhdGVUb1BydW5lOiBzdHJpbmc7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbVJlc291cmNlUHJvcGVydGllcyB7XG4gIGFjdGlvbnM6IChGc1RvUzNBY3Rpb24gfCBGc1RvRnNBY3Rpb24gfCBQcnVuZVMzQWN0aW9uIHwgUHJ1bmVGc0FjdGlvbilbXTtcbiAgLyoqXG4gICAqIHtAbGluayBOZXh0anNBc3NldERlcGxveW1lbnRQcm9wcy5idWlsZGVySW1hZ2VEaWdlc3R9XG4gICAqL1xuICBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIGltYWdlQ2FjaGVQYXRoOiBzdHJpbmc7XG4gIHByZXJlbmRlck1hbmlmZXN0UGF0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERlcGxveXMgc3RhdGljIGFzc2V0cyB0byBTMyBhbmQgY2FjaGUgYXNzZXRzIHRvIEVGUyBpbiBMYW1iZGEgQ3VzdG9tIFJlc291cmNlLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzQXNzZXRzRGVwbG95bWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGN1c3RvbVJlc291cmNlOiBDdXN0b21SZXNvdXJjZTtcbiAgZG9ja2VySW1hZ2VGdW5jdGlvbjogRG9ja2VySW1hZ2VGdW5jdGlvbjtcbiAgLyoqXG4gICAqIE9ubHkgdXNlZCBmb3IgYE5leHRqc0dsb2JhbEZ1bmN0aW9uc2BcbiAgICovXG4gIHByZXZpZXdNb2RlSWQ6IHN0cmluZztcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuZG9ja2VySW1hZ2VGdW5jdGlvbiA9IHRoaXMuY3JlYXRlRnVuY3Rpb24oKTtcbiAgICB0aGlzLmN1c3RvbVJlc291cmNlID0gdGhpcy5jcmVhdGVDdXN0b21SZXNvdXJjZSgpO1xuICAgIHRoaXMucHJldmlld01vZGVJZCA9IHRoaXMuY3VzdG9tUmVzb3VyY2UuZ2V0QXR0U3RyaW5nKFwicHJldmlld01vZGVJZFwiKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnVuY3Rpb24oKSB7XG4gICAgbGV0IGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9jZXNzLmFyY2ggPT09IFwieDY0XCIpIHtcbiAgICAgIGFyY2hpdGVjdHVyZSA9IEFyY2hpdGVjdHVyZS5YODZfNjQ7XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmFyY2ggPT09IFwiYXJtNjRcIikge1xuICAgICAgYXJjaGl0ZWN0dXJlID0gQXJjaGl0ZWN0dXJlLkFSTV82NDtcbiAgICB9XG4gICAgY29uc3QgZm4gPSBuZXcgRG9ja2VySW1hZ2VGdW5jdGlvbih0aGlzLCBcIkZuXCIsIHtcbiAgICAgIGFyY2hpdGVjdHVyZSxcbiAgICAgIGNvZGU6IHRoaXMucHJvcHMuZG9ja2VySW1hZ2VDb2RlLFxuICAgICAgbWVtb3J5U2l6ZTogMjA0OCxcbiAgICAgIGZpbGVzeXN0ZW06IEZpbGVTeXN0ZW0uZnJvbUVmc0FjY2Vzc1BvaW50KFxuICAgICAgICB0aGlzLnByb3BzLmFjY2Vzc1BvaW50LFxuICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICksXG4gICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcyg1KSxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5kb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMsXG4gICAgfSk7XG4gICAgaWYgKHRoaXMucHJvcHMuZGVidWcgIT09IGZhbHNlKSB7XG4gICAgICBmbi5hZGRFbnZpcm9ubWVudChcIkRFQlVHXCIsIFwiMVwiKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0KSB7XG4gICAgICB0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldC5ncmFudFJlYWRXcml0ZShmbik7XG4gICAgfVxuICAgIHJldHVybiBmbjtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ3VzdG9tUmVzb3VyY2UoKSB7XG4gICAgY29uc3Qgcm9vdCA9IFwiL2FwcFwiO1xuICAgIGNvbnN0IGFjdGlvbnM6IEN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcImFjdGlvbnNcIl0gPSBbXTtcbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQ/LmJ1Y2tldE5hbWUpIHtcbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiZnMtdG8tczNcIixcbiAgICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwicHVibGljXCIpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgfSxcbiAgICAgICAgLy8gc3RhdGljIGZpbGVzXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImZzLXRvLXMzXCIsXG4gICAgICAgICAgc291cmNlUGF0aDogam9pbihyb290LCBcIi5uZXh0XCIsIFwic3RhdGljXCIpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbktleVByZWZpeDogXCJfbmV4dC9zdGF0aWNcIixcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICAgIGFjdGlvbnMucHVzaChcbiAgICAgIC8vIGRhdGEgY2FjaGUgLSBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9jYWNoaW5nI2RhdGEtY2FjaGVcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJmcy10by1mc1wiLFxuICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJjYWNoZVwiLCBcImZldGNoLWNhY2hlXCIpLFxuICAgICAgICBkZXN0aW5hdGlvblBhdGg6IGpvaW4oXG4gICAgICAgICAgdGhpcy5wcm9wcy5jb250YWluZXJNb3VudFBhdGhGb3JFZnMsXG4gICAgICAgICAgREFUQV9DQUNIRV9ESVIsXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgLy8gZnVsbCByb3V0ZSBjYWNoZSAtIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2NhY2hpbmcjZnVsbC1yb3V0ZS1jYWNoZVxuICAgICAge1xuICAgICAgICB0eXBlOiBcImZzLXRvLWZzXCIsXG4gICAgICAgIHNvdXJjZVBhdGg6IGpvaW4oXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICBcIi5uZXh0XCIsXG4gICAgICAgICAgXCJzdGFuZGFsb25lXCIsXG4gICAgICAgICAgdGhpcy5wcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSB8fCBcIlwiLFxuICAgICAgICAgIFwiLm5leHRcIixcbiAgICAgICAgICBcInNlcnZlclwiLFxuICAgICAgICAgIFwiYXBwXCIsXG4gICAgICAgICksXG4gICAgICAgIGRlc3RpbmF0aW9uUGF0aDogam9pbihcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICAgICBGVUxMX1JPVVRFX0NBQ0hFX0RJUixcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICAvLyBpbWFnZXMgYXJlIG9wdGltaXplZCBhdCBydW50aW1lIHNvIG5vdGhpbmcgdG8gZGVwbG95XG4gICAgKTtcbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBDdXN0b21SZXNvdXJjZVByb3BlcnRpZXMgPSB7XG4gICAgICBhY3Rpb25zLFxuICAgICAgYnVpbGRJbWFnZURpZ2VzdDogdGhpcy5wcm9wcy5idWlsZEltYWdlRGlnZXN0LFxuICAgICAgaW1hZ2VDYWNoZVBhdGg6IGpvaW4oXG4gICAgICAgIHRoaXMucHJvcHMuY29udGFpbmVyTW91bnRQYXRoRm9yRWZzLFxuICAgICAgICBJTUFHRV9DQUNIRV9ESVIsXG4gICAgICApLFxuICAgICAgcHJlcmVuZGVyTWFuaWZlc3RQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJwcmVyZW5kZXItbWFuaWZlc3QuanNvblwiKSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJDdXN0b21SZXNvdXJjZVwiLCB7XG4gICAgICBwcm9wZXJ0aWVzLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6TmV4dGpzQXNzZXRzRGVwbG95bWVudFwiLFxuICAgICAgc2VydmljZVRva2VuOiB0aGlzLmRvY2tlckltYWdlRnVuY3Rpb24uZnVuY3Rpb25Bcm4sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
94
+ NextjsAssetsDeployment[_a] = { fqn: "cdk-nextjs.NextjsAssetsDeployment", version: "0.1.3" };
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWFzc2V0cy1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1hc3NldHMtZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNDQUFrQztBQUNsQyw2Q0FBdUQ7QUFHdkQsdURBS2dDO0FBRWhDLDJDQUF1QztBQUN2QyxxQ0FLa0I7QUFzR2xCOztHQUVHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBUztJQVVuRCxZQUNFLEtBQWdCLEVBQ2hCLEVBQVUsRUFDVixLQUFrQztRQUVsQyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksWUFBWSxHQUE2QixTQUFTLENBQUM7UUFDdkQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdDLFlBQVk7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQ2hDLFVBQVUs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QixFQUFFO1lBQ2hELFVBQVU7WUFDVixZQUFZLEVBQUUsZ0NBQWdDO1lBQzlDLFlBQVksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVztTQUNuRCxDQUFDLENBQUM7SUFDTCxDQUFDOztBQWpISCx3REFrSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBBY2Nlc3NQb2ludCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWZzXCI7XG5pbXBvcnQge1xuICBBcmNoaXRlY3R1cmUsXG4gIERvY2tlckltYWdlQ29kZSxcbiAgRG9ja2VySW1hZ2VGdW5jdGlvbixcbiAgRmlsZVN5c3RlbSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IEJ1Y2tldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBEQVRBX0NBQ0hFX0RJUixcbiAgRlVMTF9ST1VURV9DQUNIRV9ESVIsXG4gIElNQUdFX0NBQ0hFX0RJUixcbiAgUFVCTElDX0RJUixcbn0gZnJvbSBcIi4vY29tbW9uXCI7XG5pbXBvcnQgeyBPcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wcyB9IGZyb20gXCIuL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzXCI7XG5pbXBvcnQgeyBOZXh0anNCdWlsZCB9IGZyb20gXCIuL25leHRqcy1idWlsZC9uZXh0anMtYnVpbGRcIjtcbmltcG9ydCB7IE5leHRqc0Jhc2VQcm9wcyB9IGZyb20gXCIuL3Jvb3QtY29uc3RydWN0cy9uZXh0anMtYmFzZS1wcm9wc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0Fzc2V0RGVwbG95bWVudE92ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IGRvY2tlckltYWdlRnVuY3Rpb25Qcm9wcz86IE9wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcyB7XG4gIHJlYWRvbmx5IGFjY2Vzc1BvaW50OiBBY2Nlc3NQb2ludDtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0J1aWxkLmJ1aWxkSW1hZ2VEaWdlc3R9XG4gICAqL1xuICByZWFkb25seSBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkZWJ1Zz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRvY2tlckltYWdlQ29kZTogRG9ja2VySW1hZ2VDb2RlOyAvLyBUT0RPOiByZW1vdmUgYW5kIGJ1aWxkIGZyb20gY29tbW9uIGJ1aWxkZXIgYmFzZT9cbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0J1aWxkLmNvbnRhaW5lck1vdW50UGF0aEZvckVmc31cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lck1vdW50UGF0aEZvckVmczogTmV4dGpzQnVpbGRbXCJjb250YWluZXJNb3VudFBhdGhGb3JFZnNcIl07XG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc0Fzc2V0RGVwbG95bWVudE92ZXJyaWRlcztcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0Jhc2VQcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZX1cbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlPzogc3RyaW5nO1xuICAvKipcbiAgICogUmVxdWlyZWQgZm9yIGBOZXh0anNUeXBlLkdsb2JhbEZ1bmN0aW9uc2AgYW5kIGBOZXh0anNUeXBlLkdsb2JhbENvbnRhaW5lcnNgXG4gICAqL1xuICByZWFkb25seSBzdGF0aWNBc3NldHNCdWNrZXQ/OiBCdWNrZXQ7XG4gIHJlYWRvbmx5IHZwYzogSVZwYztcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGc1RvUzNBY3Rpb24ge1xuICB0eXBlOiBcImZzLXRvLXMzXCI7XG4gIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogc3RyaW5nO1xuICBkZXN0aW5hdGlvbktleVByZWZpeD86IHN0cmluZztcbiAgc291cmNlUGF0aDogc3RyaW5nO1xufVxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGc1RvRnNBY3Rpb24ge1xuICB0eXBlOiBcImZzLXRvLWZzXCI7XG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbiAgZGVzdGluYXRpb25QYXRoOiBzdHJpbmc7XG59XG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBydW5lUzNBY3Rpb24ge1xuICB0eXBlOiBcInBydW5lLXMzXCI7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwcmV2aW91cyBkZXBsb3ltZW50IGNvdW50IHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIG1pblByZXZpb3VzRGVwbG95Q291bnRUb1BydW5lOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwcmV2aW91cyBkZXBsb3ltZW50IGRhdGUgdG8gcHJ1bmVcbiAgICogQGRlZmF1bHQgbmV3IERhdGUobmV3IERhdGUoKS5zZXRNb250aChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgLSAxKSlcbiAgICovXG4gIG1pblByZXZpb3VzRGVwbG95RGF0ZVRvUHJ1bmU6IHN0cmluZztcbiAgYnVja2V0TmFtZTogc3RyaW5nO1xuICBidWNrZXRQcmVmaXg/OiBzdHJpbmc7XG59XG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBydW5lRnNBY3Rpb24ge1xuICB0eXBlOiBcInBydW5lLWZzXCI7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwcmV2aW91cyBkZXBsb3ltZW50IGNvdW50IHRvIHBydW5lXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIG1pblByZXZpb3VzRGVwbG95Q291bnRUb1BydW5lOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBwcmV2aW91cyBkZXBsb3ltZW50IGRhdGUgdG8gcHJ1bmVcbiAgICogQGRlZmF1bHQgbmV3IERhdGUobmV3IERhdGUoKS5zZXRNb250aChuZXcgRGF0ZSgpLmdldE1vbnRoKCkgLSAxKSlcbiAgICovXG4gIG1pblByZXZpb3VzRGVwbG95RGF0ZVRvUHJ1bmU6IHN0cmluZztcbiAgZGlyZWN0b3J5OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzIHtcbiAgYWN0aW9uczogKEZzVG9TM0FjdGlvbiB8IEZzVG9Gc0FjdGlvbiB8IFBydW5lUzNBY3Rpb24gfCBQcnVuZUZzQWN0aW9uKVtdO1xuICAvKipcbiAgICoge0BsaW5rIE5leHRqc0Fzc2V0RGVwbG95bWVudFByb3BzLmJ1aWxkZXJJbWFnZURpZ2VzdH1cbiAgICovXG4gIGJ1aWxkSW1hZ2VEaWdlc3Q6IHN0cmluZztcbiAgaW1hZ2VDYWNoZVBhdGg6IHN0cmluZztcbiAgcHJlcmVuZGVyTWFuaWZlc3RQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGVwbG95cyBzdGF0aWMgYXNzZXRzIHRvIFMzIGFuZCBjYWNoZSBhc3NldHMgdG8gRUZTIGluIExhbWJkYSBDdXN0b20gUmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNBc3NldHNEZXBsb3ltZW50IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY3VzdG9tUmVzb3VyY2U6IEN1c3RvbVJlc291cmNlO1xuICBkb2NrZXJJbWFnZUZ1bmN0aW9uOiBEb2NrZXJJbWFnZUZ1bmN0aW9uO1xuICAvKipcbiAgICogT25seSB1c2VkIGZvciBgTmV4dGpzR2xvYmFsRnVuY3Rpb25zYFxuICAgKi9cbiAgcHJldmlld01vZGVJZDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcHJvcHM6IE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5kb2NrZXJJbWFnZUZ1bmN0aW9uID0gdGhpcy5jcmVhdGVGdW5jdGlvbigpO1xuICAgIHRoaXMuY3VzdG9tUmVzb3VyY2UgPSB0aGlzLmNyZWF0ZUN1c3RvbVJlc291cmNlKCk7XG4gICAgdGhpcy5wcmV2aWV3TW9kZUlkID0gdGhpcy5jdXN0b21SZXNvdXJjZS5nZXRBdHRTdHJpbmcoXCJwcmV2aWV3TW9kZUlkXCIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGdW5jdGlvbigpIHtcbiAgICBsZXQgYXJjaGl0ZWN0dXJlOiBBcmNoaXRlY3R1cmUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHByb2Nlc3MuYXJjaCA9PT0gXCJ4NjRcIikge1xuICAgICAgYXJjaGl0ZWN0dXJlID0gQXJjaGl0ZWN0dXJlLlg4Nl82NDtcbiAgICB9IGVsc2UgaWYgKHByb2Nlc3MuYXJjaCA9PT0gXCJhcm02NFwiKSB7XG4gICAgICBhcmNoaXRlY3R1cmUgPSBBcmNoaXRlY3R1cmUuQVJNXzY0O1xuICAgIH1cbiAgICBjb25zdCBmbiA9IG5ldyBEb2NrZXJJbWFnZUZ1bmN0aW9uKHRoaXMsIFwiRm5cIiwge1xuICAgICAgYXJjaGl0ZWN0dXJlLFxuICAgICAgY29kZTogdGhpcy5wcm9wcy5kb2NrZXJJbWFnZUNvZGUsXG4gICAgICBtZW1vcnlTaXplOiAyMDQ4LFxuICAgICAgZmlsZXN5c3RlbTogRmlsZVN5c3RlbS5mcm9tRWZzQWNjZXNzUG9pbnQoXG4gICAgICAgIHRoaXMucHJvcHMuYWNjZXNzUG9pbnQsXG4gICAgICAgIHRoaXMucHJvcHMuY29udGFpbmVyTW91bnRQYXRoRm9yRWZzLFxuICAgICAgKSxcbiAgICAgIHZwYzogdGhpcy5wcm9wcy52cGMsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmRvY2tlckltYWdlRnVuY3Rpb25Qcm9wcyxcbiAgICB9KTtcbiAgICBpZiAodGhpcy5wcm9wcy5kZWJ1ZyAhPT0gZmFsc2UpIHtcbiAgICAgIGZuLmFkZEVudmlyb25tZW50KFwiREVCVUdcIiwgXCIxXCIpO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQpIHtcbiAgICAgIHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0LmdyYW50UmVhZFdyaXRlKGZuKTtcbiAgICB9XG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDdXN0b21SZXNvdXJjZSgpIHtcbiAgICBjb25zdCByb290ID0gXCIvYXBwXCI7XG4gICAgY29uc3QgYWN0aW9uczogQ3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzW1wiYWN0aW9uc1wiXSA9IFtdO1xuICAgIGlmICh0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldD8uYnVja2V0TmFtZSkge1xuICAgICAgYWN0aW9ucy5wdXNoKFxuICAgICAgICAvLyBzdGF0aWMgZmlsZXNcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiZnMtdG8tczNcIixcbiAgICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwiLm5leHRcIiwgXCJzdGF0aWNcIiksXG4gICAgICAgICAgZGVzdGluYXRpb25CdWNrZXROYW1lOiB0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgIGRlc3RpbmF0aW9uS2V5UHJlZml4OiBcIl9uZXh0L3N0YXRpY1wiLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gICAgYWN0aW9ucy5wdXNoKFxuICAgICAgLy8gZGF0YSBjYWNoZSAtIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2NhY2hpbmcjZGF0YS1jYWNoZVxuICAgICAge1xuICAgICAgICB0eXBlOiBcImZzLXRvLWZzXCIsXG4gICAgICAgIHNvdXJjZVBhdGg6IGpvaW4ocm9vdCwgXCIubmV4dFwiLCBcImNhY2hlXCIsIFwiZmV0Y2gtY2FjaGVcIiksXG4gICAgICAgIGRlc3RpbmF0aW9uUGF0aDogam9pbihcbiAgICAgICAgICB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICAgICBEQVRBX0NBQ0hFX0RJUixcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICAvLyBmdWxsIHJvdXRlIGNhY2hlIC0gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vY2FjaGluZyNmdWxsLXJvdXRlLWNhY2hlXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFwiZnMtdG8tZnNcIixcbiAgICAgICAgc291cmNlUGF0aDogam9pbihcbiAgICAgICAgICByb290LFxuICAgICAgICAgIFwiLm5leHRcIixcbiAgICAgICAgICBcInN0YW5kYWxvbmVcIixcbiAgICAgICAgICB0aGlzLnByb3BzLnJlbGF0aXZlUGF0aFRvV29ya3NwYWNlIHx8IFwiXCIsXG4gICAgICAgICAgXCIubmV4dFwiLFxuICAgICAgICAgIFwic2VydmVyXCIsXG4gICAgICAgICAgXCJhcHBcIixcbiAgICAgICAgKSxcbiAgICAgICAgZGVzdGluYXRpb25QYXRoOiBqb2luKFxuICAgICAgICAgIHRoaXMucHJvcHMuY29udGFpbmVyTW91bnRQYXRoRm9yRWZzLFxuICAgICAgICAgIEZVTExfUk9VVEVfQ0FDSEVfRElSLFxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIC8vIHB1YmxpYyBkaXJcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJmcy10by1mc1wiLFxuICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFwicHVibGljXCIpLFxuICAgICAgICBkZXN0aW5hdGlvblBhdGg6IGpvaW4odGhpcy5wcm9wcy5jb250YWluZXJNb3VudFBhdGhGb3JFZnMsIFBVQkxJQ19ESVIpLFxuICAgICAgfSxcbiAgICAgIC8vIGltYWdlcyBhcmUgb3B0aW1pemVkIGF0IHJ1bnRpbWUgc28gbm90aGluZyB0byBkZXBsb3lcbiAgICApO1xuICAgIGNvbnN0IHByb3BlcnRpZXM6IEN1c3RvbVJlc291cmNlUHJvcGVydGllcyA9IHtcbiAgICAgIGFjdGlvbnMsXG4gICAgICBidWlsZEltYWdlRGlnZXN0OiB0aGlzLnByb3BzLmJ1aWxkSW1hZ2VEaWdlc3QsXG4gICAgICBpbWFnZUNhY2hlUGF0aDogam9pbihcbiAgICAgICAgdGhpcy5wcm9wcy5jb250YWluZXJNb3VudFBhdGhGb3JFZnMsXG4gICAgICAgIElNQUdFX0NBQ0hFX0RJUixcbiAgICAgICksXG4gICAgICBwcmVyZW5kZXJNYW5pZmVzdFBhdGg6IGpvaW4ocm9vdCwgXCIubmV4dFwiLCBcInByZXJlbmRlci1tYW5pZmVzdC5qc29uXCIpLFxuICAgIH07XG4gICAgcmV0dXJuIG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCBcIkN1c3RvbVJlc291cmNlXCIsIHtcbiAgICAgIHByb3BlcnRpZXMsXG4gICAgICByZXNvdXJjZVR5cGU6IFwiQ3VzdG9tOjpOZXh0anNBc3NldHNEZXBsb3ltZW50XCIsXG4gICAgICBzZXJ2aWNlVG9rZW46IHRoaXMuZG9ja2VySW1hZ2VGdW5jdGlvbi5mdW5jdGlvbkFybixcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -6,15 +6,15 @@ RUN apk add --no-cache libc6-compat
6
6
  WORKDIR /app
7
7
  # It's preferrable to only copy package.json's and lockfiles, install, and then
8
8
  # copy the rest of the code to efficiently utilize build cache. We don't do that
9
- #$ here because it's highly customized based on a projects setup. We recommend
10
- # developers use `overrides.nextjsXX.nextjsBuildProps.builderImageProps.srcDockerfilePath`
9
+ # here because it's highly customized based on a projects setup. We recommend
10
+ # developers use `overrides.nextjs[GlobalFunctions].nextjsBuildProps.builderImageProps.srcDockerfilePath`
11
11
  # to optimize for their setup.
12
12
  COPY . .
13
13
  # Install dependencies based on the preferred package manager
14
14
  RUN \
15
15
  if [ -f yarn.lock ]; then yarn --frozen-lockfile; \
16
16
  elif [ -f package-lock.json ]; then npm ci; \
17
- elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm i --frozen-lockfile; \
17
+ elif [ -f pnpm-lock.yaml ]; then npm i -g corepack@latest && corepack enable pnpm && pnpm i --frozen-lockfile; \
18
18
  else echo "Lockfile not found." && exit 1; \
19
19
  fi
20
20
  ARG BUILD_COMMAND
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ /*
4
+ This file is compiled as defined in .projenrc.ts to be used as Next.js
5
+ Custom Cache Handler. See: https://nextjs.org/docs/app/api-reference/next-config-js/incrementalCacheHandlerPath
6
+ */
3
7
  // eslint-disable-next-line import/no-extraneous-dependencies
4
8
  const client_sqs_1 = require("@aws-sdk/client-sqs");
5
9
  // eslint-disable-next-line import/no-extraneous-dependencies
@@ -19,4 +23,4 @@ class CacheHandler extends file_system_cache_1.default {
19
23
  }
20
24
  }
21
25
  exports.default = CacheHandler;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0anMtYnVpbGQvY2FjaGUtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZEQUE2RDtBQUM3RCxvREFBb0U7QUFDcEUsNkRBQTZEO0FBQzdELGdHQUF1RjtBQUl2RixNQUFNLFNBQVMsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztBQUVsQyxNQUFxQixZQUFhLFNBQVEsMkJBQWU7SUFDdkQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFXO1FBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QixNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQ2xCLElBQUksK0JBQWtCLENBQUM7WUFDckIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CO1lBQzFDLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLHlDQUF5QztTQUMxQyxDQUFDLENBQ0gsQ0FBQztRQUNGLG1EQUFtRDtRQUNuRCxPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBZEQsK0JBY0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgeyBTUVNDbGllbnQsIFNlbmRNZXNzYWdlQ29tbWFuZCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtc3FzXCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgRmlsZVN5c3RlbUNhY2hlIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi9pbmNyZW1lbnRhbC1jYWNoZS9maWxlLXN5c3RlbS1jYWNoZVwiO1xuXG50eXBlIFJldmFsaWRhdGVUYWdSZXNwb25zZSA9IFJldHVyblR5cGU8RmlsZVN5c3RlbUNhY2hlW1wicmV2YWxpZGF0ZVRhZ1wiXT47XG5cbmNvbnN0IHNxc0NsaWVudCA9IG5ldyBTUVNDbGllbnQoKTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2FjaGVIYW5kbGVyIGV4dGVuZHMgRmlsZVN5c3RlbUNhY2hlIHtcbiAgYXN5bmMgcmV2YWxpZGF0ZVRhZyh0YWc6IHN0cmluZyk6IFJldmFsaWRhdGVUYWdSZXNwb25zZSB7XG4gICAgY29uc29sZS5sb2coeyB0YWcgfSk7XG4gICAgY29uc29sZS5sb2coeyB0aGlzOiB0aGlzIH0pO1xuICAgIGF3YWl0IHNxc0NsaWVudC5zZW5kKFxuICAgICAgbmV3IFNlbmRNZXNzYWdlQ29tbWFuZCh7XG4gICAgICAgIFF1ZXVlVXJsOiBwcm9jZXNzLmVudi5DREtfTkVYVEpTX1FVRVVFX1VSTCxcbiAgICAgICAgTWVzc2FnZUJvZHk6IHRhZyxcbiAgICAgICAgLy8gTWVzc2FnZUdyb3VwSWQ6IFwiXCIsIC8vIGRvIGkgbmVlZCB0aGlzP1xuICAgICAgfSksXG4gICAgKTtcbiAgICAvLyBwdXQgbWVzc2FnZSBpbiBzcXMgcXVldWUgaWYgZm9yIGZ1bGwgcm91dGUgY2FjaGVcbiAgICByZXR1cm4gc3VwZXIucmV2YWxpZGF0ZVRhZyh0YWcpO1xuICB9XG59XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0anMtYnVpbGQvY2FjaGUtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOzs7RUFHRTtBQUNGLDZEQUE2RDtBQUM3RCxvREFBb0U7QUFDcEUsNkRBQTZEO0FBQzdELGdHQUF1RjtBQUl2RixNQUFNLFNBQVMsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztBQUVsQyxNQUFxQixZQUFhLFNBQVEsMkJBQWU7SUFDdkQsS0FBSyxDQUFDLGFBQWEsQ0FBQyxHQUFXO1FBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QixNQUFNLFNBQVMsQ0FBQyxJQUFJLENBQ2xCLElBQUksK0JBQWtCLENBQUM7WUFDckIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CO1lBQzFDLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLHlDQUF5QztTQUMxQyxDQUFDLENBQ0gsQ0FBQztRQUNGLG1EQUFtRDtRQUNuRCxPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGO0FBZEQsK0JBY0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBUaGlzIGZpbGUgaXMgY29tcGlsZWQgYXMgZGVmaW5lZCBpbiAucHJvamVucmMudHMgdG8gYmUgdXNlZCBhcyBOZXh0LmpzXG4gIEN1c3RvbSBDYWNoZSBIYW5kbGVyLiBTZWU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9hcGktcmVmZXJlbmNlL25leHQtY29uZmlnLWpzL2luY3JlbWVudGFsQ2FjaGVIYW5kbGVyUGF0aFxuKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCB7IFNRU0NsaWVudCwgU2VuZE1lc3NhZ2VDb21tYW5kIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zcXNcIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbmltcG9ydCBGaWxlU3lzdGVtQ2FjaGUgZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvbGliL2luY3JlbWVudGFsLWNhY2hlL2ZpbGUtc3lzdGVtLWNhY2hlXCI7XG5cbnR5cGUgUmV2YWxpZGF0ZVRhZ1Jlc3BvbnNlID0gUmV0dXJuVHlwZTxGaWxlU3lzdGVtQ2FjaGVbXCJyZXZhbGlkYXRlVGFnXCJdPjtcblxuY29uc3Qgc3FzQ2xpZW50ID0gbmV3IFNRU0NsaWVudCgpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDYWNoZUhhbmRsZXIgZXh0ZW5kcyBGaWxlU3lzdGVtQ2FjaGUge1xuICBhc3luYyByZXZhbGlkYXRlVGFnKHRhZzogc3RyaW5nKTogUmV2YWxpZGF0ZVRhZ1Jlc3BvbnNlIHtcbiAgICBjb25zb2xlLmxvZyh7IHRhZyB9KTtcbiAgICBjb25zb2xlLmxvZyh7IHRoaXM6IHRoaXMgfSk7XG4gICAgYXdhaXQgc3FzQ2xpZW50LnNlbmQoXG4gICAgICBuZXcgU2VuZE1lc3NhZ2VDb21tYW5kKHtcbiAgICAgICAgUXVldWVVcmw6IHByb2Nlc3MuZW52LkNES19ORVhUSlNfUVVFVUVfVVJMLFxuICAgICAgICBNZXNzYWdlQm9keTogdGFnLFxuICAgICAgICAvLyBNZXNzYWdlR3JvdXBJZDogXCJcIiwgLy8gZG8gaSBuZWVkIHRoaXM/XG4gICAgICB9KSxcbiAgICApO1xuICAgIC8vIHB1dCBtZXNzYWdlIGluIHNxcyBxdWV1ZSBpZiBmb3IgZnVsbCByb3V0ZSBjYWNoZVxuICAgIHJldHVybiBzdXBlci5yZXZhbGlkYXRlVGFnKHRhZyk7XG4gIH1cbn1cbiJdfQ==
@@ -15,23 +15,24 @@ RUN addgroup --system --gid 1001 nodejs
15
15
  RUN adduser --system --uid 1001 nextjs
16
16
 
17
17
  ARG RELATIVE_PATH_TO_WORKSPACE
18
- # even though public is served through cloudfront, we need public for image optimization
19
- COPY --from=builder --chown=nextjs:nodejs /app/$RELATIVE_PATH_TO_WORKSPACE/public ./$RELATIVE_PATH_TO_WORKSPACE/public
20
18
  COPY --from=builder --chown=nextjs:nodejs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/standalone ./
21
- COPY --chown=nextjs:nodejs ./symlink-full-route-cache.mjs ./
19
+ COPY --chown=nextjs:nodejs ./symlink.mjs ./
22
20
  ARG MOUNT_PATH
23
21
  ARG DATA_CACHE_DIR
24
22
  ARG FULL_ROUTE_CACHE_DIR
25
23
  ARG IMAGE_CACHE_DIR
24
+ ARG PUBLIC_DIR
26
25
  RUN mkdir -p $MOUNT_PATH/$DATA_CACHE_DIR && \
27
26
  mkdir -p $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR && \
28
27
  mkdir -p $MOUNT_PATH/$IMAGE_CACHE_DIR && \
28
+ mkdir -p $MOUNT_PATH/$PUBLIC_DIR && \
29
29
  chmod -R u+rw $MOUNT_PATH && \
30
30
  mkdir -p ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache && \
31
31
  ln -s $MOUNT_PATH/$DATA_CACHE_DIR ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache/fetch-cache && \
32
32
  ln -s $MOUNT_PATH/$IMAGE_CACHE_DIR ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache/images && \
33
- node symlink-full-route-cache.mjs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/server/app $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR && \
34
- rm symlink-full-route-cache.mjs
33
+ ln -s $MOUNT_PATH/$PUBLIC_DIR ./$RELATIVE_PATH_TO_WORKSPACE/public && \
34
+ node symlink.mjs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/server/app $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR "html,rsc,meta" && \
35
+ rm -r symlink.mjs
35
36
 
36
37
  USER nextjs
37
38
 
@@ -17,25 +17,26 @@ RUN addgroup --system --gid 1001 nodejs
17
17
  RUN adduser --system --uid 1001 nextjs
18
18
 
19
19
  ARG RELATIVE_PATH_TO_WORKSPACE
20
- # even though public is served through cloudfront, we need public for image optimization
21
- COPY --from=builder --chown=nextjs:nodejs /app/$RELATIVE_PATH_TO_WORKSPACE/public ./$RELATIVE_PATH_TO_WORKSPACE/public
22
20
  COPY --from=builder --chown=nextjs:nodejs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/standalone ./
23
- COPY --chown=nextjs:nodejs ./add-cache-handler.mjs ./cache-handler.cjs ./symlink-full-route-cache.mjs ./
21
+ COPY --chown=nextjs:nodejs ./add-cache-handler.mjs ./cache-handler.cjs ./symlink.mjs ./
24
22
  ARG MOUNT_PATH
25
23
  ARG DATA_CACHE_DIR
26
24
  ARG FULL_ROUTE_CACHE_DIR
27
25
  ARG IMAGE_CACHE_DIR
26
+ ARG PUBLIC_DIR
28
27
  RUN node add-cache-handler.mjs ./$RELATIVE_PATH_TO_WORKSPACE/.next/required-server-files.json && \
29
28
  rm add-cache-handler.mjs && \
30
29
  mkdir -p $MOUNT_PATH/$DATA_CACHE_DIR && \
31
30
  mkdir -p $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR && \
32
31
  mkdir -p $MOUNT_PATH/$IMAGE_CACHE_DIR && \
32
+ mkdir -p $MOUNT_PATH/$PUBLIC_DIR && \
33
33
  chmod -R u+rw $MOUNT_PATH && \
34
34
  mkdir -p ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache && \
35
35
  ln -s $MOUNT_PATH/$DATA_CACHE_DIR ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache/fetch-cache && \
36
36
  ln -s $MOUNT_PATH/$IMAGE_CACHE_DIR ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache/images && \
37
- node symlink-full-route-cache.mjs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/server/app $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR && \
38
- rm symlink-full-route-cache.mjs
37
+ ln -s $MOUNT_PATH/$PUBLIC_DIR ./$RELATIVE_PATH_TO_WORKSPACE/public && \
38
+ node symlink.mjs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/server/app $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR "html,rsc,meta" && \
39
+ rm -r symlink.mjs
39
40
 
40
41
  USER nextjs
41
42
 
@@ -93,7 +93,9 @@ export declare class NextjsBuild extends Construct {
93
93
  * Mount path in container for EFS. Next.js image optimization, data, and full
94
94
  * route cache will be symlinked to this location.
95
95
  *
96
- * Must comply with pattern: ^/mnt/[a-zA-Z0-9-_.]+$
96
+ * Must comply with pattern: ^/mnt/[a-zA-Z0-9-_.]+$ due to lambda requirement.
97
+ * Fargate doesn't have this same requirement but we share code for lambda and
98
+ * fargate.
97
99
  * @see https://docs.aws.amazon.com/lambda/latest/api/API_FileSystemConfig.html
98
100
  */
99
101
  containerMountPathForEfs: string;
@@ -23,10 +23,12 @@ class NextjsBuild extends constructs_1.Construct {
23
23
  * Mount path in container for EFS. Next.js image optimization, data, and full
24
24
  * route cache will be symlinked to this location.
25
25
  *
26
- * Must comply with pattern: ^/mnt/[a-zA-Z0-9-_.]+$
26
+ * Must comply with pattern: ^/mnt/[a-zA-Z0-9-_.]+$ due to lambda requirement.
27
+ * Fargate doesn't have this same requirement but we share code for lambda and
28
+ * fargate.
27
29
  * @see https://docs.aws.amazon.com/lambda/latest/api/API_FileSystemConfig.html
28
30
  */
29
- this.containerMountPathForEfs = "/mnt/cdk-nextjs-cache";
31
+ this.containerMountPathForEfs = "/mnt/cdk-nextjs";
30
32
  this.containerRuntime = process.env.CDK_DOCKER || "docker";
31
33
  this.builderImageTag = `cdk-nextjs/builder-${this.node.addr.slice(30)}`;
32
34
  this.relativePathToWorkspace = props.relativePathToWorkspace || ".";
@@ -135,13 +137,14 @@ class NextjsBuild extends constructs_1.Construct {
135
137
  const dockerfileName = `${dockerfileNamePrefix}-containers.Dockerfile`;
136
138
  // cdk-nextjs/builder-{hash} already contains built nextjs app which we'll
137
139
  // `COPY --from=cdk-nextjs/builder-{hash}` so we just need the Dockerfile
138
- // and symlink-full-route-cache scripts which are in lib/nextjs-build folder.
140
+ // and symlink.ts script which is in lib/nextjs-build folder.
139
141
  const buildContext = (0, node_path_1.join)(__dirname, "..", "..", "lib", "nextjs-build");
140
142
  const dockerImageAsset = new aws_ecr_assets_1.DockerImageAsset(this, "Image", {
141
143
  buildArgs: {
142
144
  BUILDER_IMAGE_TAG: this.builderImageTag,
143
145
  DATA_CACHE_DIR: common_1.DATA_CACHE_DIR,
144
146
  FULL_ROUTE_CACHE_DIR: common_1.FULL_ROUTE_CACHE_DIR,
147
+ PUBLIC_DIR: common_1.PUBLIC_DIR,
145
148
  IMAGE_CACHE_DIR: common_1.IMAGE_CACHE_DIR,
146
149
  MOUNT_PATH: this.containerMountPathForEfs,
147
150
  RELATIVE_PATH_TO_WORKSPACE: this.relativePathToWorkspace,
@@ -150,7 +153,7 @@ class NextjsBuild extends constructs_1.Construct {
150
153
  exclude: [
151
154
  "*",
152
155
  `!${dockerfileName}`,
153
- "!symlink-full-route-cache.mjs",
156
+ "!symlink.mjs",
154
157
  "!add-cache-handler.mjs",
155
158
  ],
156
159
  extraHash: this.buildImageDigest, // rebuild when builder hash changes
@@ -164,13 +167,14 @@ class NextjsBuild extends constructs_1.Construct {
164
167
  const dockerfileName = "global-functions.Dockerfile";
165
168
  // cdk-nextjs/builder-{hash} already contains built nextjs app which we'll
166
169
  // `COPY --from=cdk-nextjs/builder-{hash}` so we just need the Dockerfile
167
- // and symlink-full-route-cache scripts which are in lib/nextjs-build folder.
170
+ // and symlink.ts script which is in lib/nextjs-build folder.
168
171
  const buildContext = (0, node_path_1.join)(__dirname, "..", "..", "lib", "nextjs-build");
169
172
  const dockerImageCode = aws_lambda_1.DockerImageCode.fromImageAsset(buildContext, {
170
173
  buildArgs: {
171
174
  BUILDER_IMAGE_TAG: this.builderImageTag,
172
175
  DATA_CACHE_DIR: common_1.DATA_CACHE_DIR,
173
176
  FULL_ROUTE_CACHE_DIR: common_1.FULL_ROUTE_CACHE_DIR,
177
+ PUBLIC_DIR: common_1.PUBLIC_DIR,
174
178
  IMAGE_CACHE_DIR: common_1.IMAGE_CACHE_DIR,
175
179
  MOUNT_PATH: this.containerMountPathForEfs,
176
180
  RELATIVE_PATH_TO_WORKSPACE: this.relativePathToWorkspace,
@@ -179,7 +183,7 @@ class NextjsBuild extends constructs_1.Construct {
179
183
  exclude: [
180
184
  "*",
181
185
  `!${dockerfileName}`,
182
- "!symlink-full-route-cache.mjs",
186
+ "!symlink.mjs",
183
187
  "!add-cache-handler.mjs",
184
188
  "!cache-handler.cjs",
185
189
  ],
@@ -216,5 +220,5 @@ class NextjsBuild extends constructs_1.Construct {
216
220
  }
217
221
  exports.NextjsBuild = NextjsBuild;
218
222
  _a = JSII_RTTI_SYMBOL_1;
219
- NextjsBuild[_a] = { fqn: "cdk-nextjs.NextjsBuild", version: "0.1.1" };
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHRqcy1idWlsZC9uZXh0anMtYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyREFBOEM7QUFDOUMscUNBQXdEO0FBQ3hELHlDQUFpQztBQUNqQywyQ0FBb0Q7QUFDcEQsNkNBQXlDO0FBQ3pDLCtEQUF3RTtBQUN4RSx1REFBOEU7QUFDOUUsMkNBQXVDO0FBQ3ZDLHNDQUttQjtBQWtGbkI7OztHQUdHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFtRHhDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQTdDbkI7Ozs7OztXQU1HO1FBQ0gsNkJBQXdCLEdBQUcsdUJBQXVCLENBQUM7UUFpQzNDLHFCQUFnQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLFFBQVEsQ0FBQztRQU01RCxJQUFJLENBQUMsZUFBZSxHQUFHLHNCQUFzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN4RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixJQUFJLEdBQUcsQ0FBQztRQUNwRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDakUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUNuRCxJQUNFLEtBQUssQ0FBQyxVQUFVLEtBQUssbUJBQVUsQ0FBQyxpQkFBaUI7WUFDakQsS0FBSyxDQUFDLFVBQVUs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QUFnQixFQUFFLG9DQUFvQztZQUN0RSxJQUFJLEVBQUUsY0FBYztZQUNwQixVQUFVLEVBQUUsd0JBQVUsQ0FBQyxNQUFNO1lBQzdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsd0NBQXdDO1NBQ2xFLENBQUMsQ0FBQztRQUNILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7O0FBclJILGtDQXNSQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgY3BTeW5jLCBybVN5bmMsIHdyaXRlRmlsZVN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGpvaW4gYXMgam9pblBvc2l4IH0gZnJvbSBcIm5vZGU6cGF0aC9wb3NpeFwiO1xuaW1wb3J0IHsgSWdub3JlTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgRG9ja2VySW1hZ2VBc3NldCwgUGxhdGZvcm0gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHNcIjtcbmltcG9ydCB7IEFzc2V0SW1hZ2VDb2RlUHJvcHMsIERvY2tlckltYWdlQ29kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgREFUQV9DQUNIRV9ESVIsXG4gIEZVTExfUk9VVEVfQ0FDSEVfRElSLFxuICBJTUFHRV9DQUNIRV9ESVIsXG4gIE5leHRqc1R5cGUsXG59IGZyb20gXCIuLi9jb21tb25cIjtcbmltcG9ydCB7IE9wdGlvbmFsRG9ja2VySW1hZ2VBc3NldFByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsRG9ja2VySW1hZ2VBc3NldFByb3BzXCI7XG5pbXBvcnQgeyBOZXh0anNCYXNlUHJvcHMgfSBmcm9tIFwiLi4vcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1iYXNlLXByb3BzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRlckltYWdlUHJvcHMge1xuICAvKipcbiAgICogQnVpbGQgQXJncyB0byBiZSBwYXNzZWQgdG8gYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBgZG9ja2VyIGJ1aWxkIC4uLmAgY29tbWFuZCB0byBydW4gaW4ge0BsaW5rIE5leHRCYXNlUHJvcHMuYnVpbGRDb250ZXh0fS5cbiAgICogRGVmYXVsdCBpbnRlcnBvbGF0ZXMgb3RoZXIgcHJvcHMuIElmIHlvdSBvdmVycmlkZSwgb3RoZXIgcHJvcHMgd2lsbCBoYXZlXG4gICAqIG5vIGVmZmVjdCBvbiBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlcyBuYW1lcyB0byBwYXNzIGZyb20gaG9zdCB0byBjb250YWluZXIgZHVyaW5nIGJ1aWxkIHByb2Nlc3MuXG4gICAqXG4gICAqIE5vdGUsIGEgc2hlbGwgc2NyaXB0LCBjZGstbmV4dGpzLWxvYWQtZW52LXZhcnMuc2ggaXMgY3JlYXRlZCB3aXRoaW4gdGhlXG4gICAqIHtAbGluayBOZXh0QmFzZVByb3BzLmJ1aWxkQ29udGV4dH0gZGlyZWN0b3J5LCB3aGljaCB3aWxsIGNvbnRhaW4gYWxsIHRoZVxuICAgKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZGVmaW5lZCBpbiB0aGlzIHByb3AuIElmIHlvdSd2ZSBjcmVhdGVkIHlvdXIgb3duXG4gICAqIGN1c3RvbSBEb2NrZXJmaWxlIChwYXNzZWQgaW4gdmlhIHtAbGluayBCdWlsZGVySW1hZ2VQcm9wcy5jdXN0b21Eb2NrZXJmaWxlUGF0aH0pXG4gICAqIHRoZW4geW91IG5lZWQgdG8gbWFrZSBzdXJlIHlvdSdyZSBjb3B5aW5nIGl0IGludG8gdGhlIGltYWdlLlxuICAgKlxuICAgKiBAZXhhbXBsZSBbXCJNWV9BUElfS0VZXCJdXG4gICAqL1xuICByZWFkb25seSBlbnZWYXJOYW1lcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogTGluZXMgaW4gLmRvY2tlcmlnbm9yZSBmaWxlIHdoaWNoIHdpbGwgYmUgY3JlYXRlZCBpbiB5b3VyIHtAbGluayBOZXh0QmFzZVByb3BzLmJ1aWxkQ29udGV4dH1cbiAgICogQGRlZmF1bHQgW1wibm9kZV9tb2R1bGVzXCIsIFwiLmdpdFwiLCBcIi5naXRpZ25vcmVcIiwgXCIubWRcIl1cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE5hbWUgb2YgRG9ja2VyZmlsZVxuICAgKiBAZGVmYXVsdCBcImJ1aWxkZXIuRG9ja2VyZmlsZVwiXG4gICAqL1xuICByZWFkb25seSBmaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBwbGF0Zm9ybT86IFBsYXRmb3JtO1xuICAvKipcbiAgICogU2tpcCBidWlsZGluZyB0aGUgYnVpbGRlciBpbWFnZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNraXBCdWlsZD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYXRoIHRvIHlvdXIgY3VzdG9tIGJ1aWxkZXIuRG9ja2VyZmlsZSB3aGljaCB3aWxsIGJlIGNvcGllZCBpbnRvIHtAbGluayBOZXh0QmFzZVByb3BzLmJ1aWxkQ29udGV4dH0uXG4gICAqIEl0IGlzIHJlY29tbWVuZGVkIHRvIG92ZXJyaWRlIHRoaXMgcHJvcCB0byBvcHRpbWl6ZSBidWlsZCBjYWNoaW5nIGZvciB5b3VyIHNldHVwLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRG9ja2VyZmlsZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQnVpbGRPdmVycmlkZXMge1xuICByZWFkb25seSBuZXh0anNDb250YWluZXJzRG9ja2VySW1hZ2VBc3NldFByb3BzPzogT3B0aW9uYWxEb2NrZXJJbWFnZUFzc2V0UHJvcHM7XG4gIHJlYWRvbmx5IG5leHRqc0Z1bmN0aW9uc0Fzc2V0SW1hZ2VDb2RlUHJvcHM/OiBBc3NldEltYWdlQ29kZVByb3BzO1xuICByZWFkb25seSBuZXh0anNBc3NldERlcGxveW1lbnRBc3NldEltYWdlQ29kZVByb3BzPzogQXNzZXRJbWFnZUNvZGVQcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNCdWlsZFByb3BzIHtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0Jhc2VQcm9wc1tcImJ1aWxkQ29tbWFuZFwiXX1cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29tbWFuZDogTmV4dGpzQmFzZVByb3BzW1wiYnVpbGRDb21tYW5kXCJdO1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTmV4dGpzQmFzZVByb3BzW1wiYnVpbGRDb250ZXh0XCJdfVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb250ZXh0OiBOZXh0anNCYXNlUHJvcHNbXCJidWlsZENvbnRleHRcIl07XG4gIC8qKlxuICAgKlxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRlckltYWdlUHJvcHM/OiBCdWlsZGVySW1hZ2VQcm9wcztcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0Jhc2VQcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZX1cbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlPzogTmV4dGpzQmFzZVByb3BzW1wicmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2VcIl07XG4gIHJlYWRvbmx5IG5leHRqc1R5cGU6IE5leHRqc1R5cGU7XG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc0J1aWxkT3ZlcnJpZGVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFB1YmxpY0RpckVudHJ5IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBpc0RpcmVjdG9yeTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBCdWlsZHMgTmV4dC5qcyBhc3NldHMuXG4gKiBAbGluayBodHRwczovL25leHRqcy5vcmcvZG9jcy9wYWdlcy9hcGktcmVmZXJlbmNlL25leHQtY29uZmlnLWpzL291dHB1dFxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzQnVpbGQgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogSGFzaCBvZiBidWlsZGVyIGltYWdlIHdoaWNoIHdpbGwgY2hhbmdlIHdoZW5ldmVyIHRoZSBpbWFnZSBjaGFuZ2VzLiBVc2VmdWxcbiAgICogZm9yIHBhc3NpbmcgdG8gcHJvcGVydGllcyBvZiBjdXN0b20gcmVzb3VyY2VzIHRoYXQgZGVwZW5kIHVwb24gdGhlIGJ1aWxkZXJcbiAgICogaW1hZ2UgdG8gcmUtcnVuIHdoZW4gYnVpbGQgaW1hZ2UgY2hhbmdlcy5cbiAgICovXG4gIGJ1aWxkSW1hZ2VEaWdlc3Q6IHN0cmluZztcbiAgLyoqXG4gICAqIE1vdW50IHBhdGggaW4gY29udGFpbmVyIGZvciBFRlMuIE5leHQuanMgaW1hZ2Ugb3B0aW1pemF0aW9uLCBkYXRhLCBhbmQgZnVsbFxuICAgKiByb3V0ZSBjYWNoZSB3aWxsIGJlIHN5bWxpbmtlZCB0byB0aGlzIGxvY2F0aW9uLlxuICAgKlxuICAgKiBNdXN0IGNvbXBseSB3aXRoIHBhdHRlcm46IF4vbW50L1thLXpBLVowLTktXy5dKyRcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vbGFtYmRhL2xhdGVzdC9hcGkvQVBJX0ZpbGVTeXN0ZW1Db25maWcuaHRtbFxuICAgKi9cbiAgY29udGFpbmVyTW91bnRQYXRoRm9yRWZzID0gXCIvbW50L2Nkay1uZXh0anMtY2FjaGVcIjtcbiAgLyoqXG4gICAqIERvY2tlciBpbWFnZSBidWlsdCBpZiB1c2luZyBGYXJnYXRlLlxuICAgKi9cbiAgaW1hZ2VGb3JOZXh0anNDb250YWluZXJzPzogRG9ja2VySW1hZ2VBc3NldDtcbiAgLyoqXG4gICAqIERvY2tlciBpbWFnZSBidWlsdCBpZiB1c2luZyBMYW1iZGEuXG4gICAqL1xuICBpbWFnZUZvck5leHRqc0Z1bmN0aW9ucz86IERvY2tlckltYWdlQ29kZTtcbiAgLyoqXG4gICAqIERvY2tlciBpbWFnZSBidWlsdCBmb3IgYE5leHRqc0Fzc2V0c0RlcGxveW1lbnRgXG4gICAqL1xuICBpbWFnZUZvck5leHRqc0Fzc2V0c0RlcGxveW1lbnQ6IERvY2tlckltYWdlQ29kZTtcbiAgLyoqXG4gICAqIEFic29sdXRlIHBhdGggdG8gcHVibGljLiBVc2UgYnkgQ2xvdWRGcm9udC9BTEIgdG8gY3JlYXRlIGJlaGF2aW9ycy9ydWxlc1xuICAgKiBAZXhhbXBsZSBcIi9Vc2Vycy9qb2huL215YXBwL3B1YmxpY1wiXG4gICAqL1xuICBwdWJsaWNEaXJFbnRyaWVzOiBQdWJsaWNEaXJFbnRyeVtdO1xuICAvKipcbiAgICogVGhlIGVudHJ5cG9pbnQgSmF2YVNjcmlwdCBmaWxlIHVzZWQgYXMgYW4gYXJndW1lbnQgZm9yIE5vZGUuanMgdG8gcnVuIHRoZVxuICAgKiBOZXh0LmpzIHN0YW5kYWxvbmUgc2VydmVyIHJlbGF0aXZlIHRvIHRoZSBzdGFuZGFsb25lIGRpcmVjdG9yeS5cbiAgICogQGV4YW1wbGUgXCIuL3NlcnZlci5qc1wiXG4gICAqIEBleGFtcGxlIFwiLi9wYWNrYWdlcy91aS9zZXJ2ZXIuanNcIiAobW9ub3JlcG8pXG4gICAqL1xuICByZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGFnIG9mIGJ1aWxkZXIgaW1hZ2UgTmV4dC5qcyBhcHAgd2hpY2ggaXMgYnVpbHQgZm9yIG90aGVyIGltYWdlcyB0byBiZVxuICAgKiBidWlsdCBgRlJPTWAuIFRoaXMgaW1hZ2UgaXNuJ3QgYnVpbHQgd2l0aCBDREsgQXNzZXRzIGNvbnN0cnVjdCBiL2MgaXRcbiAgICogZG9lc24ndCBuZWVkIHRvIGJlIHVwbG9hZGVkIHRvIEVDUi4gV2Ugc3RpbGwgbmVlZCB0byBpbmNsdWRlIHNsaWNlIG9mXG4gICAqIGBub2RlLmFkZHJgIGluIHRhZyBpbiBjYXNlIG11bHRpcGxlIGNkay1uZXh0anMgY29uc3RydWN0cyBhcmUgdXNlZC5cbiAgICovXG4gIHByaXZhdGUgYnVpbGRlckltYWdlVGFnOiBzdHJpbmc7XG4gIHByaXZhdGUgY29udGFpbmVyUnVudGltZSA9IHByb2Nlc3MuZW52LkNES19ET0NLRVIgfHwgXCJkb2NrZXJcIjtcbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzQnVpbGRQcm9wcztcbiAgcHJpdmF0ZSByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXh0anNCdWlsZFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmJ1aWxkZXJJbWFnZVRhZyA9IGBjZGstbmV4dGpzL2J1aWxkZXItJHt0aGlzLm5vZGUuYWRkci5zbGljZSgzMCl9YDtcbiAgICB0aGlzLnJlbGF0aXZlUGF0aFRvV29ya3NwYWNlID0gcHJvcHMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2UgfHwgXCIuXCI7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMucmVsYXRpdmVQYXRoVG9FbnRyeXBvaW50ID0gdGhpcy5nZXRSZWxhdGl2ZUVudHJ5cG9pbnRQYXRoKCk7XG4gICAgdGhpcy5idWlsZEltYWdlRGlnZXN0ID0gdGhpcy5jcmVhdGVCdWlsZGVySW1hZ2UoKTtcbiAgICB0aGlzLnB1YmxpY0RpckVudHJpZXMgPSB0aGlzLmdldFB1YmxpY0RpckVudHJpZXMoKTtcbiAgICBpZiAoXG4gICAgICBwcm9wcy5uZXh0anNUeXBlID09PSBOZXh0anNUeXBlLkdMT0JBTF9DT05UQUlORVJTIHx8XG4gICAgICBwcm9wcy5uZXh0anNUeXBlID09PSBOZXh0anNUeXBlLlJFR0lPTkFMX0NPTlRBSU5FUlNcbiAgICApIHtcbiAgICAgIHRoaXMuaW1hZ2VGb3JOZXh0anNDb250YWluZXJzID0gdGhpcy5jcmVhdGVJbWFnZUZvck5leHRqc0NvbnRhaW5lcnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbWFnZUZvck5leHRqc0Z1bmN0aW9ucyA9IHRoaXMuY3JlYXRlSW1hZ2VGb3JOZXh0anNGdW5jdGlvbnMoKTtcbiAgICB9XG4gICAgdGhpcy5pbWFnZUZvck5leHRqc0Fzc2V0c0RlcGxveW1lbnQgPVxuICAgICAgdGhpcy5jcmVhdGVJbWFnZUZvck5leHRqc0Fzc2V0c0RlcGxveW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVsYXRpdmVFbnRyeXBvaW50UGF0aCgpIHtcbiAgICAvLyBqb2luUG9zaXggYi9jIHRoaXMgd2lsbCBiZSB1c2VkIGluIGxpbnV4IGNvbnRhaW5lclxuICAgIHJldHVybiBqb2luUG9zaXgodGhpcy5wcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSB8fCBcIlwiLCBcInNlcnZlci5qc1wiKTtcbiAgfVxuICAvKipcbiAgICogQSBidWlsZGVyIG9yIGJhc2UgaW1hZ2UgbmVlZHMgdG8gYmUgY3JlYXRlZCBzbyB0aGF0IHRoZSBzYW1lIGltYWdlIGNhbiBiZVxuICAgKiBidWlsdCBgRlJPTWAgZm9yIGBOZXh0anNGdW5jdGlvbnNgIG9yIGBOZXh0anNDb250YWluZXJzYCBhbmQgYE5leHRqc0Fzc2V0c0RlcGxveW1lbnRgLlxuICAgKiBUaGlzIGltYWdlIGRvZXNuJ3QgbmVlZCB0byBiZSB1cGxvYWRlZCB0byBFQ1Igc28gd2UncmUgXCJtYW51YWxseVwiIGNyZWF0aW5nXG4gICAqIGl0IHdpdGggYGV4ZWNTeW5jYCBhbmQgb3RoZXIgaW1hZ2VzIHdpbGwgYmUgYnVpbHQgYEZST01gIGl0LlxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVCdWlsZGVySW1hZ2UoKSB7XG4gICAgY29uc3QgYnVpbGRDb21tYW5kID0gdGhpcy5wcm9wcy5idWlsZENvbW1hbmQgfHwgXCJucG0gcnVuIGJ1aWxkXCI7XG4gICAgY29uc3Qge1xuICAgICAgYnVpbGRBcmdzID0ge1xuICAgICAgICBCVUlMRF9DT01NQU5EOiBidWlsZENvbW1hbmQsXG4gICAgICAgIFJFTEFUSVZFX1BBVEhfVE9fV09SS1NQQUNFOiB0aGlzLnJlbGF0aXZlUGF0aFRvV29ya3NwYWNlLFxuICAgICAgICAuLi50aGlzLnByb3BzLmJ1aWxkZXJJbWFnZVByb3BzPy5idWlsZEFyZ3MsXG4gICAgICB9LFxuICAgICAgZW52VmFyTmFtZXMgPSBbXSxcbiAgICAgIGV4Y2x1ZGUgPSBbXG4gICAgICAgIFwiKiovbm9kZV9tb2R1bGVzXCIsXG4gICAgICAgIFwiLmdpdFwiLFxuICAgICAgICBcIioqL2Nkay5vdXRcIixcbiAgICAgICAgXCIqKi8ubmV4dFwiLFxuICAgICAgICBcIi5naXRpZ25vcmVcIixcbiAgICAgICAgXCIqLm1kXCIsXG4gICAgICBdLFxuICAgICAgZmlsZSA9IFwiYnVpbGRlci5Eb2NrZXJmaWxlXCIsXG4gICAgICBwbGF0Zm9ybSxcbiAgICAgIHNraXBCdWlsZCA9IGZhbHNlLFxuICAgIH0gPSB0aGlzLnByb3BzLmJ1aWxkZXJJbWFnZVByb3BzIHx8IHt9O1xuICAgIGNvbnN0IHNyY0RvY2tlcmZpbGVQYXRoID1cbiAgICAgIHRoaXMucHJvcHMuYnVpbGRlckltYWdlUHJvcHM/LmN1c3RvbURvY2tlcmZpbGVQYXRoIHx8XG4gICAgICBqb2luKF9fZGlybmFtZSwgZmlsZSk7XG4gICAgY29uc3QgZGVzdERvY2tlcmZpbGVQYXRoID0gam9pbih0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCwgZmlsZSk7XG4gICAgY3BTeW5jKHNyY0RvY2tlcmZpbGVQYXRoLCBkZXN0RG9ja2VyZmlsZVBhdGgpO1xuICAgIGNvbnN0IGV4Y2x1ZGVGaWxlU3RyID0gZXhjbHVkZT8uam9pbihcIlxcblwiKTtcbiAgICBjb25zdCBkb2NrZXJpZ25vcmVGaWxlUGF0aCA9IGpvaW4odGhpcy5wcm9wcy5idWlsZENvbnRleHQsIFwiLmRvY2tlcmlnbm9yZVwiKTtcbiAgICB3cml0ZUZpbGVTeW5jKGRvY2tlcmlnbm9yZUZpbGVQYXRoLCBleGNsdWRlRmlsZVN0cik7XG4gICAgY29uc3QgYnVpbGRBcmdzU3RyID0gdGhpcy5jcmVhdGVCdWlsZEFyZ1N0cihidWlsZEFyZ3MpO1xuICAgIGNvbnN0IGxvYWRFbnZWYXJzU2NyaXB0UGF0aCA9IGpvaW4oXG4gICAgICB0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCxcbiAgICAgIFwiY2RrLW5leHRqcy1sb2FkLWVudi12YXJzLnNoXCIsXG4gICAgKTtcbiAgICBpZiAoZW52VmFyTmFtZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmNyZWF0ZUxvYWRFbnZWYXJzU2NyaXB0KGVudlZhck5hbWVzLCBsb2FkRW52VmFyc1NjcmlwdFBhdGgpO1xuICAgIH1cbiAgICBjb25zdCBjb21tYW5kID1cbiAgICAgIHRoaXMucHJvcHMuYnVpbGRlckltYWdlUHJvcHM/LmNvbW1hbmQgfHxcbiAgICAgIGAke3RoaXMuY29udGFpbmVyUnVudGltZX0gYnVpbGQgJHtwbGF0Zm9ybSA/IGAtLXBsYXRmb3JtICR7cGxhdGZvcm0ucGxhdGZvcm19YCA6IFwiXCJ9IC0tZmlsZSAke2ZpbGV9IC0tdGFnICR7dGhpcy5idWlsZGVySW1hZ2VUYWd9ICR7YnVpbGRBcmdzU3RyfSAuYDtcbiAgICBsZXQgZXJyb3I6IHVua25vd247XG4gICAgdHJ5IHtcbiAgICAgIGlmICghc2tpcEJ1aWxkKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFxuICAgICAgICAgIGBCdWlsZGluZyBpbWFnZSB3aXRoIGNvbW1hbmQ6ICR7Y29tbWFuZH0gaW4gZGlyZWN0b3J5OiAke3RoaXMucHJvcHMuYnVpbGRDb250ZXh0fWAsXG4gICAgICAgICk7XG4gICAgICAgIGV4ZWNTeW5jKGNvbW1hbmQsIHtcbiAgICAgICAgICBzdGRpbzogXCJpbmhlcml0XCIsXG4gICAgICAgICAgY3dkOiB0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCxcbiAgICAgICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGVycm9yID0gZXJyO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBybVN5bmMoZGVzdERvY2tlcmZpbGVQYXRoKTtcbiAgICAgIHJtU3luYyhkb2NrZXJpZ25vcmVGaWxlUGF0aCk7XG4gICAgICBpZiAoZW52VmFyTmFtZXMubGVuZ3RoKSB7XG4gICAgICAgIHJtU3luYyhsb2FkRW52VmFyc1NjcmlwdFBhdGgpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZXJyb3IpIHRocm93IGVycm9yO1xuICAgIHJldHVybiB0aGlzLmdldEJ1aWxkZXJJbWFnZURpZ2VzdCgpO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlQnVpbGRBcmdTdHIoXG4gICAgYnVpbGRBcmdzOiBSZXF1aXJlZDxCdWlsZGVySW1hZ2VQcm9wcz5bXCJidWlsZEFyZ3NcIl0sXG4gICkge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhidWlsZEFyZ3MpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIHJldHVybiBgJHthY2N9IC0tYnVpbGQtYXJnICR7a2V5fT1cIiR7dmFsdWV9XCJgO1xuICAgIH0sIFwiXCIpO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlTG9hZEVudlZhcnNTY3JpcHQoXG4gICAgZW52VmFyTmFtZXM6IFJlcXVpcmVkPEJ1aWxkZXJJbWFnZVByb3BzPltcImVudlZhck5hbWVzXCJdID0gW10sXG4gICAgbG9hZEVudlZhcnNTY3JpcHRQYXRoOiBzdHJpbmcsXG4gICkge1xuICAgIGxldCBsb2FkRW52VmFyc1NjcmlwdCA9XG4gICAgICBcIiMgRHluYW1pY2FsbHkgZ2VuZXJhdGVkIHNjcmlwdCB0byBsb2FkIGVudiB2YXJzIGludG8gYnVpbGQgY29udGFpbmVyXCI7XG4gICAgZm9yIChjb25zdCBlbnZWYXJOYW1lIG9mIGVudlZhck5hbWVzKSB7XG4gICAgICBsb2FkRW52VmFyc1NjcmlwdCArPSBgXFxuZXhwb3J0ICR7ZW52VmFyTmFtZX09JHtwcm9jZXNzLmVudltlbnZWYXJOYW1lXSB8fCAnXCJcIid9YDtcbiAgICB9XG4gICAgd3JpdGVGaWxlU3luYyhsb2FkRW52VmFyc1NjcmlwdFBhdGgsIGxvYWRFbnZWYXJzU2NyaXB0KTtcbiAgfVxuICBwcml2YXRlIGdldEJ1aWxkZXJJbWFnZURpZ2VzdCgpIHtcbiAgICBjb25zdCBkaWdlc3QgPSBleGVjU3luYyhcbiAgICAgIGAke3RoaXMuY29udGFpbmVyUnVudGltZX0gaW1hZ2VzIC0tbm8tdHJ1bmMgLS1xdWlldCAke3RoaXMuYnVpbGRlckltYWdlVGFnfWAsXG4gICAgICB7IGVuY29kaW5nOiBcInV0Zi04XCIgfSxcbiAgICApO1xuICAgIHJldHVybiBkaWdlc3Quc2xpY2UoMCwgLTEpOyAvLyByZW1vdmUgdHJhaWxpbmcgXFxuXG4gIH1cbiAgcHJpdmF0ZSBnZXRQdWJsaWNEaXJFbnRyaWVzKCk6IFB1YmxpY0RpckVudHJ5W10ge1xuICAgIGNvbnN0IHB1YmxpY0RpclBhdGggPSBqb2luUG9zaXgoXG4gICAgICBcIi9hcHBcIixcbiAgICAgIHRoaXMucHJvcHMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2UgfHwgXCJcIixcbiAgICAgIFwicHVibGljXCIsXG4gICAgKTtcbiAgICBjb25zdCBwdWJsaWNEaXJFbnRyaWVzU3RyaW5nID0gZXhlY1N5bmMoXG4gICAgICBgJHt0aGlzLmNvbnRhaW5lclJ1bnRpbWV9IHJ1biAke3RoaXMuYnVpbGRlckltYWdlVGFnfSBub2RlIC1lIFwiY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZnMucmVhZGRpclN5bmMoJyR7cHVibGljRGlyUGF0aH0nLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSkubWFwKChlKSA9PiAoeyBuYW1lOiBlLm5hbWUsIGlzRGlyOiBlLmlzRGlyZWN0b3J5KCl9KSkpKVwiYCxcbiAgICAgIHsgZW5jb2Rpbmc6IFwidXRmLThcIiB9LFxuICAgICk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UocHVibGljRGlyRW50cmllc1N0cmluZykgYXMgUHVibGljRGlyRW50cnlbXTtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUltYWdlRm9yTmV4dGpzQ29udGFpbmVycygpIHtcbiAgICBjb25zdCBkb2NrZXJmaWxlTmFtZVByZWZpeCA9XG4gICAgICB0aGlzLnByb3BzLm5leHRqc1R5cGUgPT09IE5leHRqc1R5cGUuR0xPQkFMX0NPTlRBSU5FUlNcbiAgICAgICAgPyBcImdsb2JhbFwiXG4gICAgICAgIDogXCJyZWdpb25hbFwiO1xuICAgIGNvbnN0IGRvY2tlcmZpbGVOYW1lID0gYCR7ZG9ja2VyZmlsZU5hbWVQcmVmaXh9LWNvbnRhaW5lcnMuRG9ja2VyZmlsZWA7XG4gICAgLy8gY2RrLW5leHRqcy9idWlsZGVyLXtoYXNofSBhbHJlYWR5IGNvbnRhaW5zIGJ1aWx0IG5leHRqcyBhcHAgd2hpY2ggd2UnbGxcbiAgICAvLyBgQ09QWSAtLWZyb209Y2RrLW5leHRqcy9idWlsZGVyLXtoYXNofWAgc28gd2UganVzdCBuZWVkIHRoZSBEb2NrZXJmaWxlXG4gICAgLy8gYW5kIHN5bWxpbmstZnVsbC1yb3V0ZS1jYWNoZSBzY3JpcHRzIHdoaWNoIGFyZSBpbiBsaWIvbmV4dGpzLWJ1aWxkIGZvbGRlci5cbiAgICBjb25zdCBidWlsZENvbnRleHQgPSBqb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwibGliXCIsIFwibmV4dGpzLWJ1aWxkXCIpO1xuICAgIGNvbnN0IGRvY2tlckltYWdlQXNzZXQgPSBuZXcgRG9ja2VySW1hZ2VBc3NldCh0aGlzLCBcIkltYWdlXCIsIHtcbiAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICBCVUlMREVSX0lNQUdFX1RBRzogdGhpcy5idWlsZGVySW1hZ2VUYWcsXG4gICAgICAgIERBVEFfQ0FDSEVfRElSLFxuICAgICAgICBGVUxMX1JPVVRFX0NBQ0hFX0RJUixcbiAgICAgICAgSU1BR0VfQ0FDSEVfRElSLFxuICAgICAgICBNT1VOVF9QQVRIOiB0aGlzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICAgUkVMQVRJVkVfUEFUSF9UT19XT1JLU1BBQ0U6IHRoaXMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2UsXG4gICAgICB9LFxuICAgICAgZGlyZWN0b3J5OiBidWlsZENvbnRleHQsXG4gICAgICBleGNsdWRlOiBbXG4gICAgICAgIFwiKlwiLFxuICAgICAgICBgISR7ZG9ja2VyZmlsZU5hbWV9YCxcbiAgICAgICAgXCIhc3ltbGluay1mdWxsLXJvdXRlLWNhY2hlLm1qc1wiLFxuICAgICAgICBcIiFhZGQtY2FjaGUtaGFuZGxlci5tanNcIixcbiAgICAgIF0sXG4gICAgICBleHRyYUhhc2g6IHRoaXMuYnVpbGRJbWFnZURpZ2VzdCwgLy8gcmVidWlsZCB3aGVuIGJ1aWxkZXIgaGFzaCBjaGFuZ2VzXG4gICAgICBmaWxlOiBkb2NrZXJmaWxlTmFtZSxcbiAgICAgIGlnbm9yZU1vZGU6IElnbm9yZU1vZGUuRE9DS0VSLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0NvbnRhaW5lcnNEb2NrZXJJbWFnZUFzc2V0UHJvcHMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGRvY2tlckltYWdlQXNzZXQ7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUltYWdlRm9yTmV4dGpzRnVuY3Rpb25zKCkge1xuICAgIGNvbnN0IGRvY2tlcmZpbGVOYW1lID0gXCJnbG9iYWwtZnVuY3Rpb25zLkRvY2tlcmZpbGVcIjtcbiAgICAvLyBjZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9IGFscmVhZHkgY29udGFpbnMgYnVpbHQgbmV4dGpzIGFwcCB3aGljaCB3ZSdsbFxuICAgIC8vIGBDT1BZIC0tZnJvbT1jZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9YCBzbyB3ZSBqdXN0IG5lZWQgdGhlIERvY2tlcmZpbGVcbiAgICAvLyBhbmQgc3ltbGluay1mdWxsLXJvdXRlLWNhY2hlIHNjcmlwdHMgd2hpY2ggYXJlIGluIGxpYi9uZXh0anMtYnVpbGQgZm9sZGVyLlxuICAgIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCJsaWJcIiwgXCJuZXh0anMtYnVpbGRcIik7XG4gICAgY29uc3QgZG9ja2VySW1hZ2VDb2RlID0gRG9ja2VySW1hZ2VDb2RlLmZyb21JbWFnZUFzc2V0KGJ1aWxkQ29udGV4dCwge1xuICAgICAgYnVpbGRBcmdzOiB7XG4gICAgICAgIEJVSUxERVJfSU1BR0VfVEFHOiB0aGlzLmJ1aWxkZXJJbWFnZVRhZyxcbiAgICAgICAgREFUQV9DQUNIRV9ESVIsXG4gICAgICAgIEZVTExfUk9VVEVfQ0FDSEVfRElSLFxuICAgICAgICBJTUFHRV9DQUNIRV9ESVIsXG4gICAgICAgIE1PVU5UX1BBVEg6IHRoaXMuY29udGFpbmVyTW91bnRQYXRoRm9yRWZzLFxuICAgICAgICBSRUxBVElWRV9QQVRIX1RPX1dPUktTUEFDRTogdGhpcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSxcbiAgICAgIH0sXG4gICAgICBjbWQ6IFtcIm5vZGVcIiwgdGhpcy5yZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnRdLFxuICAgICAgZXhjbHVkZTogW1xuICAgICAgICBcIipcIixcbiAgICAgICAgYCEke2RvY2tlcmZpbGVOYW1lfWAsXG4gICAgICAgIFwiIXN5bWxpbmstZnVsbC1yb3V0ZS1jYWNoZS5tanNcIixcbiAgICAgICAgXCIhYWRkLWNhY2hlLWhhbmRsZXIubWpzXCIsXG4gICAgICAgIFwiIWNhY2hlLWhhbmRsZXIuY2pzXCIsXG4gICAgICBdLFxuICAgICAgZXh0cmFIYXNoOiB0aGlzLmJ1aWxkSW1hZ2VEaWdlc3QsIC8vIHJlYnVpbGQgd2hlbiBidWlsZGVyIGhhc2ggY2hhbmdlc1xuICAgICAgZmlsZTogZG9ja2VyZmlsZU5hbWUsXG4gICAgICBpZ25vcmVNb2RlOiBJZ25vcmVNb2RlLkRPQ0tFUixcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNGdW5jdGlvbnNBc3NldEltYWdlQ29kZVByb3BzLFxuICAgIH0pO1xuICAgIC8vIFRPRE86IGhvdyB0byBjbGVhbiB1cCB0ZW1wIGRpcj9cbiAgICAvLyBybVN5bmModGVtcERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgcmV0dXJuIGRvY2tlckltYWdlQ29kZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW1hZ2VGb3JOZXh0anNBc3NldHNEZXBsb3ltZW50KCkge1xuICAgIGNvbnN0IGRvY2tlcmZpbGVOYW1lID0gXCJhc3NldHMtZGVwbG95bWVudC5Eb2NrZXJmaWxlXCI7XG4gICAgLyoqXG4gICAgICogUGF0aCB0byBidW5kbGVkIGN1c3RvbSByZXNvdXJjZSBjb2RlXG4gICAgICovXG4gICAgY29uc3QgbGFtYmRhQnVpbGRDb250ZXh0ID0gam9pbihcbiAgICAgIF9fZGlybmFtZSxcbiAgICAgIFwiLi5cIixcbiAgICAgIFwiLi5cIixcbiAgICAgIFwiYXNzZXRzXCIsXG4gICAgICBcImxhbWJkYXNcIixcbiAgICAgIFwiYXNzZXRzLWRlcGxveW1lbnRcIixcbiAgICAgIFwiYXNzZXRzLWRlcGxveW1lbnQubGFtYmRhXCIsXG4gICAgKTtcbiAgICAvLyBjZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9IGFscmVhZHkgY29udGFpbnMgTmV4dC5qcyBidWlsdCBjb2RlIHdoaWNoXG4gICAgLy8gd2UnbGwgY29weSBpbnRvIGZpbmFsIGltYWdlLiBCdXQgd2UgYWxzbyBuZWVkIGxhbWJkYSBjb2RlIHRvIHJ1blxuICAgIC8vIGFzc2V0IGRlcGxveW1lbnQgdGFza3NcbiAgICBjb25zdCBkb2NrZXJJbWFnZUNvZGUgPSBEb2NrZXJJbWFnZUNvZGUuZnJvbUltYWdlQXNzZXQobGFtYmRhQnVpbGRDb250ZXh0LCB7XG4gICAgICBidWlsZEFyZ3M6IHtcbiAgICAgICAgQlVJTERFUl9JTUFHRV9UQUc6IHRoaXMuYnVpbGRlckltYWdlVGFnLFxuICAgICAgICBSRUxBVElWRV9QQVRIX1RPX1dPUktTUEFDRTogdGhpcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSxcbiAgICAgIH0sXG4gICAgICBleHRyYUhhc2g6IHRoaXMuYnVpbGRJbWFnZURpZ2VzdCwgLy8gcmVidWlsZCB3aGVuIGJ1aWxkZXIgaGFzaCBjaGFuZ2VzXG4gICAgICBmaWxlOiBkb2NrZXJmaWxlTmFtZSxcbiAgICAgIGlnbm9yZU1vZGU6IElnbm9yZU1vZGUuRE9DS0VSLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0Fzc2V0RGVwbG95bWVudEFzc2V0SW1hZ2VDb2RlUHJvcHMsXG4gICAgfSk7XG4gICAgcmV0dXJuIGRvY2tlckltYWdlQ29kZTtcbiAgfVxufVxuIl19
223
+ NextjsBuild[_a] = { fqn: "cdk-nextjs.NextjsBuild", version: "0.1.3" };
224
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHRqcy1idWlsZC9uZXh0anMtYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyREFBOEM7QUFDOUMscUNBQXdEO0FBQ3hELHlDQUFpQztBQUNqQywyQ0FBb0Q7QUFDcEQsNkNBQXlDO0FBQ3pDLCtEQUF3RTtBQUN4RSx1REFBOEU7QUFDOUUsMkNBQXVDO0FBQ3ZDLHNDQU1tQjtBQWtGbkI7OztHQUdHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFxRHhDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQS9DbkI7Ozs7Ozs7O1dBUUc7UUFDSCw2QkFBd0IsR0FBRyxpQkFBaUIsQ0FBQztRQWlDckMscUJBQWdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDO1FBTTVELElBQUksQ0FBQyxlQUFlLEdBQUcsc0JBQXNCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3hFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsdUJBQXVCLElBQUksR0FBRyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ25ELElBQ0UsS0FBSyxDQUFDLFVBQVUsS0FBSyxtQkFBVSxDQUFDLGlCQUFpQjtZQUNqRCxLQUFLLENBQUMsVUFB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dUJBQXVCO2FBQ3pEO1lBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxvQ0FBb0M7WUFDdEUsSUFBSSxFQUFFLGNBQWM7WUFDcEIsVUFBVSxFQUFFLHdCQUFVLENBQUMsTUFBTTtZQUM3QixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLHdDQUF3QztTQUNsRSxDQUFDLENBQUM7UUFDSCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDOztBQXpSSCxrQ0EwUkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGVjU3luYyB9IGZyb20gXCJub2RlOmNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCB7IGNwU3luYywgcm1TeW5jLCB3cml0ZUZpbGVTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBqb2luIGFzIGpvaW5Qb3NpeCB9IGZyb20gXCJub2RlOnBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IElnbm9yZU1vZGUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IERvY2tlckltYWdlQXNzZXQsIFBsYXRmb3JtIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3ItYXNzZXRzXCI7XG5pbXBvcnQgeyBBc3NldEltYWdlQ29kZVByb3BzLCBEb2NrZXJJbWFnZUNvZGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIERBVEFfQ0FDSEVfRElSLFxuICBGVUxMX1JPVVRFX0NBQ0hFX0RJUixcbiAgSU1BR0VfQ0FDSEVfRElSLFxuICBOZXh0anNUeXBlLFxuICBQVUJMSUNfRElSLFxufSBmcm9tIFwiLi4vY29tbW9uXCI7XG5pbXBvcnQgeyBPcHRpb25hbERvY2tlckltYWdlQXNzZXRQcm9wcyB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbERvY2tlckltYWdlQXNzZXRQcm9wc1wiO1xuaW1wb3J0IHsgTmV4dGpzQmFzZVByb3BzIH0gZnJvbSBcIi4uL3Jvb3QtY29uc3RydWN0cy9uZXh0anMtYmFzZS1wcm9wc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkZXJJbWFnZVByb3BzIHtcbiAgLyoqXG4gICAqIEJ1aWxkIEFyZ3MgdG8gYmUgcGFzc2VkIHRvIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqL1xuICByZWFkb25seSBidWlsZEFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogYGRvY2tlciBidWlsZCAuLi5gIGNvbW1hbmQgdG8gcnVuIGluIHtAbGluayBOZXh0QmFzZVByb3BzLmJ1aWxkQ29udGV4dH0uXG4gICAqIERlZmF1bHQgaW50ZXJwb2xhdGVzIG90aGVyIHByb3BzLiBJZiB5b3Ugb3ZlcnJpZGUsIG90aGVyIHByb3BzIHdpbGwgaGF2ZVxuICAgKiBubyBlZmZlY3Qgb24gY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgbmFtZXMgdG8gcGFzcyBmcm9tIGhvc3QgdG8gY29udGFpbmVyIGR1cmluZyBidWlsZCBwcm9jZXNzLlxuICAgKlxuICAgKiBOb3RlLCBhIHNoZWxsIHNjcmlwdCwgY2RrLW5leHRqcy1sb2FkLWVudi12YXJzLnNoIGlzIGNyZWF0ZWQgd2l0aGluIHRoZVxuICAgKiB7QGxpbmsgTmV4dEJhc2VQcm9wcy5idWlsZENvbnRleHR9IGRpcmVjdG9yeSwgd2hpY2ggd2lsbCBjb250YWluIGFsbCB0aGVcbiAgICogZW52aXJvbm1lbnQgdmFyaWFibGVzIGRlZmluZWQgaW4gdGhpcyBwcm9wLiBJZiB5b3UndmUgY3JlYXRlZCB5b3VyIG93blxuICAgKiBjdXN0b20gRG9ja2VyZmlsZSAocGFzc2VkIGluIHZpYSB7QGxpbmsgQnVpbGRlckltYWdlUHJvcHMuY3VzdG9tRG9ja2VyZmlsZVBhdGh9KVxuICAgKiB0aGVuIHlvdSBuZWVkIHRvIG1ha2Ugc3VyZSB5b3UncmUgY29weWluZyBpdCBpbnRvIHRoZSBpbWFnZS5cbiAgICpcbiAgICogQGV4YW1wbGUgW1wiTVlfQVBJX0tFWVwiXVxuICAgKi9cbiAgcmVhZG9ubHkgZW52VmFyTmFtZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIExpbmVzIGluIC5kb2NrZXJpZ25vcmUgZmlsZSB3aGljaCB3aWxsIGJlIGNyZWF0ZWQgaW4geW91ciB7QGxpbmsgTmV4dEJhc2VQcm9wcy5idWlsZENvbnRleHR9XG4gICAqIEBkZWZhdWx0IFtcIm5vZGVfbW9kdWxlc1wiLCBcIi5naXRcIiwgXCIuZ2l0aWdub3JlXCIsIFwiLm1kXCJdXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBOYW1lIG9mIERvY2tlcmZpbGVcbiAgICogQGRlZmF1bHQgXCJidWlsZGVyLkRvY2tlcmZpbGVcIlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBQbGF0Zm9ybTtcbiAgLyoqXG4gICAqIFNraXAgYnVpbGRpbmcgdGhlIGJ1aWxkZXIgaW1hZ2UuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBza2lwQnVpbGQ/OiBib29sZWFuO1xuICAvKipcbiAgICogUGF0aCB0byB5b3VyIGN1c3RvbSBidWlsZGVyLkRvY2tlcmZpbGUgd2hpY2ggd2lsbCBiZSBjb3BpZWQgaW50byB7QGxpbmsgTmV4dEJhc2VQcm9wcy5idWlsZENvbnRleHR9LlxuICAgKiBJdCBpcyByZWNvbW1lbmRlZCB0byBvdmVycmlkZSB0aGlzIHByb3AgdG8gb3B0aW1pemUgYnVpbGQgY2FjaGluZyBmb3IgeW91ciBzZXR1cC5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbURvY2tlcmZpbGVQYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0J1aWxkT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgbmV4dGpzQ29udGFpbmVyc0RvY2tlckltYWdlQXNzZXRQcm9wcz86IE9wdGlvbmFsRG9ja2VySW1hZ2VBc3NldFByb3BzO1xuICByZWFkb25seSBuZXh0anNGdW5jdGlvbnNBc3NldEltYWdlQ29kZVByb3BzPzogQXNzZXRJbWFnZUNvZGVQcm9wcztcbiAgcmVhZG9ubHkgbmV4dGpzQXNzZXREZXBsb3ltZW50QXNzZXRJbWFnZUNvZGVQcm9wcz86IEFzc2V0SW1hZ2VDb2RlUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQnVpbGRQcm9wcyB7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHNbXCJidWlsZENvbW1hbmRcIl19XG4gICAqL1xuICByZWFkb25seSBidWlsZENvbW1hbmQ6IE5leHRqc0Jhc2VQcm9wc1tcImJ1aWxkQ29tbWFuZFwiXTtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0Jhc2VQcm9wc1tcImJ1aWxkQ29udGV4dFwiXX1cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29udGV4dDogTmV4dGpzQmFzZVByb3BzW1wiYnVpbGRDb250ZXh0XCJdO1xuICAvKipcbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkZXJJbWFnZVByb3BzPzogQnVpbGRlckltYWdlUHJvcHM7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2V9XG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZT86IE5leHRqc0Jhc2VQcm9wc1tcInJlbGF0aXZlUGF0aFRvV29ya3NwYWNlXCJdO1xuICByZWFkb25seSBuZXh0anNUeXBlOiBOZXh0anNUeXBlO1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNCdWlsZE92ZXJyaWRlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNEaXJFbnRyeSB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgaXNEaXJlY3Rvcnk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQnVpbGRzIE5leHQuanMgYXNzZXRzLlxuICogQGxpbmsgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvcGFnZXMvYXBpLXJlZmVyZW5jZS9uZXh0LWNvbmZpZy1qcy9vdXRwdXRcbiAqL1xuZXhwb3J0IGNsYXNzIE5leHRqc0J1aWxkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIEhhc2ggb2YgYnVpbGRlciBpbWFnZSB3aGljaCB3aWxsIGNoYW5nZSB3aGVuZXZlciB0aGUgaW1hZ2UgY2hhbmdlcy4gVXNlZnVsXG4gICAqIGZvciBwYXNzaW5nIHRvIHByb3BlcnRpZXMgb2YgY3VzdG9tIHJlc291cmNlcyB0aGF0IGRlcGVuZCB1cG9uIHRoZSBidWlsZGVyXG4gICAqIGltYWdlIHRvIHJlLXJ1biB3aGVuIGJ1aWxkIGltYWdlIGNoYW5nZXMuXG4gICAqL1xuICBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBNb3VudCBwYXRoIGluIGNvbnRhaW5lciBmb3IgRUZTLiBOZXh0LmpzIGltYWdlIG9wdGltaXphdGlvbiwgZGF0YSwgYW5kIGZ1bGxcbiAgICogcm91dGUgY2FjaGUgd2lsbCBiZSBzeW1saW5rZWQgdG8gdGhpcyBsb2NhdGlvbi5cbiAgICpcbiAgICogTXVzdCBjb21wbHkgd2l0aCBwYXR0ZXJuOiBeL21udC9bYS16QS1aMC05LV8uXSskIGR1ZSB0byBsYW1iZGEgcmVxdWlyZW1lbnQuXG4gICAqIEZhcmdhdGUgZG9lc24ndCBoYXZlIHRoaXMgc2FtZSByZXF1aXJlbWVudCBidXQgd2Ugc2hhcmUgY29kZSBmb3IgbGFtYmRhIGFuZFxuICAgKiBmYXJnYXRlLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9sYW1iZGEvbGF0ZXN0L2FwaS9BUElfRmlsZVN5c3RlbUNvbmZpZy5odG1sXG4gICAqL1xuICBjb250YWluZXJNb3VudFBhdGhGb3JFZnMgPSBcIi9tbnQvY2RrLW5leHRqc1wiO1xuICAvKipcbiAgICogRG9ja2VyIGltYWdlIGJ1aWx0IGlmIHVzaW5nIEZhcmdhdGUuXG4gICAqL1xuICBpbWFnZUZvck5leHRqc0NvbnRhaW5lcnM/OiBEb2NrZXJJbWFnZUFzc2V0O1xuICAvKipcbiAgICogRG9ja2VyIGltYWdlIGJ1aWx0IGlmIHVzaW5nIExhbWJkYS5cbiAgICovXG4gIGltYWdlRm9yTmV4dGpzRnVuY3Rpb25zPzogRG9ja2VySW1hZ2VDb2RlO1xuICAvKipcbiAgICogRG9ja2VyIGltYWdlIGJ1aWx0IGZvciBgTmV4dGpzQXNzZXRzRGVwbG95bWVudGBcbiAgICovXG4gIGltYWdlRm9yTmV4dGpzQXNzZXRzRGVwbG95bWVudDogRG9ja2VySW1hZ2VDb2RlO1xuICAvKipcbiAgICogQWJzb2x1dGUgcGF0aCB0byBwdWJsaWMuIFVzZSBieSBDbG91ZEZyb250L0FMQiB0byBjcmVhdGUgYmVoYXZpb3JzL3J1bGVzXG4gICAqIEBleGFtcGxlIFwiL1VzZXJzL2pvaG4vbXlhcHAvcHVibGljXCJcbiAgICovXG4gIHB1YmxpY0RpckVudHJpZXM6IFB1YmxpY0RpckVudHJ5W107XG4gIC8qKlxuICAgKiBUaGUgZW50cnlwb2ludCBKYXZhU2NyaXB0IGZpbGUgdXNlZCBhcyBhbiBhcmd1bWVudCBmb3IgTm9kZS5qcyB0byBydW4gdGhlXG4gICAqIE5leHQuanMgc3RhbmRhbG9uZSBzZXJ2ZXIgcmVsYXRpdmUgdG8gdGhlIHN0YW5kYWxvbmUgZGlyZWN0b3J5LlxuICAgKiBAZXhhbXBsZSBcIi4vc2VydmVyLmpzXCJcbiAgICogQGV4YW1wbGUgXCIuL3BhY2thZ2VzL3VpL3NlcnZlci5qc1wiIChtb25vcmVwbylcbiAgICovXG4gIHJlbGF0aXZlUGF0aFRvRW50cnlwb2ludDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUYWcgb2YgYnVpbGRlciBpbWFnZSBOZXh0LmpzIGFwcCB3aGljaCBpcyBidWlsdCBmb3Igb3RoZXIgaW1hZ2VzIHRvIGJlXG4gICAqIGJ1aWx0IGBGUk9NYC4gVGhpcyBpbWFnZSBpc24ndCBidWlsdCB3aXRoIENESyBBc3NldHMgY29uc3RydWN0IGIvYyBpdFxuICAgKiBkb2Vzbid0IG5lZWQgdG8gYmUgdXBsb2FkZWQgdG8gRUNSLiBXZSBzdGlsbCBuZWVkIHRvIGluY2x1ZGUgc2xpY2Ugb2ZcbiAgICogYG5vZGUuYWRkcmAgaW4gdGFnIGluIGNhc2UgbXVsdGlwbGUgY2RrLW5leHRqcyBjb25zdHJ1Y3RzIGFyZSB1c2VkLlxuICAgKi9cbiAgcHJpdmF0ZSBidWlsZGVySW1hZ2VUYWc6IHN0cmluZztcbiAgcHJpdmF0ZSBjb250YWluZXJSdW50aW1lID0gcHJvY2Vzcy5lbnYuQ0RLX0RPQ0tFUiB8fCBcImRvY2tlclwiO1xuICBwcml2YXRlIHByb3BzOiBOZXh0anNCdWlsZFByb3BzO1xuICBwcml2YXRlIHJlbGF0aXZlUGF0aFRvV29ya3NwYWNlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5leHRqc0J1aWxkUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMuYnVpbGRlckltYWdlVGFnID0gYGNkay1uZXh0anMvYnVpbGRlci0ke3RoaXMubm9kZS5hZGRyLnNsaWNlKDMwKX1gO1xuICAgIHRoaXMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2UgPSBwcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSB8fCBcIi5cIjtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5yZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnQgPSB0aGlzLmdldFJlbGF0aXZlRW50cnlwb2ludFBhdGgoKTtcbiAgICB0aGlzLmJ1aWxkSW1hZ2VEaWdlc3QgPSB0aGlzLmNyZWF0ZUJ1aWxkZXJJbWFnZSgpO1xuICAgIHRoaXMucHVibGljRGlyRW50cmllcyA9IHRoaXMuZ2V0UHVibGljRGlyRW50cmllcygpO1xuICAgIGlmIChcbiAgICAgIHByb3BzLm5leHRqc1R5cGUgPT09IE5leHRqc1R5cGUuR0xPQkFMX0NPTlRBSU5FUlMgfHxcbiAgICAgIHByb3BzLm5leHRqc1R5cGUgPT09IE5leHRqc1R5cGUuUkVHSU9OQUxfQ09OVEFJTkVSU1xuICAgICkge1xuICAgICAgdGhpcy5pbWFnZUZvck5leHRqc0NvbnRhaW5lcnMgPSB0aGlzLmNyZWF0ZUltYWdlRm9yTmV4dGpzQ29udGFpbmVycygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmltYWdlRm9yTmV4dGpzRnVuY3Rpb25zID0gdGhpcy5jcmVhdGVJbWFnZUZvck5leHRqc0Z1bmN0aW9ucygpO1xuICAgIH1cbiAgICB0aGlzLmltYWdlRm9yTmV4dGpzQXNzZXRzRGVwbG95bWVudCA9XG4gICAgICB0aGlzLmNyZWF0ZUltYWdlRm9yTmV4dGpzQXNzZXRzRGVwbG95bWVudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZWxhdGl2ZUVudHJ5cG9pbnRQYXRoKCkge1xuICAgIC8vIGpvaW5Qb3NpeCBiL2MgdGhpcyB3aWxsIGJlIHVzZWQgaW4gbGludXggY29udGFpbmVyXG4gICAgcmV0dXJuIGpvaW5Qb3NpeCh0aGlzLnByb3BzLnJlbGF0aXZlUGF0aFRvV29ya3NwYWNlIHx8IFwiXCIsIFwic2VydmVyLmpzXCIpO1xuICB9XG4gIC8qKlxuICAgKiBBIGJ1aWxkZXIgb3IgYmFzZSBpbWFnZSBuZWVkcyB0byBiZSBjcmVhdGVkIHNvIHRoYXQgdGhlIHNhbWUgaW1hZ2UgY2FuIGJlXG4gICAqIGJ1aWx0IGBGUk9NYCBmb3IgYE5leHRqc0Z1bmN0aW9uc2Agb3IgYE5leHRqc0NvbnRhaW5lcnNgIGFuZCBgTmV4dGpzQXNzZXRzRGVwbG95bWVudGAuXG4gICAqIFRoaXMgaW1hZ2UgZG9lc24ndCBuZWVkIHRvIGJlIHVwbG9hZGVkIHRvIEVDUiBzbyB3ZSdyZSBcIm1hbnVhbGx5XCIgY3JlYXRpbmdcbiAgICogaXQgd2l0aCBgZXhlY1N5bmNgIGFuZCBvdGhlciBpbWFnZXMgd2lsbCBiZSBidWlsdCBgRlJPTWAgaXQuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUJ1aWxkZXJJbWFnZSgpIHtcbiAgICBjb25zdCBidWlsZENvbW1hbmQgPSB0aGlzLnByb3BzLmJ1aWxkQ29tbWFuZCB8fCBcIm5wbSBydW4gYnVpbGRcIjtcbiAgICBjb25zdCB7XG4gICAgICBidWlsZEFyZ3MgPSB7XG4gICAgICAgIEJVSUxEX0NPTU1BTkQ6IGJ1aWxkQ29tbWFuZCxcbiAgICAgICAgUkVMQVRJVkVfUEFUSF9UT19XT1JLU1BBQ0U6IHRoaXMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2UsXG4gICAgICAgIC4uLnRoaXMucHJvcHMuYnVpbGRlckltYWdlUHJvcHM/LmJ1aWxkQXJncyxcbiAgICAgIH0sXG4gICAgICBlbnZWYXJOYW1lcyA9IFtdLFxuICAgICAgZXhjbHVkZSA9IFtcbiAgICAgICAgXCIqKi9ub2RlX21vZHVsZXNcIixcbiAgICAgICAgXCIuZ2l0XCIsXG4gICAgICAgIFwiKiovY2RrLm91dFwiLFxuICAgICAgICBcIioqLy5uZXh0XCIsXG4gICAgICAgIFwiLmdpdGlnbm9yZVwiLFxuICAgICAgICBcIioubWRcIixcbiAgICAgIF0sXG4gICAgICBmaWxlID0gXCJidWlsZGVyLkRvY2tlcmZpbGVcIixcbiAgICAgIHBsYXRmb3JtLFxuICAgICAgc2tpcEJ1aWxkID0gZmFsc2UsXG4gICAgfSA9IHRoaXMucHJvcHMuYnVpbGRlckltYWdlUHJvcHMgfHwge307XG4gICAgY29uc3Qgc3JjRG9ja2VyZmlsZVBhdGggPVxuICAgICAgdGhpcy5wcm9wcy5idWlsZGVySW1hZ2VQcm9wcz8uY3VzdG9tRG9ja2VyZmlsZVBhdGggfHxcbiAgICAgIGpvaW4oX19kaXJuYW1lLCBmaWxlKTtcbiAgICBjb25zdCBkZXN0RG9ja2VyZmlsZVBhdGggPSBqb2luKHRoaXMucHJvcHMuYnVpbGRDb250ZXh0LCBmaWxlKTtcbiAgICBjcFN5bmMoc3JjRG9ja2VyZmlsZVBhdGgsIGRlc3REb2NrZXJmaWxlUGF0aCk7XG4gICAgY29uc3QgZXhjbHVkZUZpbGVTdHIgPSBleGNsdWRlPy5qb2luKFwiXFxuXCIpO1xuICAgIGNvbnN0IGRvY2tlcmlnbm9yZUZpbGVQYXRoID0gam9pbih0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCwgXCIuZG9ja2VyaWdub3JlXCIpO1xuICAgIHdyaXRlRmlsZVN5bmMoZG9ja2VyaWdub3JlRmlsZVBhdGgsIGV4Y2x1ZGVGaWxlU3RyKTtcbiAgICBjb25zdCBidWlsZEFyZ3NTdHIgPSB0aGlzLmNyZWF0ZUJ1aWxkQXJnU3RyKGJ1aWxkQXJncyk7XG4gICAgY29uc3QgbG9hZEVudlZhcnNTY3JpcHRQYXRoID0gam9pbihcbiAgICAgIHRoaXMucHJvcHMuYnVpbGRDb250ZXh0LFxuICAgICAgXCJjZGstbmV4dGpzLWxvYWQtZW52LXZhcnMuc2hcIixcbiAgICApO1xuICAgIGlmIChlbnZWYXJOYW1lcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuY3JlYXRlTG9hZEVudlZhcnNTY3JpcHQoZW52VmFyTmFtZXMsIGxvYWRFbnZWYXJzU2NyaXB0UGF0aCk7XG4gICAgfVxuICAgIGNvbnN0IGNvbW1hbmQgPVxuICAgICAgdGhpcy5wcm9wcy5idWlsZGVySW1hZ2VQcm9wcz8uY29tbWFuZCB8fFxuICAgICAgYCR7dGhpcy5jb250YWluZXJSdW50aW1lfSBidWlsZCAke3BsYXRmb3JtID8gYC0tcGxhdGZvcm0gJHtwbGF0Zm9ybS5wbGF0Zm9ybX1gIDogXCJcIn0gLS1maWxlICR7ZmlsZX0gLS10YWcgJHt0aGlzLmJ1aWxkZXJJbWFnZVRhZ30gJHtidWlsZEFyZ3NTdHJ9IC5gO1xuICAgIGxldCBlcnJvcjogdW5rbm93bjtcbiAgICB0cnkge1xuICAgICAgaWYgKCFza2lwQnVpbGQpIHtcbiAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgYEJ1aWxkaW5nIGltYWdlIHdpdGggY29tbWFuZDogJHtjb21tYW5kfSBpbiBkaXJlY3Rvcnk6ICR7dGhpcy5wcm9wcy5idWlsZENvbnRleHR9YCxcbiAgICAgICAgKTtcbiAgICAgICAgZXhlY1N5bmMoY29tbWFuZCwge1xuICAgICAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICAgICAgICBjd2Q6IHRoaXMucHJvcHMuYnVpbGRDb250ZXh0LFxuICAgICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgZXJyb3IgPSBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHJtU3luYyhkZXN0RG9ja2VyZmlsZVBhdGgpO1xuICAgICAgcm1TeW5jKGRvY2tlcmlnbm9yZUZpbGVQYXRoKTtcbiAgICAgIGlmIChlbnZWYXJOYW1lcy5sZW5ndGgpIHtcbiAgICAgICAgcm1TeW5jKGxvYWRFbnZWYXJzU2NyaXB0UGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlcnJvcikgdGhyb3cgZXJyb3I7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnVpbGRlckltYWdlRGlnZXN0KCk7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVCdWlsZEFyZ1N0cihcbiAgICBidWlsZEFyZ3M6IFJlcXVpcmVkPEJ1aWxkZXJJbWFnZVByb3BzPltcImJ1aWxkQXJnc1wiXSxcbiAgKSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGJ1aWxkQXJncykucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgcmV0dXJuIGAke2FjY30gLS1idWlsZC1hcmcgJHtrZXl9PVwiJHt2YWx1ZX1cImA7XG4gICAgfSwgXCJcIik7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVMb2FkRW52VmFyc1NjcmlwdChcbiAgICBlbnZWYXJOYW1lczogUmVxdWlyZWQ8QnVpbGRlckltYWdlUHJvcHM+W1wiZW52VmFyTmFtZXNcIl0gPSBbXSxcbiAgICBsb2FkRW52VmFyc1NjcmlwdFBhdGg6IHN0cmluZyxcbiAgKSB7XG4gICAgbGV0IGxvYWRFbnZWYXJzU2NyaXB0ID1cbiAgICAgIFwiIyBEeW5hbWljYWxseSBnZW5lcmF0ZWQgc2NyaXB0IHRvIGxvYWQgZW52IHZhcnMgaW50byBidWlsZCBjb250YWluZXJcIjtcbiAgICBmb3IgKGNvbnN0IGVudlZhck5hbWUgb2YgZW52VmFyTmFtZXMpIHtcbiAgICAgIGxvYWRFbnZWYXJzU2NyaXB0ICs9IGBcXG5leHBvcnQgJHtlbnZWYXJOYW1lfT0ke3Byb2Nlc3MuZW52W2VudlZhck5hbWVdIHx8ICdcIlwiJ31gO1xuICAgIH1cbiAgICB3cml0ZUZpbGVTeW5jKGxvYWRFbnZWYXJzU2NyaXB0UGF0aCwgbG9hZEVudlZhcnNTY3JpcHQpO1xuICB9XG4gIHByaXZhdGUgZ2V0QnVpbGRlckltYWdlRGlnZXN0KCkge1xuICAgIGNvbnN0IGRpZ2VzdCA9IGV4ZWNTeW5jKFxuICAgICAgYCR7dGhpcy5jb250YWluZXJSdW50aW1lfSBpbWFnZXMgLS1uby10cnVuYyAtLXF1aWV0ICR7dGhpcy5idWlsZGVySW1hZ2VUYWd9YCxcbiAgICAgIHsgZW5jb2Rpbmc6IFwidXRmLThcIiB9LFxuICAgICk7XG4gICAgcmV0dXJuIGRpZ2VzdC5zbGljZSgwLCAtMSk7IC8vIHJlbW92ZSB0cmFpbGluZyBcXG5cbiAgfVxuICBwcml2YXRlIGdldFB1YmxpY0RpckVudHJpZXMoKTogUHVibGljRGlyRW50cnlbXSB7XG4gICAgY29uc3QgcHVibGljRGlyUGF0aCA9IGpvaW5Qb3NpeChcbiAgICAgIFwiL2FwcFwiLFxuICAgICAgdGhpcy5wcm9wcy5yZWxhdGl2ZVBhdGhUb1dvcmtzcGFjZSB8fCBcIlwiLFxuICAgICAgXCJwdWJsaWNcIixcbiAgICApO1xuICAgIGNvbnN0IHB1YmxpY0RpckVudHJpZXNTdHJpbmcgPSBleGVjU3luYyhcbiAgICAgIGAke3RoaXMuY29udGFpbmVyUnVudGltZX0gcnVuICR7dGhpcy5idWlsZGVySW1hZ2VUYWd9IG5vZGUgLWUgXCJjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShmcy5yZWFkZGlyU3luYygnJHtwdWJsaWNEaXJQYXRofScsIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KS5tYXAoKGUpID0+ICh7IG5hbWU6IGUubmFtZSwgaXNEaXI6IGUuaXNEaXJlY3RvcnkoKX0pKSkpXCJgLFxuICAgICAgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0sXG4gICAgKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShwdWJsaWNEaXJFbnRyaWVzU3RyaW5nKSBhcyBQdWJsaWNEaXJFbnRyeVtdO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlSW1hZ2VGb3JOZXh0anNDb250YWluZXJzKCkge1xuICAgIGNvbnN0IGRvY2tlcmZpbGVOYW1lUHJlZml4ID1cbiAgICAgIHRoaXMucHJvcHMubmV4dGpzVHlwZSA9PT0gTmV4dGpzVHlwZS5HTE9CQUxfQ09OVEFJTkVSU1xuICAgICAgICA/IFwiZ2xvYmFsXCJcbiAgICAgICAgOiBcInJlZ2lvbmFsXCI7XG4gICAgY29uc3QgZG9ja2VyZmlsZU5hbWUgPSBgJHtkb2NrZXJmaWxlTmFtZVByZWZpeH0tY29udGFpbmVycy5Eb2NrZXJmaWxlYDtcbiAgICAvLyBjZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9IGFscmVhZHkgY29udGFpbnMgYnVpbHQgbmV4dGpzIGFwcCB3aGljaCB3ZSdsbFxuICAgIC8vIGBDT1BZIC0tZnJvbT1jZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9YCBzbyB3ZSBqdXN0IG5lZWQgdGhlIERvY2tlcmZpbGVcbiAgICAvLyBhbmQgc3ltbGluay50cyBzY3JpcHQgd2hpY2ggaXMgaW4gbGliL25leHRqcy1idWlsZCBmb2xkZXIuXG4gICAgY29uc3QgYnVpbGRDb250ZXh0ID0gam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcImxpYlwiLCBcIm5leHRqcy1idWlsZFwiKTtcbiAgICBjb25zdCBkb2NrZXJJbWFnZUFzc2V0ID0gbmV3IERvY2tlckltYWdlQXNzZXQodGhpcywgXCJJbWFnZVwiLCB7XG4gICAgICBidWlsZEFyZ3M6IHtcbiAgICAgICAgQlVJTERFUl9JTUFHRV9UQUc6IHRoaXMuYnVpbGRlckltYWdlVGFnLFxuICAgICAgICBEQVRBX0NBQ0hFX0RJUixcbiAgICAgICAgRlVMTF9ST1VURV9DQUNIRV9ESVIsXG4gICAgICAgIFBVQkxJQ19ESVIsXG4gICAgICAgIElNQUdFX0NBQ0hFX0RJUixcbiAgICAgICAgTU9VTlRfUEFUSDogdGhpcy5jb250YWluZXJNb3VudFBhdGhGb3JFZnMsXG4gICAgICAgIFJFTEFUSVZFX1BBVEhfVE9fV09SS1NQQUNFOiB0aGlzLnJlbGF0aXZlUGF0aFRvV29ya3NwYWNlLFxuICAgICAgfSxcbiAgICAgIGRpcmVjdG9yeTogYnVpbGRDb250ZXh0LFxuICAgICAgZXhjbHVkZTogW1xuICAgICAgICBcIipcIixcbiAgICAgICAgYCEke2RvY2tlcmZpbGVOYW1lfWAsXG4gICAgICAgIFwiIXN5bWxpbmsubWpzXCIsXG4gICAgICAgIFwiIWFkZC1jYWNoZS1oYW5kbGVyLm1qc1wiLFxuICAgICAgXSxcbiAgICAgIGV4dHJhSGFzaDogdGhpcy5idWlsZEltYWdlRGlnZXN0LCAvLyByZWJ1aWxkIHdoZW4gYnVpbGRlciBoYXNoIGNoYW5nZXNcbiAgICAgIGZpbGU6IGRvY2tlcmZpbGVOYW1lLFxuICAgICAgaWdub3JlTW9kZTogSWdub3JlTW9kZS5ET0NLRVIsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzQ29udGFpbmVyc0RvY2tlckltYWdlQXNzZXRQcm9wcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZG9ja2VySW1hZ2VBc3NldDtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW1hZ2VGb3JOZXh0anNGdW5jdGlvbnMoKSB7XG4gICAgY29uc3QgZG9ja2VyZmlsZU5hbWUgPSBcImdsb2JhbC1mdW5jdGlvbnMuRG9ja2VyZmlsZVwiO1xuICAgIC8vIGNkay1uZXh0anMvYnVpbGRlci17aGFzaH0gYWxyZWFkeSBjb250YWlucyBidWlsdCBuZXh0anMgYXBwIHdoaWNoIHdlJ2xsXG4gICAgLy8gYENPUFkgLS1mcm9tPWNkay1uZXh0anMvYnVpbGRlci17aGFzaH1gIHNvIHdlIGp1c3QgbmVlZCB0aGUgRG9ja2VyZmlsZVxuICAgIC8vIGFuZCBzeW1saW5rLnRzIHNjcmlwdCB3aGljaCBpcyBpbiBsaWIvbmV4dGpzLWJ1aWxkIGZvbGRlci5cbiAgICBjb25zdCBidWlsZENvbnRleHQgPSBqb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwibGliXCIsIFwibmV4dGpzLWJ1aWxkXCIpO1xuICAgIGNvbnN0IGRvY2tlckltYWdlQ29kZSA9IERvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChidWlsZENvbnRleHQsIHtcbiAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICBCVUlMREVSX0lNQUdFX1RBRzogdGhpcy5idWlsZGVySW1hZ2VUYWcsXG4gICAgICAgIERBVEFfQ0FDSEVfRElSLFxuICAgICAgICBGVUxMX1JPVVRFX0NBQ0hFX0RJUixcbiAgICAgICAgUFVCTElDX0RJUixcbiAgICAgICAgSU1BR0VfQ0FDSEVfRElSLFxuICAgICAgICBNT1VOVF9QQVRIOiB0aGlzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgICAgUkVMQVRJVkVfUEFUSF9UT19XT1JLU1BBQ0U6IHRoaXMucmVsYXRpdmVQYXRoVG9Xb3Jrc3BhY2UsXG4gICAgICB9LFxuICAgICAgY21kOiBbXCJub2RlXCIsIHRoaXMucmVsYXRpdmVQYXRoVG9FbnRyeXBvaW50XSxcbiAgICAgIGV4Y2x1ZGU6IFtcbiAgICAgICAgXCIqXCIsXG4gICAgICAgIGAhJHtkb2NrZXJmaWxlTmFtZX1gLFxuICAgICAgICBcIiFzeW1saW5rLm1qc1wiLFxuICAgICAgICBcIiFhZGQtY2FjaGUtaGFuZGxlci5tanNcIixcbiAgICAgICAgXCIhY2FjaGUtaGFuZGxlci5janNcIixcbiAgICAgIF0sXG4gICAgICBleHRyYUhhc2g6IHRoaXMuYnVpbGRJbWFnZURpZ2VzdCwgLy8gcmVidWlsZCB3aGVuIGJ1aWxkZXIgaGFzaCBjaGFuZ2VzXG4gICAgICBmaWxlOiBkb2NrZXJmaWxlTmFtZSxcbiAgICAgIGlnbm9yZU1vZGU6IElnbm9yZU1vZGUuRE9DS0VSLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0Z1bmN0aW9uc0Fzc2V0SW1hZ2VDb2RlUHJvcHMsXG4gICAgfSk7XG4gICAgLy8gVE9ETzogaG93IHRvIGNsZWFuIHVwIHRlbXAgZGlyP1xuICAgIC8vIHJtU3luYyh0ZW1wRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICByZXR1cm4gZG9ja2VySW1hZ2VDb2RlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbWFnZUZvck5leHRqc0Fzc2V0c0RlcGxveW1lbnQoKSB7XG4gICAgY29uc3QgZG9ja2VyZmlsZU5hbWUgPSBcImFzc2V0cy1kZXBsb3ltZW50LkRvY2tlcmZpbGVcIjtcbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIGJ1bmRsZWQgY3VzdG9tIHJlc291cmNlIGNvZGVcbiAgICAgKi9cbiAgICBjb25zdCBsYW1iZGFCdWlsZENvbnRleHQgPSBqb2luKFxuICAgICAgX19kaXJuYW1lLFxuICAgICAgXCIuLlwiLFxuICAgICAgXCIuLlwiLFxuICAgICAgXCJhc3NldHNcIixcbiAgICAgIFwibGFtYmRhc1wiLFxuICAgICAgXCJhc3NldHMtZGVwbG95bWVudFwiLFxuICAgICAgXCJhc3NldHMtZGVwbG95bWVudC5sYW1iZGFcIixcbiAgICApO1xuICAgIC8vIGNkay1uZXh0anMvYnVpbGRlci17aGFzaH0gYWxyZWFkeSBjb250YWlucyBOZXh0LmpzIGJ1aWx0IGNvZGUgd2hpY2hcbiAgICAvLyB3ZSdsbCBjb3B5IGludG8gZmluYWwgaW1hZ2UuIEJ1dCB3ZSBhbHNvIG5lZWQgbGFtYmRhIGNvZGUgdG8gcnVuXG4gICAgLy8gYXNzZXQgZGVwbG95bWVudCB0YXNrc1xuICAgIGNvbnN0IGRvY2tlckltYWdlQ29kZSA9IERvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChsYW1iZGFCdWlsZENvbnRleHQsIHtcbiAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICBCVUlMREVSX0lNQUdFX1RBRzogdGhpcy5idWlsZGVySW1hZ2VUYWcsXG4gICAgICAgIFJFTEFUSVZFX1BBVEhfVE9fV09SS1NQQUNFOiB0aGlzLnJlbGF0aXZlUGF0aFRvV29ya3NwYWNlLFxuICAgICAgfSxcbiAgICAgIGV4dHJhSGFzaDogdGhpcy5idWlsZEltYWdlRGlnZXN0LCAvLyByZWJ1aWxkIHdoZW4gYnVpbGRlciBoYXNoIGNoYW5nZXNcbiAgICAgIGZpbGU6IGRvY2tlcmZpbGVOYW1lLFxuICAgICAgaWdub3JlTW9kZTogSWdub3JlTW9kZS5ET0NLRVIsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzQXNzZXREZXBsb3ltZW50QXNzZXRJbWFnZUNvZGVQcm9wcyxcbiAgICB9KTtcbiAgICByZXR1cm4gZG9ja2VySW1hZ2VDb2RlO1xuICB9XG59XG4iXX0=
@@ -16,22 +16,25 @@ RUN adduser --system --uid 1001 nextjs
16
16
 
17
17
  ARG RELATIVE_PATH_TO_WORKSPACE
18
18
  COPY --from=builder --chown=nextjs:nodejs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/standalone ./
19
+ # static properties needed b/c we don't have cloudfront to serve them from s3
19
20
  COPY --from=builder --chown=nextjs:nodejs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/static ./$RELATIVE_PATH_TO_WORKSPACE/.next/static
20
- COPY --from=builder --chown=nextjs:nodejs /app/$RELATIVE_PATH_TO_WORKSPACE/public ./$RELATIVE_PATH_TO_WORKSPACE/public
21
- COPY --chown=nextjs:nodejs ./symlink-full-route-cache.mjs ./
21
+ COPY --chown=nextjs:nodejs ./symlink.mjs ./
22
22
  ARG MOUNT_PATH
23
23
  ARG DATA_CACHE_DIR
24
24
  ARG FULL_ROUTE_CACHE_DIR
25
25
  ARG IMAGE_CACHE_DIR
26
+ ARG PUBLIC_DIR
26
27
  RUN mkdir -p $MOUNT_PATH/$DATA_CACHE_DIR && \
27
28
  mkdir -p $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR && \
28
29
  mkdir -p $MOUNT_PATH/$IMAGE_CACHE_DIR && \
30
+ mkdir -p $MOUNT_PATH/$PUBLIC_DIR && \
29
31
  chmod -R u+rw $MOUNT_PATH && \
30
32
  mkdir -p ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache && \
31
33
  ln -s $MOUNT_PATH/$DATA_CACHE_DIR ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache/fetch-cache && \
32
34
  ln -s $MOUNT_PATH/$IMAGE_CACHE_DIR ./$RELATIVE_PATH_TO_WORKSPACE/.next/cache/images && \
33
- node symlink-full-route-cache.mjs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/server/app $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR && \
34
- rm symlink-full-route-cache.mjs
35
+ ln -s $MOUNT_PATH/$PUBLIC_DIR ./$RELATIVE_PATH_TO_WORKSPACE/public && \
36
+ node symlink.mjs /app/$RELATIVE_PATH_TO_WORKSPACE/.next/server/app $MOUNT_PATH/$FULL_ROUTE_CACHE_DIR "html,rsc,meta" && \
37
+ rm -r symlink.mjs
35
38
 
36
39
  USER nextjs
37
40
 
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const node_fs_1 = require("node:fs");
4
+ const node_path_1 = require("node:path");
5
+ /*
6
+ CLI Tool to create symlinks between src and dest paths and removing the original
7
+ src files. Also, optionally filters based on file extension.
8
+
9
+ Example: Used to symlink .next/server/app -> /mnt/cdk-nextjs/full-route-cache.
10
+ See docs/dev.md for details.
11
+ */
12
+ const [sourcePathArg, destPathArg, _extensions] = process.argv.slice(2);
13
+ if (!sourcePathArg || !destPathArg) {
14
+ console.error("Usage: node symlink.mjs <sourcePath> <destPath> [extensions]");
15
+ process.exit(1);
16
+ }
17
+ // default to all file extensions
18
+ const extensionsArg = _extensions ? _extensions.split(",") : ["*"];
19
+ createSymlinks(sourcePathArg, destPathArg, extensionsArg);
20
+ /**
21
+ * Creates symbolic links recursively from `srcPath` to `destPath`.
22
+ */
23
+ function createSymlinks(srcPath, destPath, extensions) {
24
+ // Create the destination directory if it doesn't exist
25
+ (0, node_fs_1.mkdirSync)(destPath, { recursive: true });
26
+ const entries = (0, node_fs_1.readdirSync)(srcPath, { withFileTypes: true });
27
+ for (const entry of entries) {
28
+ const entryPath = (0, node_path_1.join)(srcPath, entry.name);
29
+ if (entry.isDirectory()) {
30
+ // If the entry is a directory, recurse into it
31
+ createSymlinks(entryPath, (0, node_path_1.join)(destPath, entry.name), extensions);
32
+ }
33
+ else if (entry.isFile()) {
34
+ const ext = (0, node_path_1.extname)(entryPath).slice(1);
35
+ // Check if the file's extensions match give extensions
36
+ if (extensions.includes("*") || extensions.includes(ext)) {
37
+ // Create a symbolic link for html, rsc, or meta files
38
+ const symlink = entryPath;
39
+ const target = (0, node_path_1.join)(destPath, entry.name);
40
+ // console.log(`linking ${symlink} -> ${target}`);
41
+ (0, node_fs_1.rmSync)(symlink); // symlink path must not exist in order to create
42
+ (0, node_fs_1.symlinkSync)(target, symlink, "file");
43
+ }
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ltbGluay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0anMtYnVpbGQvc3ltbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFDQUFzRTtBQUN0RSx5Q0FBMEM7QUFFMUM7Ozs7OztFQU1FO0FBRUYsTUFBTSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUduRSxDQUFDO0FBQ0osSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25DLE9BQU8sQ0FBQyxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztJQUM5RSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUM7QUFDRCxpQ0FBaUM7QUFDakMsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25FLGNBQWMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBRTFEOztHQUVHO0FBQ0gsU0FBUyxjQUFjLENBQ3JCLE9BQWUsRUFDZixRQUFnQixFQUNoQixVQUFvQjtJQUVwQix1REFBdUQ7SUFDdkQsSUFBQSxtQkFBUyxFQUFDLFFBQVEsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLE1BQU0sT0FBTyxHQUFHLElBQUEscUJBQVcsRUFBQyxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RCxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLElBQUEsZ0JBQUksRUFBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDeEIsK0NBQStDO1lBQy9DLGNBQWMsQ0FBQyxTQUFTLEVBQUUsSUFBQSxnQkFBSSxFQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEUsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDMUIsTUFBTSxHQUFHLEdBQUcsSUFBQSxtQkFBTyxFQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV4Qyx1REFBdUQ7WUFDdkQsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekQsc0RBQXNEO2dCQUN0RCxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUM7Z0JBQzFCLE1BQU0sTUFBTSxHQUFHLElBQUEsZ0JBQUksRUFBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxQyxrREFBa0Q7Z0JBQ2xELElBQUEsZ0JBQU0sRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGlEQUFpRDtnQkFDbEUsSUFBQSxxQkFBVyxFQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdkMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1rZGlyU3luYywgcmVhZGRpclN5bmMsIHJtU3luYywgc3ltbGlua1N5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHsgZXh0bmFtZSwgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcblxuLypcbiAgQ0xJIFRvb2wgdG8gY3JlYXRlIHN5bWxpbmtzIGJldHdlZW4gc3JjIGFuZCBkZXN0IHBhdGhzIGFuZCByZW1vdmluZyB0aGUgb3JpZ2luYWxcbiAgc3JjIGZpbGVzLiBBbHNvLCBvcHRpb25hbGx5IGZpbHRlcnMgYmFzZWQgb24gZmlsZSBleHRlbnNpb24uXG5cbiAgRXhhbXBsZTogVXNlZCB0byBzeW1saW5rIC5uZXh0L3NlcnZlci9hcHAgLT4gL21udC9jZGstbmV4dGpzL2Z1bGwtcm91dGUtY2FjaGUuXG4gIFNlZSBkb2NzL2Rldi5tZCBmb3IgZGV0YWlscy5cbiovXG5cbmNvbnN0IFtzb3VyY2VQYXRoQXJnLCBkZXN0UGF0aEFyZywgX2V4dGVuc2lvbnNdID0gcHJvY2Vzcy5hcmd2LnNsaWNlKDIpIGFzIChcbiAgfCBzdHJpbmdcbiAgfCB1bmRlZmluZWRcbilbXTtcbmlmICghc291cmNlUGF0aEFyZyB8fCAhZGVzdFBhdGhBcmcpIHtcbiAgY29uc29sZS5lcnJvcihcIlVzYWdlOiBub2RlIHN5bWxpbmsubWpzIDxzb3VyY2VQYXRoPiA8ZGVzdFBhdGg+IFtleHRlbnNpb25zXVwiKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufVxuLy8gZGVmYXVsdCB0byBhbGwgZmlsZSBleHRlbnNpb25zXG5jb25zdCBleHRlbnNpb25zQXJnID0gX2V4dGVuc2lvbnMgPyBfZXh0ZW5zaW9ucy5zcGxpdChcIixcIikgOiBbXCIqXCJdO1xuY3JlYXRlU3ltbGlua3Moc291cmNlUGF0aEFyZywgZGVzdFBhdGhBcmcsIGV4dGVuc2lvbnNBcmcpO1xuXG4vKipcbiAqIENyZWF0ZXMgc3ltYm9saWMgbGlua3MgcmVjdXJzaXZlbHkgZnJvbSBgc3JjUGF0aGAgdG8gYGRlc3RQYXRoYC5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3ltbGlua3MoXG4gIHNyY1BhdGg6IHN0cmluZyxcbiAgZGVzdFBhdGg6IHN0cmluZyxcbiAgZXh0ZW5zaW9uczogc3RyaW5nW10sXG4pOiB2b2lkIHtcbiAgLy8gQ3JlYXRlIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkgaWYgaXQgZG9lc24ndCBleGlzdFxuICBta2RpclN5bmMoZGVzdFBhdGgsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuXG4gIGNvbnN0IGVudHJpZXMgPSByZWFkZGlyU3luYyhzcmNQYXRoLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk7XG4gIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgIGNvbnN0IGVudHJ5UGF0aCA9IGpvaW4oc3JjUGF0aCwgZW50cnkubmFtZSk7XG4gICAgaWYgKGVudHJ5LmlzRGlyZWN0b3J5KCkpIHtcbiAgICAgIC8vIElmIHRoZSBlbnRyeSBpcyBhIGRpcmVjdG9yeSwgcmVjdXJzZSBpbnRvIGl0XG4gICAgICBjcmVhdGVTeW1saW5rcyhlbnRyeVBhdGgsIGpvaW4oZGVzdFBhdGgsIGVudHJ5Lm5hbWUpLCBleHRlbnNpb25zKTtcbiAgICB9IGVsc2UgaWYgKGVudHJ5LmlzRmlsZSgpKSB7XG4gICAgICBjb25zdCBleHQgPSBleHRuYW1lKGVudHJ5UGF0aCkuc2xpY2UoMSk7XG5cbiAgICAgIC8vIENoZWNrIGlmIHRoZSBmaWxlJ3MgZXh0ZW5zaW9ucyBtYXRjaCBnaXZlIGV4dGVuc2lvbnNcbiAgICAgIGlmIChleHRlbnNpb25zLmluY2x1ZGVzKFwiKlwiKSB8fCBleHRlbnNpb25zLmluY2x1ZGVzKGV4dCkpIHtcbiAgICAgICAgLy8gQ3JlYXRlIGEgc3ltYm9saWMgbGluayBmb3IgaHRtbCwgcnNjLCBvciBtZXRhIGZpbGVzXG4gICAgICAgIGNvbnN0IHN5bWxpbmsgPSBlbnRyeVBhdGg7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGpvaW4oZGVzdFBhdGgsIGVudHJ5Lm5hbWUpO1xuICAgICAgICAvLyBjb25zb2xlLmxvZyhgbGlua2luZyAke3N5bWxpbmt9IC0+ICR7dGFyZ2V0fWApO1xuICAgICAgICBybVN5bmMoc3ltbGluayk7IC8vIHN5bWxpbmsgcGF0aCBtdXN0IG5vdCBleGlzdCBpbiBvcmRlciB0byBjcmVhdGVcbiAgICAgICAgc3ltbGlua1N5bmModGFyZ2V0LCBzeW1saW5rLCBcImZpbGVcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,28 @@
1
+ // src/nextjs-build/symlink.ts
2
+ import { mkdirSync, readdirSync, rmSync, symlinkSync } from "node:fs";
3
+ import { extname, join } from "node:path";
4
+ var [sourcePathArg, destPathArg, _extensions] = process.argv.slice(2);
5
+ if (!sourcePathArg || !destPathArg) {
6
+ console.error("Usage: node symlink.mjs <sourcePath> <destPath> [extensions]");
7
+ process.exit(1);
8
+ }
9
+ var extensionsArg = _extensions ? _extensions.split(",") : ["*"];
10
+ createSymlinks(sourcePathArg, destPathArg, extensionsArg);
11
+ function createSymlinks(srcPath, destPath, extensions) {
12
+ mkdirSync(destPath, { recursive: true });
13
+ const entries = readdirSync(srcPath, { withFileTypes: true });
14
+ for (const entry of entries) {
15
+ const entryPath = join(srcPath, entry.name);
16
+ if (entry.isDirectory()) {
17
+ createSymlinks(entryPath, join(destPath, entry.name), extensions);
18
+ } else if (entry.isFile()) {
19
+ const ext = extname(entryPath).slice(1);
20
+ if (extensions.includes("*") || extensions.includes(ext)) {
21
+ const symlink = entryPath;
22
+ const target = join(destPath, entry.name);
23
+ rmSync(symlink);
24
+ symlinkSync(target, symlink, "file");
25
+ }
26
+ }
27
+ }
28
+ }
@@ -145,5 +145,5 @@ class NextjsContainers extends constructs_1.Construct {
145
145
  }
146
146
  exports.NextjsContainers = NextjsContainers;
147
147
  _a = JSII_RTTI_SYMBOL_1;
148
- NextjsContainers[_a] = { fqn: "cdk-nextjs.NextjsContainers", version: "0.1.1" };
148
+ NextjsContainers[_a] = { fqn: "cdk-nextjs.NextjsContainers", version: "0.1.3" };
149
149
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWNvbnRhaW5lcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dGpzLWNvbXB1dGUvbmV4dGpzLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBdUM7QUFFdkMsaURBUzZCO0FBQzdCLG1FQUdzQztBQUV0Qyx1RkFBb0Y7QUFDcEYsMkNBQXVDO0FBb0J2Qzs7O0dBR0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLHNCQUFTO0lBTzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBNEI7UUFDcEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUksaUJBQU8sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQzlDLDhCQUE4QixFQUFFLElBQUk7WUFDcEMsbUJBQW1CLEVBQUUsMkJBQWlCLENBQUMsT0FBTztZQUM5QyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ25CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsZUFBZTtTQUN6QyxDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBQ08sc0JBQXNCO1FBQzVCLElBQUksZUFBZSxHQUFnQyxT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QU0sQ0FBQztRQUN2RSxPQUFPLEdBQUcsUUFBUSxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUNwRixDQUFDOztBQTFKSCw0Q0EySkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgRG9ja2VySW1hZ2VBc3NldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNyLWFzc2V0c1wiO1xuaW1wb3J0IHtcbiAgQXdzTG9nRHJpdmVyTW9kZSxcbiAgQ2ZuVGFza0RlZmluaXRpb24sXG4gIENsdXN0ZXIsXG4gIENvbnRhaW5lckltYWdlLFxuICBDb250YWluZXJJbnNpZ2h0cyxcbiAgQ3B1QXJjaGl0ZWN0dXJlLFxuICBIZWFsdGhDaGVjayxcbiAgTG9nRHJpdmVycyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkRmFyZ2F0ZVNlcnZpY2UsXG4gIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkRmFyZ2F0ZVNlcnZpY2VQcm9wcyxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3MtcGF0dGVybnNcIjtcbmltcG9ydCB7IEZpbGVTeXN0ZW0gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVmc1wiO1xuaW1wb3J0IHsgQXBwbGljYXRpb25Qcm90b2NvbFZlcnNpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBOZXh0anNDb21wdXRlQmFzZVByb3BzIH0gZnJvbSBcIi4vbmV4dGpzLWNvbXB1dGUtYmFzZS1wcm9wc1wiO1xuaW1wb3J0IHsgTmV4dGpzVHlwZSB9IGZyb20gXCIuLi9jb21tb25cIjtcbmltcG9ydCB7IE9wdGlvbmFsQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRUYXNrSW1hZ2VPcHRpb25zIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRUYXNrSW1hZ2VPcHRpb25zXCI7XG5pbXBvcnQgeyBPcHRpb25hbENsdXN0ZXJQcm9wcyB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbENsdXN0ZXJQcm9wc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0NvbnRhaW5lcnNPdmVycmlkZXMge1xuICByZWFkb25seSBlY3NDbHVzdGVyUHJvcHM/OiBPcHRpb25hbENsdXN0ZXJQcm9wcztcbiAgcmVhZG9ubHkgYWxiRmFyZ2F0ZVNlcnZpY2VQcm9wcz86IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkRmFyZ2F0ZVNlcnZpY2VQcm9wcztcbiAgcmVhZG9ubHkgdGFza0ltYWdlT3B0aW9ucz86IE9wdGlvbmFsQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRUYXNrSW1hZ2VPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0NvbnRhaW5lcnNQcm9wcyBleHRlbmRzIE5leHRqc0NvbXB1dGVCYXNlUHJvcHMge1xuICByZWFkb25seSBkb2NrZXJJbWFnZUFzc2V0OiBEb2NrZXJJbWFnZUFzc2V0O1xuICByZWFkb25seSBmaWxlU3lzdGVtOiBGaWxlU3lzdGVtO1xuICByZWFkb25seSBuZXh0anNUeXBlOiBOZXh0anNUeXBlO1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNDb250YWluZXJzT3ZlcnJpZGVzO1xuICByZWFkb25seSByZWxhdGl2ZUVudHJ5cG9pbnRQYXRoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogTmV4dC5qcyBsb2FkIGJhbGFuY2VkIHZpYSBBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VyIHdpdGggY29udGFpbmVycyB2aWEgQVdTXG4gKiBGYXJnYXRlLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzQ29udGFpbmVycyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGFsYkZhcmdhdGVTZXJ2aWNlOiBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlO1xuICBlY3NDbHVzdGVyOiBDbHVzdGVyO1xuICB1cmw6IHN0cmluZztcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNDb250YWluZXJzUHJvcHM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5leHRqc0NvbnRhaW5lcnNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuZWNzQ2x1c3RlciA9IHRoaXMuY3JlYXRlRWNzQ2x1c3RlcigpO1xuICAgIHRoaXMuYWxiRmFyZ2F0ZVNlcnZpY2UgPSB0aGlzLmNyZWF0ZUFsYkZhcmdhdGVTZXZpY2UoKTtcbiAgICB0aGlzLmNvbmZpZ3VyZUhlYWx0aENoZWNrKCk7XG4gICAgdGhpcy5hdHRhY2hGaWxlU3lzdGVtKCk7XG4gICAgdGhpcy51cmwgPSB0aGlzLmdldFVybCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVFY3NDbHVzdGVyKCk6IENsdXN0ZXIge1xuICAgIGNvbnN0IGNsdXN0ZXIgPSBuZXcgQ2x1c3Rlcih0aGlzLCBcIkVjc0NsdXN0ZXJcIiwge1xuICAgICAgZW5hYmxlRmFyZ2F0ZUNhcGFjaXR5UHJvdmlkZXJzOiB0cnVlLFxuICAgICAgY29udGFpbmVySW5zaWdodHNWMjogQ29udGFpbmVySW5zaWdodHMuRU5BQkxFRCxcbiAgICAgIHZwYzogdGhpcy5wcm9wcy52cGMsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZWNzQ2x1c3RlclByb3BzLFxuICAgIH0pO1xuICAgIHJldHVybiBjbHVzdGVyO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlQWxiRmFyZ2F0ZVNldmljZSgpOiBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlIHtcbiAgICBsZXQgY3B1QXJjaGl0ZWN0dXJlOiBDcHVBcmNoaXRlY3R1cmUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKHByb2Nlc3MuYXJjaCA9PT0gXCJ4NjRcIikge1xuICAgICAgY3B1QXJjaGl0ZWN0dXJlID0gQ3B1QXJjaGl0ZWN0dXJlLlg4Nl82NDtcbiAgICB9IGVsc2UgaWYgKHByb2Nlc3MuYXJjaCA9PT0gXCJhcm02NFwiKSB7XG4gICAgICBjcHVBcmNoaXRlY3R1cmUgPSBDcHVBcmNoaXRlY3R1cmUuQVJNNjQ7XG4gICAgfVxuICAgIGNvbnN0IGFsYkZhcmdhdGVTZXJ2aWNlID0gbmV3IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkRmFyZ2F0ZVNlcnZpY2UoXG4gICAgICB0aGlzLFxuICAgICAgXCJBbGJGYXJnYXRlU2VydmljZVwiLFxuICAgICAge1xuICAgICAgICBjaXJjdWl0QnJlYWtlcjogeyByb2xsYmFjazogdHJ1ZSwgZW5hYmxlOiB0cnVlIH0sXG4gICAgICAgIGNsdXN0ZXI6IHRoaXMuZWNzQ2x1c3RlcixcbiAgICAgICAgY3B1OiAxMDI0LFxuICAgICAgICBoZWFsdGhDaGVja0dyYWNlUGVyaW9kOiBEdXJhdGlvbi5zZWNvbmRzKDEwKSxcbiAgICAgICAgbWF4SGVhbHRoeVBlcmNlbnQ6IDIwMCxcbiAgICAgICAgbWVtb3J5TGltaXRNaUI6IDIwNDgsXG4gICAgICAgIG1pbkhlYWx0aHlQZXJjZW50OiAxMDAsIC8vIG1haW50YWluIHNlcnZpY2UgYXZhaWxhYmlsaXR5IGR1cmluZyBkZXBsb3ltZW50XG4gICAgICAgIC8qXG4gICAgICAgICAgVGhpcyBwcm90b2NvbCB2ZXJzaW9uIGlzIGZvciB0aGUgdGFyZ2V0IGdyb3VwIChGYXJnYXRlKSwgbm90IHRoZSBBTEJcbiAgICAgICAgICBMaXN0ZW5lci4gRnJvbSBkb2NzLCBcIkFwcGxpY2F0aW9uIExvYWQgQmFsYW5jZXJzIHByb3ZpZGUgbmF0aXZlIHN1cHBvcnRcbiAgICAgICAgICBmb3IgSFRUUC8yIHdpdGggSFRUUFMgbGlzdGVuZXJzXCIuIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWxhc3RpY2xvYWRiYWxhbmNpbmcvbGF0ZXN0L2FwcGxpY2F0aW9uL2xvYWQtYmFsYW5jZXItbGlzdGVuZXJzLmh0bWxcbiAgICAgICAgICBOZXh0LmpzIGRlZmF1bHQgc2VydmVyIGRvZXMgbm90IHN1cHBvcnQgSFRUUC8yIGFzIGl0J3MgcmVjb21tZW5kZWRcbiAgICAgICAgICB0byBwcm94eSB5b3VyIE5leHQuanMgc2VydmVyIHdoaWNoIHdlJ3JlIGRvaW5nIHdpdGggQUxCLlxuICAgICAgICAgIEFsc28gbm90ZSwgQ2xvdWRGcm9udCBvbmx5IHN1cHBvcnRzIEhUVFAvMS4xIG9yaWdpbnMuXG4gICAgICAgICAgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkRnJvbnQvbGF0ZXN0L0RldmVsb3Blckd1aWRlL1JlcXVlc3RBbmRSZXNwb25zZUJlaGF2aW9yQ3VzdG9tT3JpZ2luLmh0bWwjUmVxdWVzdEN1c3RvbUhUVFBWZXJzaW9uXG4gICAgICAgICovXG4gICAgICAgIHByb3RvY29sVmVyc2lvbjogQXBwbGljYXRpb25Qcm90b2NvbFZlcnNpb24uSFRUUDEsXG4gICAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICAgIGNwdUFyY2hpdGVjdHVyZSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFza0ltYWdlT3B0aW9uczoge1xuICAgICAgICAgIGNvbW1hbmQ6IFtcIm5vZGVcIiwgdGhpcy5wcm9wcy5yZWxhdGl2ZUVudHJ5cG9pbnRQYXRoXSxcbiAgICAgICAgICBjb250YWluZXJOYW1lOiBcIm5leHRqc1wiLFxuICAgICAgICAgIGNvbnRhaW5lclBvcnQ6IDMwMDAsXG4gICAgICAgICAgaW1hZ2U6IENvbnRhaW5lckltYWdlLmZyb21Eb2NrZXJJbWFnZUFzc2V0KFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5kb2NrZXJJbWFnZUFzc2V0LFxuICAgICAgICAgICksXG4gICAgICAgICAgbG9nRHJpdmVyOiBMb2dEcml2ZXJzLmF3c0xvZ3Moe1xuICAgICAgICAgICAgc3RyZWFtUHJlZml4OiBcIm5leHRqc1wiLFxuICAgICAgICAgICAgbW9kZTogQXdzTG9nRHJpdmVyTW9kZS5OT05fQkxPQ0tJTkcsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LnRhc2tJbWFnZU9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5hbGJGYXJnYXRlU2VydmljZVByb3BzLFxuICAgICAgfSxcbiAgICApO1xuICAgIC8vIHJlcXVpcmVkIG9yIGhlYWx0aCBjaGVja3MgZmFpbFxuICAgIGFsYkZhcmdhdGVTZXJ2aWNlLnRhc2tEZWZpbml0aW9uLmRlZmF1bHRDb250YWluZXI/LmFkZEVudmlyb25tZW50KFxuICAgICAgXCJIT1NUTkFNRVwiLFxuICAgICAgXCIwLjAuMC4wXCIsXG4gICAgKTtcbiAgICAvLyBzZWN1cml0eSBiZXN0IHByYWN0aWNlIHRvIGVuZm9yY2UgcmVhZG9ubHkgZm9yIHJvb3QgZmlsZXN5c3RlbVxuICAgIC8vIGhvcGVmdWxseSBodHRwczovL2dpdGh1Yi5jb20vYXdzL2F3cy1jZGsvaXNzdWVzLzIzOTM1IHdpbGwgcmVzdWx0IGluXG4gICAgLy8gZWFzaWVyIHdheSB0byBzZXQgdGhpcyBwcm9wZXJ0eVxuICAgIGNvbnN0IGNmblRhc2tEZWYgPSBhbGJGYXJnYXRlU2VydmljZS50YXNrRGVmaW5pdGlvbi5ub2RlXG4gICAgICAuZGVmYXVsdENoaWxkIGFzIENmblRhc2tEZWZpbml0aW9uO1xuICAgIGNmblRhc2tEZWYuYWRkUHJvcGVydHlPdmVycmlkZShcbiAgICAgIFwiQ29udGFpbmVyRGVmaW5pdGlvbnMuMC5SZWFkb25seVJvb3RGaWxlc3lzdGVtXCIsXG4gICAgICB0cnVlLCAvLyBUT0RPOiBmaWd1cmUgd2h5IHN5bWxpbmsgbm90IGJlaW5nIGNyZWF0ZWQgYmV0d2VlbiBmdWxsIHJvdXRlIGNhY2hlXG4gICAgKTtcbiAgICAvLyBzcGVlZCB1cCBkZXBsb3ltZW50cyBieSBzaG9ydGVuaW5nIGRlcmVnaXN0cmF0aW9uIGRlbGF5XG4gICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkVDUy9sYXRlc3QvYmVzdHByYWN0aWNlc2d1aWRlL2xvYWQtYmFsYW5jZXItY29ubmVjdGlvbi1kcmFpbmluZy5odG1sXG4gICAgLy8gVE9ETzogZG9jdW1lbnQgdGhhdCB0aGlzIHNob3VsZCBiZSBpbmNyZWFzZWQgaWYgbG9uZyBsaXZlZCBjb25uZWN0aW9ucyBhcmUgZXhwZWN0ZWRcbiAgICBhbGJGYXJnYXRlU2VydmljZS50YXJnZXRHcm91cC5zZXRBdHRyaWJ1dGUoXG4gICAgICBcImRlcmVnaXN0cmF0aW9uX2RlbGF5LnRpbWVvdXRfc2Vjb25kc1wiLFxuICAgICAgXCIzMFwiLFxuICAgICk7XG4gICAgLy8gYmVzdCBwcmFjdGljZSB0byBlbmFibGUgY3Jvc3Mgem9uZSBsb2FkIGJhbGFuY2luZ1xuICAgIC8vIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VsYXN0aWNsb2FkYmFsYW5jaW5nL2xhdGVzdC9hcHBsaWNhdGlvbi9kaXNhYmxlLWNyb3NzLXpvbmUuaHRtbFxuICAgIGFsYkZhcmdhdGVTZXJ2aWNlLmxvYWRCYWxhbmNlci5zZXRBdHRyaWJ1dGUoXG4gICAgICBcImxvYWRfYmFsYW5jaW5nLmNyb3NzX3pvbmUuZW5hYmxlZFwiLFxuICAgICAgXCJ0cnVlXCIsXG4gICAgKTtcbiAgICByZXR1cm4gYWxiRmFyZ2F0ZVNlcnZpY2U7XG4gIH1cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBoZWFsdGggY2hlY2tzIGZvciBjb250YWluZXJzIGF0IEFMQiBhbmQgRUNTIGxldmVsLiBUaGlzIGVuc3VyZXNcbiAgICogdW5oZWFsdGh5IGNvbnRhaW5lcnMgYXJlIHJlbW92ZWQuIEJvdGggb2YgdGhlc2UgaGVhbHRoIGNoZWNrcyBjYW4gYmVcbiAgICogb3ZlcndyaXR0ZW4gYnkgdXNlciBieSBhY2Nlc3NpbmcgYGFsYkZhcmdhdGVTZXJ2aWNlYCBwcm9wZXJ0eSwgc28gbm8gbmVlZFxuICAgKiBmb3IgYG92ZXJyaWRlc2AuXG4gICAqL1xuICBwcml2YXRlIGNvbmZpZ3VyZUhlYWx0aENoZWNrKCkge1xuICAgIC8vIHNwZWVkIHVwIGRlcGxveW1lbnRzIGJ5IHNob3J0ZW5pbmcgaGVhbHRoIGNoZWNrc1xuICAgIC8vIHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9iZXN0cHJhY3RpY2VzZ3VpZGUvbG9hZC1iYWxhbmNlci1oZWFsdGhjaGVjay5odG1sXG4gICAgdGhpcy5hbGJGYXJnYXRlU2VydmljZS50YXJnZXRHcm91cC5jb25maWd1cmVIZWFsdGhDaGVjayh7XG4gICAgICBwYXRoOiB0aGlzLnByb3BzLmhlYWx0aENoZWNrUGF0aCxcbiAgICAgIGhlYWx0aHlUaHJlc2hvbGRDb3VudDogMixcbiAgICAgIGludGVydmFsOiBEdXJhdGlvbi5zZWNvbmRzKDEwKSwgLy8gdG9vIGZyZXF1ZW50PyBidXQgZW5hYmxlcyBmYXN0ZXIgcm9sbGJhY2suLi5cbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoNSksIC8vIG11c3QgYmUgbGVzcyB0aGFuIGludGVydmFsXG4gICAgfSk7XG4gICAgY29uc3QgaGVhbHRoQ2hlY2s6IEhlYWx0aENoZWNrID0ge1xuICAgICAgY29tbWFuZDogW1xuICAgICAgICBcIkNNRC1TSEVMTFwiLFxuICAgICAgICAvLyBjdXJsIGlzbid0IGF2YWlsYWJsZSBpbiBhbHBpbmUgbGludXhcbiAgICAgICAgYHdnZXQgLS1xdWlldCAtLXRyaWVzPTEgLS1zcGlkZXIgaHR0cDovL2xvY2FsaG9zdDozMDAwJHt0aGlzLnByb3BzLmhlYWx0aENoZWNrUGF0aH0gfHwgZXhpdCAxYCxcbiAgICAgIF0sXG4gICAgfTtcbiAgICBjb25zdCBkZWZhdWx0Q29udGFpbmVyID1cbiAgICAgIHRoaXMuYWxiRmFyZ2F0ZVNlcnZpY2UudGFza0RlZmluaXRpb24uZGVmYXVsdENvbnRhaW5lcjtcbiAgICBpZiAoZGVmYXVsdENvbnRhaW5lcikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtdXN0IHVzZSBpbnRlcm5hbCBcInByb3BzXCIgYXR0cmlidXRlIGIvYyBubyBvdGhlciB3YXkgdG8gYWRkIGhlYWx0aCBjaGVja1xuICAgICAgZGVmYXVsdENvbnRhaW5lci5wcm9wcy5oZWFsdGhDaGVjayA9IGhlYWx0aENoZWNrO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGF0dGFjaEZpbGVTeXN0ZW0oKSB7XG4gICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5hbGJGYXJnYXRlU2VydmljZS50YXNrRGVmaW5pdGlvbi5kZWZhdWx0Q29udGFpbmVyO1xuICAgIGNvbnN0IHZvbHVtZU5hbWUgPSBcImNkay1uZXh0anMtdm9sdW1lXCI7XG4gICAgdGhpcy5hbGJGYXJnYXRlU2VydmljZS50YXNrRGVmaW5pdGlvbi5hZGRWb2x1bWUoe1xuICAgICAgbmFtZTogdm9sdW1lTmFtZSxcbiAgICAgIGVmc1ZvbHVtZUNvbmZpZ3VyYXRpb246IHtcbiAgICAgICAgZmlsZVN5c3RlbUlkOiB0aGlzLnByb3BzLmZpbGVTeXN0ZW0uZmlsZVN5c3RlbUlkLFxuICAgICAgICB0cmFuc2l0RW5jcnlwdGlvbjogXCJFTkFCTEVEXCIsXG4gICAgICAgIGF1dGhvcml6YXRpb25Db25maWc6IHtcbiAgICAgICAgICBhY2Nlc3NQb2ludElkOiB0aGlzLnByb3BzLmFjY2Vzc1BvaW50LmFjY2Vzc1BvaW50SWQsXG4gICAgICAgICAgaWFtOiBcIkVOQUJMRURcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgY29udGFpbmVyPy5hZGRNb3VudFBvaW50cyh7XG4gICAgICBzb3VyY2VWb2x1bWU6IHZvbHVtZU5hbWUsXG4gICAgICBjb250YWluZXJQYXRoOiB0aGlzLnByb3BzLmNvbnRhaW5lck1vdW50UGF0aEZvckVmcyxcbiAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICB9KTtcbiAgfVxuICBwcml2YXRlIGdldFVybCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHByb3RvY29sID0gdGhpcy5hbGJGYXJnYXRlU2VydmljZS5jZXJ0aWZpY2F0ZSA/IFwiaHR0cHNcIiA6IFwiaHR0cFwiO1xuICAgIHJldHVybiBgJHtwcm90b2NvbH06Ly8ke3RoaXMuYWxiRmFyZ2F0ZVNlcnZpY2UubG9hZEJhbGFuY2VyLmxvYWRCYWxhbmNlckRuc05hbWV9YDtcbiAgfVxufVxuIl19
@@ -53,5 +53,5 @@ class NextjsFunctions extends constructs_1.Construct {
53
53
  }
54
54
  exports.NextjsFunctions = NextjsFunctions;
55
55
  _a = JSII_RTTI_SYMBOL_1;
56
- NextjsFunctions[_a] = { fqn: "cdk-nextjs.NextjsFunctions", version: "0.1.1" };
56
+ NextjsFunctions[_a] = { fqn: "cdk-nextjs.NextjsFunctions", version: "0.1.3" };
57
57
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0anMtY29tcHV0ZS9uZXh0anMtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXVDO0FBQ3ZDLHVEQVFnQztBQUNoQywyQ0FBdUM7QUFldkM7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFNNUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDOUMsUUFBUSxFQUFFLGdDQUFtQixDQUFDLE9BQU87WUFDckMsVUFBVSxFQUFFLHVCQUFVLENBQUMsZUFBZTtZQUN0QyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQjtTQUMxQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksWUFBWSxHQUE2QixTQUFTLENBQUM7UUFDdkQsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQzNCLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO2FBQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLFlBQVksR0FBRyx5QkFBWSxDQUFDLE1BQU0sQ0FBQztRQUNyQyxDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ3BELFlBQVk7WUFDWixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQ2hDLFVBQVUsRUFBRSx1QkFBVSxDQUFDLGtCQUFrQixDQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FDcEM7WUFDRCxVQUFVLEVBQUUsSUFBSTtZQUNoQixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDbkIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3QkFBd0I7WUFDakQsV0FBVyxFQUFFO2dCQUNYLDBCQUEwQixFQUFFLE1BQU07Z0JBQ2xDLG1CQUFtQixFQUFFLGlCQUFpQjtnQkFDdEMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO2dCQUN4RCw0QkFBNEIsRUFBRSxNQUFNO2dCQUNwQyxvQkFBb0IsRUFBRSx3QkFBd0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7Z0JBQzFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsV0FBVzthQUMvRDtTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7QUFoREgsMENBaURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEFyY2hpdGVjdHVyZSxcbiAgRG9ja2VySW1hZ2VDb2RlLFxuICBEb2NrZXJJbWFnZUZ1bmN0aW9uLFxuICBGaWxlU3lzdGVtLFxuICBGdW5jdGlvblVybCxcbiAgRnVuY3Rpb25VcmxBdXRoVHlwZSxcbiAgSW52b2tlTW9kZSxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1sYW1iZGFcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBOZXh0anNDb21wdXRlQmFzZVByb3BzIH0gZnJvbSBcIi4vbmV4dGpzLWNvbXB1dGUtYmFzZS1wcm9wc1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRnVuY3Rpb25VcmxQcm9wcyB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbEZ1bmN0aW9uVXJsUHJvcHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNGdW5jdGlvbnNPdmVycmlkZXMge1xuICByZWFkb25seSBkb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM/OiBPcHRpb25hbERvY2tlckltYWdlRnVuY3Rpb25Qcm9wcztcbiAgcmVhZG9ubHkgZnVuY3Rpb25VcmxQcm9wcz86IE9wdGlvbmFsRnVuY3Rpb25VcmxQcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNGdW5jdGlvbnNQcm9wcyBleHRlbmRzIE5leHRqc0NvbXB1dGVCYXNlUHJvcHMge1xuICByZWFkb25seSBkb2NrZXJJbWFnZUNvZGU6IERvY2tlckltYWdlQ29kZTtcbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzRnVuY3Rpb25zT3ZlcnJpZGVzO1xufVxuXG4vKipcbiAqIFJ1biBOZXh0LmpzIGluIGZ1bmN0aW9ucyBvbiBBV1Mgd2l0aCBBV1MgTGFtYmRhLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzRnVuY3Rpb25zIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgZnVuY3Rpb246IERvY2tlckltYWdlRnVuY3Rpb247XG4gIGZ1bmN0aW9uVXJsOiBGdW5jdGlvblVybDtcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNGdW5jdGlvbnNQcm9wcztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV4dGpzRnVuY3Rpb25zUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmZ1bmN0aW9uID0gdGhpcy5jcmVhdGVGdW5jdGlvbigpO1xuICAgIHRoaXMuZnVuY3Rpb25VcmwgPSB0aGlzLmZ1bmN0aW9uLmFkZEZ1bmN0aW9uVXJsKHtcbiAgICAgIGF1dGhUeXBlOiBGdW5jdGlvblVybEF1dGhUeXBlLkFXU19JQU0sXG4gICAgICBpbnZva2VNb2RlOiBJbnZva2VNb2RlLlJFU1BPTlNFX1NUUkVBTSxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5mdW5jdGlvblVybFByb3BzLFxuICAgIH0pO1xuICAgIGlmICghdGhpcy5mdW5jdGlvbi5yb2xlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGdW5jdGlvbiByb2xlIGlzIHVuZGVmaW5lZFwiKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uKCkge1xuICAgIGxldCBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAocHJvY2Vzcy5hcmNoID09PSBcIng2NFwiKSB7XG4gICAgICBhcmNoaXRlY3R1cmUgPSBBcmNoaXRlY3R1cmUuWDg2XzY0O1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5hcmNoID09PSBcImFybTY0XCIpIHtcbiAgICAgIGFyY2hpdGVjdHVyZSA9IEFyY2hpdGVjdHVyZS5BUk1fNjQ7XG4gICAgfVxuICAgIGNvbnN0IGZuID0gbmV3IERvY2tlckltYWdlRnVuY3Rpb24odGhpcywgXCJGdW5jdGlvbnNcIiwge1xuICAgICAgYXJjaGl0ZWN0dXJlLFxuICAgICAgY29kZTogdGhpcy5wcm9wcy5kb2NrZXJJbWFnZUNvZGUsXG4gICAgICBmaWxlc3lzdGVtOiBGaWxlU3lzdGVtLmZyb21FZnNBY2Nlc3NQb2ludChcbiAgICAgICAgdGhpcy5wcm9wcy5hY2Nlc3NQb2ludCxcbiAgICAgICAgdGhpcy5wcm9wcy5jb250YWluZXJNb3VudFBhdGhGb3JFZnMsXG4gICAgICApLFxuICAgICAgbWVtb3J5U2l6ZTogMjA0OCxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgdnBjOiB0aGlzLnByb3BzLnZwYyxcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5kb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBBV1NfTFdBX0VOQUJMRV9DT01QUkVTU0lPTjogXCJ0cnVlXCIsXG4gICAgICAgIEFXU19MV0FfSU5WT0tFX01PREU6IFwicmVzcG9uc2Vfc3RyZWFtXCIsXG4gICAgICAgIEFXU19MV0FfUkVBRElORVNTX0NIRUNLX1BBVEg6IHRoaXMucHJvcHMuaGVhbHRoQ2hlY2tQYXRoLFxuICAgICAgICBBV1NfTFdBX1JFQURJTkVTU19DSEVDS19QT1JUOiBcIjMwMDBcIixcbiAgICAgICAgUkVBRElORVNTX0NIRUNLX1BBVEg6IGBodHRwOi8vMTI3LjAuMC4xOjMwMDAke3RoaXMucHJvcHMuaGVhbHRoQ2hlY2tQYXRofWAsXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5kb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM/LmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gZm47XG4gIH1cbn1cbiJdfQ==