define(function(require,exports,module){const _eventHandlerMap={};function registerEventHandler(handlerName,eventDispatcher){_eventHandlerMap[handlerName]&&console.error("Duplicate EventManager registration for event, overwriting event handler: ",handlerName),_eventHandlerMap[handlerName]=eventDispatcher}function isExistsEventHandler(handlerName){return void 0!==_eventHandlerMap[handlerName]}function triggerEvent(handlerName,eventName,...eventParams){let handler=_eventHandlerMap[handlerName];handler&&eventName?handler.trigger(eventName,...eventParams):console.error(`Could not locate handler for: ${handlerName} eventName: ${eventName} event: ${eventParams}`)}const eventTrustedOrigins={};function setTrustedOrigin(origin,isTrusted){isTrusted?eventTrustedOrigins[origin]=isTrusted:delete eventTrustedOrigins[origin]}window.onmessage=function(event){if(!Phoenix.TRUSTED_ORIGINS[event.origin]&&!eventTrustedOrigins[event.origin]){if("null"===event.origin)return;return console.error("Ignoring event from untrusted origin (should be one of "+`${Object.keys(Phoenix.TRUSTED_ORIGINS)}, ${Object.keys(eventTrustedOrigins)}) but got: `,event),void console.error('Forgot to set window.Phoenix.TRUSTED_ORIGINS["http://"]=true; ?')}const handlerName=event.data.handlerName,eventName=event.data.eventName;handlerName&&triggerEvent(handlerName,eventName,event)},exports.registerEventHandler=registerEventHandler,exports.isExistsEventHandler=isExistsEventHandler,exports.setTrustedOrigin=setTrustedOrigin,exports.triggerEvent=triggerEvent});