define("smashthepigComponentsPickerPort", ["componentmodelComponentApi", "clientkernelEventbusApi"],
    function(componentmodelComponentApi, clientkernelEventbusApi) {
        "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 haxe == 'undefined') {
            var haxe = {};
        };

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

        };
        if (typeof smashthepigComponentsPickerPort == 'undefined') {
            var smashthepigComponentsPickerPort = {};
        };

        smashthepigComponentsPickerPort.IPickerImplementationPort = function() {}
        smashthepigComponentsPickerPort.IPickerImplementationPort.prototype = {

            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getChoice: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getSummary: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getState: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPicks: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getTotal: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getAvailablePicks: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        smashthepigComponentsPickerPort.IPickerPort = function() {}
        smashthepigComponentsPickerPort.IPickerPort.prototype = {

            getShow: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getHide: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getSummary: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getChoice: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getState: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getPicks: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getTotal: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getAvailablePicks: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };
        smashthepigComponentsPickerPort.PickerDeclaration = function() {};
        smashthepigComponentsPickerPort.PickerDeclaration = ck_implements(smashthepigComponentsPickerPort.PickerDeclaration, componentmodelComponentApi.IComponentDeclaration);
        smashthepigComponentsPickerPort.PickerDeclaration.__interfaces__ = [componentmodelComponentApi.IComponentDeclaration];
        smashthepigComponentsPickerPort.PickerDeclaration.__name__ = ["smashthepigComponentsPickerPort", "PickerDeclaration"];
        smashthepigComponentsPickerPort.PickerDeclaration.prototype.getChildComponents = function() {
            return null;
        };
        smashthepigComponentsPickerPort.PickerDeclaration.prototype.getReferredComponents = function() {
            return null;
        };
        smashthepigComponentsPickerPort.PickerDeclaration.prototype.getImplementedPorts = function() {
            return [smashthepigComponentsPickerPort.IPickerImplementationPort];
        };
        smashthepigComponentsPickerPort.PickerDeclaration.prototype.getUsedPorts = function() {
            return [smashthepigComponentsPickerPort.IPickerPort];
        };
        smashthepigComponentsPickerPort.PickerDeclaration.prototype.__class__ = smashthepigComponentsPickerPort.PickerDeclaration;
        smashthepigComponentsPickerPort.PickerPort = function(bus) {
            this.availablePicks = new clientkernelEventbusApi.Topic("picker:available");
            this.total = new clientkernelEventbusApi.Topic("picker:total");
            this.picks = new clientkernelEventbusApi.Topic("picker:picks");
            this.state = new clientkernelEventbusApi.Topic("picker:state");
            this.summary = new clientkernelEventbusApi.Topic("picker:summary");
            this.choice = new clientkernelEventbusApi.Topic("picker:choice");
            this.hide = new clientkernelEventbusApi.Topic("picker:hide");
            this.show = new clientkernelEventbusApi.Topic("picker:show");
            this.show.connect(bus);
            this.hide.connect(bus);
            this.choice.connect(bus);
            this.summary.connect(bus);
            this.state.connect(bus);
            this.picks.connect(bus);
            this.total.connect(bus);
            this.availablePicks.connect(bus);
        };
        smashthepigComponentsPickerPort.PickerPort = ck_implements(smashthepigComponentsPickerPort.PickerPort, smashthepigComponentsPickerPort.IPickerPort);
        smashthepigComponentsPickerPort.PickerPort = ck_implements(smashthepigComponentsPickerPort.PickerPort, smashthepigComponentsPickerPort.IPickerImplementationPort);
        smashthepigComponentsPickerPort.PickerPort.__interfaces__ = [smashthepigComponentsPickerPort.IPickerPort, smashthepigComponentsPickerPort.IPickerImplementationPort];
        smashthepigComponentsPickerPort.PickerPort.__name__ = ["smashthepigComponentsPickerPort", "PickerPort"];
        smashthepigComponentsPickerPort.PickerPort.prototype.show = null;
        smashthepigComponentsPickerPort.PickerPort.prototype.hide = null;
        smashthepigComponentsPickerPort.PickerPort.prototype.choice = null;
        smashthepigComponentsPickerPort.PickerPort.prototype.summary = null;
        smashthepigComponentsPickerPort.PickerPort.prototype.state = null;
        smashthepigComponentsPickerPort.PickerPort.prototype.picks = null;
        smashthepigComponentsPickerPort.PickerPort.prototype.total = null;
        smashthepigComponentsPickerPort.PickerPort.prototype.availablePicks = null;
        smashthepigComponentsPickerPort.PickerPort.prototype.getShow = function() {
            return this.show;
        };
        smashthepigComponentsPickerPort.PickerPort.prototype.getHide = function() {
            return this.hide;
        };
        smashthepigComponentsPickerPort.PickerPort.prototype.getChoice = function() {
            return this.choice;
        };
        smashthepigComponentsPickerPort.PickerPort.prototype.getSummary = function() {
            return this.summary;
        };
        smashthepigComponentsPickerPort.PickerPort.prototype.getState = function() {
            return this.state;
        };
        smashthepigComponentsPickerPort.PickerPort.prototype.getPicks = function() {
            return this.picks;
        };
        smashthepigComponentsPickerPort.PickerPort.prototype.getTotal = function() {
            return this.total;
        };
        smashthepigComponentsPickerPort.PickerPort.prototype.getAvailablePicks = function() {
            return this.availablePicks;
        };
        smashthepigComponentsPickerPort.PickerPort.prototype.__class__ = smashthepigComponentsPickerPort.PickerPort;
        smashthepigComponentsPickerPort.PickerPortFactory = function() {};
        smashthepigComponentsPickerPort.PickerPortFactory = ck_implements(smashthepigComponentsPickerPort.PickerPortFactory, componentmodelComponentApi.IPortFactory);
        smashthepigComponentsPickerPort.PickerPortFactory.__interfaces__ = [componentmodelComponentApi.IPortFactory];
        smashthepigComponentsPickerPort.PickerPortFactory.__name__ = ["smashthepigComponentsPickerPort", "PickerPortFactory"];
        smashthepigComponentsPickerPort.PickerPortFactory.prototype.provide = function(channel) {
            return new smashthepigComponentsPickerPort.PickerPort(channel);
        };
        smashthepigComponentsPickerPort.PickerPortFactory.prototype["use"] = function(channel) {
            return new smashthepigComponentsPickerPort.PickerPort(channel);
        };
        smashthepigComponentsPickerPort.PickerPortFactory.prototype.__class__ = smashthepigComponentsPickerPort.PickerPortFactory;
        smashthepigComponentsPickerPort.HidePickerPayload = function() {};
        smashthepigComponentsPickerPort.HidePickerPayload.__name__ = ["smashthepigComponentsPickerPort", "HidePickerPayload"];
        smashthepigComponentsPickerPort.HidePickerPayload.prototype.__class__ = smashthepigComponentsPickerPort.HidePickerPayload;
        smashthepigComponentsPickerPort.PickerChoicePayload = function(playerChoice) {
            this.playerChoice = playerChoice;
        };
        smashthepigComponentsPickerPort.PickerChoicePayload.__name__ = ["smashthepigComponentsPickerPort", "PickerChoicePayload"];
        smashthepigComponentsPickerPort.PickerChoicePayload.prototype.playerChoice = null;
        smashthepigComponentsPickerPort.PickerChoicePayload.prototype.__class__ = smashthepigComponentsPickerPort.PickerChoicePayload;
        smashthepigComponentsPickerPort.PickerStateEnum = {
            __ename__: ["smashthepigComponentsPickerPort", "PickerStateEnum"],
            __constructs__: ["CUSTOM", "INTRO", "ENTRY", "IDLE", "IDLE_0", "IDLE_1", "IDLE_2", "OUTCOME_0", "OUTCOME_1", "OUTCOME_2", "OUTCOME_3", "OUTRO", "END", "DISABLED", "EXTENDED_ENTRY", "CONTINUE"]
        };
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_2 = ["IDLE_2", 6];
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_2.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_2.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_2 = ["OUTCOME_2", 9];
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_2.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_2.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_0 = ["OUTCOME_0", 7];
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_0.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_0.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.EXTENDED_ENTRY = ["EXTENDED_ENTRY", 14];
        smashthepigComponentsPickerPort.PickerStateEnum.EXTENDED_ENTRY.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.EXTENDED_ENTRY.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTRO = ["OUTRO", 11];
        smashthepigComponentsPickerPort.PickerStateEnum.OUTRO.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTRO.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.DISABLED = ["DISABLED", 13];
        smashthepigComponentsPickerPort.PickerStateEnum.DISABLED.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.DISABLED.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.CONTINUE = ["CONTINUE", 15];
        smashthepigComponentsPickerPort.PickerStateEnum.CONTINUE.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.CONTINUE.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_1 = ["IDLE_1", 5];
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_1.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_1.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE = ["IDLE", 3];
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_1 = ["OUTCOME_1", 8];
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_1.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_1.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.INTRO = ["INTRO", 1];
        smashthepigComponentsPickerPort.PickerStateEnum.INTRO.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.INTRO.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_3 = ["OUTCOME_3", 10];
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_3.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.OUTCOME_3.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.CUSTOM = ["CUSTOM", 0];
        smashthepigComponentsPickerPort.PickerStateEnum.CUSTOM.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.CUSTOM.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.END = ["END", 12];
        smashthepigComponentsPickerPort.PickerStateEnum.END.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.END.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_0 = ["IDLE_0", 4];
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_0.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.IDLE_0.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerStateEnum.ENTRY = ["ENTRY", 2];
        smashthepigComponentsPickerPort.PickerStateEnum.ENTRY.toString = $estr;
        smashthepigComponentsPickerPort.PickerStateEnum.ENTRY.__enum__ = smashthepigComponentsPickerPort.PickerStateEnum;
        smashthepigComponentsPickerPort.PickerSummaryPayload = function(symbolId, value, state) {
            this.value = value;
            this.symbolId = symbolId;
            this.state = state;
        };
        smashthepigComponentsPickerPort.PickerSummaryPayload.__name__ = ["smashthepigComponentsPickerPort", "PickerSummaryPayload"];
        smashthepigComponentsPickerPort.PickerSummaryPayload.prototype.symbolId = null;
        smashthepigComponentsPickerPort.PickerSummaryPayload.prototype.value = null;
        smashthepigComponentsPickerPort.PickerSummaryPayload.prototype.state = null;
        smashthepigComponentsPickerPort.PickerSummaryPayload.prototype.__class__ = smashthepigComponentsPickerPort.PickerSummaryPayload;
        smashthepigComponentsPickerPort.PickerTotalPayload = function(totalPickerWin, totalPicks) {
            this.totalPickerWin = totalPickerWin;
            this.totalPicks = totalPicks;
        };
        smashthepigComponentsPickerPort.PickerTotalPayload.__name__ = ["smashthepigComponentsPickerPort", "PickerTotalPayload"];
        smashthepigComponentsPickerPort.PickerTotalPayload.prototype.totalPickerWin = null;
        smashthepigComponentsPickerPort.PickerTotalPayload.prototype.totalPicks = null;
        smashthepigComponentsPickerPort.PickerTotalPayload.prototype.__class__ = smashthepigComponentsPickerPort.PickerTotalPayload;
        smashthepigComponentsPickerPort.ShowPickerPayload = function(symbols) {
            this.symbols = symbols;
        };
        smashthepigComponentsPickerPort.ShowPickerPayload.__name__ = ["smashthepigComponentsPickerPort", "ShowPickerPayload"];
        smashthepigComponentsPickerPort.ShowPickerPayload.prototype.symbols = null;
        smashthepigComponentsPickerPort.ShowPickerPayload.prototype.__class__ = smashthepigComponentsPickerPort.ShowPickerPayload;
        return {
            exports: smashthepigComponentsPickerPort
        };
    });
//# sourceURL=smashThePigPickerPort.js