@skyux/core 9.18.0 → 9.19.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.
@@ -294,8 +294,8 @@ export class SkyAffixer {
|
|
294
294
|
parentOffset = {
|
295
295
|
top: -viewportRect.top,
|
296
296
|
left: -viewportRect.left,
|
297
|
-
bottom:
|
298
|
-
right:
|
297
|
+
bottom: viewportRect.height + viewportRect.top,
|
298
|
+
right: viewportRect.width + viewportRect.left,
|
299
299
|
};
|
300
300
|
}
|
301
301
|
// A pixel value representing the leeway between the edge of the overflow parent and the edge
|
@@ -423,4 +423,4 @@ export class SkyAffixer {
|
|
423
423
|
});
|
424
424
|
}
|
425
425
|
}
|
426
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLGdDQUFnQyxFQUNoQyxvQ0FBb0MsR0FDckMsTUFBTSxhQUFhLENBQUM7QUFrQnJCLE1BQU0sb0JBQW9CLEdBQTBCO0lBQ2xELGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxjQUFjO0lBQ3JELGFBQWEsRUFBRSxLQUFLO0lBQ3BCLG1CQUFtQixFQUFFLFFBQVE7SUFDN0IsUUFBUSxFQUFFLEtBQUs7SUFDZixTQUFTLEVBQUUsT0FBTztDQUNuQixDQUFDO0FBRUYsTUFBTSxPQUFPLFVBQVU7SUFDckI7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFpQztRQUMzQyxNQUFN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QUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLHFGQUFxRjtRQUNyRiwyR0FBMkc7UUFDM0csSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FDL0QsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN4RSxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdCQUF3QjtRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FDL0QsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLG1CQUFtQixDQUNoQyxRQUFRLEVBQ1IsSUFBSSxDQUFDLHFCQUFxQixDQUMzQixDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBOZ1pvbmUsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5QWZmaXhBdXRvRml0Q29udGV4dCB9IGZyb20gJy4vYWZmaXgtYXV0by1maXQtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lBZmZpeENvbmZpZyB9IGZyb20gJy4vYWZmaXgtY29uZmlnJztcbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQnO1xuaW1wb3J0IHsgU2t5QWZmaXhPZmZzZXRDaGFuZ2UgfSBmcm9tICcuL2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lBZmZpeFBsYWNlbWVudENoYW5nZSB9IGZyb20gJy4vYWZmaXgtcGxhY2VtZW50LWNoYW5nZSc7XG5pbXBvcnQgeyBBZmZpeFJlY3QgfSBmcm9tICcuL2FmZml4LXJlY3QnO1xuaW1wb3J0IHsgZ2V0SW52ZXJzZVBsYWNlbWVudCwgZ2V0TmV4dFBsYWNlbWVudCB9IGZyb20gJy4vYWZmaXgtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudE9mZnNldCxcbiAgZ2V0T3V0ZXJSZWN0LFxuICBnZXRPdmVyZmxvd1BhcmVudHMsXG4gIGdldFZpc2libGVSZWN0Rm9yRWxlbWVudCxcbiAgaXNPZmZzZXRGdWxseVZpc2libGVXaXRoaW5QYXJlbnQsXG4gIGlzT2Zmc2V0UGFydGlhbGx5VmlzaWJsZVdpdGhpblBhcmVudCxcbn0gZnJvbSAnLi9kb20tdXRpbHMnO1xuXG4vKipcbiAqIE1ha2Ugc3BlY2lmaWMgcHJvcGVydGllcyByZXF1aXJlZCwgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvXG4gKiBkbyBudWxsIGNoZWNrcyB0aHJvdWdob3V0IHRoaXMgZmlsZS5cbiAqL1xudHlwZSBBZmZpeENvbmZpZ09yRGVmYXVsdHMgPSBTa3lBZmZpeENvbmZpZyAmXG4gIFJlcXVpcmVkPFxuICAgIFBpY2s8XG4gICAgICBTa3lBZmZpeENvbmZpZyxcbiAgICAgIHwgJ2F1dG9GaXRDb250ZXh0J1xuICAgICAgfCAnZW5hYmxlQXV0b0ZpdCdcbiAgICAgIHwgJ2hvcml6b250YWxBbGlnbm1lbnQnXG4gICAgICB8ICdpc1N0aWNreSdcbiAgICAgIHwgJ3BsYWNlbWVudCdcbiAgICA+XG4gID47XG5cbmNvbnN0IERFRkFVTFRfQUZGSVhfQ09ORklHOiBBZmZpeENvbmZpZ09yRGVmYXVsdHMgPSB7XG4gIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0Lk92ZXJmbG93UGFyZW50LFxuICBlbmFibGVBdXRvRml0OiBmYWxzZSxcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogJ2NlbnRlcicsXG4gIGlzU3RpY2t5OiBmYWxzZSxcbiAgcGxhY2VtZW50OiAnYWJvdmUnLFxufTtcblxuZXhwb3J0IGNsYXNzIFNreUFmZml4ZXIge1xuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgYWZmaXhlZCBlbGVtZW50J3Mgb2Zmc2V0IGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IG9mZnNldENoYW5nZSgpOiBPYnNlcnZhYmxlPFNreUFmZml4T2Zmc2V0Q2hhbmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI29mZnNldENoYW5nZU9icztcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBiYXNlIGVsZW1lbnQncyBuZWFyZXN0IG92ZXJmbG93IHBhcmVudCBpcyBzY3JvbGxpbmcuIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSBuZWVkXG4gICAqIHRvIHBlcmZvcm0gYW4gYWRkaXRpb25hbCBhY3Rpb24gZHVyaW5nIHRoZSBzY3JvbGwgZXZlbnQgYnV0IGRvbid0IHdhbnQgdG8gZ2VuZXJhdGUgYW5vdGhlclxuICAgKiBldmVudCBsaXN0ZW5lci5cbiAgICovXG4gIHB1YmxpYyBnZXQgb3ZlcmZsb3dTY3JvbGwoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI292ZXJmbG93U2Nyb2xsT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHBsYWNlbWVudCB2YWx1ZSBjaGFuZ2VzLiBBIGBudWxsYCB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCBhIHN1aXRhYmxlXG4gICAqIHBsYWNlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBsYWNlbWVudENoYW5nZSgpOiBPYnNlcnZhYmxlPFNreUFmZml4UGxhY2VtZW50Q2hhbmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI3BsYWNlbWVudENoYW5nZU9icztcbiAgfVxuXG4gIGdldCAjY29uZmlnKCk6IEFmZml4Q29uZmlnT3JEZWZhdWx0cyB7XG4gICAgcmV0dXJuIHRoaXMuI19jb25maWc7XG4gIH1cblxuICBzZXQgI2NvbmZpZyh2YWx1ZTogU2t5QWZmaXhDb25maWcgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtZXJnZWQ6IEFmZml4Q29uZmlnT3JEZWZhdWx0cyA9IHtcbiAgICAgIC4uLkRFRkFVTFRfQUZGSVhfQ09ORklHLFxuICAgICAgLi4udmFsdWUsXG4gICAgfTtcblxuICAgIC8vIE1ha2Ugc3VyZSBub25lIG9mIHRoZSB2YWx1ZXMgYXJlIHVuZGVmaW5lZC5cbiAgICBsZXQga2V5OiBrZXlvZiB0eXBlb2YgbWVyZ2VkO1xuICAgIGZvciAoa2V5IGluIG1lcmdlZCkge1xuICAgICAgaWYgKG1lcmdlZFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgKG1lcmdlZCBhcyBhbnkpW2tleV0gPSBERUZBVUxUX0FGRklYX0NPTkZJR1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuI19jb25maWcgPSBtZXJnZWQ7XG4gIH1cblxuICAjYWZmaXhlZEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICNiYXNlRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgI2N1cnJlbnRPZmZzZXQ6IFNreUFmZml4T2Zmc2V0IHwgdW5kZWZpbmVkO1xuXG4gICNjdXJyZW50UGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudCB8IHVuZGVmaW5lZDtcblxuICAjbGF5b3V0Vmlld3BvcnQ6IEhUTUxFbGVtZW50O1xuXG4gICNvZmZzZXRDaGFuZ2U6IFN1YmplY3Q8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+O1xuXG4gICNvZmZzZXRDaGFuZ2VPYnM6IE9ic2VydmFibGU8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+O1xuXG4gICNvdmVyZmxvd1BhcmVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAjb3ZlcmZsb3dTY3JvbGw6IFN1YmplY3Q8dm9pZD47XG5cbiAgI292ZXJmbG93U2Nyb2xsT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNwbGFjZW1lbnRDaGFuZ2U6IFN1YmplY3Q8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+O1xuXG4gICNwbGFjZW1lbnRDaGFuZ2VPYnM6IE9ic2VydmFibGU8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+O1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICNzY3JvbGxDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICN2aWV3cG9ydExpc3RlbmVyczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICN2aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyO1xuXG4gICN6b25lOiBOZ1pvbmU7XG5cbiAgI19jb25maWc6IEFmZml4Q29uZmlnT3JEZWZhdWx0cyA9IERFRkFVTFRfQUZGSVhfQ09ORklHO1xuXG4gICNzY3JvbGxDaGFuZ2VMaXN0ZW5lcjogKCkgPT4gdm9pZCA9ICgpID0+IHRoaXMuI3Njcm9sbENoYW5nZS5uZXh0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWZmaXhlZEVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgbGF5b3V0Vmlld3BvcnQ6IEhUTUxFbGVtZW50LFxuICApIHtcbiAgICB0aGlzLiNhZmZpeGVkRWxlbWVudCA9IGFmZml4ZWRFbGVtZW50O1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gICAgdGhpcy4jbGF5b3V0Vmlld3BvcnQgPSBsYXlvdXRWaWV3cG9ydDtcbiAgICB0aGlzLiN2aWV3cG9ydFJ1bGVyID0gdmlld3BvcnRSdWxlcjtcbiAgICB0aGlzLiN6b25lID0gem9uZTtcblxuICAgIHRoaXMuI29mZnNldENoYW5nZSA9IG5ldyBTdWJqZWN0PFNreUFmZml4T2Zmc2V0Q2hhbmdlPigpO1xuICAgIHRoaXMuI292ZXJmbG93U2Nyb2xsID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UgPSBuZXcgU3ViamVjdDxTa3lBZmZpeFBsYWNlbWVudENoYW5nZT4oKTtcblxuICAgIHRoaXMuI29mZnNldENoYW5nZU9icyA9IHRoaXMuI29mZnNldENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbE9icyA9IHRoaXMuI292ZXJmbG93U2Nyb2xsLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI3BsYWNlbWVudENoYW5nZU9icyA9IHRoaXMuI3BsYWNlbWVudENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZmZpeGVzIGFuIGVsZW1lbnQgdG8gYSBiYXNlIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBiYXNlRWxlbWVudCBUaGUgYmFzZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhZmZpeCBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWZmaXhUbyhiYXNlRWxlbWVudDogSFRNTEVsZW1lbnQsIGNvbmZpZz86IFNreUFmZml4Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzZXQoKTtcblxuICAgIHRoaXMuI2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLiNiYXNlRWxlbWVudCA9IGJhc2VFbGVtZW50O1xuICAgIHRoaXMuI292ZXJmbG93UGFyZW50cyA9IGdldE92ZXJmbG93UGFyZW50cyhiYXNlRWxlbWVudCk7XG5cbiAgICB0aGlzLiNhZmZpeCgpO1xuXG4gICAgaWYgKHRoaXMuI2NvbmZpZy5pc1N0aWNreSkge1xuICAgICAgdGhpcy4jYWRkVmlld3BvcnRMaXN0ZW5lcnMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlnKCk6IFNreUFmZml4Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy4jY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXJ1bnMgdGhlIGFmZml4IGNhbGN1bGF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWZmaXgoKTogdm9pZCB7XG4gICAgLy8gUmVzZXQgY3VycmVudCBwbGFjZW1lbnQgdG8gcHJlZmVycmVkIHBsYWNlbWVudC5cbiAgICB0aGlzLiNjdXJyZW50UGxhY2VtZW50ID0gdGhpcy4jY29uZmlnLnBsYWNlbWVudDtcbiAgICB0aGlzLiNhZmZpeCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBhZmZpeGVyLlxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzZXQoKTtcbiAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNvZmZzZXRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3Njcm9sbENoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2FmZml4KCk6IHZvaWQge1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuI2dldE9mZnNldCgpO1xuXG4gICAgY29uc3Qgb2Zmc2V0UGFyZW50UmVjdCA9IHRoaXMuI2dldE9mZnNldFBhcmVudFJlY3QoKTtcbiAgICBvZmZzZXQudG9wID0gb2Zmc2V0LnRvcCAtIG9mZnNldFBhcmVudFJlY3QudG9wO1xuICAgIG9mZnNldC5sZWZ0ID0gb2Zmc2V0LmxlZnQgLSBvZmZzZXRQYXJlbnRSZWN0LmxlZnQ7XG4gICAgb2Zmc2V0LmJvdHRvbSA9IG9mZnNldC5ib3R0b20gLSBvZmZzZXRQYXJlbnRSZWN0LnRvcDtcbiAgICBvZmZzZXQucmlnaHQgPSBvZmZzZXQucmlnaHQgLSBvZmZzZXRQYXJlbnRSZWN0LmxlZnQ7XG5cbiAgICBpZiAodGhpcy4jaXNOZXdPZmZzZXQob2Zmc2V0KSkge1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUodGhpcy4jYWZmaXhlZEVsZW1lbnQsICd0b3AnLCBgJHtvZmZzZXQudG9wfXB4YCk7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZSh0aGlzLiNhZmZpeGVkRWxlbWVudCwgJ2xlZnQnLCBgJHtvZmZzZXQubGVmdH1weGApO1xuXG4gICAgICB0aGlzLiNvZmZzZXRDaGFuZ2UubmV4dCh7IG9mZnNldCB9KTtcbiAgICB9XG4gIH1cblxuICAjZ2V0T2Zmc2V0UGFyZW50UmVjdCgpOiBBZmZpeFJlY3Qge1xuICAgIC8vIEZpcmVmb3ggc2V0cyB0aGUgb2Zmc2V0UGFyZW50IHRvIGRvY3VtZW50LmJvZHkgaWYgdGhlIGVsZW1lbnQgdXNlcyBmaXhlZCBwb3NpdGlvbmluZy5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNjb25maWcucG9zaXRpb24gPT09ICdhYnNvbHV0ZScgJiZcbiAgICAgIHRoaXMuI2FmZml4ZWRFbGVtZW50Lm9mZnNldFBhcmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGdldE91dGVyUmVjdCh0aGlzLiNhZmZpeGVkRWxlbWVudC5vZmZzZXRQYXJlbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsYXlvdXRSZWN0ID0gZ2V0T3V0ZXJSZWN0KHRoaXMuI2xheW91dFZpZXdwb3J0KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvcDogbGF5b3V0UmVjdC50b3AsXG4gICAgICAgIGxlZnQ6IGxheW91dFJlY3QubGVmdCxcbiAgICAgICAgaGVpZ2h0OiBsYXlvdXRSZWN0LmhlaWdodCxcbiAgICAgICAgd2lkdGg6IGxheW91dFJlY3Qud2lkdGgsXG4gICAgICAgIGJvdHRvbTogbGF5b3V0UmVjdC50b3AgLSBsYXlvdXRSZWN0LmhlaWdodCxcbiAgICAgICAgcmlnaHQ6IGxheW91dFJlY3QubGVmdCAtIGxheW91dFJlY3Qud2lkdGgsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gICNnZXRPZmZzZXQoKTogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+IHtcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLiNnZXRBdXRvRml0Q29udGV4dFBhcmVudCgpO1xuXG4gICAgY29uc3QgbWF4QXR0ZW1wdHMgPSA0O1xuICAgIGxldCBhdHRlbXB0cyA9IDA7XG5cbiAgICBsZXQgaXNBZmZpeGVkRWxlbWVudEZ1bGx5VmlzaWJsZSA9IGZhbHNlO1xuICAgIGxldCBvZmZzZXQ6IFJlcXVpcmVkPFNreUFmZml4T2Zmc2V0PjtcbiAgICBsZXQgcGxhY2VtZW50ID0gdGhpcy4jY29uZmlnLnBsYWNlbWVudDtcblxuICAgIGRvIHtcbiAgICAgIG9mZnNldCA9IHRoaXMuI2dldFByZWZlcnJlZE9mZnNldChwbGFjZW1lbnQpO1xuICAgICAgaXNBZmZpeGVkRWxlbWVudEZ1bGx5VmlzaWJsZSA9IGlzT2Zmc2V0RnVsbHlWaXNpYmxlV2l0aGluUGFyZW50KFxuICAgICAgICB0aGlzLiN2aWV3cG9ydFJ1bGVyLFxuICAgICAgICBwYXJlbnQsXG4gICAgICAgIG9mZnNldCxcbiAgICAgICAgdGhpcy4jY29uZmlnLmF1dG9GaXRPdmVyZmxvd09mZnNldCxcbiAgICAgICk7XG5cbiAgICAgIGlmICghdGhpcy4jY29uZmlnLmVuYWJsZUF1dG9GaXQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNBZmZpeGVkRWxlbWVudEZ1bGx5VmlzaWJsZSkge1xuICAgICAgICBwbGFjZW1lbnQgPVxuICAgICAgICAgIGF0dGVtcHRzICUgMiA9PT0gMFxuICAgICAgICAgICAgPyBnZXRJbnZlcnNlUGxhY2VtZW50KHBsYWNlbWVudClcbiAgICAgICAgICAgIDogZ2V0TmV4dFBsYWNlbWVudChwbGFjZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBhdHRlbXB0cysrO1xuICAgIH0gd2hpbGUgKCFpc0FmZml4ZWRFbGVtZW50RnVsbHlWaXNpYmxlICYmIGF0dGVtcHRzIDwgbWF4QXR0ZW1wdHMpO1xuXG4gICAgaWYgKGlzQWZmaXhlZEVsZW1lbnRGdWxseVZpc2libGUpIHtcbiAgICAgIGlmICh0aGlzLiNpc0Jhc2VFbGVtZW50VmlzaWJsZSgpKSB7XG4gICAgICAgIHRoaXMuI25vdGlmeVBsYWNlbWVudENoYW5nZShwbGFjZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jbm90aWZ5UGxhY2VtZW50Q2hhbmdlKG51bGwpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2Zmc2V0O1xuICAgIH1cblxuICAgIGlmICh0aGlzLiNjb25maWcuZW5hYmxlQXV0b0ZpdCkge1xuICAgICAgdGhpcy4jbm90aWZ5UGxhY2VtZW50Q2hhbmdlKG51bGwpO1xuICAgIH1cblxuICAgIC8vIE5vIHN1aXRhYmxlIHBsYWNlbWVudCB3YXMgZm91bmQsIHNvIHJldmVydCB0byBwcmVmZXJyZWQgcGxhY2VtZW50LlxuICAgIHJldHVybiB0aGlzLiNnZXRQcmVmZXJyZWRPZmZzZXQodGhpcy4jY29uZmlnLnBsYWNlbWVudCk7XG4gIH1cblxuICAjZ2V0UHJlZmVycmVkT2Zmc2V0KHBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQpOiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD4ge1xuICAgIGlmICghdGhpcy4jYmFzZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7IHRvcDogMCwgbGVmdDogMCwgYm90dG9tOiAwLCByaWdodDogMCB9O1xuICAgIH1cblxuICAgIGNvbnN0IGFmZml4ZWRSZWN0ID0gZ2V0T3V0ZXJSZWN0KHRoaXMuI2FmZml4ZWRFbGVtZW50KTtcbiAgICBjb25zdCBiYXNlUmVjdCA9IHRoaXMuI2Jhc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgaG9yaXpvbnRhbEFsaWdubWVudCA9IHRoaXMuI2NvbmZpZy5ob3Jpem9udGFsQWxpZ25tZW50O1xuICAgIGNvbnN0IHZlcnRpY2FsQWxpZ25tZW50ID0gdGhpcy4jY29uZmlnLnZlcnRpY2FsQWxpZ25tZW50O1xuICAgIGNvbnN0IGVuYWJsZUF1dG9GaXQgPSB0aGlzLiNjb25maWcuZW5hYmxlQXV0b0ZpdDtcblxuICAgIGxldCB0b3A6IG51bWJlcjtcbiAgICBsZXQgbGVmdDogbnVtYmVyO1xuXG4gICAgaWYgKHBsYWNlbWVudCA9PT0gJ2Fib3ZlJyB8fCBwbGFjZW1lbnQgPT09ICdiZWxvdycpIHtcbiAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdhYm92ZScpIHtcbiAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wIC0gYWZmaXhlZFJlY3QuaGVpZ2h0O1xuXG4gICAgICAgIHN3aXRjaCAodmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgdG9wID0gdG9wICsgYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbWlkZGxlJzpcbiAgICAgICAgICAgIHRvcCA9IHRvcCArIGFmZml4ZWRSZWN0LmhlaWdodCAvIDI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9wID0gYmFzZVJlY3QuYm90dG9tO1xuXG4gICAgICAgIHN3aXRjaCAodmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaWRkbGUnOlxuICAgICAgICAgICAgdG9wID0gdG9wIC0gYWZmaXhlZFJlY3QuaGVpZ2h0IC8gMjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICB0b3AgPSB0b3AgLSBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKGhvcml6b250YWxBbGlnbm1lbnQpIHtcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgbGVmdCA9IGJhc2VSZWN0LmxlZnQ7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBsZWZ0ID0gYmFzZVJlY3QubGVmdCArIGJhc2VSZWN0LndpZHRoIC8gMiAtIGFmZml4ZWRSZWN0LndpZHRoIC8gMjtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgbGVmdCA9IGJhc2VSZWN0LnJpZ2h0IC0gYWZmaXhlZFJlY3Qud2lkdGg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgICAgICBsZWZ0ID0gYmFzZVJlY3QubGVmdCAtIGFmZml4ZWRSZWN0LndpZHRoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGVmdCA9IGJhc2VSZWN0LnJpZ2h0O1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ25tZW50KSB7XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ21pZGRsZSc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wICsgYmFzZVJlY3QuaGVpZ2h0IC8gMiAtIGFmZml4ZWRSZWN0LmhlaWdodCAvIDI7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICB0b3AgPSBiYXNlUmVjdC5ib3R0b20gLSBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb2Zmc2V0OiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD4gPSB7IHRvcCwgbGVmdCwgYm90dG9tOiAwLCByaWdodDogMCB9O1xuXG4gICAgaWYgKGVuYWJsZUF1dG9GaXQpIHtcbiAgICAgIGNvbnN0IGFkanVzdG1lbnRzID0gdGhpcy4jYWRqdXN0T2Zmc2V0VG9PdmVyZmxvd1BhcmVudChcbiAgICAgICAgeyB0b3AsIGxlZnQgfSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICB0aGlzLiNiYXNlRWxlbWVudCxcbiAgICAgICk7XG4gICAgICBvZmZzZXQudG9wID0gYWRqdXN0bWVudHMudG9wO1xuICAgICAgb2Zmc2V0LmxlZnQgPSBhZGp1c3RtZW50cy5sZWZ0O1xuICAgIH1cblxuICAgIG9mZnNldC5ib3R0b20gPSBvZmZzZXQudG9wICsgYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgIG9mZnNldC5yaWdodCA9IG9mZnNldC5sZWZ0ICsgYWZmaXhlZFJlY3Qud2lkdGg7XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIFNsaWdodGx5IGFkanVzdCB0aGUgb2Zmc2V0IHRvIGZpdCB3aXRoaW4gdGhlIHNjcm9sbCBwYXJlbnQncyBib3VuZGFyaWVzIGlmXG4gICAqIHRoZSBhZmZpeGVkIGVsZW1lbnQgd291bGQgb3RoZXJ3aXNlIGJlIGNsaXBwZWQuXG4gICAqL1xuICAjYWRqdXN0T2Zmc2V0VG9PdmVyZmxvd1BhcmVudChcbiAgICBvZmZzZXQ6IHsgdG9wOiBudW1iZXI7IGxlZnQ6IG51bWJlciB9LFxuICAgIHBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQsXG4gICAgYmFzZUVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICApOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB7XG4gICAgY29uc3QgYWZmaXhlZFJlY3QgPSBnZXRPdXRlclJlY3QodGhpcy4jYWZmaXhlZEVsZW1lbnQpO1xuICAgIGNvbnN0IGJhc2VSZWN0ID0gYmFzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLiNnZXRBdXRvRml0Q29udGV4dFBhcmVudCgpO1xuICAgIGxldCBwYXJlbnRPZmZzZXQ6IFJlcXVpcmVkPFNreUFmZml4T2Zmc2V0PjtcbiAgICBpZiAodGhpcy4jY29uZmlnLmF1dG9GaXRDb250ZXh0ID09PSBTa3lBZmZpeEF1dG9GaXRDb250ZXh0Lk92ZXJmbG93UGFyZW50KSB7XG4gICAgICBpZiAodGhpcy4jY29uZmlnLmF1dG9GaXRPdmVyZmxvd09mZnNldCkge1xuICAgICAgICAvLyBXaGVuIHRoZSBjb25maWcgY29udGFpbnMgYSBzcGVjaWZpYyBvZmZzZXQuXG4gICAgICAgIHBhcmVudE9mZnNldCA9IGdldEVsZW1lbnRPZmZzZXQoXG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIHRoaXMuI2NvbmZpZy5hdXRvRml0T3ZlcmZsb3dPZmZzZXQsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBpc09mZnNldEZ1bGx5VmlzaWJsZVdpdGhpblBhcmVudCh0aGlzLiN2aWV3cG9ydFJ1bGVyLCBwYXJlbnQsIGJhc2VSZWN0KVxuICAgICAgKSB7XG4gICAgICAgIC8vIFdoZW4gdGhlIGJhc2UgZWxlbWVudCBpcyBmdWxseSB2aXNpYmxlIHdpdGhpbiB0aGUgcGFyZW50LCBhaW0gZm9yIHRoZSB2aXNpYmxlIHBvcnRpb24gb2YgdGhlIHBhcmVudCBlbGVtZW50LlxuICAgICAgICBwYXJlbnRPZmZzZXQgPSBnZXRWaXNpYmxlUmVjdEZvckVsZW1lbnQodGhpcy4jdmlld3BvcnRSdWxlciwgcGFyZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFueXdoZXJlIGluIHRoZSBwYXJlbnQgZWxlbWVudC5cbiAgICAgICAgcGFyZW50T2Zmc2V0ID0gZ2V0T3V0ZXJSZWN0KHBhcmVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZpZXdwb3J0UmVjdCA9IHRoaXMuI3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRSZWN0KCk7XG4gICAgICBwYXJlbnRPZmZzZXQgPSB7XG4gICAgICAgIHRvcDogLXZpZXdwb3J0UmVjdC50b3AsXG4gICAgICAgIGxlZnQ6IC12aWV3cG9ydFJlY3QubGVmdCxcbiAgICAgICAgYm90dG9tOiAtdmlld3BvcnRSZWN0LmJvdHRvbSxcbiAgICAgICAgcmlnaHQ6IC12aWV3cG9ydFJlY3QucmlnaHQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIEEgcGl4ZWwgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBsZWV3YXkgYmV0d2VlbiB0aGUgZWRnZSBvZiB0aGUgb3ZlcmZsb3cgcGFyZW50IGFuZCB0aGUgZWRnZVxuICAgIC8vIG9mIHRoZSBiYXNlIGVsZW1lbnQgYmVmb3JlIGl0IGRpc2FwcGVhcnMgZnJvbSB2aWV3LlxuICAgIC8vIElmIHRoZSB2aXNpYmxlIHBvcnRpb24gb2YgdGhlIGJhc2UgZWxlbWVudCBpcyBsZXNzIHRoYW4gdGhpcyBwaXhlbCB2YWx1ZSwgdGhlIGF1dG8tZml0XG4gICAgLy8gZnVuY3Rpb25hbGl0eSBhdHRlbXB0cyB0byBmaW5kIGFub3RoZXIgcGxhY2VtZW50LlxuICAgIGNvbnN0IGRlZmF1bHRQaXhlbFRvbGVyYW5jZSA9IDQwO1xuICAgIGxldCBwaXhlbFRvbGVyYW5jZTogbnVtYmVyO1xuXG4gICAgY29uc3Qgb3JpZ2luYWxPZmZzZXRUb3AgPSBvZmZzZXQudG9wO1xuICAgIGNvbnN0IG9yaWdpbmFsT2Zmc2V0TGVmdCA9IG9mZnNldC5sZWZ0O1xuXG4gICAgc3dpdGNoIChwbGFjZW1lbnQpIHtcbiAgICAgIGNhc2UgJ2Fib3ZlJzpcbiAgICAgIGNhc2UgJ2JlbG93JzpcbiAgICAgICAgLy8gS2VlcCB0aGUgYWZmaXhlZCBlbGVtZW50IHdpdGhpbiB0aGUgb3ZlcmZsb3cgcGFyZW50LlxuICAgICAgICBpZiAob2Zmc2V0LmxlZnQgPCBwYXJlbnRPZmZzZXQubGVmdCkge1xuICAgICAgICAgIG9mZnNldC5sZWZ0ID0gcGFyZW50T2Zmc2V0LmxlZnQ7XG4gICAgICAgIH0gZWxzZSBpZiAob2Zmc2V0LmxlZnQgKyBhZmZpeGVkUmVjdC53aWR0aCA+IHBhcmVudE9mZnNldC5yaWdodCkge1xuICAgICAgICAgIG9mZnNldC5sZWZ0ID0gcGFyZW50T2Zmc2V0LnJpZ2h0IC0gYWZmaXhlZFJlY3Qud2lkdGg7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgYSBzbWFsbGVyIHBpeGVsIHRvbGVyYW5jZSBpZiB0aGUgYmFzZSBlbGVtZW50IHdpZHRoIGlzIGxlc3MgdGhhbiB0aGUgZGVmYXVsdC5cbiAgICAgICAgcGl4ZWxUb2xlcmFuY2UgPSBNYXRoLm1pbihkZWZhdWx0UGl4ZWxUb2xlcmFuY2UsIGJhc2VSZWN0LndpZHRoKTtcblxuICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGFmZml4ZWQgZWxlbWVudCBuZXZlciBkZXRhY2hlcyBmcm9tIHRoZSBiYXNlIGVsZW1lbnQuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBvZmZzZXQubGVmdCArIHBpeGVsVG9sZXJhbmNlID4gYmFzZVJlY3QucmlnaHQgfHxcbiAgICAgICAgICBvZmZzZXQubGVmdCArIGFmZml4ZWRSZWN0LndpZHRoIC0gcGl4ZWxUb2xlcmFuY2UgPCBiYXNlUmVjdC5sZWZ0XG4gICAgICAgICkge1xuICAgICAgICAgIG9mZnNldC5sZWZ0ID0gb3JpZ2luYWxPZmZzZXRMZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICAvLyBLZWVwIHRoZSBhZmZpeGVkIGVsZW1lbnQgd2l0aGluIHRoZSBvdmVyZmxvdyBwYXJlbnQuXG4gICAgICAgIGlmIChvZmZzZXQudG9wIDwgcGFyZW50T2Zmc2V0LnRvcCkge1xuICAgICAgICAgIG9mZnNldC50b3AgPSBwYXJlbnRPZmZzZXQudG9wO1xuICAgICAgICB9IGVsc2UgaWYgKG9mZnNldC50b3AgKyBhZmZpeGVkUmVjdC5oZWlnaHQgPiBwYXJlbnRPZmZzZXQuYm90dG9tKSB7XG4gICAgICAgICAgb2Zmc2V0LnRvcCA9IHBhcmVudE9mZnNldC5ib3R0b20gLSBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgYSBzbWFsbGVyIHBpeGVsIHRvbGVyYW5jZSBpZiB0aGUgYmFzZSBlbGVtZW50IGhlaWdodCBpcyBsZXNzIHRoYW4gdGhlIGRlZmF1bHQuXG4gICAgICAgIHBpeGVsVG9sZXJhbmNlID0gTWF0aC5taW4oZGVmYXVsdFBpeGVsVG9sZXJhbmNlLCBiYXNlUmVjdC5oZWlnaHQpO1xuXG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgYWZmaXhlZCBlbGVtZW50IG5ldmVyIGRldGFjaGVzIGZyb20gdGhlIGJhc2UgZWxlbWVudC5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIG9mZnNldC50b3AgKyBwaXhlbFRvbGVyYW5jZSA+IGJhc2VSZWN0LmJvdHRvbSB8fFxuICAgICAgICAgIG9mZnNldC50b3AgKyBhZmZpeGVkUmVjdC5oZWlnaHQgLSBwaXhlbFRvbGVyYW5jZSA8IGJhc2VSZWN0LnRvcFxuICAgICAgICApIHtcbiAgICAgICAgICBvZmZzZXQudG9wID0gb3JpZ2luYWxPZmZzZXRUb3A7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9XG5cbiAgI2dldEltbWVkaWF0ZU92ZXJmbG93UGFyZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy4jb3ZlcmZsb3dQYXJlbnRzWzBdO1xuICB9XG5cbiAgI2dldEF1dG9GaXRDb250ZXh0UGFyZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICBjb25zdCBib2R5RWxlbWVudCA9IHRoaXMuI292ZXJmbG93UGFyZW50c1t0aGlzLiNvdmVyZmxvd1BhcmVudHMubGVuZ3RoIC0gMV07XG5cbiAgICByZXR1cm4gdGhpcy4jY29uZmlnLmF1dG9GaXRDb250ZXh0ID09PSBTa3lBZmZpeEF1dG9GaXRDb250ZXh0Lk92ZXJmbG93UGFyZW50XG4gICAgICA/IHRoaXMuI2dldEltbWVkaWF0ZU92ZXJmbG93UGFyZW50KClcbiAgICAgIDogYm9keUVsZW1lbnQ7XG4gIH1cblxuICAjbm90aWZ5UGxhY2VtZW50Q2hhbmdlKHBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRQbGFjZW1lbnQgIT09IHBsYWNlbWVudCkge1xuICAgICAgdGhpcy4jY3VycmVudFBsYWNlbWVudCA9IHBsYWNlbWVudCA/PyB1bmRlZmluZWQ7XG4gICAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UubmV4dCh7XG4gICAgICAgIHBsYWNlbWVudCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICNyZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLiNyZW1vdmVWaWV3cG9ydExpc3RlbmVycygpO1xuXG4gICAgdGhpcy4jb3ZlcmZsb3dQYXJlbnRzID0gW107XG5cbiAgICB0aGlzLiNjb25maWcgPVxuICAgICAgdGhpcy4jYmFzZUVsZW1lbnQgPVxuICAgICAgdGhpcy4jY3VycmVudFBsYWNlbWVudCA9XG4gICAgICB0aGlzLiNjdXJyZW50T2Zmc2V0ID1cbiAgICAgICAgdW5kZWZpbmVkO1xuICB9XG5cbiAgI2lzTmV3T2Zmc2V0KG9mZnNldDogU2t5QWZmaXhPZmZzZXQpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jY3VycmVudE9mZnNldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLiNjdXJyZW50T2Zmc2V0ID0gb2Zmc2V0O1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy4jY3VycmVudE9mZnNldC50b3AgPT09IG9mZnNldC50b3AgJiZcbiAgICAgIHRoaXMuI2N1cnJlbnRPZmZzZXQubGVmdCA9PT0gb2Zmc2V0LmxlZnRcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLiNjdXJyZW50T2Zmc2V0ID0gb2Zmc2V0O1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAjaXNCYXNlRWxlbWVudFZpc2libGUoKTogYm9vbGVhbiB7XG4gICAgLy8gQ2FuJ3QgZ2V0IGhlcmUgaWYgdGhlIGJhc2UgZWxlbWVudCBpcyB1bmRlZmluZWQuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCF0aGlzLiNiYXNlRWxlbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGJhc2VSZWN0ID0gdGhpcy4jYmFzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICByZXR1cm4gaXNPZmZzZXRQYXJ0aWFsbHlWaXNpYmxlV2l0aGluUGFyZW50KFxuICAgICAgdGhpcy4jdmlld3BvcnRSdWxlcixcbiAgICAgIHRoaXMuI2dldEltbWVkaWF0ZU92ZXJmbG93UGFyZW50KCksXG4gICAgICB7XG4gICAgICAgIHRvcDogYmFzZVJlY3QudG9wLFxuICAgICAgICBsZWZ0OiBiYXNlUmVjdC5sZWZ0LFxuICAgICAgICByaWdodDogYmFzZVJlY3QucmlnaHQsXG4gICAgICAgIGJvdHRvbTogYmFzZVJlY3QuYm90dG9tLFxuICAgICAgfSxcbiAgICAgIHRoaXMuI2NvbmZpZy5hdXRvRml0T3ZlcmZsb3dPZmZzZXQsXG4gICAgKTtcbiAgfVxuXG4gICNhZGRWaWV3cG9ydExpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLiN2aWV3cG9ydExpc3RlbmVycyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgIC8vIFJlc2l6ZSBhbmQgb3JpZW50YXRpb24gY2hhbmdlcy5cbiAgICB0aGlzLiN2aWV3cG9ydExpc3RlbmVycy5hZGQoXG4gICAgICB0aGlzLiN2aWV3cG9ydFJ1bGVyLmNoYW5nZSgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI2FmZml4KCk7XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgdGhpcy4jdmlld3BvcnRMaXN0ZW5lcnMuYWRkKFxuICAgICAgdGhpcy4jc2Nyb2xsQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI2FmZml4KCk7XG4gICAgICAgIHRoaXMuI292ZXJmbG93U2Nyb2xsLm5leHQoKTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICAvLyBMaXN0ZW4gZm9yIHNjcm9sbCBldmVudHMgb24gdGhlIHdpbmRvdywgdmlzdWFsIHZpZXdwb3J0LCBhbmQgYW55IG92ZXJmbG93IHBhcmVudHMuXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9ibG9nL3Zpc3VhbC12aWV3cG9ydC1hcGkvI2V2ZW50cy1vbmx5LWZpcmUtd2hlbi10aGUtdmlzdWFsLXZpZXdwb3J0LWNoYW5nZXNcbiAgICB0aGlzLiN6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIFt3aW5kb3csIHdpbmRvdy52aXN1YWxWaWV3cG9ydCwgLi4udGhpcy4jb3ZlcmZsb3dQYXJlbnRzXS5mb3JFYWNoKFxuICAgICAgICAocGFyZW50RWxlbWVudCkgPT4ge1xuICAgICAgICAgIHBhcmVudEVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuI3Njcm9sbENoYW5nZUxpc3RlbmVyKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICAjcmVtb3ZlVmlld3BvcnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jdmlld3BvcnRMaXN0ZW5lcnM/LnVuc3Vic2NyaWJlKCk7XG5cbiAgICB0aGlzLiN6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIFt3aW5kb3csIHdpbmRvdy52aXN1YWxWaWV3cG9ydCwgLi4udGhpcy4jb3ZlcmZsb3dQYXJlbnRzXS5mb3JFYWNoKFxuICAgICAgICAocGFyZW50RWxlbWVudCkgPT4ge1xuICAgICAgICAgIHBhcmVudEVsZW1lbnQ/LnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAnc2Nyb2xsJyxcbiAgICAgICAgICAgIHRoaXMuI3Njcm9sbENoYW5nZUxpc3RlbmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
426
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaXhlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy9saWIvbW9kdWxlcy9hZmZpeC9hZmZpeGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBYyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBT2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLGdDQUFnQyxFQUNoQyxvQ0FBb0MsR0FDckMsTUFBTSxhQUFhLENBQUM7QUFrQnJCLE1BQU0sb0JBQW9CLEdBQTBCO0lBQ2xELGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxjQUFjO0lBQ3JELGFBQWEsRUFBRSxLQUFLO0lBQ3BCLG1CQUFtQixFQUFFLFFBQVE7SUFDN0IsUUFBUSxFQUFFLEtBQUs7SUFDZixTQUFTLEVBQUUsT0FBTztDQUNuQixDQUFDO0FBRUYsTUFBTSxPQUFPLFVBQVU7SUFDckI7O09BRUc7SUFDSCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDakMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxLQUFpQztRQUMzQyxNQUFN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QUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLHFGQUFxRjtRQUNyRiwyR0FBMkc7UUFDM0csSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FDL0QsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN4RSxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELHdCQUF3QjtRQUN0QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFFdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLE9BQU8sQ0FDL0QsQ0FBQyxhQUFhLEVBQUUsRUFBRTtnQkFDaEIsYUFBYSxFQUFFLG1CQUFtQixDQUNoQyxRQUFRLEVBQ1IsSUFBSSxDQUFDLHFCQUFxQixDQUMzQixDQUFDO1lBQ0osQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBOZ1pvbmUsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2t5QWZmaXhBdXRvRml0Q29udGV4dCB9IGZyb20gJy4vYWZmaXgtYXV0by1maXQtY29udGV4dCc7XG5pbXBvcnQgeyBTa3lBZmZpeENvbmZpZyB9IGZyb20gJy4vYWZmaXgtY29uZmlnJztcbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQnO1xuaW1wb3J0IHsgU2t5QWZmaXhPZmZzZXRDaGFuZ2UgfSBmcm9tICcuL2FmZml4LW9mZnNldC1jaGFuZ2UnO1xuaW1wb3J0IHsgU2t5QWZmaXhQbGFjZW1lbnQgfSBmcm9tICcuL2FmZml4LXBsYWNlbWVudCc7XG5pbXBvcnQgeyBTa3lBZmZpeFBsYWNlbWVudENoYW5nZSB9IGZyb20gJy4vYWZmaXgtcGxhY2VtZW50LWNoYW5nZSc7XG5pbXBvcnQgeyBBZmZpeFJlY3QgfSBmcm9tICcuL2FmZml4LXJlY3QnO1xuaW1wb3J0IHsgZ2V0SW52ZXJzZVBsYWNlbWVudCwgZ2V0TmV4dFBsYWNlbWVudCB9IGZyb20gJy4vYWZmaXgtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0RWxlbWVudE9mZnNldCxcbiAgZ2V0T3V0ZXJSZWN0LFxuICBnZXRPdmVyZmxvd1BhcmVudHMsXG4gIGdldFZpc2libGVSZWN0Rm9yRWxlbWVudCxcbiAgaXNPZmZzZXRGdWxseVZpc2libGVXaXRoaW5QYXJlbnQsXG4gIGlzT2Zmc2V0UGFydGlhbGx5VmlzaWJsZVdpdGhpblBhcmVudCxcbn0gZnJvbSAnLi9kb20tdXRpbHMnO1xuXG4vKipcbiAqIE1ha2Ugc3BlY2lmaWMgcHJvcGVydGllcyByZXF1aXJlZCwgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvXG4gKiBkbyBudWxsIGNoZWNrcyB0aHJvdWdob3V0IHRoaXMgZmlsZS5cbiAqL1xudHlwZSBBZmZpeENvbmZpZ09yRGVmYXVsdHMgPSBTa3lBZmZpeENvbmZpZyAmXG4gIFJlcXVpcmVkPFxuICAgIFBpY2s8XG4gICAgICBTa3lBZmZpeENvbmZpZyxcbiAgICAgIHwgJ2F1dG9GaXRDb250ZXh0J1xuICAgICAgfCAnZW5hYmxlQXV0b0ZpdCdcbiAgICAgIHwgJ2hvcml6b250YWxBbGlnbm1lbnQnXG4gICAgICB8ICdpc1N0aWNreSdcbiAgICAgIHwgJ3BsYWNlbWVudCdcbiAgICA+XG4gID47XG5cbmNvbnN0IERFRkFVTFRfQUZGSVhfQ09ORklHOiBBZmZpeENvbmZpZ09yRGVmYXVsdHMgPSB7XG4gIGF1dG9GaXRDb250ZXh0OiBTa3lBZmZpeEF1dG9GaXRDb250ZXh0Lk92ZXJmbG93UGFyZW50LFxuICBlbmFibGVBdXRvRml0OiBmYWxzZSxcbiAgaG9yaXpvbnRhbEFsaWdubWVudDogJ2NlbnRlcicsXG4gIGlzU3RpY2t5OiBmYWxzZSxcbiAgcGxhY2VtZW50OiAnYWJvdmUnLFxufTtcblxuZXhwb3J0IGNsYXNzIFNreUFmZml4ZXIge1xuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgYWZmaXhlZCBlbGVtZW50J3Mgb2Zmc2V0IGNoYW5nZXMuXG4gICAqL1xuICBwdWJsaWMgZ2V0IG9mZnNldENoYW5nZSgpOiBPYnNlcnZhYmxlPFNreUFmZml4T2Zmc2V0Q2hhbmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI29mZnNldENoYW5nZU9icztcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHRoZSBiYXNlIGVsZW1lbnQncyBuZWFyZXN0IG92ZXJmbG93IHBhcmVudCBpcyBzY3JvbGxpbmcuIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSBuZWVkXG4gICAqIHRvIHBlcmZvcm0gYW4gYWRkaXRpb25hbCBhY3Rpb24gZHVyaW5nIHRoZSBzY3JvbGwgZXZlbnQgYnV0IGRvbid0IHdhbnQgdG8gZ2VuZXJhdGUgYW5vdGhlclxuICAgKiBldmVudCBsaXN0ZW5lci5cbiAgICovXG4gIHB1YmxpYyBnZXQgb3ZlcmZsb3dTY3JvbGwoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuI292ZXJmbG93U2Nyb2xsT2JzO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIHBsYWNlbWVudCB2YWx1ZSBjaGFuZ2VzLiBBIGBudWxsYCB2YWx1ZSBpbmRpY2F0ZXMgdGhhdCBhIHN1aXRhYmxlXG4gICAqIHBsYWNlbWVudCBjb3VsZCBub3QgYmUgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBsYWNlbWVudENoYW5nZSgpOiBPYnNlcnZhYmxlPFNreUFmZml4UGxhY2VtZW50Q2hhbmdlPiB7XG4gICAgcmV0dXJuIHRoaXMuI3BsYWNlbWVudENoYW5nZU9icztcbiAgfVxuXG4gIGdldCAjY29uZmlnKCk6IEFmZml4Q29uZmlnT3JEZWZhdWx0cyB7XG4gICAgcmV0dXJuIHRoaXMuI19jb25maWc7XG4gIH1cblxuICBzZXQgI2NvbmZpZyh2YWx1ZTogU2t5QWZmaXhDb25maWcgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtZXJnZWQ6IEFmZml4Q29uZmlnT3JEZWZhdWx0cyA9IHtcbiAgICAgIC4uLkRFRkFVTFRfQUZGSVhfQ09ORklHLFxuICAgICAgLi4udmFsdWUsXG4gICAgfTtcblxuICAgIC8vIE1ha2Ugc3VyZSBub25lIG9mIHRoZSB2YWx1ZXMgYXJlIHVuZGVmaW5lZC5cbiAgICBsZXQga2V5OiBrZXlvZiB0eXBlb2YgbWVyZ2VkO1xuICAgIGZvciAoa2V5IGluIG1lcmdlZCkge1xuICAgICAgaWYgKG1lcmdlZFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgKG1lcmdlZCBhcyBhbnkpW2tleV0gPSBERUZBVUxUX0FGRklYX0NPTkZJR1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuI19jb25maWcgPSBtZXJnZWQ7XG4gIH1cblxuICAjYWZmaXhlZEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICNiYXNlRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cbiAgI2N1cnJlbnRPZmZzZXQ6IFNreUFmZml4T2Zmc2V0IHwgdW5kZWZpbmVkO1xuXG4gICNjdXJyZW50UGxhY2VtZW50OiBTa3lBZmZpeFBsYWNlbWVudCB8IHVuZGVmaW5lZDtcblxuICAjbGF5b3V0Vmlld3BvcnQ6IEhUTUxFbGVtZW50O1xuXG4gICNvZmZzZXRDaGFuZ2U6IFN1YmplY3Q8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+O1xuXG4gICNvZmZzZXRDaGFuZ2VPYnM6IE9ic2VydmFibGU8U2t5QWZmaXhPZmZzZXRDaGFuZ2U+O1xuXG4gICNvdmVyZmxvd1BhcmVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAjb3ZlcmZsb3dTY3JvbGw6IFN1YmplY3Q8dm9pZD47XG5cbiAgI292ZXJmbG93U2Nyb2xsT2JzOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gICNwbGFjZW1lbnRDaGFuZ2U6IFN1YmplY3Q8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+O1xuXG4gICNwbGFjZW1lbnRDaGFuZ2VPYnM6IE9ic2VydmFibGU8U2t5QWZmaXhQbGFjZW1lbnRDaGFuZ2U+O1xuXG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuXG4gICNzY3JvbGxDaGFuZ2UgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICN2aWV3cG9ydExpc3RlbmVyczogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICN2aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyO1xuXG4gICN6b25lOiBOZ1pvbmU7XG5cbiAgI19jb25maWc6IEFmZml4Q29uZmlnT3JEZWZhdWx0cyA9IERFRkFVTFRfQUZGSVhfQ09ORklHO1xuXG4gICNzY3JvbGxDaGFuZ2VMaXN0ZW5lcjogKCkgPT4gdm9pZCA9ICgpID0+IHRoaXMuI3Njcm9sbENoYW5nZS5uZXh0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgYWZmaXhlZEVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgbGF5b3V0Vmlld3BvcnQ6IEhUTUxFbGVtZW50LFxuICApIHtcbiAgICB0aGlzLiNhZmZpeGVkRWxlbWVudCA9IGFmZml4ZWRFbGVtZW50O1xuICAgIHRoaXMuI3JlbmRlcmVyID0gcmVuZGVyZXI7XG4gICAgdGhpcy4jbGF5b3V0Vmlld3BvcnQgPSBsYXlvdXRWaWV3cG9ydDtcbiAgICB0aGlzLiN2aWV3cG9ydFJ1bGVyID0gdmlld3BvcnRSdWxlcjtcbiAgICB0aGlzLiN6b25lID0gem9uZTtcblxuICAgIHRoaXMuI29mZnNldENoYW5nZSA9IG5ldyBTdWJqZWN0PFNreUFmZml4T2Zmc2V0Q2hhbmdlPigpO1xuICAgIHRoaXMuI292ZXJmbG93U2Nyb2xsID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UgPSBuZXcgU3ViamVjdDxTa3lBZmZpeFBsYWNlbWVudENoYW5nZT4oKTtcblxuICAgIHRoaXMuI29mZnNldENoYW5nZU9icyA9IHRoaXMuI29mZnNldENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbE9icyA9IHRoaXMuI292ZXJmbG93U2Nyb2xsLmFzT2JzZXJ2YWJsZSgpO1xuICAgIHRoaXMuI3BsYWNlbWVudENoYW5nZU9icyA9IHRoaXMuI3BsYWNlbWVudENoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZmZpeGVzIGFuIGVsZW1lbnQgdG8gYSBiYXNlIGVsZW1lbnQuXG4gICAqIEBwYXJhbSBiYXNlRWxlbWVudCBUaGUgYmFzZSBlbGVtZW50LlxuICAgKiBAcGFyYW0gY29uZmlnIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBhZmZpeCBhY3Rpb24uXG4gICAqL1xuICBwdWJsaWMgYWZmaXhUbyhiYXNlRWxlbWVudDogSFRNTEVsZW1lbnQsIGNvbmZpZz86IFNreUFmZml4Q29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzZXQoKTtcblxuICAgIHRoaXMuI2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLiNiYXNlRWxlbWVudCA9IGJhc2VFbGVtZW50O1xuICAgIHRoaXMuI292ZXJmbG93UGFyZW50cyA9IGdldE92ZXJmbG93UGFyZW50cyhiYXNlRWxlbWVudCk7XG5cbiAgICB0aGlzLiNhZmZpeCgpO1xuXG4gICAgaWYgKHRoaXMuI2NvbmZpZy5pc1N0aWNreSkge1xuICAgICAgdGhpcy4jYWRkVmlld3BvcnRMaXN0ZW5lcnMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlnKCk6IFNreUFmZml4Q29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy4jY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXJ1bnMgdGhlIGFmZml4IGNhbGN1bGF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWZmaXgoKTogdm9pZCB7XG4gICAgLy8gUmVzZXQgY3VycmVudCBwbGFjZW1lbnQgdG8gcHJlZmVycmVkIHBsYWNlbWVudC5cbiAgICB0aGlzLiNjdXJyZW50UGxhY2VtZW50ID0gdGhpcy4jY29uZmlnLnBsYWNlbWVudDtcbiAgICB0aGlzLiNhZmZpeCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBhZmZpeGVyLlxuICAgKi9cbiAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jcmVzZXQoKTtcbiAgICB0aGlzLiNwbGFjZW1lbnRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNvZmZzZXRDaGFuZ2UuY29tcGxldGUoKTtcbiAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI3Njcm9sbENoYW5nZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgI2FmZml4KCk6IHZvaWQge1xuICAgIGNvbnN0IG9mZnNldCA9IHRoaXMuI2dldE9mZnNldCgpO1xuXG4gICAgY29uc3Qgb2Zmc2V0UGFyZW50UmVjdCA9IHRoaXMuI2dldE9mZnNldFBhcmVudFJlY3QoKTtcbiAgICBvZmZzZXQudG9wID0gb2Zmc2V0LnRvcCAtIG9mZnNldFBhcmVudFJlY3QudG9wO1xuICAgIG9mZnNldC5sZWZ0ID0gb2Zmc2V0LmxlZnQgLSBvZmZzZXRQYXJlbnRSZWN0LmxlZnQ7XG4gICAgb2Zmc2V0LmJvdHRvbSA9IG9mZnNldC5ib3R0b20gLSBvZmZzZXRQYXJlbnRSZWN0LnRvcDtcbiAgICBvZmZzZXQucmlnaHQgPSBvZmZzZXQucmlnaHQgLSBvZmZzZXRQYXJlbnRSZWN0LmxlZnQ7XG5cbiAgICBpZiAodGhpcy4jaXNOZXdPZmZzZXQob2Zmc2V0KSkge1xuICAgICAgdGhpcy4jcmVuZGVyZXIuc2V0U3R5bGUodGhpcy4jYWZmaXhlZEVsZW1lbnQsICd0b3AnLCBgJHtvZmZzZXQudG9wfXB4YCk7XG4gICAgICB0aGlzLiNyZW5kZXJlci5zZXRTdHlsZSh0aGlzLiNhZmZpeGVkRWxlbWVudCwgJ2xlZnQnLCBgJHtvZmZzZXQubGVmdH1weGApO1xuXG4gICAgICB0aGlzLiNvZmZzZXRDaGFuZ2UubmV4dCh7IG9mZnNldCB9KTtcbiAgICB9XG4gIH1cblxuICAjZ2V0T2Zmc2V0UGFyZW50UmVjdCgpOiBBZmZpeFJlY3Qge1xuICAgIC8vIEZpcmVmb3ggc2V0cyB0aGUgb2Zmc2V0UGFyZW50IHRvIGRvY3VtZW50LmJvZHkgaWYgdGhlIGVsZW1lbnQgdXNlcyBmaXhlZCBwb3NpdGlvbmluZy5cbiAgICBpZiAoXG4gICAgICB0aGlzLiNjb25maWcucG9zaXRpb24gPT09ICdhYnNvbHV0ZScgJiZcbiAgICAgIHRoaXMuI2FmZml4ZWRFbGVtZW50Lm9mZnNldFBhcmVudFxuICAgICkge1xuICAgICAgcmV0dXJuIGdldE91dGVyUmVjdCh0aGlzLiNhZmZpeGVkRWxlbWVudC5vZmZzZXRQYXJlbnQgYXMgSFRNTEVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBsYXlvdXRSZWN0ID0gZ2V0T3V0ZXJSZWN0KHRoaXMuI2xheW91dFZpZXdwb3J0KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRvcDogbGF5b3V0UmVjdC50b3AsXG4gICAgICAgIGxlZnQ6IGxheW91dFJlY3QubGVmdCxcbiAgICAgICAgaGVpZ2h0OiBsYXlvdXRSZWN0LmhlaWdodCxcbiAgICAgICAgd2lkdGg6IGxheW91dFJlY3Qud2lkdGgsXG4gICAgICAgIGJvdHRvbTogbGF5b3V0UmVjdC50b3AgLSBsYXlvdXRSZWN0LmhlaWdodCxcbiAgICAgICAgcmlnaHQ6IGxheW91dFJlY3QubGVmdCAtIGxheW91dFJlY3Qud2lkdGgsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gICNnZXRPZmZzZXQoKTogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+IHtcbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLiNnZXRBdXRvRml0Q29udGV4dFBhcmVudCgpO1xuXG4gICAgY29uc3QgbWF4QXR0ZW1wdHMgPSA0O1xuICAgIGxldCBhdHRlbXB0cyA9IDA7XG5cbiAgICBsZXQgaXNBZmZpeGVkRWxlbWVudEZ1bGx5VmlzaWJsZSA9IGZhbHNlO1xuICAgIGxldCBvZmZzZXQ6IFJlcXVpcmVkPFNreUFmZml4T2Zmc2V0PjtcbiAgICBsZXQgcGxhY2VtZW50ID0gdGhpcy4jY29uZmlnLnBsYWNlbWVudDtcblxuICAgIGRvIHtcbiAgICAgIG9mZnNldCA9IHRoaXMuI2dldFByZWZlcnJlZE9mZnNldChwbGFjZW1lbnQpO1xuICAgICAgaXNBZmZpeGVkRWxlbWVudEZ1bGx5VmlzaWJsZSA9IGlzT2Zmc2V0RnVsbHlWaXNpYmxlV2l0aGluUGFyZW50KFxuICAgICAgICB0aGlzLiN2aWV3cG9ydFJ1bGVyLFxuICAgICAgICBwYXJlbnQsXG4gICAgICAgIG9mZnNldCxcbiAgICAgICAgdGhpcy4jY29uZmlnLmF1dG9GaXRPdmVyZmxvd09mZnNldCxcbiAgICAgICk7XG5cbiAgICAgIGlmICghdGhpcy4jY29uZmlnLmVuYWJsZUF1dG9GaXQpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNBZmZpeGVkRWxlbWVudEZ1bGx5VmlzaWJsZSkge1xuICAgICAgICBwbGFjZW1lbnQgPVxuICAgICAgICAgIGF0dGVtcHRzICUgMiA9PT0gMFxuICAgICAgICAgICAgPyBnZXRJbnZlcnNlUGxhY2VtZW50KHBsYWNlbWVudClcbiAgICAgICAgICAgIDogZ2V0TmV4dFBsYWNlbWVudChwbGFjZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBhdHRlbXB0cysrO1xuICAgIH0gd2hpbGUgKCFpc0FmZml4ZWRFbGVtZW50RnVsbHlWaXNpYmxlICYmIGF0dGVtcHRzIDwgbWF4QXR0ZW1wdHMpO1xuXG4gICAgaWYgKGlzQWZmaXhlZEVsZW1lbnRGdWxseVZpc2libGUpIHtcbiAgICAgIGlmICh0aGlzLiNpc0Jhc2VFbGVtZW50VmlzaWJsZSgpKSB7XG4gICAgICAgIHRoaXMuI25vdGlmeVBsYWNlbWVudENoYW5nZShwbGFjZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jbm90aWZ5UGxhY2VtZW50Q2hhbmdlKG51bGwpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2Zmc2V0O1xuICAgIH1cblxuICAgIGlmICh0aGlzLiNjb25maWcuZW5hYmxlQXV0b0ZpdCkge1xuICAgICAgdGhpcy4jbm90aWZ5UGxhY2VtZW50Q2hhbmdlKG51bGwpO1xuICAgIH1cblxuICAgIC8vIE5vIHN1aXRhYmxlIHBsYWNlbWVudCB3YXMgZm91bmQsIHNvIHJldmVydCB0byBwcmVmZXJyZWQgcGxhY2VtZW50LlxuICAgIHJldHVybiB0aGlzLiNnZXRQcmVmZXJyZWRPZmZzZXQodGhpcy4jY29uZmlnLnBsYWNlbWVudCk7XG4gIH1cblxuICAjZ2V0UHJlZmVycmVkT2Zmc2V0KHBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQpOiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD4ge1xuICAgIGlmICghdGhpcy4jYmFzZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiB7IHRvcDogMCwgbGVmdDogMCwgYm90dG9tOiAwLCByaWdodDogMCB9O1xuICAgIH1cblxuICAgIGNvbnN0IGFmZml4ZWRSZWN0ID0gZ2V0T3V0ZXJSZWN0KHRoaXMuI2FmZml4ZWRFbGVtZW50KTtcbiAgICBjb25zdCBiYXNlUmVjdCA9IHRoaXMuI2Jhc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgY29uc3QgaG9yaXpvbnRhbEFsaWdubWVudCA9IHRoaXMuI2NvbmZpZy5ob3Jpem9udGFsQWxpZ25tZW50O1xuICAgIGNvbnN0IHZlcnRpY2FsQWxpZ25tZW50ID0gdGhpcy4jY29uZmlnLnZlcnRpY2FsQWxpZ25tZW50O1xuICAgIGNvbnN0IGVuYWJsZUF1dG9GaXQgPSB0aGlzLiNjb25maWcuZW5hYmxlQXV0b0ZpdDtcblxuICAgIGxldCB0b3A6IG51bWJlcjtcbiAgICBsZXQgbGVmdDogbnVtYmVyO1xuXG4gICAgaWYgKHBsYWNlbWVudCA9PT0gJ2Fib3ZlJyB8fCBwbGFjZW1lbnQgPT09ICdiZWxvdycpIHtcbiAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdhYm92ZScpIHtcbiAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wIC0gYWZmaXhlZFJlY3QuaGVpZ2h0O1xuXG4gICAgICAgIHN3aXRjaCAodmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgICAgdG9wID0gdG9wICsgYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSAnbWlkZGxlJzpcbiAgICAgICAgICAgIHRvcCA9IHRvcCArIGFmZml4ZWRSZWN0LmhlaWdodCAvIDI7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9wID0gYmFzZVJlY3QuYm90dG9tO1xuXG4gICAgICAgIHN3aXRjaCAodmVydGljYWxBbGlnbm1lbnQpIHtcbiAgICAgICAgICBjYXNlICd0b3AnOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlICdtaWRkbGUnOlxuICAgICAgICAgICAgdG9wID0gdG9wIC0gYWZmaXhlZFJlY3QuaGVpZ2h0IC8gMjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgICAgICB0b3AgPSB0b3AgLSBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKGhvcml6b250YWxBbGlnbm1lbnQpIHtcbiAgICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgICAgbGVmdCA9IGJhc2VSZWN0LmxlZnQ7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBsZWZ0ID0gYmFzZVJlY3QubGVmdCArIGJhc2VSZWN0LndpZHRoIC8gMiAtIGFmZml4ZWRSZWN0LndpZHRoIC8gMjtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdyaWdodCc6XG4gICAgICAgICAgbGVmdCA9IGJhc2VSZWN0LnJpZ2h0IC0gYWZmaXhlZFJlY3Qud2lkdGg7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwbGFjZW1lbnQgPT09ICdsZWZ0Jykge1xuICAgICAgICBsZWZ0ID0gYmFzZVJlY3QubGVmdCAtIGFmZml4ZWRSZWN0LndpZHRoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGVmdCA9IGJhc2VSZWN0LnJpZ2h0O1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKHZlcnRpY2FsQWxpZ25tZW50KSB7XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ21pZGRsZSc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdG9wID0gYmFzZVJlY3QudG9wICsgYmFzZVJlY3QuaGVpZ2h0IC8gMiAtIGFmZml4ZWRSZWN0LmhlaWdodCAvIDI7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgICB0b3AgPSBiYXNlUmVjdC5ib3R0b20gLSBhZmZpeGVkUmVjdC5oZWlnaHQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgb2Zmc2V0OiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD4gPSB7IHRvcCwgbGVmdCwgYm90dG9tOiAwLCByaWdodDogMCB9O1xuXG4gICAgaWYgKGVuYWJsZUF1dG9GaXQpIHtcbiAgICAgIGNvbnN0IGFkanVzdG1lbnRzID0gdGhpcy4jYWRqdXN0T2Zmc2V0VG9PdmVyZmxvd1BhcmVudChcbiAgICAgICAgeyB0b3AsIGxlZnQgfSxcbiAgICAgICAgcGxhY2VtZW50LFxuICAgICAgICB0aGlzLiNiYXNlRWxlbWVudCxcbiAgICAgICk7XG4gICAgICBvZmZzZXQudG9wID0gYWRqdXN0bWVudHMudG9wO1xuICAgICAgb2Zmc2V0LmxlZnQgPSBhZGp1c3RtZW50cy5sZWZ0O1xuICAgIH1cblxuICAgIG9mZnNldC5ib3R0b20gPSBvZmZzZXQudG9wICsgYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgIG9mZnNldC5yaWdodCA9IG9mZnNldC5sZWZ0ICsgYWZmaXhlZFJlY3Qud2lkdGg7XG5cbiAgICByZXR1cm4gb2Zmc2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIFNsaWdodGx5IGFkanVzdCB0aGUgb2Zmc2V0IHRvIGZpdCB3aXRoaW4gdGhlIHNjcm9sbCBwYXJlbnQncyBib3VuZGFyaWVzIGlmXG4gICAqIHRoZSBhZmZpeGVkIGVsZW1lbnQgd291bGQgb3RoZXJ3aXNlIGJlIGNsaXBwZWQuXG4gICAqL1xuICAjYWRqdXN0T2Zmc2V0VG9PdmVyZmxvd1BhcmVudChcbiAgICBvZmZzZXQ6IHsgdG9wOiBudW1iZXI7IGxlZnQ6IG51bWJlciB9LFxuICAgIHBsYWNlbWVudDogU2t5QWZmaXhQbGFjZW1lbnQsXG4gICAgYmFzZUVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICApOiB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSB7XG4gICAgY29uc3QgYWZmaXhlZFJlY3QgPSBnZXRPdXRlclJlY3QodGhpcy4jYWZmaXhlZEVsZW1lbnQpO1xuICAgIGNvbnN0IGJhc2VSZWN0ID0gYmFzZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICBjb25zdCBwYXJlbnQgPSB0aGlzLiNnZXRBdXRvRml0Q29udGV4dFBhcmVudCgpO1xuICAgIGxldCBwYXJlbnRPZmZzZXQ6IFJlcXVpcmVkPFNreUFmZml4T2Zmc2V0PjtcbiAgICBpZiAodGhpcy4jY29uZmlnLmF1dG9GaXRDb250ZXh0ID09PSBTa3lBZmZpeEF1dG9GaXRDb250ZXh0Lk92ZXJmbG93UGFyZW50KSB7XG4gICAgICBpZiAodGhpcy4jY29uZmlnLmF1dG9GaXRPdmVyZmxvd09mZnNldCkge1xuICAgICAgICAvLyBXaGVuIHRoZSBjb25maWcgY29udGFpbnMgYSBzcGVjaWZpYyBvZmZzZXQuXG4gICAgICAgIHBhcmVudE9mZnNldCA9IGdldEVsZW1lbnRPZmZzZXQoXG4gICAgICAgICAgcGFyZW50LFxuICAgICAgICAgIHRoaXMuI2NvbmZpZy5hdXRvRml0T3ZlcmZsb3dPZmZzZXQsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBpc09mZnNldEZ1bGx5VmlzaWJsZVdpdGhpblBhcmVudCh0aGlzLiN2aWV3cG9ydFJ1bGVyLCBwYXJlbnQsIGJhc2VSZWN0KVxuICAgICAgKSB7XG4gICAgICAgIC8vIFdoZW4gdGhlIGJhc2UgZWxlbWVudCBpcyBmdWxseSB2aXNpYmxlIHdpdGhpbiB0aGUgcGFyZW50LCBhaW0gZm9yIHRoZSB2aXNpYmxlIHBvcnRpb24gb2YgdGhlIHBhcmVudCBlbGVtZW50LlxuICAgICAgICBwYXJlbnRPZmZzZXQgPSBnZXRWaXNpYmxlUmVjdEZvckVsZW1lbnQodGhpcy4jdmlld3BvcnRSdWxlciwgcGFyZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIEFueXdoZXJlIGluIHRoZSBwYXJlbnQgZWxlbWVudC5cbiAgICAgICAgcGFyZW50T2Zmc2V0ID0gZ2V0T3V0ZXJSZWN0KHBhcmVudCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZpZXdwb3J0UmVjdCA9IHRoaXMuI3ZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRSZWN0KCk7XG4gICAgICBwYXJlbnRPZmZzZXQgPSB7XG4gICAgICAgIHRvcDogLXZpZXdwb3J0UmVjdC50b3AsXG4gICAgICAgIGxlZnQ6IC12aWV3cG9ydFJlY3QubGVmdCxcbiAgICAgICAgYm90dG9tOiB2aWV3cG9ydFJlY3QuaGVpZ2h0ICsgdmlld3BvcnRSZWN0LnRvcCxcbiAgICAgICAgcmlnaHQ6IHZpZXdwb3J0UmVjdC53aWR0aCArIHZpZXdwb3J0UmVjdC5sZWZ0LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvLyBBIHBpeGVsIHZhbHVlIHJlcHJlc2VudGluZyB0aGUgbGVld2F5IGJldHdlZW4gdGhlIGVkZ2Ugb2YgdGhlIG92ZXJmbG93IHBhcmVudCBhbmQgdGhlIGVkZ2VcbiAgICAvLyBvZiB0aGUgYmFzZSBlbGVtZW50IGJlZm9yZSBpdCBkaXNhcHBlYXJzIGZyb20gdmlldy5cbiAgICAvLyBJZiB0aGUgdmlzaWJsZSBwb3J0aW9uIG9mIHRoZSBiYXNlIGVsZW1lbnQgaXMgbGVzcyB0aGFuIHRoaXMgcGl4ZWwgdmFsdWUsIHRoZSBhdXRvLWZpdFxuICAgIC8vIGZ1bmN0aW9uYWxpdHkgYXR0ZW1wdHMgdG8gZmluZCBhbm90aGVyIHBsYWNlbWVudC5cbiAgICBjb25zdCBkZWZhdWx0UGl4ZWxUb2xlcmFuY2UgPSA0MDtcbiAgICBsZXQgcGl4ZWxUb2xlcmFuY2U6IG51bWJlcjtcblxuICAgIGNvbnN0IG9yaWdpbmFsT2Zmc2V0VG9wID0gb2Zmc2V0LnRvcDtcbiAgICBjb25zdCBvcmlnaW5hbE9mZnNldExlZnQgPSBvZmZzZXQubGVmdDtcblxuICAgIHN3aXRjaCAocGxhY2VtZW50KSB7XG4gICAgICBjYXNlICdhYm92ZSc6XG4gICAgICBjYXNlICdiZWxvdyc6XG4gICAgICAgIC8vIEtlZXAgdGhlIGFmZml4ZWQgZWxlbWVudCB3aXRoaW4gdGhlIG92ZXJmbG93IHBhcmVudC5cbiAgICAgICAgaWYgKG9mZnNldC5sZWZ0IDwgcGFyZW50T2Zmc2V0LmxlZnQpIHtcbiAgICAgICAgICBvZmZzZXQubGVmdCA9IHBhcmVudE9mZnNldC5sZWZ0O1xuICAgICAgICB9IGVsc2UgaWYgKG9mZnNldC5sZWZ0ICsgYWZmaXhlZFJlY3Qud2lkdGggPiBwYXJlbnRPZmZzZXQucmlnaHQpIHtcbiAgICAgICAgICBvZmZzZXQubGVmdCA9IHBhcmVudE9mZnNldC5yaWdodCAtIGFmZml4ZWRSZWN0LndpZHRoO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXNlIGEgc21hbGxlciBwaXhlbCB0b2xlcmFuY2UgaWYgdGhlIGJhc2UgZWxlbWVudCB3aWR0aCBpcyBsZXNzIHRoYW4gdGhlIGRlZmF1bHQuXG4gICAgICAgIHBpeGVsVG9sZXJhbmNlID0gTWF0aC5taW4oZGVmYXVsdFBpeGVsVG9sZXJhbmNlLCBiYXNlUmVjdC53aWR0aCk7XG5cbiAgICAgICAgLy8gTWFrZSBzdXJlIHRoZSBhZmZpeGVkIGVsZW1lbnQgbmV2ZXIgZGV0YWNoZXMgZnJvbSB0aGUgYmFzZSBlbGVtZW50LlxuICAgICAgICBpZiAoXG4gICAgICAgICAgb2Zmc2V0LmxlZnQgKyBwaXhlbFRvbGVyYW5jZSA+IGJhc2VSZWN0LnJpZ2h0IHx8XG4gICAgICAgICAgb2Zmc2V0LmxlZnQgKyBhZmZpeGVkUmVjdC53aWR0aCAtIHBpeGVsVG9sZXJhbmNlIDwgYmFzZVJlY3QubGVmdFxuICAgICAgICApIHtcbiAgICAgICAgICBvZmZzZXQubGVmdCA9IG9yaWdpbmFsT2Zmc2V0TGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlICdsZWZ0JzpcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgLy8gS2VlcCB0aGUgYWZmaXhlZCBlbGVtZW50IHdpdGhpbiB0aGUgb3ZlcmZsb3cgcGFyZW50LlxuICAgICAgICBpZiAob2Zmc2V0LnRvcCA8IHBhcmVudE9mZnNldC50b3ApIHtcbiAgICAgICAgICBvZmZzZXQudG9wID0gcGFyZW50T2Zmc2V0LnRvcDtcbiAgICAgICAgfSBlbHNlIGlmIChvZmZzZXQudG9wICsgYWZmaXhlZFJlY3QuaGVpZ2h0ID4gcGFyZW50T2Zmc2V0LmJvdHRvbSkge1xuICAgICAgICAgIG9mZnNldC50b3AgPSBwYXJlbnRPZmZzZXQuYm90dG9tIC0gYWZmaXhlZFJlY3QuaGVpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXNlIGEgc21hbGxlciBwaXhlbCB0b2xlcmFuY2UgaWYgdGhlIGJhc2UgZWxlbWVudCBoZWlnaHQgaXMgbGVzcyB0aGFuIHRoZSBkZWZhdWx0LlxuICAgICAgICBwaXhlbFRvbGVyYW5jZSA9IE1hdGgubWluKGRlZmF1bHRQaXhlbFRvbGVyYW5jZSwgYmFzZVJlY3QuaGVpZ2h0KTtcblxuICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGFmZml4ZWQgZWxlbWVudCBuZXZlciBkZXRhY2hlcyBmcm9tIHRoZSBiYXNlIGVsZW1lbnQuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBvZmZzZXQudG9wICsgcGl4ZWxUb2xlcmFuY2UgPiBiYXNlUmVjdC5ib3R0b20gfHxcbiAgICAgICAgICBvZmZzZXQudG9wICsgYWZmaXhlZFJlY3QuaGVpZ2h0IC0gcGl4ZWxUb2xlcmFuY2UgPCBiYXNlUmVjdC50b3BcbiAgICAgICAgKSB7XG4gICAgICAgICAgb2Zmc2V0LnRvcCA9IG9yaWdpbmFsT2Zmc2V0VG9wO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfVxuXG4gICNnZXRJbW1lZGlhdGVPdmVyZmxvd1BhcmVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuI292ZXJmbG93UGFyZW50c1swXTtcbiAgfVxuXG4gICNnZXRBdXRvRml0Q29udGV4dFBhcmVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgY29uc3QgYm9keUVsZW1lbnQgPSB0aGlzLiNvdmVyZmxvd1BhcmVudHNbdGhpcy4jb3ZlcmZsb3dQYXJlbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgcmV0dXJuIHRoaXMuI2NvbmZpZy5hdXRvRml0Q29udGV4dCA9PT0gU2t5QWZmaXhBdXRvRml0Q29udGV4dC5PdmVyZmxvd1BhcmVudFxuICAgICAgPyB0aGlzLiNnZXRJbW1lZGlhdGVPdmVyZmxvd1BhcmVudCgpXG4gICAgICA6IGJvZHlFbGVtZW50O1xuICB9XG5cbiAgI25vdGlmeVBsYWNlbWVudENoYW5nZShwbGFjZW1lbnQ6IFNreUFmZml4UGxhY2VtZW50IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNjdXJyZW50UGxhY2VtZW50ICE9PSBwbGFjZW1lbnQpIHtcbiAgICAgIHRoaXMuI2N1cnJlbnRQbGFjZW1lbnQgPSBwbGFjZW1lbnQgPz8gdW5kZWZpbmVkO1xuICAgICAgdGhpcy4jcGxhY2VtZW50Q2hhbmdlLm5leHQoe1xuICAgICAgICBwbGFjZW1lbnQsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjcmVzZXQoKTogdm9pZCB7XG4gICAgdGhpcy4jcmVtb3ZlVmlld3BvcnRMaXN0ZW5lcnMoKTtcblxuICAgIHRoaXMuI292ZXJmbG93UGFyZW50cyA9IFtdO1xuXG4gICAgdGhpcy4jY29uZmlnID1cbiAgICAgIHRoaXMuI2Jhc2VFbGVtZW50ID1cbiAgICAgIHRoaXMuI2N1cnJlbnRQbGFjZW1lbnQgPVxuICAgICAgdGhpcy4jY3VycmVudE9mZnNldCA9XG4gICAgICAgIHVuZGVmaW5lZDtcbiAgfVxuXG4gICNpc05ld09mZnNldChvZmZzZXQ6IFNreUFmZml4T2Zmc2V0KTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuI2N1cnJlbnRPZmZzZXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY3VycmVudE9mZnNldCA9IG9mZnNldDtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIHRoaXMuI2N1cnJlbnRPZmZzZXQudG9wID09PSBvZmZzZXQudG9wICYmXG4gICAgICB0aGlzLiNjdXJyZW50T2Zmc2V0LmxlZnQgPT09IG9mZnNldC5sZWZ0XG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy4jY3VycmVudE9mZnNldCA9IG9mZnNldDtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgI2lzQmFzZUVsZW1lbnRWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIC8vIENhbid0IGdldCBoZXJlIGlmIHRoZSBiYXNlIGVsZW1lbnQgaXMgdW5kZWZpbmVkLlxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghdGhpcy4jYmFzZUVsZW1lbnQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBiYXNlUmVjdCA9IHRoaXMuI2Jhc2VFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgcmV0dXJuIGlzT2Zmc2V0UGFydGlhbGx5VmlzaWJsZVdpdGhpblBhcmVudChcbiAgICAgIHRoaXMuI3ZpZXdwb3J0UnVsZXIsXG4gICAgICB0aGlzLiNnZXRJbW1lZGlhdGVPdmVyZmxvd1BhcmVudCgpLFxuICAgICAge1xuICAgICAgICB0b3A6IGJhc2VSZWN0LnRvcCxcbiAgICAgICAgbGVmdDogYmFzZVJlY3QubGVmdCxcbiAgICAgICAgcmlnaHQ6IGJhc2VSZWN0LnJpZ2h0LFxuICAgICAgICBib3R0b206IGJhc2VSZWN0LmJvdHRvbSxcbiAgICAgIH0sXG4gICAgICB0aGlzLiNjb25maWcuYXV0b0ZpdE92ZXJmbG93T2Zmc2V0LFxuICAgICk7XG4gIH1cblxuICAjYWRkVmlld3BvcnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgdGhpcy4jdmlld3BvcnRMaXN0ZW5lcnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvLyBSZXNpemUgYW5kIG9yaWVudGF0aW9uIGNoYW5nZXMuXG4gICAgdGhpcy4jdmlld3BvcnRMaXN0ZW5lcnMuYWRkKFxuICAgICAgdGhpcy4jdmlld3BvcnRSdWxlci5jaGFuZ2UoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNhZmZpeCgpO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuI3ZpZXdwb3J0TGlzdGVuZXJzLmFkZChcbiAgICAgIHRoaXMuI3Njcm9sbENoYW5nZS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLiNhZmZpeCgpO1xuICAgICAgICB0aGlzLiNvdmVyZmxvd1Njcm9sbC5uZXh0KCk7XG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgLy8gTGlzdGVuIGZvciBzY3JvbGwgZXZlbnRzIG9uIHRoZSB3aW5kb3csIHZpc3VhbCB2aWV3cG9ydCwgYW5kIGFueSBvdmVyZmxvdyBwYXJlbnRzLlxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vYmxvZy92aXN1YWwtdmlld3BvcnQtYXBpLyNldmVudHMtb25seS1maXJlLXdoZW4tdGhlLXZpc3VhbC12aWV3cG9ydC1jaGFuZ2VzXG4gICAgdGhpcy4jem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBbd2luZG93LCB3aW5kb3cudmlzdWFsVmlld3BvcnQsIC4uLnRoaXMuI292ZXJmbG93UGFyZW50c10uZm9yRWFjaChcbiAgICAgICAgKHBhcmVudEVsZW1lbnQpID0+IHtcbiAgICAgICAgICBwYXJlbnRFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLiNzY3JvbGxDaGFuZ2VMaXN0ZW5lcik7XG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgI3JlbW92ZVZpZXdwb3J0TGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuI3ZpZXdwb3J0TGlzdGVuZXJzPy51bnN1YnNjcmliZSgpO1xuXG4gICAgdGhpcy4jem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICBbd2luZG93LCB3aW5kb3cudmlzdWFsVmlld3BvcnQsIC4uLnRoaXMuI292ZXJmbG93UGFyZW50c10uZm9yRWFjaChcbiAgICAgICAgKHBhcmVudEVsZW1lbnQpID0+IHtcbiAgICAgICAgICBwYXJlbnRFbGVtZW50Py5yZW1vdmVFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgJ3Njcm9sbCcsXG4gICAgICAgICAgICB0aGlzLiNzY3JvbGxDaGFuZ2VMaXN0ZW5lcixcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
@@ -56,8 +56,8 @@ export function getVisibleRectForElement(viewportRuler, element) {
|
|
56
56
|
const visibleRect = {
|
57
57
|
top: Math.max(elementRect.top, 0),
|
58
58
|
left: Math.max(elementRect.left, 0),
|
59
|
-
bottom: Math.min(elementRect.bottom, viewportRect.
|
60
|
-
right: Math.min(elementRect.right, viewportRect.
|
59
|
+
bottom: Math.min(elementRect.bottom, viewportRect.height),
|
60
|
+
right: Math.min(elementRect.right, viewportRect.width),
|
61
61
|
};
|
62
62
|
return {
|
63
63
|
...visibleRect,
|
@@ -72,7 +72,7 @@ export function getOverflowParents(child) {
|
|
72
72
|
while (parentElement !== undefined && parentElement instanceof HTMLElement) {
|
73
73
|
const computedStyle = window.getComputedStyle(parentElement, undefined);
|
74
74
|
const overflowY = computedStyle.overflowY.toLowerCase();
|
75
|
-
if (
|
75
|
+
if (parentElement.matches('body')) {
|
76
76
|
break;
|
77
77
|
}
|
78
78
|
if (overflowY === 'auto' ||
|
@@ -80,6 +80,9 @@ export function getOverflowParents(child) {
|
|
80
80
|
overflowY === 'scroll') {
|
81
81
|
results.push(parentElement);
|
82
82
|
}
|
83
|
+
if (computedStyle.position === 'fixed') {
|
84
|
+
break;
|
85
|
+
}
|
83
86
|
parentElement = parentElement.parentNode;
|
84
87
|
}
|
85
88
|
results.push(bodyElement);
|
@@ -95,8 +98,8 @@ export function isOffsetFullyVisibleWithinParent(viewportRuler, parent, offset,
|
|
95
98
|
parentOffset = {
|
96
99
|
top: 0,
|
97
100
|
left: 0,
|
98
|
-
right: viewportRect.
|
99
|
-
bottom: viewportRect.
|
101
|
+
right: viewportRect.width,
|
102
|
+
bottom: viewportRect.height,
|
100
103
|
};
|
101
104
|
}
|
102
105
|
else if (bufferOffset) {
|
@@ -119,4 +122,4 @@ export function isOffsetPartiallyVisibleWithinParent(viewportRuler, parent, offs
|
|
119
122
|
parentOffset.bottom <= offset.top ||
|
120
123
|
parentOffset.left >= offset.right);
|
121
124
|
}
|
122
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2FmZml4L2RvbS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixPQUFvQixFQUNwQixZQUE2QjtJQUU3QixNQUFNLGtCQUFrQixHQUFHLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7SUFDakQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNuRCxNQUFNLGVBQWUsR0FBRyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUUvQyxJQUFJLEdBQVcsQ0FBQztJQUNoQixJQUFJLElBQVksQ0FBQztJQUNqQixJQUFJLEtBQWEsQ0FBQztJQUNsQixJQUFJLE1BQWMsQ0FBQztJQUVuQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNuRCxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztJQUN2QixHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztJQUNyQixLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUN6QixNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUUzQixNQUFNLElBQUksa0JBQWtCLENBQUM7SUFDN0IsSUFBSSxJQUFJLGdCQUFnQixDQUFDO0lBQ3pCLEtBQUssSUFBSSxpQkFBaUIsQ0FBQztJQUMzQixHQUFHLElBQUksZUFBZSxDQUFDO0lBRXZCLE9BQU87UUFDTCxNQUFNO1FBQ04sSUFBSTtRQUNKLEtBQUs7UUFDTCxHQUFHO0tBQ0osQ0FBQztBQUNKLENBQUM7QUFFRDs7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RUFDbkIsTUFBZ0MsRUFDaEMsWUFBNkI7SUFFN0IsTUFBTSxZQUFZLEdBQUcsWUFBWTtRQUMvQixDQUFDLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQztRQUN4QyxDQUFDLENBQUMsd0JBQXdCLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXBELE9BQU8sQ0FBQyxDQUNOLFlBQVksQ0FBQyxHQUFHLElBQUksTUFBTSxDQUFDLE1BQU07UUFDakMsWUFBWSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSTtRQUNqQyxZQUFZLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxHQUFHO1FBQ2pDLFlBQVksQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLEtBQUssQ0FDbEMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaWV3cG9ydFJ1bGVyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBTa3lBZmZpeE9mZnNldCB9IGZyb20gJy4vYWZmaXgtb2Zmc2V0JztcbmltcG9ydCB7IEFmZml4UmVjdCB9IGZyb20gJy4vYWZmaXgtcmVjdCc7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb2Zmc2V0IHZhbHVlcyBvZiBhIGdpdmVuIGVsZW1lbnQuXG4gKiBAcGFyYW0gZWxlbWVudCBUaGUgSFRNTCBlbGVtZW50LlxuICogQHBhcmFtIGJ1ZmZlck9mZnNldCBBbiBvcHRpb25hbCBvZmZzZXQgdG8gYWRkL3N1YnRyYWN0IHRvIHRoZSBlbGVtZW50J3MgYWN0dWFsIG9mZnNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRPZmZzZXQoXG4gIGVsZW1lbnQ6IEhUTUxFbGVtZW50LFxuICBidWZmZXJPZmZzZXQ/OiBTa3lBZmZpeE9mZnNldCxcbik6IFJlcXVpcmVkPFNreUFmZml4T2Zmc2V0PiB7XG4gIGNvbnN0IGJ1ZmZlck9mZnNldEJvdHRvbSA9IGJ1ZmZlck9mZnNldD8uYm90dG9tIHx8IDA7XG4gIGNvbnN0IGJ1ZmZlck9mZnNldExlZnQgPSBidWZmZXJPZmZzZXQ/LmxlZnQgfHwgMDtcbiAgY29uc3QgYnVmZmVyT2Zmc2V0UmlnaHQgPSBidWZmZXJPZmZzZXQ/LnJpZ2h0IHx8IDA7XG4gIGNvbnN0IGJ1ZmZlck9mZnNldFRvcCA9IGJ1ZmZlck9mZnNldD8udG9wIHx8IDA7XG5cbiAgbGV0IHRvcDogbnVtYmVyO1xuICBsZXQgbGVmdDogbnVtYmVyO1xuICBsZXQgcmlnaHQ6IG51bWJlcjtcbiAgbGV0IGJvdHRvbTogbnVtYmVyO1xuXG4gIGNvbnN0IGNsaWVudFJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBsZWZ0ID0gY2xpZW50UmVjdC5sZWZ0O1xuICB0b3AgPSBjbGllbnRSZWN0LnRvcDtcbiAgcmlnaHQgPSBjbGllbnRSZWN0LnJpZ2h0O1xuICBib3R0b20gPSBjbGllbnRSZWN0LmJvdHRvbTtcblxuICBib3R0b20gLT0gYnVmZmVyT2Zmc2V0Qm90dG9tO1xuICBsZWZ0ICs9IGJ1ZmZlck9mZnNldExlZnQ7XG4gIHJpZ2h0IC09IGJ1ZmZlck9mZnNldFJpZ2h0O1xuICB0b3AgKz0gYnVmZmVyT2Zmc2V0VG9wO1xuXG4gIHJldHVybiB7XG4gICAgYm90dG9tLFxuICAgIGxlZnQsXG4gICAgcmlnaHQsXG4gICAgdG9wLFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYW4gQWZmaXhSZWN0IHRoYXQgcmVwcmVzZW50cyB0aGUgb3V0ZXIgZGltZW5zaW9ucyBvZiBhIGdpdmVuIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPdXRlclJlY3QoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBSZXF1aXJlZDxBZmZpeFJlY3Q+IHtcbiAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCB1bmRlZmluZWQpO1xuICBjb25zdCBtYXJnaW5Ub3AgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUubWFyZ2luVG9wKTtcbiAgY29uc3QgbWFyZ2luTGVmdCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5tYXJnaW5MZWZ0KTtcbiAgY29uc3QgbWFyZ2luUmlnaHQgPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUubWFyZ2luUmlnaHQpO1xuICBjb25zdCBtYXJnaW5Cb3R0b20gPSBwYXJzZUZsb2F0KGNvbXB1dGVkU3R5bGUubWFyZ2luQm90dG9tKTtcblxuICByZXR1cm4ge1xuICAgIHRvcDogcmVjdC50b3AgLSBtYXJnaW5Ub3AsXG4gICAgbGVmdDogcmVjdC5sZWZ0IC0gbWFyZ2luTGVmdCxcbiAgICBib3R0b206IHJlY3QudG9wICsgcmVjdC5oZWlnaHQgKyBtYXJnaW5Cb3R0b20sXG4gICAgcmlnaHQ6IHJlY3QubGVmdCArIHJlY3Qud2lkdGggKyBtYXJnaW5MZWZ0ICsgbWFyZ2luUmlnaHQsXG4gICAgd2lkdGg6IHJlY3Qud2lkdGggKyBtYXJnaW5MZWZ0ICsgbWFyZ2luUmlnaHQsXG4gICAgaGVpZ2h0OiByZWN0LmhlaWdodCArIG1hcmdpblRvcCArIG1hcmdpbkJvdHRvbSxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB2aXNpYmxlIHJlY3QgZm9yIGEgZ2l2ZW4gZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFZpc2libGVSZWN0Rm9yRWxlbWVudChcbiAgdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4pOiBSZXF1aXJlZDxBZmZpeFJlY3Q+IHtcbiAgY29uc3QgZWxlbWVudFJlY3QgPSBnZXRPdXRlclJlY3QoZWxlbWVudCk7XG4gIGNvbnN0IHZpZXdwb3J0UmVjdCA9IHZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRSZWN0KCk7XG5cbiAgY29uc3QgdmlzaWJsZVJlY3QgPSB7XG4gICAgdG9wOiBNYXRoLm1heChlbGVtZW50UmVjdC50b3AsIDApLFxuICAgIGxlZnQ6IE1hdGgubWF4KGVsZW1lbnRSZWN0LmxlZnQsIDApLFxuICAgIGJvdHRvbTogTWF0aC5taW4oZWxlbWVudFJlY3QuYm90dG9tLCB2aWV3cG9ydFJlY3QuYm90dG9tKSxcbiAgICByaWdodDogTWF0aC5taW4oZWxlbWVudFJlY3QucmlnaHQsIHZpZXdwb3J0UmVjdC5yaWdodCksXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICAuLi52aXNpYmxlUmVjdCxcbiAgICB3aWR0aDogdmlzaWJsZVJlY3QucmlnaHQgLSB2aXNpYmxlUmVjdC5sZWZ0LFxuICAgIGhlaWdodDogdmlzaWJsZVJlY3QuYm90dG9tIC0gdmlzaWJsZVJlY3QudG9wLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3ZlcmZsb3dQYXJlbnRzKGNoaWxkOiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50W10ge1xuICBjb25zdCBib2R5RWxlbWVudCA9IHdpbmRvdy5kb2N1bWVudC5ib2R5O1xuICBjb25zdCByZXN1bHRzID0gW107XG5cbiAgbGV0IHBhcmVudEVsZW1lbnQgPSBjaGlsZD8ucGFyZW50Tm9kZTtcblxuICB3aGlsZSAocGFyZW50RWxlbWVudCAhPT0gdW5kZWZpbmVkICYmIHBhcmVudEVsZW1lbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnRFbGVtZW50LCB1bmRlZmluZWQpO1xuICAgIGNvbnN0IG92ZXJmbG93WSA9IGNvbXB1dGVkU3R5bGUub3ZlcmZsb3dZLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAoY29tcHV0ZWRTdHlsZS5wb3NpdGlvbiA9PT0gJ2ZpeGVkJyB8fCBwYXJlbnRFbGVtZW50Lm1hdGNoZXMoJ2JvZHknKSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG92ZXJmbG93WSA9PT0gJ2F1dG8nIHx8XG4gICAgICBvdmVyZmxvd1kgPT09ICdoaWRkZW4nIHx8XG4gICAgICBvdmVyZmxvd1kgPT09ICdzY3JvbGwnXG4gICAgKSB7XG4gICAgICByZXN1bHRzLnB1c2gocGFyZW50RWxlbWVudCk7XG4gICAgfVxuXG4gICAgcGFyZW50RWxlbWVudCA9IHBhcmVudEVsZW1lbnQucGFyZW50Tm9kZTtcbiAgfVxuXG4gIHJlc3VsdHMucHVzaChib2R5RWxlbWVudCk7XG5cbiAgcmV0dXJuIHJlc3VsdHM7XG59XG5cbi8qKlxuICogQ29uZmlybXMgb2Zmc2V0IGlzIGZ1bGx5IHZpc2libGUgd2l0aGluIGEgcGFyZW50IGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc09mZnNldEZ1bGx5VmlzaWJsZVdpdGhpblBhcmVudChcbiAgdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcbiAgcGFyZW50OiBIVE1MRWxlbWVudCxcbiAgb2Zmc2V0OiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD4sXG4gIGJ1ZmZlck9mZnNldD86IFNreUFmZml4T2Zmc2V0LFxuKTogYm9vbGVhbiB7XG4gIGxldCBwYXJlbnRPZmZzZXQ6IFJlcXVpcmVkPFNreUFmZml4T2Zmc2V0PjtcblxuICBpZiAocGFyZW50Lm1hdGNoZXMoJ2JvZHknKSkge1xuICAgIGNvbnN0IHZpZXdwb3J0UmVjdCA9IHZpZXdwb3J0UnVsZXIuZ2V0Vmlld3BvcnRSZWN0KCk7XG4gICAgcGFyZW50T2Zmc2V0ID0ge1xuICAgICAgdG9wOiAwLFxuICAgICAgbGVmdDogMCxcbiAgICAgIHJpZ2h0OiB2aWV3cG9ydFJlY3QucmlnaHQsXG4gICAgICBib3R0b206IHZpZXdwb3J0UmVjdC5ib3R0b20sXG4gICAgfTtcbiAgfSBlbHNlIGlmIChidWZmZXJPZmZzZXQpIHtcbiAgICBwYXJlbnRPZmZzZXQgPSBnZXRFbGVtZW50T2Zmc2V0KHBhcmVudCwgYnVmZmVyT2Zmc2V0KTtcbiAgfSBlbHNlIHtcbiAgICBwYXJlbnRPZmZzZXQgPSBnZXRWaXNpYmxlUmVjdEZvckVsZW1lbnQodmlld3BvcnRSdWxlciwgcGFyZW50KTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgcGFyZW50T2Zmc2V0LnRvcCA8PSBvZmZzZXQudG9wICYmXG4gICAgcGFyZW50T2Zmc2V0LnJpZ2h0ID49IG9mZnNldC5yaWdodCAmJlxuICAgIHBhcmVudE9mZnNldC5ib3R0b20gPj0gb2Zmc2V0LmJvdHRvbSAmJlxuICAgIHBhcmVudE9mZnNldC5sZWZ0IDw9IG9mZnNldC5sZWZ0XG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09mZnNldFBhcnRpYWxseVZpc2libGVXaXRoaW5QYXJlbnQoXG4gIHZpZXdwb3J0UnVsZXI6IFZpZXdwb3J0UnVsZXIsXG4gIHBhcmVudDogSFRNTEVsZW1lbnQsXG4gIG9mZnNldDogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+LFxuICBidWZmZXJPZmZzZXQ/OiBTa3lBZmZpeE9mZnNldCxcbik6IGJvb2xlYW4ge1xuICBjb25zdCBwYXJlbnRPZmZzZXQgPSBidWZmZXJPZmZzZXRcbiAgICA/IGdldEVsZW1lbnRPZmZzZXQocGFyZW50LCBidWZmZXJPZmZzZXQpXG4gICAgOiBnZXRWaXNpYmxlUmVjdEZvckVsZW1lbnQodmlld3BvcnRSdWxlciwgcGFyZW50KTtcblxuICByZXR1cm4gIShcbiAgICBwYXJlbnRPZmZzZXQudG9wID49IG9mZnNldC5ib3R0b20gfHxcbiAgICBwYXJlbnRPZmZzZXQucmlnaHQgPD0gb2Zmc2V0LmxlZnQgfHxcbiAgICBwYXJlbnRPZmZzZXQuYm90dG9tIDw9IG9mZnNldC50b3AgfHxcbiAgICBwYXJlbnRPZmZzZXQubGVmdCA+PSBvZmZzZXQucmlnaHRcbiAgKTtcbn1cbiJdfQ==
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2FmZml4L2RvbS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixPQUFvQixFQUNwQixZQUE2QjtJQUU3QixNQUFNLGtCQUFrQixHQUFHLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLENBQUM7SUFDakQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztJQUNuRCxNQUFNLGVBQWUsR0FBRyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUUvQyxJQUFJLEdBQVcsQ0FBQztJQUNoQixJQUFJLElBQVksQ0FBQztJQUNqQixJQUFJLEtBQWEsQ0FBQztJQUNsQixJQUFJLE1BQWMsQ0FBQztJQUVuQixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUNuRCxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztJQUN2QixHQUFHLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQztJQUNyQixLQUFLLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztJQUN6QixNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztJQUUzQixNQUFNLElBQUksa0JBQWtCLENBQUM7SUFDN0IsSUFBSSxJQUFJLGdCQUFnQixDQUFDO0lBQ3pCLEtBQUssSUFBSSxpQkFBaUIsQ0FBQztJQUMzQixHQUFHLElBQUksZUFBZSxDQUFDO0lBRXZCLE9BQU87UUFDTCxNQUFNO1FBQ04sSUFBSTtRQUNKLEtBQUs7UUFDTCxHQUFHO0tBQ0osQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsT0FBb0I7SUFDL0MsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDN0MsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNsRSxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxRCxNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBRTVELE9BQU87UUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFTO1FBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVU7UUFDNUIsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZO1FBQzdDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLFdBQVc7UUFDeEQsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxHQUFHLFdBQVc7UUFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxHQUFHLFlBQVk7S0FDL0MsQ0FBQztBQUNKLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FDdEMsYUFBNEIsRUFDNUIsT0FBb0I7SUFFcEIsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUVyRCxNQUFNLFdBQVcsR0FBRztRQUNsQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUM7UUFDekQsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDO0tBQ3ZELENBQUM7SUFFRixPQUFPO1FBQ0wsR0FBRyxXQUFXO1FBQ2QsS0FBSyxFQUFFLFdBQVcsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLElBQUk7UUFDM0MsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDLEdBQUc7S0FDN0MsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsS0FBa0I7SUFDbkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDekMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBRW5CLElBQUksYUFBYSxHQUFHLEtBQUssRUFBRSxVQUFVLENBQUM7SUFFdEMsT0FBTyxhQUFhLEtBQUssU0FBUyxJQUFJLGFBQWEsWUFBWSxXQUFXLEVBQUU7UUFDMUUsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4RSxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRXhELElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNqQyxNQUFNO1NBQ1A7UUFDRCxJQUNFLFNBQVMsS0FBSyxNQUFNO1lBQ3BCLFNBQVMsS0FBSyxRQUFRO1lBQ3RCLFNBQVMsS0FBSyxRQUFRLEVBQ3RCO1lBQ0EsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM3QjtRQUNELElBQUksYUFBYSxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUU7WUFDdEMsTUFBTTtTQUNQO1FBRUQsYUFBYSxHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUM7S0FDMUM7SUFFRCxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTFCLE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsYUFBNEIsRUFDNUIsTUFBbUIsRUFDbkIsTUFBZ0MsRUFDaEMsWUFBNkI7SUFFN0IsSUFBSSxZQUFzQyxDQUFDO0lBRTNDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMxQixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDckQsWUFBWSxHQUFHO1lBQ2IsR0FBRyxFQUFFLENBQUM7WUFDTixJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxZQUFZLENBQUMsS0FBSztZQUN6QixNQUFNLEVBQUUsWUFBWSxDQUFDLE1BQU07U0FDNUIsQ0FBQztLQUNIO1NBQU0sSUFBSSxZQUFZLEVBQUU7UUFDdkIsWUFBWSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztLQUN2RDtTQUFNO1FBQ0wsWUFBWSxHQUFHLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNoRTtJQUVELE9BQU8sQ0FDTCxZQUFZLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHO1FBQzlCLFlBQVksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUs7UUFDbEMsWUFBWSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTTtRQUNwQyxZQUFZLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQ2pDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG9DQUFvQyxDQUNsRCxhQUE0QixFQUM1QixNQUFtQixFQUNuQixNQUFnQyxFQUNoQyxZQUE2QjtJQUU3QixNQUFNLFlBQVksR0FBRyxZQUFZO1FBQy9CLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDO1FBQ3hDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFcEQsT0FBTyxDQUFDLENBQ04sWUFBWSxDQUFDLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTTtRQUNqQyxZQUFZLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJO1FBQ2pDLFlBQVksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLEdBQUc7UUFDakMsWUFBWSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUNsQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZpZXdwb3J0UnVsZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IFNreUFmZml4T2Zmc2V0IH0gZnJvbSAnLi9hZmZpeC1vZmZzZXQnO1xuaW1wb3J0IHsgQWZmaXhSZWN0IH0gZnJvbSAnLi9hZmZpeC1yZWN0JztcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvZmZzZXQgdmFsdWVzIG9mIGEgZ2l2ZW4gZWxlbWVudC5cbiAqIEBwYXJhbSBlbGVtZW50IFRoZSBIVE1MIGVsZW1lbnQuXG4gKiBAcGFyYW0gYnVmZmVyT2Zmc2V0IEFuIG9wdGlvbmFsIG9mZnNldCB0byBhZGQvc3VidHJhY3QgdG8gdGhlIGVsZW1lbnQncyBhY3R1YWwgb2Zmc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudE9mZnNldChcbiAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gIGJ1ZmZlck9mZnNldD86IFNreUFmZml4T2Zmc2V0LFxuKTogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+IHtcbiAgY29uc3QgYnVmZmVyT2Zmc2V0Qm90dG9tID0gYnVmZmVyT2Zmc2V0Py5ib3R0b20gfHwgMDtcbiAgY29uc3QgYnVmZmVyT2Zmc2V0TGVmdCA9IGJ1ZmZlck9mZnNldD8ubGVmdCB8fCAwO1xuICBjb25zdCBidWZmZXJPZmZzZXRSaWdodCA9IGJ1ZmZlck9mZnNldD8ucmlnaHQgfHwgMDtcbiAgY29uc3QgYnVmZmVyT2Zmc2V0VG9wID0gYnVmZmVyT2Zmc2V0Py50b3AgfHwgMDtcblxuICBsZXQgdG9wOiBudW1iZXI7XG4gIGxldCBsZWZ0OiBudW1iZXI7XG4gIGxldCByaWdodDogbnVtYmVyO1xuICBsZXQgYm90dG9tOiBudW1iZXI7XG5cbiAgY29uc3QgY2xpZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIGxlZnQgPSBjbGllbnRSZWN0LmxlZnQ7XG4gIHRvcCA9IGNsaWVudFJlY3QudG9wO1xuICByaWdodCA9IGNsaWVudFJlY3QucmlnaHQ7XG4gIGJvdHRvbSA9IGNsaWVudFJlY3QuYm90dG9tO1xuXG4gIGJvdHRvbSAtPSBidWZmZXJPZmZzZXRCb3R0b207XG4gIGxlZnQgKz0gYnVmZmVyT2Zmc2V0TGVmdDtcbiAgcmlnaHQgLT0gYnVmZmVyT2Zmc2V0UmlnaHQ7XG4gIHRvcCArPSBidWZmZXJPZmZzZXRUb3A7XG5cbiAgcmV0dXJuIHtcbiAgICBib3R0b20sXG4gICAgbGVmdCxcbiAgICByaWdodCxcbiAgICB0b3AsXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhbiBBZmZpeFJlY3QgdGhhdCByZXByZXNlbnRzIHRoZSBvdXRlciBkaW1lbnNpb25zIG9mIGEgZ2l2ZW4gZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE91dGVyUmVjdChlbGVtZW50OiBIVE1MRWxlbWVudCk6IFJlcXVpcmVkPEFmZml4UmVjdD4ge1xuICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsIHVuZGVmaW5lZCk7XG4gIGNvbnN0IG1hcmdpblRvcCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5tYXJnaW5Ub3ApO1xuICBjb25zdCBtYXJnaW5MZWZ0ID0gcGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLm1hcmdpbkxlZnQpO1xuICBjb25zdCBtYXJnaW5SaWdodCA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5tYXJnaW5SaWdodCk7XG4gIGNvbnN0IG1hcmdpbkJvdHRvbSA9IHBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5tYXJnaW5Cb3R0b20pO1xuXG4gIHJldHVybiB7XG4gICAgdG9wOiByZWN0LnRvcCAtIG1hcmdpblRvcCxcbiAgICBsZWZ0OiByZWN0LmxlZnQgLSBtYXJnaW5MZWZ0LFxuICAgIGJvdHRvbTogcmVjdC50b3AgKyByZWN0LmhlaWdodCArIG1hcmdpbkJvdHRvbSxcbiAgICByaWdodDogcmVjdC5sZWZ0ICsgcmVjdC53aWR0aCArIG1hcmdpbkxlZnQgKyBtYXJnaW5SaWdodCxcbiAgICB3aWR0aDogcmVjdC53aWR0aCArIG1hcmdpbkxlZnQgKyBtYXJnaW5SaWdodCxcbiAgICBoZWlnaHQ6IHJlY3QuaGVpZ2h0ICsgbWFyZ2luVG9wICsgbWFyZ2luQm90dG9tLFxuICB9O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHZpc2libGUgcmVjdCBmb3IgYSBnaXZlbiBlbGVtZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmlzaWJsZVJlY3RGb3JFbGVtZW50KFxuICB2aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICBlbGVtZW50OiBIVE1MRWxlbWVudCxcbik6IFJlcXVpcmVkPEFmZml4UmVjdD4ge1xuICBjb25zdCBlbGVtZW50UmVjdCA9IGdldE91dGVyUmVjdChlbGVtZW50KTtcbiAgY29uc3Qgdmlld3BvcnRSZWN0ID0gdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFJlY3QoKTtcblxuICBjb25zdCB2aXNpYmxlUmVjdCA9IHtcbiAgICB0b3A6IE1hdGgubWF4KGVsZW1lbnRSZWN0LnRvcCwgMCksXG4gICAgbGVmdDogTWF0aC5tYXgoZWxlbWVudFJlY3QubGVmdCwgMCksXG4gICAgYm90dG9tOiBNYXRoLm1pbihlbGVtZW50UmVjdC5ib3R0b20sIHZpZXdwb3J0UmVjdC5oZWlnaHQpLFxuICAgIHJpZ2h0OiBNYXRoLm1pbihlbGVtZW50UmVjdC5yaWdodCwgdmlld3BvcnRSZWN0LndpZHRoKSxcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIC4uLnZpc2libGVSZWN0LFxuICAgIHdpZHRoOiB2aXNpYmxlUmVjdC5yaWdodCAtIHZpc2libGVSZWN0LmxlZnQsXG4gICAgaGVpZ2h0OiB2aXNpYmxlUmVjdC5ib3R0b20gLSB2aXNpYmxlUmVjdC50b3AsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPdmVyZmxvd1BhcmVudHMoY2hpbGQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnRbXSB7XG4gIGNvbnN0IGJvZHlFbGVtZW50ID0gd2luZG93LmRvY3VtZW50LmJvZHk7XG4gIGNvbnN0IHJlc3VsdHMgPSBbXTtcblxuICBsZXQgcGFyZW50RWxlbWVudCA9IGNoaWxkPy5wYXJlbnROb2RlO1xuXG4gIHdoaWxlIChwYXJlbnRFbGVtZW50ICE9PSB1bmRlZmluZWQgJiYgcGFyZW50RWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHBhcmVudEVsZW1lbnQsIHVuZGVmaW5lZCk7XG4gICAgY29uc3Qgb3ZlcmZsb3dZID0gY29tcHV0ZWRTdHlsZS5vdmVyZmxvd1kudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChwYXJlbnRFbGVtZW50Lm1hdGNoZXMoJ2JvZHknKSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGlmIChcbiAgICAgIG92ZXJmbG93WSA9PT0gJ2F1dG8nIHx8XG4gICAgICBvdmVyZmxvd1kgPT09ICdoaWRkZW4nIHx8XG4gICAgICBvdmVyZmxvd1kgPT09ICdzY3JvbGwnXG4gICAgKSB7XG4gICAgICByZXN1bHRzLnB1c2gocGFyZW50RWxlbWVudCk7XG4gICAgfVxuICAgIGlmIChjb21wdXRlZFN0eWxlLnBvc2l0aW9uID09PSAnZml4ZWQnKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBwYXJlbnRFbGVtZW50ID0gcGFyZW50RWxlbWVudC5wYXJlbnROb2RlO1xuICB9XG5cbiAgcmVzdWx0cy5wdXNoKGJvZHlFbGVtZW50KTtcblxuICByZXR1cm4gcmVzdWx0cztcbn1cblxuLyoqXG4gKiBDb25maXJtcyBvZmZzZXQgaXMgZnVsbHkgdmlzaWJsZSB3aXRoaW4gYSBwYXJlbnQgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2Zmc2V0RnVsbHlWaXNpYmxlV2l0aGluUGFyZW50KFxuICB2aWV3cG9ydFJ1bGVyOiBWaWV3cG9ydFJ1bGVyLFxuICBwYXJlbnQ6IEhUTUxFbGVtZW50LFxuICBvZmZzZXQ6IFJlcXVpcmVkPFNreUFmZml4T2Zmc2V0PixcbiAgYnVmZmVyT2Zmc2V0PzogU2t5QWZmaXhPZmZzZXQsXG4pOiBib29sZWFuIHtcbiAgbGV0IHBhcmVudE9mZnNldDogUmVxdWlyZWQ8U2t5QWZmaXhPZmZzZXQ+O1xuXG4gIGlmIChwYXJlbnQubWF0Y2hlcygnYm9keScpKSB7XG4gICAgY29uc3Qgdmlld3BvcnRSZWN0ID0gdmlld3BvcnRSdWxlci5nZXRWaWV3cG9ydFJlY3QoKTtcbiAgICBwYXJlbnRPZmZzZXQgPSB7XG4gICAgICB0b3A6IDAsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgcmlnaHQ6IHZpZXdwb3J0UmVjdC53aWR0aCxcbiAgICAgIGJvdHRvbTogdmlld3BvcnRSZWN0LmhlaWdodCxcbiAgICB9O1xuICB9IGVsc2UgaWYgKGJ1ZmZlck9mZnNldCkge1xuICAgIHBhcmVudE9mZnNldCA9IGdldEVsZW1lbnRPZmZzZXQocGFyZW50LCBidWZmZXJPZmZzZXQpO1xuICB9IGVsc2Uge1xuICAgIHBhcmVudE9mZnNldCA9IGdldFZpc2libGVSZWN0Rm9yRWxlbWVudCh2aWV3cG9ydFJ1bGVyLCBwYXJlbnQpO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICBwYXJlbnRPZmZzZXQudG9wIDw9IG9mZnNldC50b3AgJiZcbiAgICBwYXJlbnRPZmZzZXQucmlnaHQgPj0gb2Zmc2V0LnJpZ2h0ICYmXG4gICAgcGFyZW50T2Zmc2V0LmJvdHRvbSA+PSBvZmZzZXQuYm90dG9tICYmXG4gICAgcGFyZW50T2Zmc2V0LmxlZnQgPD0gb2Zmc2V0LmxlZnRcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzT2Zmc2V0UGFydGlhbGx5VmlzaWJsZVdpdGhpblBhcmVudChcbiAgdmlld3BvcnRSdWxlcjogVmlld3BvcnRSdWxlcixcbiAgcGFyZW50OiBIVE1MRWxlbWVudCxcbiAgb2Zmc2V0OiBSZXF1aXJlZDxTa3lBZmZpeE9mZnNldD4sXG4gIGJ1ZmZlck9mZnNldD86IFNreUFmZml4T2Zmc2V0LFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcmVudE9mZnNldCA9IGJ1ZmZlck9mZnNldFxuICAgID8gZ2V0RWxlbWVudE9mZnNldChwYXJlbnQsIGJ1ZmZlck9mZnNldClcbiAgICA6IGdldFZpc2libGVSZWN0Rm9yRWxlbWVudCh2aWV3cG9ydFJ1bGVyLCBwYXJlbnQpO1xuXG4gIHJldHVybiAhKFxuICAgIHBhcmVudE9mZnNldC50b3AgPj0gb2Zmc2V0LmJvdHRvbSB8fFxuICAgIHBhcmVudE9mZnNldC5yaWdodCA8PSBvZmZzZXQubGVmdCB8fFxuICAgIHBhcmVudE9mZnNldC5ib3R0b20gPD0gb2Zmc2V0LnRvcCB8fFxuICAgIHBhcmVudE9mZnNldC5sZWZ0ID49IG9mZnNldC5yaWdodFxuICApO1xufVxuIl19
|
package/esm2022/version.mjs
CHANGED
@@ -15,5 +15,5 @@ export class Version {
|
|
15
15
|
/**
|
16
16
|
* Represents the version of @skyux/core.
|
17
17
|
*/
|
18
|
-
export const VERSION = new Version('9.
|
18
|
+
export const VERSION = new Version('9.19.1');
|
19
19
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jb3JlL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxtRkFBbUY7QUFFbkY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE9BQU87SUFLbEIsWUFBNEIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsRCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gVGFrZW4gZnJvbSBBbmd1bGFyJ3MgdmVyc2lvbi50cyBmaWxlLlxuLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2Jsb2IvMTYuMi54L3BhY2thZ2VzL2NvcmUvc3JjL3ZlcnNpb24udHNcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSB2ZXJzaW9uIG9mIGEgcGFja2FnZS5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbiB7XG4gIHB1YmxpYyByZWFkb25seSBtYWpvcjogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbWlub3I6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHBhdGNoOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGZ1bGw6IHN0cmluZykge1xuICAgIHRoaXMubWFqb3IgPSBmdWxsLnNwbGl0KCcuJylbMF07XG4gICAgdGhpcy5taW5vciA9IGZ1bGwuc3BsaXQoJy4nKVsxXTtcbiAgICB0aGlzLnBhdGNoID0gZnVsbC5zcGxpdCgnLicpLnNsaWNlKDIpLmpvaW4oJy4nKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHZlcnNpb24gb2YgQHNreXV4L2NvcmUuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gbmV3IFZlcnNpb24oJzAuMC4wLVBMQUNFSE9MREVSJyk7XG4iXX0=
|
package/fesm2022/skyux-core.mjs
CHANGED
@@ -354,8 +354,8 @@ function getVisibleRectForElement(viewportRuler, element) {
|
|
354
354
|
const visibleRect = {
|
355
355
|
top: Math.max(elementRect.top, 0),
|
356
356
|
left: Math.max(elementRect.left, 0),
|
357
|
-
bottom: Math.min(elementRect.bottom, viewportRect.
|
358
|
-
right: Math.min(elementRect.right, viewportRect.
|
357
|
+
bottom: Math.min(elementRect.bottom, viewportRect.height),
|
358
|
+
right: Math.min(elementRect.right, viewportRect.width),
|
359
359
|
};
|
360
360
|
return {
|
361
361
|
...visibleRect,
|
@@ -370,7 +370,7 @@ function getOverflowParents(child) {
|
|
370
370
|
while (parentElement !== undefined && parentElement instanceof HTMLElement) {
|
371
371
|
const computedStyle = window.getComputedStyle(parentElement, undefined);
|
372
372
|
const overflowY = computedStyle.overflowY.toLowerCase();
|
373
|
-
if (
|
373
|
+
if (parentElement.matches('body')) {
|
374
374
|
break;
|
375
375
|
}
|
376
376
|
if (overflowY === 'auto' ||
|
@@ -378,6 +378,9 @@ function getOverflowParents(child) {
|
|
378
378
|
overflowY === 'scroll') {
|
379
379
|
results.push(parentElement);
|
380
380
|
}
|
381
|
+
if (computedStyle.position === 'fixed') {
|
382
|
+
break;
|
383
|
+
}
|
381
384
|
parentElement = parentElement.parentNode;
|
382
385
|
}
|
383
386
|
results.push(bodyElement);
|
@@ -393,8 +396,8 @@ function isOffsetFullyVisibleWithinParent(viewportRuler, parent, offset, bufferO
|
|
393
396
|
parentOffset = {
|
394
397
|
top: 0,
|
395
398
|
left: 0,
|
396
|
-
right: viewportRect.
|
397
|
-
bottom: viewportRect.
|
399
|
+
right: viewportRect.width,
|
400
|
+
bottom: viewportRect.height,
|
398
401
|
};
|
399
402
|
}
|
400
403
|
else if (bufferOffset) {
|
@@ -710,8 +713,8 @@ class SkyAffixer {
|
|
710
713
|
parentOffset = {
|
711
714
|
top: -viewportRect.top,
|
712
715
|
left: -viewportRect.left,
|
713
|
-
bottom:
|
714
|
-
right:
|
716
|
+
bottom: viewportRect.height + viewportRect.top,
|
717
|
+
right: viewportRect.width + viewportRect.left,
|
715
718
|
};
|
716
719
|
}
|
717
720
|
// A pixel value representing the leeway between the edge of the overflow parent and the edge
|
@@ -4113,7 +4116,7 @@ class Version {
|
|
4113
4116
|
/**
|
4114
4117
|
* Represents the version of @skyux/core.
|
4115
4118
|
*/
|
4116
|
-
const VERSION = new Version('9.
|
4119
|
+
const VERSION = new Version('9.19.1');
|
4117
4120
|
|
4118
4121
|
/**
|
4119
4122
|
* Generated bundle index. Do not edit.
|