@dcl/sdk 7.31.0 → 7.31.1-39942109730.commit-afd7f79
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/observables.js +8 -2
- package/package.json +6 -6
- package/src/observables.ts +6 -1
package/observables.js
CHANGED
|
@@ -221,9 +221,15 @@ function processObservables() {
|
|
|
221
221
|
* PROFILE CHANGE observable
|
|
222
222
|
*/
|
|
223
223
|
function subscribeProfileChange() {
|
|
224
|
-
|
|
224
|
+
let lastAvatarBaseProfile;
|
|
225
|
+
AvatarBase.onChange(engine.PlayerEntity, (value) => {
|
|
225
226
|
if (!profileAddress)
|
|
226
227
|
return;
|
|
228
|
+
// talking flips on every speaking start/stop and is not profile data
|
|
229
|
+
const avatarBaseProfile = JSON.stringify({ ...value, talking: undefined });
|
|
230
|
+
if (avatarBaseProfile === lastAvatarBaseProfile)
|
|
231
|
+
return;
|
|
232
|
+
lastAvatarBaseProfile = avatarBaseProfile;
|
|
227
233
|
onProfileChanged.notifyObservers({ ethAddress: profileAddress, version: 0 });
|
|
228
234
|
});
|
|
229
235
|
AvatarEquippedData.onChange(engine.PlayerEntity, () => {
|
|
@@ -250,4 +256,4 @@ function processObservables() {
|
|
|
250
256
|
engine.addSystem(observableSystem);
|
|
251
257
|
return { subscribe };
|
|
252
258
|
}
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb2JzZXJ2YWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2xELE9BQU8sRUFDTCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUVsQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLFNBQVMsRUFFVCxNQUFNLEVBQ1AsTUFBTSxVQUFVLENBQUE7QUFDakIsT0FBTyxFQUF1QyxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRixPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUErRmhFOzs7O0dBSUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLFNBQXdCO0lBQ2hELE9BQU8sR0FBRyxFQUFFO1FBQ1YsSUFBSSxTQUFTLEtBQUssT0FBTyxFQUFFO1lBQ3pCLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDdkQ7YUFBTTtZQUNMLHdCQUF3QixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUMvQztJQUNILENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxVQUFVLENBQTBCLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7QUFDL0c7OzhNQUU4TTtBQUM5TSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQUE7QUFFbEQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksVUFBVSxDQUEwQixnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO0FBRS9HOzs4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QWtDLENBQUE7SUFFdEMsU0FBUyxnQkFBZ0I7UUFDdkIsSUFBSSxVQUFVLElBQUksY0FBYyxFQUFFO1lBQ2hDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLFVBQVUsR0FBRyxJQUFJLENBQUE7WUFDakIsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1NBQzNDO1FBQ0QsSUFBSSxjQUFjO1lBQUUsT0FBTTtRQUMxQixjQUFjLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUE7SUFDN0UsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUVsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUE7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuL2ludGVybmFsL09ic2VydmFibGUnXG5pbXBvcnQge1xuICBBdmF0YXJCYXNlLFxuICBBdmF0YXJFbW90ZUNvbW1hbmQsXG4gIEF2YXRhckVxdWlwcGVkRGF0YSxcbiAgRW50aXR5LFxuICBQbGF5ZXJJZGVudGl0eURhdGEsXG4gIFBvaW50ZXJFdmVudHNSZXN1bHQsXG4gIFJlYWxtSW5mbyxcbiAgVmVjdG9yM1R5cGUsXG4gIGVuZ2luZVxufSBmcm9tICdAZGNsL2VjcydcbmltcG9ydCB7IE1hbnlFbnRpdHlBY3Rpb24sIFNlbmRCYXRjaFJlc3BvbnNlLCBzdWJzY3JpYmUgfSBmcm9tICd+c3lzdGVtL0VuZ2luZUFwaSdcbmltcG9ydCBwbGF5ZXJzIGZyb20gJy4vcGxheWVycydcbmltcG9ydCB7IGxvY2FsZUNoYW5nZWRFdmVudHMgfSBmcm9tICcuL2ludGVybmFsL2xhbmd1YWdlLWV2ZW50cydcblxuLy8vIC0tLSBFVkVOVFMgLS0tXG5cbi8qKiBAcHVibGljICovXG5leHBvcnQgdHlwZSBJRXZlbnROYW1lcyA9IGtleW9mIElFdmVudHNcblxuLyoqXG4gKiBAcHVibGljXG4gKiBOb3RlOiBEb24ndCB1c2UgYG9uYCBwcmVmaXggZm9yIElFdmVudHMgdG8gYXZvaWQgcmVkdW5kYW5jeSB3aXRoIGBldmVudC5vbihcIm9uRXZlbnROYW1lXCIpYCBzeW50YXguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUV2ZW50cyB7XG4gIHBsYXllckV4cHJlc3Npb246IHtcbiAgICBleHByZXNzaW9uSWQ6IHN0cmluZ1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZ2V0cyB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBlbnRlcnMgdGhlIHNjZW5lXG4gICAqL1xuICBvbkVudGVyU2NlbmU6IHtcbiAgICB1c2VySWQ6IHN0cmluZ1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZ2V0cyB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBsZWF2ZXMgdGhlIHNjZW5lXG4gICAqL1xuICBvbkxlYXZlU2NlbmU6IHtcbiAgICB1c2VySWQ6IHN0cmluZ1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZ2V0cyB0cmlnZ2VyZWQgYWZ0ZXIgcmVjZWl2aW5nIGEgY29tbXMgbWVzc2FnZS5cbiAgICovXG4gIGNvbW1zOiB7XG4gICAgc2VuZGVyOiBzdHJpbmdcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgfVxuXG4gIC8qKiBUcmlnZ2VyZWQgd2hlbiB0aGUgcGxheWVyIHN3aXRjaGVzIHRoZSBjbGllbnQgbGFuZ3VhZ2UuIGBsb2NhbGVgIGlzIGEgQkNQLTQ3IHRhZyAqL1xuICBsb2NhbGVDaGFuZ2VkOiB7XG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIHRyaWdnZXJlZCBvbmNlIHRoZSBzY2VuZSBzaG91bGQgc3RhcnQuXG4gICAqL1xuICBzY2VuZVN0YXJ0OiB1bmtub3duXG5cbiAgLyoqIFRoaXMgaXMgdHJpZ2dlcmVkIGF0IGxlYXN0IGZvciBlYWNoIHZpZGVvU3RhdHVzIGNoYW5nZSAqL1xuICB2aWRlb0V2ZW50OiB7XG4gICAgY29tcG9uZW50SWQ6IHN0cmluZ1xuICAgIHZpZGVvQ2xpcElkOiBzdHJpbmdcbiAgICAvKiogU3RhdHVzLCBjYW4gYmUgTk9ORSA9IDAsIEVSUk9SID0gMSwgTE9BRElORyA9IDIsIFJFQURZID0gMywgUExBWUlORyA9IDQsQlVGRkVSSU5HID0gNSAqL1xuICAgIHZpZGVvU3RhdHVzOiBudW1iZXJcbiAgICAvKiogQ3VycmVudCBvZmZzZXQgcG9zaXRpb24gaW4gc2Vjb25kcyAqL1xuICAgIGN1cnJlbnRPZmZzZXQ6IG51bWJlclxuICAgIC8qKiBWaWRlbyBsZW5ndGggaW4gc2Vjb25kcy4gQ2FuIGJlIC0xICovXG4gICAgdG90YWxWaWRlb0xlbmd0aDogbnVtYmVyXG4gIH1cblxuICAvKiogVGhpcyBpcyB0cmlnZ2VyIGV2ZXJ5dGltZSBhIHByb2ZpbGUgaXMgY2hhbmdlZCAqL1xuICBwcm9maWxlQ2hhbmdlZDoge1xuICAgIGV0aEFkZHJlc3M6IHN0cmluZ1xuICAgIHZlcnNpb246IG51bWJlclxuICB9XG5cbiAgLyoqIFRyaWdnZXJlZCB3aGVuIHBlZXIncyBhdmF0YXIgaXMgY29ubmVjdGVkIGFuZCB2aXNpYmxlICovXG4gIHBsYXllckNvbm5lY3RlZDoge1xuICAgIHVzZXJJZDogc3RyaW5nXG4gIH1cblxuICAvKiogVHJpZ2dlcmVkIHdoZW4gcGVlciBkaXNjb25uZWN0IGFuZC9vciBpdCBhdmF0YXIgaXMgc2V0IGludmlzaWJsZSBieSBjb21tcyAqL1xuICBwbGF5ZXJEaXNjb25uZWN0ZWQ6IHtcbiAgICB1c2VySWQ6IHN0cmluZ1xuICB9XG5cbiAgLyoqIFRyaWdnZXJlZCB3aGVuIGN1cnJlbnQgcmVhbG0gb3IgaXNsYW5kIGNoYW5nZXMgKi9cbiAgb25SZWFsbUNoYW5nZWQ6IHtcbiAgICBkb21haW46IHN0cmluZ1xuICAgIHJvb206IHN0cmluZ1xuICAgIHNlcnZlck5hbWU6IHN0cmluZ1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmdcbiAgfVxuXG4gIC8qKiBUcmlnZ2VyZWQgd2hlbiBvdGhlciBwbGF5ZXIncyBhdmF0YXIgaXMgY2xpY2tlZCAqL1xuICBwbGF5ZXJDbGlja2VkOiB7XG4gICAgdXNlcklkOiBzdHJpbmdcbiAgICByYXk6IHtcbiAgICAgIG9yaWdpbjogVmVjdG9yM1R5cGVcbiAgICAgIGRpcmVjdGlvbjogVmVjdG9yM1R5cGVcbiAgICAgIGRpc3RhbmNlOiBudW1iZXJcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIFRoaXMgZnVuY3Rpb24gZ2VuZXJhdGVzIGEgY2FsbGJhY2sgdGhhdCBpcyBwYXNzZWQgdG8gdGhlIE9ic2VydmFibGVcbiAqIGNvbnN0cnVjdG9yIHRvIHN1YnNjcmliZSB0byB0aGUgZXZlbnRzIG9mIHRoZSBEZWNlbnRyYWxhbmRJbnRlcmZhY2VcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3Vic2NyaWJlcihldmVudE5hbWU6IGtleW9mIElFdmVudHMpIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBpZiAoZXZlbnROYW1lID09PSAnY29tbXMnKSB7XG4gICAgICBzdWJzY3JpYmUoeyBldmVudElkOiBldmVudE5hbWUgfSkuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgICB9IGVsc2Uge1xuICAgICAgU0RLN0NvbXBvbmVudHNPYnNlcnZhYmxlPy5zdWJzY3JpYmUoZXZlbnROYW1lKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoZXNlIGV2ZW50cyBhcmUgdHJpZ2dlcmVkIGFmdGVyIHlvdXIgY2hhcmFjdGVyIGVudGVycyB0aGUgc2NlbmUuXG4gKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25FbnRlclNjZW5lT2JzZXJ2YWJsZSA9IG5ldyBPYnNlcnZhYmxlPElFdmVudHNbJ29uRW50ZXJTY2VuZSddPihjcmVhdGVTdWJzY3JpYmVyKCdvbkVudGVyU2NlbmUnKSlcbi8qKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICogQGRlcHJlY2F0ZWQgVGhpcyBmdW5jdGlvbiBpcyBhbiBpbmhlcml0YW5jZSBvZiBFQ1M2LCBpdCdzIGhlcmUgdGVtcG9yYXJ5IGZvciB0aGUgZmVhdHVyZSBwYXJpdHksIHBsZWFzZSByZWFkIHRoZSBuZXdzIGFuZCBkb2NzIHRvIGtub3cgaG93IGhhbmRsZSB3aGVuIGl0J3MgcmVtb3ZlZC4gVXNlIG9uRW50ZXJTY2VuZU9ic2VydmFibGUgaW5zdGVhZC4gKi9cbmV4cG9ydCBjb25zdCBvbkVudGVyU2NlbmUgPSBvbkVudGVyU2NlbmVPYnNlcnZhYmxlXG5cbi8qKlxuICogVGhlc2UgZXZlbnRzIGFyZSB0cmlnZ2VyZWQgYWZ0ZXIgeW91ciBjaGFyYWN0ZXIgbGVhdmVzIHRoZSBzY2VuZS5cbiAqIEBwdWJsaWNcbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBvbkxlYXZlU2NlbmVPYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGU8SUV2ZW50c1snb25MZWF2ZVNjZW5lJ10+KGNyZWF0ZVN1YnNjcmliZXIoJ29uTGVhdmVTY2VuZScpKVxuXG4vKiogQHB1YmxpY1xuICogQGRlcHJlY2F0ZWQgVGhpcyBmdW5jdGlvbiBpcyBhbiBpbmhlcml0YW5jZSBvZiBFQ1M2LCBpdCdzIGhlcmUgdGVtcG9yYXJ5IGZvciB0aGUgZmVhdHVyZSBwYXJpdHksIHBsZWFzZSByZWFkIHRoZSBuZXdzIGFuZCBkb2NzIHRvIGtub3cgaG93IGhhbmRsZSB3aGVuIGl0J3MgcmVtb3ZlZC5cbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuIFVzZSBvbkxlYXZlU2NlbmVPYnNlcnZhYmxlIGluc3RlYWQuICovXG5leHBvcnQgY29uc3Qgb25MZWF2ZVNjZW5lID0gb25MZWF2ZVNjZW5lT2JzZXJ2YWJsZVxuXG4vKipcbiAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIGFmdGVyIGFsbCB0aGUgcmVzb3VyY2VzIG9mIHRoZSBzY2VuZSB3ZXJlIGxvYWRlZCAobW9kZWxzLCB0ZXh0dXJlcywgZXRjLi4uKVxuICogQHB1YmxpY1xuICogQGRlcHJlY2F0ZWQgVGhpcyBmdW5jdGlvbiBpcyBhbiBpbmhlcml0YW5jZSBvZiBFQ1M2LCBpdCdzIGhlcmUgdGVtcG9yYXJ5IGZvciB0aGUgZmVhdHVyZSBwYXJpdHksIHBsZWFzZSByZWFkIHRoZSBuZXdzIGFuZCBkb2NzIHRvIGtub3cgaG93IGhhbmRsZSB3aGVuIGl0J3MgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uU2NlbmVSZWFkeU9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxJRXZlbnRzWydzY2VuZVN0YXJ0J10+KGNyZWF0ZVN1YnNjcmliZXIoJ3NjZW5lU3RhcnQnKSlcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25QbGF5ZXJFeHByZXNzaW9uT2JzZXJ2YWJsZSA9IG5ldyBPYnNlcnZhYmxlPElFdmVudHNbJ3BsYXllckV4cHJlc3Npb24nXT4oXG4gIGNyZWF0ZVN1YnNjcmliZXIoJ3BsYXllckV4cHJlc3Npb24nKVxuKVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBvblZpZGVvRXZlbnQgPSBuZXcgT2JzZXJ2YWJsZTxJRXZlbnRzWyd2aWRlb0V2ZW50J10+KGNyZWF0ZVN1YnNjcmliZXIoJ3ZpZGVvRXZlbnQnKSlcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25Qcm9maWxlQ2hhbmdlZCA9IG5ldyBPYnNlcnZhYmxlPElFdmVudHNbJ3Byb2ZpbGVDaGFuZ2VkJ10+KGNyZWF0ZVN1YnNjcmliZXIoJ3Byb2ZpbGVDaGFuZ2VkJykpXG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlcHJlY2F0ZWQgVGhpcyBmdW5jdGlvbiBpcyBhbiBpbmhlcml0YW5jZSBvZiBFQ1M2LCBpdCdzIGhlcmUgdGVtcG9yYXJ5IGZvciB0aGUgZmVhdHVyZSBwYXJpdHksIHBsZWFzZSByZWFkIHRoZSBuZXdzIGFuZCBkb2NzIHRvIGtub3cgaG93IGhhbmRsZSB3aGVuIGl0J3MgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uUGxheWVyQ29ubmVjdGVkT2JzZXJ2YWJsZSA9IG5ldyBPYnNlcnZhYmxlPElFdmVudHNbJ3BsYXllckNvbm5lY3RlZCddPihcbiAgY3JlYXRlU3Vic2NyaWJlcigncGxheWVyQ29ubmVjdGVkJylcbilcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25QbGF5ZXJEaXNjb25uZWN0ZWRPYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGU8SUV2ZW50c1sncGxheWVyRGlzY29ubmVjdGVkJ10+KFxuICBjcmVhdGVTdWJzY3JpYmVyKCdwbGF5ZXJEaXNjb25uZWN0ZWQnKVxuKVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBvblJlYWxtQ2hhbmdlZE9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxJRXZlbnRzWydvblJlYWxtQ2hhbmdlZCddPihjcmVhdGVTdWJzY3JpYmVyKCdvblJlYWxtQ2hhbmdlZCcpKVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBvblBsYXllckNsaWNrZWRPYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGU8SUV2ZW50c1sncGxheWVyQ2xpY2tlZCddPihjcmVhdGVTdWJzY3JpYmVyKCdwbGF5ZXJDbGlja2VkJykpXG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25Db21tc01lc3NhZ2UgPSBuZXcgT2JzZXJ2YWJsZTxJRXZlbnRzWydjb21tcyddPihjcmVhdGVTdWJzY3JpYmVyKCdjb21tcycpKVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgdGhpcyBpcyBhbiBPTEQgQVBJLlxuICogVGhpcyBmdW5jdGlvbiB1c2VzIHRoZSBTREs2IHNlbmRCYXRjaCB0byBwb2xsIGV2ZW50cyBmcm9tIHRoZSByZW5kZXJlclxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9sbEV2ZW50cyhzZW5kQmF0Y2g6IChib2R5OiBNYW55RW50aXR5QWN0aW9uKSA9PiBQcm9taXNlPFNlbmRCYXRjaFJlc3BvbnNlPikge1xuICBjb25zdCB7IGV2ZW50cyB9ID0gYXdhaXQgc2VuZEJhdGNoKHsgYWN0aW9uczogW10gfSlcbiAgZm9yIChjb25zdCBlIG9mIGV2ZW50cykge1xuICAgIGlmIChlLmdlbmVyaWMpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGUuZ2VuZXJpYy5ldmVudERhdGEpXG4gICAgICBzd2l0Y2ggKGUuZ2VuZXJpYy5ldmVudElkKSB7XG4gICAgICAgIGNhc2UgJ2NvbW1zJzoge1xuICAgICAgICAgIG9uQ29tbXNNZXNzYWdlLm5vdGlmeU9ic2VydmVycyhkYXRhIGFzIElFdmVudHNbJ2NvbW1zJ10pXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdsb2NhbGVDaGFuZ2VkJzoge1xuICAgICAgICAgIGxvY2FsZUNoYW5nZWRFdmVudHMubm90aWZ5T2JzZXJ2ZXJzKGRhdGEgYXMgSUV2ZW50c1snbG9jYWxlQ2hhbmdlZCddKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuY29uc3QgU0RLN0NvbXBvbmVudHNPYnNlcnZhYmxlID0gcHJvY2Vzc09ic2VydmFibGVzKClcbmZ1bmN0aW9uIHByb2Nlc3NPYnNlcnZhYmxlcygpIHtcbiAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IG5ldyBTZXQ8a2V5b2YgSUV2ZW50cz4oKVxuXG4gIGZ1bmN0aW9uIHN1YnNjcmliZShldmVudE5hbWU6IGtleW9mIElFdmVudHMpIHtcbiAgICBpZiAoc3Vic2NyaXB0aW9ucy5oYXMoZXZlbnROYW1lKSkgcmV0dXJuXG4gICAgc3dpdGNoIChldmVudE5hbWUpIHtcbiAgICAgIGNhc2UgJ3BsYXllckNsaWNrZWQnOiB7XG4gICAgICAgIHN1YnNjcmliZVBsYXllckNsaWNrKClcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ29uRW50ZXJTY2VuZSc6XG4gICAgICBjYXNlICdwbGF5ZXJDb25uZWN0ZWQnOiB7XG4gICAgICAgIHN1YnNjcmliZUVudGVyU2NlbmUoKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnb25MZWF2ZVNjZW5lJzpcbiAgICAgIGNhc2UgJ3BsYXllckRpc2Nvbm5lY3RlZCc6IHtcbiAgICAgICAgc3Vic2NyaWJlTGVhdmVTY2VuZSgpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdvblJlYWxtQ2hhbmdlZCc6IHtcbiAgICAgICAgc3Vic2NyaWJlUmVhbG1DaGFuZ2UoKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAncGxheWVyRXhwcmVzc2lvbic6IHtcbiAgICAgICAgc3Vic2NyaWJlUGxheWVyRXhwcmVzc2lvbigpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdwcm9maWxlQ2hhbmdlZCc6IHtcbiAgICAgICAgc3Vic2NyaWJlUHJvZmlsZUNoYW5nZSgpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIHN1YnNjcmlwdGlvbnMuYWRkKGV2ZW50TmFtZSlcbiAgfVxuICAvKipcbiAgICogUExBWUVSIEVOVEVSL0NPTk5FQ1RFRCBvYnNlcnZhYmxlXG4gICAqL1xuICBmdW5jdGlvbiBzdWJzY3JpYmVFbnRlclNjZW5lKCkge1xuICAgIHBsYXllcnMub25FbnRlclNjZW5lKChwbGF5ZXIpID0+IHtcbiAgICAgIGlmIChzdWJzY3JpcHRpb25zLmhhcygnb25FbnRlclNjZW5lJykpIHtcbiAgICAgICAgb25FbnRlclNjZW5lT2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnMoeyB1c2VySWQ6IHBsYXllci51c2VySWQgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnMuaGFzKCdwbGF5ZXJDb25uZWN0ZWQnKSkge1xuICAgICAgICBvblBsYXllckNvbm5lY3RlZE9ic2VydmFibGUubm90aWZ5T2JzZXJ2ZXJzKHsgdXNlcklkOiBwbGF5ZXIudXNlcklkIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfVxuICAvKipcbiAgICogUExBWUVSIExFQVZFL0RJU0NPTk5FQ1RFRCBvYnNlcnZhYmxlXG4gICAqL1xuICBmdW5jdGlvbiBzdWJzY3JpYmVMZWF2ZVNjZW5lKCkge1xuICAgIHBsYXllcnMub25MZWF2ZVNjZW5lKCh1c2VySWQpID0+IHtcbiAgICAgIGlmIChzdWJzY3JpcHRpb25zLmhhcygnb25MZWF2ZVNjZW5lJykpIHtcbiAgICAgICAgb25MZWF2ZVNjZW5lT2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnMoeyB1c2VySWQgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnMuaGFzKCdwbGF5ZXJEaXNjb25uZWN0ZWQnKSkge1xuICAgICAgICBvblBsYXllckRpc2Nvbm5lY3RlZE9ic2VydmFibGUubm90aWZ5T2JzZXJ2ZXJzKHsgdXNlcklkIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfVxuICAvKipcbiAgICogUkVBTE0gQ0hBTkdFIG9ic2VydmFibGVcbiAgICovXG4gIGZ1bmN0aW9uIHN1YnNjcmliZVJlYWxtQ2hhbmdlKCkge1xuICAgIFJlYWxtSW5mby5vbkNoYW5nZShlbmdpbmUuUm9vdEVudGl0eSwgKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgb25SZWFsbUNoYW5nZWRPYnNlcnZhYmxlLm5vdGlmeU9ic2VydmVycyh7XG4gICAgICAgICAgZG9tYWluOiB2YWx1ZS5iYXNlVXJsLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiB2YWx1ZS5yZWFsbU5hbWUsXG4gICAgICAgICAgcm9vbTogdmFsdWUucm9vbSA/PyAnJyxcbiAgICAgICAgICBzZXJ2ZXJOYW1lOiB2YWx1ZS5yZWFsbU5hbWVcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIC8qKlxuICAgKiBQTEFZRVIvQVZBVEFSIENMSUNLRUQgb2JzZXJ2YWJsZVxuICAgKi9cbiAgZnVuY3Rpb24gc3Vic2NyaWJlUGxheWVyQ2xpY2soKSB7XG4gICAgY29uc3QgcGxheWVyRW50aXRpZXMgPSBuZXcgU2V0PEVudGl0eT4oKVxuICAgIGVuZ2luZS5hZGRTeXN0ZW0oKCkgPT4ge1xuICAgICAgZm9yIChjb25zdCBbZW50aXR5XSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKFBsYXllcklkZW50aXR5RGF0YSkpIHtcbiAgICAgICAgaWYgKHBsYXllckVudGl0aWVzLmhhcyhlbnRpdHkpKSBjb250aW51ZVxuICAgICAgICBwbGF5ZXJFbnRpdGllcy5hZGQoZW50aXR5KVxuXG4gICAgICAgIFBvaW50ZXJFdmVudHNSZXN1bHQub25DaGFuZ2UoZW50aXR5LCAoZGF0YSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhPy5oaXQpIHtcbiAgICAgICAgICAgIG9uUGxheWVyQ2xpY2tlZE9ic2VydmFibGUubm90aWZ5T2JzZXJ2ZXJzKHtcbiAgICAgICAgICAgICAgdXNlcklkOiBQbGF5ZXJJZGVudGl0eURhdGEuZ2V0T3JOdWxsKGVudGl0eSk/LmFkZHJlc3MgPz8gJycsXG4gICAgICAgICAgICAgIHJheToge1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogZGF0YS5oaXQuZGlyZWN0aW9uISxcbiAgICAgICAgICAgICAgICBkaXN0YW5jZTogZGF0YS5oaXQubGVuZ3RoLFxuICAgICAgICAgICAgICAgIG9yaWdpbjogZGF0YS5oaXQuZ2xvYmFsT3JpZ2luIVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFBsYXllciBleHByZXNzaW9uIG9ic2VydmFibGVcbiAgICovXG4gIGZ1bmN0aW9uIHN1YnNjcmliZVBsYXllckV4cHJlc3Npb24oKSB7XG4gICAgQXZhdGFyRW1vdGVDb21tYW5kLm9uQ2hhbmdlKGVuZ2luZS5QbGF5ZXJFbnRpdHksICh2YWx1ZSkgPT4ge1xuICAgICAgb25QbGF5ZXJFeHByZXNzaW9uT2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnMoeyBleHByZXNzaW9uSWQ6IHZhbHVlPy5lbW90ZVVybiA/PyAnJyB9KVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUFJPRklMRSBDSEFOR0Ugb2JzZXJ2YWJsZVxuICAgKi9cbiAgZnVuY3Rpb24gc3Vic2NyaWJlUHJvZmlsZUNoYW5nZSgpIHtcbiAgICBBdmF0YXJCYXNlLm9uQ2hhbmdlKGVuZ2luZS5QbGF5ZXJFbnRpdHksICgpID0+IHtcbiAgICAgIGlmICghcHJvZmlsZUFkZHJlc3MpIHJldHVyblxuICAgICAgb25Qcm9maWxlQ2hhbmdlZC5ub3RpZnlPYnNlcnZlcnMoeyBldGhBZGRyZXNzOiBwcm9maWxlQWRkcmVzcywgdmVyc2lvbjogMCB9KVxuICAgIH0pXG5cbiAgICBBdmF0YXJFcXVpcHBlZERhdGEub25DaGFuZ2UoZW5naW5lLlBsYXllckVudGl0eSwgKCkgPT4ge1xuICAgICAgaWYgKCFwcm9maWxlQWRkcmVzcykgcmV0dXJuXG4gICAgICBvblByb2ZpbGVDaGFuZ2VkLm5vdGlmeU9ic2VydmVycyh7IGV0aEFkZHJlc3M6IHByb2ZpbGVBZGRyZXNzLCB2ZXJzaW9uOiAwIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8vIEZsYWcgdG8gY2FsbCBvbmNlIHRoZSBzY2VuZSBpcyBpbml0YWxpemVkLlxuICBsZXQgc2NlbmVSZWFkeSA9IGZhbHNlXG4gIGxldCBwcm9maWxlQWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgZnVuY3Rpb24gb2JzZXJ2YWJsZVN5c3RlbSgpIHtcbiAgICBpZiAoc2NlbmVSZWFkeSAmJiBwcm9maWxlQWRkcmVzcykge1xuICAgICAgcmV0dXJuIGVuZ2luZS5yZW1vdmVTeXN0ZW0ob2JzZXJ2YWJsZVN5c3RlbSlcbiAgICB9XG4gICAgaWYgKCFzY2VuZVJlYWR5KSB7XG4gICAgICBzY2VuZVJlYWR5ID0gdHJ1ZVxuICAgICAgb25TY2VuZVJlYWR5T2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnMoe30pXG4gICAgfVxuICAgIGlmIChwcm9maWxlQWRkcmVzcykgcmV0dXJuXG4gICAgcHJvZmlsZUFkZHJlc3MgPSBQbGF5ZXJJZGVudGl0eURhdGEuZ2V0T3JOdWxsKGVuZ2luZS5QbGF5ZXJFbnRpdHkpPy5hZGRyZXNzXG4gIH1cblxuICBlbmdpbmUuYWRkU3lzdGVtKG9ic2VydmFibGVTeXN0ZW0pXG5cbiAgcmV0dXJuIHsgc3Vic2NyaWJlIH1cbn1cbiJdfQ==
|
|
259
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvb2JzZXJ2YWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2xELE9BQU8sRUFDTCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGtCQUFrQixFQUVsQixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLFNBQVMsRUFFVCxNQUFNLEVBQ1AsTUFBTSxVQUFVLENBQUE7QUFDakIsT0FBTyxFQUF1QyxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUNsRixPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUErRmhFOzs7O0dBSUc7QUFDSCxTQUFTLGdCQUFnQixDQUFDLFNBQXdCO0lBQ2hELE9BQU8sR0FBRyxFQUFFO1FBQ1YsSUFBSSxTQUFTLEtBQUssT0FBTyxFQUFFO1lBQ3pCLFNBQVMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDdkQ7YUFBTTtZQUNMLHdCQUF3QixFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUMvQztJQUNILENBQUMsQ0FBQTtBQUNILENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxVQUFVLENBQTBCLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUE7QUFDL0c7OzhNQUU4TTtBQUM5TSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsc0JBQXNCLENBQUE7QUFFbEQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLElBQUksVUFBVSxDQUEwQixnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFBO0FBRS9HOzs4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QUcsRUFBRTtZQUNwRCxJQUFJLENBQUMsY0FBYztnQkFBRSxPQUFNO1lBQzNCLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDOUUsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsNkNBQTZDO0lBQzdDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQTtJQUN0QixJQUFJLGNBQWtDLENBQUE7SUFFdEMsU0FBUyxnQkFBZ0I7UUFDdkIsSUFBSSxVQUFVLElBQUksY0FBYyxFQUFFO1lBQ2hDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNmLFVBQVUsR0FBRyxJQUFJLENBQUE7WUFDakIsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFBO1NBQzNDO1FBQ0QsSUFBSSxjQUFjO1lBQUUsT0FBTTtRQUMxQixjQUFjLEdBQUcsa0JBQWtCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUE7SUFDN0UsQ0FBQztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUVsQyxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUE7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuL2ludGVybmFsL09ic2VydmFibGUnXG5pbXBvcnQge1xuICBBdmF0YXJCYXNlLFxuICBBdmF0YXJFbW90ZUNvbW1hbmQsXG4gIEF2YXRhckVxdWlwcGVkRGF0YSxcbiAgRW50aXR5LFxuICBQbGF5ZXJJZGVudGl0eURhdGEsXG4gIFBvaW50ZXJFdmVudHNSZXN1bHQsXG4gIFJlYWxtSW5mbyxcbiAgVmVjdG9yM1R5cGUsXG4gIGVuZ2luZVxufSBmcm9tICdAZGNsL2VjcydcbmltcG9ydCB7IE1hbnlFbnRpdHlBY3Rpb24sIFNlbmRCYXRjaFJlc3BvbnNlLCBzdWJzY3JpYmUgfSBmcm9tICd+c3lzdGVtL0VuZ2luZUFwaSdcbmltcG9ydCBwbGF5ZXJzIGZyb20gJy4vcGxheWVycydcbmltcG9ydCB7IGxvY2FsZUNoYW5nZWRFdmVudHMgfSBmcm9tICcuL2ludGVybmFsL2xhbmd1YWdlLWV2ZW50cydcblxuLy8vIC0tLSBFVkVOVFMgLS0tXG5cbi8qKiBAcHVibGljICovXG5leHBvcnQgdHlwZSBJRXZlbnROYW1lcyA9IGtleW9mIElFdmVudHNcblxuLyoqXG4gKiBAcHVibGljXG4gKiBOb3RlOiBEb24ndCB1c2UgYG9uYCBwcmVmaXggZm9yIElFdmVudHMgdG8gYXZvaWQgcmVkdW5kYW5jeSB3aXRoIGBldmVudC5vbihcIm9uRXZlbnROYW1lXCIpYCBzeW50YXguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUV2ZW50cyB7XG4gIHBsYXllckV4cHJlc3Npb246IHtcbiAgICBleHByZXNzaW9uSWQ6IHN0cmluZ1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZ2V0cyB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBlbnRlcnMgdGhlIHNjZW5lXG4gICAqL1xuICBvbkVudGVyU2NlbmU6IHtcbiAgICB1c2VySWQ6IHN0cmluZ1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZ2V0cyB0cmlnZ2VyZWQgd2hlbiB0aGUgdXNlciBsZWF2ZXMgdGhlIHNjZW5lXG4gICAqL1xuICBvbkxlYXZlU2NlbmU6IHtcbiAgICB1c2VySWQ6IHN0cmluZ1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZ2V0cyB0cmlnZ2VyZWQgYWZ0ZXIgcmVjZWl2aW5nIGEgY29tbXMgbWVzc2FnZS5cbiAgICovXG4gIGNvbW1zOiB7XG4gICAgc2VuZGVyOiBzdHJpbmdcbiAgICBtZXNzYWdlOiBzdHJpbmdcbiAgfVxuXG4gIC8qKiBUcmlnZ2VyZWQgd2hlbiB0aGUgcGxheWVyIHN3aXRjaGVzIHRoZSBjbGllbnQgbGFuZ3VhZ2UuIGBsb2NhbGVgIGlzIGEgQkNQLTQ3IHRhZyAqL1xuICBsb2NhbGVDaGFuZ2VkOiB7XG4gICAgbG9jYWxlOiBzdHJpbmdcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIHRyaWdnZXJlZCBvbmNlIHRoZSBzY2VuZSBzaG91bGQgc3RhcnQuXG4gICAqL1xuICBzY2VuZVN0YXJ0OiB1bmtub3duXG5cbiAgLyoqIFRoaXMgaXMgdHJpZ2dlcmVkIGF0IGxlYXN0IGZvciBlYWNoIHZpZGVvU3RhdHVzIGNoYW5nZSAqL1xuICB2aWRlb0V2ZW50OiB7XG4gICAgY29tcG9uZW50SWQ6IHN0cmluZ1xuICAgIHZpZGVvQ2xpcElkOiBzdHJpbmdcbiAgICAvKiogU3RhdHVzLCBjYW4gYmUgTk9ORSA9IDAsIEVSUk9SID0gMSwgTE9BRElORyA9IDIsIFJFQURZID0gMywgUExBWUlORyA9IDQsQlVGRkVSSU5HID0gNSAqL1xuICAgIHZpZGVvU3RhdHVzOiBudW1iZXJcbiAgICAvKiogQ3VycmVudCBvZmZzZXQgcG9zaXRpb24gaW4gc2Vjb25kcyAqL1xuICAgIGN1cnJlbnRPZmZzZXQ6IG51bWJlclxuICAgIC8qKiBWaWRlbyBsZW5ndGggaW4gc2Vjb25kcy4gQ2FuIGJlIC0xICovXG4gICAgdG90YWxWaWRlb0xlbmd0aDogbnVtYmVyXG4gIH1cblxuICAvKiogVGhpcyBpcyB0cmlnZ2VyIGV2ZXJ5dGltZSBhIHByb2ZpbGUgaXMgY2hhbmdlZCAqL1xuICBwcm9maWxlQ2hhbmdlZDoge1xuICAgIGV0aEFkZHJlc3M6IHN0cmluZ1xuICAgIHZlcnNpb246IG51bWJlclxuICB9XG5cbiAgLyoqIFRyaWdnZXJlZCB3aGVuIHBlZXIncyBhdmF0YXIgaXMgY29ubmVjdGVkIGFuZCB2aXNpYmxlICovXG4gIHBsYXllckNvbm5lY3RlZDoge1xuICAgIHVzZXJJZDogc3RyaW5nXG4gIH1cblxuICAvKiogVHJpZ2dlcmVkIHdoZW4gcGVlciBkaXNjb25uZWN0IGFuZC9vciBpdCBhdmF0YXIgaXMgc2V0IGludmlzaWJsZSBieSBjb21tcyAqL1xuICBwbGF5ZXJEaXNjb25uZWN0ZWQ6IHtcbiAgICB1c2VySWQ6IHN0cmluZ1xuICB9XG5cbiAgLyoqIFRyaWdnZXJlZCB3aGVuIGN1cnJlbnQgcmVhbG0gb3IgaXNsYW5kIGNoYW5nZXMgKi9cbiAgb25SZWFsbUNoYW5nZWQ6IHtcbiAgICBkb21haW46IHN0cmluZ1xuICAgIHJvb206IHN0cmluZ1xuICAgIHNlcnZlck5hbWU6IHN0cmluZ1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmdcbiAgfVxuXG4gIC8qKiBUcmlnZ2VyZWQgd2hlbiBvdGhlciBwbGF5ZXIncyBhdmF0YXIgaXMgY2xpY2tlZCAqL1xuICBwbGF5ZXJDbGlja2VkOiB7XG4gICAgdXNlcklkOiBzdHJpbmdcbiAgICByYXk6IHtcbiAgICAgIG9yaWdpbjogVmVjdG9yM1R5cGVcbiAgICAgIGRpcmVjdGlvbjogVmVjdG9yM1R5cGVcbiAgICAgIGRpc3RhbmNlOiBudW1iZXJcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqIFRoaXMgZnVuY3Rpb24gZ2VuZXJhdGVzIGEgY2FsbGJhY2sgdGhhdCBpcyBwYXNzZWQgdG8gdGhlIE9ic2VydmFibGVcbiAqIGNvbnN0cnVjdG9yIHRvIHN1YnNjcmliZSB0byB0aGUgZXZlbnRzIG9mIHRoZSBEZWNlbnRyYWxhbmRJbnRlcmZhY2VcbiAqL1xuZnVuY3Rpb24gY3JlYXRlU3Vic2NyaWJlcihldmVudE5hbWU6IGtleW9mIElFdmVudHMpIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICBpZiAoZXZlbnROYW1lID09PSAnY29tbXMnKSB7XG4gICAgICBzdWJzY3JpYmUoeyBldmVudElkOiBldmVudE5hbWUgfSkuY2F0Y2goY29uc29sZS5lcnJvcilcbiAgICB9IGVsc2Uge1xuICAgICAgU0RLN0NvbXBvbmVudHNPYnNlcnZhYmxlPy5zdWJzY3JpYmUoZXZlbnROYW1lKVxuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFRoZXNlIGV2ZW50cyBhcmUgdHJpZ2dlcmVkIGFmdGVyIHlvdXIgY2hhcmFjdGVyIGVudGVycyB0aGUgc2NlbmUuXG4gKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25FbnRlclNjZW5lT2JzZXJ2YWJsZSA9IG5ldyBPYnNlcnZhYmxlPElFdmVudHNbJ29uRW50ZXJTY2VuZSddPihjcmVhdGVTdWJzY3JpYmVyKCdvbkVudGVyU2NlbmUnKSlcbi8qKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICogQGRlcHJlY2F0ZWQgVGhpcyBmdW5jdGlvbiBpcyBhbiBpbmhlcml0YW5jZSBvZiBFQ1M2LCBpdCdzIGhlcmUgdGVtcG9yYXJ5IGZvciB0aGUgZmVhdHVyZSBwYXJpdHksIHBsZWFzZSByZWFkIHRoZSBuZXdzIGFuZCBkb2NzIHRvIGtub3cgaG93IGhhbmRsZSB3aGVuIGl0J3MgcmVtb3ZlZC4gVXNlIG9uRW50ZXJTY2VuZU9ic2VydmFibGUgaW5zdGVhZC4gKi9cbmV4cG9ydCBjb25zdCBvbkVudGVyU2NlbmUgPSBvbkVudGVyU2NlbmVPYnNlcnZhYmxlXG5cbi8qKlxuICogVGhlc2UgZXZlbnRzIGFyZSB0cmlnZ2VyZWQgYWZ0ZXIgeW91ciBjaGFyYWN0ZXIgbGVhdmVzIHRoZSBzY2VuZS5cbiAqIEBwdWJsaWNcbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBvbkxlYXZlU2NlbmVPYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGU8SUV2ZW50c1snb25MZWF2ZVNjZW5lJ10+KGNyZWF0ZVN1YnNjcmliZXIoJ29uTGVhdmVTY2VuZScpKVxuXG4vKiogQHB1YmxpY1xuICogQGRlcHJlY2F0ZWQgVGhpcyBmdW5jdGlvbiBpcyBhbiBpbmhlcml0YW5jZSBvZiBFQ1M2LCBpdCdzIGhlcmUgdGVtcG9yYXJ5IGZvciB0aGUgZmVhdHVyZSBwYXJpdHksIHBsZWFzZSByZWFkIHRoZSBuZXdzIGFuZCBkb2NzIHRvIGtub3cgaG93IGhhbmRsZSB3aGVuIGl0J3MgcmVtb3ZlZC5cbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuIFVzZSBvbkxlYXZlU2NlbmVPYnNlcnZhYmxlIGluc3RlYWQuICovXG5leHBvcnQgY29uc3Qgb25MZWF2ZVNjZW5lID0gb25MZWF2ZVNjZW5lT2JzZXJ2YWJsZVxuXG4vKipcbiAqIFRoaXMgZXZlbnQgaXMgdHJpZ2dlcmVkIGFmdGVyIGFsbCB0aGUgcmVzb3VyY2VzIG9mIHRoZSBzY2VuZSB3ZXJlIGxvYWRlZCAobW9kZWxzLCB0ZXh0dXJlcywgZXRjLi4uKVxuICogQHB1YmxpY1xuICogQGRlcHJlY2F0ZWQgVGhpcyBmdW5jdGlvbiBpcyBhbiBpbmhlcml0YW5jZSBvZiBFQ1M2LCBpdCdzIGhlcmUgdGVtcG9yYXJ5IGZvciB0aGUgZmVhdHVyZSBwYXJpdHksIHBsZWFzZSByZWFkIHRoZSBuZXdzIGFuZCBkb2NzIHRvIGtub3cgaG93IGhhbmRsZSB3aGVuIGl0J3MgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uU2NlbmVSZWFkeU9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxJRXZlbnRzWydzY2VuZVN0YXJ0J10+KGNyZWF0ZVN1YnNjcmliZXIoJ3NjZW5lU3RhcnQnKSlcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25QbGF5ZXJFeHByZXNzaW9uT2JzZXJ2YWJsZSA9IG5ldyBPYnNlcnZhYmxlPElFdmVudHNbJ3BsYXllckV4cHJlc3Npb24nXT4oXG4gIGNyZWF0ZVN1YnNjcmliZXIoJ3BsYXllckV4cHJlc3Npb24nKVxuKVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBvblZpZGVvRXZlbnQgPSBuZXcgT2JzZXJ2YWJsZTxJRXZlbnRzWyd2aWRlb0V2ZW50J10+KGNyZWF0ZVN1YnNjcmliZXIoJ3ZpZGVvRXZlbnQnKSlcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25Qcm9maWxlQ2hhbmdlZCA9IG5ldyBPYnNlcnZhYmxlPElFdmVudHNbJ3Byb2ZpbGVDaGFuZ2VkJ10+KGNyZWF0ZVN1YnNjcmliZXIoJ3Byb2ZpbGVDaGFuZ2VkJykpXG5cbi8qKlxuICogQHB1YmxpY1xuICogQGRlcHJlY2F0ZWQgVGhpcyBmdW5jdGlvbiBpcyBhbiBpbmhlcml0YW5jZSBvZiBFQ1M2LCBpdCdzIGhlcmUgdGVtcG9yYXJ5IGZvciB0aGUgZmVhdHVyZSBwYXJpdHksIHBsZWFzZSByZWFkIHRoZSBuZXdzIGFuZCBkb2NzIHRvIGtub3cgaG93IGhhbmRsZSB3aGVuIGl0J3MgcmVtb3ZlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IG9uUGxheWVyQ29ubmVjdGVkT2JzZXJ2YWJsZSA9IG5ldyBPYnNlcnZhYmxlPElFdmVudHNbJ3BsYXllckNvbm5lY3RlZCddPihcbiAgY3JlYXRlU3Vic2NyaWJlcigncGxheWVyQ29ubmVjdGVkJylcbilcblxuLyoqXG4gKiBAcHVibGljXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25QbGF5ZXJEaXNjb25uZWN0ZWRPYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGU8SUV2ZW50c1sncGxheWVyRGlzY29ubmVjdGVkJ10+KFxuICBjcmVhdGVTdWJzY3JpYmVyKCdwbGF5ZXJEaXNjb25uZWN0ZWQnKVxuKVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBvblJlYWxtQ2hhbmdlZE9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxJRXZlbnRzWydvblJlYWxtQ2hhbmdlZCddPihjcmVhdGVTdWJzY3JpYmVyKCdvblJlYWxtQ2hhbmdlZCcpKVxuXG4vKipcbiAqIEBwdWJsaWNcbiAqIEBkZXByZWNhdGVkIFRoaXMgZnVuY3Rpb24gaXMgYW4gaW5oZXJpdGFuY2Ugb2YgRUNTNiwgaXQncyBoZXJlIHRlbXBvcmFyeSBmb3IgdGhlIGZlYXR1cmUgcGFyaXR5LCBwbGVhc2UgcmVhZCB0aGUgbmV3cyBhbmQgZG9jcyB0byBrbm93IGhvdyBoYW5kbGUgd2hlbiBpdCdzIHJlbW92ZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBvblBsYXllckNsaWNrZWRPYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGU8SUV2ZW50c1sncGxheWVyQ2xpY2tlZCddPihjcmVhdGVTdWJzY3JpYmVyKCdwbGF5ZXJDbGlja2VkJykpXG5cbi8qKlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZCBUaGlzIGZ1bmN0aW9uIGlzIGFuIGluaGVyaXRhbmNlIG9mIEVDUzYsIGl0J3MgaGVyZSB0ZW1wb3JhcnkgZm9yIHRoZSBmZWF0dXJlIHBhcml0eSwgcGxlYXNlIHJlYWQgdGhlIG5ld3MgYW5kIGRvY3MgdG8ga25vdyBob3cgaGFuZGxlIHdoZW4gaXQncyByZW1vdmVkLlxuICovXG5leHBvcnQgY29uc3Qgb25Db21tc01lc3NhZ2UgPSBuZXcgT2JzZXJ2YWJsZTxJRXZlbnRzWydjb21tcyddPihjcmVhdGVTdWJzY3JpYmVyKCdjb21tcycpKVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWQgdGhpcyBpcyBhbiBPTEQgQVBJLlxuICogVGhpcyBmdW5jdGlvbiB1c2VzIHRoZSBTREs2IHNlbmRCYXRjaCB0byBwb2xsIGV2ZW50cyBmcm9tIHRoZSByZW5kZXJlclxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9sbEV2ZW50cyhzZW5kQmF0Y2g6IChib2R5OiBNYW55RW50aXR5QWN0aW9uKSA9PiBQcm9taXNlPFNlbmRCYXRjaFJlc3BvbnNlPikge1xuICBjb25zdCB7IGV2ZW50cyB9ID0gYXdhaXQgc2VuZEJhdGNoKHsgYWN0aW9uczogW10gfSlcbiAgZm9yIChjb25zdCBlIG9mIGV2ZW50cykge1xuICAgIGlmIChlLmdlbmVyaWMpIHtcbiAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGUuZ2VuZXJpYy5ldmVudERhdGEpXG4gICAgICBzd2l0Y2ggKGUuZ2VuZXJpYy5ldmVudElkKSB7XG4gICAgICAgIGNhc2UgJ2NvbW1zJzoge1xuICAgICAgICAgIG9uQ29tbXNNZXNzYWdlLm5vdGlmeU9ic2VydmVycyhkYXRhIGFzIElFdmVudHNbJ2NvbW1zJ10pXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdsb2NhbGVDaGFuZ2VkJzoge1xuICAgICAgICAgIGxvY2FsZUNoYW5nZWRFdmVudHMubm90aWZ5T2JzZXJ2ZXJzKGRhdGEgYXMgSUV2ZW50c1snbG9jYWxlQ2hhbmdlZCddKVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuY29uc3QgU0RLN0NvbXBvbmVudHNPYnNlcnZhYmxlID0gcHJvY2Vzc09ic2VydmFibGVzKClcbmZ1bmN0aW9uIHByb2Nlc3NPYnNlcnZhYmxlcygpIHtcbiAgY29uc3Qgc3Vic2NyaXB0aW9ucyA9IG5ldyBTZXQ8a2V5b2YgSUV2ZW50cz4oKVxuXG4gIGZ1bmN0aW9uIHN1YnNjcmliZShldmVudE5hbWU6IGtleW9mIElFdmVudHMpIHtcbiAgICBpZiAoc3Vic2NyaXB0aW9ucy5oYXMoZXZlbnROYW1lKSkgcmV0dXJuXG4gICAgc3dpdGNoIChldmVudE5hbWUpIHtcbiAgICAgIGNhc2UgJ3BsYXllckNsaWNrZWQnOiB7XG4gICAgICAgIHN1YnNjcmliZVBsYXllckNsaWNrKClcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ29uRW50ZXJTY2VuZSc6XG4gICAgICBjYXNlICdwbGF5ZXJDb25uZWN0ZWQnOiB7XG4gICAgICAgIHN1YnNjcmliZUVudGVyU2NlbmUoKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnb25MZWF2ZVNjZW5lJzpcbiAgICAgIGNhc2UgJ3BsYXllckRpc2Nvbm5lY3RlZCc6IHtcbiAgICAgICAgc3Vic2NyaWJlTGVhdmVTY2VuZSgpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdvblJlYWxtQ2hhbmdlZCc6IHtcbiAgICAgICAgc3Vic2NyaWJlUmVhbG1DaGFuZ2UoKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAncGxheWVyRXhwcmVzc2lvbic6IHtcbiAgICAgICAgc3Vic2NyaWJlUGxheWVyRXhwcmVzc2lvbigpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdwcm9maWxlQ2hhbmdlZCc6IHtcbiAgICAgICAgc3Vic2NyaWJlUHJvZmlsZUNoYW5nZSgpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIHN1YnNjcmlwdGlvbnMuYWRkKGV2ZW50TmFtZSlcbiAgfVxuICAvKipcbiAgICogUExBWUVSIEVOVEVSL0NPTk5FQ1RFRCBvYnNlcnZhYmxlXG4gICAqL1xuICBmdW5jdGlvbiBzdWJzY3JpYmVFbnRlclNjZW5lKCkge1xuICAgIHBsYXllcnMub25FbnRlclNjZW5lKChwbGF5ZXIpID0+IHtcbiAgICAgIGlmIChzdWJzY3JpcHRpb25zLmhhcygnb25FbnRlclNjZW5lJykpIHtcbiAgICAgICAgb25FbnRlclNjZW5lT2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnMoeyB1c2VySWQ6IHBsYXllci51c2VySWQgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnMuaGFzKCdwbGF5ZXJDb25uZWN0ZWQnKSkge1xuICAgICAgICBvblBsYXllckNvbm5lY3RlZE9ic2VydmFibGUubm90aWZ5T2JzZXJ2ZXJzKHsgdXNlcklkOiBwbGF5ZXIudXNlcklkIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfVxuICAvKipcbiAgICogUExBWUVSIExFQVZFL0RJU0NPTk5FQ1RFRCBvYnNlcnZhYmxlXG4gICAqL1xuICBmdW5jdGlvbiBzdWJzY3JpYmVMZWF2ZVNjZW5lKCkge1xuICAgIHBsYXllcnMub25MZWF2ZVNjZW5lKCh1c2VySWQpID0+IHtcbiAgICAgIGlmIChzdWJzY3JpcHRpb25zLmhhcygnb25MZWF2ZVNjZW5lJykpIHtcbiAgICAgICAgb25MZWF2ZVNjZW5lT2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnMoeyB1c2VySWQgfSlcbiAgICAgIH1cblxuICAgICAgaWYgKHN1YnNjcmlwdGlvbnMuaGFzKCdwbGF5ZXJEaXNjb25uZWN0ZWQnKSkge1xuICAgICAgICBvblBsYXllckRpc2Nvbm5lY3RlZE9ic2VydmFibGUubm90aWZ5T2JzZXJ2ZXJzKHsgdXNlcklkIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfVxuICAvKipcbiAgICogUkVBTE0gQ0hBTkdFIG9ic2VydmFibGVcbiAgICovXG4gIGZ1bmN0aW9uIHN1YnNjcmliZVJlYWxtQ2hhbmdlKCkge1xuICAgIFJlYWxtSW5mby5vbkNoYW5nZShlbmdpbmUuUm9vdEVudGl0eSwgKHZhbHVlKSA9PiB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgb25SZWFsbUNoYW5nZWRPYnNlcnZhYmxlLm5vdGlmeU9ic2VydmVycyh7XG4gICAgICAgICAgZG9tYWluOiB2YWx1ZS5iYXNlVXJsLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiB2YWx1ZS5yZWFsbU5hbWUsXG4gICAgICAgICAgcm9vbTogdmFsdWUucm9vbSA/PyAnJyxcbiAgICAgICAgICBzZXJ2ZXJOYW1lOiB2YWx1ZS5yZWFsbU5hbWVcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG4gIC8qKlxuICAgKiBQTEFZRVIvQVZBVEFSIENMSUNLRUQgb2JzZXJ2YWJsZVxuICAgKi9cbiAgZnVuY3Rpb24gc3Vic2NyaWJlUGxheWVyQ2xpY2soKSB7XG4gICAgY29uc3QgcGxheWVyRW50aXRpZXMgPSBuZXcgU2V0PEVudGl0eT4oKVxuICAgIGVuZ2luZS5hZGRTeXN0ZW0oKCkgPT4ge1xuICAgICAgZm9yIChjb25zdCBbZW50aXR5XSBvZiBlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKFBsYXllcklkZW50aXR5RGF0YSkpIHtcbiAgICAgICAgaWYgKHBsYXllckVudGl0aWVzLmhhcyhlbnRpdHkpKSBjb250aW51ZVxuICAgICAgICBwbGF5ZXJFbnRpdGllcy5hZGQoZW50aXR5KVxuXG4gICAgICAgIFBvaW50ZXJFdmVudHNSZXN1bHQub25DaGFuZ2UoZW50aXR5LCAoZGF0YSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRhPy5oaXQpIHtcbiAgICAgICAgICAgIG9uUGxheWVyQ2xpY2tlZE9ic2VydmFibGUubm90aWZ5T2JzZXJ2ZXJzKHtcbiAgICAgICAgICAgICAgdXNlcklkOiBQbGF5ZXJJZGVudGl0eURhdGEuZ2V0T3JOdWxsKGVudGl0eSk/LmFkZHJlc3MgPz8gJycsXG4gICAgICAgICAgICAgIHJheToge1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogZGF0YS5oaXQuZGlyZWN0aW9uISxcbiAgICAgICAgICAgICAgICBkaXN0YW5jZTogZGF0YS5oaXQubGVuZ3RoLFxuICAgICAgICAgICAgICAgIG9yaWdpbjogZGF0YS5oaXQuZ2xvYmFsT3JpZ2luIVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFBsYXllciBleHByZXNzaW9uIG9ic2VydmFibGVcbiAgICovXG4gIGZ1bmN0aW9uIHN1YnNjcmliZVBsYXllckV4cHJlc3Npb24oKSB7XG4gICAgQXZhdGFyRW1vdGVDb21tYW5kLm9uQ2hhbmdlKGVuZ2luZS5QbGF5ZXJFbnRpdHksICh2YWx1ZSkgPT4ge1xuICAgICAgb25QbGF5ZXJFeHByZXNzaW9uT2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnMoeyBleHByZXNzaW9uSWQ6IHZhbHVlPy5lbW90ZVVybiA/PyAnJyB9KVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogUFJPRklMRSBDSEFOR0Ugb2JzZXJ2YWJsZVxuICAgKi9cbiAgZnVuY3Rpb24gc3Vic2NyaWJlUHJvZmlsZUNoYW5nZSgpIHtcbiAgICBsZXQgbGFzdEF2YXRhckJhc2VQcm9maWxlOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICBBdmF0YXJCYXNlLm9uQ2hhbmdlKGVuZ2luZS5QbGF5ZXJFbnRpdHksICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKCFwcm9maWxlQWRkcmVzcykgcmV0dXJuXG4gICAgICAvLyB0YWxraW5nIGZsaXBzIG9uIGV2ZXJ5IHNwZWFraW5nIHN0YXJ0L3N0b3AgYW5kIGlzIG5vdCBwcm9maWxlIGRhdGFcbiAgICAgIGNvbnN0IGF2YXRhckJhc2VQcm9maWxlID0gSlNPTi5zdHJpbmdpZnkoeyAuLi52YWx1ZSwgdGFsa2luZzogdW5kZWZpbmVkIH0pXG4gICAgICBpZiAoYXZhdGFyQmFzZVByb2ZpbGUgPT09IGxhc3RBdmF0YXJCYXNlUHJvZmlsZSkgcmV0dXJuXG4gICAgICBsYXN0QXZhdGFyQmFzZVByb2ZpbGUgPSBhdmF0YXJCYXNlUHJvZmlsZVxuICAgICAgb25Qcm9maWxlQ2hhbmdlZC5ub3RpZnlPYnNlcnZlcnMoeyBldGhBZGRyZXNzOiBwcm9maWxlQWRkcmVzcywgdmVyc2lvbjogMCB9KVxuICAgIH0pXG5cbiAgICBBdmF0YXJFcXVpcHBlZERhdGEub25DaGFuZ2UoZW5naW5lLlBsYXllckVudGl0eSwgKCkgPT4ge1xuICAgICAgaWYgKCFwcm9maWxlQWRkcmVzcykgcmV0dXJuXG4gICAgICBvblByb2ZpbGVDaGFuZ2VkLm5vdGlmeU9ic2VydmVycyh7IGV0aEFkZHJlc3M6IHByb2ZpbGVBZGRyZXNzLCB2ZXJzaW9uOiAwIH0pXG4gICAgfSlcbiAgfVxuXG4gIC8vIEZsYWcgdG8gY2FsbCBvbmNlIHRoZSBzY2VuZSBpcyBpbml0YWxpemVkLlxuICBsZXQgc2NlbmVSZWFkeSA9IGZhbHNlXG4gIGxldCBwcm9maWxlQWRkcmVzczogc3RyaW5nIHwgdW5kZWZpbmVkXG5cbiAgZnVuY3Rpb24gb2JzZXJ2YWJsZVN5c3RlbSgpIHtcbiAgICBpZiAoc2NlbmVSZWFkeSAmJiBwcm9maWxlQWRkcmVzcykge1xuICAgICAgcmV0dXJuIGVuZ2luZS5yZW1vdmVTeXN0ZW0ob2JzZXJ2YWJsZVN5c3RlbSlcbiAgICB9XG4gICAgaWYgKCFzY2VuZVJlYWR5KSB7XG4gICAgICBzY2VuZVJlYWR5ID0gdHJ1ZVxuICAgICAgb25TY2VuZVJlYWR5T2JzZXJ2YWJsZS5ub3RpZnlPYnNlcnZlcnMoe30pXG4gICAgfVxuICAgIGlmIChwcm9maWxlQWRkcmVzcykgcmV0dXJuXG4gICAgcHJvZmlsZUFkZHJlc3MgPSBQbGF5ZXJJZGVudGl0eURhdGEuZ2V0T3JOdWxsKGVuZ2luZS5QbGF5ZXJFbnRpdHkpPy5hZGRyZXNzXG4gIH1cblxuICBlbmdpbmUuYWRkU3lzdGVtKG9ic2VydmFibGVTeXN0ZW0pXG5cbiAgcmV0dXJuIHsgc3Vic2NyaWJlIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dcl/sdk",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "7.31.
|
|
4
|
+
"version": "7.31.1-39942109730.commit-afd7f79",
|
|
5
5
|
"author": "Decentraland",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@dcl/ecs": "7.31.
|
|
7
|
+
"@dcl/ecs": "7.31.1-39942109730.commit-afd7f79",
|
|
8
8
|
"@dcl/ecs-math": "2.1.0",
|
|
9
|
-
"@dcl/js-runtime": "7.31.
|
|
10
|
-
"@dcl/react-ecs": "7.31.
|
|
11
|
-
"@dcl/sdk-commands": "7.31.
|
|
9
|
+
"@dcl/js-runtime": "7.31.1-39942109730.commit-afd7f79",
|
|
10
|
+
"@dcl/react-ecs": "7.31.1-39942109730.commit-afd7f79",
|
|
11
|
+
"@dcl/sdk-commands": "7.31.1-39942109730.commit-afd7f79"
|
|
12
12
|
},
|
|
13
13
|
"keywords": [],
|
|
14
14
|
"license": "Apache-2.0",
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
},
|
|
34
34
|
"types": "./index.d.ts",
|
|
35
35
|
"typings": "./index.d.ts",
|
|
36
|
-
"commit": "
|
|
36
|
+
"commit": "afd7f79527216dcc3b3d155eb361b7f3aa1e850a"
|
|
37
37
|
}
|
package/src/observables.ts
CHANGED
|
@@ -348,8 +348,13 @@ function processObservables() {
|
|
|
348
348
|
* PROFILE CHANGE observable
|
|
349
349
|
*/
|
|
350
350
|
function subscribeProfileChange() {
|
|
351
|
-
|
|
351
|
+
let lastAvatarBaseProfile: string | undefined
|
|
352
|
+
AvatarBase.onChange(engine.PlayerEntity, (value) => {
|
|
352
353
|
if (!profileAddress) return
|
|
354
|
+
// talking flips on every speaking start/stop and is not profile data
|
|
355
|
+
const avatarBaseProfile = JSON.stringify({ ...value, talking: undefined })
|
|
356
|
+
if (avatarBaseProfile === lastAvatarBaseProfile) return
|
|
357
|
+
lastAvatarBaseProfile = avatarBaseProfile
|
|
353
358
|
onProfileChanged.notifyObservers({ ethAddress: profileAddress, version: 0 })
|
|
354
359
|
})
|
|
355
360
|
|