@rosen-bridge/cardano-scanner 2.0.0 → 2.0.2
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 +14 -0
- package/dist/scanner/ogmios.js +3 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @rosen-bridge/cardano-scanner
|
|
2
2
|
|
|
3
|
+
## 2.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- @rosen-bridge/abstract-scanner@1.0.2
|
|
8
|
+
|
|
9
|
+
## 2.0.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Update dependencies
|
|
14
|
+
- @rosen-bridge/scanner-interfaces@0.2.2
|
|
15
|
+
- @rosen-bridge/abstract-scanner@1.0.1
|
|
16
|
+
|
|
3
17
|
## 2.0.0
|
|
4
18
|
|
|
5
19
|
### Major Changes
|
package/dist/scanner/ogmios.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createChainSynchronizationClient, } from '@cardano-ogmios/client';
|
|
2
|
+
import { createInteractionContext } from '@cardano-ogmios/client';
|
|
2
3
|
import { findIntersection, } from '@cardano-ogmios/client/dist/ChainSynchronization';
|
|
3
4
|
import { ExponentialBackoff, handleWhen, retry } from 'cockatiel';
|
|
4
5
|
import { BlockDbAction, WebSocketScanner, } from '@rosen-bridge/abstract-scanner';
|
|
@@ -169,4 +170,4 @@ class CardanoOgmiosScanner extends WebSocketScanner {
|
|
|
169
170
|
getConnectionStatus = () => this.connected;
|
|
170
171
|
}
|
|
171
172
|
export { CardanoOgmiosScanner };
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2dtaW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3NjYW5uZXIvb2dtaW9zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsZ0NBQWdDLEdBRWpDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUVMLGdCQUFnQixHQUNqQixNQUFNLGtEQUFrRCxDQUFDO0FBUzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR2xFLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdEIsa0JBQWtCLEVBQ2xCLHlCQUF5QixHQUMxQixNQUFNLGNBQWMsQ0FBQztBQWF0QixNQUFNLG9CQUFxQixTQUFRLGdCQUE2QjtJQUM5RCxNQUFNLENBQTZCO0lBQ25DLFNBQVMsQ0FBUTtJQUNqQixJQUFJLENBQVM7SUFDYixJQUFJLENBQVM7SUFDYixNQUFNLENBQVU7SUFDUixTQUFTLENBQVU7SUFDbkIsT0FBTyxDQUFVO0lBQ2pCLGtCQUFrQixDQUEyQjtJQUVyRCxZQUFZLE1BQTJCLEVBQUUsTUFBdUI7UUFDOUQsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFN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QUMsQ0FBQztRQUNqRSxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxJQUFJLEdBQUcsS0FBSyxJQUFtQixFQUFFO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILG1CQUFtQixHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7Q0FDNUM7QUFFRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUludGVyYWN0aW9uQ29udGV4dCxcbiAgY3JlYXRlQ2hhaW5TeW5jaHJvbml6YXRpb25DbGllbnQsXG4gIEludGVyYWN0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNhcmRhbm8tb2dtaW9zL2NsaWVudCc7XG5pbXBvcnQge1xuICBDaGFpblN5bmNocm9uaXphdGlvbkNsaWVudCxcbiAgZmluZEludGVyc2VjdGlvbixcbn0gZnJvbSAnQGNhcmRhbm8tb2dtaW9zL2NsaWVudC9kaXN0L0NoYWluU3luY2hyb25pemF0aW9uJztcbmltcG9ydCB7XG4gIEJsb2NrLFxuICBCbG9ja1ByYW9zLFxuICBQb2ludCxcbiAgUG9pbnRPck9yaWdpbixcbiAgVGlwT3JPcmlnaW4sXG4gIFRyYW5zYWN0aW9uLFxufSBmcm9tICdAY2FyZGFuby1vZ21pb3Mvc2NoZW1hJztcbmltcG9ydCB7IEV4cG9uZW50aWFsQmFja29mZiwgaGFuZGxlV2hlbiwgcmV0cnkgfSBmcm9tICdjb2NrYXRpZWwnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7XG4gIEJsb2NrRGJBY3Rpb24sXG4gIFdlYlNvY2tldFNjYW5uZXIsXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3Qtc2Nhbm5lcic7XG5cbmltcG9ydCB7XG4gIFJFQ09OTkVDVElPTl9JTklUSUFMX0RFTEFZLFxuICBSRUNPTk5FQ1RJT05fTUFYX0RFTEFZLFxuICBTTE9UX1NIRUxMWV9OVU1CRVIsXG4gIFJFQ09OTkVDVElPTl9NQVhfQVRURU1QVFMsXG59IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDYXJkYW5vT2dtaW9zQ29uZmlnLCBPZ21pb3NSZWNvbm5lY3Rpb25Db25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW50ZXJmYWNlIEJhY2t3YXJkUmVzcG9uc2Uge1xuICBwb2ludDogUG9pbnRPck9yaWdpbjtcbiAgdGlwOiBUaXBPck9yaWdpbjtcbn1cblxuaW50ZXJmYWNlIEZvcndhcmRSZXNwb25zZSB7XG4gIGJsb2NrOiBCbG9jaztcbiAgdGlwOiBUaXBPck9yaWdpbjtcbn1cblxuY2xhc3MgQ2FyZGFub09nbWlvc1NjYW5uZXIgZXh0ZW5kcyBXZWJTb2NrZXRTY2FubmVyPFRyYW5zYWN0aW9uPiB7XG4gIGNsaWVudDogQ2hhaW5TeW5jaHJvbml6YXRpb25DbGllbnQ7XG4gIGluaXRQb2ludDogUG9pbnQ7XG4gIGhvc3Q6IHN0cmluZztcbiAgcG9ydDogbnVtYmVyO1xuICB1c2VUbHM6IGJvb2xlYW47XG4gIHByaXZhdGUgY29ubmVjdGVkOiBib29sZWFuO1xuICBwcml2YXRlIHN0b3BwZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVjb25uZWN0aW9uQ29uZmlnOiBPZ21pb3NSZWNvbm5lY3Rpb25Db25maWc7XG5cbiAgY29uc3RydWN0b3IoY29uZmlnOiBDYXJkYW5vT2dtaW9zQ29uZmlnLCBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHN1cGVyKCdjYXJkYW5vJywgbG9nZ2VyLCBjb25maWcubWF4VHJ5QmxvY2ssIGNvbmZpZy5zdWZmaXgpO1xuICAgIHRoaXMuYWN0aW9uID0gbmV3IEJsb2NrRGJBY3Rpb24oY29uZmlnLmRhdGFTb3VyY2UsIHRoaXMubmFtZSgpLCBsb2dnZXIpO1xuICAgIHRoaXMuaG9zdCA9IGNvbmZpZy5ub2RlSG9zdE9ySXA7XG4gICAgdGhpcy5wb3J0ID0gY29uZmlnLm5vZGVQb3J0O1xuICAgIHRoaXMudXNlVGxzID0gY29uZmlnLnVzZVRscyA/PyBmYWxzZTtcbiAgICB0aGlzLmNvbm5lY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5pdFBvaW50ID0ge1xuICAgICAgaWQ6IGNvbmZpZy5pbml0aWFsSGFzaCxcbiAgICAgIHNsb3Q6IGNvbmZpZy5pbml0aWFsU2xvdCxcbiAgICB9O1xuICAgIHRoaXMucmVjb25uZWN0aW9uQ29uZmlnID0ge1xuICAgICAgaW5pdGlhbERlbGF5OlxuICAgICAgICBjb25maWcucmVjb25uZWN0aW9uQ29uZmlnPy5pbml0aWFsRGVsYXkgPz8gUkVDT05ORUNUSU9OX0lOSVRJQUxfREVMQVksXG4gICAgICBtYXhEZWxheTogY29uZmlnLnJlY29ubmVjdGlvbkNvbmZpZz8ubWF4RGVsYXkgPz8gUkVDT05ORUNUSU9OX01BWF9ERUxBWSxcbiAgICAgIG1heEF0dGVtcHRzOlxuICAgICAgICBjb25maWcucmVjb25uZWN0aW9uQ29uZmlnPy5tYXhBdHRlbXB0cyA/PyBSRUNPTk5FQ1RJT05fTUFYX0FUVEVNUFRTLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogcHJvY2VzcyBibG9jayB3aGVuIGEgYmxvY2sgZm9ya2VkIGxpYnJhcnkgY2FsbCB0aGlzIGZ1bmN0aW9uXG4gICAqIEBwYXJhbSByZXNwb25zZTogZm9ya2VkIGJsb2NrXG4gICAqIEBwYXJhbSByZXF1ZXN0TmV4dDogYSBmdW5jdGlvbiB0byB0ZWxsIG5vZGUgdG8gc2VuZCBuZXh0IGJsb2NrXG4gICAqL1xuICBwcml2YXRlIHJvbGxCYWNrd2FyZCA9IGFzeW5jIChcbiAgICByZXNwb25zZTogQmFja3dhcmRSZXNwb25zZSxcbiAgICByZXF1ZXN0TmV4dDogKCkgPT4gdm9pZCxcbiAgKSA9PiB7XG4gICAgY29uc3QgaGFzaCA9IChyZXNwb25zZS5wb2ludCBhcyBQb2ludCkuaWQ7XG4gICAgY29uc3Qgc2F2ZWRCbG9jayA9IGF3YWl0IHRoaXMuYWN0aW9uLmdldEJsb2NrV2l0aEhhc2goaGFzaCk7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgUm9sbGluZyBiYWNrd2FyZCB0byBoZWlnaHQgJHtcbiAgICAgICAgc2F2ZWRCbG9jaz8uaGVpZ2h0XG4gICAgICB9IGluIHNjYW5uZXIgJHt0aGlzLm5hbWUoKX1gLFxuICAgICk7XG4gICAgaWYgKHNhdmVkQmxvY2spIHtcbiAgICAgIGNvbnN0IGJsb2NrID0ge1xuICAgICAgICBoYXNoOiBzYXZlZEJsb2NrLmhhc2gsXG4gICAgICAgIGhlaWdodDogc2F2ZWRCbG9jay5oZWlnaHQsXG4gICAgICAgIHBhcmVudEhhc2g6IHNhdmVkQmxvY2sucGFyZW50SGFzaCxcbiAgICAgICAgZXh0cmE6IHNhdmVkQmxvY2suZXh0cmEsXG4gICAgICAgIHRpbWVzdGFtcDogc2F2ZWRCbG9jay50aW1lc3RhbXAsXG4gICAgICB9O1xuICAgICAgYXdhaXQgdGhpcy5zdGVwQmFja3dhcmQoYmxvY2spO1xuICAgIH1cbiAgICByZXF1ZXN0TmV4dCgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBTdGVwIGZvcndhcmQgd2hlbiBuZXcgYmxvY2sgYXJyaXZlZCBvZ21pb3MtY2xpZW50IGNhbGwgdGhpcyBmdW5jdGlvblxuICAgKiBAcGFyYW0gcmVzcG9uc2U6IG5ldyBibG9ja1xuICAgKiBAcGFyYW0gcmVxdWVzdE5leHQ6IHRlbGwgbGlicmFyeSB0aGF0IHRoaXMgYmxvY2sgcHJvY2VlZHMuIHBhc3MgbmV4dCBibG9jayB3aGVuIGF2YWlsYWJsZVxuICAgKi9cbiAgcHJpdmF0ZSByb2xsRm9yd2FyZCA9IGFzeW5jIChcbiAgICByZXNwb25zZTogRm9yd2FyZFJlc3BvbnNlLFxuICAgIHJlcXVlc3ROZXh0OiAoKSA9PiB2b2lkLFxuICApID0+IHtcbiAgICBpZiAocmVzcG9uc2UuYmxvY2sudHlwZSA9PT0gJ3ByYW9zJykge1xuICAgICAgY29uc3QgcHJhb3NCbG9jayA9IHJlc3BvbnNlLmJsb2NrIGFzIEJsb2NrUHJhb3M7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYFF1ZXVlaW5nIG5ldyBibG9jayBhdCBoZWlnaHQgJHtcbiAgICAgICAgICBwcmFvc0Jsb2NrLmhlaWdodFxuICAgICAgICB9IGluIHNjYW5uZXIgJHt0aGlzLm5hbWUoKX1gLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGJsb2NrID0ge1xuICAgICAgICBoYXNoOiBwcmFvc0Jsb2NrLmlkLFxuICAgICAgICBoZWlnaHQ6IHByYW9zQmxvY2suaGVpZ2h0LFxuICAgICAgICBwYXJlbnRIYXNoOiBwcmFvc0Jsb2NrLmFuY2VzdG9yLFxuICAgICAgICBleHRyYTogYCR7cHJhb3NCbG9jay5zbG90fWAsXG4gICAgICAgIC8vIENhdXRpb246IEluIGNhc2Ugb2YgYSBoYXJkIGZvcmsgYW5kIGNoYW5nZSBpbiBzbG90IGR1cmF0aW9uLCB0aGlzIG11c3QgY2hhbmdlIVxuICAgICAgICB0aW1lc3RhbXA6IHByYW9zQmxvY2suc2xvdCArIFNMT1RfU0hFTExZX05VTUJFUixcbiAgICAgIH07XG4gICAgICBpZiAocHJhb3NCbG9jay50cmFuc2FjdGlvbnMpXG4gICAgICAgIGF3YWl0IHRoaXMuc3RlcEZvcndhcmQoYmxvY2ssIHByYW9zQmxvY2sudHJhbnNhY3Rpb25zKTtcbiAgICB9XG4gICAgcmVxdWVzdE5leHQoKTtcbiAgfTtcblxuICAvKipcbiAgICogZmluZCBpbnRlcnNlY3QgYmV0d2VlbiBzdG9yZWQgYmxvY2tzIGFuZCBibG9ja2NoYWluLlxuICAgKiBAcGFyYW0gY29udGV4dDogYmxvY2tjaGFpbiBjb250ZXh0XG4gICAqL1xuICBwcml2YXRlIGZpbmRJbnRlcnNlY3Rpb24gPSBhc3luYyAoY29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0KSA9PiB7XG4gICAgbGV0IGNvdW50ID0gMTtcbiAgICBsZXQgc2tpcCA9IDA7XG4gICAgd2hpbGUgKGNvdW50ICE9PSAwKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgdGhpcy5tdXRleC5hY3F1aXJlKCk7XG4gICAgICAgIGNvbnN0IGJsb2NrcyA9IGF3YWl0IHRoaXMuYWN0aW9uLmdldExhc3RTYXZlZEJsb2Nrcyhza2lwLCBjb3VudCk7XG4gICAgICAgIHJlbGVhc2UoKTtcbiAgICAgICAgaWYgKGJsb2Nrcy5sZW5ndGggPT09IDApIGNvdW50ID0gMDtcbiAgICAgICAgY29uc3QgcG9pbnRzID1cbiAgICAgICAgICBibG9ja3MubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBibG9ja3MubWFwKChpdGVtKSA9PiAoe1xuICAgICAgICAgICAgICAgIHNsb3Q6IGl0ZW0uZXh0cmEgPyBwYXJzZUludChpdGVtLmV4dHJhKSA6IDAsXG4gICAgICAgICAgICAgICAgaWQ6IGl0ZW0uaGFzaCxcbiAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICA6IFt0aGlzLmluaXRQb2ludF07XG4gICAgICAgIGNvbnN0IGludGVyc2VjdCA9IGF3YWl0IGZpbmRJbnRlcnNlY3Rpb24oY29udGV4dCwgcG9pbnRzKTtcbiAgICAgICAgY29uc3QgaW50ZXJzZWN0UG9pbnQgPSBpbnRlcnNlY3QuaW50ZXJzZWN0aW9uIGFzIFBvaW50O1xuICAgICAgICBsZXQgaGVpZ2h0ID0gMDtcbiAgICAgICAgaWYgKGJsb2Nrcy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBmb3VuZGVkQmxvY2sgPSBibG9ja3MuZmluZChcbiAgICAgICAgICAgIChpdGVtKSA9PiAoaXRlbS5oYXNoID0gaW50ZXJzZWN0UG9pbnQuaWQpLFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKGZvdW5kZWRCbG9jaykge1xuICAgICAgICAgICAgaGVpZ2h0ID0gZm91bmRlZEJsb2NrLmhlaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHsgcG9pbnQ6IGludGVyc2VjdC5pbnRlcnNlY3Rpb24gYXMgUG9pbnQsIGhlaWdodDogaGVpZ2h0IH07XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgc2tpcCArPSBjb3VudDtcbiAgICAgICAgY291bnQgKj0gMjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlcyBvZ21pb3MgY29ubmVjdGlvbiBjbG9zdXJlXG4gICAqL1xuICBwcml2YXRlIGNvbm5lY3Rpb25DbG9zZUhhbmRsZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgdGhpcy5jb25uZWN0ZWQgPSBmYWxzZTtcbiAgICB0aGlzLmxvZ2dlci53YXJuKCdPZ21pb3MgY29ubmVjdGlvbiBjbG9zZWQnKTtcbiAgICBpZiAodGhpcy5zdG9wcGVkKSByZXR1cm47XG5cbiAgICBjb25zdCByZXRyeVBvbGljeSA9IHJldHJ5KFxuICAgICAgaGFuZGxlV2hlbigoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgICAgYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHJlY29ubmVjdGluZyB0byBvZ21pb3MgY2xpZW50OiAke2Vycm9yfWAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSksXG4gICAgICB7XG4gICAgICAgIG1heEF0dGVtcHRzOiB0aGlzLnJlY29ubmVjdGlvbkNvbmZpZy5tYXhBdHRlbXB0cyxcbiAgICAgICAgYmFja29mZjogbmV3IEV4cG9uZW50aWFsQmFja29mZih7XG4gICAgICAgICAgbWF4RGVsYXk6IHRoaXMucmVjb25uZWN0aW9uQ29uZmlnLm1heERlbGF5LFxuICAgICAgICAgIGluaXRpYWxEZWxheTogdGhpcy5yZWNvbm5lY3Rpb25Db25maWcuaW5pdGlhbERlbGF5LFxuICAgICAgICB9KSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGxldCB0cmlhbCA9IDA7XG4gICAgcmV0cnlQb2xpY3kuZXhlY3V0ZShhc3luYyAoKSA9PiB7XG4gICAgICB0cmlhbCsrO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBSZXRyeWluZyB0byBjb25uZWN0IHRvIG9nbWlvcyBjbGllbnQgaW4gdHJpYWwgc3RlcCAjJHt0cmlhbH1gLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnN0YXJ0KCk7XG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHN0YXJ0IHNjYW5uZXIuIGZpcnN0IGZpbmQgZm9yayBwb2ludC4gZm9yayBhbGwgYmxvY2tzIGFuZCByZXF1ZXN0IHVwZGF0ZXMgZnJvbSBub2RlLlxuICAgKi9cbiAgc3RhcnQgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgdGhpcy5zdG9wcGVkID0gZmFsc2U7XG4gICAgY29uc3QgY29udGV4dDogSW50ZXJhY3Rpb25Db250ZXh0ID0gYXdhaXQgY3JlYXRlSW50ZXJhY3Rpb25Db250ZXh0KFxuICAgICAgKGVycikgPT4gdGhpcy5sb2dnZXIuZXJyb3IoYCR7ZXJyfWApLFxuICAgICAgdGhpcy5jb25uZWN0aW9uQ2xvc2VIYW5kbGVyLFxuICAgICAgeyBjb25uZWN0aW9uOiB7IHBvcnQ6IHRoaXMucG9ydCwgaG9zdDogdGhpcy5ob3N0LCB0bHM6IHRoaXMudXNlVGxzIH0gfSxcbiAgICApO1xuICAgIGNvbnN0IGludGVyc2VjdCA9IGF3YWl0IHRoaXMuZmluZEludGVyc2VjdGlvbihjb250ZXh0KTtcbiAgICBpZiAoaW50ZXJzZWN0KSB7XG4gICAgICAvLyBmaW5kIGludGVyc2VjdCB0aGVuIHN0YXJ0IGZyb20gdGhhdCBwb2ludFxuICAgICAgdGhpcy5jbGllbnQgPSBhd2FpdCBjcmVhdGVDaGFpblN5bmNocm9uaXphdGlvbkNsaWVudChcbiAgICAgICAgY29udGV4dCxcbiAgICAgICAge1xuICAgICAgICAgIHJvbGxCYWNrd2FyZDogdGhpcy5yb2xsQmFja3dhcmQsXG4gICAgICAgICAgcm9sbEZvcndhcmQ6IHRoaXMucm9sbEZvcndhcmQsXG4gICAgICAgIH0sXG4gICAgICAgIHsgc2VxdWVudGlhbDogdHJ1ZSB9LFxuICAgICAgKTtcbiAgICAgIHRoaXMuY29ubmVjdGVkID0gdHJ1ZTtcbiAgICAgIGF3YWl0IHRoaXMuZm9ya0Jsb2NrKGludGVyc2VjdC5oZWlnaHQgKyAxKTtcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3VtZShbaW50ZXJzZWN0LnBvaW50XSwgMik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IEVycm9yKCdDYW4gbm90IHN0YXJ0IHNjYW5uZXIuIGluaXRpYWwgYmxvY2sgaXMgaW52YWxpZCcpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogc3RvcCB3cyBjb25uZWN0aW9uIHRvIG5vZGUuXG4gICAqL1xuICBzdG9wID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIHRoaXMuc3RvcHBlZCA9IHRydWU7XG4gICAgYXdhaXQgdGhpcy5jbGllbnQuc2h1dGRvd24oKTtcbiAgfTtcblxuICAvKipcbiAgICogQHJldHVybnMgVGhlIGNvbm5lY3Rpb24gc3RhdHVzIG9mIG9nbWlvcyBzY2FubmVyXG4gICAqL1xuICBnZXRDb25uZWN0aW9uU3RhdHVzID0gKCkgPT4gdGhpcy5jb25uZWN0ZWQ7XG59XG5cbmV4cG9ydCB7IENhcmRhbm9PZ21pb3NTY2FubmVyIH07XG4iXX0=
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2dtaW9zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3NjYW5uZXIvb2dtaW9zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxnQ0FBZ0MsR0FFakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNsRSxPQUFPLEVBRUwsZ0JBQWdCLEdBQ2pCLE1BQU0sa0RBQWtELENBQUM7QUFTMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHbEUsT0FBTyxFQUNMLGFBQWEsRUFDYixnQkFBZ0IsR0FDakIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV4QyxPQUFPLEVBQ0wsMEJBQTBCLEVBQzFCLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIseUJBQXlCLEdBQzFCLE1BQU0sY0FBYyxDQUFDO0FBYXRCLE1BQU0sb0JBQXFCLFNBQVEsZ0JBQTZCO0lBQzlELE1BQU0sQ0FBNkI7SUFDbkMsU0FBUyxDQUFRO0lBQ2pCLElBQUksQ0FBUztJQUNiLElBQUksQ0FBUztJQUNiLE1BQU0sQ0FBVTtJQUNSLFNBQVMsQ0FBVTtJQUNuQixPQUFPLENBQVU7SUFDakIsa0JBQWtCLENBQTJCO0lBRXJELFlBQVksTUFBMkIsRUFBRSxNQUF1QjtRQUM5RCxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHO1lBQ2YsRUFBRSxFQUFFLE1BQU0sQ0FBQyxXQUFXO1lBQ3RCLElBQUksRUFBRSxNQUFNLENBQUMsV0FBVztTQUN6QixDQUFDO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLFlBQVksRUFDVixNQUFNLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxJQUFJLDBCQUEwQjtZQUN2RSxRQUFRLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFFBQVEsSUFBSSxzQkFBc0I7WUFDdkUsV0FBVyxFQUNULE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLElBQUkseUJBQXlCO1NBQ3RFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFlBQVksR0FBRyxLQUFLLEVBQzFCLFFBQTBCLEVBQzFCLFdBQXVCLEVBQ3ZCLEVBQUU7UUFDRixNQUFNLElBQUksR0FBSSxRQUFRLENBQUMsS0FBZSxDQUFDLEVBQUUsQ0FBQztRQUMxQyxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsOEJBQ0UsVUFBVSxFQUFFLE1BQ2QsZUFBZSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDN0IsQ0FBQztRQUNGLElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixNQUFNLEtBQUssR0FBRztnQkFDWixJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk7Z0JBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtnQkFDekIsVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO2dCQUNqQyxLQUFLLEVBQUUsVUFBVSxDQUFDLEtBQUs7Z0JBQ3ZCLFNBQVMsRUFBRSxVQUFVLENBQUMsU0FBUzthQUNoQyxDQUFDO1lBQ0YsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxXQUFXLEVBQUUsQ0FBQztJQUNoQixDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0ssV0FBVyxHQUFHLEtBQUssRUFDekIsUUFBeUIsRUFDekIsV0FBdUIsRUFDdkIsRUFBRTtRQUNGLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDcEMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQW1CLENBQUM7WUFDaEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsZ0NBQ0UsVUFBVSxDQUFDLE1BQ2IsZUFBZSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDN0IsQ0FBQztZQUNGLE1BQU0sS0FBSyxHQUFHO2dCQUNaLElBQUksRUFBRSxVQUFVLENBQUMsRUFBRTtnQkFDbkIsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO2dCQUN6QixVQUFVLEVBQUUsVUFBVSxDQUFDLFFBQVE7Z0JBQy9CLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUU7Z0JBQzNCLGlGQUFpRjtnQkFDakYsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEdBQUcsa0JBQWtCO2FBQ2hELENBQUM7WUFDRixJQUFJLFVBQVUsQ0FBQyxZQUFZO2dCQUN6QixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsV0FBVyxFQUFFLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0ssZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLE9BQTJCLEVBQUUsRUFBRTtRQUMvRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixPQUFPLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMzQyxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNqRSxPQUFPLEVBQUUsQ0FBQztnQkFDVixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztvQkFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNuQyxNQUFNLE1BQU0sR0FDVixNQUFNLENBQUMsTUFBTSxHQUFHLENBQUM7b0JBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7d0JBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUMzQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUk7cUJBQ2QsQ0FBQyxDQUFDO29CQUNMLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDdkIsTUFBTSxTQUFTLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQzFELE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxZQUFxQixDQUFDO2dCQUN2RCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2xCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzlCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUMxQyxDQUFDO29CQUNGLElBQUksWUFBWSxFQUFFLENBQUM7d0JBQ2pCLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO29CQUMvQixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUMsWUFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDcEUsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxJQUFJLElBQUksS0FBSyxDQUFDO2dCQUNkLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0ssc0JBQXNCLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM3QyxJQUFJLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUV6QixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQ3ZCLFVBQVUsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLDBEQUEwRCxLQUFLLEVBQUUsQ0FDbEUsQ0FBQztZQUNGLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLEVBQ0Y7WUFDRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVc7WUFDaEQsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUM7Z0JBQzlCLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUTtnQkFDMUMsWUFBWSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZO2FBQ25ELENBQUM7U0FDSCxDQUNGLENBQUM7UUFFRixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxXQUFXLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQzdCLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsdURBQXVELEtBQUssRUFBRSxDQUMvRCxDQUFDO1lBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsS0FBSyxHQUFHLEtBQUssSUFBbUIsRUFBRTtRQUNoQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixNQUFNLE9BQU8sR0FBdUIsTUFBTSx3QkFBd0IsQ0FDaEUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFDcEMsSUFBSSxDQUFDLHNCQUFzQixFQUMzQixFQUFFLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDdkUsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLGdDQUFnQyxDQUNsRCxPQUFPLEVBQ1A7Z0JBQ0UsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7YUFDOUIsRUFDRCxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FDckIsQ0FBQztZQUNGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzNDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILElBQUksR0FBRyxLQUFLLElBQW1CLEVBQUU7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQy9CLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsbUJBQW1CLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztDQUM1QztBQUVELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlQ2hhaW5TeW5jaHJvbml6YXRpb25DbGllbnQsXG4gIEludGVyYWN0aW9uQ29udGV4dCxcbn0gZnJvbSAnQGNhcmRhbm8tb2dtaW9zL2NsaWVudCc7XG5pbXBvcnQgeyBjcmVhdGVJbnRlcmFjdGlvbkNvbnRleHQgfSBmcm9tICdAY2FyZGFuby1vZ21pb3MvY2xpZW50JztcbmltcG9ydCB7XG4gIENoYWluU3luY2hyb25pemF0aW9uQ2xpZW50LFxuICBmaW5kSW50ZXJzZWN0aW9uLFxufSBmcm9tICdAY2FyZGFuby1vZ21pb3MvY2xpZW50L2Rpc3QvQ2hhaW5TeW5jaHJvbml6YXRpb24nO1xuaW1wb3J0IHtcbiAgQmxvY2ssXG4gIEJsb2NrUHJhb3MsXG4gIFBvaW50LFxuICBQb2ludE9yT3JpZ2luLFxuICBUaXBPck9yaWdpbixcbiAgVHJhbnNhY3Rpb24sXG59IGZyb20gJ0BjYXJkYW5vLW9nbWlvcy9zY2hlbWEnO1xuaW1wb3J0IHsgRXhwb25lbnRpYWxCYWNrb2ZmLCBoYW5kbGVXaGVuLCByZXRyeSB9IGZyb20gJ2NvY2thdGllbCc7XG5cbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHtcbiAgQmxvY2tEYkFjdGlvbixcbiAgV2ViU29ja2V0U2Nhbm5lcixcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1zY2FubmVyJztcblxuaW1wb3J0IHtcbiAgUkVDT05ORUNUSU9OX0lOSVRJQUxfREVMQVksXG4gIFJFQ09OTkVDVElPTl9NQVhfREVMQVksXG4gIFNMT1RfU0hFTExZX05VTUJFUixcbiAgUkVDT05ORUNUSU9OX01BWF9BVFRFTVBUUyxcbn0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IENhcmRhbm9PZ21pb3NDb25maWcsIE9nbWlvc1JlY29ubmVjdGlvbkNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbnRlcmZhY2UgQmFja3dhcmRSZXNwb25zZSB7XG4gIHBvaW50OiBQb2ludE9yT3JpZ2luO1xuICB0aXA6IFRpcE9yT3JpZ2luO1xufVxuXG5pbnRlcmZhY2UgRm9yd2FyZFJlc3BvbnNlIHtcbiAgYmxvY2s6IEJsb2NrO1xuICB0aXA6IFRpcE9yT3JpZ2luO1xufVxuXG5jbGFzcyBDYXJkYW5vT2dtaW9zU2Nhbm5lciBleHRlbmRzIFdlYlNvY2tldFNjYW5uZXI8VHJhbnNhY3Rpb24+IHtcbiAgY2xpZW50OiBDaGFpblN5bmNocm9uaXphdGlvbkNsaWVudDtcbiAgaW5pdFBvaW50OiBQb2ludDtcbiAgaG9zdDogc3RyaW5nO1xuICBwb3J0OiBudW1iZXI7XG4gIHVzZVRsczogYm9vbGVhbjtcbiAgcHJpdmF0ZSBjb25uZWN0ZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgc3RvcHBlZDogYm9vbGVhbjtcbiAgcHJpdmF0ZSByZWNvbm5lY3Rpb25Db25maWc6IE9nbWlvc1JlY29ubmVjdGlvbkNvbmZpZztcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IENhcmRhbm9PZ21pb3NDb25maWcsIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgc3VwZXIoJ2NhcmRhbm8nLCBsb2dnZXIsIGNvbmZpZy5tYXhUcnlCbG9jaywgY29uZmlnLnN1ZmZpeCk7XG4gICAgdGhpcy5hY3Rpb24gPSBuZXcgQmxvY2tEYkFjdGlvbihjb25maWcuZGF0YVNvdXJjZSwgdGhpcy5uYW1lKCksIGxvZ2dlcik7XG4gICAgdGhpcy5ob3N0ID0gY29uZmlnLm5vZGVIb3N0T3JJcDtcbiAgICB0aGlzLnBvcnQgPSBjb25maWcubm9kZVBvcnQ7XG4gICAgdGhpcy51c2VUbHMgPSBjb25maWcudXNlVGxzID8/IGZhbHNlO1xuICAgIHRoaXMuY29ubmVjdGVkID0gZmFsc2U7XG4gICAgdGhpcy5pbml0UG9pbnQgPSB7XG4gICAgICBpZDogY29uZmlnLmluaXRpYWxIYXNoLFxuICAgICAgc2xvdDogY29uZmlnLmluaXRpYWxTbG90LFxuICAgIH07XG4gICAgdGhpcy5yZWNvbm5lY3Rpb25Db25maWcgPSB7XG4gICAgICBpbml0aWFsRGVsYXk6XG4gICAgICAgIGNvbmZpZy5yZWNvbm5lY3Rpb25Db25maWc/LmluaXRpYWxEZWxheSA/PyBSRUNPTk5FQ1RJT05fSU5JVElBTF9ERUxBWSxcbiAgICAgIG1heERlbGF5OiBjb25maWcucmVjb25uZWN0aW9uQ29uZmlnPy5tYXhEZWxheSA/PyBSRUNPTk5FQ1RJT05fTUFYX0RFTEFZLFxuICAgICAgbWF4QXR0ZW1wdHM6XG4gICAgICAgIGNvbmZpZy5yZWNvbm5lY3Rpb25Db25maWc/Lm1heEF0dGVtcHRzID8/IFJFQ09OTkVDVElPTl9NQVhfQVRURU1QVFMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBwcm9jZXNzIGJsb2NrIHdoZW4gYSBibG9jayBmb3JrZWQgbGlicmFyeSBjYWxsIHRoaXMgZnVuY3Rpb25cbiAgICogQHBhcmFtIHJlc3BvbnNlOiBmb3JrZWQgYmxvY2tcbiAgICogQHBhcmFtIHJlcXVlc3ROZXh0OiBhIGZ1bmN0aW9uIHRvIHRlbGwgbm9kZSB0byBzZW5kIG5leHQgYmxvY2tcbiAgICovXG4gIHByaXZhdGUgcm9sbEJhY2t3YXJkID0gYXN5bmMgKFxuICAgIHJlc3BvbnNlOiBCYWNrd2FyZFJlc3BvbnNlLFxuICAgIHJlcXVlc3ROZXh0OiAoKSA9PiB2b2lkLFxuICApID0+IHtcbiAgICBjb25zdCBoYXNoID0gKHJlc3BvbnNlLnBvaW50IGFzIFBvaW50KS5pZDtcbiAgICBjb25zdCBzYXZlZEJsb2NrID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0QmxvY2tXaXRoSGFzaChoYXNoKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBSb2xsaW5nIGJhY2t3YXJkIHRvIGhlaWdodCAke1xuICAgICAgICBzYXZlZEJsb2NrPy5oZWlnaHRcbiAgICAgIH0gaW4gc2Nhbm5lciAke3RoaXMubmFtZSgpfWAsXG4gICAgKTtcbiAgICBpZiAoc2F2ZWRCbG9jaykge1xuICAgICAgY29uc3QgYmxvY2sgPSB7XG4gICAgICAgIGhhc2g6IHNhdmVkQmxvY2suaGFzaCxcbiAgICAgICAgaGVpZ2h0OiBzYXZlZEJsb2NrLmhlaWdodCxcbiAgICAgICAgcGFyZW50SGFzaDogc2F2ZWRCbG9jay5wYXJlbnRIYXNoLFxuICAgICAgICBleHRyYTogc2F2ZWRCbG9jay5leHRyYSxcbiAgICAgICAgdGltZXN0YW1wOiBzYXZlZEJsb2NrLnRpbWVzdGFtcCxcbiAgICAgIH07XG4gICAgICBhd2FpdCB0aGlzLnN0ZXBCYWNrd2FyZChibG9jayk7XG4gICAgfVxuICAgIHJlcXVlc3ROZXh0KCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFN0ZXAgZm9yd2FyZCB3aGVuIG5ldyBibG9jayBhcnJpdmVkIG9nbWlvcy1jbGllbnQgY2FsbCB0aGlzIGZ1bmN0aW9uXG4gICAqIEBwYXJhbSByZXNwb25zZTogbmV3IGJsb2NrXG4gICAqIEBwYXJhbSByZXF1ZXN0TmV4dDogdGVsbCBsaWJyYXJ5IHRoYXQgdGhpcyBibG9jayBwcm9jZWVkcy4gcGFzcyBuZXh0IGJsb2NrIHdoZW4gYXZhaWxhYmxlXG4gICAqL1xuICBwcml2YXRlIHJvbGxGb3J3YXJkID0gYXN5bmMgKFxuICAgIHJlc3BvbnNlOiBGb3J3YXJkUmVzcG9uc2UsXG4gICAgcmVxdWVzdE5leHQ6ICgpID0+IHZvaWQsXG4gICkgPT4ge1xuICAgIGlmIChyZXNwb25zZS5ibG9jay50eXBlID09PSAncHJhb3MnKSB7XG4gICAgICBjb25zdCBwcmFvc0Jsb2NrID0gcmVzcG9uc2UuYmxvY2sgYXMgQmxvY2tQcmFvcztcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgUXVldWVpbmcgbmV3IGJsb2NrIGF0IGhlaWdodCAke1xuICAgICAgICAgIHByYW9zQmxvY2suaGVpZ2h0XG4gICAgICAgIH0gaW4gc2Nhbm5lciAke3RoaXMubmFtZSgpfWAsXG4gICAgICApO1xuICAgICAgY29uc3QgYmxvY2sgPSB7XG4gICAgICAgIGhhc2g6IHByYW9zQmxvY2suaWQsXG4gICAgICAgIGhlaWdodDogcHJhb3NCbG9jay5oZWlnaHQsXG4gICAgICAgIHBhcmVudEhhc2g6IHByYW9zQmxvY2suYW5jZXN0b3IsXG4gICAgICAgIGV4dHJhOiBgJHtwcmFvc0Jsb2NrLnNsb3R9YCxcbiAgICAgICAgLy8gQ2F1dGlvbjogSW4gY2FzZSBvZiBhIGhhcmQgZm9yayBhbmQgY2hhbmdlIGluIHNsb3QgZHVyYXRpb24sIHRoaXMgbXVzdCBjaGFuZ2UhXG4gICAgICAgIHRpbWVzdGFtcDogcHJhb3NCbG9jay5zbG90ICsgU0xPVF9TSEVMTFlfTlVNQkVSLFxuICAgICAgfTtcbiAgICAgIGlmIChwcmFvc0Jsb2NrLnRyYW5zYWN0aW9ucylcbiAgICAgICAgYXdhaXQgdGhpcy5zdGVwRm9yd2FyZChibG9jaywgcHJhb3NCbG9jay50cmFuc2FjdGlvbnMpO1xuICAgIH1cbiAgICByZXF1ZXN0TmV4dCgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBmaW5kIGludGVyc2VjdCBiZXR3ZWVuIHN0b3JlZCBibG9ja3MgYW5kIGJsb2NrY2hhaW4uXG4gICAqIEBwYXJhbSBjb250ZXh0OiBibG9ja2NoYWluIGNvbnRleHRcbiAgICovXG4gIHByaXZhdGUgZmluZEludGVyc2VjdGlvbiA9IGFzeW5jIChjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQpID0+IHtcbiAgICBsZXQgY291bnQgPSAxO1xuICAgIGxldCBza2lwID0gMDtcbiAgICB3aGlsZSAoY291bnQgIT09IDApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlbGVhc2UgPSBhd2FpdCB0aGlzLm11dGV4LmFjcXVpcmUoKTtcbiAgICAgICAgY29uc3QgYmxvY2tzID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0TGFzdFNhdmVkQmxvY2tzKHNraXAsIGNvdW50KTtcbiAgICAgICAgcmVsZWFzZSgpO1xuICAgICAgICBpZiAoYmxvY2tzLmxlbmd0aCA9PT0gMCkgY291bnQgPSAwO1xuICAgICAgICBjb25zdCBwb2ludHMgPVxuICAgICAgICAgIGJsb2Nrcy5sZW5ndGggPiAwXG4gICAgICAgICAgICA/IGJsb2Nrcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICAgICAgc2xvdDogaXRlbS5leHRyYSA/IHBhcnNlSW50KGl0ZW0uZXh0cmEpIDogMCxcbiAgICAgICAgICAgICAgICBpZDogaXRlbS5oYXNoLFxuICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIDogW3RoaXMuaW5pdFBvaW50XTtcbiAgICAgICAgY29uc3QgaW50ZXJzZWN0ID0gYXdhaXQgZmluZEludGVyc2VjdGlvbihjb250ZXh0LCBwb2ludHMpO1xuICAgICAgICBjb25zdCBpbnRlcnNlY3RQb2ludCA9IGludGVyc2VjdC5pbnRlcnNlY3Rpb24gYXMgUG9pbnQ7XG4gICAgICAgIGxldCBoZWlnaHQgPSAwO1xuICAgICAgICBpZiAoYmxvY2tzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnN0IGZvdW5kZWRCbG9jayA9IGJsb2Nrcy5maW5kKFxuICAgICAgICAgICAgKGl0ZW0pID0+IChpdGVtLmhhc2ggPSBpbnRlcnNlY3RQb2ludC5pZCksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoZm91bmRlZEJsb2NrKSB7XG4gICAgICAgICAgICBoZWlnaHQgPSBmb3VuZGVkQmxvY2suaGVpZ2h0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBwb2ludDogaW50ZXJzZWN0LmludGVyc2VjdGlvbiBhcyBQb2ludCwgaGVpZ2h0OiBoZWlnaHQgfTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICBza2lwICs9IGNvdW50O1xuICAgICAgICBjb3VudCAqPSAyO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIG9nbWlvcyBjb25uZWN0aW9uIGNsb3N1cmVcbiAgICovXG4gIHByaXZhdGUgY29ubmVjdGlvbkNsb3NlSGFuZGxlciA9IGFzeW5jICgpID0+IHtcbiAgICB0aGlzLmNvbm5lY3RlZCA9IGZhbHNlO1xuICAgIHRoaXMubG9nZ2VyLndhcm4oJ09nbWlvcyBjb25uZWN0aW9uIGNsb3NlZCcpO1xuICAgIGlmICh0aGlzLnN0b3BwZWQpIHJldHVybjtcblxuICAgIGNvbnN0IHJldHJ5UG9saWN5ID0gcmV0cnkoXG4gICAgICBoYW5kbGVXaGVuKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcmVjb25uZWN0aW5nIHRvIG9nbWlvcyBjbGllbnQ6ICR7ZXJyb3J9YCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9KSxcbiAgICAgIHtcbiAgICAgICAgbWF4QXR0ZW1wdHM6IHRoaXMucmVjb25uZWN0aW9uQ29uZmlnLm1heEF0dGVtcHRzLFxuICAgICAgICBiYWNrb2ZmOiBuZXcgRXhwb25lbnRpYWxCYWNrb2ZmKHtcbiAgICAgICAgICBtYXhEZWxheTogdGhpcy5yZWNvbm5lY3Rpb25Db25maWcubWF4RGVsYXksXG4gICAgICAgICAgaW5pdGlhbERlbGF5OiB0aGlzLnJlY29ubmVjdGlvbkNvbmZpZy5pbml0aWFsRGVsYXksXG4gICAgICAgIH0pLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgbGV0IHRyaWFsID0gMDtcbiAgICByZXRyeVBvbGljeS5leGVjdXRlKGFzeW5jICgpID0+IHtcbiAgICAgIHRyaWFsKys7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYFJldHJ5aW5nIHRvIGNvbm5lY3QgdG8gb2dtaW9zIGNsaWVudCBpbiB0cmlhbCBzdGVwICMke3RyaWFsfWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuc3RhcnQoKTtcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogc3RhcnQgc2Nhbm5lci4gZmlyc3QgZmluZCBmb3JrIHBvaW50LiBmb3JrIGFsbCBibG9ja3MgYW5kIHJlcXVlc3QgdXBkYXRlcyBmcm9tIG5vZGUuXG4gICAqL1xuICBzdGFydCA9IGFzeW5jICgpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICB0aGlzLnN0b3BwZWQgPSBmYWxzZTtcbiAgICBjb25zdCBjb250ZXh0OiBJbnRlcmFjdGlvbkNvbnRleHQgPSBhd2FpdCBjcmVhdGVJbnRlcmFjdGlvbkNvbnRleHQoXG4gICAgICAoZXJyKSA9PiB0aGlzLmxvZ2dlci5lcnJvcihgJHtlcnJ9YCksXG4gICAgICB0aGlzLmNvbm5lY3Rpb25DbG9zZUhhbmRsZXIsXG4gICAgICB7IGNvbm5lY3Rpb246IHsgcG9ydDogdGhpcy5wb3J0LCBob3N0OiB0aGlzLmhvc3QsIHRsczogdGhpcy51c2VUbHMgfSB9LFxuICAgICk7XG4gICAgY29uc3QgaW50ZXJzZWN0ID0gYXdhaXQgdGhpcy5maW5kSW50ZXJzZWN0aW9uKGNvbnRleHQpO1xuICAgIGlmIChpbnRlcnNlY3QpIHtcbiAgICAgIC8vIGZpbmQgaW50ZXJzZWN0IHRoZW4gc3RhcnQgZnJvbSB0aGF0IHBvaW50XG4gICAgICB0aGlzLmNsaWVudCA9IGF3YWl0IGNyZWF0ZUNoYWluU3luY2hyb25pemF0aW9uQ2xpZW50KFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICB7XG4gICAgICAgICAgcm9sbEJhY2t3YXJkOiB0aGlzLnJvbGxCYWNrd2FyZCxcbiAgICAgICAgICByb2xsRm9yd2FyZDogdGhpcy5yb2xsRm9yd2FyZCxcbiAgICAgICAgfSxcbiAgICAgICAgeyBzZXF1ZW50aWFsOiB0cnVlIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5jb25uZWN0ZWQgPSB0cnVlO1xuICAgICAgYXdhaXQgdGhpcy5mb3JrQmxvY2soaW50ZXJzZWN0LmhlaWdodCArIDEpO1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdW1lKFtpbnRlcnNlY3QucG9pbnRdLCAyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgRXJyb3IoJ0NhbiBub3Qgc3RhcnQgc2Nhbm5lci4gaW5pdGlhbCBibG9jayBpcyBpbnZhbGlkJyk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBzdG9wIHdzIGNvbm5lY3Rpb24gdG8gbm9kZS5cbiAgICovXG4gIHN0b3AgPSBhc3luYyAoKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgdGhpcy5zdG9wcGVkID0gdHJ1ZTtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5zaHV0ZG93bigpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBUaGUgY29ubmVjdGlvbiBzdGF0dXMgb2Ygb2dtaW9zIHNjYW5uZXJcbiAgICovXG4gIGdldENvbm5lY3Rpb25TdGF0dXMgPSAoKSA9PiB0aGlzLmNvbm5lY3RlZDtcbn1cblxuZXhwb3J0IHsgQ2FyZGFub09nbWlvc1NjYW5uZXIgfTtcbiJdfQ==
|