define("tripleRedHotSevensIXFComponentsGameControllerApi", ["tripleRedHotSevensIXFTutorialApi", "componentmodelComponentApi", "slotModelApi", "winMeterApi", "tripleRedHotSevensIXFPopupsApi", "winControllerApi", "reelsApi", "gameLayoutApi", "clientkernelEventbusApi", "betPanelApi", "moneyApi"],
    function(tripleRedHotSevensIXFTutorialApi, componentmodelComponentApi, slotModelApi, winMeterApi, tripleRedHotSevensIXFPopupsApi, winControllerApi, reelsApi, gameLayoutApi, clientkernelEventbusApi, betPanelApi, moneyApi) {
        "use strict";

        function $iterator(o) {
            if (o instanceof Array) return function() {
                return {
                    cur: 0,
                    arr: o,
                    hasNext: function() {
                        return this.cur < this.arr.length;
                    },
                    next: function() {
                        return this.arr[this.cur++];
                    }
                };
            };
            return typeof(o.iterator) == 'function' ? $bind(o, o.iterator) : o.iterator;
        };;
        var $fid = 0;

        function $bind(o, m) {
            if (m == null) return null;
            if (m.__id__ == null) m.__id__ = $fid++;
            var f;
            if (o.hx__closures__ == null) o.hx__closures__ = {};
            else f = o.hx__closures__[m.__id__];
            if (f == null) {
                f = function() {
                    return f.method.apply(f.scope, arguments);
                };
                f.scope = o;
                f.method = m;
                o.hx__closures__[m.__id__] = f;
            }
            return f;
        };
        var $_;
        var $estr = function() {
            return _hcmn_.js_Boot.__string_rec(this, '');
        };
        if (typeof tripleRedHotSevensIXFComponentsGameControllerApi == 'undefined') {
            var tripleRedHotSevensIXFComponentsGameControllerApi = {};
        };
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration = function() {};
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration = ck_implements(tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration, componentmodelComponentApi.IComponentDeclaration);
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration.__name__ = ["tripleRedHotSevensIXFComponentsGameControllerApi", "GameControllerDeclaration"];
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration.prototype.getImplementedPorts = function() {
            return [];
        };
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration.prototype.getUsedPorts = function() {
            return [betPanelApi.IBetPanelPort, slotModelApi.ISlotModelPort, reelsApi.IReelsPort, gameLayoutApi.IGameLayoutPort, winMeterApi.IWinMeterPort, winControllerApi.IWinControllerPort, tripleRedHotSevensIXFPopupsApi.IPopupsPort, tripleRedHotSevensIXFTutorialApi.ITutorialPort];
        };
        tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration.prototype.__class__ = tripleRedHotSevensIXFComponentsGameControllerApi.GameControllerDeclaration;
        if (typeof haxe == 'undefined') {
            var haxe = {};
        };

        haxe.IMap = function() {}
        haxe.IMap.prototype = {

        };
        return {
            exports: tripleRedHotSevensIXFComponentsGameControllerApi
        };
    });