if (typeof __coverage__ === 'undefined') { __coverage__ = {}; }
if (!__coverage__['build/profiler/profiler.js']) {
   __coverage__['build/profiler/profiler.js'] = {"path":"build/profiler/profiler.js","s":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0},"b":{"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0]},"f":{"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"fnMap":{"1":{"name":"(anonymous_1)","line":1,"loc":{"start":{"line":1,"column":20},"end":{"line":1,"column":39}}},"2":{"name":"createReport","line":30,"loc":{"start":{"line":30,"column":4},"end":{"line":30,"column":31}}},"3":{"name":"saveDataPoint","line":53,"loc":{"start":{"line":53,"column":4},"end":{"line":53,"column":42}}},"4":{"name":"(anonymous_4)","line":103,"loc":{"start":{"line":103,"column":15},"end":{"line":103,"column":29}}},"5":{"name":"(anonymous_5)","line":120,"loc":{"start":{"line":120,"column":21},"end":{"line":120,"column":35}}},"6":{"name":"(anonymous_6)","line":132,"loc":{"start":{"line":132,"column":20},"end":{"line":132,"column":42}}},"7":{"name":"(anonymous_7)","line":135,"loc":{"start":{"line":135,"column":28},"end":{"line":135,"column":40}}},"8":{"name":"(anonymous_8)","line":176,"loc":{"start":{"line":176,"column":15},"end":{"line":176,"column":29}}},"9":{"name":"(anonymous_9)","line":197,"loc":{"start":{"line":197,"column":15},"end":{"line":197,"column":29}}},"10":{"name":"(anonymous_10)","line":231,"loc":{"start":{"line":231,"column":14},"end":{"line":231,"column":28}}},"11":{"name":"(anonymous_11)","line":263,"loc":{"start":{"line":263,"column":21},"end":{"line":263,"column":60}}},"12":{"name":"(anonymous_12)","line":274,"loc":{"start":{"line":274,"column":23},"end":{"line":274,"column":60}}},"13":{"name":"(anonymous_13)","line":288,"loc":{"start":{"line":288,"column":17},"end":{"line":288,"column":54}}},"14":{"name":"(anonymous_14)","line":302,"loc":{"start":{"line":302,"column":17},"end":{"line":302,"column":54}}},"15":{"name":"(anonymous_15)","line":314,"loc":{"start":{"line":314,"column":28},"end":{"line":314,"column":68}}},"16":{"name":"(anonymous_16)","line":325,"loc":{"start":{"line":325,"column":20},"end":{"line":325,"column":60}}},"17":{"name":"(anonymous_17)","line":338,"loc":{"start":{"line":338,"column":24},"end":{"line":338,"column":68}}},"18":{"name":"(anonymous_18)","line":339,"loc":{"start":{"line":339,"column":31},"end":{"line":339,"column":41}}},"19":{"name":"(anonymous_19)","line":366,"loc":{"start":{"line":366,"column":30},"end":{"line":366,"column":87}}},"20":{"name":"(anonymous_20)","line":387,"loc":{"start":{"line":387,"column":27},"end":{"line":387,"column":114}}},"21":{"name":"(anonymous_21)","line":440,"loc":{"start":{"line":440,"column":25},"end":{"line":440,"column":104}}},"22":{"name":"(anonymous_22)","line":468,"loc":{"start":{"line":468,"column":32},"end":{"line":468,"column":68}}},"23":{"name":"(anonymous_23)","line":484,"loc":{"start":{"line":484,"column":29},"end":{"line":484,"column":99}}},"24":{"name":"(anonymous_24)","line":524,"loc":{"start":{"line":524,"column":27},"end":{"line":524,"column":86}}}},"statementMap":{"1":{"start":{"line":1,"column":0},"end":{"line":546,"column":44}},"2":{"start":{"line":12,"column":4},"end":{"line":21,"column":21}},"3":{"start":{"line":30,"column":4},"end":{"line":39,"column":5}},"4":{"start":{"line":31,"column":8},"end":{"line":37,"column":10}},"5":{"start":{"line":38,"column":8},"end":{"line":38,"column":28}},"6":{"start":{"line":53,"column":4},"end":{"line":78,"column":5}},"7":{"start":{"line":56,"column":8},"end":{"line":56,"column":52}},"8":{"start":{"line":59,"column":8},"end":{"line":61,"column":9}},"9":{"start":{"line":60,"column":12},"end":{"line":60,"column":46}},"10":{"start":{"line":64,"column":8},"end":{"line":64,"column":29}},"11":{"start":{"line":65,"column":8},"end":{"line":65,"column":43}},"12":{"start":{"line":68,"column":8},"end":{"line":76,"column":9}},"13":{"start":{"line":69,"column":12},"end":{"line":69,"column":103}},"14":{"start":{"line":70,"column":12},"end":{"line":70,"column":68}},"15":{"start":{"line":71,"column":12},"end":{"line":71,"column":68}},"16":{"start":{"line":73,"column":12},"end":{"line":73,"column":40}},"17":{"start":{"line":74,"column":12},"end":{"line":74,"column":40}},"18":{"start":{"line":75,"column":12},"end":{"line":75,"column":40}},"19":{"start":{"line":89,"column":4},"end":{"line":544,"column":6}},"20":{"start":{"line":104,"column":12},"end":{"line":110,"column":13}},"21":{"start":{"line":105,"column":16},"end":{"line":105,"column":36}},"22":{"start":{"line":106,"column":16},"end":{"line":106,"column":41}},"23":{"start":{"line":108,"column":16},"end":{"line":108,"column":28}},"24":{"start":{"line":109,"column":16},"end":{"line":109,"column":33}},"25":{"start":{"line":121,"column":12},"end":{"line":121,"column":35}},"26":{"start":{"line":135,"column":12},"end":{"line":145,"column":14}},"27":{"start":{"line":137,"column":16},"end":{"line":139,"column":38}},"28":{"start":{"line":141,"column":16},"end":{"line":141,"column":48}},"29":{"start":{"line":143,"column":16},"end":{"line":143,"column":30}},"30":{"start":{"line":148,"column":12},"end":{"line":148,"column":37}},"31":{"start":{"line":151,"column":12},"end":{"line":151,"column":43}},"32":{"start":{"line":152,"column":12},"end":{"line":152,"column":51}},"33":{"start":{"line":155,"column":12},"end":{"line":155,"column":37}},"34":{"start":{"line":156,"column":12},"end":{"line":156,"column":49}},"35":{"start":{"line":159,"column":12},"end":{"line":159,"column":31}},"36":{"start":{"line":162,"column":12},"end":{"line":162,"column":29}},"37":{"start":{"line":177,"column":12},"end":{"line":178,"column":46}},"38":{"start":{"line":180,"column":12},"end":{"line":184,"column":13}},"39":{"start":{"line":181,"column":16},"end":{"line":181,"column":59}},"40":{"start":{"line":182,"column":16},"end":{"line":182,"column":36}},"41":{"start":{"line":183,"column":16},"end":{"line":183,"column":47}},"42":{"start":{"line":198,"column":12},"end":{"line":221,"column":13}},"43":{"start":{"line":199,"column":16},"end":{"line":199,"column":116}},"44":{"start":{"line":203,"column":16},"end":{"line":205,"column":17}},"45":{"start":{"line":204,"column":20},"end":{"line":204,"column":39}},"46":{"start":{"line":208,"column":16},"end":{"line":214,"column":17}},"47":{"start":{"line":209,"column":20},"end":{"line":213,"column":22}},"48":{"start":{"line":216,"column":16},"end":{"line":219,"column":17}},"49":{"start":{"line":217,"column":20},"end":{"line":217,"column":60}},"50":{"start":{"line":218,"column":20},"end":{"line":218,"column":57}},"51":{"start":{"line":232,"column":12},"end":{"line":233,"column":46}},"52":{"start":{"line":235,"column":12},"end":{"line":246,"column":13}},"53":{"start":{"line":236,"column":16},"end":{"line":240,"column":17}},"54":{"start":{"line":237,"column":20},"end":{"line":237,"column":83}},"55":{"start":{"line":238,"column":23},"end":{"line":240,"column":17}},"56":{"start":{"line":239,"column":20},"end":{"line":239,"column":57}},"57":{"start":{"line":243,"column":16},"end":{"line":243,"column":36}},"58":{"start":{"line":244,"column":16},"end":{"line":244,"column":36}},"59":{"start":{"line":245,"column":16},"end":{"line":245,"column":48}},"60":{"start":{"line":264,"column":12},"end":{"line":264,"column":36}},"61":{"start":{"line":275,"column":12},"end":{"line":275,"column":38}},"62":{"start":{"line":289,"column":12},"end":{"line":289,"column":36}},"63":{"start":{"line":303,"column":12},"end":{"line":303,"column":36}},"64":{"start":{"line":315,"column":12},"end":{"line":315,"column":32}},"65":{"start":{"line":326,"column":12},"end":{"line":326,"column":32}},"66":{"start":{"line":339,"column":12},"end":{"line":339,"column":56}},"67":{"start":{"line":339,"column":42},"end":{"line":339,"column":54}},"68":{"start":{"line":341,"column":12},"end":{"line":351,"column":13}},"69":{"start":{"line":342,"column":16},"end":{"line":342,"column":36}},"70":{"start":{"line":344,"column":16},"end":{"line":348,"column":17}},"71":{"start":{"line":345,"column":20},"end":{"line":347,"column":21}},"72":{"start":{"line":346,"column":24},"end":{"line":346,"column":56}},"73":{"start":{"line":350,"column":16},"end":{"line":350,"column":34}},"74":{"start":{"line":367,"column":12},"end":{"line":367,"column":53}},"75":{"start":{"line":390,"column":12},"end":{"line":393,"column":26}},"76":{"start":{"line":396,"column":12},"end":{"line":398,"column":13}},"77":{"start":{"line":397,"column":16},"end":{"line":397,"column":71}},"78":{"start":{"line":401,"column":12},"end":{"line":401,"column":37}},"79":{"start":{"line":402,"column":12},"end":{"line":402,"column":41}},"80":{"start":{"line":405,"column":12},"end":{"line":423,"column":13}},"81":{"start":{"line":408,"column":16},"end":{"line":408,"column":64}},"82":{"start":{"line":415,"column":16},"end":{"line":415,"column":51}},"83":{"start":{"line":416,"column":16},"end":{"line":416,"column":57}},"84":{"start":{"line":419,"column":16},"end":{"line":421,"column":17}},"85":{"start":{"line":420,"column":20},"end":{"line":420,"column":72}},"86":{"start":{"line":443,"column":12},"end":{"line":443,"column":64}},"87":{"start":{"line":446,"column":12},"end":{"line":446,"column":37}},"88":{"start":{"line":448,"column":12},"end":{"line":456,"column":13}},"89":{"start":{"line":449,"column":16},"end":{"line":455,"column":17}},"90":{"start":{"line":450,"column":20},"end":{"line":452,"column":21}},"91":{"start":{"line":451,"column":24},"end":{"line":451,"column":73}},"92":{"start":{"line":453,"column":23},"end":{"line":455,"column":17}},"93":{"start":{"line":454,"column":20},"end":{"line":454,"column":82}},"94":{"start":{"line":471,"column":12},"end":{"line":473,"column":13}},"95":{"start":{"line":472,"column":16},"end":{"line":472,"column":52}},"96":{"start":{"line":487,"column":12},"end":{"line":507,"column":13}},"97":{"start":{"line":490,"column":16},"end":{"line":492,"column":17}},"98":{"start":{"line":491,"column":20},"end":{"line":491,"column":90}},"99":{"start":{"line":495,"column":16},"end":{"line":496,"column":73}},"100":{"start":{"line":499,"column":16},"end":{"line":499,"column":50}},"101":{"start":{"line":500,"column":16},"end":{"line":500,"column":53}},"102":{"start":{"line":503,"column":16},"end":{"line":503,"column":50}},"103":{"start":{"line":506,"column":16},"end":{"line":506,"column":39}},"104":{"start":{"line":527,"column":12},"end":{"line":539,"column":13}},"105":{"start":{"line":528,"column":16},"end":{"line":528,"column":45}},"106":{"start":{"line":530,"column":16},"end":{"line":536,"column":17}},"107":{"start":{"line":531,"column":20},"end":{"line":535,"column":21}},"108":{"start":{"line":532,"column":24},"end":{"line":532,"column":67}},"109":{"start":{"line":533,"column":27},"end":{"line":535,"column":21}},"110":{"start":{"line":534,"column":24},"end":{"line":534,"column":74}},"111":{"start":{"line":538,"column":16},"end":{"line":538,"column":39}}},"branchMap":{"1":{"line":59,"type":"if","locations":[{"start":{"line":59,"column":8},"end":{"line":59,"column":8}},{"start":{"line":59,"column":8},"end":{"line":59,"column":8}}]},"2":{"line":68,"type":"if","locations":[{"start":{"line":68,"column":8},"end":{"line":68,"column":8}},{"start":{"line":68,"column":8},"end":{"line":68,"column":8}}]},"3":{"line":104,"type":"if","locations":[{"start":{"line":104,"column":12},"end":{"line":104,"column":12}},{"start":{"line":104,"column":12},"end":{"line":104,"column":12}}]},"4":{"line":180,"type":"if","locations":[{"start":{"line":180,"column":12},"end":{"line":180,"column":12}},{"start":{"line":180,"column":12},"end":{"line":180,"column":12}}]},"5":{"line":180,"type":"binary-expr","locations":[{"start":{"line":180,"column":16},"end":{"line":180,"column":25}},{"start":{"line":180,"column":29},"end":{"line":180,"column":61}}]},"6":{"line":198,"type":"if","locations":[{"start":{"line":198,"column":12},"end":{"line":198,"column":12}},{"start":{"line":198,"column":12},"end":{"line":198,"column":12}}]},"7":{"line":203,"type":"if","locations":[{"start":{"line":203,"column":16},"end":{"line":203,"column":16}},{"start":{"line":203,"column":16},"end":{"line":203,"column":16}}]},"8":{"line":208,"type":"if","locations":[{"start":{"line":208,"column":16},"end":{"line":208,"column":16}},{"start":{"line":208,"column":16},"end":{"line":208,"column":16}}]},"9":{"line":216,"type":"if","locations":[{"start":{"line":216,"column":16},"end":{"line":216,"column":16}},{"start":{"line":216,"column":16},"end":{"line":216,"column":16}}]},"10":{"line":235,"type":"if","locations":[{"start":{"line":235,"column":12},"end":{"line":235,"column":12}},{"start":{"line":235,"column":12},"end":{"line":235,"column":12}}]},"11":{"line":236,"type":"if","locations":[{"start":{"line":236,"column":16},"end":{"line":236,"column":16}},{"start":{"line":236,"column":16},"end":{"line":236,"column":16}}]},"12":{"line":238,"type":"if","locations":[{"start":{"line":238,"column":23},"end":{"line":238,"column":23}},{"start":{"line":238,"column":23},"end":{"line":238,"column":23}}]},"13":{"line":339,"type":"binary-expr","locations":[{"start":{"line":339,"column":21},"end":{"line":339,"column":27}},{"start":{"line":339,"column":31},"end":{"line":339,"column":55}}]},"14":{"line":341,"type":"if","locations":[{"start":{"line":341,"column":12},"end":{"line":341,"column":12}},{"start":{"line":341,"column":12},"end":{"line":341,"column":12}}]},"15":{"line":345,"type":"if","locations":[{"start":{"line":345,"column":20},"end":{"line":345,"column":20}},{"start":{"line":345,"column":20},"end":{"line":345,"column":20}}]},"16":{"line":390,"type":"cond-expr","locations":[{"start":{"line":391,"column":20},"end":{"line":391,"column":59}},{"start":{"line":391,"column":62},"end":{"line":391,"column":66}}]},"17":{"line":396,"type":"if","locations":[{"start":{"line":396,"column":12},"end":{"line":396,"column":12}},{"start":{"line":396,"column":12},"end":{"line":396,"column":12}}]},"18":{"line":405,"type":"if","locations":[{"start":{"line":405,"column":12},"end":{"line":405,"column":12}},{"start":{"line":405,"column":12},"end":{"line":405,"column":12}}]},"19":{"line":405,"type":"binary-expr","locations":[{"start":{"line":405,"column":16},"end":{"line":405,"column":36}},{"start":{"line":405,"column":40},"end":{"line":405,"column":61}}]},"20":{"line":419,"type":"if","locations":[{"start":{"line":419,"column":16},"end":{"line":419,"column":16}},{"start":{"line":419,"column":16},"end":{"line":419,"column":16}}]},"21":{"line":443,"type":"cond-expr","locations":[{"start":{"line":443,"column":43},"end":{"line":443,"column":49}},{"start":{"line":443,"column":52},"end":{"line":443,"column":62}}]},"22":{"line":449,"type":"if","locations":[{"start":{"line":449,"column":16},"end":{"line":449,"column":16}},{"start":{"line":449,"column":16},"end":{"line":449,"column":16}}]},"23":{"line":450,"type":"if","locations":[{"start":{"line":450,"column":20},"end":{"line":450,"column":20}},{"start":{"line":450,"column":20},"end":{"line":450,"column":20}}]},"24":{"line":450,"type":"binary-expr","locations":[{"start":{"line":450,"column":24},"end":{"line":450,"column":45}},{"start":{"line":450,"column":49},"end":{"line":450,"column":69}}]},"25":{"line":453,"type":"if","locations":[{"start":{"line":453,"column":23},"end":{"line":453,"column":23}},{"start":{"line":453,"column":23},"end":{"line":453,"column":23}}]},"26":{"line":453,"type":"binary-expr","locations":[{"start":{"line":453,"column":27},"end":{"line":453,"column":58}},{"start":{"line":453,"column":62},"end":{"line":453,"column":69}}]},"27":{"line":471,"type":"if","locations":[{"start":{"line":471,"column":12},"end":{"line":471,"column":12}},{"start":{"line":471,"column":12},"end":{"line":471,"column":12}}]},"28":{"line":487,"type":"if","locations":[{"start":{"line":487,"column":12},"end":{"line":487,"column":12}},{"start":{"line":487,"column":12},"end":{"line":487,"column":12}}]},"29":{"line":490,"type":"if","locations":[{"start":{"line":490,"column":16},"end":{"line":490,"column":16}},{"start":{"line":490,"column":16},"end":{"line":490,"column":16}}]},"30":{"line":527,"type":"if","locations":[{"start":{"line":527,"column":12},"end":{"line":527,"column":12}},{"start":{"line":527,"column":12},"end":{"line":527,"column":12}}]},"31":{"line":531,"type":"if","locations":[{"start":{"line":531,"column":20},"end":{"line":531,"column":20}},{"start":{"line":531,"column":20},"end":{"line":531,"column":20}}]},"32":{"line":533,"type":"if","locations":[{"start":{"line":533,"column":27},"end":{"line":533,"column":27}},{"start":{"line":533,"column":27},"end":{"line":533,"column":27}}]},"33":{"line":533,"type":"binary-expr","locations":[{"start":{"line":533,"column":31},"end":{"line":533,"column":62}},{"start":{"line":533,"column":66},"end":{"line":533,"column":73}}]}},"code":["(function () { YUI.add('profiler', function (Y, NAME) {","","    /**","     * The YUI JavaScript profiler.","     * @module profiler","     */","     ","    //-------------------------------------------------------------------------","    // Private Variables and Functions","    //-------------------------------------------------------------------------","    ","    var container   = {},   //Container object on which to put the original unprofiled methods.","        report      = {},   //Profiling information for functions","        stopwatches = {},   //Additional stopwatch information","        ","        WATCH_STARTED   = 0,","        WATCH_STOPPED   = 1,","        WATCH_PAUSED    = 2,    ","        ","        //shortcuts","        L   = Y.Lang;","","    /* (intentionally not documented)","     * Creates a report object with the given name.","     * @param {String} name The name to store for the report object.","     * @return {Void}","     * @method createReport","     * @private","     */","    function createReport(name){","        report[name] = {","            calls: 0,","            max: 0,","            min: 0,","            avg: 0,","            points: []","        };","        return report[name];","    }","    ","    /* (intentionally not documented)","     * Called when a method ends execution. Marks the start and end time of the ","     * method so it can calculate how long the function took to execute. Also ","     * updates min/max/avg calculations for the function.","     * @param {String} name The name of the function to mark as stopped.","     * @param {int} duration The number of milliseconds it took the function to","     *      execute.","     * @return {Void}","     * @method saveDataPoint","     * @private","     * @static","     */","    function saveDataPoint(name, duration){","","        //get the function data","        var functionData /*:Object*/ = report[name];","        ","        //just in case clear() was called","        if (!functionData){","            functionData = createReport(name);","        }","    ","        //increment the calls","        functionData.calls++;","        functionData.points.push(duration);","","        //if it's already been called at least once, do more complex calculations","        if (functionData.calls > 1) {","            functionData.avg = ((functionData.avg*(functionData.calls-1))+duration)/functionData.calls;","            functionData.min = Math.min(functionData.min, duration);","            functionData.max = Math.max(functionData.max, duration);","        } else {","            functionData.avg = duration;","            functionData.min = duration;","            functionData.max = duration;","        }                             ","    ","    }","    ","    //-------------------------------------------------------------------------","    // Public Interface","    //-------------------------------------------------------------------------","    ","    /**","     * Profiles functions in JavaScript.","     * @class Profiler","     * @static","     */","    Y.Profiler = {","    ","        //-------------------------------------------------------------------------","        // Utility Methods","        //-------------------------------------------------------------------------        ","        ","        /**","         * Removes all report data from the profiler.","         * @param {String} name (Optional) The name of the report to clear. If","         *      omitted, then all report data is cleared.","         * @return {Void}","         * @method clear","         * @static","         */","        clear: function(name){","            if (L.isString(name)){","                delete report[name];","                delete stopwatches[name];","            } else {","                report = {};","                stopwatches = {};","            }","        },","","        /**","         * Returns the uninstrumented version of a function/object.","         * @param {String} name The name of the function/object to retrieve.","         * @return {Function|Object} The uninstrumented version of a function/object.","         * @method getOriginal","         * @static","         */    ","        getOriginal: function(name){","            return container[name];","        },","    ","        /**","         * Instruments a method to have profiling calls.","         * @param {String} name The name of the report for the function.","         * @param {Function} method The function to instrument.","         * @return {Function} An instrumented version of the function.","         * @method instrument","         * @static","         */","        instrument: function(name, method){","        ","            //create instrumented version of function","            var newMethod = function () {","    ","                var start = new Date(),","                    retval = method.apply(this, arguments),","                    stop = new Date();","                ","                saveDataPoint(name, stop-start);","                ","                return retval;                ","            ","            };     ","","            //copy the function properties over","            Y.mix(newMethod, method);","            ","            //assign prototype and flag as being profiled","            newMethod.__yuiProfiled = true;","            newMethod.prototype = method.prototype;","            ","            //store original method","            container[name] = method;","            container[name].__yuiFuncName = name;","            ","            //create the report","            createReport(name);","","            //return the new method","            return newMethod;","        },    ","        ","        //-------------------------------------------------------------------------","        // Stopwatch Methods","        //-------------------------------------------------------------------------        ","        ","        /**","         * Pauses profiling information for a given name.","         * @param {String} name The name of the data point.","         * @return {Void}","         * @method pause","         * @static","         */        ","        pause: function(name){","            var now = new Date(),","                stopwatch = stopwatches[name];","                ","            if (stopwatch && stopwatch.state == WATCH_STARTED){","                stopwatch.total += (now - stopwatch.start);","                stopwatch.start = 0;","                stopwatch.state = WATCH_PAUSED;","            }","        ","        },","        ","        /**","         * Start profiling information for a given name. The name cannot be the name","         * of a registered function or object. This is used to start timing for a","         * particular block of code rather than instrumenting the entire function.","         * @param {String} name The name of the data point.","         * @return {Void}","         * @method start","         * @static","         */","        start: function(name){","            if(container[name]){","                throw new Error(\"Cannot use '\" + name + \"' for profiling through start(), name is already in use.\");","            } else {","            ","                //create report if necessary","                if (!report[name]){","                    createReport(name);","                }","                ","                //create stopwatch object if necessary","                if (!stopwatches[name]){             ","                    stopwatches[name] = {","                        state: WATCH_STOPPED,","                        start: 0,","                        total: 0","                    };","                }","                ","                if (stopwatches[name].state == WATCH_STOPPED){","                    stopwatches[name].state = WATCH_STARTED;","                    stopwatches[name].start = new Date();                    ","                }","","            }","        },","        ","        /**","         * Stops profiling information for a given name.","         * @param {String} name The name of the data point.","         * @return {Void}","         * @method stop","         * @static","         */","        stop: function(name){","            var now = new Date(),","                stopwatch = stopwatches[name];","                ","            if (stopwatch){","                if (stopwatch.state == WATCH_STARTED){","                    saveDataPoint(name, stopwatch.total + (now - stopwatch.start));                    ","                } else if (stopwatch.state == WATCH_PAUSED){","                    saveDataPoint(name, stopwatch.total);","                }","                ","                //reset stopwatch information","                stopwatch.start = 0;","                stopwatch.total = 0;","                stopwatch.state = WATCH_STOPPED;                ","            }","        },","    ","        //-------------------------------------------------------------------------","        // Reporting Methods","        //-------------------------------------------------------------------------    ","        ","        /**","         * Returns the average amount of time (in milliseconds) that the function","         * with the given name takes to execute.","         * @param {String} name The name of the function whose data should be returned.","         *      If an object type method, it should be 'constructor.prototype.methodName';","         *      a normal object method would just be 'object.methodName'.","         * @return {float} The average time it takes the function to execute.","         * @method getAverage","         * @static","         */","        getAverage : function (name /*:String*/) /*:float*/ {","            return report[name].avg;","        },","    ","        /**","         * Returns the number of times that the given function has been called.","         * @param {String} name The name of the function whose data should be returned.","         * @return {int} The number of times the function was called.","         * @method getCallCount","         * @static","         */","        getCallCount : function (name /*:String*/) /*:int*/ {","            return report[name].calls;    ","        },","        ","        /**","         * Returns the maximum amount of time (in milliseconds) that the function","         * with the given name takes to execute.","         * @param {String} name The name of the function whose data should be returned.","         *      If an object type method, it should be 'constructor.prototype.methodName';","         *      a normal object method would just be 'object.methodName'.","         * @return {float} The maximum time it takes the function to execute.","         * @method getMax","         * @static","         */","        getMax : function (name /*:String*/) /*:int*/ {","            return report[name].max;","        },","        ","        /**","         * Returns the minimum amount of time (in milliseconds) that the function","         * with the given name takes to execute.","         * @param {String} name The name of the function whose data should be returned.","         *      If an object type method, it should be 'constructor.prototype.methodName';","         *      a normal object method would just be 'object.methodName'.","         * @return {float} The minimum time it takes the function to execute.","         * @method getMin","         * @static","         */","        getMin : function (name /*:String*/) /*:int*/ {","            return report[name].min;","        },","    ","        /**","         * Returns an object containing profiling data for a single function.","         * The object has an entry for min, max, avg, calls, and points).","         * @return {Object} An object containing profile data for a given function.","         * @method getFunctionReport","         * @static","         * @deprecated Use getReport() instead.","         */","        getFunctionReport : function (name /*:String*/) /*:Object*/ {","            return report[name];","        },","    ","        /**","         * Returns an object containing profiling data for a single function.","         * The object has an entry for min, max, avg, calls, and points).","         * @return {Object} An object containing profile data for a given function.","         * @method getReport","         * @static","         */","        getReport : function (name /*:String*/) /*:Object*/ {","            return report[name];","        },","    ","        /**","         * Returns an object containing profiling data for all of the functions ","         * that were profiled. The object has an entry for each function and ","         * returns all information (min, max, average, calls, etc.) for each","         * function.","         * @return {Object} An object containing all profile data.","         * @method getFullReport","         * @static","         */","        getFullReport : function (filter /*:Function*/) /*:Object*/ {","            filter = filter || function(){return true;};","        ","            if (L.isFunction(filter)) {","                var fullReport = {};","                ","                for (var name in report){","                    if (filter(report[name])){","                        fullReport[name] = report[name];    ","                    }","                }","                ","                return fullReport;","            }","        },","    ","        //-------------------------------------------------------------------------","        // Profiling Methods","        //-------------------------------------------------------------------------   ","        ","        /**","         * Sets up a constructor for profiling, including all properties and methods on the prototype.","         * @param {string} name The fully-qualified name of the function including namespace information.","         * @param {Object} owner (Optional) The object that owns the function (namespace or containing object).","         * @return {Void}","         * @method registerConstructor","         * @static","         */","        registerConstructor : function (name /*:String*/, owner /*:Object*/) /*:Void*/ {    ","            this.registerFunction(name, owner, true);","        },","    ","        /**","         * Sets up a function for profiling. It essentially overwrites the function with one","         * that has instrumentation data. This method also creates an entry for the function","         * in the profile report. The original function is stored on the container object.","         * @param {String} name The full name of the function including namespacing. This","         *      is the name of the function that is stored in the report.","         * @param {Object} owner (Optional) The object that owns the function. If the function","         *      isn't global then this argument is required. This could be the namespace that","         *      the function belongs to or the object on which it's","         *      a method.","         * @param {Boolean} registerPrototype (Optional) Indicates that the prototype should","         *      also be instrumented. Setting to true has the same effect as calling","         *      registerConstructor().","         * @return {Void}","         * @method registerFunction","         * @static","         */     ","        registerFunction : function(name /*:String*/, owner /*:Object*/, registerPrototype /*:Boolean*/) /*:Void*/{","        ","            //figure out the function name without namespacing","            var funcName = (name.indexOf(\".\") > -1 ? ","                    name.substring(name.lastIndexOf(\".\")+1) : name),","                method,","                prototype;","                ","            //if owner isn't an object, try to find it from the name","            if (!L.isObject(owner)){","                owner = eval(name.substring(0, name.lastIndexOf(\".\")));","            }","            ","            //get the method and prototype","            method = owner[funcName];","            prototype = method.prototype;","            ","            //see if the method has already been registered","            if (L.isFunction(method) && !method.__yuiProfiled){","                ","                //replace the function with the profiling one","                owner[funcName] = this.instrument(name, method);","                        ","                /*","                 * Store original function information. We store the actual","                 * function as well as the owner and the name used to identify","                 * the function so it can be restored later.","                 */","                container[name].__yuiOwner = owner;","                container[name].__yuiFuncName = funcName;  //overwrite with less-specific name","                 ","                //register prototype if necessary","                if (registerPrototype) {            ","                    this.registerObject(name + \".prototype\", prototype);          ","                }","    ","            }","        ","        },","            ","        ","        /**","         * Sets up an object for profiling. It takes the object and looks for functions.","         * When a function is found, registerMethod() is called on it. If set to recrusive","         * mode, it will also setup objects found inside of this object for profiling, ","         * using the same methodology.","         * @param {String} name The name of the object to profile (shows up in report).","         * @param {Object} owner (Optional) The object represented by the name.","         * @param {Boolean} recurse (Optional) Determines if subobject methods are also profiled.","         * @return {Void}","         * @method registerObject","         * @static","         */","        registerObject : function (name /*:String*/, object /*:Object*/, recurse /*:Boolean*/) /*:Void*/{","        ","            //get the object","            object = (L.isObject(object) ? object : eval(name));","        ","            //save the object","            container[name] = object;","        ","            for (var prop in object) {","                if (typeof object[prop] == \"function\"){","                    if (prop != \"constructor\" && prop != \"superclass\"){ //don't do constructor or superclass, it's recursive","                        this.registerFunction(name + \".\" + prop, object);","                    }","                } else if (typeof object[prop] == \"object\" && recurse){","                    this.registerObject(name + \".\" + prop, object[prop], recurse);","                }","            }","        ","        },    ","        ","        /**","         * Removes a constructor function from profiling. Reverses the registerConstructor() method.","         * @param {String} name The full name of the function including namespacing. This","         *      is the name of the function that is stored in the report.","         * @return {Void}","         * @method unregisterFunction","         * @static","         */     ","        unregisterConstructor : function(name /*:String*/) /*:Void*/{","                ","            //see if the method has been registered","            if (L.isFunction(container[name])){","                this.unregisterFunction(name, true);","            }    ","        },","        ","        /**","         * Removes function from profiling. Reverses the registerFunction() method.","         * @param {String} name The full name of the function including namespacing. This","         *      is the name of the function that is stored in the report.","         * @return {Void}","         * @method unregisterFunction","         * @static","         */     ","        unregisterFunction : function(name /*:String*/, unregisterPrototype /*:Boolean*/) /*:Void*/{","                ","            //see if the method has been registered","            if (L.isFunction(container[name])){","            ","                //check to see if you should unregister the prototype","                if (unregisterPrototype){","                    this.unregisterObject(name + \".prototype\", container[name].prototype);","                }","                    ","                //get original data","                var owner /*:Object*/ = container[name].__yuiOwner,","                    funcName /*:String*/ = container[name].__yuiFuncName;","                    ","                //delete extra information","                delete container[name].__yuiOwner;","                delete container[name].__yuiFuncName;","                ","                //replace instrumented function","                owner[funcName] = container[name];","                ","                //delete supporting information","                delete container[name];          ","            }","                ","        ","        },","        ","        /**","         * Unregisters an object for profiling. It takes the object and looks for functions.","         * When a function is found, unregisterMethod() is called on it. If set to recrusive","         * mode, it will also unregister objects found inside of this object, ","         * using the same methodology.","         * @param {String} name The name of the object to unregister.","         * @param {Boolean} recurse (Optional) Determines if subobject methods should also be","         *      unregistered.","         * @return {Void}","         * @method unregisterObject","         * @static","         */","        unregisterObject : function (name /*:String*/, recurse /*:Boolean*/) /*:Void*/{","        ","            //get the object","            if (L.isObject(container[name])){            ","                var object = container[name];    ","            ","                for (var prop in object) {","                    if (typeof object[prop] == \"function\"){","                        this.unregisterFunction(name + \".\" + prop);","                    } else if (typeof object[prop] == \"object\" && recurse){","                        this.unregisterObject(name + \".\" + prop, recurse);","                    }","                }","                ","                delete container[name];","            }","        ","        }","             ","    ","    };","","}, '@VERSION@', {\"requires\": [\"yui-base\"]});","","}());"]};
}
var __cov_w1IJwgfBPiJFfr1u2kEDjg = __coverage__['build/profiler/profiler.js'];
__cov_w1IJwgfBPiJFfr1u2kEDjg.s['1']++;YUI.add('profiler',function(Y,NAME){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['1']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['2']++;var container={},report={},stopwatches={},WATCH_STARTED=0,WATCH_STOPPED=1,WATCH_PAUSED=2,L=Y.Lang;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['3']++;function createReport(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['2']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['4']++;report[name]={calls:0,max:0,min:0,avg:0,points:[]};__cov_w1IJwgfBPiJFfr1u2kEDjg.s['5']++;return report[name];}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['6']++;function saveDataPoint(name,duration){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['3']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['7']++;var functionData=report[name];__cov_w1IJwgfBPiJFfr1u2kEDjg.s['8']++;if(!functionData){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['1'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['9']++;functionData=createReport(name);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['1'][1]++;}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['10']++;functionData.calls++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['11']++;functionData.points.push(duration);__cov_w1IJwgfBPiJFfr1u2kEDjg.s['12']++;if(functionData.calls>1){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['2'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['13']++;functionData.avg=(functionData.avg*(functionData.calls-1)+duration)/functionData.calls;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['14']++;functionData.min=Math.min(functionData.min,duration);__cov_w1IJwgfBPiJFfr1u2kEDjg.s['15']++;functionData.max=Math.max(functionData.max,duration);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['2'][1]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['16']++;functionData.avg=duration;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['17']++;functionData.min=duration;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['18']++;functionData.max=duration;}}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['19']++;Y.Profiler={clear:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['4']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['20']++;if(L.isString(name)){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['3'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['21']++;delete report[name];__cov_w1IJwgfBPiJFfr1u2kEDjg.s['22']++;delete stopwatches[name];}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['3'][1]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['23']++;report={};__cov_w1IJwgfBPiJFfr1u2kEDjg.s['24']++;stopwatches={};}},getOriginal:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['5']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['25']++;return container[name];},instrument:function(name,method){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['6']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['26']++;var newMethod=function(){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['7']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['27']++;var start=new Date(),retval=method.apply(this,arguments),stop=new Date();__cov_w1IJwgfBPiJFfr1u2kEDjg.s['28']++;saveDataPoint(name,stop-start);__cov_w1IJwgfBPiJFfr1u2kEDjg.s['29']++;return retval;};__cov_w1IJwgfBPiJFfr1u2kEDjg.s['30']++;Y.mix(newMethod,method);__cov_w1IJwgfBPiJFfr1u2kEDjg.s['31']++;newMethod.__yuiProfiled=true;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['32']++;newMethod.prototype=method.prototype;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['33']++;container[name]=method;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['34']++;container[name].__yuiFuncName=name;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['35']++;createReport(name);__cov_w1IJwgfBPiJFfr1u2kEDjg.s['36']++;return newMethod;},pause:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['8']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['37']++;var now=new Date(),stopwatch=stopwatches[name];__cov_w1IJwgfBPiJFfr1u2kEDjg.s['38']++;if((__cov_w1IJwgfBPiJFfr1u2kEDjg.b['5'][0]++,stopwatch)&&(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['5'][1]++,stopwatch.state==WATCH_STARTED)){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['4'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['39']++;stopwatch.total+=now-stopwatch.start;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['40']++;stopwatch.start=0;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['41']++;stopwatch.state=WATCH_PAUSED;}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['4'][1]++;}},start:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['9']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['42']++;if(container[name]){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['6'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['43']++;throw new Error('Cannot use \''+name+'\' for profiling through start(), name is already in use.');}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['6'][1]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['44']++;if(!report[name]){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['7'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['45']++;createReport(name);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['7'][1]++;}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['46']++;if(!stopwatches[name]){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['8'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['47']++;stopwatches[name]={state:WATCH_STOPPED,start:0,total:0};}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['8'][1]++;}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['48']++;if(stopwatches[name].state==WATCH_STOPPED){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['9'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['49']++;stopwatches[name].state=WATCH_STARTED;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['50']++;stopwatches[name].start=new Date();}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['9'][1]++;}}},stop:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['10']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['51']++;var now=new Date(),stopwatch=stopwatches[name];__cov_w1IJwgfBPiJFfr1u2kEDjg.s['52']++;if(stopwatch){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['10'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['53']++;if(stopwatch.state==WATCH_STARTED){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['11'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['54']++;saveDataPoint(name,stopwatch.total+(now-stopwatch.start));}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['11'][1]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['55']++;if(stopwatch.state==WATCH_PAUSED){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['12'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['56']++;saveDataPoint(name,stopwatch.total);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['12'][1]++;}}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['57']++;stopwatch.start=0;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['58']++;stopwatch.total=0;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['59']++;stopwatch.state=WATCH_STOPPED;}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['10'][1]++;}},getAverage:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['11']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['60']++;return report[name].avg;},getCallCount:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['12']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['61']++;return report[name].calls;},getMax:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['13']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['62']++;return report[name].max;},getMin:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['14']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['63']++;return report[name].min;},getFunctionReport:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['15']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['64']++;return report[name];},getReport:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['16']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['65']++;return report[name];},getFullReport:function(filter){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['17']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['66']++;filter=(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['13'][0]++,filter)||(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['13'][1]++,function(){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['18']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['67']++;return true;});__cov_w1IJwgfBPiJFfr1u2kEDjg.s['68']++;if(L.isFunction(filter)){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['14'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['69']++;var fullReport={};__cov_w1IJwgfBPiJFfr1u2kEDjg.s['70']++;for(var name in report){__cov_w1IJwgfBPiJFfr1u2kEDjg.s['71']++;if(filter(report[name])){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['15'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['72']++;fullReport[name]=report[name];}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['15'][1]++;}}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['73']++;return fullReport;}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['14'][1]++;}},registerConstructor:function(name,owner){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['19']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['74']++;this.registerFunction(name,owner,true);},registerFunction:function(name,owner,registerPrototype){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['20']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['75']++;var funcName=name.indexOf('.')>-1?(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['16'][0]++,name.substring(name.lastIndexOf('.')+1)):(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['16'][1]++,name),method,prototype;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['76']++;if(!L.isObject(owner)){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['17'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['77']++;owner=eval(name.substring(0,name.lastIndexOf('.')));}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['17'][1]++;}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['78']++;method=owner[funcName];__cov_w1IJwgfBPiJFfr1u2kEDjg.s['79']++;prototype=method.prototype;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['80']++;if((__cov_w1IJwgfBPiJFfr1u2kEDjg.b['19'][0]++,L.isFunction(method))&&(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['19'][1]++,!method.__yuiProfiled)){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['18'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['81']++;owner[funcName]=this.instrument(name,method);__cov_w1IJwgfBPiJFfr1u2kEDjg.s['82']++;container[name].__yuiOwner=owner;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['83']++;container[name].__yuiFuncName=funcName;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['84']++;if(registerPrototype){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['20'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['85']++;this.registerObject(name+'.prototype',prototype);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['20'][1]++;}}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['18'][1]++;}},registerObject:function(name,object,recurse){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['21']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['86']++;object=L.isObject(object)?(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['21'][0]++,object):(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['21'][1]++,eval(name));__cov_w1IJwgfBPiJFfr1u2kEDjg.s['87']++;container[name]=object;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['88']++;for(var prop in object){__cov_w1IJwgfBPiJFfr1u2kEDjg.s['89']++;if(typeof object[prop]=='function'){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['22'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['90']++;if((__cov_w1IJwgfBPiJFfr1u2kEDjg.b['24'][0]++,prop!='constructor')&&(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['24'][1]++,prop!='superclass')){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['23'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['91']++;this.registerFunction(name+'.'+prop,object);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['23'][1]++;}}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['22'][1]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['92']++;if((__cov_w1IJwgfBPiJFfr1u2kEDjg.b['26'][0]++,typeof object[prop]=='object')&&(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['26'][1]++,recurse)){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['25'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['93']++;this.registerObject(name+'.'+prop,object[prop],recurse);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['25'][1]++;}}}},unregisterConstructor:function(name){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['22']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['94']++;if(L.isFunction(container[name])){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['27'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['95']++;this.unregisterFunction(name,true);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['27'][1]++;}},unregisterFunction:function(name,unregisterPrototype){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['23']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['96']++;if(L.isFunction(container[name])){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['28'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['97']++;if(unregisterPrototype){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['29'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['98']++;this.unregisterObject(name+'.prototype',container[name].prototype);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['29'][1]++;}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['99']++;var owner=container[name].__yuiOwner,funcName=container[name].__yuiFuncName;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['100']++;delete container[name].__yuiOwner;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['101']++;delete container[name].__yuiFuncName;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['102']++;owner[funcName]=container[name];__cov_w1IJwgfBPiJFfr1u2kEDjg.s['103']++;delete container[name];}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['28'][1]++;}},unregisterObject:function(name,recurse){__cov_w1IJwgfBPiJFfr1u2kEDjg.f['24']++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['104']++;if(L.isObject(container[name])){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['30'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['105']++;var object=container[name];__cov_w1IJwgfBPiJFfr1u2kEDjg.s['106']++;for(var prop in object){__cov_w1IJwgfBPiJFfr1u2kEDjg.s['107']++;if(typeof object[prop]=='function'){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['31'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['108']++;this.unregisterFunction(name+'.'+prop);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['31'][1]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['109']++;if((__cov_w1IJwgfBPiJFfr1u2kEDjg.b['33'][0]++,typeof object[prop]=='object')&&(__cov_w1IJwgfBPiJFfr1u2kEDjg.b['33'][1]++,recurse)){__cov_w1IJwgfBPiJFfr1u2kEDjg.b['32'][0]++;__cov_w1IJwgfBPiJFfr1u2kEDjg.s['110']++;this.unregisterObject(name+'.'+prop,recurse);}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['32'][1]++;}}}__cov_w1IJwgfBPiJFfr1u2kEDjg.s['111']++;delete container[name];}else{__cov_w1IJwgfBPiJFfr1u2kEDjg.b['30'][1]++;}}};},'@VERSION@',{'requires':['yui-base']});
