payload 2.3.0 → 2.3.1
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateSearchParams.d.ts","sourceRoot":"","sources":["../../../src/database/queryValidation/validateSearchParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,SAAS,CAAA;AAO1D,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,cAAc,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,OAAO,CAAA;IACZ,aAAa,CAAC,EAAE,KAAK,EAAE,CAAA;CACxB,CAAA;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,IAAI,EAAE,YAAY,EAClB,QAAQ,EACR,GAAG,EACH,GAAG,EACH,aAAa,GACd,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"validateSearchParams.d.ts","sourceRoot":"","sources":["../../../src/database/queryValidation/validateSearchParams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,SAAS,CAAA;AAO1D,KAAK,IAAI,GAAG;IACV,gBAAgB,CAAC,EAAE,yBAAyB,CAAA;IAC5C,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,YAAY,CAAC,EAAE,qBAAqB,CAAA;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,cAAc,EAAE,OAAO,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,cAAc,CAAA;IACxB,GAAG,EAAE,cAAc,CAAA;IACnB,GAAG,EAAE,OAAO,CAAA;IACZ,aAAa,CAAC,EAAE,KAAK,EAAE,CAAA;CACxB,CAAA;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,gBAAgB,EAChB,MAAM,EACN,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,IAAI,EAAE,YAAY,EAClB,QAAQ,EACR,GAAG,EACH,GAAG,EACH,aAAa,GACd,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CA8JtB"}
|
|
@@ -94,23 +94,32 @@ async function validateSearchParam({ collectionConfig, errors, fields, globalCon
|
|
|
94
94
|
if (segments[0] === 'parent' || segments[0] === 'version') {
|
|
95
95
|
segments.shift();
|
|
96
96
|
} else {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
97
|
+
if ([
|
|
98
|
+
'json',
|
|
99
|
+
'relationship',
|
|
100
|
+
'richText'
|
|
101
|
+
].includes(field.type)) {
|
|
102
|
+
fieldAccess = fieldAccess[field.name];
|
|
103
|
+
} else {
|
|
104
|
+
segments.forEach((segment, pathIndex)=>{
|
|
105
|
+
if (fieldAccess[segment]) {
|
|
106
|
+
if (pathIndex === segments.length - 1) {
|
|
107
|
+
fieldAccess = fieldAccess[segment];
|
|
108
|
+
} else if ('fields' in fieldAccess[segment]) {
|
|
109
|
+
fieldAccess = fieldAccess[segment].fields;
|
|
110
|
+
} else if ('blocks' in fieldAccess[segment]) {
|
|
111
|
+
fieldAccess = fieldAccess[segment];
|
|
112
|
+
}
|
|
105
113
|
}
|
|
106
|
-
}
|
|
107
|
-
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
108
116
|
}
|
|
109
117
|
fieldAccess = fieldAccess.read.permission;
|
|
110
118
|
} else {
|
|
111
119
|
fieldAccess = policies[entityType][entitySlug].fields;
|
|
112
120
|
if ([
|
|
113
121
|
'json',
|
|
122
|
+
'relationship',
|
|
114
123
|
'richText'
|
|
115
124
|
].includes(field.type)) {
|
|
116
125
|
fieldAccess = fieldAccess[field.name];
|
|
@@ -163,4 +172,4 @@ async function validateSearchParam({ collectionConfig, errors, fields, globalCon
|
|
|
163
172
|
await Promise.all(promises);
|
|
164
173
|
}
|
|
165
174
|
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeVZhbGlkYXRpb24vdmFsaWRhdGVTZWFyY2hQYXJhbXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEVudGl0eVBvbGljaWVzLCBQYXRoVG9RdWVyeSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0RW50aXR5UG9saWNpZXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMnXG5pbXBvcnQgeyBnZXRMb2NhbGl6ZWRQYXRocyB9IGZyb20gJy4uL2dldExvY2FsaXplZFBhdGhzJ1xuaW1wb3J0IHsgdmFsaWRhdGVRdWVyeVBhdGhzIH0gZnJvbSAnLi92YWxpZGF0ZVF1ZXJ5UGF0aHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbkNvbmZpZz86IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgZXJyb3JzOiB7IHBhdGg6IHN0cmluZyB9W11cbiAgZmllbGRzOiBGaWVsZFtdXG4gIGdsb2JhbENvbmZpZz86IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBvcGVyYXRvcjogc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHBhdGg6IHN0cmluZ1xuICBwb2xpY2llczogRW50aXR5UG9saWNpZXNcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICB2YWw6IHVua25vd25cbiAgdmVyc2lvbkZpZWxkcz86IEZpZWxkW11cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGUgUGF5bG9hZCBrZXkgLyB2YWx1ZSAvIG9wZXJhdG9yXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2YWxpZGF0ZVNlYXJjaFBhcmFtKHtcbiAgY29sbGVjdGlvbkNvbmZpZyxcbiAgZXJyb3JzLFxuICBmaWVsZHMsXG4gIGdsb2JhbENvbmZpZyxcbiAgb3BlcmF0b3IsXG4gIG92ZXJyaWRlQWNjZXNzLFxuICBwYXRoOiBpbmNvbWluZ1BhdGgsXG4gIHBvbGljaWVzLFxuICByZXEsXG4gIHZhbCxcbiAgdmVyc2lvbkZpZWxkcyxcbn06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gUmVwbGFjZSBHcmFwaFFMIG5lc3RlZCBmaWVsZCBkb3VibGUgdW5kZXJzY29yZSBmb3JtYXR0aW5nXG4gIGxldCBzYW5pdGl6ZWRQYXRoXG4gIGlmIChpbmNvbWluZ1BhdGggPT09ICdfaWQnKSB7XG4gICAgc2FuaXRpemVkUGF0aCA9ICdpZCdcbiAgfSBlbHNlIHtcbiAgICBzYW5pdGl6ZWRQYXRoID0gaW5jb21pbmdQYXRoLnJlcGxhY2UoL19fL2csICcuJylcbiAgfVxuICBsZXQgcGF0aHM6IFBhdGhUb1F1ZXJ5W10gPSBbXVxuICBjb25zdCB7IHNsdWcgfSA9IGNvbGxlY3Rpb25Db25maWcgfHwgZ2xvYmFsQ29uZmlnXG5cbiAgaWYgKGdsb2JhbENvbmZpZyAmJiAhcG9saWNpZXMuZ2xvYmFsc1tzbHVnXSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgIGdsb2JhbENvbmZpZy5maWVsZHMgPSBmaWVsZHNcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgIHBvbGljaWVzLmdsb2JhbHNbc2x1Z10gPSBhd2FpdCBnZXRFbnRpdHlQb2xpY2llcyh7XG4gICAgICBlbnRpdHk6IGdsb2JhbENvbmZpZyxcbiAgICAgIG9wZXJhdGlvbnM6IFsncmVhZCddLFxuICAgICAgcmVxLFxuICAgICAgdHlwZTogJ2dsb2JhbCcsXG4gICAgfSlcbiAgfVxuXG4gIGlmIChzYW5pdGl6ZWRQYXRoICE9PSAnaWQnKSB7XG4gICAgcGF0aHMgPSBhd2FpdCBnZXRMb2NhbGl6ZWRQYXRocyh7XG4gICAgICBjb2xsZWN0aW9uU2x1ZzogY29sbGVjdGlvbkNvbmZpZz8uc2x1ZyxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGdsb2JhbFNsdWc6IGdsb2JhbENvbmZpZz8uc2x1ZyxcbiAgICAgIGluY29taW5nUGF0aDogc2FuaXRpemVkUGF0aCxcbiAgICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcGF5bG9hZDogcmVxLnBheWxvYWQsXG4gICAgfSlcbiAgfVxuICBjb25zdCBwcm9taXNlcyA9IFtdXG4gIHByb21pc2VzLnB1c2goXG4gICAgLi4ucGF0aHMubWFwKGFzeW5jICh7IGNvbGxlY3Rpb25TbHVnLCBmaWVsZCwgaW52YWxpZCwgcGF0aCB9LCBpKSA9PiB7XG4gICAgICBpZiAoaW52YWxpZCkge1xuICAgICAgICBlcnJvcnMucHVzaCh7IHBhdGggfSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MgJiYgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb25TbHVnKSB7XG4gICAgICAgICAgaWYgKCFwb2xpY2llcy5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uU2x1Z10pIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgcG9saWNpZXMuY29sbGVjdGlvbnNbY29sbGVjdGlvblNsdWddID0gYXdhaXQgZ2V0RW50aXR5UG9saWNpZXMoe1xuICAgICAgICAgICAgICBlbnRpdHk6IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWcsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbnM6IFsncmVhZCddLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIHR5cGU6ICdjb2xsZWN0aW9uJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgWydoYXNoJywgJ3NhbHQnXS5pbmNsdWRlcyhpbmNvbWluZ1BhdGgpICYmXG4gICAgICAgICAgICBjb2xsZWN0aW9uQ29uZmlnLmF1dGggJiZcbiAgICAgICAgICAgICFjb2xsZWN0aW9uQ29uZmlnLmF1dGg/LmRpc2FibGVMb2NhbFN0cmF0ZWd5XG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaCh7IHBhdGg6IGluY29taW5nUGF0aCB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgZmllbGRBY2Nlc3NcbiAgICAgICAgbGV0IGZpZWxkUGF0aCA9IHBhdGhcbiAgICAgICAgLy8gcmVtb3ZlIGxvY2FsZSBmcm9tIGVuZCBvZiBwYXRoXG4gICAgICAgIGlmIChwYXRoLmVuZHNXaXRoKGAuJHtyZXEubG9jYWxlfWApKSB7XG4gICAgICAgICAgZmllbGRQYXRoID0gcGF0aC5zbGljZSgwLCAtKHJlcS5sb2NhbGUubGVuZ3RoICsgMSkpXG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVtb3ZlIFwiLnZhbHVlXCIgZnJvbSBlbmRzIG9mIHBvbHltb3JwaGljIHJlbGF0aW9uc2hpcCBwYXRoc1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgJiYgQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICAgIGZpZWxkUGF0aCA9IGZpZWxkUGF0aC5yZXBsYWNlKCcudmFsdWUnLCAnJylcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbnRpdHlUeXBlOiAnY29sbGVjdGlvbnMnIHwgJ2dsb2JhbHMnID0gZ2xvYmFsQ29uZmlnID8gJ2dsb2JhbHMnIDogJ2NvbGxlY3Rpb25zJ1xuICAgICAgICBjb25zdCBlbnRpdHlTbHVnID0gY29sbGVjdGlvblNsdWcgfHwgZ2xvYmFsQ29uZmlnLnNsdWdcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBmaWVsZFBhdGguc3BsaXQoJy4nKVxuXG4gICAgICAgIGlmICh2ZXJzaW9uRmllbGRzKSB7XG4gICAgICAgICAgZmllbGRBY2Nlc3MgPSBwb2xpY2llc1tlbnRpdHlUeXBlXVtlbnRpdHlTbHVnXVxuICAgICAgICAgIGlmIChzZWdtZW50c1swXSA9PT0gJ3BhcmVudCcgfHwgc2VnbWVudHNbMF0gPT09ICd2ZXJzaW9uJykge1xuICAgICAgICAgICAgc2VnbWVudHMuc2hpZnQoKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWdtZW50cy5mb3JFYWNoKChzZWdtZW50LCBwYXRoSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGZpZWxkQWNjZXNzW3NlZ21lbnRdKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhdGhJbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgZmllbGRBY2Nlc3MgPSBmaWVsZEFjY2Vzc1tzZWdtZW50XVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJ2ZpZWxkcycgaW4gZmllbGRBY2Nlc3Nbc2VnbWVudF0pIHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkQWNjZXNzID0gZmllbGRBY2Nlc3Nbc2VnbWVudF0uZmllbGRzXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgnYmxvY2tzJyBpbiBmaWVsZEFjY2Vzc1tzZWdtZW50XSkge1xuICAgICAgICAgICAgICAgICAgZmllbGRBY2Nlc3MgPSBmaWVsZEFjY2Vzc1tzZWdtZW50XVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWVsZEFjY2VzcyA9IGZpZWxkQWNjZXNzLnJlYWQucGVybWlzc2lvblxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZpZWxkQWNjZXNzID0gcG9saWNpZXNbZW50aXR5VHlwZV1bZW50aXR5U2x1Z10uZmllbGRzXG5cbiAgICAgICAgICBpZiAoWydqc29uJywgJ3JpY2hUZXh0J10uaW5jbHVkZXMoZmllbGQudHlwZSkpIHtcbiAgICAgICAgICAgIGZpZWxkQWNjZXNzID0gZmllbGRBY2Nlc3NbZmllbGQubmFtZV1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc2VnbWVudHMuZm9yRWFjaCgoc2VnbWVudCwgcGF0aEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChmaWVsZEFjY2Vzc1tzZWdtZW50XSkge1xuICAgICAgICAgICAgICAgIGlmIChwYXRoSW5kZXggPT09IHNlZ21lbnRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkQWNjZXNzID0gZmllbGRBY2Nlc3Nbc2VnbWVudF1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdmaWVsZHMnIGluIGZpZWxkQWNjZXNzW3NlZ21lbnRdKSB7XG4gICAgICAgICAgICAgICAgICBmaWVsZEFjY2VzcyA9IGZpZWxkQWNjZXNzW3NlZ21lbnRdLmZpZWxkc1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJ2Jsb2NrcycgaW4gZmllbGRBY2Nlc3Nbc2VnbWVudF0pIHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkQWNjZXNzID0gZmllbGRBY2Nlc3Nbc2VnbWVudF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmllbGRBY2Nlc3MgPSBmaWVsZEFjY2Vzcy5yZWFkLnBlcm1pc3Npb25cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZpZWxkQWNjZXNzKSB7XG4gICAgICAgICAgZXJyb3JzLnB1c2goeyBwYXRoOiBmaWVsZFBhdGggfSlcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaSA+IDEpIHtcbiAgICAgICAgLy8gUmVtb3ZlIHRvcCBjb2xsZWN0aW9uIGFuZCByZXZlcnNlIGFycmF5XG4gICAgICAgIC8vIHRvIHdvcmsgYmFja3dhcmRzIGZyb20gdG9wXG4gICAgICAgIGNvbnN0IHBhdGhzVG9RdWVyeSA9IHBhdGhzLnNsaWNlKDEpLnJldmVyc2UoKVxuXG4gICAgICAgIHBhdGhzVG9RdWVyeS5mb3JFYWNoKFxuICAgICAgICAgICh7IGNvbGxlY3Rpb25TbHVnOiBwYXRoQ29sbGVjdGlvblNsdWcsIHBhdGg6IHN1YlBhdGggfSwgcGF0aFRvUXVlcnlJbmRleCkgPT4ge1xuICAgICAgICAgICAgLy8gT24gdGhlIFwiZGVlcGVzdFwiIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICAvLyB2YWxpZGF0ZSBxdWVyeSBvZiB0aGUgcmVsYXRpb25zaGlwXG4gICAgICAgICAgICBpZiAocGF0aFRvUXVlcnlJbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKFxuICAgICAgICAgICAgICAgIHZhbGlkYXRlUXVlcnlQYXRocyh7XG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uQ29uZmlnOiByZXEucGF5bG9hZC5jb2xsZWN0aW9uc1twYXRoQ29sbGVjdGlvblNsdWddLmNvbmZpZyxcbiAgICAgICAgICAgICAgICAgIGVycm9ycyxcbiAgICAgICAgICAgICAgICAgIGdsb2JhbENvbmZpZzogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgICAgICAgICAgICAgICBwb2xpY2llcyxcbiAgICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgICAgICAgIFtzdWJQYXRoXToge1xuICAgICAgICAgICAgICAgICAgICAgIFtvcGVyYXRvcl06IHZhbCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICApXG4gICAgICB9XG4gICAgfSksXG4gIClcbiAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG59XG4iXSwibmFtZXMiOlsidmFsaWRhdGVTZWFyY2hQYXJhbSIsImNvbGxlY3Rpb25Db25maWciLCJlcnJvcnMiLCJmaWVsZHMiLCJnbG9iYWxDb25maWciLCJvcGVyYXRvciIsIm92ZXJyaWRlQWNjZXNzIiwicGF0aCIsImluY29taW5nUGF0aCIsInBvbGljaWVzIiwicmVxIiwidmFsIiwidmVyc2lvbkZpZWxkcyIsInNhbml0aXplZFBhdGgiLCJyZXBsYWNlIiwicGF0aHMiLCJzbHVnIiwiZ2xvYmFscyIsImdldEVudGl0eVBvbGljaWVzIiwiZW50aXR5Iiwib3BlcmF0aW9ucyIsInR5cGUiLCJnZXRMb2NhbGl6ZWRQYXRocyIsImNvbGxlY3Rpb25TbHVnIiwiZ2xvYmFsU2x1ZyIsImxvY2FsZSIsInBheWxvYWQiLCJwcm9taXNlcyIsInB1c2giLCJtYXAiLCJmaWVsZCIsImludmFsaWQiLCJpIiwiZmllbGRBZmZlY3RzRGF0YSIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwiaW5jbHVkZXMiLCJhdXRoIiwiZGlzYWJsZUxvY2FsU3RyYXRlZ3kiLCJmaWVsZEFjY2VzcyIsImZpZWxkUGF0aCIsImVuZHNXaXRoIiwic2xpY2UiLCJsZW5ndGgiLCJBcnJheSIsImlzQXJyYXkiLCJyZWxhdGlvblRvIiwiZW50aXR5VHlwZSIsImVudGl0eVNsdWciLCJzZWdtZW50cyIsInNwbGl0Iiwic2hpZnQiLCJmb3JFYWNoIiwic2VnbWVudCIsInBhdGhJbmRleCIsInJlYWQiLCJwZXJtaXNzaW9uIiwibmFtZSIsInBhdGhzVG9RdWVyeSIsInJldmVyc2UiLCJwYXRoQ29sbGVjdGlvblNsdWciLCJzdWJQYXRoIiwicGF0aFRvUXVlcnlJbmRleCIsInZhbGlkYXRlUXVlcnlQYXRocyIsInVuZGVmaW5lZCIsIndoZXJlIiwiUHJvbWlzZSIsImFsbCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE0QnNCQTs7O2VBQUFBOzs7dUJBdEJXO21DQUNDO21DQUNBO29DQUNDO0FBbUI1QixlQUFlQSxvQkFBb0IsRUFDeENDLGdCQUFnQixFQUNoQkMsTUFBTSxFQUNOQyxNQUFNLEVBQ05DLFlBQVksRUFDWkMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLE1BQU1DLFlBQVksRUFDbEJDLFFBQVEsRUFDUkMsR0FBRyxFQUNIQyxHQUFHLEVBQ0hDLGFBQWEsRUFDUjtJQUNMLDREQUE0RDtJQUM1RCxJQUFJQztJQUNKLElBQUlMLGlCQUFpQixPQUFPO1FBQzFCSyxnQkFBZ0I7SUFDbEIsT0FBTztRQUNMQSxnQkFBZ0JMLGFBQWFNLE9BQU8sQ0FBQyxPQUFPO0lBQzlDO0lBQ0EsSUFBSUMsUUFBdUIsRUFBRTtJQUM3QixNQUFNLEVBQUVDLElBQUksRUFBRSxHQUFHZixvQkFBb0JHO0lBRXJDLElBQUlBLGdCQUFnQixDQUFDSyxTQUFTUSxPQUFPLENBQUNELEtBQUssRUFBRTtRQUMzQyw2Q0FBNkM7UUFDN0NaLGFBQWFELE1BQU0sR0FBR0E7UUFFdEIsNkNBQTZDO1FBQzdDTSxTQUFTUSxPQUFPLENBQUNELEtBQUssR0FBRyxNQUFNRSxJQUFBQSxvQ0FBaUIsRUFBQztZQUMvQ0MsUUFBUWY7WUFDUmdCLFlBQVk7Z0JBQUM7YUFBTztZQUNwQlY7WUFDQVcsTUFBTTtRQUNSO0lBQ0Y7SUFFQSxJQUFJUixrQkFBa0IsTUFBTTtRQUMxQkUsUUFBUSxNQUFNTyxJQUFBQSxvQ0FBaUIsRUFBQztZQUM5QkMsZ0JBQWdCdEIsa0JBQWtCZTtZQUNsQ2I7WUFDQXFCLFlBQVlwQixjQUFjWTtZQUMxQlIsY0FBY0s7WUFDZFksUUFBUWYsSUFBSWUs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
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhYmFzZS9xdWVyeVZhbGlkYXRpb24vdmFsaWRhdGVTZWFyY2hQYXJhbXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vLi4vZmllbGRzL2NvbmZpZy90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEVudGl0eVBvbGljaWVzLCBQYXRoVG9RdWVyeSB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0RW50aXR5UG9saWNpZXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMnXG5pbXBvcnQgeyBnZXRMb2NhbGl6ZWRQYXRocyB9IGZyb20gJy4uL2dldExvY2FsaXplZFBhdGhzJ1xuaW1wb3J0IHsgdmFsaWRhdGVRdWVyeVBhdGhzIH0gZnJvbSAnLi92YWxpZGF0ZVF1ZXJ5UGF0aHMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbkNvbmZpZz86IFNhbml0aXplZENvbGxlY3Rpb25Db25maWdcbiAgZXJyb3JzOiB7IHBhdGg6IHN0cmluZyB9W11cbiAgZmllbGRzOiBGaWVsZFtdXG4gIGdsb2JhbENvbmZpZz86IFNhbml0aXplZEdsb2JhbENvbmZpZ1xuICBvcGVyYXRvcjogc3RyaW5nXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHBhdGg6IHN0cmluZ1xuICBwb2xpY2llczogRW50aXR5UG9saWNpZXNcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxuICB2YWw6IHVua25vd25cbiAgdmVyc2lvbkZpZWxkcz86IEZpZWxkW11cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZSB0aGUgUGF5bG9hZCBrZXkgLyB2YWx1ZSAvIG9wZXJhdG9yXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB2YWxpZGF0ZVNlYXJjaFBhcmFtKHtcbiAgY29sbGVjdGlvbkNvbmZpZyxcbiAgZXJyb3JzLFxuICBmaWVsZHMsXG4gIGdsb2JhbENvbmZpZyxcbiAgb3BlcmF0b3IsXG4gIG92ZXJyaWRlQWNjZXNzLFxuICBwYXRoOiBpbmNvbWluZ1BhdGgsXG4gIHBvbGljaWVzLFxuICByZXEsXG4gIHZhbCxcbiAgdmVyc2lvbkZpZWxkcyxcbn06IEFyZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgLy8gUmVwbGFjZSBHcmFwaFFMIG5lc3RlZCBmaWVsZCBkb3VibGUgdW5kZXJzY29yZSBmb3JtYXR0aW5nXG4gIGxldCBzYW5pdGl6ZWRQYXRoXG4gIGlmIChpbmNvbWluZ1BhdGggPT09ICdfaWQnKSB7XG4gICAgc2FuaXRpemVkUGF0aCA9ICdpZCdcbiAgfSBlbHNlIHtcbiAgICBzYW5pdGl6ZWRQYXRoID0gaW5jb21pbmdQYXRoLnJlcGxhY2UoL19fL2csICcuJylcbiAgfVxuICBsZXQgcGF0aHM6IFBhdGhUb1F1ZXJ5W10gPSBbXVxuICBjb25zdCB7IHNsdWcgfSA9IGNvbGxlY3Rpb25Db25maWcgfHwgZ2xvYmFsQ29uZmlnXG5cbiAgaWYgKGdsb2JhbENvbmZpZyAmJiAhcG9saWNpZXMuZ2xvYmFsc1tzbHVnXSkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgIGdsb2JhbENvbmZpZy5maWVsZHMgPSBmaWVsZHNcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgIHBvbGljaWVzLmdsb2JhbHNbc2x1Z10gPSBhd2FpdCBnZXRFbnRpdHlQb2xpY2llcyh7XG4gICAgICBlbnRpdHk6IGdsb2JhbENvbmZpZyxcbiAgICAgIG9wZXJhdGlvbnM6IFsncmVhZCddLFxuICAgICAgcmVxLFxuICAgICAgdHlwZTogJ2dsb2JhbCcsXG4gICAgfSlcbiAgfVxuXG4gIGlmIChzYW5pdGl6ZWRQYXRoICE9PSAnaWQnKSB7XG4gICAgcGF0aHMgPSBhd2FpdCBnZXRMb2NhbGl6ZWRQYXRocyh7XG4gICAgICBjb2xsZWN0aW9uU2x1ZzogY29sbGVjdGlvbkNvbmZpZz8uc2x1ZyxcbiAgICAgIGZpZWxkcyxcbiAgICAgIGdsb2JhbFNsdWc6IGdsb2JhbENvbmZpZz8uc2x1ZyxcbiAgICAgIGluY29taW5nUGF0aDogc2FuaXRpemVkUGF0aCxcbiAgICAgIGxvY2FsZTogcmVxLmxvY2FsZSxcbiAgICAgIG92ZXJyaWRlQWNjZXNzLFxuICAgICAgcGF5bG9hZDogcmVxLnBheWxvYWQsXG4gICAgfSlcbiAgfVxuICBjb25zdCBwcm9taXNlcyA9IFtdXG4gIHByb21pc2VzLnB1c2goXG4gICAgLi4ucGF0aHMubWFwKGFzeW5jICh7IGNvbGxlY3Rpb25TbHVnLCBmaWVsZCwgaW52YWxpZCwgcGF0aCB9LCBpKSA9PiB7XG4gICAgICBpZiAoaW52YWxpZCkge1xuICAgICAgICBlcnJvcnMucHVzaCh7IHBhdGggfSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICghb3ZlcnJpZGVBY2Nlc3MgJiYgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb25TbHVnKSB7XG4gICAgICAgICAgaWYgKCFwb2xpY2llcy5jb2xsZWN0aW9uc1tjb2xsZWN0aW9uU2x1Z10pIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgcG9saWNpZXMuY29sbGVjdGlvbnNbY29sbGVjdGlvblNsdWddID0gYXdhaXQgZ2V0RW50aXR5UG9saWNpZXMoe1xuICAgICAgICAgICAgICBlbnRpdHk6IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb25TbHVnXS5jb25maWcsXG4gICAgICAgICAgICAgIG9wZXJhdGlvbnM6IFsncmVhZCddLFxuICAgICAgICAgICAgICByZXEsXG4gICAgICAgICAgICAgIHR5cGU6ICdjb2xsZWN0aW9uJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgWydoYXNoJywgJ3NhbHQnXS5pbmNsdWRlcyhpbmNvbWluZ1BhdGgpICYmXG4gICAgICAgICAgICBjb2xsZWN0aW9uQ29uZmlnLmF1dGggJiZcbiAgICAgICAgICAgICFjb2xsZWN0aW9uQ29uZmlnLmF1dGg/LmRpc2FibGVMb2NhbFN0cmF0ZWd5XG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBlcnJvcnMucHVzaCh7IHBhdGg6IGluY29taW5nUGF0aCB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgZmllbGRBY2Nlc3NcbiAgICAgICAgbGV0IGZpZWxkUGF0aCA9IHBhdGhcbiAgICAgICAgLy8gcmVtb3ZlIGxvY2FsZSBmcm9tIGVuZCBvZiBwYXRoXG4gICAgICAgIGlmIChwYXRoLmVuZHNXaXRoKGAuJHtyZXEubG9jYWxlfWApKSB7XG4gICAgICAgICAgZmllbGRQYXRoID0gcGF0aC5zbGljZSgwLCAtKHJlcS5sb2NhbGUubGVuZ3RoICsgMSkpXG4gICAgICAgIH1cbiAgICAgICAgLy8gcmVtb3ZlIFwiLnZhbHVlXCIgZnJvbSBlbmRzIG9mIHBvbHltb3JwaGljIHJlbGF0aW9uc2hpcCBwYXRoc1xuICAgICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ3JlbGF0aW9uc2hpcCcgJiYgQXJyYXkuaXNBcnJheShmaWVsZC5yZWxhdGlvblRvKSkge1xuICAgICAgICAgIGZpZWxkUGF0aCA9IGZpZWxkUGF0aC5yZXBsYWNlKCcudmFsdWUnLCAnJylcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbnRpdHlUeXBlOiAnY29sbGVjdGlvbnMnIHwgJ2dsb2JhbHMnID0gZ2xvYmFsQ29uZmlnID8gJ2dsb2JhbHMnIDogJ2NvbGxlY3Rpb25zJ1xuICAgICAgICBjb25zdCBlbnRpdHlTbHVnID0gY29sbGVjdGlvblNsdWcgfHwgZ2xvYmFsQ29uZmlnLnNsdWdcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBmaWVsZFBhdGguc3BsaXQoJy4nKVxuXG4gICAgICAgIGlmICh2ZXJzaW9uRmllbGRzKSB7XG4gICAgICAgICAgZmllbGRBY2Nlc3MgPSBwb2xpY2llc1tlbnRpdHlUeXBlXVtlbnRpdHlTbHVnXVxuICAgICAgICAgIGlmIChzZWdtZW50c1swXSA9PT0gJ3BhcmVudCcgfHwgc2VnbWVudHNbMF0gPT09ICd2ZXJzaW9uJykge1xuICAgICAgICAgICAgc2VnbWVudHMuc2hpZnQoKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoWydqc29uJywgJ3JlbGF0aW9uc2hpcCcsICdyaWNoVGV4dCddLmluY2x1ZGVzKGZpZWxkLnR5cGUpKSB7XG4gICAgICAgICAgICAgIGZpZWxkQWNjZXNzID0gZmllbGRBY2Nlc3NbZmllbGQubmFtZV1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHNlZ21lbnRzLmZvckVhY2goKHNlZ21lbnQsIHBhdGhJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChmaWVsZEFjY2Vzc1tzZWdtZW50XSkge1xuICAgICAgICAgICAgICAgICAgaWYgKHBhdGhJbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZEFjY2VzcyA9IGZpZWxkQWNjZXNzW3NlZ21lbnRdXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdmaWVsZHMnIGluIGZpZWxkQWNjZXNzW3NlZ21lbnRdKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkQWNjZXNzID0gZmllbGRBY2Nlc3Nbc2VnbWVudF0uZmllbGRzXG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdibG9ja3MnIGluIGZpZWxkQWNjZXNzW3NlZ21lbnRdKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkQWNjZXNzID0gZmllbGRBY2Nlc3Nbc2VnbWVudF1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZmllbGRBY2Nlc3MgPSBmaWVsZEFjY2Vzcy5yZWFkLnBlcm1pc3Npb25cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmaWVsZEFjY2VzcyA9IHBvbGljaWVzW2VudGl0eVR5cGVdW2VudGl0eVNsdWddLmZpZWxkc1xuXG4gICAgICAgICAgaWYgKFsnanNvbicsICdyZWxhdGlvbnNoaXAnLCAncmljaFRleHQnXS5pbmNsdWRlcyhmaWVsZC50eXBlKSkge1xuICAgICAgICAgICAgZmllbGRBY2Nlc3MgPSBmaWVsZEFjY2Vzc1tmaWVsZC5uYW1lXVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzZWdtZW50cy5mb3JFYWNoKChzZWdtZW50LCBwYXRoSW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGZpZWxkQWNjZXNzW3NlZ21lbnRdKSB7XG4gICAgICAgICAgICAgICAgaWYgKHBhdGhJbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICAgICAgZmllbGRBY2Nlc3MgPSBmaWVsZEFjY2Vzc1tzZWdtZW50XVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJ2ZpZWxkcycgaW4gZmllbGRBY2Nlc3Nbc2VnbWVudF0pIHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkQWNjZXNzID0gZmllbGRBY2Nlc3Nbc2VnbWVudF0uZmllbGRzXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICgnYmxvY2tzJyBpbiBmaWVsZEFjY2Vzc1tzZWdtZW50XSkge1xuICAgICAgICAgICAgICAgICAgZmllbGRBY2Nlc3MgPSBmaWVsZEFjY2Vzc1tzZWdtZW50XVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmaWVsZEFjY2VzcyA9IGZpZWxkQWNjZXNzLnJlYWQucGVybWlzc2lvblxuICAgICAgICB9XG4gICAgICAgIGlmICghZmllbGRBY2Nlc3MpIHtcbiAgICAgICAgICBlcnJvcnMucHVzaCh7IHBhdGg6IGZpZWxkUGF0aCB9KVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChpID4gMSkge1xuICAgICAgICAvLyBSZW1vdmUgdG9wIGNvbGxlY3Rpb24gYW5kIHJldmVyc2UgYXJyYXlcbiAgICAgICAgLy8gdG8gd29yayBiYWNrd2FyZHMgZnJvbSB0b3BcbiAgICAgICAgY29uc3QgcGF0aHNUb1F1ZXJ5ID0gcGF0aHMuc2xpY2UoMSkucmV2ZXJzZSgpXG5cbiAgICAgICAgcGF0aHNUb1F1ZXJ5LmZvckVhY2goXG4gICAgICAgICAgKHsgY29sbGVjdGlvblNsdWc6IHBhdGhDb2xsZWN0aW9uU2x1ZywgcGF0aDogc3ViUGF0aCB9LCBwYXRoVG9RdWVyeUluZGV4KSA9PiB7XG4gICAgICAgICAgICAvLyBPbiB0aGUgXCJkZWVwZXN0XCIgY29sbGVjdGlvbixcbiAgICAgICAgICAgIC8vIHZhbGlkYXRlIHF1ZXJ5IG9mIHRoZSByZWxhdGlvbnNoaXBcbiAgICAgICAgICAgIGlmIChwYXRoVG9RdWVyeUluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgIHByb21pc2VzLnB1c2goXG4gICAgICAgICAgICAgICAgdmFsaWRhdGVRdWVyeVBhdGhzKHtcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25Db25maWc6IHJlcS5wYXlsb2FkLmNvbGxlY3Rpb25zW3BhdGhDb2xsZWN0aW9uU2x1Z10uY29uZmlnLFxuICAgICAgICAgICAgICAgICAgZXJyb3JzLFxuICAgICAgICAgICAgICAgICAgZ2xvYmFsQ29uZmlnOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgICAgICAgIHBvbGljaWVzLFxuICAgICAgICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgICAgICAgICAgW3N1YlBhdGhdOiB7XG4gICAgICAgICAgICAgICAgICAgICAgW29wZXJhdG9yXTogdmFsLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9KSxcbiAgKVxuICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbn1cbiJdLCJuYW1lcyI6WyJ2YWxpZGF0ZVNlYXJjaFBhcmFtIiwiY29sbGVjdGlvbkNvbmZpZyIsImVycm9ycyIsImZpZWxkcyIsImdsb2JhbENvbmZpZyIsIm9wZXJhdG9yIiwib3ZlcnJpZGVBY2Nlc3MiLCJwYXRoIiwiaW5jb21pbmdQYXRoIiwicG9saWNpZXMiLCJyZXEiLCJ2YWwiLCJ2ZXJzaW9uRmllbGRzIiwic2FuaXRpemVkUGF0aCIsInJlcGxhY2UiLCJwYXRocyIsInNsdWciLCJnbG9iYWxzIiwiZ2V0RW50aXR5UG9saWNpZXMiLCJlbnRpdHkiLCJvcGVyYXRpb25zIiwidHlwZSIsImdldExvY2FsaXplZFBhdGhzIiwiY29sbGVjdGlvblNsdWciLCJnbG9iYWxTbHVnIiwibG9jYWxlIiwicGF5bG9hZCIsInByb21pc2VzIiwicHVzaCIsIm1hcCIsImZpZWxkIiwiaW52YWxpZCIsImkiLCJmaWVsZEFmZmVjdHNEYXRhIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJpbmNsdWRlcyIsImF1dGgiLCJkaXNhYmxlTG9jYWxTdHJhdGVneSIsImZpZWxkQWNjZXNzIiwiZmllbGRQYXRoIiwiZW5kc1dpdGgiLCJzbGljZSIsImxlbmd0aCIsIkFycmF5IiwiaXNBcnJheSIsInJlbGF0aW9uVG8iLCJlbnRpdHlUeXBlIiwiZW50aXR5U2x1ZyIsInNlZ21lbnRzIiwic3BsaXQiLCJzaGlmdCIsIm5hbWUiLCJmb3JFYWNoIiwic2VnbWVudCIsInBhdGhJbmRleCIsInJlYWQiLCJwZXJtaXNzaW9uIiwicGF0aHNUb1F1ZXJ5IiwicmV2ZXJzZSIsInBhdGhDb2xsZWN0aW9uU2x1ZyIsInN1YlBhdGgiLCJwYXRoVG9RdWVyeUluZGV4IiwidmFsaWRhdGVRdWVyeVBhdGhzIiwidW5kZWZpbmVkIiwid2hlcmUiLCJQcm9taXNlIiwiYWxsIl0sIm1hcHBpbmdzIjoiOzs7OytCQTRCc0JBOzs7ZUFBQUE7Ozt1QkF0Qlc7bUNBQ0M7bUNBQ0E7b0NBQ0M7QUFtQjVCLGVBQWVBLG9CQUFvQixFQUN4Q0MsZ0JBQWdCLEVBQ2hCQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsWUFBWSxFQUNaQyxRQUFRLEVBQ1JDLGNBQWMsRUFDZEMsTUFBTUMsWUFBWSxFQUNsQkMsUUFBUSxFQUNSQyxHQUFHLEVBQ0hDLEdBQUcsRUFDSEMsYUFBYSxFQUNSO0lBQ0wsNERBQTREO0lBQzVELElBQUlDO0lBQ0osSUFBSUwsaUJBQWlCLE9BQU87UUFDMUJLLGdCQUFnQjtJQUNsQixPQUFPO1FBQ0xBLGdCQUFnQkwsYUFBYU0sT0FBTyxDQUFDLE9BQU87SUFDOUM7SUFDQSxJQUFJQyxRQUF1QixFQUFFO0lBQzdCLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdmLG9CQUFvQkc7SUFFckMsSUFBSUEsZ0JBQWdCLENBQUNLLFNBQVNRLE9BQU8sQ0FBQ0QsS0FBSyxFQUFFO1FBQzNDLDZDQUE2QztRQUM3Q1osYUFBYUQsTUFBTSxHQUFHQTtRQUV0Qiw2Q0FBNkM7UUFDN0NNLFNBQVNRLE9BQU8sQ0FBQ0QsS0FBSyxHQUFHLE1BQU1FLElBQUFBLG9DQUFpQixFQUFD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
|