cdk-nuxt 1.2.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -15,8 +15,9 @@ export interface StaticAssetConfig {
|
|
|
15
15
|
target: string;
|
|
16
16
|
/**
|
|
17
17
|
* The content type to set for the files in the source folder when uploading them to the target.
|
|
18
|
+
* Useful to override force content types for specific files.
|
|
18
19
|
*/
|
|
19
|
-
contentType
|
|
20
|
+
contentType?: string;
|
|
20
21
|
/**
|
|
21
22
|
* The cache settings to use for the uploaded source files when accessing them on the target path with the specified pattern.
|
|
22
23
|
*/
|
|
@@ -22,6 +22,7 @@ const getNuxtAppCustomAssetConfigs = (srcDir = undefined, rootDir = '.') => {
|
|
|
22
22
|
aws_s3_deployment_1.CacheControl.sMaxAge(aws_cdk_lib_1.Duration.minutes(1)),
|
|
23
23
|
];
|
|
24
24
|
return [
|
|
25
|
+
// File to detect current deployment revision to delete outdated files of old deployments
|
|
25
26
|
{
|
|
26
27
|
pattern: 'app-revision',
|
|
27
28
|
source: customAssetsSourcePath,
|
|
@@ -35,20 +36,7 @@ const getNuxtAppCustomAssetConfigs = (srcDir = undefined, rootDir = '.') => {
|
|
|
35
36
|
],
|
|
36
37
|
invalidateOnChange: true
|
|
37
38
|
},
|
|
38
|
-
|
|
39
|
-
pattern: '*.txt',
|
|
40
|
-
source: customAssetsSourcePath,
|
|
41
|
-
target: customAssetsTargetPath,
|
|
42
|
-
contentType: 'text/plain; charset=UTF-8',
|
|
43
|
-
cacheControl: defaultCacheConfig,
|
|
44
|
-
},
|
|
45
|
-
{
|
|
46
|
-
pattern: '*.xml',
|
|
47
|
-
source: customAssetsSourcePath,
|
|
48
|
-
target: customAssetsTargetPath,
|
|
49
|
-
contentType: 'text/xml; charset=UTF-8',
|
|
50
|
-
cacheControl: defaultCacheConfig,
|
|
51
|
-
},
|
|
39
|
+
// Files for native app links
|
|
52
40
|
{
|
|
53
41
|
pattern: '.well-known/*',
|
|
54
42
|
source: customAssetsSourcePath,
|
|
@@ -56,48 +44,15 @@ const getNuxtAppCustomAssetConfigs = (srcDir = undefined, rootDir = '.') => {
|
|
|
56
44
|
contentType: 'application/json; charset=UTF-8',
|
|
57
45
|
cacheControl: defaultCacheConfig,
|
|
58
46
|
},
|
|
47
|
+
// E.g., robots.txt, ads.txt, sitemap.xml, *.js, manifest.webmanifest ...
|
|
48
|
+
// But exclude .gitignore and other hidden files
|
|
59
49
|
{
|
|
60
|
-
pattern: '
|
|
50
|
+
pattern: '?*.*',
|
|
61
51
|
source: customAssetsSourcePath,
|
|
62
52
|
target: customAssetsTargetPath,
|
|
63
|
-
contentType:
|
|
53
|
+
contentType: undefined,
|
|
64
54
|
cacheControl: defaultCacheConfig,
|
|
65
55
|
},
|
|
66
|
-
{
|
|
67
|
-
pattern: '*.ico',
|
|
68
|
-
source: customAssetsSourcePath,
|
|
69
|
-
target: customAssetsTargetPath,
|
|
70
|
-
contentType: 'image/x-icon',
|
|
71
|
-
cacheControl: defaultCacheConfig
|
|
72
|
-
},
|
|
73
|
-
{
|
|
74
|
-
pattern: '*.png',
|
|
75
|
-
source: customAssetsSourcePath,
|
|
76
|
-
target: customAssetsTargetPath,
|
|
77
|
-
contentType: 'image/png',
|
|
78
|
-
cacheControl: defaultCacheConfig
|
|
79
|
-
},
|
|
80
|
-
{
|
|
81
|
-
pattern: '*.jpg',
|
|
82
|
-
source: customAssetsSourcePath,
|
|
83
|
-
target: customAssetsTargetPath,
|
|
84
|
-
contentType: 'image/jpg',
|
|
85
|
-
cacheControl: defaultCacheConfig
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
pattern: '*.svg',
|
|
89
|
-
source: customAssetsSourcePath,
|
|
90
|
-
target: customAssetsTargetPath,
|
|
91
|
-
contentType: 'image/svg+xml',
|
|
92
|
-
cacheControl: defaultCacheConfig
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
pattern: '*.js',
|
|
96
|
-
source: customAssetsSourcePath,
|
|
97
|
-
target: customAssetsTargetPath,
|
|
98
|
-
contentType: 'application/javascript; charset=UTF-8',
|
|
99
|
-
cacheControl: defaultCacheConfig,
|
|
100
|
-
}
|
|
101
56
|
];
|
|
102
57
|
};
|
|
103
58
|
/**
|
|
@@ -116,28 +71,6 @@ const getNuxtAppBuildAssetConfigs = (rootDir = '.') => {
|
|
|
116
71
|
aws_s3_deployment_1.CacheControl.fromString('immutable'),
|
|
117
72
|
];
|
|
118
73
|
return [
|
|
119
|
-
// Build Assets
|
|
120
|
-
{
|
|
121
|
-
pattern: '*.js',
|
|
122
|
-
target: buildAssetsTargetPath,
|
|
123
|
-
source: buildAssetsSourcePath,
|
|
124
|
-
contentType: 'application/javascript; charset=UTF-8',
|
|
125
|
-
cacheControl: defaultCacheConfig
|
|
126
|
-
},
|
|
127
|
-
{
|
|
128
|
-
pattern: '*.js.map',
|
|
129
|
-
target: buildAssetsTargetPath,
|
|
130
|
-
source: buildAssetsSourcePath,
|
|
131
|
-
contentType: 'application/json; charset=UTF-8',
|
|
132
|
-
cacheControl: defaultCacheConfig
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
pattern: '*.css',
|
|
136
|
-
target: buildAssetsTargetPath,
|
|
137
|
-
source: buildAssetsSourcePath,
|
|
138
|
-
contentType: 'text/css; charset=UTF-8',
|
|
139
|
-
cacheControl: defaultCacheConfig
|
|
140
|
-
},
|
|
141
74
|
{
|
|
142
75
|
pattern: '*.html',
|
|
143
76
|
target: buildAssetsTargetPath,
|
|
@@ -148,61 +81,11 @@ const getNuxtAppBuildAssetConfigs = (rootDir = '.') => {
|
|
|
148
81
|
cacheControl: [aws_s3_deployment_1.CacheControl.setPublic(), aws_s3_deployment_1.CacheControl.sMaxAge(aws_cdk_lib_1.Duration.days(7))],
|
|
149
82
|
invalidateOnChange: true
|
|
150
83
|
},
|
|
151
|
-
// Manifest created by legacy PWA module
|
|
152
|
-
{
|
|
153
|
-
pattern: 'manifest.*.json',
|
|
154
|
-
target: buildAssetsTargetPath,
|
|
155
|
-
source: buildAssetsSourcePath,
|
|
156
|
-
contentType: 'application/json; charset=UTF-8',
|
|
157
|
-
cacheControl: defaultCacheConfig
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
pattern: '*.png',
|
|
161
|
-
target: buildAssetsTargetPath,
|
|
162
|
-
source: buildAssetsSourcePath,
|
|
163
|
-
contentType: 'image/png',
|
|
164
|
-
cacheControl: defaultCacheConfig
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
pattern: '*.jpg',
|
|
168
|
-
target: buildAssetsTargetPath,
|
|
169
|
-
source: buildAssetsSourcePath,
|
|
170
|
-
contentType: 'image/jpg',
|
|
171
|
-
cacheControl: defaultCacheConfig
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
pattern: '*.svg',
|
|
175
|
-
target: buildAssetsTargetPath,
|
|
176
|
-
source: buildAssetsSourcePath,
|
|
177
|
-
contentType: 'image/svg+xml',
|
|
178
|
-
cacheControl: defaultCacheConfig
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
pattern: '*.eot',
|
|
182
|
-
target: buildAssetsTargetPath,
|
|
183
|
-
source: buildAssetsSourcePath,
|
|
184
|
-
contentType: 'application/vnd.ms-fontobject',
|
|
185
|
-
cacheControl: defaultCacheConfig
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
pattern: '*.ttf',
|
|
189
|
-
target: buildAssetsTargetPath,
|
|
190
|
-
source: buildAssetsSourcePath,
|
|
191
|
-
contentType: 'application/font-sfnt',
|
|
192
|
-
cacheControl: defaultCacheConfig
|
|
193
|
-
},
|
|
194
|
-
{
|
|
195
|
-
pattern: '*.woff',
|
|
196
|
-
target: buildAssetsTargetPath,
|
|
197
|
-
source: buildAssetsSourcePath,
|
|
198
|
-
contentType: 'font/woff',
|
|
199
|
-
cacheControl: defaultCacheConfig
|
|
200
|
-
},
|
|
201
84
|
{
|
|
202
|
-
pattern: '
|
|
85
|
+
pattern: '*.*',
|
|
203
86
|
target: buildAssetsTargetPath,
|
|
204
87
|
source: buildAssetsSourcePath,
|
|
205
|
-
contentType:
|
|
88
|
+
contentType: undefined,
|
|
206
89
|
cacheControl: defaultCacheConfig
|
|
207
90
|
}
|
|
208
91
|
];
|
|
@@ -217,4 +100,4 @@ const getNuxtAppStaticAssetConfigs = (srcDir = undefined, rootDir = '.') => {
|
|
|
217
100
|
return [...getNuxtAppBuildAssetConfigs(rootDir), ...getNuxtAppCustomAssetConfigs(srcDir, rootDir)];
|
|
218
101
|
};
|
|
219
102
|
exports.getNuxtAppStaticAssetConfigs = getNuxtAppStaticAssetConfigs;
|
|
220
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4dC1hcHAtc3RhdGljLWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm51eHQtYXBwLXN0YXRpYy1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTJEO0FBQzNELDZDQUFxQztBQW1DckM7Ozs7O0dBS0c7QUFDSCxNQUFNLDRCQUE0QixHQUFHLENBQUMsU0FBMkIsU0FBUyxFQUFFLFVBQWtCLEdBQUcsRUFBdUIsRUFBRTtJQUV0SCw0R0FBNEc7SUFDNUcsc0NBQXNDO0lBQ3RDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztJQUNoRixNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztJQUVuQyx3R0FBd0c7SUFDeEcseURBQXlEO0lBQ3pELE1BQU0sa0JBQWtCLEdBQUc7UUFDdkIsZ0NBQVksQ0FBQyxTQUFTLEVBQUU7UUFDeEIsZ0NBQVksQ0FBQyxNQUFNLENBQUMsc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsZ0NBQVksQ0FBQyxPQUFPLENBQUMsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDNUMsQ0FBQztJQUVGLE9BQU87UUFDSDtZQUNJLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLE1BQU0sRUFBRSxzQkFBc0I7WUFDOUIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLCtGQUErRjtZQUMvRixZQUFZLEVBQUU7Z0JBQ1YsZ0NBQVksQ0FBQyxTQUFTLEVBQUU7Z0JBQ3hCLGdDQUFZLENBQUMsTUFBTSxDQUFDLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QyxnQ0FBWSxDQUFDLE9BQU8sQ0FBQyxzQkFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUMxQztZQUNELGtCQUFrQixFQUFFLElBQUk7U0FDM0I7UUFDRDtZQUNJLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE1BQU0sRUFBRSxzQkFBc0I7WUFDOUIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLFlBQVksRUFBRSxrQkFBa0I7U0FDbkM7UUFDRDtZQUNJLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE1BQU0sRUFBRSxzQkFBc0I7WUFDOUIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixXQUFXLEVBQUUseUJBQXlCO1lBQ3RDLFlBQVksRUFBRSxrQkFBa0I7U0FDbkM7UUFDRDtZQUNJLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLE1BQU0sRUFBRSxzQkFBc0I7WUFDOUIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixXQUFXLEVBQUUsaUNBQWlDO1lBQzlDLFlBQVksRUFBRSxrQkFBa0I7U0FDbkM7UUFDRDtZQUNJLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLFdBQVcsRUFBRSwwQ0FBMEM7WUFDdkQsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLFdBQVcsRUFBRSxjQUFjO1lBQzNCLFlBQVksRUFBRSxrQkFBa0I7U0FDbkM7UUFDRDtZQUNJLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE1BQU0sRUFBRSxzQkFBc0I7WUFDOUIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixXQUFXLEVBQUUsV0FBVztZQUN4QixZQUFZLEVBQUUsa0JBQWtCO1NBQ25DO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLE1BQU0sRUFBRSxzQkFBc0I7WUFDOUIsV0FBVyxFQUFFLFdBQVc7WUFDeEIsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLFdBQVcsRUFBRSxlQUFlO1lBQzVCLFlBQVksRUFBRSxrQkFBa0I7U0FDbkM7UUFDRDtZQUNJLE9BQU8sRUFBRSxNQUFNO1lBQ2YsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztLQUNKLENBQUM7QUFDTixDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFVBQWtCLEdBQUcsRUFBdUIsRUFBRTtJQUUvRSx1RUFBdUU7SUFDdkUsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLE9BQU8sdUJBQXVCLENBQUM7SUFDaEUsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTFDLHVGQUF1RjtJQUN2RixNQUFNLGtCQUFrQixHQUFHO1FBQ3ZCLGdDQUFZLENBQUMsU0FBUyxFQUFFO1FBQ3hCLGdDQUFZLENBQUMsTUFBTSxDQUFDLHNCQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLGdDQUFZLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQztLQUN2QyxDQUFDO0lBRUYsT0FBTztRQUVILGVBQWU7UUFDZjtZQUNJLE9BQU8sRUFBRSxNQUFNO1lBQ2YsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLFVBQVU7WUFDbkIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSxpQ0FBaUM7WUFDOUMsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLFFBQVE7WUFDakIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSwwQkFBMEI7WUFDdkMseUdBQXlHO1lBQ3pHLHlIQUF5SDtZQUN6SCxZQUFZLEVBQUUsQ0FBQyxnQ0FBWSxDQUFDLFNBQVMsRUFBRSxFQUFFLGdDQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEYsa0JBQWtCLEVBQUUsSUFBSTtTQUMzQjtRQUVELHdDQUF3QztRQUN4QztZQUNJLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSxpQ0FBaUM7WUFDOUMsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLFlBQVksRUFBRSxrQkFBa0I7U0FDbkM7UUFDRDtZQUNJLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixXQUFXLEVBQUUsV0FBVztZQUN4QixZQUFZLEVBQUUsa0JBQWtCO1NBQ25DO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsT0FBTztZQUNoQixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsV0FBVyxFQUFFLGVBQWU7WUFDNUIsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSwrQkFBK0I7WUFDNUMsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLE9BQU87WUFDaEIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSx1QkFBdUI7WUFDcEMsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUNEO1lBQ0ksT0FBTyxFQUFFLFFBQVE7WUFDakIsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLFlBQVksRUFBRSxrQkFBa0I7U0FDbkM7UUFDRDtZQUNJLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixXQUFXLEVBQUUsWUFBWTtZQUN6QixZQUFZLEVBQUUsa0JBQWtCO1NBQ25DO0tBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0ksTUFBTSw0QkFBNEIsR0FBRyxDQUFDLFNBQTJCLFNBQVMsRUFBRSxVQUFrQixHQUFHLEVBQXVCLEVBQUU7SUFDN0gsT0FBTyxDQUFDLEdBQUcsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN2RyxDQUFDLENBQUM7QUFGVyxRQUFBLDRCQUE0QixnQ0FFdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NhY2hlQ29udHJvbH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1kZXBsb3ltZW50XCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aWNBc3NldENvbmZpZyB7XG4gICAgLyoqXG4gICAgICogVGhlIGZpbGUgcGF0dGVybiBmb3IgdGhlIGluY29taW5nIHJlcXVlc3RzIHRoYXQgc2hvdWxkIGJlIGZvcndhcmRlZCB0byB0aGUgdGFyZ2V0IHBhdGggaW4gdGhlIHN0YXRpYyBhc3NldHMgUzMgYnVja2V0XG4gICAgICogd2l0aCB0aGUgYXBwcm9wcmlhdGUgY2FjaGUgYW5kIGNvbnRlbnQgc2V0dGluZ3MgZGVmaW5lZCBpbiB0aGUgc2FtZSBvYmplY3QuXG4gICAgICovXG4gICAgcGF0dGVybjogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxvY2FsIGRpcmVjdG9yeSB0byB1cGxvYWQgdGhlIGZpbGVzIGZyb20uXG4gICAgICovXG4gICAgc291cmNlOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcmVtb3RlIHBhdGggYXQgd2hpY2ggdG8gbWFrZSB0aGUgdXBsb2FkZWQgZmlsZXMgZnJvbSBzb3VyY2UgYWNjZXNzaWJsZS5cbiAgICAgKi9cbiAgICB0YXJnZXQ6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250ZW50IHR5cGUgdG8gc2V0IGZvciB0aGUgZmlsZXMgaW4gdGhlIHNvdXJjZSBmb2xkZXIgd2hlbiB1cGxvYWRpbmcgdGhlbSB0byB0aGUgdGFyZ2V0LlxuICAgICAqL1xuICAgIGNvbnRlbnRUeXBlOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgY2FjaGUgc2V0dGluZ3MgdG8gdXNlIGZvciB0aGUgdXBsb2FkZWQgc291cmNlIGZpbGVzIHdoZW4gYWNjZXNzaW5nIHRoZW0gb24gdGhlIHRhcmdldCBwYXRoIHdpdGggdGhlIHNwZWNpZmllZCBwYXR0ZXJuLlxuICAgICAqL1xuICAgIGNhY2hlQ29udHJvbDogQ2FjaGVDb250cm9sW10sXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGludmFsaWRhdGUgdGhlIGZpbGVzIG1hdGNoaW5nIHRoZSBjb25maWcncyBwYXR0ZXJuIGluIHRoZSBkaXN0cmlidXRpb24ncyBlZGdlIGNhY2hlcyBhZnRlciB0aGUgZmlsZXMgYXJlIHVwbG9hZGVkIHRvIHRoZSBkZXN0aW5hdGlvbiBidWNrZXQuXG4gICAgICovXG4gICAgaW52YWxpZGF0ZU9uQ2hhbmdlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGN1c3RvbSBzdGF0aWMgYXNzZXRzIG9mIHRoZSBOdXh0IGFwcCB0aGF0IHNoYWxsIGJlIHB1YmxpY2x5IGF2YWlsYWJsZS5cbiAqXG4gKiBAcGFyYW0gc3JjRGlyIFRoZSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2l0aGluIHRoZSByb290IGRpcmVjdG9yeSAoYHJvb3REaXJgKSBhdCB3aGljaCB0aGUgYHB1YmxpY2AgYXNzZXRzIGZvbGRlciBvZiB0aGUgTnV4dCBhcHAgaXMgbG9jYXRlZC5cbiAqIEBwYXJhbSByb290RGlyIFRoZSBwYXRoIHRvIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgTnV4dCBhcHAgYXQgd2hpY2ggdGhlIGAub3V0cHV0YCBidWlsZCBmb2xkZXIgaXMgbG9jYXRlZC5cbiAqL1xuY29uc3QgZ2V0TnV4dEFwcEN1c3RvbUFzc2V0Q29uZmlncyA9IChzcmNEaXI6IHN0cmluZ3x1bmRlZmluZWQgPSB1bmRlZmluZWQsIHJvb3REaXI6IHN0cmluZyA9ICcuJyk6IFN0YXRpY0Fzc2V0Q29uZmlnW10gPT4ge1xuXG4gICAgLy8gV2UgY29weSB0aGUgY3VzdG9tIGFzc2V0cyBmcm9tIHRoZSBzb3VyY2UgZGlyZWN0b3J5IHRvIHByZXZlbnQgb3ZlcnJpZGluZyB0aGUgYnVpbGQgYXNzZXRzIGNhY2hlIGJlaGF2aW9yXG4gICAgLy8gd2hlbiBjb3B5aW5nIGZyb20gb3V0cHV0cyBkaXJlY3RvcnlcbiAgICBjb25zdCBjdXN0b21Bc3NldHNTb3VyY2VQYXRoID0gYCR7cm9vdERpcn0ke3NyY0RpciA/IGAvJHtzcmNEaXJ9YCA6ICcnfS9wdWJsaWNgO1xuICAgIGNvbnN0IGN1c3RvbUFzc2V0c1RhcmdldFBhdGggPSAnLyc7XG5cbiAgICAvLyBDdXN0b20gYXNzZXRzIG1pZ2h0IG5vdCBiZSB2ZXJzaW9uZWQgd2hlcmVieSB3ZSB3YW50IHRvIHByZXZlbnQgYW55IGNhY2hpbmcgaXNzdWVzIHdoZW4gdXBkYXRpbmcgdGhlbVxuICAgIC8vIC0+IGNhY2hlIGZvciBvbmx5IDEgZGF5IG9uIENETiBhbmQgMSBtaW51dGUgb24gYnJvd3NlclxuICAgIGNvbnN0IGRlZmF1bHRDYWNoZUNvbmZpZyA9IFtcbiAgICAgICAgQ2FjaGVDb250cm9sLnNldFB1YmxpYygpLFxuICAgICAgICBDYWNoZUNvbnRyb2wubWF4QWdlKER1cmF0aW9uLmRheXMoMSkpLFxuICAgICAgICBDYWNoZUNvbnRyb2wuc01heEFnZShEdXJhdGlvbi5taW51dGVzKDEpKSxcbiAgICBdO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgICAgcGF0dGVybjogJ2FwcC1yZXZpc2lvbicsXG4gICAgICAgICAgICBzb3VyY2U6IGN1c3RvbUFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICB0YXJnZXQ6IGN1c3RvbUFzc2V0c1RhcmdldFBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogJ3RleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgnLFxuICAgICAgICAgICAgLy8gTG9uZ2VyIGNhY2hlIGNvbnRyb2wgc2luY2Ugd2UgYXV0b21hdGljYWxseSBpbnZhbGlkYXRlIHRoZSByZXZpc2lvbiBmaWxlIG9uIGV2ZXJ5IGRlcGxveW1lbnRcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogW1xuICAgICAgICAgICAgICAgIENhY2hlQ29udHJvbC5zZXRQdWJsaWMoKSxcbiAgICAgICAgICAgICAgICBDYWNoZUNvbnRyb2wubWF4QWdlKER1cmF0aW9uLnNlY29uZHMoMTApKSxcbiAgICAgICAgICAgICAgICBDYWNoZUNvbnRyb2wuc01heEFnZShEdXJhdGlvbi5kYXlzKDE0KSksXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgaW52YWxpZGF0ZU9uQ2hhbmdlOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLnR4dCcsIC8vIEUuZy4sIHJvYm90cy50eHQsIGFkcy50eHQsIC4uLlxuICAgICAgICAgICAgc291cmNlOiBjdXN0b21Bc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgdGFyZ2V0OiBjdXN0b21Bc3NldHNUYXJnZXRQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICd0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04JyxcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogZGVmYXVsdENhY2hlQ29uZmlnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnKi54bWwnLCAvLyBFLmcuLCBzaXRlbWFwLnhtbCAuLi5cbiAgICAgICAgICAgIHNvdXJjZTogY3VzdG9tQXNzZXRzU291cmNlUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogY3VzdG9tQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAndGV4dC94bWw7IGNoYXJzZXQ9VVRGLTgnLFxuICAgICAgICAgICAgY2FjaGVDb250cm9sOiBkZWZhdWx0Q2FjaGVDb25maWcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcud2VsbC1rbm93bi8qJywgLy8gRmlsZXMgZm9yIG5hdGl2ZSBhcHAgbGlua3NcbiAgICAgICAgICAgIHNvdXJjZTogY3VzdG9tQXNzZXRzU291cmNlUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogY3VzdG9tQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCcsXG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGRlZmF1bHRDYWNoZUNvbmZpZyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcGF0dGVybjogJ21hbmlmZXN0LndlYm1hbmlmZXN0JywgLy8gTWFuaWZlc3QgY3JlYXRlZCBieSBQV0EgbW9kdWxlXG4gICAgICAgICAgICBzb3VyY2U6IGN1c3RvbUFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICB0YXJnZXQ6IGN1c3RvbUFzc2V0c1RhcmdldFBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL21hbmlmZXN0K2pzb247IGNoYXJzZXQ9VVRGLTgnLFxuICAgICAgICAgICAgY2FjaGVDb250cm9sOiBkZWZhdWx0Q2FjaGVDb25maWcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLmljbycsIC8vIEZhdmljb25cbiAgICAgICAgICAgIHNvdXJjZTogY3VzdG9tQXNzZXRzU291cmNlUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogY3VzdG9tQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnaW1hZ2UveC1pY29uJyxcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogZGVmYXVsdENhY2hlQ29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLnBuZycsXG4gICAgICAgICAgICBzb3VyY2U6IGN1c3RvbUFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICB0YXJnZXQ6IGN1c3RvbUFzc2V0c1RhcmdldFBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogJ2ltYWdlL3BuZycsXG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGRlZmF1bHRDYWNoZUNvbmZpZ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnKi5qcGcnLFxuICAgICAgICAgICAgc291cmNlOiBjdXN0b21Bc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgdGFyZ2V0OiBjdXN0b21Bc3NldHNUYXJnZXRQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICdpbWFnZS9qcGcnLFxuICAgICAgICAgICAgY2FjaGVDb250cm9sOiBkZWZhdWx0Q2FjaGVDb25maWdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcGF0dGVybjogJyouc3ZnJyxcbiAgICAgICAgICAgIHNvdXJjZTogY3VzdG9tQXNzZXRzU291cmNlUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogY3VzdG9tQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnaW1hZ2Uvc3ZnK3htbCcsXG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGRlZmF1bHRDYWNoZUNvbmZpZ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnKi5qcycsXG4gICAgICAgICAgICBzb3VyY2U6IGN1c3RvbUFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICB0YXJnZXQ6IGN1c3RvbUFzc2V0c1RhcmdldFBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2phdmFzY3JpcHQ7IGNoYXJzZXQ9VVRGLTgnLFxuICAgICAgICAgICAgY2FjaGVDb250cm9sOiBkZWZhdWx0Q2FjaGVDb25maWcsXG4gICAgICAgIH1cbiAgICBdO1xufTtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIHN0YXRpYyBhc3NldHMgb2YgdGhlIE51eHQgYXBwIHRoYXQgYXJlIGdlbmVyYXRlZCBieSB0aGUgYnVpbGQgb2YgdGhlIGFwcC5cbiAqXG4gKiBAcGFyYW0gcm9vdERpciBUaGUgcGF0aCB0byB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIE51eHQgYXBwIGF0IHdoaWNoIHRoZSBgLm91dHB1dGAgYnVpbGQgZm9sZGVyIGlzIGxvY2F0ZWQuXG4gKi9cbmNvbnN0IGdldE51eHRBcHBCdWlsZEFzc2V0Q29uZmlncyA9IChyb290RGlyOiBzdHJpbmcgPSAnLicpOiBTdGF0aWNBc3NldENvbmZpZ1tdID0+IHtcblxuICAgIC8vIFRoZSBidWlsZCBhc3NldHMgcmVxdWlyZWQgZm9yIENTUiB0aGF0IGFyZSBnZW5lcmF0ZWQgYnkgJ251eHQgYnVpbGQnXG4gICAgY29uc3QgYnVpbGRBc3NldHNTb3VyY2VQYXRoID0gYCR7cm9vdERpcn0vLm91dHB1dC9wdWJsaWMvX251eHRgO1xuICAgIGNvbnN0IGJ1aWxkQXNzZXRzVGFyZ2V0UGF0aCA9ICgnL19udXh0LycpO1xuXG4gICAgLy8gQnVpbGQgYXNzZXRzIGFyZSBoYXNoZWQgd2hlcmVieSB0aGV5IGFyZSBpbW11dGFibGUgYW5kIGNhbiBiZSBjYWNoZWQgZm9yIGEgbG9uZyB0aW1lXG4gICAgY29uc3QgZGVmYXVsdENhY2hlQ29uZmlnID0gW1xuICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UoRHVyYXRpb24uZGF5cygzNjUpKSxcbiAgICAgICAgQ2FjaGVDb250cm9sLmZyb21TdHJpbmcoJ2ltbXV0YWJsZScpLFxuICAgIF07XG5cbiAgICByZXR1cm4gW1xuXG4gICAgICAgIC8vIEJ1aWxkIEFzc2V0c1xuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnKi5qcycsXG4gICAgICAgICAgICB0YXJnZXQ6IGJ1aWxkQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIHNvdXJjZTogYnVpbGRBc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qYXZhc2NyaXB0OyBjaGFyc2V0PVVURi04JyxcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogZGVmYXVsdENhY2hlQ29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLmpzLm1hcCcsXG4gICAgICAgICAgICB0YXJnZXQ6IGJ1aWxkQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIHNvdXJjZTogYnVpbGRBc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PVVURi04JyxcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogZGVmYXVsdENhY2hlQ29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLmNzcycsXG4gICAgICAgICAgICB0YXJnZXQ6IGJ1aWxkQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIHNvdXJjZTogYnVpbGRBc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICd0ZXh0L2NzczsgY2hhcnNldD1VVEYtOCcsXG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGRlZmF1bHRDYWNoZUNvbmZpZ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnKi5odG1sJyxcbiAgICAgICAgICAgIHRhcmdldDogYnVpbGRBc3NldHNUYXJnZXRQYXRoLFxuICAgICAgICAgICAgc291cmNlOiBidWlsZEFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogJ3RleHQvaHRtbDsgY2hhcnNldD1VVEYtOCcsXG4gICAgICAgICAgICAvLyBXZSBkbyBub3Qgd2FudCB0byBjYWNoZSBodG1sIGZpbGVzIG9uIHRoZSBicm93c2VyIGFzIHdlIHdhbnQgdG8gYmUgYWJsZSB0byBwdWJsaXNoIG5ldyBjaGFuZ2VzIHF1aWNrbHlcbiAgICAgICAgICAgIC8vIEhvd2V2ZXIsIHdlIGRvIGNhY2hlIHRoZSBodG1sIGZpbGVzIG9uIENsb3VkRnJvbnQgZm9yIGEgcGVyZm9ybWFuY2UgYm9vc3QgYW5kIGludmFsaWRhdGUgdGhlIGNhY2hlIG9uIGV2ZXJ5IGRlcGxveW1lbnRcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogW0NhY2hlQ29udHJvbC5zZXRQdWJsaWMoKSwgQ2FjaGVDb250cm9sLnNNYXhBZ2UoRHVyYXRpb24uZGF5cyg3KSldLFxuICAgICAgICAgICAgaW52YWxpZGF0ZU9uQ2hhbmdlOiB0cnVlXG4gICAgICAgIH0sXG5cbiAgICAgICAgLy8gTWFuaWZlc3QgY3JlYXRlZCBieSBsZWdhY3kgUFdBIG1vZHVsZVxuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnbWFuaWZlc3QuKi5qc29uJyxcbiAgICAgICAgICAgIHRhcmdldDogYnVpbGRBc3NldHNUYXJnZXRQYXRoLFxuICAgICAgICAgICAgc291cmNlOiBidWlsZEFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9VVRGLTgnLFxuICAgICAgICAgICAgY2FjaGVDb250cm9sOiBkZWZhdWx0Q2FjaGVDb25maWdcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcGF0dGVybjogJyoucG5nJyxcbiAgICAgICAgICAgIHRhcmdldDogYnVpbGRBc3NldHNUYXJnZXRQYXRoLFxuICAgICAgICAgICAgc291cmNlOiBidWlsZEFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogJ2ltYWdlL3BuZycsXG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGRlZmF1bHRDYWNoZUNvbmZpZ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnKi5qcGcnLFxuICAgICAgICAgICAgdGFyZ2V0OiBidWlsZEFzc2V0c1RhcmdldFBhdGgsXG4gICAgICAgICAgICBzb3VyY2U6IGJ1aWxkQXNzZXRzU291cmNlUGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnaW1hZ2UvanBnJyxcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogZGVmYXVsdENhY2hlQ29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLnN2ZycsXG4gICAgICAgICAgICB0YXJnZXQ6IGJ1aWxkQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIHNvdXJjZTogYnVpbGRBc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICdpbWFnZS9zdmcreG1sJyxcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogZGVmYXVsdENhY2hlQ29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLmVvdCcsXG4gICAgICAgICAgICB0YXJnZXQ6IGJ1aWxkQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIHNvdXJjZTogYnVpbGRBc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICdhcHBsaWNhdGlvbi92bmQubXMtZm9udG9iamVjdCcsXG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGRlZmF1bHRDYWNoZUNvbmZpZ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnKi50dGYnLFxuICAgICAgICAgICAgdGFyZ2V0OiBidWlsZEFzc2V0c1RhcmdldFBhdGgsXG4gICAgICAgICAgICBzb3VyY2U6IGJ1aWxkQXNzZXRzU291cmNlUGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vZm9udC1zZm50JyxcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogZGVmYXVsdENhY2hlQ29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLndvZmYnLFxuICAgICAgICAgICAgdGFyZ2V0OiBidWlsZEFzc2V0c1RhcmdldFBhdGgsXG4gICAgICAgICAgICBzb3VyY2U6IGJ1aWxkQXNzZXRzU291cmNlUGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnZm9udC93b2ZmJyxcbiAgICAgICAgICAgIGNhY2hlQ29udHJvbDogZGVmYXVsdENhY2hlQ29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcqLndvZmYyJyxcbiAgICAgICAgICAgIHRhcmdldDogYnVpbGRBc3NldHNUYXJnZXRQYXRoLFxuICAgICAgICAgICAgc291cmNlOiBidWlsZEFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogJ2ZvbnQvd29mZjInLFxuICAgICAgICAgICAgY2FjaGVDb250cm9sOiBkZWZhdWx0Q2FjaGVDb25maWdcbiAgICAgICAgfVxuICAgIF1cbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBzdGF0aWMgYXNzZXRzIG9mIHRoZSBOdXh0IGFwcCB0aGF0IHNoYWxsIGJlIHB1YmxpY2x5IGF2YWlsYWJsZS5cbiAqXG4gKiBAcGFyYW0gc3JjRGlyIFRoZSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2l0aGluIHRoZSByb290IGRpcmVjdG9yeSAoYHJvb3REaXJgKSBhdCB3aGljaCB0aGUgYHB1YmxpY2AgYXNzZXRzIGZvbGRlciBvZiB0aGUgTnV4dCBhcHAgaXMgbG9jYXRlZC5cbiAqIEBwYXJhbSByb290RGlyIFRoZSBwYXRoIHRvIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgTnV4dCBhcHAgYXQgd2hpY2ggdGhlIGAub3V0cHV0YCBidWlsZCBmb2xkZXIgaXMgbG9jYXRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE51eHRBcHBTdGF0aWNBc3NldENvbmZpZ3MgPSAoc3JjRGlyOiBzdHJpbmd8dW5kZWZpbmVkID0gdW5kZWZpbmVkLCByb290RGlyOiBzdHJpbmcgPSAnLicpOiBTdGF0aWNBc3NldENvbmZpZ1tdID0+IHtcbiAgICByZXR1cm4gWy4uLmdldE51eHRBcHBCdWlsZEFzc2V0Q29uZmlncyhyb290RGlyKSwgLi4uZ2V0TnV4dEFwcEN1c3RvbUFzc2V0Q29uZmlncyhzcmNEaXIsIHJvb3REaXIpXTtcbn07Il19
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnV4dC1hcHAtc3RhdGljLWFzc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm51eHQtYXBwLXN0YXRpYy1hc3NldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTJEO0FBQzNELDZDQUFxQztBQW9DckM7Ozs7O0dBS0c7QUFDSCxNQUFNLDRCQUE0QixHQUFHLENBQUMsU0FBMkIsU0FBUyxFQUFFLFVBQWtCLEdBQUcsRUFBdUIsRUFBRTtJQUV0SCw0R0FBNEc7SUFDNUcsc0NBQXNDO0lBQ3RDLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztJQUNoRixNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztJQUVuQyx3R0FBd0c7SUFDeEcseURBQXlEO0lBQ3pELE1BQU0sa0JBQWtCLEdBQUc7UUFDdkIsZ0NBQVksQ0FBQyxTQUFTLEVBQUU7UUFDeEIsZ0NBQVksQ0FBQyxNQUFNLENBQUMsc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsZ0NBQVksQ0FBQyxPQUFPLENBQUMsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDNUMsQ0FBQztJQUVGLE9BQU87UUFFSCx5RkFBeUY7UUFDekY7WUFDSSxPQUFPLEVBQUUsY0FBYztZQUN2QixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLE1BQU0sRUFBRSxzQkFBc0I7WUFDOUIsV0FBVyxFQUFFLDJCQUEyQjtZQUN4QywrRkFBK0Y7WUFDL0YsWUFBWSxFQUFFO2dCQUNWLGdDQUFZLENBQUMsU0FBUyxFQUFFO2dCQUN4QixnQ0FBWSxDQUFDLE1BQU0sQ0FBQyxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekMsZ0NBQVksQ0FBQyxPQUFPLENBQUMsc0JBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDMUM7WUFDRCxrQkFBa0IsRUFBRSxJQUFJO1NBQzNCO1FBRUQsNkJBQTZCO1FBQzdCO1lBQ0ksT0FBTyxFQUFFLGVBQWU7WUFDeEIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixNQUFNLEVBQUUsc0JBQXNCO1lBQzlCLFdBQVcsRUFBRSxpQ0FBaUM7WUFDOUMsWUFBWSxFQUFFLGtCQUFrQjtTQUNuQztRQUVELHlFQUF5RTtRQUN6RSxnREFBZ0Q7UUFDaEQ7WUFDSSxPQUFPLEVBQUUsTUFBTTtZQUNmLE1BQU0sRUFBRSxzQkFBc0I7WUFDOUIsTUFBTSxFQUFFLHNCQUFzQjtZQUM5QixXQUFXLEVBQUUsU0FBUztZQUN0QixZQUFZLEVBQUUsa0JBQWtCO1NBQ25DO0tBQ0osQ0FBQztBQUNOLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLENBQUMsVUFBa0IsR0FBRyxFQUF1QixFQUFFO0lBRS9FLHVFQUF1RTtJQUN2RSxNQUFNLHFCQUFxQixHQUFHLEdBQUcsT0FBTyx1QkFBdUIsQ0FBQztJQUNoRSxNQUFNLHFCQUFxQixHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFMUMsdUZBQXVGO0lBQ3ZGLE1BQU0sa0JBQWtCLEdBQUc7UUFDdkIsZ0NBQVksQ0FBQyxTQUFTLEVBQUU7UUFDeEIsZ0NBQVksQ0FBQyxNQUFNLENBQUMsc0JBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsZ0NBQVksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDO0tBQ3ZDLENBQUM7SUFFRixPQUFPO1FBQ0g7WUFDSSxPQUFPLEVBQUUsUUFBUTtZQUNqQixNQUFNLEVBQUUscUJBQXFCO1lBQzdCLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsV0FBVyxFQUFFLDBCQUEwQjtZQUN2Qyx5R0FBeUc7WUFDekcseUhBQXlIO1lBQ3pILFlBQVksRUFBRSxDQUFDLGdDQUFZLENBQUMsU0FBUyxFQUFFLEVBQUUsZ0NBQVksQ0FBQyxPQUFPLENBQUMsc0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoRixrQkFBa0IsRUFBRSxJQUFJO1NBQzNCO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsS0FBSztZQUNkLE1BQU0sRUFBRSxxQkFBcUI7WUFDN0IsTUFBTSxFQUFFLHFCQUFxQjtZQUM3QixXQUFXLEVBQUUsU0FBUztZQUN0QixZQUFZLEVBQUUsa0JBQWtCO1NBQ25DO0tBQ0osQ0FBQTtBQUNMLENBQUMsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0ksTUFBTSw0QkFBNEIsR0FBRyxDQUFDLFNBQTJCLFNBQVMsRUFBRSxVQUFrQixHQUFHLEVBQXVCLEVBQUU7SUFDN0gsT0FBTyxDQUFDLEdBQUcsMkJBQTJCLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztBQUN2RyxDQUFDLENBQUM7QUFGVyxRQUFBLDRCQUE0QixnQ0FFdkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NhY2hlQ29udHJvbH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zMy1kZXBsb3ltZW50XCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGF0aWNBc3NldENvbmZpZyB7XG4gICAgLyoqXG4gICAgICogVGhlIGZpbGUgcGF0dGVybiBmb3IgdGhlIGluY29taW5nIHJlcXVlc3RzIHRoYXQgc2hvdWxkIGJlIGZvcndhcmRlZCB0byB0aGUgdGFyZ2V0IHBhdGggaW4gdGhlIHN0YXRpYyBhc3NldHMgUzMgYnVja2V0XG4gICAgICogd2l0aCB0aGUgYXBwcm9wcmlhdGUgY2FjaGUgYW5kIGNvbnRlbnQgc2V0dGluZ3MgZGVmaW5lZCBpbiB0aGUgc2FtZSBvYmplY3QuXG4gICAgICovXG4gICAgcGF0dGVybjogc3RyaW5nLFxuXG4gICAgLyoqXG4gICAgICogVGhlIGxvY2FsIGRpcmVjdG9yeSB0byB1cGxvYWQgdGhlIGZpbGVzIGZyb20uXG4gICAgICovXG4gICAgc291cmNlOiBzdHJpbmcsXG5cbiAgICAvKipcbiAgICAgKiBUaGUgcmVtb3RlIHBhdGggYXQgd2hpY2ggdG8gbWFrZSB0aGUgdXBsb2FkZWQgZmlsZXMgZnJvbSBzb3VyY2UgYWNjZXNzaWJsZS5cbiAgICAgKi9cbiAgICB0YXJnZXQ6IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250ZW50IHR5cGUgdG8gc2V0IGZvciB0aGUgZmlsZXMgaW4gdGhlIHNvdXJjZSBmb2xkZXIgd2hlbiB1cGxvYWRpbmcgdGhlbSB0byB0aGUgdGFyZ2V0LlxuICAgICAqIFVzZWZ1bCB0byBvdmVycmlkZSBmb3JjZSBjb250ZW50IHR5cGVzIGZvciBzcGVjaWZpYyBmaWxlcy5cbiAgICAgKi9cbiAgICBjb250ZW50VHlwZT86IHN0cmluZyxcblxuICAgIC8qKlxuICAgICAqIFRoZSBjYWNoZSBzZXR0aW5ncyB0byB1c2UgZm9yIHRoZSB1cGxvYWRlZCBzb3VyY2UgZmlsZXMgd2hlbiBhY2Nlc3NpbmcgdGhlbSBvbiB0aGUgdGFyZ2V0IHBhdGggd2l0aCB0aGUgc3BlY2lmaWVkIHBhdHRlcm4uXG4gICAgICovXG4gICAgY2FjaGVDb250cm9sOiBDYWNoZUNvbnRyb2xbXSxcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gaW52YWxpZGF0ZSB0aGUgZmlsZXMgbWF0Y2hpbmcgdGhlIGNvbmZpZydzIHBhdHRlcm4gaW4gdGhlIGRpc3RyaWJ1dGlvbidzIGVkZ2UgY2FjaGVzIGFmdGVyIHRoZSBmaWxlcyBhcmUgdXBsb2FkZWQgdG8gdGhlIGRlc3RpbmF0aW9uIGJ1Y2tldC5cbiAgICAgKi9cbiAgICBpbnZhbGlkYXRlT25DaGFuZ2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgY3VzdG9tIHN0YXRpYyBhc3NldHMgb2YgdGhlIE51eHQgYXBwIHRoYXQgc2hhbGwgYmUgcHVibGljbHkgYXZhaWxhYmxlLlxuICpcbiAqIEBwYXJhbSBzcmNEaXIgVGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aXRoaW4gdGhlIHJvb3QgZGlyZWN0b3J5IChgcm9vdERpcmApIGF0IHdoaWNoIHRoZSBgcHVibGljYCBhc3NldHMgZm9sZGVyIG9mIHRoZSBOdXh0IGFwcCBpcyBsb2NhdGVkLlxuICogQHBhcmFtIHJvb3REaXIgVGhlIHBhdGggdG8gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBOdXh0IGFwcCBhdCB3aGljaCB0aGUgYC5vdXRwdXRgIGJ1aWxkIGZvbGRlciBpcyBsb2NhdGVkLlxuICovXG5jb25zdCBnZXROdXh0QXBwQ3VzdG9tQXNzZXRDb25maWdzID0gKHNyY0Rpcjogc3RyaW5nfHVuZGVmaW5lZCA9IHVuZGVmaW5lZCwgcm9vdERpcjogc3RyaW5nID0gJy4nKTogU3RhdGljQXNzZXRDb25maWdbXSA9PiB7XG5cbiAgICAvLyBXZSBjb3B5IHRoZSBjdXN0b20gYXNzZXRzIGZyb20gdGhlIHNvdXJjZSBkaXJlY3RvcnkgdG8gcHJldmVudCBvdmVycmlkaW5nIHRoZSBidWlsZCBhc3NldHMgY2FjaGUgYmVoYXZpb3JcbiAgICAvLyB3aGVuIGNvcHlpbmcgZnJvbSBvdXRwdXRzIGRpcmVjdG9yeVxuICAgIGNvbnN0IGN1c3RvbUFzc2V0c1NvdXJjZVBhdGggPSBgJHtyb290RGlyfSR7c3JjRGlyID8gYC8ke3NyY0Rpcn1gIDogJyd9L3B1YmxpY2A7XG4gICAgY29uc3QgY3VzdG9tQXNzZXRzVGFyZ2V0UGF0aCA9ICcvJztcblxuICAgIC8vIEN1c3RvbSBhc3NldHMgbWlnaHQgbm90IGJlIHZlcnNpb25lZCB3aGVyZWJ5IHdlIHdhbnQgdG8gcHJldmVudCBhbnkgY2FjaGluZyBpc3N1ZXMgd2hlbiB1cGRhdGluZyB0aGVtXG4gICAgLy8gLT4gY2FjaGUgZm9yIG9ubHkgMSBkYXkgb24gQ0ROIGFuZCAxIG1pbnV0ZSBvbiBicm93c2VyXG4gICAgY29uc3QgZGVmYXVsdENhY2hlQ29uZmlnID0gW1xuICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgIENhY2hlQ29udHJvbC5tYXhBZ2UoRHVyYXRpb24uZGF5cygxKSksXG4gICAgICAgIENhY2hlQ29udHJvbC5zTWF4QWdlKER1cmF0aW9uLm1pbnV0ZXMoMSkpLFxuICAgIF07XG5cbiAgICByZXR1cm4gW1xuXG4gICAgICAgIC8vIEZpbGUgdG8gZGV0ZWN0IGN1cnJlbnQgZGVwbG95bWVudCByZXZpc2lvbiB0byBkZWxldGUgb3V0ZGF0ZWQgZmlsZXMgb2Ygb2xkIGRlcGxveW1lbnRzXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICdhcHAtcmV2aXNpb24nLFxuICAgICAgICAgICAgc291cmNlOiBjdXN0b21Bc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgdGFyZ2V0OiBjdXN0b21Bc3NldHNUYXJnZXRQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICd0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04JyxcbiAgICAgICAgICAgIC8vIExvbmdlciBjYWNoZSBjb250cm9sIHNpbmNlIHdlIGF1dG9tYXRpY2FsbHkgaW52YWxpZGF0ZSB0aGUgcmV2aXNpb24gZmlsZSBvbiBldmVyeSBkZXBsb3ltZW50XG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IFtcbiAgICAgICAgICAgICAgICBDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksXG4gICAgICAgICAgICAgICAgQ2FjaGVDb250cm9sLm1heEFnZShEdXJhdGlvbi5zZWNvbmRzKDEwKSksXG4gICAgICAgICAgICAgICAgQ2FjaGVDb250cm9sLnNNYXhBZ2UoRHVyYXRpb24uZGF5cygxNCkpLFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIGludmFsaWRhdGVPbkNoYW5nZTogdHJ1ZVxuICAgICAgICB9LFxuXG4gICAgICAgIC8vIEZpbGVzIGZvciBuYXRpdmUgYXBwIGxpbmtzXG4gICAgICAgIHtcbiAgICAgICAgICAgIHBhdHRlcm46ICcud2VsbC1rbm93bi8qJyxcbiAgICAgICAgICAgIHNvdXJjZTogY3VzdG9tQXNzZXRzU291cmNlUGF0aCxcbiAgICAgICAgICAgIHRhcmdldDogY3VzdG9tQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiAnYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCcsIC8vIEV4cGxpY2l0bHkgcHJvdmlkZWQgYXMgdGhlc2UgZmlsZSB1c3VhbGx5IGhhdmUgbm8gZXh0ZW5zaW9uXG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IGRlZmF1bHRDYWNoZUNvbmZpZyxcbiAgICAgICAgfSxcblxuICAgICAgICAvLyBFLmcuLCByb2JvdHMudHh0LCBhZHMudHh0LCBzaXRlbWFwLnhtbCwgKi5qcywgbWFuaWZlc3Qud2VibWFuaWZlc3QgLi4uXG4gICAgICAgIC8vIEJ1dCBleGNsdWRlIC5naXRpZ25vcmUgYW5kIG90aGVyIGhpZGRlbiBmaWxlc1xuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnPyouKicsXG4gICAgICAgICAgICBzb3VyY2U6IGN1c3RvbUFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICB0YXJnZXQ6IGN1c3RvbUFzc2V0c1RhcmdldFBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY2FjaGVDb250cm9sOiBkZWZhdWx0Q2FjaGVDb25maWcsXG4gICAgICAgIH0sXG4gICAgXTtcbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBzdGF0aWMgYXNzZXRzIG9mIHRoZSBOdXh0IGFwcCB0aGF0IGFyZSBnZW5lcmF0ZWQgYnkgdGhlIGJ1aWxkIG9mIHRoZSBhcHAuXG4gKlxuICogQHBhcmFtIHJvb3REaXIgVGhlIHBhdGggdG8gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSBOdXh0IGFwcCBhdCB3aGljaCB0aGUgYC5vdXRwdXRgIGJ1aWxkIGZvbGRlciBpcyBsb2NhdGVkLlxuICovXG5jb25zdCBnZXROdXh0QXBwQnVpbGRBc3NldENvbmZpZ3MgPSAocm9vdERpcjogc3RyaW5nID0gJy4nKTogU3RhdGljQXNzZXRDb25maWdbXSA9PiB7XG5cbiAgICAvLyBUaGUgYnVpbGQgYXNzZXRzIHJlcXVpcmVkIGZvciBDU1IgdGhhdCBhcmUgZ2VuZXJhdGVkIGJ5ICdudXh0IGJ1aWxkJ1xuICAgIGNvbnN0IGJ1aWxkQXNzZXRzU291cmNlUGF0aCA9IGAke3Jvb3REaXJ9Ly5vdXRwdXQvcHVibGljL19udXh0YDtcbiAgICBjb25zdCBidWlsZEFzc2V0c1RhcmdldFBhdGggPSAoJy9fbnV4dC8nKTtcblxuICAgIC8vIEJ1aWxkIGFzc2V0cyBhcmUgaGFzaGVkIHdoZXJlYnkgdGhleSBhcmUgaW1tdXRhYmxlIGFuZCBjYW4gYmUgY2FjaGVkIGZvciBhIGxvbmcgdGltZVxuICAgIGNvbnN0IGRlZmF1bHRDYWNoZUNvbmZpZyA9IFtcbiAgICAgICAgQ2FjaGVDb250cm9sLnNldFB1YmxpYygpLFxuICAgICAgICBDYWNoZUNvbnRyb2wubWF4QWdlKER1cmF0aW9uLmRheXMoMzY1KSksXG4gICAgICAgIENhY2hlQ29udHJvbC5mcm9tU3RyaW5nKCdpbW11dGFibGUnKSxcbiAgICBdO1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgICAgcGF0dGVybjogJyouaHRtbCcsXG4gICAgICAgICAgICB0YXJnZXQ6IGJ1aWxkQXNzZXRzVGFyZ2V0UGF0aCxcbiAgICAgICAgICAgIHNvdXJjZTogYnVpbGRBc3NldHNTb3VyY2VQYXRoLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ICd0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgnLFxuICAgICAgICAgICAgLy8gV2UgZG8gbm90IHdhbnQgdG8gY2FjaGUgaHRtbCBmaWxlcyBvbiB0aGUgYnJvd3NlciBhcyB3ZSB3YW50IHRvIGJlIGFibGUgdG8gcHVibGlzaCBuZXcgY2hhbmdlcyBxdWlja2x5XG4gICAgICAgICAgICAvLyBIb3dldmVyLCB3ZSBkbyBjYWNoZSB0aGUgaHRtbCBmaWxlcyBvbiBDbG91ZEZyb250IGZvciBhIHBlcmZvcm1hbmNlIGJvb3N0IGFuZCBpbnZhbGlkYXRlIHRoZSBjYWNoZSBvbiBldmVyeSBkZXBsb3ltZW50XG4gICAgICAgICAgICBjYWNoZUNvbnRyb2w6IFtDYWNoZUNvbnRyb2wuc2V0UHVibGljKCksIENhY2hlQ29udHJvbC5zTWF4QWdlKER1cmF0aW9uLmRheXMoNykpXSxcbiAgICAgICAgICAgIGludmFsaWRhdGVPbkNoYW5nZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwYXR0ZXJuOiAnKi4qJyxcbiAgICAgICAgICAgIHRhcmdldDogYnVpbGRBc3NldHNUYXJnZXRQYXRoLFxuICAgICAgICAgICAgc291cmNlOiBidWlsZEFzc2V0c1NvdXJjZVBhdGgsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY2FjaGVDb250cm9sOiBkZWZhdWx0Q2FjaGVDb25maWdcbiAgICAgICAgfVxuICAgIF1cbn07XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBzdGF0aWMgYXNzZXRzIG9mIHRoZSBOdXh0IGFwcCB0aGF0IHNoYWxsIGJlIHB1YmxpY2x5IGF2YWlsYWJsZS5cbiAqXG4gKiBAcGFyYW0gc3JjRGlyIFRoZSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2l0aGluIHRoZSByb290IGRpcmVjdG9yeSAoYHJvb3REaXJgKSBhdCB3aGljaCB0aGUgYHB1YmxpY2AgYXNzZXRzIGZvbGRlciBvZiB0aGUgTnV4dCBhcHAgaXMgbG9jYXRlZC5cbiAqIEBwYXJhbSByb290RGlyIFRoZSBwYXRoIHRvIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGUgTnV4dCBhcHAgYXQgd2hpY2ggdGhlIGAub3V0cHV0YCBidWlsZCBmb2xkZXIgaXMgbG9jYXRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE51eHRBcHBTdGF0aWNBc3NldENvbmZpZ3MgPSAoc3JjRGlyOiBzdHJpbmd8dW5kZWZpbmVkID0gdW5kZWZpbmVkLCByb290RGlyOiBzdHJpbmcgPSAnLicpOiBTdGF0aWNBc3NldENvbmZpZ1tdID0+IHtcbiAgICByZXR1cm4gWy4uLmdldE51eHRBcHBCdWlsZEFzc2V0Q29uZmlncyhyb290RGlyKSwgLi4uZ2V0TnV4dEFwcEN1c3RvbUFzc2V0Q29uZmlncyhzcmNEaXIsIHJvb3REaXIpXTtcbn07Il19
|
|
@@ -20,8 +20,9 @@ export interface StaticAssetConfig {
|
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* The content type to set for the files in the source folder when uploading them to the target.
|
|
23
|
+
* Useful to override force content types for specific files.
|
|
23
24
|
*/
|
|
24
|
-
contentType
|
|
25
|
+
contentType?: string,
|
|
25
26
|
|
|
26
27
|
/**
|
|
27
28
|
* The cache settings to use for the uploaded source files when accessing them on the target path with the specified pattern.
|
|
@@ -56,6 +57,8 @@ const getNuxtAppCustomAssetConfigs = (srcDir: string|undefined = undefined, root
|
|
|
56
57
|
];
|
|
57
58
|
|
|
58
59
|
return [
|
|
60
|
+
|
|
61
|
+
// File to detect current deployment revision to delete outdated files of old deployments
|
|
59
62
|
{
|
|
60
63
|
pattern: 'app-revision',
|
|
61
64
|
source: customAssetsSourcePath,
|
|
@@ -69,69 +72,25 @@ const getNuxtAppCustomAssetConfigs = (srcDir: string|undefined = undefined, root
|
|
|
69
72
|
],
|
|
70
73
|
invalidateOnChange: true
|
|
71
74
|
},
|
|
75
|
+
|
|
76
|
+
// Files for native app links
|
|
72
77
|
{
|
|
73
|
-
pattern: '
|
|
74
|
-
source: customAssetsSourcePath,
|
|
75
|
-
target: customAssetsTargetPath,
|
|
76
|
-
contentType: 'text/plain; charset=UTF-8',
|
|
77
|
-
cacheControl: defaultCacheConfig,
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
pattern: '*.xml', // E.g., sitemap.xml ...
|
|
81
|
-
source: customAssetsSourcePath,
|
|
82
|
-
target: customAssetsTargetPath,
|
|
83
|
-
contentType: 'text/xml; charset=UTF-8',
|
|
84
|
-
cacheControl: defaultCacheConfig,
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
pattern: '.well-known/*', // Files for native app links
|
|
78
|
+
pattern: '.well-known/*',
|
|
88
79
|
source: customAssetsSourcePath,
|
|
89
80
|
target: customAssetsTargetPath,
|
|
90
|
-
contentType: 'application/json; charset=UTF-8',
|
|
81
|
+
contentType: 'application/json; charset=UTF-8', // Explicitly provided as these file usually have no extension
|
|
91
82
|
cacheControl: defaultCacheConfig,
|
|
92
83
|
},
|
|
84
|
+
|
|
85
|
+
// E.g., robots.txt, ads.txt, sitemap.xml, *.js, manifest.webmanifest ...
|
|
86
|
+
// But exclude .gitignore and other hidden files
|
|
93
87
|
{
|
|
94
|
-
pattern: '
|
|
88
|
+
pattern: '?*.*',
|
|
95
89
|
source: customAssetsSourcePath,
|
|
96
90
|
target: customAssetsTargetPath,
|
|
97
|
-
contentType:
|
|
91
|
+
contentType: undefined,
|
|
98
92
|
cacheControl: defaultCacheConfig,
|
|
99
93
|
},
|
|
100
|
-
{
|
|
101
|
-
pattern: '*.ico', // Favicon
|
|
102
|
-
source: customAssetsSourcePath,
|
|
103
|
-
target: customAssetsTargetPath,
|
|
104
|
-
contentType: 'image/x-icon',
|
|
105
|
-
cacheControl: defaultCacheConfig
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
pattern: '*.png',
|
|
109
|
-
source: customAssetsSourcePath,
|
|
110
|
-
target: customAssetsTargetPath,
|
|
111
|
-
contentType: 'image/png',
|
|
112
|
-
cacheControl: defaultCacheConfig
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
pattern: '*.jpg',
|
|
116
|
-
source: customAssetsSourcePath,
|
|
117
|
-
target: customAssetsTargetPath,
|
|
118
|
-
contentType: 'image/jpg',
|
|
119
|
-
cacheControl: defaultCacheConfig
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
pattern: '*.svg',
|
|
123
|
-
source: customAssetsSourcePath,
|
|
124
|
-
target: customAssetsTargetPath,
|
|
125
|
-
contentType: 'image/svg+xml',
|
|
126
|
-
cacheControl: defaultCacheConfig
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
pattern: '*.js',
|
|
130
|
-
source: customAssetsSourcePath,
|
|
131
|
-
target: customAssetsTargetPath,
|
|
132
|
-
contentType: 'application/javascript; charset=UTF-8',
|
|
133
|
-
cacheControl: defaultCacheConfig,
|
|
134
|
-
}
|
|
135
94
|
];
|
|
136
95
|
};
|
|
137
96
|
|
|
@@ -154,29 +113,6 @@ const getNuxtAppBuildAssetConfigs = (rootDir: string = '.'): StaticAssetConfig[]
|
|
|
154
113
|
];
|
|
155
114
|
|
|
156
115
|
return [
|
|
157
|
-
|
|
158
|
-
// Build Assets
|
|
159
|
-
{
|
|
160
|
-
pattern: '*.js',
|
|
161
|
-
target: buildAssetsTargetPath,
|
|
162
|
-
source: buildAssetsSourcePath,
|
|
163
|
-
contentType: 'application/javascript; charset=UTF-8',
|
|
164
|
-
cacheControl: defaultCacheConfig
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
pattern: '*.js.map',
|
|
168
|
-
target: buildAssetsTargetPath,
|
|
169
|
-
source: buildAssetsSourcePath,
|
|
170
|
-
contentType: 'application/json; charset=UTF-8',
|
|
171
|
-
cacheControl: defaultCacheConfig
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
pattern: '*.css',
|
|
175
|
-
target: buildAssetsTargetPath,
|
|
176
|
-
source: buildAssetsSourcePath,
|
|
177
|
-
contentType: 'text/css; charset=UTF-8',
|
|
178
|
-
cacheControl: defaultCacheConfig
|
|
179
|
-
},
|
|
180
116
|
{
|
|
181
117
|
pattern: '*.html',
|
|
182
118
|
target: buildAssetsTargetPath,
|
|
@@ -187,62 +123,11 @@ const getNuxtAppBuildAssetConfigs = (rootDir: string = '.'): StaticAssetConfig[]
|
|
|
187
123
|
cacheControl: [CacheControl.setPublic(), CacheControl.sMaxAge(Duration.days(7))],
|
|
188
124
|
invalidateOnChange: true
|
|
189
125
|
},
|
|
190
|
-
|
|
191
|
-
// Manifest created by legacy PWA module
|
|
192
|
-
{
|
|
193
|
-
pattern: 'manifest.*.json',
|
|
194
|
-
target: buildAssetsTargetPath,
|
|
195
|
-
source: buildAssetsSourcePath,
|
|
196
|
-
contentType: 'application/json; charset=UTF-8',
|
|
197
|
-
cacheControl: defaultCacheConfig
|
|
198
|
-
},
|
|
199
|
-
{
|
|
200
|
-
pattern: '*.png',
|
|
201
|
-
target: buildAssetsTargetPath,
|
|
202
|
-
source: buildAssetsSourcePath,
|
|
203
|
-
contentType: 'image/png',
|
|
204
|
-
cacheControl: defaultCacheConfig
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
pattern: '*.jpg',
|
|
208
|
-
target: buildAssetsTargetPath,
|
|
209
|
-
source: buildAssetsSourcePath,
|
|
210
|
-
contentType: 'image/jpg',
|
|
211
|
-
cacheControl: defaultCacheConfig
|
|
212
|
-
},
|
|
213
|
-
{
|
|
214
|
-
pattern: '*.svg',
|
|
215
|
-
target: buildAssetsTargetPath,
|
|
216
|
-
source: buildAssetsSourcePath,
|
|
217
|
-
contentType: 'image/svg+xml',
|
|
218
|
-
cacheControl: defaultCacheConfig
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
pattern: '*.eot',
|
|
222
|
-
target: buildAssetsTargetPath,
|
|
223
|
-
source: buildAssetsSourcePath,
|
|
224
|
-
contentType: 'application/vnd.ms-fontobject',
|
|
225
|
-
cacheControl: defaultCacheConfig
|
|
226
|
-
},
|
|
227
|
-
{
|
|
228
|
-
pattern: '*.ttf',
|
|
229
|
-
target: buildAssetsTargetPath,
|
|
230
|
-
source: buildAssetsSourcePath,
|
|
231
|
-
contentType: 'application/font-sfnt',
|
|
232
|
-
cacheControl: defaultCacheConfig
|
|
233
|
-
},
|
|
234
|
-
{
|
|
235
|
-
pattern: '*.woff',
|
|
236
|
-
target: buildAssetsTargetPath,
|
|
237
|
-
source: buildAssetsSourcePath,
|
|
238
|
-
contentType: 'font/woff',
|
|
239
|
-
cacheControl: defaultCacheConfig
|
|
240
|
-
},
|
|
241
126
|
{
|
|
242
|
-
pattern: '
|
|
127
|
+
pattern: '*.*',
|
|
243
128
|
target: buildAssetsTargetPath,
|
|
244
129
|
source: buildAssetsSourcePath,
|
|
245
|
-
contentType:
|
|
130
|
+
contentType: undefined,
|
|
246
131
|
cacheControl: defaultCacheConfig
|
|
247
132
|
}
|
|
248
133
|
]
|