(function () { if (typeof window !== 'object' || typeof window.CustomEvent === 'function') return; var CustomEvent = function CustomEvent(event, params) { params = params || { bubbles: false, cancelable: false, detail: null }; var evt = document.createEvent('CustomEvent'); evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); return evt; }; window.CustomEvent = CustomEvent; })(); (function () { if (typeof Object.values === 'function') return; var values = function values(O) { return Object.keys(O).map(function (key) { return O[key]; }); }; Object.values = values; })();