/** Copyright (C) 2020-2026 Kedron Holdings LLC, All Rights Reserved. This file is part of Reactor.
 *  For info and license terms please see https://reactor.toggledbits.com/
 *  ------------------------------------------------------------------------------
*/
const a8_0x54c31e = a8_0x51b4;
(function (_0x439c7c, _0x1bcf5a) {
    const _0x2cefe1 = a8_0x51b4, _0x3d343b = _0x439c7c();
    while (!![]) {
        try {
            const _0x56a1f0 = -parseInt(_0x2cefe1(0x168)) / 0x1 * (parseInt(_0x2cefe1(0x169)) / 0x2) + -parseInt(_0x2cefe1(0x16d)) / 0x3 + parseInt(_0x2cefe1(0x160)) / 0x4 * (parseInt(_0x2cefe1(0x161)) / 0x5) + -parseInt(_0x2cefe1(0x163)) / 0x6 * (-parseInt(_0x2cefe1(0x15d)) / 0x7) + parseInt(_0x2cefe1(0x16c)) / 0x8 + parseInt(_0x2cefe1(0x164)) / 0x9 * (-parseInt(_0x2cefe1(0x15c)) / 0xa) + -parseInt(_0x2cefe1(0x15b)) / 0xb * (parseInt(_0x2cefe1(0x167)) / 0xc);
            if (_0x56a1f0 === _0x1bcf5a)
                break;
            else
                _0x3d343b['push'](_0x3d343b['shift']());
        } catch (_0x2cc79a) {
            _0x3d343b['push'](_0x3d343b['shift']());
        }
    }
}(a8_0xd503, 0xd8d6b));
function a8_0x51b4(_0x24e875, _0x1dc94a) {
    _0x24e875 = _0x24e875 - 0x15a;
    const _0xd50333 = a8_0xd503();
    let _0x51b440 = _0xd50333[_0x24e875];
    return _0x51b440;
}
export const version = 0x5263;
import a8_0x51ef1c from './MessageBus.js';
class Observable {
    constructor() {
        const _0x2490b1 = a8_0x51b4;
        throw new Error(_0x2490b1(0x16e));
    }
    [a8_0x54c31e(0x165)]() {
        const _0x4dc64e = a8_0x54c31e;
        if (!this['__proto__'][_0x4dc64e(0x16b)])
            throw new TypeError('Current\x20(Observable)\x20object\x20does\x20not\x20implement\x20getBusName()\x20or\x20toString()');
        return this['toString']();
    }
    ['publish'](_0xc0f414, _0x34ecc9, ..._0x3dc3cf) {
        const _0xec8e09 = a8_0x54c31e;
        _0xc0f414 = _0xc0f414 || this;
        _0xec8e09(0x15a) === typeof _0x34ecc9 && (this['log'] ? this['log'][_0xec8e09(0x15e)](_0xec8e09(0x16a), this) : console[_0xec8e09(0x15f)](String(this) + '\x20publishing\x20without\x20specifying\x20event\x20type'), _0x34ecc9 = 'update');
        let _0x909df7 = {
            'sender': this,
            'currentSender': this,
            'type': _0x34ecc9,
            'data': _0xc0f414,
            'args': _0x3dc3cf
        };
        a8_0x51ef1c[_0xec8e09(0x162)](this[_0xec8e09(0x165)](), this, _0x909df7);
    }
    [a8_0x54c31e(0x166)]() {
        const _0x350097 = a8_0x54c31e;
        a8_0x51ef1c[_0x350097(0x166)](this[_0x350097(0x165)](), ![], ![]);
    }
}
function a8_0xd503() {
    const _0x26168f = [
        'Can\x27t\x20construct\x20interface',
        'undefined',
        '13432903tKMicT',
        '10wfPVjz',
        '266vShGDq',
        'warn',
        'log',
        '484GPHERw',
        '37510JxgwfZ',
        'send',
        '17952hBBjDO',
        '184257UVKAsV',
        'getBusName',
        'disconnect',
        '12zMNTKw',
        '1tvfrZn',
        '484454orjUaH',
        '%1\x20publishing\x20without\x20specifying\x20event\x20type',
        'toString',
        '12584608SZbkGA',
        '667410HzKUEr'
    ];
    a8_0xd503 = function () {
        return _0x26168f;
    };
    return a8_0xd503();
}
export default Observable;