1 | ;
|
2 | var _a;
|
3 | Object.defineProperty(exports, "__esModule", { value: true });
|
4 | exports.TmpfsMountOption = exports.DevicePermission = exports.Capability = exports.LinuxParameters = void 0;
|
5 | const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
|
6 | const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
7 | const cdk = require("@aws-cdk/core");
|
8 | // keep this import separate from other imports to reduce chance for merge conflicts with v2-main
|
9 | // eslint-disable-next-line no-duplicate-imports, import/order
|
10 | const core_1 = require("@aws-cdk/core");
|
11 | /**
|
12 | * Linux-specific options that are applied to the container.
|
13 | */
|
14 | class LinuxParameters extends core_1.Construct {
|
15 | /**
|
16 | * Constructs a new instance of the LinuxParameters class.
|
17 | */
|
18 | constructor(scope, id, props = {}) {
|
19 | super(scope, id);
|
20 | /**
|
21 | * Capabilities to be added
|
22 | */
|
23 | this.capAdd = new Array();
|
24 | /**
|
25 | * Capabilities to be dropped
|
26 | */
|
27 | this.capDrop = new Array();
|
28 | /**
|
29 | * Device mounts
|
30 | */
|
31 | this.devices = new Array();
|
32 | /**
|
33 | * TmpFs mounts
|
34 | */
|
35 | this.tmpfs = new Array();
|
36 | try {
|
37 | jsiiDeprecationWarnings._aws_cdk_aws_ecs_LinuxParametersProps(props);
|
38 | }
|
39 | catch (error) {
|
40 | if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
41 | Error.captureStackTrace(error, this.constructor);
|
42 | }
|
43 | throw error;
|
44 | }
|
45 | this.sharedMemorySize = props.sharedMemorySize;
|
46 | this.initProcessEnabled = props.initProcessEnabled;
|
47 | }
|
48 | /**
|
49 | * Adds one or more Linux capabilities to the Docker configuration of a container.
|
50 | *
|
51 | * Only works with EC2 launch type.
|
52 | */
|
53 | addCapabilities(...cap) {
|
54 | try {
|
55 | jsiiDeprecationWarnings._aws_cdk_aws_ecs_Capability(cap);
|
56 | }
|
57 | catch (error) {
|
58 | if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
59 | Error.captureStackTrace(error, this.addCapabilities);
|
60 | }
|
61 | throw error;
|
62 | }
|
63 | this.capAdd.push(...cap);
|
64 | }
|
65 | /**
|
66 | * Removes one or more Linux capabilities to the Docker configuration of a container.
|
67 | *
|
68 | * Only works with EC2 launch type.
|
69 | */
|
70 | dropCapabilities(...cap) {
|
71 | try {
|
72 | jsiiDeprecationWarnings._aws_cdk_aws_ecs_Capability(cap);
|
73 | }
|
74 | catch (error) {
|
75 | if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
76 | Error.captureStackTrace(error, this.dropCapabilities);
|
77 | }
|
78 | throw error;
|
79 | }
|
80 | this.capDrop.push(...cap);
|
81 | }
|
82 | /**
|
83 | * Adds one or more host devices to a container.
|
84 | */
|
85 | addDevices(...device) {
|
86 | try {
|
87 | jsiiDeprecationWarnings._aws_cdk_aws_ecs_Device(device);
|
88 | }
|
89 | catch (error) {
|
90 | if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
91 | Error.captureStackTrace(error, this.addDevices);
|
92 | }
|
93 | throw error;
|
94 | }
|
95 | this.devices.push(...device);
|
96 | }
|
97 | /**
|
98 | * Specifies the container path, mount options, and size (in MiB) of the tmpfs mount for a container.
|
99 | *
|
100 | * Only works with EC2 launch type.
|
101 | */
|
102 | addTmpfs(...tmpfs) {
|
103 | try {
|
104 | jsiiDeprecationWarnings._aws_cdk_aws_ecs_Tmpfs(tmpfs);
|
105 | }
|
106 | catch (error) {
|
107 | if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
108 | Error.captureStackTrace(error, this.addTmpfs);
|
109 | }
|
110 | throw error;
|
111 | }
|
112 | this.tmpfs.push(...tmpfs);
|
113 | }
|
114 | /**
|
115 | * Renders the Linux parameters to a CloudFormation object.
|
116 | */
|
117 | renderLinuxParameters() {
|
118 | return {
|
119 | initProcessEnabled: this.initProcessEnabled,
|
120 | sharedMemorySize: this.sharedMemorySize,
|
121 | capabilities: {
|
122 | add: cdk.Lazy.list({ produce: () => this.capAdd }, { omitEmpty: true }),
|
123 | drop: cdk.Lazy.list({ produce: () => this.capDrop }, { omitEmpty: true }),
|
124 | },
|
125 | devices: cdk.Lazy.any({ produce: () => this.devices.map(renderDevice) }, { omitEmptyArray: true }),
|
126 | tmpfs: cdk.Lazy.any({ produce: () => this.tmpfs.map(renderTmpfs) }, { omitEmptyArray: true }),
|
127 | };
|
128 | }
|
129 | }
|
130 | exports.LinuxParameters = LinuxParameters;
|
131 | _a = JSII_RTTI_SYMBOL_1;
|
132 | LinuxParameters[_a] = { fqn: "@aws-cdk/aws-ecs.LinuxParameters", version: "1.156.1" };
|
133 | function renderDevice(device) {
|
134 | return {
|
135 | containerPath: device.containerPath,
|
136 | hostPath: device.hostPath,
|
137 | permissions: device.permissions,
|
138 | };
|
139 | }
|
140 | function renderTmpfs(tmpfs) {
|
141 | return {
|
142 | containerPath: tmpfs.containerPath,
|
143 | size: tmpfs.size,
|
144 | mountOptions: tmpfs.mountOptions,
|
145 | };
|
146 | }
|
147 | /**
|
148 | * A Linux capability
|
149 | */
|
150 | var Capability;
|
151 | (function (Capability) {
|
152 | Capability["ALL"] = "ALL";
|
153 | Capability["AUDIT_CONTROL"] = "AUDIT_CONTROL";
|
154 | Capability["AUDIT_WRITE"] = "AUDIT_WRITE";
|
155 | Capability["BLOCK_SUSPEND"] = "BLOCK_SUSPEND";
|
156 | Capability["CHOWN"] = "CHOWN";
|
157 | Capability["DAC_OVERRIDE"] = "DAC_OVERRIDE";
|
158 | Capability["DAC_READ_SEARCH"] = "DAC_READ_SEARCH";
|
159 | Capability["FOWNER"] = "FOWNER";
|
160 | Capability["FSETID"] = "FSETID";
|
161 | Capability["IPC_LOCK"] = "IPC_LOCK";
|
162 | Capability["IPC_OWNER"] = "IPC_OWNER";
|
163 | Capability["KILL"] = "KILL";
|
164 | Capability["LEASE"] = "LEASE";
|
165 | Capability["LINUX_IMMUTABLE"] = "LINUX_IMMUTABLE";
|
166 | Capability["MAC_ADMIN"] = "MAC_ADMIN";
|
167 | Capability["MAC_OVERRIDE"] = "MAC_OVERRIDE";
|
168 | Capability["MKNOD"] = "MKNOD";
|
169 | Capability["NET_ADMIN"] = "NET_ADMIN";
|
170 | Capability["NET_BIND_SERVICE"] = "NET_BIND_SERVICE";
|
171 | Capability["NET_BROADCAST"] = "NET_BROADCAST";
|
172 | Capability["NET_RAW"] = "NET_RAW";
|
173 | Capability["SETFCAP"] = "SETFCAP";
|
174 | Capability["SETGID"] = "SETGID";
|
175 | Capability["SETPCAP"] = "SETPCAP";
|
176 | Capability["SETUID"] = "SETUID";
|
177 | Capability["SYS_ADMIN"] = "SYS_ADMIN";
|
178 | Capability["SYS_BOOT"] = "SYS_BOOT";
|
179 | Capability["SYS_CHROOT"] = "SYS_CHROOT";
|
180 | Capability["SYS_MODULE"] = "SYS_MODULE";
|
181 | Capability["SYS_NICE"] = "SYS_NICE";
|
182 | Capability["SYS_PACCT"] = "SYS_PACCT";
|
183 | Capability["SYS_PTRACE"] = "SYS_PTRACE";
|
184 | Capability["SYS_RAWIO"] = "SYS_RAWIO";
|
185 | Capability["SYS_RESOURCE"] = "SYS_RESOURCE";
|
186 | Capability["SYS_TIME"] = "SYS_TIME";
|
187 | Capability["SYS_TTY_CONFIG"] = "SYS_TTY_CONFIG";
|
188 | Capability["SYSLOG"] = "SYSLOG";
|
189 | Capability["WAKE_ALARM"] = "WAKE_ALARM";
|
190 | })(Capability = exports.Capability || (exports.Capability = {}));
|
191 | /**
|
192 | * Permissions for device access
|
193 | */
|
194 | var DevicePermission;
|
195 | (function (DevicePermission) {
|
196 | /**
|
197 | * Read
|
198 | */
|
199 | DevicePermission["READ"] = "read";
|
200 | /**
|
201 | * Write
|
202 | */
|
203 | DevicePermission["WRITE"] = "write";
|
204 | /**
|
205 | * Make a node
|
206 | */
|
207 | DevicePermission["MKNOD"] = "mknod";
|
208 | })(DevicePermission = exports.DevicePermission || (exports.DevicePermission = {}));
|
209 | /**
|
210 | * The supported options for a tmpfs mount for a container.
|
211 | */
|
212 | var TmpfsMountOption;
|
213 | (function (TmpfsMountOption) {
|
214 | TmpfsMountOption["DEFAULTS"] = "defaults";
|
215 | TmpfsMountOption["RO"] = "ro";
|
216 | TmpfsMountOption["RW"] = "rw";
|
217 | TmpfsMountOption["SUID"] = "suid";
|
218 | TmpfsMountOption["NOSUID"] = "nosuid";
|
219 | TmpfsMountOption["DEV"] = "dev";
|
220 | TmpfsMountOption["NODEV"] = "nodev";
|
221 | TmpfsMountOption["EXEC"] = "exec";
|
222 | TmpfsMountOption["NOEXEC"] = "noexec";
|
223 | TmpfsMountOption["SYNC"] = "sync";
|
224 | TmpfsMountOption["ASYNC"] = "async";
|
225 | TmpfsMountOption["DIRSYNC"] = "dirsync";
|
226 | TmpfsMountOption["REMOUNT"] = "remount";
|
227 | TmpfsMountOption["MAND"] = "mand";
|
228 | TmpfsMountOption["NOMAND"] = "nomand";
|
229 | TmpfsMountOption["ATIME"] = "atime";
|
230 | TmpfsMountOption["NOATIME"] = "noatime";
|
231 | TmpfsMountOption["DIRATIME"] = "diratime";
|
232 | TmpfsMountOption["NODIRATIME"] = "nodiratime";
|
233 | TmpfsMountOption["BIND"] = "bind";
|
234 | TmpfsMountOption["RBIND"] = "rbind";
|
235 | TmpfsMountOption["UNBINDABLE"] = "unbindable";
|
236 | TmpfsMountOption["RUNBINDABLE"] = "runbindable";
|
237 | TmpfsMountOption["PRIVATE"] = "private";
|
238 | TmpfsMountOption["RPRIVATE"] = "rprivate";
|
239 | TmpfsMountOption["SHARED"] = "shared";
|
240 | TmpfsMountOption["RSHARED"] = "rshared";
|
241 | TmpfsMountOption["SLAVE"] = "slave";
|
242 | TmpfsMountOption["RSLAVE"] = "rslave";
|
243 | TmpfsMountOption["RELATIME"] = "relatime";
|
244 | TmpfsMountOption["NORELATIME"] = "norelatime";
|
245 | TmpfsMountOption["STRICTATIME"] = "strictatime";
|
246 | TmpfsMountOption["NOSTRICTATIME"] = "nostrictatime";
|
247 | TmpfsMountOption["MODE"] = "mode";
|
248 | TmpfsMountOption["UID"] = "uid";
|
249 | TmpfsMountOption["GID"] = "gid";
|
250 | TmpfsMountOption["NR_INODES"] = "nr_inodes";
|
251 | TmpfsMountOption["NR_BLOCKS"] = "nr_blocks";
|
252 | TmpfsMountOption["MPOL"] = "mpol";
|
253 | })(TmpfsMountOption = exports.TmpfsMountOption || (exports.TmpfsMountOption = {}));
|
254 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGludXgtcGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxpbnV4LXBhcmFtZXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscUNBQXFDO0FBSXJDLGlHQUFpRztBQUNqRyw4REFBOEQ7QUFDOUQsd0NBQTJEO0FBcUIzRDs7R0FFRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxnQkFBYTtJQStCaEQ7O09BRUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFFBQThCLEVBQUU7UUFDeEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQXhCbkI7O1dBRUc7UUFDYyxXQUFNLEdBQUcsSUFBSSxLQUFLLEVBQWMsQ0FBQztRQUVsRDs7V0FFRztRQUNjLFlBQU8sR0FBRyxJQUFJLEtBQUssRUFBYyxDQUFDO1FBRW5EOztXQUVHO1FBQ2MsWUFBTyxHQUFHLElBQUksS0FBSyxFQUFVLENBQUM7UUFFL0M7O1dBRUc7UUFDYyxVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQVMsQ0FBQzs7Ozs7Ozs7OztRQVExQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQy9DLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUMsa0JBQWtCLENBQUM7S0FDcEQ7SUFFRDs7OztPQUlHO0lBQ0ksZUFBZSxDQUFDLEdBQUcsR0FBaUI7Ozs7Ozs7Ozs7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztLQUMxQjtJQUVEOzs7O09BSUc7SUFDSSxnQkFBZ0IsQ0FBQyxHQUFHLEdBQWlCOzs7Ozs7Ozs7O1FBQzFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7S0FDM0I7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxHQUFHLE1BQWdCOzs7Ozs7Ozs7O1FBQ25DLElBQUksQ0FBQyxPQUFP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QXlCLENBQUE7SUFDekIsK0NBQTJCLENBQUE7SUFDM0IsbURBQStCLENBQUE7SUFDL0IsaUNBQWEsQ0FBQTtJQUNiLCtCQUFXLENBQUE7SUFDWCwrQkFBVyxDQUFBO0lBQ1gsMkNBQXVCLENBQUE7SUFDdkIsMkNBQXVCLENBQUE7SUFDdkIsaUNBQWEsQ0FBQTtBQUNmLENBQUMsRUF4Q1csZ0JBQWdCLEdBQWhCLHdCQUFnQixLQUFoQix3QkFBZ0IsUUF3QzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBDZm5UYXNrRGVmaW5pdGlvbiB9IGZyb20gJy4vZWNzLmdlbmVyYXRlZCc7XG5cbi8vIGtlZXAgdGhpcyBpbXBvcnQgc2VwYXJhdGUgZnJvbSBvdGhlciBpbXBvcnRzIHRvIHJlZHVjZSBjaGFuY2UgZm9yIG1lcmdlIGNvbmZsaWN0cyB3aXRoIHYyLW1haW5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtaW1wb3J0cywgaW1wb3J0L29yZGVyXG5pbXBvcnQgeyBDb25zdHJ1Y3QgYXMgQ29yZUNvbnN0cnVjdCB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuXG4vKipcbiAqIFRoZSBwcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBMaW51eC1zcGVjaWZpYyBvcHRpb25zIHRoYXQgYXJlIGFwcGxpZWQgdG8gdGhlIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW51eFBhcmFtZXRlcnNQcm9wcyB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBydW4gYW4gaW5pdCBwcm9jZXNzIGluc2lkZSB0aGUgY29udGFpbmVyIHRoYXQgZm9yd2FyZHMgc2lnbmFscyBhbmQgcmVhcHMgcHJvY2Vzc2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5pdFByb2Nlc3NFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIGZvciB0aGUgc2l6ZSAoaW4gTWlCKSBvZiB0aGUgL2Rldi9zaG0gdm9sdW1lLlxuICAgKlxuICAgKiBAZGVmYXVsdCBObyBzaGFyZWQgbWVtb3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgc2hhcmVkTWVtb3J5U2l6ZT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMaW51eC1zcGVjaWZpYyBvcHRpb25zIHRoYXQgYXJlIGFwcGxpZWQgdG8gdGhlIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGNsYXNzIExpbnV4UGFyYW1ldGVycyBleHRlbmRzIENvcmVDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5pdCBwcm9jZXNzIGlzIGVuYWJsZWRcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgaW5pdFByb2Nlc3NFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHNoYXJlZCBtZW1vcnkgc2l6ZS4gTm90IHZhbGlkIGZvciBGYXJnYXRlIGxhdW5jaCB0eXBlXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHNoYXJlZE1lbW9yeVNpemU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIENhcGFiaWxpdGllcyB0byBiZSBhZGRlZFxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBjYXBBZGQgPSBuZXcgQXJyYXk8Q2FwYWJpbGl0eT4oKTtcblxuICAvKipcbiAgICogQ2FwYWJpbGl0aWVzIHRvIGJlIGRyb3BwZWRcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FwRHJvcCA9IG5ldyBBcnJheTxDYXBhYmlsaXR5PigpO1xuXG4gIC8qKlxuICAgKiBEZXZpY2UgbW91bnRzXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGRldmljZXMgPSBuZXcgQXJyYXk8RGV2aWNlPigpO1xuXG4gIC8qKlxuICAgKiBUbXBGcyBtb3VudHNcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdG1wZnMgPSBuZXcgQXJyYXk8VG1wZnM+KCk7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIExpbnV4UGFyYW1ldGVycyBjbGFzcy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMaW51eFBhcmFtZXRlcnNQcm9wcyA9IHt9KSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuc2hhcmVkTWVtb3J5U2l6ZSA9IHByb3BzLnNoYXJlZE1lbW9yeVNpemU7XG4gICAgdGhpcy5pbml0UHJvY2Vzc0VuYWJsZWQgPSBwcm9wcy5pbml0UHJvY2Vzc0VuYWJsZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBvbmUgb3IgbW9yZSBMaW51eCBjYXBhYmlsaXRpZXMgdG8gdGhlIERvY2tlciBjb25maWd1cmF0aW9uIG9mIGEgY29udGFpbmVyLlxuICAgKlxuICAgKiBPbmx5IHdvcmtzIHdpdGggRUMyIGxhdW5jaCB0eXBlLlxuICAgKi9cbiAgcHVibGljIGFkZENhcGFiaWxpdGllcyguLi5jYXA6IENhcGFiaWxpdHlbXSkge1xuICAgIHRoaXMuY2FwQWRkLnB1c2goLi4uY2FwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIG9uZSBvciBtb3JlIExpbnV4IGNhcGFiaWxpdGllcyB0byB0aGUgRG9ja2VyIGNvbmZpZ3VyYXRpb24gb2YgYSBjb250YWluZXIuXG4gICAqXG4gICAqIE9ubHkgd29ya3Mgd2l0aCBFQzIgbGF1bmNoIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgZHJvcENhcGFiaWxpdGllcyguLi5jYXA6IENhcGFiaWxpdHlbXSkge1xuICAgIHRoaXMuY2FwRHJvcC5wdXNoKC4uLmNhcCk7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBvbmUgb3IgbW9yZSBob3N0IGRldmljZXMgdG8gYSBjb250YWluZXIuXG4gICAqL1xuICBwdWJsaWMgYWRkRGV2aWNlcyguLi5kZXZpY2U6IERldmljZVtdKSB7XG4gICAgdGhpcy5kZXZpY2VzLnB1c2goLi4uZGV2aWNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGNvbnRhaW5lciBwYXRoLCBtb3VudCBvcHRpb25zLCBhbmQgc2l6ZSAoaW4gTWlCKSBvZiB0aGUgdG1wZnMgbW91bnQgZm9yIGEgY29udGFpbmVyLlxuICAgKlxuICAgKiBPbmx5IHdvcmtzIHdpdGggRUMyIGxhdW5jaCB0eXBlLlxuICAgKi9cbiAgcHVibGljIGFkZFRtcGZzKC4uLnRtcGZzOiBUbXBmc1tdKSB7XG4gICAgdGhpcy50bXBmcy5wdXNoKC4uLnRtcGZzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoZSBMaW51eCBwYXJhbWV0ZXJzIHRvIGEgQ2xvdWRGb3JtYXRpb24gb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHJlbmRlckxpbnV4UGFyYW1ldGVycygpOiBDZm5UYXNrRGVmaW5pdGlvbi5MaW51eFBhcmFtZXRlcnNQcm9wZXJ0eSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRQcm9jZXNzRW5hYmxlZDogdGhpcy5pbml0UHJvY2Vzc0VuYWJsZWQsXG4gICAgICBzaGFyZWRNZW1vcnlTaXplOiB0aGlzLnNoYXJlZE1lbW9yeVNpemUsXG4gICAgICBjYXBhYmlsaXRpZXM6IHtcbiAgICAgICAgYWRkOiBjZGsuTGF6eS5saXN0KHsgcHJvZHVjZTogKCkgPT4gdGhpcy5jYXBBZGQgfSwgeyBvbWl0RW1wdHk6IHRydWUgfSksXG4gICAgICAgIGRyb3A6IGNkay5MYXp5Lmxpc3QoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLmNhcERyb3AgfSwgeyBvbWl0RW1wdHk6IHRydWUgfSksXG4gICAgICB9LFxuICAgICAgZGV2aWNlczogY2RrLkxhenkuYW55KHsgcHJvZHVjZTogKCkgPT4gdGhpcy5kZXZpY2VzLm1hcChyZW5kZXJEZXZpY2UpIH0sIHsgb21pdEVtcHR5QXJyYXk6IHRydWUgfSksXG4gICAgICB0bXBmczogY2RrLkxhenkuYW55KHsgcHJvZHVjZTogKCkgPT4gdGhpcy50bXBmcy5tYXAocmVuZGVyVG1wZnMpIH0sIHsgb21pdEVtcHR5QXJyYXk6IHRydWUgfSksXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIEEgY29udGFpbmVyIGluc3RhbmNlIGhvc3QgZGV2aWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZSB7XG4gIC8qKlxuICAgKiBUaGUgcGF0aCBpbnNpZGUgdGhlIGNvbnRhaW5lciBhdCB3aGljaCB0byBleHBvc2UgdGhlIGhvc3QgZGV2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBTYW1lIHBhdGggYXMgdGhlIGhvc3RcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lclBhdGg/OiBzdHJpbmcsXG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIGZvciB0aGUgZGV2aWNlIG9uIHRoZSBob3N0IGNvbnRhaW5lciBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGhvc3RQYXRoOiBzdHJpbmcsXG5cbiAgLyoqXG4gICAqIFRoZSBleHBsaWNpdCBwZXJtaXNzaW9ucyB0byBwcm92aWRlIHRvIHRoZSBjb250YWluZXIgZm9yIHRoZSBkZXZpY2UuXG4gICAqIEJ5IGRlZmF1bHQsIHRoZSBjb250YWluZXIgaGFzIHBlcm1pc3Npb25zIGZvciByZWFkLCB3cml0ZSwgYW5kIG1rbm9kIGZvciB0aGUgZGV2aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBSZWFkb25seVxuICAgKi9cbiAgcmVhZG9ubHkgcGVybWlzc2lvbnM/OiBEZXZpY2VQZXJtaXNzaW9uW11cbn1cblxuZnVuY3Rpb24gcmVuZGVyRGV2aWNlKGRldmljZTogRGV2aWNlKTogQ2ZuVGFza0RlZmluaXRpb24uRGV2aWNlUHJvcGVydHkge1xuICByZXR1cm4ge1xuICAgIGNvbnRhaW5lclBhdGg6IGRldmljZS5jb250YWluZXJQYXRoLFxuICAgIGhvc3RQYXRoOiBkZXZpY2UuaG9zdFBhdGgsXG4gICAgcGVybWlzc2lvbnM6IGRldmljZS5wZXJtaXNzaW9ucyxcbiAgfTtcbn1cblxuLyoqXG4gKiBUaGUgZGV0YWlscyBvZiBhIHRtcGZzIG1vdW50IGZvciBhIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUbXBmcyB7XG4gIC8qKlxuICAgKiBUaGUgYWJzb2x1dGUgZmlsZSBwYXRoIHdoZXJlIHRoZSB0bXBmcyB2b2x1bWUgaXMgdG8gYmUgbW91bnRlZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lclBhdGg6IHN0cmluZyxcblxuICAvKipcbiAgICogVGhlIHNpemUgKGluIE1pQikgb2YgdGhlIHRtcGZzIHZvbHVtZS5cbiAgICovXG4gIHJlYWRvbmx5IHNpemU6IG51bWJlcixcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgdG1wZnMgdm9sdW1lIG1vdW50IG9wdGlvbnMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWVcbiAgICogW1RtcGZzTW91bnRPcHRpb25zXShodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX1RtcGZzLmh0bWwpLlxuICAgKi9cbiAgcmVhZG9ubHkgbW91bnRPcHRpb25zPzogVG1wZnNNb3VudE9wdGlvbltdLFxufVxuXG5mdW5jdGlvbiByZW5kZXJUbXBmcyh0bXBmczogVG1wZnMpOiBDZm5UYXNrRGVmaW5pdGlvbi5UbXBmc1Byb3BlcnR5IHtcbiAgcmV0dXJuIHtcbiAgICBjb250YWluZXJQYXRoOiB0bXBmcy5jb250YWluZXJQYXRoLFxuICAgIHNpemU6IHRtcGZzLnNpemUsXG4gICAgbW91bnRPcHRpb25zOiB0bXBmcy5tb3VudE9wdGlvbnMsXG4gIH07XG59XG5cbi8qKlxuICogQSBMaW51eCBjYXBhYmlsaXR5XG4gKi9cbmV4cG9ydCBlbnVtIENhcGFiaWxpdHkge1xuICBBTEwgPSAnQUxMJyxcbiAgQVVESVRfQ09OVFJPTCA9ICdBVURJVF9DT05UUk9MJyxcbiAgQVVESVRfV1JJVEUgPSAnQVVESVRfV1JJVEUnLFxuICBCTE9DS19TVVNQRU5EID0gJ0JMT0NLX1NVU1BFTkQnLFxuICBDSE9XTiA9ICdDSE9XTicsXG4gIERBQ19PVkVSUklERSA9ICdEQUNfT1ZFUlJJREUnLFxuICBEQUNfUkVBRF9TRUFSQ0ggPSAnREFDX1JFQURfU0VBUkNIJyxcbiAgRk9XTkVSID0gJ0ZPV05FUicsXG4gIEZTRVRJRCA9ICdGU0VUSUQnLFxuICBJUENfTE9DSyA9ICdJUENfTE9DSycsXG4gIElQQ19PV05FUiA9ICdJUENfT1dORVInLFxuICBLSUxMID0gJ0tJTEwnLFxuICBMRUFTRSA9ICdMRUFTRScsXG4gIExJTlVYX0lNTVVUQUJMRSA9ICdMSU5VWF9JTU1VVEFCTEUnLFxuICBNQUNfQURNSU4gPSAnTUFDX0FETUlOJyxcbiAgTUFDX09WRVJSSURFID0gJ01BQ19PVkVSUklERScsXG4gIE1LTk9EID0gJ01LTk9EJyxcbiAgTkVUX0FETUlOID0gJ05FVF9BRE1JTicsXG4gIE5FVF9CSU5EX1NFUlZJQ0UgPSAnTkVUX0JJTkRfU0VSVklDRScsXG4gIE5FVF9CUk9BRENBU1QgPSAnTkVUX0JST0FEQ0FTVCcsXG4gIE5FVF9SQVcgPSAnTkVUX1JBVycsXG4gIFNFVEZDQVAgPSAnU0VURkNBUCcsXG4gIFNFVEdJRCA9ICdTRVRHSUQnLFxuICBTRVRQQ0FQID0gJ1NFVFBDQVAnLFxuICBTRVRVSUQgPSAnU0VUVUlEJyxcbiAgU1lTX0FETUlOID0gJ1NZU19BRE1JTicsXG4gIFNZU19CT09UID0gJ1NZU19CT09UJyxcbiAgU1lTX0NIUk9PVCA9ICdTWVNfQ0hST09UJyxcbiAgU1lTX01PRFVMRSA9ICdTWVNfTU9EVUxFJyxcbiAgU1lTX05JQ0UgPSAnU1lTX05JQ0UnLFxuICBTWVNfUEFDQ1QgPSAnU1lTX1BBQ0NUJyxcbiAgU1lTX1BUUkFDRSA9ICdTWVNfUFRSQUNFJyxcbiAgU1lTX1JBV0lPID0gJ1NZU19SQVdJTycsXG4gIFNZU19SRVNPVVJDRSA9ICdTWVNfUkVTT1VSQ0UnLFxuICBTWVNfVElNRSA9ICdTWVNfVElNRScsXG4gIFNZU19UVFlfQ09ORklHID0gJ1NZU19UVFlfQ09ORklHJyxcbiAgU1lTTE9HID0gJ1NZU0xPRycsXG4gIFdBS0VfQUxBUk0gPSAnV0FLRV9BTEFSTSdcbn1cblxuLyoqXG4gKiBQZXJtaXNzaW9ucyBmb3IgZGV2aWNlIGFjY2Vzc1xuICovXG5leHBvcnQgZW51bSBEZXZpY2VQZXJtaXNzaW9uIHtcbiAgLyoqXG4gICAqIFJlYWRcbiAgICovXG4gIFJFQUQgPSAncmVhZCcsXG5cbiAgLyoqXG4gICAqIFdyaXRlXG4gICAqL1xuICBXUklURSA9ICd3cml0ZScsXG5cbiAgLyoqXG4gICAqIE1ha2UgYSBub2RlXG4gICAqL1xuICBNS05PRCA9ICdta25vZCcsXG59XG5cbi8qKlxuICogVGhlIHN1cHBvcnRlZCBvcHRpb25zIGZvciBhIHRtcGZzIG1vdW50IGZvciBhIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGVudW0gVG1wZnNNb3VudE9wdGlvbiB7XG4gIERFRkFVTFRTID0gJ2RlZmF1bHRzJyxcbiAgUk8gPSAncm8nLFxuICBSVyA9ICdydycsXG4gIFNVSUQgPSAnc3VpZCcsXG4gIE5PU1VJRCA9ICdub3N1aWQnLFxuICBERVYgPSAnZGV2JyxcbiAgTk9ERVYgPSAnbm9kZXYnLFxuICBFWEVDID0gJ2V4ZWMnLFxuICBOT0VYRUMgPSAnbm9leGVjJyxcbiAgU1lOQyA9ICdzeW5jJyxcbiAgQVNZTkMgPSAnYXN5bmMnLFxuICBESVJTWU5DID0gJ2RpcnN5bmMnLFxuICBSRU1PVU5UID0gJ3JlbW91bnQnLFxuICBNQU5EID0gJ21hbmQnLFxuICBOT01BTkQgPSAnbm9tYW5kJyxcbiAgQVRJTUUgPSAnYXRpbWUnLFxuICBOT0FUSU1FID0gJ25vYXRpbWUnLFxuICBESVJBVElNRSA9ICdkaXJhdGltZScsXG4gIE5PRElSQVRJTUUgPSAnbm9kaXJhdGltZScsXG4gIEJJTkQgPSAnYmluZCcsXG4gIFJCSU5EID0gJ3JiaW5kJyxcbiAgVU5CSU5EQUJMRSA9ICd1bmJpbmRhYmxlJyxcbiAgUlVOQklOREFCTEUgPSAncnVuYmluZGFibGUnLFxuICBQUklWQVRFID0gJ3ByaXZhdGUnLFxuICBSUFJJVkFURSA9ICdycHJpdmF0ZScsXG4gIFNIQVJFRCA9ICdzaGFyZWQnLFxuICBSU0hBUkVEID0gJ3JzaGFyZWQnLFxuICBTTEFWRSA9ICdzbGF2ZScsXG4gIFJTTEFWRSA9ICdyc2xhdmUnLFxuICBSRUxBVElNRSA9ICdyZWxhdGltZScsXG4gIE5PUkVMQVRJTUUgPSAnbm9yZWxhdGltZScsXG4gIFNUUklDVEFUSU1FID0gJ3N0cmljdGF0aW1lJyxcbiAgTk9TVFJJQ1RBVElNRSA9ICdub3N0cmljdGF0aW1lJyxcbiAgTU9ERSA9ICdtb2RlJyxcbiAgVUlEID0gJ3VpZCcsXG4gIEdJRCA9ICdnaWQnLFxuICBOUl9JTk9ERVMgPSAnbnJfaW5vZGVzJyxcbiAgTlJfQkxPQ0tTID0gJ25yX2Jsb2NrcycsXG4gIE1QT0wgPSAnbXBvbCdcbn1cbiJdfQ== |
\ | No newline at end of file |