//// [mergedModuleDeclarationCodeGen4.ts]
module superContain {
    export module contain {
        export module my.buz {
            export module data {
                export function foo() { }
            }
        }
        export module my.buz {
            export module data {
                export function bar(contain, my, buz, data) {
                    foo();
                }
            }
        }
    }
}

//// [mergedModuleDeclarationCodeGen4.js]
var superContain;
(function (superContain) {
    var contain;
    (function (contain_1) {
        var my;
        (function (my) {
            var buz;
            (function (buz) {
                var data;
                (function (data) {
                    function foo() { }
                    data.foo = foo;
                })(data = buz.data || (buz.data = {}));
            })(buz = my.buz || (my.buz = {}));
        })(my = contain_1.my || (contain_1.my = {}));
        var my;
        (function (my_1) {
            var buz;
            (function (buz_1) {
                var data;
                (function (data_1) {
                    function bar(contain, my, buz, data) {
                        data_1.foo();
                    }
                    data_1.bar = bar;
                })(data = buz_1.data || (buz_1.data = {}));
            })(buz = my_1.buz || (my_1.buz = {}));
        })(my = contain_1.my || (contain_1.my = {}));
    })(contain = superContain.contain || (superContain.contain = {}));
})(superContain || (superContain = {}));
