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

        clientkernelModulesApi.IKernelEvent = function() {}
        clientkernelModulesApi.IKernelEvent.prototype = {

            getType: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        clientkernelModulesApi.IKernelListener = function() {}
        clientkernelModulesApi.IKernelListener.prototype = {

            kernelEvent: function(event) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            }
        };

        clientkernelModulesApi.IModule = function() {}
        clientkernelModulesApi.IModule.prototype = {

            getState: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getSymbolicName: function() {
                return {
                    arguments: [],
                    returns: "string"
                };
            },
            getVersion: function() {
                return {
                    arguments: [],
                    returns: "string"
                };
            }
        };

        clientkernelModulesApi.IModuleActivator = function() {}
        clientkernelModulesApi.IModuleActivator.prototype = {

            start: function(context) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            },
            stop: function(context) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            }
        };

        clientkernelModulesApi.IModuleContext = function() {}
        clientkernelModulesApi.IModuleContext.prototype = {

            getProperty: function(key) {
                return {
                    arguments: ["string"],
                    returns: "string"
                };
            },
            getModule: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            addServiceListener: function(listener) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            },
            removeServiceListener: function(listener) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            },
            addModuleListener: function(listener) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            },
            removeModuleListener: function(listener) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            },
            addKernelListener: function(listener) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            },
            removeKernelListener: function(listener) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            },
            registerService: function(service, iface, properties) {
                return {
                    arguments: ["*", "*", "*"],
                    returns: "*"
                };
            },
            getServices: function(iface, filter) {
                return {
                    arguments: ["*", {
                        type: "*",
                        opt: true
                    }],
                    returns: "array"
                };
            },
            getAnyService: function(iface, filter) {
                return {
                    arguments: ["*", {
                        type: "*",
                        opt: true
                    }],
                    returns: "*"
                };
            },
            getServiceTracker: function(ifaces) {
                return {
                    arguments: ["array"],
                    returns: "*"
                };
            },
            restartModule: function(name) {
                return {
                    arguments: ["string"],
                    returns: "void"
                };
            }
        };

        clientkernelModulesApi.IModuleEvent = function() {}
        clientkernelModulesApi.IModuleEvent.prototype = {

            getModule: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getType: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        clientkernelModulesApi.IModuleListener = function() {}
        clientkernelModulesApi.IModuleListener.prototype = {

            moduleChanged: function(event) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            }
        };

        clientkernelModulesApi.IService = function() {}
        clientkernelModulesApi.IService.prototype = {

        };

        clientkernelModulesApi.IServiceEvent = function() {}
        clientkernelModulesApi.IServiceEvent.prototype = {

            getService: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getInterface: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            },
            getType: function() {
                return {
                    arguments: [],
                    returns: "*"
                };
            }
        };

        clientkernelModulesApi.IServiceListener = function() {}
        clientkernelModulesApi.IServiceListener.prototype = {

            serviceChanged: function(event) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            }
        };

        clientkernelModulesApi.IServiceRegistration = function() {}
        clientkernelModulesApi.IServiceRegistration.prototype = {

            setProperties: function(properties) {
                return {
                    arguments: ["*"],
                    returns: "void"
                };
            },
            unregister: function() {
                return {
                    arguments: [],
                    returns: "void"
                };
            }
        };
        clientkernelModulesApi.KernelEventType = function(type) {
            this.type = type;
        };
        clientkernelModulesApi.KernelEventType.__name__ = ["clientkernelModulesApi", "KernelEventType"];
        clientkernelModulesApi.KernelEventType.prototype.type = null;
        clientkernelModulesApi.KernelEventType.prototype.__class__ = clientkernelModulesApi.KernelEventType;
        clientkernelModulesApi.ModuleEventType = function(type) {
            this.type = type;
        };
        clientkernelModulesApi.ModuleEventType.__name__ = ["clientkernelModulesApi", "ModuleEventType"];
        clientkernelModulesApi.ModuleEventType.prototype.type = null;
        clientkernelModulesApi.ModuleEventType.prototype.__class__ = clientkernelModulesApi.ModuleEventType;
        clientkernelModulesApi.ModuleState = function(type) {
            this.type = type;
        };
        clientkernelModulesApi.ModuleState.__name__ = ["clientkernelModulesApi", "ModuleState"];
        clientkernelModulesApi.ModuleState.prototype.type = null;
        clientkernelModulesApi.ModuleState.prototype.__class__ = clientkernelModulesApi.ModuleState;
        clientkernelModulesApi.ServiceEventType = function(type) {
            this.type = type;
        };
        clientkernelModulesApi.ServiceEventType.__name__ = ["clientkernelModulesApi", "ServiceEventType"];
        clientkernelModulesApi.ServiceEventType.prototype.type = null;
        clientkernelModulesApi.ServiceEventType.prototype.__class__ = clientkernelModulesApi.ServiceEventType;
        clientkernelModulesApi.KernelEventType.STARTED = new clientkernelModulesApi.KernelEventType(1);;
        clientkernelModulesApi.KernelEventType.ERROR = new clientkernelModulesApi.KernelEventType(2);;
        clientkernelModulesApi.KernelEventType.WARNING = new clientkernelModulesApi.KernelEventType(3);;
        clientkernelModulesApi.KernelEventType.INFO = new clientkernelModulesApi.KernelEventType(4);;
        clientkernelModulesApi.KernelEventType.STOPPED = new clientkernelModulesApi.KernelEventType(5);;
        clientkernelModulesApi.ModuleEventType.INSTALLED = new clientkernelModulesApi.ModuleEventType(1);;
        clientkernelModulesApi.ModuleEventType.STARTED = new clientkernelModulesApi.ModuleEventType(2);;
        clientkernelModulesApi.ModuleEventType.STOPPED = new clientkernelModulesApi.ModuleEventType(3);;
        clientkernelModulesApi.ModuleEventType.RESOLVED = new clientkernelModulesApi.ModuleEventType(4);;
        clientkernelModulesApi.ModuleEventType.UNRESOLVED = new clientkernelModulesApi.ModuleEventType(5);;
        clientkernelModulesApi.ModuleEventType.STARTING = new clientkernelModulesApi.ModuleEventType(6);;
        clientkernelModulesApi.ModuleEventType.STOPPING = new clientkernelModulesApi.ModuleEventType(7);;
        clientkernelModulesApi.ModuleState.UNINSTALLED = new clientkernelModulesApi.ModuleState(1);;
        clientkernelModulesApi.ModuleState.INSTALLED = new clientkernelModulesApi.ModuleState(2);;
        clientkernelModulesApi.ModuleState.RESOLVED = new clientkernelModulesApi.ModuleState(3);;
        clientkernelModulesApi.ModuleState.STARTING = new clientkernelModulesApi.ModuleState(4);;
        clientkernelModulesApi.ModuleState.STOPPING = new clientkernelModulesApi.ModuleState(5);;
        clientkernelModulesApi.ModuleState.ACTIVE = new clientkernelModulesApi.ModuleState(6);;
        clientkernelModulesApi.ServiceEventType.REGISTERED = new clientkernelModulesApi.ServiceEventType(1);;
        return {
            exports: clientkernelModulesApi
        };
    });