@ethlete/query 5.21.0 → 5.21.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @ethlete/query
2
2
 
3
+ ## 5.21.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`291a756`](https://github.com/ethlete-io/ethdk/commit/291a75639034f12829d6577eee0616bb34e998f6) Thanks [@TomTomB](https://github.com/TomTomB)! - Query stack exp
8
+
3
9
  ## 5.21.0
4
10
 
5
11
  ### Minor Changes
@@ -44,8 +44,8 @@ export const createHttpRequest = (options) => {
44
44
  updateErrorState(e);
45
45
  return throwError(() => e);
46
46
  }));
47
- const execute = () => {
48
- if (loading() || !isStale()) {
47
+ const execute = (options) => {
48
+ if (loading() || (!isStale() && !options?.skipCache)) {
49
49
  // Do not execute if there is already a request in progress or the request is not stale
50
50
  return false;
51
51
  }
@@ -151,4 +151,4 @@ export const createHttpRequest = (options) => {
151
151
  };
152
152
  return httpRequest;
153
153
  };
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9odHRwLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFHTCxpQkFBaUIsRUFFakIsYUFBYSxHQUVkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUl2RCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUV2QixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUEySTVDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQTBCLE9BQXdDLEVBQUUsRUFBRTtJQUNyRyxJQUFJLHlCQUF5QixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFFbkQsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRXRELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBeUQsSUFBSSxDQUFDLENBQUM7SUFDMUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFpQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQTJCLElBQUksQ0FBQyxDQUFDO0lBQ3JELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBNkIsSUFBSSxDQUFDLENBQUM7SUFFMUQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFD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aW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uICovXG5cbmltcG9ydCB7XG4gIEh0dHBDbGllbnQsXG4gIEh0dHBDb250ZXh0LFxuICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgSHR0cEV2ZW50LFxuICBIdHRwRXZlbnRUeXBlLFxuICBIdHRwUHJvZ3Jlc3NFdmVudCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU2lnbmFsLCBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIGNhdGNoRXJyb3IsIHJldHJ5LCB0YXAsIHRocm93RXJyb3IsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBidWlsZFRpbWVzdGFtcEZyb21TZWNvbmRzIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBRdWVyeUFyZ3MsIFJlcXVlc3RBcmdzLCBSZXNwb25zZVR5cGUgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IENhY2hlQWRhcHRlckZuIH0gZnJvbSAnLi9xdWVyeS1jbGllbnQtY29uZmlnJztcbmltcG9ydCB7IFF1ZXJ5TWV0aG9kIH0gZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7XG4gIFNob3VsZFJldHJ5UmVxdWVzdEZuLFxuICBTaG91bGRSZXRyeVJlcXVlc3RPcHRpb25zLFxuICBleHRyYWN0RXhwaXJlc0luU2Vjb25kcyxcbiAgc2hvdWxkUmV0cnlSZXF1ZXN0LFxufSBmcm9tICcuL3F1ZXJ5LXV0aWxzJztcblxuZXhwb3J0IGNvbnN0IFNQRUVEX0JVRkZFUl9USU1FX0lOX01TID0gMjAwMDtcblxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RUcmFuc2ZlckNhY2hlQ29uZmlnID1cbiAgfCBib29sZWFuXG4gIHwge1xuICAgICAgaW5jbHVkZUhlYWRlcnM/OiBzdHJpbmdbXTtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBIdHRwUmVxdWVzdFJlc3BvbnNlVHlwZSA9ICdqc29uJyB8ICd0ZXh0JyB8ICdibG9iJyB8ICdhcnJheWJ1ZmZlcic7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUh0dHBSZXF1ZXN0RGVwZW5kZW5jaWVzID0ge1xuICAvKiogVGhlIGh0dHAgY2xpZW50IGluc3RhbmNlIHRvIHVzZSBmb3IgdGhlIHJlcXVlc3QgKi9cbiAgaHR0cENsaWVudDogSHR0cENsaWVudDtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUh0dHBSZXF1ZXN0Q2xpZW50T3B0aW9ucyA9IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVwb3J0IHRoZSBwcm9ncmVzcyBvZiB0aGUgcmVxdWVzdCBvciBub3QuIElmIHRoZSBmZXRjaCBiYWNrZW5kIGlzIHVzZWQsIHRoaXMgd2lsbCBvbmx5IHdvcmsgZm9yIGRvd25sb2Fkcy5cbiAgICogQHNlZSBodHRwczovL2FuZ3VsYXIuZGV2L2d1aWRlL2h0dHAvbWFraW5nLXJlcXVlc3RzI3JlY2VpdmluZy1yYXctcHJvZ3Jlc3MtZXZlbnRzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZXBvcnRQcm9ncmVzcz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5jbHVkZSBjcmVkZW50aWFscyBpbiB0aGUgcmVxdWVzdCBvciBub3RcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHdpdGhDcmVkZW50aWFscz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoaXMgcHJvcGVydHkgYWNjZXB0cyBlaXRoZXIgYSBib29sZWFuIHRvIGVuYWJsZS9kaXNhYmxlIHRyYW5zZmVycmluZyBjYWNoZSBmb3IgZWxpZ2libGVcbiAgICogcmVxdWVzdHMgcGVyZm9ybWVkIHVzaW5nIGBIdHRwQ2xpZW50YCwgb3IgYW4gb2JqZWN0LCB3aGljaCBhbGxvd3MgdG8gY29uZmlndXJlIGNhY2hlXG4gICAqIHBhcmFtZXRlcnMsIHN1Y2ggYXMgd2hpY2ggaGVhZGVycyBzaG91bGQgYmUgaW5jbHVkZWQgKG5vIGhlYWRlcnMgYXJlIGluY2x1ZGVkIGJ5IGRlZmF1bHQpLlxuICAgKlxuICAgKiBTZXR0aW5nIHRoaXMgcHJvcGVydHkgd2lsbCBvdmVycmlkZSB0aGUgb3B0aW9ucyBwYXNzZWQgdG8gYHByb3ZpZGVDbGllbnRIeWRyYXRpb24oKWAgZm9yIHRoaXNcbiAgICogcGFydGljdWxhciByZXF1ZXN0XG4gICAqL1xuICB0cmFuc2ZlckNhY2hlPzogSHR0cFJlcXVlc3RUcmFuc2ZlckNhY2hlQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzcG9uc2UgdHlwZSBvZiB0aGUgcmVxdWVzdFxuICAgKiBAZGVmYXVsdCAnanNvbidcbiAgICovXG4gIHJlc3BvbnNlVHlwZT86IEh0dHBSZXF1ZXN0UmVzcG9uc2VUeXBlO1xuXG4gIC8qKlxuICAgKiBUaGUgY29udGV4dCBvZiB0aGUgcmVxdWVzdFxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICogQHNlZSBodHRwczovL2FuZ3VsYXIuZGV2L2d1aWRlL2h0dHAvaW50ZXJjZXB0b3JzI3JlcXVlc3QtYW5kLXJlc3BvbnNlLW1ldGFkYXRhXG4gICAqL1xuICBjb250ZXh0PzogSHR0cENvbnRleHQ7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVIdHRwUmVxdWVzdE9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAvKiogVGhlIEhUVFAgbWV0aG9kIG9mIHRoZSByZXF1ZXN0ICovXG4gIG1ldGhvZDogUXVlcnlNZXRob2Q7XG5cbiAgLyoqXG4gICAqIFRoZSBmdWxsIHBhdGggb2YgdGhlIHJlcXVlc3RcbiAgICogQGV4YW1wbGUgJ2h0dHBzOi8vYXBpLmV4YW1wbGUuY29tL3YxL3VzZXJzJ1xuICAgKi9cbiAgZnVsbFBhdGg6IHN0cmluZztcblxuICAvKiogVGhlIGRhdGEgb2YgdGhlIHJlcXVlc3QgKi9cbiAgYXJncz86IFJlcXVlc3RBcmdzPFRBcmdzPiB8IG51bGw7XG5cbiAgLyoqIFRoZSBkZXBlbmRlbmNpZXMgb2YgdGhlIHJlcXVlc3QgKi9cbiAgZGVwZW5kZW5jaWVzOiBDcmVhdGVIdHRwUmVxdWVzdERlcGVuZGVuY2llcztcblxuICAvKiogVGhlIGNsaWVudCBvcHRpb25zIG9mIHRoZSByZXF1ZXN0ICovXG4gIGNsaWVudE9wdGlvbnM/OiBDcmVhdGVIdHRwUmVxdWVzdENsaWVudE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIFRoZSBjYWNoZSBhZGFwdGVyIGZ1bmN0aW9uIHRvIHVzZSBmb3IgdGhlIHJlcXVlc3RcbiAgICogQGRlZmF1bHQgZXh0cmFjdEV4cGlyZXNJblNlY29uZHMoKVxuICAgKi9cbiAgY2FjaGVBZGFwdGVyPzogQ2FjaGVBZGFwdGVyRm47XG5cbiAgLyoqXG4gICAqIFRoZSByZXRyeSBmdW5jdGlvbiB0byB1c2UgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEBkZWZhdWx0IHNob3VsZFJldHJ5UmVxdWVzdCgpXG4gICAqL1xuICByZXRyeUZuPzogU2hvdWxkUmV0cnlSZXF1ZXN0Rm47XG59O1xuXG5leHBvcnQgdHlwZSBIdHRwUmVxdWVzdExvYWRpbmdTdGF0ZSA9IHtcbiAgLyoqIFRoZSB0aW1lIHdoZW4gdGhlIHJlcXVlc3Qgd2FzIGV4ZWN1dGVkIGluIG1zICovXG4gIGV4ZWN1dGVUaW1lOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBwcm9ncmVzcyBvZiB0aGUgcmVxdWVzdC4gTnVsbCBpZiByZXBvcnRQcm9ncmVzcyBpcyBmYWxzZSBvciBwcm9ncmVzcyBpcyBub3QgYXZhaWxhYmxlIC8gdW5zdXBwb3J0ZWQgKi9cbiAgcHJvZ3Jlc3M6IEh0dHBSZXF1ZXN0TG9hZGluZ1Byb2dyZXNzU3RhdGUgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RMb2FkaW5nUHJvZ3Jlc3NTdGF0ZSA9IHtcbiAgLyoqIFRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgdG8gYmUgdHJhbnNmZXJyZWQgKi9cbiAgdG90YWw6IG51bWJlcjtcblxuICAvKiogVGhlIG51bWJlciBvZiBieXRlcyB0cmFuc2ZlcnJlZCAqL1xuICBsb2FkZWQ6IG51bWJlcjtcblxuICAvKiogVGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIHRyYW5zZmVyIHRoYXQgaXMgY29tcGxldGVkICovXG4gIHBlcmNlbnRhZ2U6IG51bWJlcjtcblxuICAvKiogVGhlIHNwZWVkIG9mIHRoZSB0cmFuc2ZlciBpbiBieXRlcyBwZXIgbWlsbGlzZWNvbmQgKi9cbiAgc3BlZWQ6IG51bWJlciB8IG51bGw7XG5cbiAgLyoqIFRoZSBlc3RpbWF0ZWQgcmVtYWluaW5nIHRpbWUgaW4gbWlsbGlzZWNvbmRzICovXG4gIHJlbWFpbmluZ1RpbWU6IG51bWJlciB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBIdHRwUmVxdWVzdDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIC8qKiBFeGVjdXRlcyB0aGUgcmVxdWVzdCAqL1xuICBleGVjdXRlOiAoKSA9PiBib29sZWFuO1xuXG4gIC8qKiBEZXN0cm95cyB0aGUgcmVxdWVzdCAoY2FuY2VscyBpdCBpZiBpbiBwcm9ncmVzcykgKi9cbiAgZGVzdHJveTogKCkgPT4gYm9vbGVhbjtcblxuICAvKiogVGhlIGxvYWRpbmcgc3RhdGUgb2YgdGhlIHJlcXVlc3QgKi9cbiAgbG9hZGluZzogU2lnbmFsPEh0dHBSZXF1ZXN0TG9hZGluZ1N0YXRlIHwgbnVsbD47XG5cbiAgLyoqIFRoZSBlcnJvciBzdGF0ZSBvZiB0aGUgcmVxdWVzdCAqL1xuICBlcnJvcjogU2lnbmFsPEh0dHBFcnJvclJlc3BvbnNlIHwgbnVsbD47XG5cbiAgLyoqIFRoZSByZXNwb25zZSBzdGF0ZSBvZiB0aGUgcmVxdWVzdCAqL1xuICByZXNwb25zZTogU2lnbmFsPFJlc3BvbnNlVHlwZTxUQXJncz4gfCBudWxsPjtcblxuICAvKiogVGhlIGN1cnJlbnQgZXZlbnQgb2YgdGhlIHJlcXVlc3QgKi9cbiAgY3VycmVudEV2ZW50OiBTaWduYWw8SHR0cEV2ZW50PFJlc3BvbnNlVHlwZTxUQXJncz4+IHwgSHR0cEVycm9yRXZlbnQgfCBudWxsPjtcblxuICAvKiogV2hldGhlciB0aGUgcmVxdWVzdCBpcyBzdGFsZSBvciBub3QgYWthIHRoZSBjYWNoZSBoZWFkZXIgaGFzIGV4cGlyZWQgKi9cbiAgaXNTdGFsZTogU2lnbmFsPGJvb2xlYW4+O1xufTtcblxuLyoqIEEgY3VzdG9tIGVycm9yIGV2ZW50IHNpbmNlIHRoZSBBbmd1bGFyIGh0dHAgY2xpZW50IGRvZXMgbm90IHByb3ZpZGUgYSBzcGVjaWZpYyBldmVudCBmb3IgZXJyb3JzICovXG5leHBvcnQgdHlwZSBIdHRwRXJyb3JFdmVudCA9IHtcbiAgdHlwZTogJ2Vycm9yJztcbiAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUh0dHBSZXF1ZXN0ID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBDcmVhdGVIdHRwUmVxdWVzdE9wdGlvbnM8VEFyZ3M+KSA9PiB7XG4gIGxldCBjdXJyZW50U3RyZWFtU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIGNvbnN0IHsgYXJncywgY2xpZW50T3B0aW9ucywgZGVwZW5kZW5jaWVzIH0gPSBvcHRpb25zO1xuXG4gIGNvbnN0IGN1cnJlbnRFdmVudCA9IHNpZ25hbDxIdHRwRXZlbnQ8UmVzcG9uc2VUeXBlPFRBcmdzPj4gfCBIdHRwRXJyb3JFdmVudCB8IG51bGw+KG51bGwpO1xuICBjb25zdCBsb2FkaW5nID0gc2lnbmFsPEh0dHBSZXF1ZXN0TG9hZGluZ1N0YXRlIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IGVycm9yID0gc2lnbmFsPEh0dHBFcnJvclJlc3BvbnNlIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IHJlc3BvbnNlID0gc2lnbmFsPFJlc3BvbnNlVHlwZTxUQXJncz4gfCBudWxsPihudWxsKTtcblxuICBjb25zdCBsYXN0TG9hZEV2ZW50VGltZSA9IHNpZ25hbCgwKTtcbiAgY29uc3QgbGFzdExvYWRFdmVudEFtb3VudCA9IHNpZ25hbCgwKTtcbiAgY29uc3QgbGFzdEV4ZWN1dGVUaW1lID0gc2lnbmFsKDApO1xuICBjb25zdCBleHBpcmVzSW4gPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgaXNTdGFsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBleHBpcmVzSW5UcyA9IGV4cGlyZXNJbigpO1xuXG4gICAgcmV0dXJuIGV4cGlyZXNJblRzID09PSBudWxsIHx8IGV4cGlyZXNJblRzIDwgRGF0ZS5ub3coKTtcbiAgfSk7XG5cbiAgY29uc3Qgc3RyZWFtID0gZGVwZW5kZW5jaWVzLmh0dHBDbGllbnRcbiAgICAucmVxdWVzdChvcHRpb25zLm1ldGhvZCwgb3B0aW9ucy5mdWxsUGF0aCwge1xuICAgICAgb2JzZXJ2ZTogJ2V2ZW50cycsXG4gICAgICBib2R5OiBhcmdzPy5ib2R5LFxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IGNsaWVudE9wdGlvbnM/LnJlcG9ydFByb2dyZXNzLFxuICAgICAgd2l0aENyZWRlbnRpYWxzOiBjbGllbnRPcHRpb25zPy53aXRoQ3JlZGVudGlhbHMsXG4gICAgICB0cmFuc2ZlckNhY2hlOiBjbGllbnRPcHRpb25zPy50cmFuc2ZlckNhY2hlLFxuICAgICAgcmVzcG9uc2VUeXBlOiBjbGllbnRPcHRpb25zPy5yZXNwb25zZVR5cGUgfHwgJ2pzb24nLFxuICAgICAgY29udGV4dDogY2xpZW50T3B0aW9ucz8uY29udGV4dCxcbiAgICAgIGhlYWRlcnM6IGFyZ3M/LmhlYWRlcnMsXG4gICAgfSlcbiAgICAucGlwZShcbiAgICAgIHRhcCgoZXZlbnQpID0+IHVwZGF0ZVN0YXRlKGV2ZW50KSksXG4gICAgICByZXRyeSh7XG4gICAgICAgIGRlbGF5OiAoZXJyb3IsIHJldHJ5Q291bnQpID0+IHtcbiAgICAgICAgICBjb25zdCByZXRyeU9wdGlvbnM6IFNob3VsZFJldHJ5UmVxdWVzdE9wdGlvbnMgPSB7IGVycm9yLCByZXRyeUNvdW50IH07XG5cbiAgICAgICAgICBjb25zdCByZXRyeVJlc3VsdCA9IG9wdGlvbnMucmV0cnlGbj8uKHJldHJ5T3B0aW9ucykgfHwgc2hvdWxkUmV0cnlSZXF1ZXN0KHJldHJ5T3B0aW9ucyk7XG5cbiAgICAgICAgICBpZiAoIXJldHJ5UmVzdWx0LnJldHJ5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHRpbWVyKHJldHJ5UmVzdWx0LmRlbGF5KTtcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICB1cGRhdGVFcnJvclN0YXRlKGUpO1xuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGUpO1xuICAgICAgfSksXG4gICAgKTtcblxuICBjb25zdCBleGVjdXRlID0gKCkgPT4ge1xuICAgIGlmIChsb2FkaW5nKCkgfHwgIWlzU3RhbGUoKSkge1xuICAgICAgLy8gRG8gbm90IGV4ZWN1dGUgaWYgdGhlcmUgaXMgYWxyZWFkeSBhIHJlcXVlc3QgaW4gcHJvZ3Jlc3Mgb3IgdGhlIHJlcXVlc3QgaXMgbm90IHN0YWxlXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY3VycmVudFN0cmVhbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgbGFzdEV4ZWN1dGVUaW1lLnNldChEYXRlLm5vdygpKTtcbiAgICBsYXN0TG9hZEV2ZW50VGltZS5zZXQobGFzdEV4ZWN1dGVUaW1lKCkpO1xuXG4gICAgbG9hZGluZy5zZXQoe1xuICAgICAgZXhlY3V0ZVRpbWU6IGxhc3RFeGVjdXRlVGltZSgpLFxuICAgICAgcHJvZ3Jlc3M6IG51bGwsXG4gICAgfSk7XG4gICAgZXJyb3Iuc2V0KG51bGwpO1xuICAgIGV4cGlyZXNJbi5zZXQobnVsbCk7XG5cbiAgICBjdXJyZW50U3RyZWFtU3Vic2NyaXB0aW9uID0gc3RyZWFtLnN1YnNjcmliZSgpO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgZGVzdHJveSA9ICgpID0+IHtcbiAgICBpZiAoY3VycmVudFN0cmVhbVN1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjdXJyZW50U3RyZWFtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVTdGF0ZSA9IChldmVudDogSHR0cEV2ZW50PFJlc3BvbnNlVHlwZTxUQXJncz4+KSA9PiB7XG4gICAgY3VycmVudEV2ZW50LnNldChldmVudCk7XG5cbiAgICBzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZTpcbiAgICAgICAge1xuICAgICAgICAgIGxvYWRpbmcuc2V0KG51bGwpO1xuICAgICAgICAgIHJlc3BvbnNlLnNldChldmVudC5ib2R5KTtcblxuICAgICAgICAgIGNvbnN0IGV4cGlyZXNJblNlY29uZHMgPSBvcHRpb25zLmNhY2hlQWRhcHRlclxuICAgICAgICAgICAgPyBvcHRpb25zLmNhY2hlQWRhcHRlcihldmVudC5oZWFkZXJzKVxuICAgICAgICAgICAgOiBleHRyYWN0RXhwaXJlc0luU2Vjb25kcyhldmVudC5oZWFkZXJzKTtcbiAgICAgICAgICBjb25zdCBleHBpcmVzSW5UaW1lc3RhbXAgPSBidWlsZFRpbWVzdGFtcEZyb21TZWNvbmRzKGV4cGlyZXNJblNlY29uZHMpO1xuICAgICAgICAgIGV4cGlyZXNJbi5zZXQoZXhwaXJlc0luVGltZXN0YW1wKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzOlxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3M6XG4gICAgICAgIHtcbiAgICAgICAgICB1cGRhdGVMb2FkaW5nU3RhdGUoZXZlbnQpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuU2VudDpcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5SZXNwb25zZUhlYWRlcjpcbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5Vc2VyOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGVzZSBldmVudHNcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlRXJyb3JTdGF0ZSA9IChlcnJvclJlc3BvbnNlOiB1bmtub3duKSA9PiB7XG4gICAgbGV0IGVyciA9IGVycm9yUmVzcG9uc2UgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSA/IGVycm9yUmVzcG9uc2UgOiBudWxsO1xuXG4gICAgaWYgKCFlcnIpIHtcbiAgICAgIGVyciA9IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7XG4gICAgICAgIGVycm9yOiBlcnJvclJlc3BvbnNlLFxuICAgICAgICBzdGF0dXM6IDAsXG4gICAgICAgIHN0YXR1c1RleHQ6ICdVbmtub3duIEVycm9yJyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGVycm9yLnNldChlcnIpO1xuICAgIGxvYWRpbmcuc2V0KG51bGwpO1xuICAgIGN1cnJlbnRFdmVudC5zZXQoeyB0eXBlOiAnZXJyb3InLCBlcnJvcjogZXJyIH0pO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZUxvYWRpbmdTdGF0ZSA9IChldmVudDogSHR0cFByb2dyZXNzRXZlbnQpID0+IHtcbiAgICBpZiAoZXZlbnQudG90YWwgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHByb2dyZXNzOiBIdHRwUmVxdWVzdExvYWRpbmdQcm9ncmVzc1N0YXRlID0ge1xuICAgICAgdG90YWw6IGV2ZW50LnRvdGFsLFxuICAgICAgbG9hZGVkOiBldmVudC5sb2FkZWQsXG4gICAgICBwZXJjZW50YWdlOiAoZXZlbnQubG9hZGVkIC8gZXZlbnQudG90YWwpICogMTAwLFxuICAgICAgc3BlZWQ6IG51bGwsXG4gICAgICByZW1haW5pbmdUaW1lOiBudWxsLFxuICAgIH07XG5cbiAgICBjb25zdCBzdGF0ZTogSHR0cFJlcXVlc3RMb2FkaW5nU3RhdGUgPSB7XG4gICAgICBleGVjdXRlVGltZTogbGFzdEV4ZWN1dGVUaW1lKCksXG4gICAgICBwcm9ncmVzcyxcbiAgICB9O1xuXG4gICAgY29uc3QgY3VycmVudFRpbWUgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IGVsYXBzZWRUaW1lU2luY2VMYXN0RXZlbnQgPSBjdXJyZW50VGltZSAtIGxhc3RMb2FkRXZlbnRUaW1lKCk7XG4gICAgY29uc3QgZWxhcHNlZFRpbWVTaW5jZUxhc3RFeGVjdXRlID0gY3VycmVudFRpbWUgLSBsYXN0RXhlY3V0ZVRpbWUoKTtcbiAgICBjb25zdCBsb2FkZWRBbW91bnQgPSBldmVudC5sb2FkZWQgLSBsYXN0TG9hZEV2ZW50QW1vdW50KCk7XG5cbiAgICAvLyBXZSBvbmx5IHdhbnQgdG8gY2FsY3VsYXRlIHNwZWVkIGFuZCByZW1haW5pbmcgdGltZSBhZnRlciAyIHNlY29uZHMgb2YgdGhlIGV4ZWN1dGlvblxuICAgIC8vIFRoaXMgaXMgdG8gYXZvaWQgc2hvd2luZyBpbmNvcnJlY3Qgc3BlZWQgYW5kIHJlbWFpbmluZyB0aW1lIHdoZW4gdGhlIHJlcXVlc3QgaXMgdmVyeSBmYXN0XG4gICAgaWYgKGVsYXBzZWRUaW1lU2luY2VMYXN0RXhlY3V0ZSA+IFNQRUVEX0JVRkZFUl9USU1FX0lOX01TKSB7XG4gICAgICBjb25zdCBzcGVlZCA9IChsb2FkZWRBbW91bnQgLyBlbGFwc2VkVGltZVNpbmNlTGFzdEV2ZW50KSAqIDEwMDA7XG5cbiAgICAgIHByb2dyZXNzLnNwZWVkID0gc3BlZWQgKiAxMDAwO1xuICAgICAgcHJvZ3Jlc3MucmVtYWluaW5nVGltZSA9IE1hdGgucm91bmQoKGV2ZW50LnRvdGFsIC0gZXZlbnQubG9hZGVkKSAvIHNwZWVkKSAqIDEwMDA7XG4gICAgfVxuXG4gICAgbGFzdExvYWRFdmVudFRpbWUuc2V0KGN1cnJlbnRUaW1lKTtcbiAgICBsYXN0TG9hZEV2ZW50QW1vdW50LnNldChldmVudC5sb2FkZWQpO1xuXG4gICAgbG9hZGluZy5zZXQoc3RhdGUpO1xuICB9O1xuXG4gIGNvbnN0IGh0dHBSZXF1ZXN0OiBIdHRwUmVxdWVzdDxUQXJncz4gPSB7XG4gICAgZXhlY3V0ZSxcbiAgICBkZXN0cm95LFxuICAgIGxvYWRpbmc6IGxvYWRpbmcuYXNSZWFkb25seSgpLFxuICAgIGVycm9yOiBlcnJvci5hc1JlYWRvbmx5KCksXG4gICAgcmVzcG9uc2U6IHJlc3BvbnNlLmFzUmVhZG9ubHkoKSxcbiAgICBjdXJyZW50RXZlbnQ6IGN1cnJlbnRFdmVudC5hc1JlYWRvbmx5KCksXG4gICAgaXNTdGFsZSxcbiAgfTtcblxuICByZXR1cm4gaHR0cFJlcXVlc3Q7XG59O1xuIl19
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1yZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9odHRwLXJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFHTCxpQkFBaUIsRUFFakIsYUFBYSxHQUVkLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUl2RCxPQUFPLEVBR0wsdUJBQXVCLEVBQ3ZCLGtCQUFrQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUV2QixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUM7QUEySTVDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQTBCLE9BQXdDLEVBQUUsRUFBRTtJQUNyRyxJQUFJLHlCQUF5QixHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFFbkQsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRXRELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBeUQsSUFBSSxDQUFDLENBQUM7SUFDMUYsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFpQyxJQUFJLENBQUMsQ0FBQztJQUM3RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQTJCLElBQUksQ0FBQyxDQUFDO0lBQ3JELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBNkIsSUFBSSxDQUFDLENBQUM7SUFFMUQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFD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QUFDO0FBQ3JCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAqL1xuXG5pbXBvcnQge1xuICBIdHRwQ2xpZW50LFxuICBIdHRwQ29udGV4dCxcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEV2ZW50VHlwZSxcbiAgSHR0cFByb2dyZXNzRXZlbnQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFNpZ25hbCwgY29tcHV0ZWQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBjYXRjaEVycm9yLCByZXRyeSwgdGFwLCB0aHJvd0Vycm9yLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgYnVpbGRUaW1lc3RhbXBGcm9tU2Vjb25kcyB9IGZyb20gJy4uL3JlcXVlc3QnO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncywgUmVzcG9uc2VUeXBlIH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBDYWNoZUFkYXB0ZXJGbiB9IGZyb20gJy4vcXVlcnktY2xpZW50LWNvbmZpZyc7XG5pbXBvcnQgeyBRdWVyeU1ldGhvZCB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQge1xuICBTaG91bGRSZXRyeVJlcXVlc3RGbixcbiAgU2hvdWxkUmV0cnlSZXF1ZXN0T3B0aW9ucyxcbiAgZXh0cmFjdEV4cGlyZXNJblNlY29uZHMsXG4gIHNob3VsZFJldHJ5UmVxdWVzdCxcbn0gZnJvbSAnLi9xdWVyeS11dGlscyc7XG5cbmV4cG9ydCBjb25zdCBTUEVFRF9CVUZGRVJfVElNRV9JTl9NUyA9IDIwMDA7XG5cbmV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0VHJhbnNmZXJDYWNoZUNvbmZpZyA9XG4gIHwgYm9vbGVhblxuICB8IHtcbiAgICAgIGluY2x1ZGVIZWFkZXJzPzogc3RyaW5nW107XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RSZXNwb25zZVR5cGUgPSAnanNvbicgfCAndGV4dCcgfCAnYmxvYicgfCAnYXJyYXlidWZmZXInO1xuXG5leHBvcnQgdHlwZSBDcmVhdGVIdHRwUmVxdWVzdERlcGVuZGVuY2llcyA9IHtcbiAgLyoqIFRoZSBodHRwIGNsaWVudCBpbnN0YW5jZSB0byB1c2UgZm9yIHRoZSByZXF1ZXN0ICovXG4gIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQ7XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVIdHRwUmVxdWVzdENsaWVudE9wdGlvbnMgPSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHJlcG9ydCB0aGUgcHJvZ3Jlc3Mgb2YgdGhlIHJlcXVlc3Qgb3Igbm90LiBJZiB0aGUgZmV0Y2ggYmFja2VuZCBpcyB1c2VkLCB0aGlzIHdpbGwgb25seSB3b3JrIGZvciBkb3dubG9hZHMuXG4gICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmRldi9ndWlkZS9odHRwL21ha2luZy1yZXF1ZXN0cyNyZWNlaXZpbmctcmF3LXByb2dyZXNzLWV2ZW50c1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVwb3J0UHJvZ3Jlc3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluY2x1ZGUgY3JlZGVudGlhbHMgaW4gdGhlIHJlcXVlc3Qgb3Igbm90XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGlzIHByb3BlcnR5IGFjY2VwdHMgZWl0aGVyIGEgYm9vbGVhbiB0byBlbmFibGUvZGlzYWJsZSB0cmFuc2ZlcnJpbmcgY2FjaGUgZm9yIGVsaWdpYmxlXG4gICAqIHJlcXVlc3RzIHBlcmZvcm1lZCB1c2luZyBgSHR0cENsaWVudGAsIG9yIGFuIG9iamVjdCwgd2hpY2ggYWxsb3dzIHRvIGNvbmZpZ3VyZSBjYWNoZVxuICAgKiBwYXJhbWV0ZXJzLCBzdWNoIGFzIHdoaWNoIGhlYWRlcnMgc2hvdWxkIGJlIGluY2x1ZGVkIChubyBoZWFkZXJzIGFyZSBpbmNsdWRlZCBieSBkZWZhdWx0KS5cbiAgICpcbiAgICogU2V0dGluZyB0aGlzIHByb3BlcnR5IHdpbGwgb3ZlcnJpZGUgdGhlIG9wdGlvbnMgcGFzc2VkIHRvIGBwcm92aWRlQ2xpZW50SHlkcmF0aW9uKClgIGZvciB0aGlzXG4gICAqIHBhcnRpY3VsYXIgcmVxdWVzdFxuICAgKi9cbiAgdHJhbnNmZXJDYWNoZT86IEh0dHBSZXF1ZXN0VHJhbnNmZXJDYWNoZUNvbmZpZztcblxuICAvKipcbiAgICogVGhlIHJlc3BvbnNlIHR5cGUgb2YgdGhlIHJlcXVlc3RcbiAgICogQGRlZmF1bHQgJ2pzb24nXG4gICAqL1xuICByZXNwb25zZVR5cGU/OiBIdHRwUmVxdWVzdFJlc3BvbnNlVHlwZTtcblxuICAvKipcbiAgICogVGhlIGNvbnRleHQgb2YgdGhlIHJlcXVlc3RcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqIEBzZWUgaHR0cHM6Ly9hbmd1bGFyLmRldi9ndWlkZS9odHRwL2ludGVyY2VwdG9ycyNyZXF1ZXN0LWFuZC1yZXNwb25zZS1tZXRhZGF0YVxuICAgKi9cbiAgY29udGV4dD86IEh0dHBDb250ZXh0O1xufTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlSHR0cFJlcXVlc3RPcHRpb25zPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgLyoqIFRoZSBIVFRQIG1ldGhvZCBvZiB0aGUgcmVxdWVzdCAqL1xuICBtZXRob2Q6IFF1ZXJ5TWV0aG9kO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbCBwYXRoIG9mIHRoZSByZXF1ZXN0XG4gICAqIEBleGFtcGxlICdodHRwczovL2FwaS5leGFtcGxlLmNvbS92MS91c2VycydcbiAgICovXG4gIGZ1bGxQYXRoOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBkYXRhIG9mIHRoZSByZXF1ZXN0ICovXG4gIGFyZ3M/OiBSZXF1ZXN0QXJnczxUQXJncz4gfCBudWxsO1xuXG4gIC8qKiBUaGUgZGVwZW5kZW5jaWVzIG9mIHRoZSByZXF1ZXN0ICovXG4gIGRlcGVuZGVuY2llczogQ3JlYXRlSHR0cFJlcXVlc3REZXBlbmRlbmNpZXM7XG5cbiAgLyoqIFRoZSBjbGllbnQgb3B0aW9ucyBvZiB0aGUgcmVxdWVzdCAqL1xuICBjbGllbnRPcHRpb25zPzogQ3JlYXRlSHR0cFJlcXVlc3RDbGllbnRPcHRpb25zO1xuXG4gIC8qKlxuICAgKiBUaGUgY2FjaGUgYWRhcHRlciBmdW5jdGlvbiB0byB1c2UgZm9yIHRoZSByZXF1ZXN0XG4gICAqIEBkZWZhdWx0IGV4dHJhY3RFeHBpcmVzSW5TZWNvbmRzKClcbiAgICovXG4gIGNhY2hlQWRhcHRlcj86IENhY2hlQWRhcHRlckZuO1xuXG4gIC8qKlxuICAgKiBUaGUgcmV0cnkgZnVuY3Rpb24gdG8gdXNlIGZvciB0aGUgcmVxdWVzdFxuICAgKiBAZGVmYXVsdCBzaG91bGRSZXRyeVJlcXVlc3QoKVxuICAgKi9cbiAgcmV0cnlGbj86IFNob3VsZFJldHJ5UmVxdWVzdEZuO1xufTtcblxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3RMb2FkaW5nU3RhdGUgPSB7XG4gIC8qKiBUaGUgdGltZSB3aGVuIHRoZSByZXF1ZXN0IHdhcyBleGVjdXRlZCBpbiBtcyAqL1xuICBleGVjdXRlVGltZTogbnVtYmVyO1xuXG4gIC8qKiBUaGUgcHJvZ3Jlc3Mgb2YgdGhlIHJlcXVlc3QuIE51bGwgaWYgcmVwb3J0UHJvZ3Jlc3MgaXMgZmFsc2Ugb3IgcHJvZ3Jlc3MgaXMgbm90IGF2YWlsYWJsZSAvIHVuc3VwcG9ydGVkICovXG4gIHByb2dyZXNzOiBIdHRwUmVxdWVzdExvYWRpbmdQcm9ncmVzc1N0YXRlIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0TG9hZGluZ1Byb2dyZXNzU3RhdGUgPSB7XG4gIC8qKiBUaGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHRvIGJlIHRyYW5zZmVycmVkICovXG4gIHRvdGFsOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBudW1iZXIgb2YgYnl0ZXMgdHJhbnNmZXJyZWQgKi9cbiAgbG9hZGVkOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBwZXJjZW50YWdlIG9mIHRoZSB0cmFuc2ZlciB0aGF0IGlzIGNvbXBsZXRlZCAqL1xuICBwZXJjZW50YWdlOiBudW1iZXI7XG5cbiAgLyoqIFRoZSBzcGVlZCBvZiB0aGUgdHJhbnNmZXIgaW4gYnl0ZXMgcGVyIG1pbGxpc2Vjb25kICovXG4gIHNwZWVkOiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKiBUaGUgZXN0aW1hdGVkIHJlbWFpbmluZyB0aW1lIGluIG1pbGxpc2Vjb25kcyAqL1xuICByZW1haW5pbmdUaW1lOiBudW1iZXIgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3Q8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAvKiogRXhlY3V0ZXMgdGhlIHJlcXVlc3QgKi9cbiAgZXhlY3V0ZTogKG9wdGlvbnM/OiB7IHNraXBDYWNoZT86IGJvb2xlYW4gfSkgPT4gYm9vbGVhbjtcblxuICAvKiogRGVzdHJveXMgdGhlIHJlcXVlc3QgKGNhbmNlbHMgaXQgaWYgaW4gcHJvZ3Jlc3MpICovXG4gIGRlc3Ryb3k6ICgpID0+IGJvb2xlYW47XG5cbiAgLyoqIFRoZSBsb2FkaW5nIHN0YXRlIG9mIHRoZSByZXF1ZXN0ICovXG4gIGxvYWRpbmc6IFNpZ25hbDxIdHRwUmVxdWVzdExvYWRpbmdTdGF0ZSB8IG51bGw+O1xuXG4gIC8qKiBUaGUgZXJyb3Igc3RhdGUgb2YgdGhlIHJlcXVlc3QgKi9cbiAgZXJyb3I6IFNpZ25hbDxIdHRwRXJyb3JSZXNwb25zZSB8IG51bGw+O1xuXG4gIC8qKiBUaGUgcmVzcG9uc2Ugc3RhdGUgb2YgdGhlIHJlcXVlc3QgKi9cbiAgcmVzcG9uc2U6IFNpZ25hbDxSZXNwb25zZVR5cGU8VEFyZ3M+IHwgbnVsbD47XG5cbiAgLyoqIFRoZSBjdXJyZW50IGV2ZW50IG9mIHRoZSByZXF1ZXN0ICovXG4gIGN1cnJlbnRFdmVudDogU2lnbmFsPEh0dHBFdmVudDxSZXNwb25zZVR5cGU8VEFyZ3M+PiB8IEh0dHBFcnJvckV2ZW50IHwgbnVsbD47XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHJlcXVlc3QgaXMgc3RhbGUgb3Igbm90IGFrYSB0aGUgY2FjaGUgaGVhZGVyIGhhcyBleHBpcmVkICovXG4gIGlzU3RhbGU6IFNpZ25hbDxib29sZWFuPjtcbn07XG5cbi8qKiBBIGN1c3RvbSBlcnJvciBldmVudCBzaW5jZSB0aGUgQW5ndWxhciBodHRwIGNsaWVudCBkb2VzIG5vdCBwcm92aWRlIGEgc3BlY2lmaWMgZXZlbnQgZm9yIGVycm9ycyAqL1xuZXhwb3J0IHR5cGUgSHR0cEVycm9yRXZlbnQgPSB7XG4gIHR5cGU6ICdlcnJvcic7XG4gIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVIdHRwUmVxdWVzdCA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczogQ3JlYXRlSHR0cFJlcXVlc3RPcHRpb25zPFRBcmdzPikgPT4ge1xuICBsZXQgY3VycmVudFN0cmVhbVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICBjb25zdCB7IGFyZ3MsIGNsaWVudE9wdGlvbnMsIGRlcGVuZGVuY2llcyB9ID0gb3B0aW9ucztcblxuICBjb25zdCBjdXJyZW50RXZlbnQgPSBzaWduYWw8SHR0cEV2ZW50PFJlc3BvbnNlVHlwZTxUQXJncz4+IHwgSHR0cEVycm9yRXZlbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbG9hZGluZyA9IHNpZ25hbDxIdHRwUmVxdWVzdExvYWRpbmdTdGF0ZSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBlcnJvciA9IHNpZ25hbDxIdHRwRXJyb3JSZXNwb25zZSB8IG51bGw+KG51bGwpO1xuICBjb25zdCByZXNwb25zZSA9IHNpZ25hbDxSZXNwb25zZVR5cGU8VEFyZ3M+IHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgbGFzdExvYWRFdmVudFRpbWUgPSBzaWduYWwoMCk7XG4gIGNvbnN0IGxhc3RMb2FkRXZlbnRBbW91bnQgPSBzaWduYWwoMCk7XG4gIGNvbnN0IGxhc3RFeGVjdXRlVGltZSA9IHNpZ25hbCgwKTtcbiAgY29uc3QgZXhwaXJlc0luID0gc2lnbmFsPG51bWJlciB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IGlzU3RhbGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZXhwaXJlc0luVHMgPSBleHBpcmVzSW4oKTtcblxuICAgIHJldHVybiBleHBpcmVzSW5UcyA9PT0gbnVsbCB8fCBleHBpcmVzSW5UcyA8IERhdGUubm93KCk7XG4gIH0pO1xuXG4gIGNvbnN0IHN0cmVhbSA9IGRlcGVuZGVuY2llcy5odHRwQ2xpZW50XG4gICAgLnJlcXVlc3Qob3B0aW9ucy5tZXRob2QsIG9wdGlvbnMuZnVsbFBhdGgsIHtcbiAgICAgIG9ic2VydmU6ICdldmVudHMnLFxuICAgICAgYm9keTogYXJncz8uYm9keSxcbiAgICAgIHJlcG9ydFByb2dyZXNzOiBjbGllbnRPcHRpb25zPy5yZXBvcnRQcm9ncmVzcyxcbiAgICAgIHdpdGhDcmVkZW50aWFsczogY2xpZW50T3B0aW9ucz8ud2l0aENyZWRlbnRpYWxzLFxuICAgICAgdHJhbnNmZXJDYWNoZTogY2xpZW50T3B0aW9ucz8udHJhbnNmZXJDYWNoZSxcbiAgICAgIHJlc3BvbnNlVHlwZTogY2xpZW50T3B0aW9ucz8ucmVzcG9uc2VUeXBlIHx8ICdqc29uJyxcbiAgICAgIGNvbnRleHQ6IGNsaWVudE9wdGlvbnM/LmNvbnRleHQsXG4gICAgICBoZWFkZXJzOiBhcmdzPy5oZWFkZXJzLFxuICAgIH0pXG4gICAgLnBpcGUoXG4gICAgICB0YXAoKGV2ZW50KSA9PiB1cGRhdGVTdGF0ZShldmVudCkpLFxuICAgICAgcmV0cnkoe1xuICAgICAgICBkZWxheTogKGVycm9yLCByZXRyeUNvdW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgcmV0cnlPcHRpb25zOiBTaG91bGRSZXRyeVJlcXVlc3RPcHRpb25zID0geyBlcnJvciwgcmV0cnlDb3VudCB9O1xuXG4gICAgICAgICAgY29uc3QgcmV0cnlSZXN1bHQgPSBvcHRpb25zLnJldHJ5Rm4/LihyZXRyeU9wdGlvbnMpIHx8IHNob3VsZFJldHJ5UmVxdWVzdChyZXRyeU9wdGlvbnMpO1xuXG4gICAgICAgICAgaWYgKCFyZXRyeVJlc3VsdC5yZXRyeSkge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aW1lcihyZXRyeVJlc3VsdC5kZWxheSk7XG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgdXBkYXRlRXJyb3JTdGF0ZShlKTtcblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlKTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgY29uc3QgZXhlY3V0ZSA9IChvcHRpb25zPzogeyBza2lwQ2FjaGU/OiBib29sZWFuIH0pID0+IHtcbiAgICBpZiAobG9hZGluZygpIHx8ICghaXNTdGFsZSgpICYmICFvcHRpb25zPy5za2lwQ2FjaGUpKSB7XG4gICAgICAvLyBEbyBub3QgZXhlY3V0ZSBpZiB0aGVyZSBpcyBhbHJlYWR5IGEgcmVxdWVzdCBpbiBwcm9ncmVzcyBvciB0aGUgcmVxdWVzdCBpcyBub3Qgc3RhbGVcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjdXJyZW50U3RyZWFtU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG5cbiAgICBsYXN0RXhlY3V0ZVRpbWUuc2V0KERhdGUubm93KCkpO1xuICAgIGxhc3RMb2FkRXZlbnRUaW1lLnNldChsYXN0RXhlY3V0ZVRpbWUoKSk7XG5cbiAgICBsb2FkaW5nLnNldCh7XG4gICAgICBleGVjdXRlVGltZTogbGFzdEV4ZWN1dGVUaW1lKCksXG4gICAgICBwcm9ncmVzczogbnVsbCxcbiAgICB9KTtcbiAgICBlcnJvci5zZXQobnVsbCk7XG4gICAgZXhwaXJlc0luLnNldChudWxsKTtcblxuICAgIGN1cnJlbnRTdHJlYW1TdWJzY3JpcHRpb24gPSBzdHJlYW0uc3Vic2NyaWJlKCk7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBjb25zdCBkZXN0cm95ID0gKCkgPT4ge1xuICAgIGlmIChjdXJyZW50U3RyZWFtU3Vic2NyaXB0aW9uLmNsb3NlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGN1cnJlbnRTdHJlYW1TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZVN0YXRlID0gKGV2ZW50OiBIdHRwRXZlbnQ8UmVzcG9uc2VUeXBlPFRBcmdzPj4pID0+IHtcbiAgICBjdXJyZW50RXZlbnQuc2V0KGV2ZW50KTtcblxuICAgIHN3aXRjaCAoZXZlbnQudHlwZSkge1xuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlOlxuICAgICAgICB7XG4gICAgICAgICAgbG9hZGluZy5zZXQobnVsbCk7XG4gICAgICAgICAgcmVzcG9uc2Uuc2V0KGV2ZW50LmJvZHkpO1xuXG4gICAgICAgICAgY29uc3QgZXhwaXJlc0luU2Vjb25kcyA9IG9wdGlvbnMuY2FjaGVBZGFwdGVyXG4gICAgICAgICAgICA/IG9wdGlvbnMuY2FjaGVBZGFwdGVyKGV2ZW50LmhlYWRlcnMpXG4gICAgICAgICAgICA6IGV4dHJhY3RFeHBpcmVzSW5TZWNvbmRzKGV2ZW50LmhlYWRlcnMpO1xuICAgICAgICAgIGNvbnN0IGV4cGlyZXNJblRpbWVzdGFtcCA9IGJ1aWxkVGltZXN0YW1wRnJvbVNlY29uZHMoZXhwaXJlc0luU2Vjb25kcyk7XG4gICAgICAgICAgZXhwaXJlc0luLnNldChleHBpcmVzSW5UaW1lc3RhbXApO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuVXBsb2FkUHJvZ3Jlc3M6XG4gICAgICBjYXNlIEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzczpcbiAgICAgICAge1xuICAgICAgICAgIHVwZGF0ZUxvYWRpbmdTdGF0ZShldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgSHR0cEV2ZW50VHlwZS5TZW50OlxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlSGVhZGVyOlxuICAgICAgY2FzZSBIdHRwRXZlbnRUeXBlLlVzZXI6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZXNlIGV2ZW50c1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCB1cGRhdGVFcnJvclN0YXRlID0gKGVycm9yUmVzcG9uc2U6IHVua25vd24pID0+IHtcbiAgICBsZXQgZXJyID0gZXJyb3JSZXNwb25zZSBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlID8gZXJyb3JSZXNwb25zZSA6IG51bGw7XG5cbiAgICBpZiAoIWVycikge1xuICAgICAgZXJyID0gbmV3IEh0dHBFcnJvclJlc3BvbnNlKHtcbiAgICAgICAgZXJyb3I6IGVycm9yUmVzcG9uc2UsXG4gICAgICAgIHN0YXR1czogMCxcbiAgICAgICAgc3RhdHVzVGV4dDogJ1Vua25vd24gRXJyb3InLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZXJyb3Iuc2V0KGVycik7XG4gICAgbG9hZGluZy5zZXQobnVsbCk7XG4gICAgY3VycmVudEV2ZW50LnNldCh7IHR5cGU6ICdlcnJvcicsIGVycm9yOiBlcnIgfSk7XG4gIH07XG5cbiAgY29uc3QgdXBkYXRlTG9hZGluZ1N0YXRlID0gKGV2ZW50OiBIdHRwUHJvZ3Jlc3NFdmVudCkgPT4ge1xuICAgIGlmIChldmVudC50b3RhbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJvZ3Jlc3M6IEh0dHBSZXF1ZXN0TG9hZGluZ1Byb2dyZXNzU3RhdGUgPSB7XG4gICAgICB0b3RhbDogZXZlbnQudG90YWwsXG4gICAgICBsb2FkZWQ6IGV2ZW50LmxvYWRlZCxcbiAgICAgIHBlcmNlbnRhZ2U6IChldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCkgKiAxMDAsXG4gICAgICBzcGVlZDogbnVsbCxcbiAgICAgIHJlbWFpbmluZ1RpbWU6IG51bGwsXG4gICAgfTtcblxuICAgIGNvbnN0IHN0YXRlOiBIdHRwUmVxdWVzdExvYWRpbmdTdGF0ZSA9IHtcbiAgICAgIGV4ZWN1dGVUaW1lOiBsYXN0RXhlY3V0ZVRpbWUoKSxcbiAgICAgIHByb2dyZXNzLFxuICAgIH07XG5cbiAgICBjb25zdCBjdXJyZW50VGltZSA9IERhdGUubm93KCk7XG4gICAgY29uc3QgZWxhcHNlZFRpbWVTaW5jZUxhc3RFdmVudCA9IGN1cnJlbnRUaW1lIC0gbGFzdExvYWRFdmVudFRpbWUoKTtcbiAgICBjb25zdCBlbGFwc2VkVGltZVNpbmNlTGFzdEV4ZWN1dGUgPSBjdXJyZW50VGltZSAtIGxhc3RFeGVjdXRlVGltZSgpO1xuICAgIGNvbnN0IGxvYWRlZEFtb3VudCA9IGV2ZW50LmxvYWRlZCAtIGxhc3RMb2FkRXZlbnRBbW91bnQoKTtcblxuICAgIC8vIFdlIG9ubHkgd2FudCB0byBjYWxjdWxhdGUgc3BlZWQgYW5kIHJlbWFpbmluZyB0aW1lIGFmdGVyIDIgc2Vjb25kcyBvZiB0aGUgZXhlY3V0aW9uXG4gICAgLy8gVGhpcyBpcyB0byBhdm9pZCBzaG93aW5nIGluY29ycmVjdCBzcGVlZCBhbmQgcmVtYWluaW5nIHRpbWUgd2hlbiB0aGUgcmVxdWVzdCBpcyB2ZXJ5IGZhc3RcbiAgICBpZiAoZWxhcHNlZFRpbWVTaW5jZUxhc3RFeGVjdXRlID4gU1BFRURfQlVGRkVSX1RJTUVfSU5fTVMpIHtcbiAgICAgIGNvbnN0IHNwZWVkID0gKGxvYWRlZEFtb3VudCAvIGVsYXBzZWRUaW1lU2luY2VMYXN0RXZlbnQpICogMTAwMDtcblxuICAgICAgcHJvZ3Jlc3Muc3BlZWQgPSBzcGVlZCAqIDEwMDA7XG4gICAgICBwcm9ncmVzcy5yZW1haW5pbmdUaW1lID0gTWF0aC5yb3VuZCgoZXZlbnQudG90YWwgLSBldmVudC5sb2FkZWQpIC8gc3BlZWQpICogMTAwMDtcbiAgICB9XG5cbiAgICBsYXN0TG9hZEV2ZW50VGltZS5zZXQoY3VycmVudFRpbWUpO1xuICAgIGxhc3RMb2FkRXZlbnRBbW91bnQuc2V0KGV2ZW50LmxvYWRlZCk7XG5cbiAgICBsb2FkaW5nLnNldChzdGF0ZSk7XG4gIH07XG5cbiAgY29uc3QgaHR0cFJlcXVlc3Q6IEh0dHBSZXF1ZXN0PFRBcmdzPiA9IHtcbiAgICBleGVjdXRlLFxuICAgIGRlc3Ryb3ksXG4gICAgbG9hZGluZzogbG9hZGluZy5hc1JlYWRvbmx5KCksXG4gICAgZXJyb3I6IGVycm9yLmFzUmVhZG9ubHkoKSxcbiAgICByZXNwb25zZTogcmVzcG9uc2UuYXNSZWFkb25seSgpLFxuICAgIGN1cnJlbnRFdmVudDogY3VycmVudEV2ZW50LmFzUmVhZG9ubHkoKSxcbiAgICBpc1N0YWxlLFxuICB9O1xuXG4gIHJldHVybiBodHRwUmVxdWVzdDtcbn07XG4iXX0=
@@ -1,6 +1,7 @@
1
1
  export * from './bearer-auth-provider';
2
2
  export * from './bearer-auth-provider-config';
3
3
  export * from './http-request';
4
+ export * from './paged-query';
4
5
  export * from './query';
5
6
  export * from './query-client';
6
7
  export * from './query-client-config';
@@ -19,4 +20,4 @@ export * from './query-utils';
19
20
  export * from './secure-query';
20
21
  export * from './secure-query-creator';
21
22
  export * from './secure-query-execute';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmVhcmVyLWF1dGgtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iZWFyZXItYXV0aC1wcm92aWRlci1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLXJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWNsaWVudCc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktY3JlYXRvci10ZW1wbGF0ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1kZXBlbmRlbmNpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1lcnJvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1leGVjdXRlJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktZXhlY3V0ZS11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWZlYXR1cmVzJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktcmVwb3NpdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LXNuYXBzaG90JztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktc3RhY2snO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vc2VjdXJlLXF1ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vc2VjdXJlLXF1ZXJ5LWNyZWF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9zZWN1cmUtcXVlcnktZXhlY3V0ZSc7XG4iXX0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmVhcmVyLWF1dGgtcHJvdmlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9iZWFyZXItYXV0aC1wcm92aWRlci1jb25maWcnO1xuZXhwb3J0ICogZnJvbSAnLi9odHRwLXJlcXVlc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdlZC1xdWVyeSc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5JztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktY2xpZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktY2xpZW50LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWNyZWF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1jcmVhdG9yLXRlbXBsYXRlcyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWRlcGVuZGVuY2llcyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWVycm9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LWV4ZWN1dGUnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1leGVjdXRlLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktZmVhdHVyZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1yZXBvc2l0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktc25hcHNob3QnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWVyeS1zdGFjayc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJ5LXN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcnktdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWN1cmUtcXVlcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zZWN1cmUtcXVlcnktY3JlYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3NlY3VyZS1xdWVyeS1leGVjdXRlJztcbiJdfQ==
@@ -0,0 +1,194 @@
1
+ import { computed, effect, isDevMode, signal, untracked } from '@angular/core';
2
+ import { pagedQueryNextPageCalledWithoutPreviousPage, pagedQueryPageBiggerThanTotalPages, pagedQueryPreviousPageCalledButAlreadyAtFirstPage, } from './query-errors';
3
+ import { withArgs } from './query-features';
4
+ import { createQueryStack, transformArrayResponse } from './query-stack';
5
+ export const ethletePaginationAdapter = (response) => {
6
+ const pagination = {
7
+ items: response.items,
8
+ totalPages: response.totalPageCount,
9
+ currentPage: response.currentPage,
10
+ itemsPerPage: response.itemsPerPage,
11
+ totalHits: response.totalHits,
12
+ };
13
+ return pagination;
14
+ };
15
+ export const ggLikePaginationAdapter = (response) => {
16
+ const pagination = {
17
+ items: response.items,
18
+ totalPages: response.totalPageCount,
19
+ currentPage: response.currentPage,
20
+ itemsPerPage: response.itemsPerPage,
21
+ totalHits: response.totalHits,
22
+ };
23
+ return pagination;
24
+ };
25
+ export const dynLikePaginationAdapter = (response) => {
26
+ const pagination = {
27
+ items: response.items,
28
+ totalPages: response.totalPages,
29
+ currentPage: response.currentPage,
30
+ itemsPerPage: response.limit,
31
+ totalHits: response.totalHits,
32
+ };
33
+ return pagination;
34
+ };
35
+ export const contentfulGqlLikePaginationAdapter = (response) => {
36
+ const totalPages = Math.max(Math.ceil(response.total / response.limit), 1); // If there are no items, there is still one page
37
+ const currentPage = Math.max(Math.ceil(response.skip / response.limit) + 1, 1);
38
+ const pagination = {
39
+ items: response.items,
40
+ totalPages,
41
+ currentPage,
42
+ itemsPerPage: response.limit,
43
+ totalHits: response.total,
44
+ };
45
+ return pagination;
46
+ };
47
+ export const createPagedQuery = (options) => {
48
+ const { responseNormalizer, queryCreator } = options;
49
+ const currentPageArgs = signal(null);
50
+ const initialPage = signal(options.initialPage ?? 1);
51
+ const loadedMinPage = signal(initialPage());
52
+ const loadedMaxPage = signal(initialPage());
53
+ const lastResetTimestamp = signal(Date.now());
54
+ const pageDirection = signal('next');
55
+ const stack = createQueryStack(() => {
56
+ const args = currentPageArgs();
57
+ if (!args)
58
+ return null;
59
+ return queryCreator(withArgs(() => {
60
+ return args;
61
+ }));
62
+ }, {
63
+ append: true,
64
+ appendFn: (oldQueries, newQueries) => {
65
+ const newQuery = newQueries[0];
66
+ const dir = pageDirection();
67
+ if (!newQuery) {
68
+ const lastQuery = oldQueries[oldQueries.length - 1] ?? null;
69
+ return { queries: oldQueries, lastQuery };
70
+ }
71
+ else if (dir === 'previous') {
72
+ return { queries: [newQuery, ...oldQueries], lastQuery: newQuery };
73
+ }
74
+ else {
75
+ return { queries: [...oldQueries, newQuery], lastQuery: newQuery };
76
+ }
77
+ },
78
+ transform: transformArrayResponse,
79
+ });
80
+ effect(() => {
81
+ lastResetTimestamp();
82
+ const args = options.args(initialPage());
83
+ untracked(() => {
84
+ stack.clear();
85
+ currentPageArgs.set(args);
86
+ loadedMinPage.set(initialPage());
87
+ loadedMaxPage.set(initialPage());
88
+ });
89
+ });
90
+ const pagination = computed(() => {
91
+ const res = stack.lastQuery()?.response();
92
+ if (!res)
93
+ return null;
94
+ return responseNormalizer(res);
95
+ });
96
+ const fetchPreviousPage = () => {
97
+ const page = loadedMinPage() - 1;
98
+ if (page < 1) {
99
+ if (isDevMode()) {
100
+ throw pagedQueryPreviousPageCalledButAlreadyAtFirstPage();
101
+ }
102
+ return;
103
+ }
104
+ currentPageArgs.set(options.args(page));
105
+ loadedMinPage.set(page);
106
+ pageDirection.set('previous');
107
+ };
108
+ const fetchNextPage = () => {
109
+ const page = loadedMaxPage() + 1;
110
+ const currentPagination = pagination();
111
+ if (!currentPagination) {
112
+ if (isDevMode()) {
113
+ throw pagedQueryNextPageCalledWithoutPreviousPage();
114
+ }
115
+ return;
116
+ }
117
+ if (page > currentPagination.totalPages) {
118
+ if (isDevMode()) {
119
+ throw pagedQueryPageBiggerThanTotalPages(page, currentPagination.totalPages);
120
+ }
121
+ return;
122
+ }
123
+ currentPageArgs.set(options.args(page));
124
+ loadedMaxPage.set(page);
125
+ pageDirection.set('next');
126
+ };
127
+ const reset = (resetOptions) => {
128
+ const page = resetOptions?.initialPage ?? initialPage();
129
+ initialPage.set(page);
130
+ pageDirection.set('next');
131
+ lastResetTimestamp.set(Date.now());
132
+ };
133
+ const canFetchPreviousPage = computed(() => loadedMinPage() > 1);
134
+ const canFetchNextPage = computed(() => {
135
+ const currentPagination = pagination();
136
+ return currentPagination ? loadedMaxPage() < currentPagination.totalPages : false;
137
+ });
138
+ const items = computed(() => {
139
+ return stack
140
+ .response()
141
+ .map((r) => responseNormalizer(r).items)
142
+ .flat();
143
+ });
144
+ const isFirstLoad = computed(() => {
145
+ return stack.queries().length === 1 && !!stack.lastQuery()?.loading();
146
+ });
147
+ const execute = (options) => {
148
+ if (options?.where) {
149
+ const queriesToExecute = [];
150
+ for (const [index, query] of stack.queries().entries()) {
151
+ // TODO: Use the where condition here.
152
+ if (query.response()) {
153
+ queriesToExecute.push(query);
154
+ if (index !== 0) {
155
+ const prevQuery = stack.queries()[index - 1];
156
+ if (prevQuery) {
157
+ queriesToExecute.push(prevQuery);
158
+ }
159
+ }
160
+ if (index !== stack.queries().length - 1) {
161
+ const nextQuery = stack.queries()[index + 1];
162
+ if (nextQuery) {
163
+ queriesToExecute.push(nextQuery);
164
+ }
165
+ }
166
+ }
167
+ }
168
+ for (const query of queriesToExecute) {
169
+ query.execute({ options: { skipCache: options.skipCache } });
170
+ }
171
+ }
172
+ else {
173
+ stack.execute({ skipCache: options?.skipCache });
174
+ }
175
+ };
176
+ const pagedQuery = {
177
+ pagination,
178
+ fetchPreviousPage,
179
+ fetchNextPage,
180
+ canFetchPreviousPage,
181
+ canFetchNextPage,
182
+ items,
183
+ direction: pageDirection.asReadonly(),
184
+ loading: stack.loading,
185
+ error: stack.error,
186
+ lastQuery: stack.lastQuery,
187
+ isFirstLoad,
188
+ queries: stack.queries(),
189
+ reset,
190
+ execute,
191
+ };
192
+ return pagedQuery;
193
+ };
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWQtcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3F1ZXJ5L3NyYy9saWIvZXhwZXJpbWVudGFsL3BhZ2VkLXF1ZXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBVS9FLE9BQU8sRUFDTCwyQ0FBMkMsRUFDM0Msa0NBQWtDLEVBQ2xDLGlEQUFpRCxHQUNsRCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekUsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBSSxRQUFzQixFQUFFLEVBQUU7SUFDcEUsTUFBTSxVQUFVLEdBQTRCO1FBQzFDLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztRQUNyQixVQUFVLEVBQUUsUUFBUSxDQUFDLGNBQWM7UUFDbkMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO1FBQ2pDLFlBQVksRUFBRSxRQUFRLENBQUMsWUFBWTtRQUNuQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7S0FDOUIsQ0FBQztJQUVGLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUksUUFBNEIsRUFBRSxFQUFFO0lBQ3pFLE1BQU0sVUFBVSxHQUE0QjtRQUMxQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7UUFDckIsVUFBVSxFQUFFLFFBQVEsQ0FBQyxjQUFjO1FBQ25DLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztRQUNqQyxZQUFZLEVBQUUsUUFBUSxDQUFDLFlBQVk7UUFDbkMsU0FBUyxFQUFFLFFB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QyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQUc7UUFDakIsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2Isb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixLQUFLO1FBQ0wsU0FBUyxFQUFFLGFBQWEsQ0FBQyxVQUFVLEVBQUU7UUFDckMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1FBQ3RCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztRQUNsQixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDMUIsV0FBVztRQUNYLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFO1FBQ3hCLEtBQUs7UUFDTCxPQUFPO0tBQ1IsQ0FBQztJQUVGLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBlZmZlY3QsIGlzRGV2TW9kZSwgc2lnbmFsLCB1bnRyYWNrZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENvbnRlbnRmdWxHcWxMaWtlUGFnaW5hdGVkLFxuICBEeW5MaWtlUGFnaW5hdGVkLFxuICBHZ0xpa2VQYWdpbmF0ZWQsXG4gIE5vcm1hbGl6ZWRQYWdpbmF0aW9uLFxuICBQYWdpbmF0ZWQsXG59IGZyb20gJ0BldGhsZXRlL3R5cGVzJztcbmltcG9ydCB7IFF1ZXJ5LCBRdWVyeUFyZ3MsIFJlcXVlc3RBcmdzLCBSZXNwb25zZVR5cGUgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IFF1ZXJ5Q3JlYXRvciB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQge1xuICBwYWdlZFF1ZXJ5TmV4dFBhZ2VDYWxsZWRXaXRob3V0UHJldmlvdXNQYWdlLFxuICBwYWdlZFF1ZXJ5UGFnZUJpZ2dlclRoYW5Ub3RhbFBhZ2VzLFxuICBwYWdlZFF1ZXJ5UHJldmlvdXNQYWdlQ2FsbGVkQnV0QWxyZWFkeUF0Rmlyc3RQYWdlLFxufSBmcm9tICcuL3F1ZXJ5LWVycm9ycyc7XG5pbXBvcnQgeyB3aXRoQXJncyB9IGZyb20gJy4vcXVlcnktZmVhdHVyZXMnO1xuaW1wb3J0IHsgY3JlYXRlUXVlcnlTdGFjaywgdHJhbnNmb3JtQXJyYXlSZXNwb25zZSB9IGZyb20gJy4vcXVlcnktc3RhY2snO1xuXG5leHBvcnQgY29uc3QgZXRobGV0ZVBhZ2luYXRpb25BZGFwdGVyID0gPFQ+KHJlc3BvbnNlOiBQYWdpbmF0ZWQ8VD4pID0+IHtcbiAgY29uc3QgcGFnaW5hdGlvbjogTm9ybWFsaXplZFBhZ2luYXRpb248VD4gPSB7XG4gICAgaXRlbXM6IHJlc3BvbnNlLml0ZW1zLFxuICAgIHRvdGFsUGFnZXM6IHJlc3BvbnNlLnRvdGFsUGFnZUNvdW50LFxuICAgIGN1cnJlbnRQYWdlOiByZXNwb25zZS5jdXJyZW50UGFnZSxcbiAgICBpdGVtc1BlclBhZ2U6IHJlc3BvbnNlLml0ZW1zUGVyUGFnZSxcbiAgICB0b3RhbEhpdHM6IHJlc3BvbnNlLnRvdGFsSGl0cyxcbiAgfTtcblxuICByZXR1cm4gcGFnaW5hdGlvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZ0xpa2VQYWdpbmF0aW9uQWRhcHRlciA9IDxUPihyZXNwb25zZTogR2dMaWtlUGFnaW5hdGVkPFQ+KSA9PiB7XG4gIGNvbnN0IHBhZ2luYXRpb246IE5vcm1hbGl6ZWRQYWdpbmF0aW9uPFQ+ID0ge1xuICAgIGl0ZW1zOiByZXNwb25zZS5pdGVtcyxcbiAgICB0b3RhbFBhZ2VzOiByZXNwb25zZS50b3RhbFBhZ2VDb3VudCxcbiAgICBjdXJyZW50UGFnZTogcmVzcG9uc2UuY3VycmVudFBhZ2UsXG4gICAgaXRlbXNQZXJQYWdlOiByZXNwb25zZS5pdGVtc1BlclBhZ2UsXG4gICAgdG90YWxIaXRzOiByZXNwb25zZS50b3RhbEhpdHMsXG4gIH07XG5cbiAgcmV0dXJuIHBhZ2luYXRpb247XG59O1xuXG5leHBvcnQgY29uc3QgZHluTGlrZVBhZ2luYXRpb25BZGFwdGVyID0gPFQ+KHJlc3BvbnNlOiBEeW5MaWtlUGFnaW5hdGVkPFQ+KSA9PiB7XG4gIGNvbnN0IHBhZ2luYXRpb246IE5vcm1hbGl6ZWRQYWdpbmF0aW9uPFQ+ID0ge1xuICAgIGl0ZW1zOiByZXNwb25zZS5pdGVtcyxcbiAgICB0b3RhbFBhZ2VzOiByZXNwb25zZS50b3RhbFBhZ2VzLFxuICAgIGN1cnJlbnRQYWdlOiByZXNwb25zZS5jdXJyZW50UGFnZSxcbiAgICBpdGVtc1BlclBhZ2U6IHJlc3BvbnNlLmxpbWl0LFxuICAgIHRvdGFsSGl0czogcmVzcG9uc2UudG90YWxIaXRzLFxuICB9O1xuXG4gIHJldHVybiBwYWdpbmF0aW9uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvbnRlbnRmdWxHcWxMaWtlUGFnaW5hdGlvbkFkYXB0ZXIgPSA8VD4ocmVzcG9uc2U6IENvbnRlbnRmdWxHcWxMaWtlUGFnaW5hdGVkPFQ+KSA9PiB7XG4gIGNvbnN0IHRvdGFsUGFnZXMgPSBNYXRoLm1heChNYXRoLmNlaWwocmVzcG9uc2UudG90YWwgLyByZXNwb25zZS5saW1pdCksIDEpOyAvLyBJZiB0aGVyZSBhcmUgbm8gaXRlbXMsIHRoZXJlIGlzIHN0aWxsIG9uZSBwYWdlXG4gIGNvbnN0IGN1cnJlbnRQYWdlID0gTWF0aC5tYXgoTWF0aC5jZWlsKHJlc3BvbnNlLnNraXAgLyByZXNwb25zZS5saW1pdCkgKyAxLCAxKTtcblxuICBjb25zdCBwYWdpbmF0aW9uOiBOb3JtYWxpemVkUGFnaW5hdGlvbjxUPiA9IHtcbiAgICBpdGVtczogcmVzcG9uc2UuaXRlbXMsXG4gICAgdG90YWxQYWdlcyxcbiAgICBjdXJyZW50UGFnZSxcbiAgICBpdGVtc1BlclBhZ2U6IHJlc3BvbnNlLmxpbWl0LFxuICAgIHRvdGFsSGl0czogcmVzcG9uc2UudG90YWwsXG4gIH07XG5cbiAgcmV0dXJuIHBhZ2luYXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBDcmVhdGVQYWdlZFF1ZXJ5T3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIHJlc3BvbnNlTm9ybWFsaXplcjogKHJlc3BvbnNlOiBSZXNwb25zZVR5cGU8VEFyZ3M+KSA9PiBOb3JtYWxpemVkUGFnaW5hdGlvbjxSZXNwb25zZVR5cGU8VEFyZ3M+PjtcbiAgcXVlcnlDcmVhdG9yOiBRdWVyeUNyZWF0b3I8VEFyZ3M+O1xuICBhcmdzOiAocGFnZTogbnVtYmVyKSA9PiBSZXF1ZXN0QXJnczxUQXJncz47XG4gIGluaXRpYWxQYWdlPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUGFnZWRRdWVyeVJlc2V0T3B0aW9ucyA9IHtcbiAgaW5pdGlhbFBhZ2U/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUGFnZWRRdWVyeSA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczogQ3JlYXRlUGFnZWRRdWVyeU9wdGlvbnM8VEFyZ3M+KSA9PiB7XG4gIGNvbnN0IHsgcmVzcG9uc2VOb3JtYWxpemVyLCBxdWVyeUNyZWF0b3IgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgY3VycmVudFBhZ2VBcmdzID0gc2lnbmFsPFJlcXVlc3RBcmdzPFRBcmdzPiB8IG51bGw+KG51bGwpO1xuICBjb25zdCBpbml0aWFsUGFnZSA9IHNpZ25hbChvcHRpb25zLmluaXRpYWxQYWdlID8/IDEpO1xuICBjb25zdCBsb2FkZWRNaW5QYWdlID0gc2lnbmFsKGluaXRpYWxQYWdlKCkpO1xuICBjb25zdCBsb2FkZWRNYXhQYWdlID0gc2lnbmFsKGluaXRpYWxQYWdlKCkpO1xuICBjb25zdCBsYXN0UmVzZXRUaW1lc3RhbXAgPSBzaWduYWwoRGF0ZS5ub3coKSk7XG5cbiAgY29uc3QgcGFnZURpcmVjdGlvbiA9IHNpZ25hbDwnbmV4dCcgfCAncHJldmlvdXMnPignbmV4dCcpO1xuXG4gIGNvbnN0IHN0YWNrID0gY3JlYXRlUXVlcnlTdGFjayhcbiAgICAoKSA9PiB7XG4gICAgICBjb25zdCBhcmdzID0gY3VycmVudFBhZ2VBcmdzKCk7XG5cbiAgICAgIGlmICghYXJncykgcmV0dXJuIG51bGw7XG5cbiAgICAgIHJldHVybiBxdWVyeUNyZWF0b3IoXG4gICAgICAgIHdpdGhBcmdzKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gYXJncztcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH0sXG4gICAge1xuICAgICAgYXBwZW5kOiB0cnVlLFxuICAgICAgYXBwZW5kRm46IChvbGRRdWVyaWVzLCBuZXdRdWVyaWVzKSA9PiB7XG4gICAgICAgIGNvbnN0IG5ld1F1ZXJ5ID0gbmV3UXVlcmllc1swXTtcbiAgICAgICAgY29uc3QgZGlyID0gcGFnZURpcmVjdGlvbigpO1xuXG4gICAgICAgIGlmICghbmV3UXVlcnkpIHtcbiAgICAgICAgICBjb25zdCBsYXN0UXVlcnkgPSBvbGRRdWVyaWVzW29sZFF1ZXJpZXMubGVuZ3RoIC0gMV0gPz8gbnVsbDtcbiAgICAgICAgICByZXR1cm4geyBxdWVyaWVzOiBvbGRRdWVyaWVzLCBsYXN0UXVlcnkgfTtcbiAgICAgICAgfSBlbHNlIGlmIChkaXIgPT09ICdwcmV2aW91cycpIHtcbiAgICAgICAgICByZXR1cm4geyBxdWVyaWVzOiBbbmV3UXVlcnksIC4uLm9sZFF1ZXJpZXNdLCBsYXN0UXVlcnk6IG5ld1F1ZXJ5IH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIHsgcXVlcmllczogWy4uLm9sZFF1ZXJpZXMsIG5ld1F1ZXJ5XSwgbGFzdFF1ZXJ5OiBuZXdRdWVyeSB9O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm1BcnJheVJlc3BvbnNlLFxuICAgIH0sXG4gICk7XG5cbiAgZWZmZWN0KCgpID0+IHtcbiAgICBsYXN0UmVzZXRUaW1lc3RhbXAoKTtcblxuICAgIGNvbnN0IGFyZ3MgPSBvcHRpb25zLmFyZ3MoaW5pdGlhbFBhZ2UoKSk7XG5cbiAgICB1bnRyYWNrZWQoKCkgPT4ge1xuICAgICAgc3RhY2suY2xlYXIoKTtcbiAgICAgIGN1cnJlbnRQYWdlQXJncy5zZXQoYXJncyk7XG4gICAgICBsb2FkZWRNaW5QYWdlLnNldChpbml0aWFsUGFnZSgpKTtcbiAgICAgIGxvYWRlZE1heFBhZ2Uuc2V0KGluaXRpYWxQYWdlKCkpO1xuICAgIH0pO1xuICB9KTtcblxuICBjb25zdCBwYWdpbmF0aW9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHJlcyA9IHN0YWNrLmxhc3RRdWVyeSgpPy5yZXNwb25zZSgpO1xuXG4gICAgaWYgKCFyZXMpIHJldHVybiBudWxsO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlTm9ybWFsaXplcihyZXMpO1xuICB9KTtcblxuICBjb25zdCBmZXRjaFByZXZpb3VzUGFnZSA9ICgpID0+IHtcbiAgICBjb25zdCBwYWdlID0gbG9hZGVkTWluUGFnZSgpIC0gMTtcblxuICAgIGlmIChwYWdlIDwgMSkge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IHBhZ2VkUXVlcnlQcmV2aW91c1BhZ2VDYWxsZWRCdXRBbHJlYWR5QXRGaXJzdFBhZ2UoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGN1cnJlbnRQYWdlQXJncy5zZXQob3B0aW9ucy5hcmdzKHBhZ2UpKTtcbiAgICBsb2FkZWRNaW5QYWdlLnNldChwYWdlKTtcbiAgICBwYWdlRGlyZWN0aW9uLnNldCgncHJldmlvdXMnKTtcbiAgfTtcblxuICBjb25zdCBmZXRjaE5leHRQYWdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHBhZ2UgPSBsb2FkZWRNYXhQYWdlKCkgKyAxO1xuICAgIGNvbnN0IGN1cnJlbnRQYWdpbmF0aW9uID0gcGFnaW5hdGlvbigpO1xuXG4gICAgaWYgKCFjdXJyZW50UGFnaW5hdGlvbikge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IHBhZ2VkUXVlcnlOZXh0UGFnZUNhbGxlZFdpdGhvdXRQcmV2aW91c1BhZ2UoKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwYWdlID4gY3VycmVudFBhZ2luYXRpb24udG90YWxQYWdlcykge1xuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XG4gICAgICAgIHRocm93IHBhZ2VkUXVlcnlQYWdlQmlnZ2VyVGhhblRvdGFsUGFnZXMocGFnZSwgY3VycmVudFBhZ2luYXRpb24udG90YWxQYWdlcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjdXJyZW50UGFnZUFyZ3Muc2V0KG9wdGlvbnMuYXJncyhwYWdlKSk7XG4gICAgbG9hZGVkTWF4UGFnZS5zZXQocGFnZSk7XG4gICAgcGFnZURpcmVjdGlvbi5zZXQoJ25leHQnKTtcbiAgfTtcblxuICBjb25zdCByZXNldCA9IChyZXNldE9wdGlvbnM/OiBQYWdlZFF1ZXJ5UmVzZXRPcHRpb25zKSA9PiB7XG4gICAgY29uc3QgcGFnZSA9IHJlc2V0T3B0aW9ucz8uaW5pdGlhbFBhZ2UgPz8gaW5pdGlhbFBhZ2UoKTtcblxuICAgIGluaXRpYWxQYWdlLnNldChwYWdlKTtcbiAgICBwYWdlRGlyZWN0aW9uLnNldCgnbmV4dCcpO1xuICAgIGxhc3RSZXNldFRpbWVzdGFtcC5zZXQoRGF0ZS5ub3coKSk7XG4gIH07XG5cbiAgY29uc3QgY2FuRmV0Y2hQcmV2aW91c1BhZ2UgPSBjb21wdXRlZCgoKSA9PiBsb2FkZWRNaW5QYWdlKCkgPiAxKTtcbiAgY29uc3QgY2FuRmV0Y2hOZXh0UGFnZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjdXJyZW50UGFnaW5hdGlvbiA9IHBhZ2luYXRpb24oKTtcblxuICAgIHJldHVybiBjdXJyZW50UGFnaW5hdGlvbiA/IGxvYWRlZE1heFBhZ2UoKSA8IGN1cnJlbnRQYWdpbmF0aW9uLnRvdGFsUGFnZXMgOiBmYWxzZTtcbiAgfSk7XG5cbiAgY29uc3QgaXRlbXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHN0YWNrXG4gICAgICAucmVzcG9uc2UoKVxuICAgICAgLm1hcCgocikgPT4gcmVzcG9uc2VOb3JtYWxpemVyKHIpLml0ZW1zKVxuICAgICAgLmZsYXQoKTtcbiAgfSk7XG5cbiAgY29uc3QgaXNGaXJzdExvYWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHN0YWNrLnF1ZXJpZXMoKS5sZW5ndGggPT09IDEgJiYgISFzdGFjay5sYXN0UXVlcnkoKT8ubG9hZGluZygpO1xuICB9KTtcblxuICBjb25zdCBleGVjdXRlID0gKG9wdGlvbnM/OiB7IHdoZXJlPzogKGl0ZW1zOiBSZXNwb25zZVR5cGU8VEFyZ3M+KSA9PiBib29sZWFuOyBza2lwQ2FjaGU/OiBib29sZWFuIH0pID0+IHtcbiAgICBpZiAob3B0aW9ucz8ud2hlcmUpIHtcbiAgICAgIGNvbnN0IHF1ZXJpZXNUb0V4ZWN1dGU6IFF1ZXJ5PFRBcmdzPltdID0gW107XG5cbiAgICAgIGZvciAoY29uc3QgW2luZGV4LCBxdWVyeV0gb2Ygc3RhY2sucXVlcmllcygpLmVudHJpZXMoKSkge1xuICAgICAgICAvLyBUT0RPOiBVc2UgdGhlIHdoZXJlIGNvbmRpdGlvbiBoZXJlLlxuICAgICAgICBpZiAocXVlcnkucmVzcG9uc2UoKSkge1xuICAgICAgICAgIHF1ZXJpZXNUb0V4ZWN1dGUucHVzaChxdWVyeSk7XG5cbiAgICAgICAgICBpZiAoaW5kZXggIT09IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHByZXZRdWVyeSA9IHN0YWNrLnF1ZXJpZXMoKVtpbmRleCAtIDFdO1xuXG4gICAgICAgICAgICBpZiAocHJldlF1ZXJ5KSB7XG4gICAgICAgICAgICAgIHF1ZXJpZXNUb0V4ZWN1dGUucHVzaChwcmV2UXVlcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpbmRleCAhPT0gc3RhY2sucXVlcmllcygpLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRRdWVyeSA9IHN0YWNrLnF1ZXJpZXMoKVtpbmRleCArIDFdO1xuXG4gICAgICAgICAgICBpZiAobmV4dFF1ZXJ5KSB7XG4gICAgICAgICAgICAgIHF1ZXJpZXNUb0V4ZWN1dGUucHVzaChuZXh0UXVlcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IHF1ZXJ5IG9mIHF1ZXJpZXNUb0V4ZWN1dGUpIHtcbiAgICAgICAgcXVlcnkuZXhlY3V0ZSh7IG9wdGlvbnM6IHsgc2tpcENhY2hlOiBvcHRpb25zLnNraXBDYWNoZSB9IH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzdGFjay5leGVjdXRlKHsgc2tpcENhY2hlOiBvcHRpb25zPy5za2lwQ2FjaGUgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHBhZ2VkUXVlcnkgPSB7XG4gICAgcGFnaW5hdGlvbixcbiAgICBmZXRjaFByZXZpb3VzUGFnZSxcbiAgICBmZXRjaE5leHRQYWdlLFxuICAgIGNhbkZldGNoUHJldmlvdXNQYWdlLFxuICAgIGNhbkZldGNoTmV4dFBhZ2UsXG4gICAgaXRlbXMsXG4gICAgZGlyZWN0aW9uOiBwYWdlRGlyZWN0aW9uLmFzUmVhZG9ubHkoKSxcbiAgICBsb2FkaW5nOiBzdGFjay5sb2FkaW5nLFxuICAgIGVycm9yOiBzdGFjay5lcnJvcixcbiAgICBsYXN0UXVlcnk6IHN0YWNrLmxhc3RRdWVyeSxcbiAgICBpc0ZpcnN0TG9hZCxcbiAgICBxdWVyaWVzOiBzdGFjay5xdWVyaWVzKCksXG4gICAgcmVzZXQsXG4gICAgZXhlY3V0ZSxcbiAgfTtcblxuICByZXR1cm4gcGFnZWRRdWVyeTtcbn07XG4iXX0=
@@ -58,4 +58,13 @@ export const uncacheableRequestHasCacheKeyParam = (key) => {
58
58
  export const uncacheableRequestHasSkipCacheParam = () => {
59
59
  return new RuntimeError(301 /* RuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_SKIP_CACHE_PARAM */, `This request is uncacheable, but skipCache is set to true. Please remove it.`);
60
60
  };
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFpQzdDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sSUFBSSxZQUFZLDZEQUVyQixzQkFBc0IsSUFBSSw4QkFBOEIsQ0FDekQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLEdBQUcsRUFBRTtJQUNoRSxPQUFPLElBQUksWUFBWSxtRkFFckIsMEVBQTBFLENBQzNFLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtJQUM1RSxPQUFPLElBQUksWUFBWSwwRUFFckIsY0FBYyxNQUFNLCtGQUErRixDQUNwSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsQ0FBQyxNQUFtQixFQUFFLEVBQUU7SUFDaEYsT0FBTyxJQUFJLFlBQVksK0VBRXJCLGNBQWMsTUFBTSxtR0FBbUcsQ0FDeEgsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsRUFBRTtJQUNuRCxPQUFPLElBQUksWUFBWSxvRUFFckIsOEZBQThGO1FBQzVGLGtHQUFrRyxDQUNyRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxFQUFFO0lBQ3BELE9BQU8sSUFBSSxZQUFZLG9FQUVyQiwwREFBMEQsQ0FDM0QsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLEdBQUcsRUFBRTtJQUN4RCxPQUFPLElBQUksWUFBWSx3RUFFckIsZ0hBQWdILENBQ2pILENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxHQUFHLEVBQUU7SUFDekQsT0FBTyxJQUFJLFlBQVkseUVBRXJCLGlIQUFpSCxDQUNsSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsR0FBRyxFQUFFO0lBQzNDLE9BQU8sSUFBSSxZQUFZLHlEQUVyQiw0RkFBNEYsQ0FDN0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLEdBQUcsRUFBRTtJQUNwRCxPQUFPLElBQUksWUFBWSxvRUFFckIscUdBQXFHLENBQ3RHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxHQUFHLEVBQUU7SUFDbEQsT0FBTyxJQUFJLFlBQVksaUVBRXJCLG1HQUFtRyxDQUNwRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsR0FBRyxFQUFFO0lBQ2hELE9BQU8sSUFBSSxZQUFZLCtEQUVyQixpR0FBaUcsQ0FDbEcsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDJDQUEyQyxHQUFHLENBQUMsV0FBbUIsRUFBRSxFQUFFO0lBQ2pGLE9BQU8sSUFBSSxZQUFZLDhFQUVyQix1RkFBdUYsV0FBVyxJQUFJLENBQ3ZHLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwREFBMEQsR0FBRyxHQUFHLEVBQUU7SUFDN0UsT0FBTyxJQUFJLFlBQVksK0ZBRXJCLDZGQUE2RixDQUM5RixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMkRBQTJELEdBQUcsR0FBRyxFQUFFO0lBQzlFLE9BQU8sSUFBSSxZQUFZLGdHQUVyQiw2RkFBNkYsQ0FDOUYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUU7SUFDMUQsT0FBTyxJQUFJLFlBQVksNERBRXJCLDRDQUE0QyxLQUFLLEVBQUUsQ0FDcEQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLENBQUMsU0FBa0IsRUFBRSxFQUFFO0lBQ3JFLE9BQU8sSUFBSSxZQUFZLG1FQUVyQiw0Q0FBNEMsU0FBUyxFQUFFLENBQ3hELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQ0FBa0MsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO0lBQ2hFLE9BQU8sSUFBSSxZQUFZLHFFQUVyQiw4REFBOEQsR0FBRyxxQkFBcUIsQ0FDdkYsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLEdBQUcsRUFBRTtJQUN0RCxPQUFPLElBQUksWUFBWSxzRUFFckIsOEVBQThFLENBQy9FLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cblxuaW1wb3J0IHsgUnVudGltZUVycm9yIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBRdWVyeU1ldGhvZCB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBRdWVyeUZlYXR1cmVUeXBlIH0gZnJvbSAnLi9xdWVyeS1mZWF0dXJlcyc7XG5cbmV4cG9ydCBjb25zdCBlbnVtIFJ1bnRpbWVFcnJvckNvZGUge1xuICAvLyBRdWVyeVxuICBRVUVSWV9GRUFUVVJFX1VTRURfTVVMVElQTEVfVElNRVMgPSAwLFxuXG4gIC8vIFF1ZXJ5IGZlYXR1cmVzXG4gIFdJVEhfQVJHU19RVUVSWV9GRUFUVVJFX01JU1NJTkdfQlVUX1JPVVRFX0lTX0ZVTkNUSU9OID0gMTAwLFxuICBXSVRIX1BPTExJTkdfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCA9IDEwMSxcbiAgV0lUSF9BVVRPX1JFRlJFU0hfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCA9IDEwMixcbiAgV0lUSF9BVVRPX1JFRlJFU0hfVVNFRF9JTl9NQU5VQUxfUVVFUlkgPSAxMDMsXG5cbiAgLy8gQXV0aCBwcm92aWRlclxuICBDT09LSUVfTE9HSU5fVFJJRURfQlVUX0NPT0tJRV9ESVNBQkxFRCA9IDIwMCxcbiAgRU5BQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHID0gMjAxLFxuICBESVNBQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHID0gMjAyLFxuICBMT0dJTl9DQUxMRURfV0lUSE9VVF9DT05GSUcgPSAyMDMsXG4gIExPR0lOX1dJVEhfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA0LFxuICBSRUZSRVNIX1RPS0VOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyA9IDIwNSxcbiAgU0VMRUNUX1JPTEVfQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA2LFxuICBERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9PQkpFQ1QgPSAyMDcsXG4gIERFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfQUNDRVNTX1RPS0VOID0gMjA4LFxuICBERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX1JFRlJFU0hfVE9LRU4gPSAyMDksXG4gIFVOQUJMRV9UT19ERUNSWVBUX0JFQVJFUl9UT0tFTiA9IDIxMCxcbiAgQkVBUkVSX0VYUElSRVNfSU5fUFJPUEVSVFlfTk9UX05VTUJFUiA9IDIxMSxcblxuICAvLyBRdWVyeSBSZXBvc2l0b3J5XG4gIFVOQ0FDSEVBQkxFX1JFUVVFU1RfSEFTX0NBQ0hFX0tFWV9QQVJBTSA9IDMwMCxcbiAgVU5DQUNIRUFCTEVfUkVRVUVTVF9IQVNfU0tJUF9DQUNIRV9QQVJBTSA9IDMwMSxcbn1cblxuZXhwb3J0IGNvbnN0IHF1ZXJ5RmVhdHVyZVVzZWRNdWx0aXBsZVRpbWVzID0gKHR5cGU6IFF1ZXJ5RmVhdHVyZVR5cGUpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5RVUVSWV9GRUFUVVJFX1VTRURfTVVMVElQTEVfVElNRVMsXG4gICAgYFRoZSBxdWVyeSBmZWF0dXJlIFwiJHt0eXBlfSgpXCIgd2FzIHVzZWQgbXVsdGlwbGUgdGltZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXJnc1F1ZXJ5RmVhdHVyZU1pc3NpbmdCdXRSb3V0ZUlzRnVuY3Rpb24gPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuV0lUSF9BUkdTX1FVRVJZX0ZFQVRVUkVfTUlTU0lOR19CVVRfUk9VVEVfSVNfRlVOQ1RJT04sXG4gICAgYFRoaXMgcXVlcmllcyByb3V0ZSBpcyBhIGZ1bmN0aW9uLCBidXQgYSBcIndpdGhBcmdzKClcIiBmZWF0dXJlIGlzIG1pc3NpbmcuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoUG9sbGluZ1VzZWRPblVuc3VwcG9ydGVkSHR0cE1ldGhvZCA9IChtZXRob2Q6IFF1ZXJ5TWV0aG9kKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuV0lUSF9QT0xMSU5HX1VTRURfT05fVU5TVVBQT1JURURfSFRUUF9NRVRIT0QsXG4gICAgYFRoaXMgaXMgYSBcIiR7bWV0aG9kfVwiIHJlcXVlc3QsIFwid2l0aFBvbGxpbmcoKVwiIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHRVQsIEhFQUQsIE9QVElPTlMgcmVxdWVzdHMgYW5kIEdRTCBxdWVyaWVzLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3Qgd2l0aEF1dG9SZWZyZXNoVXNlZE9uVW5zdXBwb3J0ZWRIdHRwTWV0aG9kID0gKG1ldGhvZDogUXVlcnlNZXRob2QpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FVVE9fUkVGUkVTSF9VU0VEX09OX1VOU1VQUE9SVEVEX0hUVFBfTUVUSE9ELFxuICAgIGBUaGlzIGlzIGEgXCIke21ldGhvZH1cIiByZXF1ZXN0LCBcIndpdGhBdXRvUmVmcmVzaCgpXCIgaXMgb25seSBzdXBwb3J0ZWQgZm9yIEdFVCwgSEVBRCwgT1BUSU9OUyByZXF1ZXN0cyBhbmQgR1FMIHF1ZXJpZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b1JlZnJlc2hVc2VkSW5NYW51YWxRdWVyeSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FVVE9fUkVGUkVTSF9VU0VEX0lOX01BTlVBTF9RVUVSWSxcbiAgICBgXCJ3aXRoQXV0b1JlZnJlc2goKVwiIGhhcyBiZWVuIHVzZWQgaW5zaWRlIGEgcXVlcnkgdGhhdCBoYXMgXCJvbmx5TWFudWFsRXhlY3V0aW9uXCIgc2V0IHRvIHRydWUuYCArXG4gICAgICBgIElmIHRoaXMgaXMgaW50ZW50aW9uYWwsIHNldCBcImlnbm9yZU9ubHlNYW51YWxFeGVjdXRpb25cIiB0byB0cnVlIGluc2lkZSB0aGUgYXV0byByZWZyZXNoIGNvbmZpZy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvb2tpZUxvZ2luVHJpZWRCdXRDb29raWVEaXNhYmxlZCA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5DT09LSUVfTE9HSU5fVFJJRURfQlVUX0NPT0tJRV9ESVNBQkxFRCxcbiAgICBgQ29va2llIGxvZ2luIGhhcyBiZWVuIHRyaWVkLCBidXQgdGhlIGNvb2tpZSBpcyBkaXNhYmxlZC5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGVuYWJsZUNvb2tpZUNhbGxlZFdpdGhvdXRDb29raWVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuRU5BQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHLFxuICAgIGBlbmFibGVDb29raWUoKSBoYXMgYmVlbiBjYWxsZWQgYnV0IHRoZXJlIGlzIG5vIGNvb2tpZSBjb25maWcuIFBsZWFzZSBzZXQgaXQgZHVyaW5nIHRoZSBhdXRoIHByb3ZpZGVyIGNyZWF0aW9uLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZGlzYWJsZUNvb2tpZUNhbGxlZFdpdGhvdXRDb29raWVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuRElTQUJMRV9DT09LSUVfQ0FMTEVEX1dJVEhPVVRfQ09PS0lFX0NPTkZJRyxcbiAgICBgZGlzYWJsZUNvb2tpZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlcmUgaXMgbm8gY29va2llIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBsb2dpbkNhbGxlZFdpdGhvdXRDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuTE9HSU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGBsb2dpbigpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ2luV2l0aFRva2VuQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5MT0dJTl9XSVRIX1RPS0VOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyxcbiAgICBgbG9naW5XaXRoVG9rZW4oKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZWZyZXNoVG9rZW5DYWxsZWRXaXRob3V0Q29uZmlnID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlJFRlJFU0hfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGByZWZyZXNoVG9rZW4oKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSb2xlQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5TRUxFQ1RfUk9MRV9DQUxMRURfV0lUSE9VVF9DT05GSUcsXG4gICAgYHNlbGVjdFJvbGUoKSBoYXMgYmVlbiBjYWxsZWQgd2l0aG91dCBhIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90T2JqZWN0ID0gKGN1cnJlbnRUeXBlOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9PQkpFQ1QsXG4gICAgYFRoZSBkZWZhdWx0IHJlc3BvbnNlIHRyYW5zZm9ybWVyIGV4cGVjdHMgdGhlIHJlc3BvbnNlIHRvIGJlIGFuIG9iamVjdCwgYnV0IGl0IGlzIGEgXCIke2N1cnJlbnRUeXBlfVwiLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFJlc3BvbnNlVHJhbnNmb3JtZXJSZXNwb25zZU5vdENvbnRhaW5pbmdBY2Nlc3NUb2tlbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX0FDQ0VTU19UT0tFTixcbiAgICBgVGhlIGRlZmF1bHQgcmVzcG9uc2UgdHJhbnNmb3JtZXIgZXhwZWN0cyB0aGUgcmVzcG9uc2UgdG8gY29udGFpbiBhbiBcImFjY2Vzc1Rva2VuXCIgcHJvcGVydHkuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90Q29udGFpbmluZ1JlZnJlc2hUb2tlbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ERUZBVUxUX1JFU1BPTlNFX1RSQU5TRk9STUVSX1JFU1BPTlNFX05PVF9DT05UQUlOSU5HX1JFRlJFU0hfVE9LRU4sXG4gICAgYFRoZSBkZWZhdWx0IHJlc3BvbnNlIHRyYW5zZm9ybWVyIGV4cGVjdHMgdGhlIHJlc3BvbnNlIHRvIGNvbnRhaW4gYSBcInJlZnJlc2hUb2tlblwiIHByb3BlcnR5LmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5hYmxlVG9EZWNyeXB0QmVhcmVyVG9rZW4gPSAodG9rZW46IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlVOQUJMRV9UT19ERUNSWVBUX0JFQVJFUl9UT0tFTixcbiAgICBgVGhlIGJlYXJlciB0b2tlbiBjb3VsZCBub3QgYmUgZGVjcnlwdGVkOiAke3Rva2VufWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgYmVhcmVyRXhwaXJlc0luUHJvcGVydHlOb3ROdW1iZXIgPSAoZXhwaXJlc0luOiB1bmtub3duKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuQkVBUkVSX0VYUElSRVNfSU5fUFJPUEVSVFlfTk9UX05VTUJFUixcbiAgICBgVGhlIGV4cGlyZXMgaW4gcHJvcGVydHkgaXMgbm90IGEgbnVtYmVyOiAke2V4cGlyZXNJbn1gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVuY2FjaGVhYmxlUmVxdWVzdEhhc0NhY2hlS2V5UGFyYW0gPSAoa2V5OiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5VTkNBQ0hFQUJMRV9SRVFVRVNUX0hBU19DQUNIRV9LRVlfUEFSQU0sXG4gICAgYFRoaXMgcmVxdWVzdCBpcyB1bmNhY2hlYWJsZSwgYnV0IGEgY2FjaGUga2V5IHdhcyBwcm92aWRlZDogJHtrZXl9LiBQbGVhc2UgcmVtb3ZlIGl0LmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5jYWNoZWFibGVSZXF1ZXN0SGFzU2tpcENhY2hlUGFyYW0gPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuVU5DQUNIRUFCTEVfUkVRVUVTVF9IQVNfU0tJUF9DQUNIRV9QQVJBTSxcbiAgICBgVGhpcyByZXF1ZXN0IGlzIHVuY2FjaGVhYmxlLCBidXQgc2tpcENhY2hlIGlzIHNldCB0byB0cnVlLiBQbGVhc2UgcmVtb3ZlIGl0LmAsXG4gICk7XG59O1xuIl19
61
+ export const pagedQueryPageBiggerThanTotalPages = (page, totalPages) => {
62
+ return new RuntimeError(400 /* RuntimeErrorCode.PAGED_QUERY_PAGE_BIGGER_THAN_TOTAL_PAGES */, `The page "${page}" is bigger than the total pages "${totalPages}".`);
63
+ };
64
+ export const pagedQueryNextPageCalledWithoutPreviousPage = () => {
65
+ return new RuntimeError(401 /* RuntimeErrorCode.PAGED_QUERY_NEXT_PAGE_CALLED_WITHOUT_PREVIOUS_PAGE */, `fetchNextPage() has been called but the current page is not yet loaded. Please call it after the previous page has been loaded.`);
66
+ };
67
+ export const pagedQueryPreviousPageCalledButAlreadyAtFirstPage = () => {
68
+ return new RuntimeError(402 /* RuntimeErrorCode.PAGED_QUERY_PREVIOUS_PAGE_CALLED_BUT_ALREADY_AT_FIRST_PAGE */, `fetchPreviousPage() has been called but the current page is already the first page.`);
69
+ };
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9xdWVyeS9zcmMvbGliL2V4cGVyaW1lbnRhbC9xdWVyeS1lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFzQzdDLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsSUFBc0IsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sSUFBSSxZQUFZLDZEQUVyQixzQkFBc0IsSUFBSSw4QkFBOEIsQ0FDekQsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLEdBQUcsRUFBRTtJQUNoRSxPQUFPLElBQUksWUFBWSxtRkFFckIsMEVBQTBFLENBQzNFLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxDQUFDLE1BQW1CLEVBQUUsRUFBRTtJQUM1RSxPQUFPLElBQUksWUFBWSwwRUFFckIsY0FBYyxNQUFNLCtGQUErRixDQUNwSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sMENBQTBDLEdBQUcsQ0FBQyxNQUFtQixFQUFFLEVBQUU7SUFDaEYsT0FBTyxJQUFJLFlBQVksK0VBRXJCLGNBQWMsTUFBTSxtR0FBbUcsQ0FDeEgsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsRUFBRTtJQUNuRCxPQUFPLElBQUksWUFBWSxvRUFFckIsOEZBQThGO1FBQzVGLGtHQUFrRyxDQUNyRyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsR0FBRyxFQUFFO0lBQ3BELE9BQU8sSUFBSSxZQUFZLG9FQUVyQiwwREFBMEQsQ0FDM0QsQ0FBQztBQUNKLENB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Ii8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAqL1xuXG5pbXBvcnQgeyBSdW50aW1lRXJyb3IgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7IFF1ZXJ5TWV0aG9kIH0gZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7IFF1ZXJ5RmVhdHVyZVR5cGUgfSBmcm9tICcuL3F1ZXJ5LWZlYXR1cmVzJztcblxuZXhwb3J0IGNvbnN0IGVudW0gUnVudGltZUVycm9yQ29kZSB7XG4gIC8vIFF1ZXJ5XG4gIFFVRVJZX0ZFQVRVUkVfVVNFRF9NVUxUSVBMRV9USU1FUyA9IDAsXG5cbiAgLy8gUXVlcnkgZmVhdHVyZXNcbiAgV0lUSF9BUkdTX1FVRVJZX0ZFQVRVUkVfTUlTU0lOR19CVVRfUk9VVEVfSVNfRlVOQ1RJT04gPSAxMDAsXG4gIFdJVEhfUE9MTElOR19VU0VEX09OX1VOU1VQUE9SVEVEX0hUVFBfTUVUSE9EID0gMTAxLFxuICBXSVRIX0FVVE9fUkVGUkVTSF9VU0VEX09OX1VOU1VQUE9SVEVEX0hUVFBfTUVUSE9EID0gMTAyLFxuICBXSVRIX0FVVE9fUkVGUkVTSF9VU0VEX0lOX01BTlVBTF9RVUVSWSA9IDEwMyxcblxuICAvLyBBdXRoIHByb3ZpZGVyXG4gIENPT0tJRV9MT0dJTl9UUklFRF9CVVRfQ09PS0lFX0RJU0FCTEVEID0gMjAwLFxuICBFTkFCTEVfQ09PS0lFX0NBTExFRF9XSVRIT1VUX0NPT0tJRV9DT05GSUcgPSAyMDEsXG4gIERJU0FCTEVfQ09PS0lFX0NBTExFRF9XSVRIT1VUX0NPT0tJRV9DT05GSUcgPSAyMDIsXG4gIExPR0lOX0NBTExFRF9XSVRIT1VUX0NPTkZJRyA9IDIwMyxcbiAgTE9HSU5fV0lUSF9UT0tFTl9DQUxMRURfV0lUSE9VVF9DT05GSUcgPSAyMDQsXG4gIFJFRlJFU0hfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHID0gMjA1LFxuICBTRUxFQ1RfUk9MRV9DQUxMRURfV0lUSE9VVF9DT05GSUcgPSAyMDYsXG4gIERFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX09CSkVDVCA9IDIwNyxcbiAgREVGQVVMVF9SRVNQT05TRV9UUkFOU0ZPUk1FUl9SRVNQT05TRV9OT1RfQ09OVEFJTklOR19BQ0NFU1NfVE9LRU4gPSAyMDgsXG4gIERFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfUkVGUkVTSF9UT0tFTiA9IDIwOSxcbiAgVU5BQkxFX1RPX0RFQ1JZUFRfQkVBUkVSX1RPS0VOID0gMjEwLFxuICBCRUFSRVJfRVhQSVJFU19JTl9QUk9QRVJUWV9OT1RfTlVNQkVSID0gMjExLFxuXG4gIC8vIFF1ZXJ5IFJlcG9zaXRvcnlcbiAgVU5DQUNIRUFCTEVfUkVRVUVTVF9IQVNfQ0FDSEVfS0VZX1BBUkFNID0gMzAwLFxuICBVTkNBQ0hFQUJMRV9SRVFVRVNUX0hBU19TS0lQX0NBQ0hFX1BBUkFNID0gMzAxLFxuXG4gIC8vIFBhZ2VkIFF1ZXJ5XG4gIFBBR0VEX1FVRVJZX1BBR0VfQklHR0VSX1RIQU5fVE9UQUxfUEFHRVMgPSA0MDAsXG4gIFBBR0VEX1FVRVJZX05FWFRfUEFHRV9DQUxMRURfV0lUSE9VVF9QUkVWSU9VU19QQUdFID0gNDAxLFxuICBQQUdFRF9RVUVSWV9QUkVWSU9VU19QQUdFX0NBTExFRF9CVVRfQUxSRUFEWV9BVF9GSVJTVF9QQUdFID0gNDAyLFxufVxuXG5leHBvcnQgY29uc3QgcXVlcnlGZWF0dXJlVXNlZE11bHRpcGxlVGltZXMgPSAodHlwZTogUXVlcnlGZWF0dXJlVHlwZSkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlFVRVJZX0ZFQVRVUkVfVVNFRF9NVUxUSVBMRV9USU1FUyxcbiAgICBgVGhlIHF1ZXJ5IGZlYXR1cmUgXCIke3R5cGV9KClcIiB3YXMgdXNlZCBtdWx0aXBsZSB0aW1lcy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhBcmdzUXVlcnlGZWF0dXJlTWlzc2luZ0J1dFJvdXRlSXNGdW5jdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX0FSR1NfUVVFUllfRkVBVFVSRV9NSVNTSU5HX0JVVF9ST1VURV9JU19GVU5DVElPTixcbiAgICBgVGhpcyBxdWVyaWVzIHJvdXRlIGlzIGEgZnVuY3Rpb24sIGJ1dCBhIFwid2l0aEFyZ3MoKVwiIGZlYXR1cmUgaXMgbWlzc2luZy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhQb2xsaW5nVXNlZE9uVW5zdXBwb3J0ZWRIdHRwTWV0aG9kID0gKG1ldGhvZDogUXVlcnlNZXRob2QpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5XSVRIX1BPTExJTkdfVVNFRF9PTl9VTlNVUFBPUlRFRF9IVFRQX01FVEhPRCxcbiAgICBgVGhpcyBpcyBhIFwiJHttZXRob2R9XCIgcmVxdWVzdCwgXCJ3aXRoUG9sbGluZygpXCIgaXMgb25seSBzdXBwb3J0ZWQgZm9yIEdFVCwgSEVBRCwgT1BUSU9OUyByZXF1ZXN0cyBhbmQgR1FMIHF1ZXJpZXMuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB3aXRoQXV0b1JlZnJlc2hVc2VkT25VbnN1cHBvcnRlZEh0dHBNZXRob2QgPSAobWV0aG9kOiBRdWVyeU1ldGhvZCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLldJVEhfQVVUT19SRUZSRVNIX1VTRURfT05fVU5TVVBQT1JURURfSFRUUF9NRVRIT0QsXG4gICAgYFRoaXMgaXMgYSBcIiR7bWV0aG9kfVwiIHJlcXVlc3QsIFwid2l0aEF1dG9SZWZyZXNoKClcIiBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgR0VULCBIRUFELCBPUFRJT05TIHJlcXVlc3RzIGFuZCBHUUwgcXVlcmllcy5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHdpdGhBdXRvUmVmcmVzaFVzZWRJbk1hbnVhbFF1ZXJ5ID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLldJVEhfQVVUT19SRUZSRVNIX1VTRURfSU5fTUFOVUFMX1FVRVJZLFxuICAgIGBcIndpdGhBdXRvUmVmcmVzaCgpXCIgaGFzIGJlZW4gdXNlZCBpbnNpZGUgYSBxdWVyeSB0aGF0IGhhcyBcIm9ubHlNYW51YWxFeGVjdXRpb25cIiBzZXQgdG8gdHJ1ZS5gICtcbiAgICAgIGAgSWYgdGhpcyBpcyBpbnRlbnRpb25hbCwgc2V0IFwiaWdub3JlT25seU1hbnVhbEV4ZWN1dGlvblwiIHRvIHRydWUgaW5zaWRlIHRoZSBhdXRvIHJlZnJlc2ggY29uZmlnLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY29va2llTG9naW5UcmllZEJ1dENvb2tpZURpc2FibGVkID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkNPT0tJRV9MT0dJTl9UUklFRF9CVVRfQ09PS0lFX0RJU0FCTEVELFxuICAgIGBDb29raWUgbG9naW4gaGFzIGJlZW4gdHJpZWQsIGJ1dCB0aGUgY29va2llIGlzIGRpc2FibGVkLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgZW5hYmxlQ29va2llQ2FsbGVkV2l0aG91dENvb2tpZUNvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5FTkFCTEVfQ09PS0lFX0NBTExFRF9XSVRIT1VUX0NPT0tJRV9DT05GSUcsXG4gICAgYGVuYWJsZUNvb2tpZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlcmUgaXMgbm8gY29va2llIGNvbmZpZy4gUGxlYXNlIHNldCBpdCBkdXJpbmcgdGhlIGF1dGggcHJvdmlkZXIgY3JlYXRpb24uYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkaXNhYmxlQ29va2llQ2FsbGVkV2l0aG91dENvb2tpZUNvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5ESVNBQkxFX0NPT0tJRV9DQUxMRURfV0lUSE9VVF9DT09LSUVfQ09ORklHLFxuICAgIGBkaXNhYmxlQ29va2llKCkgaGFzIGJlZW4gY2FsbGVkIGJ1dCB0aGVyZSBpcyBubyBjb29raWUgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGxvZ2luQ2FsbGVkV2l0aG91dENvbmZpZyA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5MT0dJTl9DQUxMRURfV0lUSE9VVF9DT05GSUcsXG4gICAgYGxvZ2luKCkgaGFzIGJlZW4gY2FsbGVkIHdpdGhvdXQgYSBjb25maWcuIFBsZWFzZSBzZXQgaXQgZHVyaW5nIHRoZSBhdXRoIHByb3ZpZGVyIGNyZWF0aW9uLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgbG9naW5XaXRoVG9rZW5DYWxsZWRXaXRob3V0Q29uZmlnID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkxPR0lOX1dJVEhfVE9LRU5fQ0FMTEVEX1dJVEhPVVRfQ09ORklHLFxuICAgIGBsb2dpbldpdGhUb2tlbigpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlZnJlc2hUb2tlbkNhbGxlZFdpdGhvdXRDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuUkVGUkVTSF9UT0tFTl9DQUxMRURfV0lUSE9VVF9DT05GSUcsXG4gICAgYHJlZnJlc2hUb2tlbigpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHNlbGVjdFJvbGVDYWxsZWRXaXRob3V0Q29uZmlnID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlNFTEVDVF9ST0xFX0NBTExFRF9XSVRIT1VUX0NPTkZJRyxcbiAgICBgc2VsZWN0Um9sZSgpIGhhcyBiZWVuIGNhbGxlZCB3aXRob3V0IGEgY29uZmlnLiBQbGVhc2Ugc2V0IGl0IGR1cmluZyB0aGUgYXV0aCBwcm92aWRlciBjcmVhdGlvbi5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyUmVzcG9uc2VOb3RPYmplY3QgPSAoY3VycmVudFR5cGU6IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkRFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX09CSkVDVCxcbiAgICBgVGhlIGRlZmF1bHQgcmVzcG9uc2UgdHJhbnNmb3JtZXIgZXhwZWN0cyB0aGUgcmVzcG9uc2UgdG8gYmUgYW4gb2JqZWN0LCBidXQgaXQgaXMgYSBcIiR7Y3VycmVudFR5cGV9XCIuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVzcG9uc2VUcmFuc2Zvcm1lclJlc3BvbnNlTm90Q29udGFpbmluZ0FjY2Vzc1Rva2VuID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkRFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfQUNDRVNTX1RPS0VOLFxuICAgIGBUaGUgZGVmYXVsdCByZXNwb25zZSB0cmFuc2Zvcm1lciBleHBlY3RzIHRoZSByZXNwb25zZSB0byBjb250YWluIGFuIFwiYWNjZXNzVG9rZW5cIiBwcm9wZXJ0eS5gLFxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRSZXNwb25zZVRyYW5zZm9ybWVyUmVzcG9uc2VOb3RDb250YWluaW5nUmVmcmVzaFRva2VuID0gKCkgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLkRFRkFVTFRfUkVTUE9OU0VfVFJBTlNGT1JNRVJfUkVTUE9OU0VfTk9UX0NPTlRBSU5JTkdfUkVGUkVTSF9UT0tFTixcbiAgICBgVGhlIGRlZmF1bHQgcmVzcG9uc2UgdHJhbnNmb3JtZXIgZXhwZWN0cyB0aGUgcmVzcG9uc2UgdG8gY29udGFpbiBhIFwicmVmcmVzaFRva2VuXCIgcHJvcGVydHkuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1bmFibGVUb0RlY3J5cHRCZWFyZXJUb2tlbiA9ICh0b2tlbjogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuVU5BQkxFX1RPX0RFQ1JZUFRfQkVBUkVSX1RPS0VOLFxuICAgIGBUaGUgYmVhcmVyIHRva2VuIGNvdWxkIG5vdCBiZSBkZWNyeXB0ZWQ6ICR7dG9rZW59YCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBiZWFyZXJFeHBpcmVzSW5Qcm9wZXJ0eU5vdE51bWJlciA9IChleHBpcmVzSW46IHVua25vd24pID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5CRUFSRVJfRVhQSVJFU19JTl9QUk9QRVJUWV9OT1RfTlVNQkVSLFxuICAgIGBUaGUgZXhwaXJlcyBpbiBwcm9wZXJ0eSBpcyBub3QgYSBudW1iZXI6ICR7ZXhwaXJlc0lufWAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdW5jYWNoZWFibGVSZXF1ZXN0SGFzQ2FjaGVLZXlQYXJhbSA9IChrZXk6IHN0cmluZykgPT4ge1xuICByZXR1cm4gbmV3IFJ1bnRpbWVFcnJvcihcbiAgICBSdW50aW1lRXJyb3JDb2RlLlVOQ0FDSEVBQkxFX1JFUVVFU1RfSEFTX0NBQ0hFX0tFWV9QQVJBTSxcbiAgICBgVGhpcyByZXF1ZXN0IGlzIHVuY2FjaGVhYmxlLCBidXQgYSBjYWNoZSBrZXkgd2FzIHByb3ZpZGVkOiAke2tleX0uIFBsZWFzZSByZW1vdmUgaXQuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1bmNhY2hlYWJsZVJlcXVlc3RIYXNTa2lwQ2FjaGVQYXJhbSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5VTkNBQ0hFQUJMRV9SRVFVRVNUX0hBU19TS0lQX0NBQ0hFX1BBUkFNLFxuICAgIGBUaGlzIHJlcXVlc3QgaXMgdW5jYWNoZWFibGUsIGJ1dCBza2lwQ2FjaGUgaXMgc2V0IHRvIHRydWUuIFBsZWFzZSByZW1vdmUgaXQuYCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYWdlZFF1ZXJ5UGFnZUJpZ2dlclRoYW5Ub3RhbFBhZ2VzID0gKHBhZ2U6IG51bWJlciwgdG90YWxQYWdlczogbnVtYmVyKSA9PiB7XG4gIHJldHVybiBuZXcgUnVudGltZUVycm9yKFxuICAgIFJ1bnRpbWVFcnJvckNvZGUuUEFHRURfUVVFUllfUEFHRV9CSUdHRVJfVEhBTl9UT1RBTF9QQUdFUyxcbiAgICBgVGhlIHBhZ2UgXCIke3BhZ2V9XCIgaXMgYmlnZ2VyIHRoYW4gdGhlIHRvdGFsIHBhZ2VzIFwiJHt0b3RhbFBhZ2VzfVwiLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFnZWRRdWVyeU5leHRQYWdlQ2FsbGVkV2l0aG91dFByZXZpb3VzUGFnZSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5QQUdFRF9RVUVSWV9ORVhUX1BBR0VfQ0FMTEVEX1dJVEhPVVRfUFJFVklPVVNfUEFHRSxcbiAgICBgZmV0Y2hOZXh0UGFnZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlIGN1cnJlbnQgcGFnZSBpcyBub3QgeWV0IGxvYWRlZC4gUGxlYXNlIGNhbGwgaXQgYWZ0ZXIgdGhlIHByZXZpb3VzIHBhZ2UgaGFzIGJlZW4gbG9hZGVkLmAsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFnZWRRdWVyeVByZXZpb3VzUGFnZUNhbGxlZEJ1dEFscmVhZHlBdEZpcnN0UGFnZSA9ICgpID0+IHtcbiAgcmV0dXJuIG5ldyBSdW50aW1lRXJyb3IoXG4gICAgUnVudGltZUVycm9yQ29kZS5QQUdFRF9RVUVSWV9QUkVWSU9VU19QQUdFX0NBTExFRF9CVVRfQUxSRUFEWV9BVF9GSVJTVF9QQUdFLFxuICAgIGBmZXRjaFByZXZpb3VzUGFnZSgpIGhhcyBiZWVuIGNhbGxlZCBidXQgdGhlIGN1cnJlbnQgcGFnZSBpcyBhbHJlYWR5IHRoZSBmaXJzdCBwYWdlLmAsXG4gICk7XG59O1xuIl19
@@ -3,12 +3,12 @@ export const createExecuteFn = (executeOptions) => {
3
3
  const executeState = setupQueryExecuteState();
4
4
  const reset = () => resetExecuteState({ executeState, executeOptions });
5
5
  const exec = (executeArgs) => {
6
- const { args = executeOptions.state.args() } = executeArgs ?? {};
6
+ const { args = executeOptions.state.args(), options } = executeArgs ?? {};
7
7
  cleanupPreviousExecute({ executeOptions, executeState });
8
- queryExecute({ executeOptions, executeState, args });
8
+ queryExecute({ executeOptions, executeState, args, options });
9
9
  };
10
10
  exec['reset'] = reset;
11
11
  exec['currentRepositoryKey'] = executeState.previousKey.asReadonly();
12
12
  return exec;
13
13
  };
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixpQkFBaUIsRUFFakIsc0JBQXNCLEdBQ3ZCLE1BQU0sdUJBQXVCLENBQUM7QUFzQi9CLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixjQUFnRCxFQUMzQixFQUFFO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFFOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUV4RSxNQUFNLElBQUksR0FBRyxDQUFDLFdBQXFDLEVBQUUsRUFBRTtRQUNyRCxNQUFNLEVBQUUsSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ2pFLHNCQUFzQixDQUFDLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDekQsWUFBWSxDQUFDLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7SUFFdEIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUVyRSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgQ3JlYXRlUXVlcnlDcmVhdG9yT3B0aW9ucywgSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLCBRdWVyeUNvbmZpZyB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyBRdWVyeURlcGVuZGVuY2llcyB9IGZyb20gJy4vcXVlcnktZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7XG4gIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUsXG4gIHF1ZXJ5RXhlY3V0ZSxcbiAgcmVzZXRFeGVjdXRlU3RhdGUsXG4gIFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnMsXG4gIHNldHVwUXVlcnlFeGVjdXRlU3RhdGUsXG59IGZyb20gJy4vcXVlcnktZXhlY3V0ZS11dGlscyc7XG5pbXBvcnQgeyBRdWVyeVN0YXRlIH0gZnJvbSAnLi9xdWVyeS1zdGF0ZSc7XG5cbmV4cG9ydCB0eXBlIENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBkZXBzOiBRdWVyeURlcGVuZGVuY2llcztcbiAgc3RhdGU6IFF1ZXJ5U3RhdGU8VEFyZ3M+O1xuICBjcmVhdG9yOiBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zPFRBcmdzPjtcbiAgY3JlYXRvckludGVybmFsczogSW50ZXJuYWxDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zO1xuICBxdWVyeUNvbmZpZzogUXVlcnlDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUV4ZWN1dGVBcmdzPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgYXJncz86IFJlcXVlc3RBcmdzPFRBcmdzPiB8IG51bGw7XG4gIG9wdGlvbnM/OiBSdW5RdWVyeUV4ZWN1dGVPcHRpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgUXVlcnlFeGVjdXRlPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgKGV4ZWN1dGVBcmdzPzogUXVlcnlFeGVjdXRlQXJnczxUQXJncz4pOiB2b2lkO1xuICByZXNldDogKCkgPT4gdm9pZDtcbiAgY3VycmVudFJlcG9zaXRvcnlLZXk6IFNpZ25hbDxzdHJpbmcgfCBmYWxzZT47XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRXhlY3V0ZUZuID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihcbiAgZXhlY3V0ZU9wdGlvbnM6IENyZWF0ZVF1ZXJ5RXhlY3V0ZU9wdGlvbnM8VEFyZ3M+LFxuKTogUXVlcnlFeGVjdXRlPFRBcmdzPiA9PiB7XG4gIGNvbnN0IGV4ZWN1dGVTdGF0ZSA9IHNldHVwUXVlcnlFeGVjdXRlU3RhdGUoKTtcblxuICBjb25zdCByZXNldCA9ICgpID0+IHJlc2V0RXhlY3V0ZVN0YXRlKHsgZXhlY3V0ZVN0YXRlLCBleGVjdXRlT3B0aW9ucyB9KTtcblxuICBjb25zdCBleGVjID0gKGV4ZWN1dGVBcmdzPzogUXVlcnlFeGVjdXRlQXJnczxUQXJncz4pID0+IHtcbiAgICBjb25zdCB7IGFyZ3MgPSBleGVjdXRlT3B0aW9ucy5zdGF0ZS5hcmdzKCkgfSA9IGV4ZWN1dGVBcmdzID8/IHt9O1xuICAgIGNsZWFudXBQcmV2aW91c0V4ZWN1dGUoeyBleGVjdXRlT3B0aW9ucywgZXhlY3V0ZVN0YXRlIH0pO1xuICAgIHF1ZXJ5RXhlY3V0ZSh7IGV4ZWN1dGVPcHRpb25zLCBleGVjdXRlU3RhdGUsIGFyZ3MgfSk7XG4gIH07XG5cbiAgZXhlY1sncmVzZXQnXSA9IHJlc2V0O1xuXG4gIGV4ZWNbJ2N1cnJlbnRSZXBvc2l0b3J5S2V5J10gPSBleGVjdXRlU3RhdGUucHJldmlvdXNLZXkuYXNSZWFkb25seSgpO1xuXG4gIHJldHVybiBleGVjO1xufTtcbiJdfQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZXhlY3V0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktZXhlY3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLFlBQVksRUFDWixpQkFBaUIsRUFFakIsc0JBQXNCLEdBQ3ZCLE1BQU0sdUJBQXVCLENBQUM7QUFzQi9CLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUM3QixjQUFnRCxFQUMzQixFQUFFO0lBQ3ZCLE1BQU0sWUFBWSxHQUFHLHNCQUFzQixFQUFFLENBQUM7SUFFOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUV4RSxNQUFNLElBQUksR0FBRyxDQUFDLFdBQXFDLEVBQUUsRUFBRTtRQUNyRCxNQUFNLEVBQUUsSUFBSSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxzQkFBc0IsQ0FBQyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELFlBQVksQ0FBQyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUV0QixJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBRXJFLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBRdWVyeUFyZ3MsIFJlcXVlc3RBcmdzIH0gZnJvbSAnLi9xdWVyeSc7XG5pbXBvcnQgeyBDcmVhdGVRdWVyeUNyZWF0b3JPcHRpb25zLCBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnMsIFF1ZXJ5Q29uZmlnIH0gZnJvbSAnLi9xdWVyeS1jcmVhdG9yJztcbmltcG9ydCB7IFF1ZXJ5RGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9xdWVyeS1kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHtcbiAgY2xlYW51cFByZXZpb3VzRXhlY3V0ZSxcbiAgcXVlcnlFeGVjdXRlLFxuICByZXNldEV4ZWN1dGVTdGF0ZSxcbiAgUnVuUXVlcnlFeGVjdXRlT3B0aW9ucyxcbiAgc2V0dXBRdWVyeUV4ZWN1dGVTdGF0ZSxcbn0gZnJvbSAnLi9xdWVyeS1leGVjdXRlLXV0aWxzJztcbmltcG9ydCB7IFF1ZXJ5U3RhdGUgfSBmcm9tICcuL3F1ZXJ5LXN0YXRlJztcblxuZXhwb3J0IHR5cGUgQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIGRlcHM6IFF1ZXJ5RGVwZW5kZW5jaWVzO1xuICBzdGF0ZTogUXVlcnlTdGF0ZTxUQXJncz47XG4gIGNyZWF0b3I6IENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM8VEFyZ3M+O1xuICBjcmVhdG9ySW50ZXJuYWxzOiBJbnRlcm5hbENyZWF0ZVF1ZXJ5Q3JlYXRvck9wdGlvbnM7XG4gIHF1ZXJ5Q29uZmlnOiBRdWVyeUNvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5RXhlY3V0ZUFyZ3M8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICBhcmdzPzogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcbiAgb3B0aW9ucz86IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeUV4ZWN1dGU8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAoZXhlY3V0ZUFyZ3M/OiBRdWVyeUV4ZWN1dGVBcmdzPFRBcmdzPik6IHZvaWQ7XG4gIHJlc2V0OiAoKSA9PiB2b2lkO1xuICBjdXJyZW50UmVwb3NpdG9yeUtleTogU2lnbmFsPHN0cmluZyB8IGZhbHNlPjtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVFeGVjdXRlRm4gPSA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KFxuICBleGVjdXRlT3B0aW9uczogQ3JlYXRlUXVlcnlFeGVjdXRlT3B0aW9uczxUQXJncz4sXG4pOiBRdWVyeUV4ZWN1dGU8VEFyZ3M+ID0+IHtcbiAgY29uc3QgZXhlY3V0ZVN0YXRlID0gc2V0dXBRdWVyeUV4ZWN1dGVTdGF0ZSgpO1xuXG4gIGNvbnN0IHJlc2V0ID0gKCkgPT4gcmVzZXRFeGVjdXRlU3RhdGUoeyBleGVjdXRlU3RhdGUsIGV4ZWN1dGVPcHRpb25zIH0pO1xuXG4gIGNvbnN0IGV4ZWMgPSAoZXhlY3V0ZUFyZ3M/OiBRdWVyeUV4ZWN1dGVBcmdzPFRBcmdzPikgPT4ge1xuICAgIGNvbnN0IHsgYXJncyA9IGV4ZWN1dGVPcHRpb25zLnN0YXRlLmFyZ3MoKSwgb3B0aW9ucyB9ID0gZXhlY3V0ZUFyZ3MgPz8ge307XG4gICAgY2xlYW51cFByZXZpb3VzRXhlY3V0ZSh7IGV4ZWN1dGVPcHRpb25zLCBleGVjdXRlU3RhdGUgfSk7XG4gICAgcXVlcnlFeGVjdXRlKHsgZXhlY3V0ZU9wdGlvbnMsIGV4ZWN1dGVTdGF0ZSwgYXJncywgb3B0aW9ucyB9KTtcbiAgfTtcblxuICBleGVjWydyZXNldCddID0gcmVzZXQ7XG5cbiAgZXhlY1snY3VycmVudFJlcG9zaXRvcnlLZXknXSA9IGV4ZWN1dGVTdGF0ZS5wcmV2aW91c0tleS5hc1JlYWRvbmx5KCk7XG5cbiAgcmV0dXJuIGV4ZWM7XG59O1xuIl19
@@ -38,7 +38,7 @@ export const createQueryRepository = (config) => {
38
38
  if (cacheEntry) {
39
39
  bind(key, options.destroyRef, cacheEntry.request);
40
40
  if (runQueryOptions?.skipCache || cacheEntry.request.isStale()) {
41
- cacheEntry.request.execute();
41
+ cacheEntry.request.execute({ skipCache: runQueryOptions?.skipCache });
42
42
  }
43
43
  return { key, request: cacheEntry.request };
44
44
  }
@@ -94,4 +94,4 @@ export const createQueryRepository = (config) => {
94
94
  };
95
95
  return repository;
96
96
  };
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktcmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBK0MsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUloRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXdFekcsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUF5QixFQUFtQixFQUFFO0lBQ2xGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV0QyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztJQUUxRCxNQUFNLE9BQU8sR0FBRyxDQUEwQixPQUE2QyxFQUFFLEVBQUU7UUFDekYsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHO1lBQUUsTUFBTSxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFdBQVcsSUFBSSxlQUFlLEVBQUUsU0FBUztZQUFFLE1BQU0sbUNBQW1D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QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUYsTUFBTSxJQUFJLEdBQUcsQ0FBQyxHQUFhLEVBQUUsVUFBc0IsRUFBRSxPQUErQixFQUFFLEVBQUU7UUFDdEYsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFNUUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVsQyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxTQUFTLEdBQTRDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXZFLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBRTNDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNiLFNBQVM7Z0JBQ1QsT0FBTzthQUNSLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLFVBQVUsR0FBb0I7UUFDbEMsT0FBTztRQUNQLE1BQU07S0FDUCxDQUFDO0lBRUYsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERlc3Ryb3lSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYnVpbGRRdWVyeUNhY2hlS2V5LCBzaG91bGRDYWNoZVF1ZXJ5IH0gZnJvbSAnLi4vcXVlcnktY2xpZW50JztcbmltcG9ydCB7IGJ1aWxkUm91dGUgfSBmcm9tICcuLi9yZXF1ZXN0JztcbmltcG9ydCB7IENyZWF0ZUh0dHBSZXF1ZXN0Q2xpZW50T3B0aW9ucywgSHR0cFJlcXVlc3QsIGNyZWF0ZUh0dHBSZXF1ZXN0IH0gZnJvbSAnLi9odHRwLXJlcXVlc3QnO1xuaW1wb3J0IHsgUXVlcnlBcmdzLCBSZXF1ZXN0QXJncyB9IGZyb20gJy4vcXVlcnknO1xuaW1wb3J0IHsgUXVlcnlDbGllbnRDb25maWcgfSBmcm9tICcuL3F1ZXJ5LWNsaWVudC1jb25maWcnO1xuaW1wb3J0IHsgUXVlcnlNZXRob2QsIFJvdXRlVHlwZSB9IGZyb20gJy4vcXVlcnktY3JlYXRvcic7XG5pbXBvcnQgeyB1bmNhY2hlYWJsZVJlcXVlc3RIYXNDYWNoZUtleVBhcmFtLCB1bmNhY2hlYWJsZVJlcXVlc3RIYXNTa2lwQ2FjaGVQYXJhbSB9IGZyb20gJy4vcXVlcnktZXJyb3JzJztcbmltcG9ydCB7IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnMgfSBmcm9tICcuL3F1ZXJ5LWV4ZWN1dGUtdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBRdWVyeVJlcG9zaXRvcnlSZXF1ZXN0T3B0aW9uczxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4gPSB7XG4gIC8qKlxuICAgKiBUaGUgcm91dGUgb2YgdGhlIHJlcXVlc3QuXG4gICAqIEBleGFtcGxlICcvdXNlcnMnXG4gICAqIEBleGFtcGxlIChhcmdzKSA9PiBgL3VzZXJzLyR7YXJncy51c2VySWR9YFxuICAgKi9cbiAgcm91dGU6IFJvdXRlVHlwZTxUQXJncz47XG5cbiAgLyoqIFRoZSBIVFRQIG1ldGhvZCBvZiB0aGUgcmVxdWVzdCAqL1xuICBtZXRob2Q6IFF1ZXJ5TWV0aG9kO1xuXG4gIC8qKiBUaGUgZGF0YSBvZiB0aGUgcmVxdWVzdCAqL1xuICBhcmdzPzogUmVxdWVzdEFyZ3M8VEFyZ3M+IHwgbnVsbDtcblxuICAvKiogVGhlIGNsaWVudCBvcHRpb25zIG9mIHRoZSByZXF1ZXN0ICovXG4gIGNsaWVudE9wdGlvbnM/OiBDcmVhdGVIdHRwUmVxdWVzdENsaWVudE9wdGlvbnM7XG5cbiAgLyoqIElmIHNldCwgdGhpcyByZXF1ZXN0J3MgY2FjaGUga2V5IHdpbGwgYmUgcHJlZml4ZWQgd2l0aCB0aGlzIGtleSAqL1xuICBrZXk/OiBzdHJpbmc7XG5cbiAgLyoqIFRoZSBwcmV2aW91cyBjYWNoZSBrZXkgb2YgdGhlIHJlcXVlc3QgKi9cbiAgcHJldmlvdXNLZXk/OiBzdHJpbmcgfCBmYWxzZTtcblxuICAvKiogVGhlIGRlc3Ryb3kgcmVmIHRvIGJpbmQgdGhlIHJlcXVlc3QgdG8uIElmIHRoZSBkZXN0cm95IHJlZiBpcyBkZXN0cm95ZWQsIHRoZSByZXF1ZXN0IHdpbGwgYmUgZGVzdHJveWVkIGFzIHdlbGwuICovXG4gIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWY7XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gb24gaG93IHRvIHJ1biB0aGUgcXVlcnkgKi9cbiAgcnVuUXVlcnlPcHRpb25zPzogUnVuUXVlcnlFeGVjdXRlT3B0aW9ucztcbn07XG5cbmV4cG9ydCB0eXBlIFF1ZXJ5UmVwb3NpdG9yeUl0ZW08VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAvKiogVGhlIGtleSBvZiB0aGUgcmVxdWVzdC4gSWYgdGhlIGtleSBpcyBgZmFsc2VgLCB0aGUgcmVxdWVzdCBpcyBub3QgY2FjaGVkLCBvdGhlcndpc2UgaXQgaXMuICovXG4gIGtleTogUXVlcnlLZXlPck5vbmU7XG5cbiAgLyoqIFRoZSByZXF1ZXN0IG9iamVjdCAqL1xuICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxUQXJncz47XG59O1xuXG4vKipcbiAqIFRoZSBxdWVyeSByZXBvc2l0b3J5IGlzIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBhbGwgcmVxdWVzdHMgYW5kIHRoZWlyIGNvbnN1bWVycy5cbiAqIEl0IHdpbGwgY2FjaGUgcmVxdWVzdHMgaWYgdGhleSBjYW4gYmUgY2FjaGVkIGFuZCByZXVzZSB0aGVtIGlmIHRoZXkgYXJlIGFscmVhZHkgY2FjaGVkLlxuICogSXQgd2lsbCBhbHNvIGRlc3Ryb3kgcmVxdWVzdHMgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY29uc3VtZXJzIGxlZnQuXG4gKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5UmVwb3NpdG9yeSA9IHtcbiAgLyoqIENyZWF0ZXMgYSBuZXcgcmVxdWVzdC4gSWYgdGhlIHJlcXVlc3QgaXMgYWxyZWFkeSBjYWNoZWQsIGl0IHdpbGwgYmUgcmV1c2VkLiAqL1xuICByZXF1ZXN0OiA8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+KG9wdGlvbnM6IFF1ZXJ5UmVwb3NpdG9yeVJlcXVlc3RPcHRpb25zPFRBcmdzPikgPT4gUXVlcnlSZXBvc2l0b3J5SXRlbTxUQXJncz47XG5cbiAgLyoqIFJlbW92ZXMgYSBjb25zdW1lciBmcm9tIGEgcmVxdWVzdCBieSBpdHMga2V5LiBEZXN0cm95cyB0aGUgcmVxdWVzdCBpZiB0aGVyZSBhcmUgbm8gbW9yZSBjb25zdW1lcnMgbGVmdC4gKi9cbiAgdW5iaW5kOiAoa2V5OiBRdWVyeUtleU9yTm9uZSwgZGVzdHJveVJlZjogRGVzdHJveVJlZikgPT4gYm9vbGVhbjtcbn07XG5cbi8qKiBUaGUga2V5IG9mIGEgcXVlcnkgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5ID0gc3RyaW5nO1xuXG4vKiogQSBrZXkgdGhhdCB3aWxsIG5vdCBiZSBjYWNoZWQgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5Tm9DYWNoZSA9IGZhbHNlO1xuXG4vKiogQSBrZXkgdGhhdCBtYXkgb3IgbWF5IG5vdCBiZSBjYWNoZWQgKi9cbmV4cG9ydCB0eXBlIFF1ZXJ5S2V5T3JOb25lID0gUXVlcnlLZXkgfCBRdWVyeUtleU5vQ2FjaGU7XG5cbi8qKiBSdW5zIC51bmJpbmQoKSBpZiB0aGUgRGVzdHJveVJlZi5vbkRlc3Ryb3koKSBnZXRzIGNhbGxlZCAqL1xudHlwZSBEZXN0cm95Q2xlYW51cENhbGxiYWNrID0gKCkgPT4gdm9pZDtcblxuLyoqIEtlZXBzIHRyYWNrIG9mIGFsbCBwbGFjZXMgd2hlcmUgdGhlIHJlcXVlc3QgZ2V0cyB1c2VkLiBXaWxsIGJlIGNsZWFuZWQgdXAgYW5kIHJlbW92ZWQgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY29uc3VtZXJzLiAgKi9cbnR5cGUgRGVzdHJveUxpc3RlbmVyTWFwSXRlbSA9IHtcbiAgY29uc3VtZXJzOiBNYXA8RGVzdHJveVJlZiwgRGVzdHJveUNsZWFudXBDYWxsYmFjaz47XG4gIHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PFF1ZXJ5QXJncz47XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUXVlcnlSZXBvc2l0b3J5ID0gKGNvbmZpZzogUXVlcnlDbGllbnRDb25maWcpOiBRdWVyeVJlcG9zaXRvcnkgPT4ge1xuICBjb25zdCBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gIGNvbnN0IGNhY2hlID0gbmV3IE1hcDxRdWVyeUtleSwgRGVzdHJveUxpc3RlbmVyTWFwSXRlbT4oKTtcblxuICBjb25zdCByZXF1ZXN0ID0gPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBRdWVyeVJlcG9zaXRvcnlSZXF1ZXN0T3B0aW9uczxUQXJncz4pID0+IHtcbiAgICBjb25zdCB7IGFyZ3MsIGNsaWVudE9wdGlvbnMsIHJ1blF1ZXJ5T3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgICBjb25zdCBzaG91bGRDYWNoZSA9IHNob3VsZENhY2hlUXVlcnkob3B0aW9ucy5tZXRob2QpO1xuXG4gICAgaWYgKCFzaG91bGRDYWNoZSAmJiBvcHRpb25zLmtleSkgdGhyb3cgdW5jYWNoZWFibGVSZXF1ZXN0SGFzQ2FjaGVLZXlQYXJhbShvcHRpb25zLmtleSk7XG4gICAgaWYgKCFzaG91bGRDYWNoZSAmJiBydW5RdWVyeU9wdGlvbnM/LnNraXBDYWNoZSkgdGhyb3cgdW5jYWNoZWFibGVSZXF1ZXN0SGFzU2tpcENhY2hlUGFyYW0oKTtcblxuICAgIGNvbnN0IHJvdXRlID0gYnVpbGRSb3V0ZSh7XG4gICAgICBiYXNlOiBjb25maWcuYmFzZVVybCxcbiAgICAgIHJvdXRlOiBvcHRpb25zLnJvdXRlLFxuICAgICAgcGF0aFBhcmFtczogYXJncz8ucGF0aFBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1zOiBhcmdzPy5xdWVyeVBhcmFtcyxcbiAgICAgIHF1ZXJ5UGFyYW1Db25maWc6IGNvbmZpZy5xdWVyeVN0cmluZyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGtleSA9XG4gICAgICBzaG91bGRDYWNoZSAmJlxuICAgICAgYnVpbGRRdWVyeUNhY2hlS2V5KGAke29wdGlvbnMua2V5ID8gb3B0aW9ucy5rZXkgKyAnXycgOiAnJ30ke3JvdXRlfWAsIHtcbiAgICAgICAgYm9keTogYXJncz8uYm9keSxcbiAgICAgICAgcXVlcnlQYXJhbXM6IGFyZ3M/LnF1ZXJ5UGFyYW1zLFxuICAgICAgICBwYXRoUGFyYW1zOiBhcmdzPy5wYXRoUGFyYW1zLFxuXG4gICAgICAgIC8vIFRPRE86IHJlbWFpbmluZyBwcm9wc1xuICAgICAgICAvLyBoZWFkZXJzOiBhcmdzPy5oZWFkZXJzLFxuICAgICAgfSk7XG5cbiAgICBjb25zdCBwcmV2aW91c0tleSA9IG9wdGlvbnMucHJldmlvdXNLZXk7XG5cbiAgICBpZiAoa2V5ICE9PSBwcmV2aW91c0tleSAmJiBwcmV2aW91c0tleSkge1xuICAgICAgdW5iaW5kKHByZXZpb3VzS2V5LCBvcHRpb25zLmRlc3Ryb3lSZWYpO1xuICAgIH1cblxuICAgIGlmIChzaG91bGRDYWNoZSAmJiBrZXkpIHtcbiAgICAgIGNvbnN0IGNhY2hlRW50cnkgPSBjYWNoZS5nZXQoa2V5KTtcblxuICAgICAgaWYgKGNhY2hlRW50cnkpIHtcbiAgICAgICAgYmluZChrZXksIG9wdGlvbnMuZGVzdHJveVJlZiwgY2FjaGVFbnRyeS5yZXF1ZXN0KTtcblxuICAgICAgICBpZiAocnVuUXVlcnlPcHRpb25zPy5za2lwQ2FjaGUgfHwgY2FjaGVFbnRyeS5yZXF1ZXN0LmlzU3RhbGUoKSkge1xuICAgICAgICAgIGNhY2hlRW50cnkucmVxdWVzdC5leGVjdXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBrZXksIHJlcXVlc3Q6IGNhY2hlRW50cnkucmVxdWVzdCBhcyBIdHRwUmVxdWVzdDxUQXJncz4gfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlSHR0cFJlcXVlc3Q8VEFyZ3M+KHtcbiAgICAgIGZ1bGxQYXRoOiByb3V0ZSxcbiAgICAgIGFyZ3MsXG4gICAgICBtZXRob2Q6IG9wdGlvbnMubWV0aG9kLFxuICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgIGh0dHBDbGllbnQsXG4gICAgICB9LFxuICAgICAgY2xpZW50T3B0aW9ucyxcbiAgICAgIGNhY2hlQWRhcHRlcjogY29uZmlnLmNhY2hlQWRhcHRlcixcbiAgICAgIHJldHJ5Rm46IGNvbmZpZy5yZXRyeUZuLFxuICAgIH0pO1xuXG4gICAgcmVxdWVzdC5leGVjdXRlKCk7XG5cbiAgICBpZiAoc2hvdWxkQ2FjaGUgJiYga2V5KSB7XG4gICAgICBiaW5kKGtleSwgb3B0aW9ucy5kZXN0cm95UmVmLCByZXF1ZXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBrZXksIHJlcXVlc3QgfTtcbiAgfTtcblxuICBjb25zdCB1bmJpbmQgPSAoa2V5OiBRdWVyeUtleU9yTm9uZSwgZGVzdHJveVJlZjogRGVzdHJveVJlZikgPT4ge1xuICAgIGlmICgha2V5KSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBjYWNoZUVudHJ5ID0gY2FjaGUuZ2V0KGtleSk7XG5cbiAgICBpZiAoIWNhY2hlRW50cnkpIHJldHVybiBmYWxzZTtcblxuICAgIGNhY2hlRW50cnkuY29uc3VtZXJzLmRlbGV0ZShkZXN0cm95UmVmKTtcblxuICAgIGlmIChjYWNoZUVudHJ5LmNvbnN1bWVycy5zaXplID09PSAwKSB7XG4gICAgICBjYWNoZUVudHJ5LnJlcXVlc3QuZGVzdHJveSgpO1xuICAgICAgY2FjaGUuZGVsZXRlKGtleSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgYmluZCA9IChrZXk6IFF1ZXJ5S2V5LCBkZXN0cm95UmVmOiBEZXN0cm95UmVmLCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxRdWVyeUFyZ3M+KSA9PiB7XG4gICAgY29uc3QgZGVzdHJveUxpc3RlbmVyID0gZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gdW5iaW5kKGtleSwgZGVzdHJveVJlZikpO1xuXG4gICAgY29uc3QgY2FjaGVFbnRyeSA9IGNhY2hlLmdldChrZXkpO1xuXG4gICAgaWYgKGNhY2hlRW50cnkpIHtcbiAgICAgIGNhY2hlRW50cnkuY29uc3VtZXJzLnNldChkZXN0cm95UmVmLCBkZXN0cm95TGlzdGVuZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb25zdW1lcnM6IE1hcDxEZXN0cm95UmVmLCBEZXN0cm95Q2xlYW51cENhbGxiYWNrPiA9IG5ldyBNYXAoW10pO1xuXG4gICAgICBjb25zdW1lcnMuc2V0KGRlc3Ryb3lSZWYsIGRlc3Ryb3lMaXN0ZW5lcik7XG5cbiAgICAgIGNhY2hlLnNldChrZXksIHtcbiAgICAgICAgY29uc3VtZXJzLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlcG9zaXRvcnk6IFF1ZXJ5UmVwb3NpdG9yeSA9IHtcbiAgICByZXF1ZXN0LFxuICAgIHVuYmluZCxcbiAgfTtcblxuICByZXR1cm4gcmVwb3NpdG9yeTtcbn07XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVwb3NpdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcXVlcnkvc3JjL2xpYi9leHBlcmltZW50YWwvcXVlcnktcmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sRUFBK0MsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUloRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXdFekcsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxNQUF5QixFQUFtQixFQUFFO0lBQ2xGLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV0QyxNQUFNLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBb0MsQ0FBQztJQUUxRCxNQUFNLE9BQU8sR0FBRyxDQUEwQixPQUE2QyxFQUFFLEVBQUU7UUFDekYsTUFBTSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pELE1BQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxHQUFHO1lBQUUsTUFBTSxrQ0FBa0MsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkYsSUFBSSxDQUFDLFdBQVcsSUFBSSxlQUFlLEVBQUUsU0FBUztZQUFFLE1BQU0sbUNBQW1D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LE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBYSxFQUFFLFVBQXNCLEVBQUUsT0FBK0IsRUFBRSxFQUFFO1FBQ3RGLE1BQU0sZUFBZSxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRTVFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLFVBQVUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN4RCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sU0FBUyxHQUE0QyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUV2RSxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztZQUUzQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDYixTQUFTO2dCQUNULE9BQU87YUFDUixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsTUFBTSxVQUFVLEdBQW9CO1FBQ2xDLE9BQU87UUFDUCxNQUFNO0tBQ1AsQ0FBQztJQUVGLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGJ1aWxkUXVlcnlDYWNoZUtleSwgc2hvdWxkQ2FjaGVRdWVyeSB9IGZyb20gJy4uL3F1ZXJ5LWNsaWVudCc7XG5pbXBvcnQgeyBidWlsZFJvdXRlIH0gZnJvbSAnLi4vcmVxdWVzdCc7XG5pbXBvcnQgeyBDcmVhdGVIdHRwUmVxdWVzdENsaWVudE9wdGlvbnMsIEh0dHBSZXF1ZXN0LCBjcmVhdGVIdHRwUmVxdWVzdCB9IGZyb20gJy4vaHR0cC1yZXF1ZXN0JztcbmltcG9ydCB7IFF1ZXJ5QXJncywgUmVxdWVzdEFyZ3MgfSBmcm9tICcuL3F1ZXJ5JztcbmltcG9ydCB7IFF1ZXJ5Q2xpZW50Q29uZmlnIH0gZnJvbSAnLi9xdWVyeS1jbGllbnQtY29uZmlnJztcbmltcG9ydCB7IFF1ZXJ5TWV0aG9kLCBSb3V0ZVR5cGUgfSBmcm9tICcuL3F1ZXJ5LWNyZWF0b3InO1xuaW1wb3J0IHsgdW5jYWNoZWFibGVSZXF1ZXN0SGFzQ2FjaGVLZXlQYXJhbSwgdW5jYWNoZWFibGVSZXF1ZXN0SGFzU2tpcENhY2hlUGFyYW0gfSBmcm9tICcuL3F1ZXJ5LWVycm9ycyc7XG5pbXBvcnQgeyBSdW5RdWVyeUV4ZWN1dGVPcHRpb25zIH0gZnJvbSAnLi9xdWVyeS1leGVjdXRlLXV0aWxzJztcblxuZXhwb3J0IHR5cGUgUXVlcnlSZXBvc2l0b3J5UmVxdWVzdE9wdGlvbnM8VEFyZ3MgZXh0ZW5kcyBRdWVyeUFyZ3M+ID0ge1xuICAvKipcbiAgICogVGhlIHJvdXRlIG9mIHRoZSByZXF1ZXN0LlxuICAgKiBAZXhhbXBsZSAnL3VzZXJzJ1xuICAgKiBAZXhhbXBsZSAoYXJncykgPT4gYC91c2Vycy8ke2FyZ3MudXNlcklkfWBcbiAgICovXG4gIHJvdXRlOiBSb3V0ZVR5cGU8VEFyZ3M+O1xuXG4gIC8qKiBUaGUgSFRUUCBtZXRob2Qgb2YgdGhlIHJlcXVlc3QgKi9cbiAgbWV0aG9kOiBRdWVyeU1ldGhvZDtcblxuICAvKiogVGhlIGRhdGEgb2YgdGhlIHJlcXVlc3QgKi9cbiAgYXJncz86IFJlcXVlc3RBcmdzPFRBcmdzPiB8IG51bGw7XG5cbiAgLyoqIFRoZSBjbGllbnQgb3B0aW9ucyBvZiB0aGUgcmVxdWVzdCAqL1xuICBjbGllbnRPcHRpb25zPzogQ3JlYXRlSHR0cFJlcXVlc3RDbGllbnRPcHRpb25zO1xuXG4gIC8qKiBJZiBzZXQsIHRoaXMgcmVxdWVzdCdzIGNhY2hlIGtleSB3aWxsIGJlIHByZWZpeGVkIHdpdGggdGhpcyBrZXkgKi9cbiAga2V5Pzogc3RyaW5nO1xuXG4gIC8qKiBUaGUgcHJldmlvdXMgY2FjaGUga2V5IG9mIHRoZSByZXF1ZXN0ICovXG4gIHByZXZpb3VzS2V5Pzogc3RyaW5nIHwgZmFsc2U7XG5cbiAgLyoqIFRoZSBkZXN0cm95IHJlZiB0byBiaW5kIHRoZSByZXF1ZXN0IHRvLiBJZiB0aGUgZGVzdHJveSByZWYgaXMgZGVzdHJveWVkLCB0aGUgcmVxdWVzdCB3aWxsIGJlIGRlc3Ryb3llZCBhcyB3ZWxsLiAqL1xuICBkZXN0cm95UmVmOiBEZXN0cm95UmVmO1xuXG4gIC8qKiBDb25maWd1cmF0aW9uIG9uIGhvdyB0byBydW4gdGhlIHF1ZXJ5ICovXG4gIHJ1blF1ZXJ5T3B0aW9ucz86IFJ1blF1ZXJ5RXhlY3V0ZU9wdGlvbnM7XG59O1xuXG5leHBvcnQgdHlwZSBRdWVyeVJlcG9zaXRvcnlJdGVtPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPiA9IHtcbiAgLyoqIFRoZSBrZXkgb2YgdGhlIHJlcXVlc3QuIElmIHRoZSBrZXkgaXMgYGZhbHNlYCwgdGhlIHJlcXVlc3QgaXMgbm90IGNhY2hlZCwgb3RoZXJ3aXNlIGl0IGlzLiAqL1xuICBrZXk6IFF1ZXJ5S2V5T3JOb25lO1xuXG4gIC8qKiBUaGUgcmVxdWVzdCBvYmplY3QgKi9cbiAgcmVxdWVzdDogSHR0cFJlcXVlc3Q8VEFyZ3M+O1xufTtcblxuLyoqXG4gKiBUaGUgcXVlcnkgcmVwb3NpdG9yeSBpcyByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgYWxsIHJlcXVlc3RzIGFuZCB0aGVpciBjb25zdW1lcnMuXG4gKiBJdCB3aWxsIGNhY2hlIHJlcXVlc3RzIGlmIHRoZXkgY2FuIGJlIGNhY2hlZCBhbmQgcmV1c2UgdGhlbSBpZiB0aGV5IGFyZSBhbHJlYWR5IGNhY2hlZC5cbiAqIEl0IHdpbGwgYWxzbyBkZXN0cm95IHJlcXVlc3RzIGlmIHRoZXJlIGFyZSBubyBtb3JlIGNvbnN1bWVycyBsZWZ0LlxuICovXG5leHBvcnQgdHlwZSBRdWVyeVJlcG9zaXRvcnkgPSB7XG4gIC8qKiBDcmVhdGVzIGEgbmV3IHJlcXVlc3QuIElmIHRoZSByZXF1ZXN0IGlzIGFscmVhZHkgY2FjaGVkLCBpdCB3aWxsIGJlIHJldXNlZC4gKi9cbiAgcmVxdWVzdDogPFRBcmdzIGV4dGVuZHMgUXVlcnlBcmdzPihvcHRpb25zOiBRdWVyeVJlcG9zaXRvcnlSZXF1ZXN0T3B0aW9uczxUQXJncz4pID0+IFF1ZXJ5UmVwb3NpdG9yeUl0ZW08VEFyZ3M+O1xuXG4gIC8qKiBSZW1vdmVzIGEgY29uc3VtZXIgZnJvbSBhIHJlcXVlc3QgYnkgaXRzIGtleS4gRGVzdHJveXMgdGhlIHJlcXVlc3QgaWYgdGhlcmUgYXJlIG5vIG1vcmUgY29uc3VtZXJzIGxlZnQuICovXG4gIHVuYmluZDogKGtleTogUXVlcnlLZXlPck5vbmUsIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYpID0+IGJvb2xlYW47XG59O1xuXG4vKiogVGhlIGtleSBvZiBhIHF1ZXJ5ICovXG5leHBvcnQgdHlwZSBRdWVyeUtleSA9IHN0cmluZztcblxuLyoqIEEga2V5IHRoYXQgd2lsbCBub3QgYmUgY2FjaGVkICovXG5leHBvcnQgdHlwZSBRdWVyeUtleU5vQ2FjaGUgPSBmYWxzZTtcblxuLyoqIEEga2V5IHRoYXQgbWF5IG9yIG1heSBub3QgYmUgY2FjaGVkICovXG5leHBvcnQgdHlwZSBRdWVyeUtleU9yTm9uZSA9IFF1ZXJ5S2V5IHwgUXVlcnlLZXlOb0NhY2hlO1xuXG4vKiogUnVucyAudW5iaW5kKCkgaWYgdGhlIERlc3Ryb3lSZWYub25EZXN0cm95KCkgZ2V0cyBjYWxsZWQgKi9cbnR5cGUgRGVzdHJveUNsZWFudXBDYWxsYmFjayA9ICgpID0+IHZvaWQ7XG5cbi8qKiBLZWVwcyB0cmFjayBvZiBhbGwgcGxhY2VzIHdoZXJlIHRoZSByZXF1ZXN0IGdldHMgdXNlZC4gV2lsbCBiZSBjbGVhbmVkIHVwIGFuZCByZW1vdmVkIGlmIHRoZXJlIGFyZSBubyBtb3JlIGNvbnN1bWVycy4gICovXG50eXBlIERlc3Ryb3lMaXN0ZW5lck1hcEl0ZW0gPSB7XG4gIGNvbnN1bWVyczogTWFwPERlc3Ryb3lSZWYsIERlc3Ryb3lDbGVhbnVwQ2FsbGJhY2s+O1xuICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxRdWVyeUFyZ3M+O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVF1ZXJ5UmVwb3NpdG9yeSA9IChjb25maWc6IFF1ZXJ5Q2xpZW50Q29uZmlnKTogUXVlcnlSZXBvc2l0b3J5ID0+IHtcbiAgY29uc3QgaHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICBjb25zdCBjYWNoZSA9IG5ldyBNYXA8UXVlcnlLZXksIERlc3Ryb3lMaXN0ZW5lck1hcEl0ZW0+KCk7XG5cbiAgY29uc3QgcmVxdWVzdCA9IDxUQXJncyBleHRlbmRzIFF1ZXJ5QXJncz4ob3B0aW9uczogUXVlcnlSZXBvc2l0b3J5UmVxdWVzdE9wdGlvbnM8VEFyZ3M+KSA9PiB7XG4gICAgY29uc3QgeyBhcmdzLCBjbGllbnRPcHRpb25zLCBydW5RdWVyeU9wdGlvbnMgfSA9IG9wdGlvbnM7XG4gICAgY29uc3Qgc2hvdWxkQ2FjaGUgPSBzaG91bGRDYWNoZVF1ZXJ5KG9wdGlvbnMubWV0aG9kKTtcblxuICAgIGlmICghc2hvdWxkQ2FjaGUgJiYgb3B0aW9ucy5rZXkpIHRocm93IHVuY2FjaGVhYmxlUmVxdWVzdEhhc0NhY2hlS2V5UGFyYW0ob3B0aW9ucy5rZXkpO1xuICAgIGlmICghc2hvdWxkQ2FjaGUgJiYgcnVuUXVlcnlPcHRpb25zPy5za2lwQ2FjaGUpIHRocm93IHVuY2FjaGVhYmxlUmVxdWVzdEhhc1NraXBDYWNoZVBhcmFtKCk7XG5cbiAgICBjb25zdCByb3V0ZSA9IGJ1aWxkUm91dGUoe1xuICAgICAgYmFzZTogY29uZmlnLmJhc2VVcmwsXG4gICAgICByb3V0ZTogb3B0aW9ucy5yb3V0ZSxcbiAgICAgIHBhdGhQYXJhbXM6IGFyZ3M/LnBhdGhQYXJhbXMsXG4gICAgICBxdWVyeVBhcmFtczogYXJncz8ucXVlcnlQYXJhbXMsXG4gICAgICBxdWVyeVBhcmFtQ29uZmlnOiBjb25maWcucXVlcnlTdHJpbmcsXG4gICAgfSk7XG5cbiAgICBjb25zdCBrZXkgPVxuICAgICAgc2hvdWxkQ2FjaGUgJiZcbiAgICAgIGJ1aWxkUXVlcnlDYWNoZUtleShgJHtvcHRpb25zLmtleSA/IG9wdGlvbnMua2V5ICsgJ18nIDogJyd9JHtyb3V0ZX1gLCB7XG4gICAgICAgIGJvZHk6IGFyZ3M/LmJvZHksXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBhcmdzPy5xdWVyeVBhcmFtcyxcbiAgICAgICAgcGF0aFBhcmFtczogYXJncz8ucGF0aFBhcmFtcyxcblxuICAgICAgICAvLyBUT0RPOiByZW1haW5pbmcgcHJvcHNcbiAgICAgICAgLy8gaGVhZGVyczogYXJncz8uaGVhZGVycyxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgcHJldmlvdXNLZXkgPSBvcHRpb25zLnByZXZpb3VzS2V5O1xuXG4gICAgaWYgKGtleSAhPT0gcHJldmlvdXNLZXkgJiYgcHJldmlvdXNLZXkpIHtcbiAgICAgIHVuYmluZChwcmV2aW91c0tleSwgb3B0aW9ucy5kZXN0cm95UmVmKTtcbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkQ2FjaGUgJiYga2V5KSB7XG4gICAgICBjb25zdCBjYWNoZUVudHJ5ID0gY2FjaGUuZ2V0KGtleSk7XG5cbiAgICAgIGlmIChjYWNoZUVudHJ5KSB7XG4gICAgICAgIGJpbmQoa2V5LCBvcHRpb25zLmRlc3Ryb3lSZWYsIGNhY2hlRW50cnkucmVxdWVzdCk7XG5cbiAgICAgICAgaWYgKHJ1blF1ZXJ5T3B0aW9ucz8uc2tpcENhY2hlIHx8IGNhY2hlRW50cnkucmVxdWVzdC5pc1N0YWxlKCkpIHtcbiAgICAgICAgICBjYWNoZUVudHJ5LnJlcXVlc3QuZXhlY3V0ZSh7IHNraXBDYWNoZTogcnVuUXVlcnlPcHRpb25zPy5za2lwQ2FjaGUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4geyBrZXksIHJlcXVlc3Q6IGNhY2hlRW50cnkucmVxdWVzdCBhcyBIdHRwUmVxdWVzdDxUQXJncz4gfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0ID0gY3JlYXRlSHR0cFJlcXVlc3Q8VEFyZ3M+KHtcbiAgICAgIGZ1bGxQYXRoOiByb3V0ZSxcbiAgICAgIGFyZ3MsXG4gICAgICBtZXRob2Q6IG9wdGlvbnMubWV0aG9kLFxuICAgICAgZGVwZW5kZW5jaWVzOiB7XG4gICAgICAgIGh0dHBDbGllbnQsXG4gICAgICB9LFxuICAgICAgY2xpZW50T3B0aW9ucyxcbiAgICAgIGNhY2hlQWRhcHRlcjogY29uZmlnLmNhY2hlQWRhcHRlcixcbiAgICAgIHJldHJ5Rm46IGNvbmZpZy5yZXRyeUZuLFxuICAgIH0pO1xuXG4gICAgcmVxdWVzdC5leGVjdXRlKCk7XG5cbiAgICBpZiAoc2hvdWxkQ2FjaGUgJiYga2V5KSB7XG4gICAgICBiaW5kKGtleSwgb3B0aW9ucy5kZXN0cm95UmVmLCByZXF1ZXN0KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBrZXksIHJlcXVlc3QgfTtcbiAgfTtcblxuICBjb25zdCB1bmJpbmQgPSAoa2V5OiBRdWVyeUtleU9yTm9uZSwgZGVzdHJveVJlZjogRGVzdHJveVJlZikgPT4ge1xuICAgIGlmICgha2V5KSByZXR1cm4gZmFsc2U7XG5cbiAgICBjb25zdCBjYWNoZUVudHJ5ID0gY2FjaGUuZ2V0KGtleSk7XG5cbiAgICBpZiAoIWNhY2hlRW50cnkpIHJldHVybiBmYWxzZTtcblxuICAgIGNhY2hlRW50cnkuY29uc3VtZXJzLmRlbGV0ZShkZXN0cm95UmVmKTtcblxuICAgIGlmIChjYWNoZUVudHJ5LmNvbnN1bWVycy5zaXplID09PSAwKSB7XG4gICAgICBjYWNoZUVudHJ5LnJlcXVlc3QuZGVzdHJveSgpO1xuICAgICAgY2FjaGUuZGVsZXRlKGtleSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgYmluZCA9IChrZXk6IFF1ZXJ5S2V5LCBkZXN0cm95UmVmOiBEZXN0cm95UmVmLCByZXF1ZXN0OiBIdHRwUmVxdWVzdDxRdWVyeUFyZ3M+KSA9PiB7XG4gICAgY29uc3QgZGVzdHJveUxpc3RlbmVyID0gZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gdW5iaW5kKGtleSwgZGVzdHJveVJlZikpO1xuXG4gICAgY29uc3QgY2FjaGVFbnRyeSA9IGNhY2hlLmdldChrZXkpO1xuXG4gICAgaWYgKGNhY2hlRW50cnkpIHtcbiAgICAgIGNhY2hlRW50cnkuY29uc3VtZXJzLnNldChkZXN0cm95UmVmLCBkZXN0cm95TGlzdGVuZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb25zdW1lcnM6IE1hcDxEZXN0cm95UmVmLCBEZXN0cm95Q2xlYW51cENhbGxiYWNrPiA9IG5ldyBNYXAoW10pO1xuXG4gICAgICBjb25zdW1lcnMuc2V0KGRlc3Ryb3lSZWYsIGRlc3Ryb3lMaXN0ZW5lcik7XG5cbiAgICAgIGNhY2hlLnNldChrZXksIHtcbiAgICAgICAgY29uc3VtZXJzLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlcG9zaXRvcnk6IFF1ZXJ5UmVwb3NpdG9yeSA9IHtcbiAgICByZXF1ZXN0LFxuICAgIHVuYmluZCxcbiAgfTtcblxuICByZXR1cm4gcmVwb3NpdG9yeTtcbn07XG4iXX0=