Overview

URLhttp://user.qzone.qq.com/1826355829
IP195.159.219.8
ASNAS5381 PowerTech Information Systems AS
Location Norway
Report completed2012-11-17 20:02:33 CET
StatusLoading report..
urlQuery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Referer
Adobe Reader8.0
Java1.6.0_26


Intrusion Detection Systems

Suricata /w Emerging Threats Pro No alerts detected
Snort /w Sourcefire VRT
Timestamp Source IP Destination IP Severity Alert
2012-11-17 20:01:59 195.159.219.8 urlQuery Client1BROWSER-IE Microsoft Internet Explorer userdata behavior memory corruption attempt


Recent reports on same IP/ASN/Domain

Last 6 reports on IP: 195.159.219.8

Date Alerts / IDS URL IP
2013-02-14 08:49:240 / 5http://www.latimes.com/business/la-fi-five-phonesafe-20130210,0,2324787.story195.159.219.8
2013-02-14 02:16:460 / 0http://static.ak.fbcdn.net195.159.219.8
2013-02-14 02:13:340 / 0http://static.ak.fbcdn.net195.159.219.8
2013-02-14 01:22:150 / 0http://gdlp01.c-wss.com/gds/4/0100002264/02/aomwin110ea23us.exe195.159.219.8
2013-02-13 22:44:100 / 0http://www.dinamalar.com195.159.219.8
2013-02-13 20:59:550 / 0http://as.casalemedia.com/j195.159.219.8

Last 6 reports on ASN: AS5381 PowerTech Information Systems AS

Date Alerts / IDS URL IP
2013-02-14 08:49:240 / 5http://www.latimes.com/business/la-fi-five-phonesafe-20130210,0,2324787.story195.159.219.8
2013-02-14 08:20:381 / 1http://www.tvvestfold.no/program.php?program=4077.40.237.129
2013-02-14 07:13:480 / 1http://photography.nationalgeographic.com/photography/photo-of-the-day/gelada-simien-mountains/195.159.219.9
2013-02-14 07:13:310 / 1http://photography.nationalgeographic.com/photography/photo-of-the-day/archive/?month=2195.159.219.10
2013-02-14 02:59:440 / 9http://news.cnet.com/8301-13579_3-57568764-37/apple-releases-ios-6.1.1-to-fix-iphone-4s-issues/195.159.219.10
2013-02-14 02:55:250 / 0http://www.bing.com/search?q=sartoria+clothier&src=IE-SearchBox&FORM=IE8SRC195.159.219.10

Last 6 reports on domain: user.qzone.qq.com

Date Alerts / IDS URL IP
2012-12-27 09:15:240 / 5http://user.qzone.qq.com/102099498980.239.148.202
2012-12-18 04:43:550 / 7http://user.qzone.qq.com/863371519/infocenter80.239.148.202
2012-11-27 04:40:320 / 4http://user.qzone.qq.com/1013748283/infocenter80.239.148.226
2012-11-26 08:35:040 / 3http://user.qzone.qq.com/176146191180.239.148.202
2012-11-21 20:35:290 / 3http://user.qzone.qq.com/955124195.159.219.10
2012-11-21 04:09:580 / 3http://user.qzone.qq.com/157542168180.239.148.202



JavaScript

Executed Scripts (65)


Executed Evals (2)

#1 JavaScript::Eval (size: 143018, repeated: 2)

(function() {
    window.QZFL = window.QZONE = window.QZFL || window.QZONE || {};
    QZFL.version = "2.1.1.7";
    QZFL._qzfl = 2.123;
    QZFL.emptyFn = function() {};
    QZFL.returnFn = function(v) {
        return v;
    };
    (function() {
        var ua = QZFL.userAgent = {},
            agent = navigator.userAgent,
            nv = navigator.appVersion,
            r, m, optmz;
        ua.adjustBehaviors = QZFL.emptyFn;
        if (window.ActiveXObject) {
            ua.ie = 6;
            (window.XMLHttpRequest || agent.indexOf("MSIE 7.0") > -1) && (ua.ie = 7);
            (window.XDomainRequest || agent.indexOf("Trident/4.0") > -1) && (ua.ie = 8);
            agent.indexOf("Trident/5.0") > -1 && (ua.ie = 9);
            agent.indexOf("Trident/6.0") > -1 && (ua.ie = 10);
            ua.isBeta = navigator.appMinorVersion && navigator.appMinorVersion.toLowerCase().indexOf("beta") > -1;
            if (ua.ie < 7) {
                try {
                    document.execCommand("BackgroundImageCache", false, true);
                } catch (ign) {}
            }
            QZFL._doc = document;
            optmz = function(st) {
                return function(fns, tm) {
                    var aargs;
                    if (typeof fns == "string") {
                        return st(fns, tm);
                    } else {
                        aargs = Array.prototype.slice.call(arguments, 2);
                        return st(function() {
                            fns.apply(null, aargs);
                        }, tm);
                    }
                };
            };
            window.setTimeout = QZFL._setTimeout = optmz(window.setTimeout);
            window.setInterval = QZFL._setInterval = optmz(window.setInterval);
        } else if (document.getBoxObjectFor || typeof window.mozInnerScreenX != "undefined") {
            r = /(?:Firefox|GranParadiso|Iceweasel|Minefield).(\d+\.\d+)/i;
            ua.firefox = parseFloat((r.exec(agent) || r.exec("Firefox/3.3"))[1], 10);
        } else if (!navigator.taintEnabled) {
            m = /AppleWebKit.(\d+\.\d+)/i.exec(agent);
            ua.webkit = m ? parseFloat(m[1], 10) : document.evaluate ? document.querySelector ? 525 : 420 : 419;
            if ((m = /Chrome.(\d+\.\d+)/i.exec(agent)) || window.chrome) {
                ua.chrome = m ? parseFloat(m[1], 10) : "2.0";
            } else if ((m = /Version.(\d+\.\d+)/i.exec(agent)) || window.safariHandler) {
                ua.safari = m ? parseFloat(m[1], 10) : "3.3";
            }
            ua.air = agent.indexOf("AdobeAIR") > -1 ? 1 : 0;
            ua.isiPod = agent.indexOf("iPod") > -1;
            ua.isiPad = agent.indexOf("iPad") > -1;
            ua.isiPhone = agent.indexOf("iPhone") > -1;
        } else if (window.opera) {
            ua.opera = parseFloat(window.opera.version(), 10);
        } else {
            ua.ie = 6;
        }
        if (!(ua.macs = agent.indexOf("Mac OS X") > -1)) {
            ua.windows = (m = /Windows.+?(\d+\.\d+)/i.exec(agent), m && parseFloat(m[1], 10));
            ua.linux = agent.indexOf("Linux") > -1;
            ua.android = agent.indexOf("Android") > -1;
        }
        ua.iOS = agent.indexOf("iPhone OS") > -1;
        !ua.iOS && (m = /OS (\d+(?:_\d+)*) like Mac OS X/i.exec(agent), ua.iOS = m && m[1] ? true : false);
    }());
    QZFL.object = {
        map: function(object, scope) {
            return QZFL.object.extend(scope || window, object);
        },
        extend: function() {
            var args = arguments,
                len = arguments.length,
                deep = false,
                i = 1,
                target = args[0],
                opts, src, clone, copy;
            if (typeof target === "boolean") {
                deep = target;
                target = arguments[1] || {};
                i = 2;
            }
            if (typeof target !== "object" && typeof target !== "function") {
                target = {};
            }
            if (len === i) {
                target = QZFL;
                --i;
            }
            for (; i < len; i++) {
                if ((opts = arguments[i]) != null) {
                    for (var name in opts) {
                        src = target[name];
                        copy = opts[name];
                        if (target === copy) {
                            continue;
                        }
                        if (deep && copy && typeof copy === "object" && !copy.nodeType) {
                            if (src) {
                                clone = src;
                            } else if (QZFL.lang.isArray(copy)) {
                                clone = [];
                            } else if (QZFL.object.getType(copy) === "object") {
                                clone = {};
                            } else {
                                clone = copy;
                            }
                            target[name] = QZFL.object.extend(deep, clone, copy);
                        } else if (copy !== undefined) {
                            target[name] = copy;
                        }
                    }
                }
            }
            return target;
        },
        each: function(obj, callback) {
            var value, i = 0,
                length = obj.length,
                isObj = length === undefined || typeof obj == "function";
            if (isObj) {
                for (var name in obj) {
                    if (callback.call(obj[name], obj[name], name, obj) === false) {
                        break;
                    }
                }
            } else {
                for (value = obj[0]; i < length && false !== callback.call(value, value, i, obj); value = obj[++i]) {}
            }
            return obj;
        },
        getType: function(obj) {
            return obj === null ? "null" : obj === undefined ? "undefined" : Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
        },
        routeRE: /([\d\w_]+)/g,
        route: function(obj, path) {
            obj = obj || {};
            path = String(path);
            var r = QZFL.object.routeRE,
                m;
            r.lastIndex = 0;
            while ((m = r.exec(path)) !== null) {
                obj = obj[m[0]];
                if (obj === undefined || obj === null) {
                    break;
                }
            }
            return obj;
        },
        bind: function(obj, fn) {
            var slice = Array.prototype.slice,
                args = slice.call(arguments, 2);
            return function() {
                obj = obj || this;
                fn = typeof fn == "string" ? obj[fn] : fn;
                fn = typeof fn == "function" ? fn : QZFL.emptyFn;
                return fn.apply(obj, args.concat(slice.call(arguments, 0)));
            };
        },
        ease: function(src, tar, rule) {
            if (tar) {
                if (typeof rule != "function") {
                    rule = QZFL.object._eachFn;
                }
                QZFL.object.each(src, function(v, k) {
                    if (typeof v == "function") {
                        tar[rule(k)] = v;
                    }
                });
            }
        },
        _easeFn: function(name) {
            return "$" + name;
        }
    };
    QZFL.namespace = QZFL.object;
    QZFL.runTime = {
        isDebugMode: false,
        error: QZFL.emptyFn,
        warn: QZFL.emptyFn
    };
    QZFL.console = window.console || {};
    QZFL.console.log = QZFL.console.log ||
    function() {};
    QZFL.console.print = QZFL.console.log;
    QZFL.widget = {};
    QZFL.object.map(QZFL.object, QZFL);
    (function(w) {
        QZFL.config = QZFL.config || {};
        var preFix, cw = w;
        do {
            try {
                cw.siDomain && (QZFL.config.resourceDomain = cw.siDomain.replace("http://", "").split("/")[0]);
                cw.imgcacheDomain && (QZFL.config.domain = cw.imgcacheDomain.replace("http://", "").split("/")[0]);
            } catch (err) {
                break;
            }
        } while (cw !== cw.parent && (cw = cw.parent));
        QZFL.config.defaultMediaRate = 2;
    }(window));
    QZFL.config = QZFL.config || {};
    typeof QZFL.config.debugLevel == "undefined" && (QZFL.config.debugLevel = 0);
    typeof QZFL.config.defaultDataCharacterSet == "undefined" && (QZFL.config.defaultDataCharacterSet = "GB2312");
    typeof QZFL.config.DCCookieDomain == "undefined" && (QZFL.config.DCCookieDomain = "qzone.qq.com");
    typeof QZFL.config.domainPrefix == "undefined" && (QZFL.config.domainPrefix = "qq.com");
    typeof QZFL.config.domain == "undefined" && (QZFL.config.domain = "qzs.qq.com");
    typeof QZFL.config.resourceDomain == "undefined" && (QZFL.config.resourceDomain = "qzonestyle.gtimg.cn");
    QZFL.config.gbEncoderPath = "http://" + QZFL.config.domain + "/qzone/v5/toolpages/";
    QZFL.config.FSHelperPage = "http://" + QZFL.config.domain + "/qzone/v5/toolpages/fp_gbk.html";
    QZFL.config.defaultShareObject = "http://" + QZFL.config.resourceDomain + "/qzone/v5/toolpages/getset.swf";
    QZFL.config.staticServer = "http://" + QZFL.config.resourceDomain + "/ac/qzone/qzfl/lc/";
    QZFL.css = {
        classFileNameCache: {},
        convertHexColor: function(color) {
            color = String(color || "");
            color.charAt(0) == "#" && (color = color.substring(1));
            color.length == 3 && (color = color.replace(/([0-9a-f])/gi, "$1$1"));
            return color.length == 6 ? [parseInt(color.substr(0, 2), 16), parseInt(color.substr(2, 2), 16), parseInt(color.substr(4, 2), 16)] : [0, 0, 0];
        },
        rgb2hsl: function(r, g, b) {
            var t, red = Math.max(r / 255, 0),
                green = Math.max(g / 255, 0),
                blue = Math.max(b / 255, 0),
                max = Math.max(red, green, blue),
                min = Math.min(red, green, blue),
                result = {
                    h: 0,
                    s: 0,
                    l: Math.max((max + min) / 2, 0)
                };
            if (max != min) {
                if (max == red) {
                    result.h = (t = 60 * ((green - blue) / (max - min))) < 0 ? t + 360 : t;
                } else if (max == green) {
                    result.h = 60 * ((blue - red) / (max - min)) + 120;
                } else if (max == blue) {
                    result.h = 60 * ((red - green) / (max - min)) + 240;
                }
                if (result.l <= 0.5) {
                    result.s = (max - min) / (2 * result.l);
                } else if (0.5 < result.l) {
                    result.s = (max - min) / (2 - 2 * result.l);
                }
                result.h = Math.round(result.h);
                result.s = Math.round(result.s * 100) / 100;
                result.l = Math.round(result.l * 100) / 100;
            }
            return result;
        },
        getStyleSheetById: function(id) {
            var s;
            return (s = QZFL.dom.get(id)) && s.sheet || (s = document.styleSheets) && s[id];
        },
        getRulesBySheet: function(sheetId) {
            var ss = typeof sheetId == "object" ? sheetId : QZFL.css.getStyleSheetById(sheetId),
                rs = {},
                head, base;
            if (ss && !(rs = ss.cssRules || ss.rules)) {
                if ((head = document.getElementsByTagName("head")[0])) {
                    if ((base = head.getElementsByTagName("base")[0])) {
                        QZFL.dom.removeElement(base);
                        rs = ss.cssRules;
                        head.appendChild(base);
                    }
                }
            }
            return rs;
        },
        getRuleBySelector: function(sheetId, selector) {
            selector = String(selector).toLowerCase();
            var _ss = QZFL.css.getStyleSheetById(sheetId),
                _rs = QZFL.css.getRulesBySheet(_ss);
            for (var i = 0, len = _rs.length; i < len; ++i) {
                if (selector == _rs[i].selectorText.toLowerCase()) {
                    return _rs[i];
                }
            }
            return null;
        },
        insertCSSLink: function(url, opts) {
            var sid, doc, t, cssLink, head;
            if (QZFL.css.classFileNameCache[url]) {
                return;
            }
            if (typeof opts == "string") {
                sid = opts;
            }
            opts = typeof opts == "object" ? opts : {};
            sid = opts.linkID || sid;
            doc = opts.doc || document;
            head = doc.getElementsByTagName("head")[0];
            cssLink = (t = doc.getElementById(sid)) && t.nodeName == "LINK" ? t : null;
            if (!cssLink) {
                cssLink = doc.createElement("link");
                sid && (cssLink.id = sid);
                cssLink.rel = cssLink.rev = "stylesheet";
                cssLink.type = "text/css";
                cssLink.media = opts.media || "screen";
                head.appendChild(cssLink);
            }
            try {
                url && (cssLink.href = url);
            } catch (ign) {}
            QZFL.css.classFileNameCache[url] = true;
            return QZFL.userAgent.ie < 9 && cssLink.sheet || cssLink;
        },
        insertStyleSheet: function(sheetId, rules) {
            var node = document.createElement("style");
            node.type = "text/css";
            sheetId && (node.id = sheetId);
            document.getElementsByTagName("head")[0].appendChild(node);
            if (rules) {
                if (node.styleSheet) {
                    node.styleSheet.cssText = rules;
                } else {
                    node.appendChild(document.createTextNode(rules));
                }
            }
            return node.sheet || node;
        },
        removeStyleSheet: function(id) {
            var _ss = QZFL.css.getStyleSheetById(id);
            _ss && QZFL.dom.removeElement(_ss.owningElement || _ss.ownerNode);
        },
        _reClassToken: /\s+/,
        updateClassName: function(elem, removeNames, addNames) {
            if (!elem || elem.nodeType != 1) {
                return "";
            }
            var oriName = elem.className,
                _s = QZFL.css,
                ar, b;
            if (removeNames && typeof removeNames == "string" || addNames && typeof addNames == "string") {
                if (removeNames == "*") {
                    oriName = "";
                } else {
                    ar = oriName.split(_s._reClassToken);
                    var i = 0,
                        l = ar.length,
                        n;
                    oriName = {};
                    for (; i < l; ++i) {
                        ar[i] && (oriName[ar[i]] = true);
                    }
                    if (addNames) {
                        ar = addNames.split(_s._reClassToken);
                        l = ar.length;
                        for (i = 0; i < l; ++i) {
                            (n = ar[i]) && !oriName[n] && (b = oriName[n] = true);
                        }
                    }
                    if (removeNames) {
                        ar = removeNames.split(_s._reClassToken);
                        l = ar.length;
                        for (i = 0; i < l; i++) {
                            (n = ar[i]) && oriName[n] && (b = true) && delete oriName[n];
                        }
                    }
                }
                if (b) {
                    ar.length = 0;
                    for (var k in oriName) {
                        ar.push(k);
                    }
                    oriName = ar.join(" ");
                    elem.className = oriName;
                }
            }
            return oriName;
        },
        hasClassName: function(elem, name) {
            return elem && name ? elem.classList ? elem.classList.contains(name) : name && (" " + elem.className + " ").indexOf(" " + name + " ") > -1 : false;
        },
        addClassName: function(elem, names) {
            var _s = QZFL.css;
            return names && (elem && elem.classList && !_s._reClassToken.test(names) ? elem.classList.add(names) : _s.updateClassName(elem, null, names));
        },
        removeClassName: function(elem, names) {
            var _s = QZFL.css;
            return names && (elem && elem.classList && !_s._reClassToken.test(names) ? elem.classList.remove(names) : _s.updateClassName(elem, names));
        },
        replaceClassName: function(elems, a, b) {
            QZFL.css.swapClassName(elems, a, b, true);
        },
        swapClassName: function(elems, a, b, _isRep) {
            if (elems && typeof elems == "object") {
                if (elems.length === undefined) {
                    elems = [elems];
                }
                for (var elem, i = 0, l = elems.length; i < l; ++i) {
                    if ((elem = elems[i]) && elem.nodeType == 1) {
                        if (QZFL.css.hasClassName(elem, a)) {
                            QZFL.css.updateClassName(elem, a, b);
                        } else if (!_isRep && QZFL.css.hasClassName(elem, b)) {
                            QZFL.css.updateClassName(elem, b, a);
                        }
                    }
                }
            }
        },
        toggleClassName: function(elem, name) {
            if (!elem || elem.nodeType != 1) {
                return;
            }
            var _s = QZFL.css;
            if (elem.classList && name && !_s._reClassToken.test(name)) {
                return elem.classList.toggle(name);
            }
            if (_s.hasClassName(elem, name)) {
                _s.updateClassName(elem, name);
            } else {
                _s.updateClassName(elem, null, name);
            }
        }
    };
    QZFL.dom = {
        getById: function(id) {
            return document.getElementById(id);
        },
        getByName: function(name, tagName, rt) {
            return QZFL.selector((tagName || "") + ("[name=\"" + name + "\"]"), rt);
        },
        get: function(e) {
            return typeof e == "string" ? document.getElementById(e) : e;
        },
        getNode: function(e) {
            return e && (e.nodeType || e.item) ? e : document.getElementById(e);
        },
        removeElement: function(elem) {
            if ((elem = QZFL.dom.get(elem))) {
                if (QZFL.userAgent.ie > 8 && elem.tagName == "SCRIPT") {
                    elem.src = "";
                }
                elem.removeNode ? elem.removeNode(true) : elem.parentNode && elem.parentNode.removeChild(elem);
            }
            return elem = null;
        },
        searchChain: function(elem, prop, func) {
            prop = prop || "parentNode";
            while (elem && elem.nodeType && elem.nodeType == 1) {
                if (!func || func.call(elem, elem)) {
                    return elem;
                }
                elem = elem[prop];
            }
            return null;
        },
        searchElementByClassName: function(elem, className) {
            elem = QZFL.dom.get(elem);
            return QZFL.dom.searchChain(elem, "parentNode", function(el) {
                return QZFL.css.hasClassName(el, className);
            });
        },
        getElementsByClassName: function(className, tagName, context) {
            return QZFL.selector((tagName || "") + ("." + className), QZFL.dom.get(context));
        },
        isAncestor: function(a, b) {
            return a && b && a != b && QZFL.dom.contains(a, b);
        },
        getAncestorBy: function(elem, method) {
            elem = QZFL.dom.get(elem);
            return QZFL.dom.searchChain(elem.parentNode, "parentNode", function(el) {
                return el.nodeType == 1 && (!method || method(el));
            });
        },
        getFirstChild: function(elem) {
            elem = QZFL.dom.get(elem);
            return elem.firstElementChild || QZFL.dom.searchChain(elem && elem.firstChild, "nextSibling", function(el) {
                return el.nodeType == 1;
            });
        },
        getLastChild: function(elem) {
            elem = QZFL.dom.get(elem);
            return elem.lastElementChild || QZFL.dom.searchChain(elem && elem.lastChild, "previousSibling", function(el) {
                return el.nodeType == 1;
            });
        },
        getNextSibling: function(elem) {
            elem = QZFL.dom.get(elem);
            return elem.nextElementSibling || QZFL.dom.searchChain(elem && elem.nextSibling, "nextSibling", function(el) {
                return el.nodeType == 1;
            });
        },
        getPreviousSibling: function(elem) {
            elem = QZFL.dom.get(elem);
            return elem.previousElementSibling || QZFL.dom.searchChain(elem && elem.previousSibling, "previousSibling", function(el) {
                return el.nodeType == 1;
            });
        },
        swapNode: function(node1, node2) {
            if (node1.swapNode) {
                node1.swapNode(node2);
            } else {
                var prt = node2.parentNode,
                    next = node2.nextSibling;
                if (next == node1) {
                    prt.insertBefore(node1, node2);
                } else if (node2 == node1.nextSibling) {
                    prt.insertBefore(node2, node1);
                } else {
                    node1.parentNode.replaceChild(node2, node1);
                    prt.insertBefore(node1, next);
                }
            }
        },
        createElementIn: function(tagName, elem, insertFirst, attrs) {
            var _e = (elem = QZFL.dom.get(elem) || document.body).ownerDocument.createElement(tagName || "div"),
                k;
            if (typeof attrs == "object") {
                for (k in attrs) {
                    if (k == "class") {
                        _e.className = attrs[k];
                    } else if (k == "style") {
                        _e.style.cssText = attrs[k];
                    } else {
                        _e[k] = attrs[k];
                    }
                }
            }
            insertFirst ? elem.insertBefore(_e, elem.firstChild) : elem.appendChild(_e);
            return _e;
        },
        getStyle: function(el, property) {
            el = QZFL.dom.get(el);
            if (!el || el.nodeType == 9) {
                return null;
            }
            var w3cMode = document.defaultView && document.defaultView.getComputedStyle,
                computed = !w3cMode ? null : document.defaultView.getComputedStyle(el, ""),
                value = "";
            switch (property) {
            case "float":
                property = w3cMode ? "cssFloat" : "styleFloat";
                break;
            case "opacity":
                if (!w3cMode) {
                    var val = 100;
                    try {
                        val = el.filters['DXImageTransform.Microsoft.Alpha'].opacity;
                    } catch (e) {
                        try {
                            val = el.filters("alpha").opacity;
                        } catch (e) {}
                    }
                    return val / 100;
                } else {
                    return parseFloat((computed || el.style)[property]);
                }
                break;
            case "backgroundPositionX":
                if (w3cMode) {
                    property = "backgroundPosition";
                    return (computed || el.style)[property].split(" ")[0];
                }
                break;
            case "backgroundPositionY":
                if (w3cMode) {
                    property = "backgroundPosition";
                    return (computed || el.style)[property].split(" ")[1];
                }
                break;
            default:
                ;
            }
            if (w3cMode) {
                return (computed || el.style)[property];
            } else {
                return el.currentStyle[property] || el.style[property];
            }
        },
        setStyle: function(el, properties, value) {
            if (!(el = QZFL.dom.get(el)) || el.nodeType != 1) {
                return false;
            }
            var tmp, bRtn = true,
                w3cMode = (tmp = document.defaultView) && tmp.getComputedStyle,
                rexclude = /z-?index|font-?weight|opacity|zoom|line-?height/i;
            if (typeof properties == "string") {
                tmp = properties;
                properties = {};
                properties[tmp] = value;
            }
            for (var prop in properties) {
                value = properties[prop];
                if (prop == "float") {
                    prop = w3cMode ? "cssFloat" : "styleFloat";
                } else if (prop == "opacity") {
                    if (!w3cMode) {
                        prop = "filter";
                        value = value >= 1 ? "" : "alpha(opacity=" + Math.round(value * 100) + ")";
                    }
                } else if (prop == "backgroundPositionX" || prop == "backgroundPositionY") {
                    tmp = prop.slice(-1) == "X" ? "Y" : "X";
                    if (w3cMode) {
                        var v = QZFL.dom.getStyle(el, "backgroundPosition" + tmp);
                        prop = "backgroundPosition";
                        typeof value == "number" && (value = value + "px");
                        value = tmp == "Y" ? value + (" " + (v || "top")) : (v || "left") + (" " + value);
                    }
                }
                if (typeof el.style[prop] != "undefined") {
                    el.style[prop] = value + (typeof value === "number" && !rexclude.test(prop) ? "px" : "");
                    bRtn = bRtn && true;
                } else {
                    bRtn = bRtn && false;
                }
            }
            return bRtn;
        },
        createNamedElement: function(type, name, doc) {
            var _doc = doc || document,
                element;
            try {
                element = _doc.createElement("<" + type + " name=\"" + name + "\">");
            } catch (ign) {}
            if (!element) {
                element = _doc.createElement(type);
            }
            if (!element.name) {
                element.name = name;
            }
            return element;
        },
        getRect: function(elem) {
            if ((elem = QZFL.dom.get(elem))) {
                var box = QZFL.object.extend({}, elem.getBoundingClientRect());
                if (typeof box.width == "undefined") {
                    box.width = box.right - box.left;
                    box.height = box.bottom - box.top;
                }
                return box;
            }
        },
        getPosition: function(elem) {
            var box, s, doc;
            if ((box = QZFL.dom.getRect(elem))) {
                if ((s = QZFL.dom.getScrollLeft(doc = elem.ownerDocument))) {
                    box.left += s, box.right += s;
                }
                if ((s = QZFL.dom.getScrollTop(doc))) {
                    box.top += s, box.bottom += s;
                }
                return box;
            }
        },
        setPosition: function(el, pos) {
            QZFL.dom.setXY(el, pos.left, pos.top);
            QZFL.dom.setSize(el, pos.width, pos.height);
        },
        getXY: function(elem) {
            var box = QZFL.dom.getPosition(elem) || {
                left: 0,
                top: 0
            };
            return [box.left, box.top];
        },
        getSize: function(elem) {
            var box = QZFL.dom.getPosition(elem) || {
                width: -1,
                height: -1
            };
            return [box.width, box.height];
        },
        setXY: function(elem, x, y) {
            var _ml = parseInt(QZFL.dom.getStyle(elem, "marginLeft")) || 0,
                _mt = parseInt(QZFL.dom.getStyle(elem, "marginTop")) || 0;
            QZFL.dom.setStyle(elem, {
                left: (parseInt(x, 10) || 0) - _ml + "px",
                top: (parseInt(y, 10) || 0) - _mt + "px"
            });
        },
        getScrollLeft: function(doc) {
            var _doc = doc || document;
            return _doc.defaultView && _doc.defaultView.pageXOffset || Math.max(_doc.documentElement.scrollLeft, _doc.body.scrollLeft);
        },
        getScrollTop: function(doc) {
            var _doc = doc || document;
            return _doc.defaultView && _doc.defaultView.pageYOffset || Math.max(_doc.documentElement.scrollTop, _doc.body.scrollTop);
        },
        getScrollHeight: function(doc) {
            var _doc = doc || document;
            return Math.max(_doc.documentElement.scrollHeight, _doc.body.scrollHeight);
        },
        getScrollWidth: function(doc) {
            var _doc = doc || document;
            return Math.max(_doc.documentElement.scrollWidth, _doc.body.scrollWidth);
        },
        setScrollLeft: function(value, doc) {
            var _doc = doc || document;
            _doc[_doc.compatMode == "CSS1Compat" && !QZFL.userAgent.webkit ? "documentElement" : "body"].scrollLeft = value;
        },
        setScrollTop: function(value, doc) {
            var _doc = doc || document;
            _doc[_doc.compatMode == "CSS1Compat" && !QZFL.userAgent.webkit ? "documentElement" : "body"].scrollTop = value;
        },
        getClientHeight: function(doc) {
            var _doc = doc || document;
            return _doc.compatMode == "CSS1Compat" ? _doc.documentElement.clientHeight : _doc.body.clientHeight;
        },
        getClientWidth: function(doc) {
            var _doc = doc || document;
            return _doc.compatMode == "CSS1Compat" ? _doc.documentElement.clientWidth : _doc.body.clientWidth;
        },
        _SET_SIZE_RE: /^\d+(?:\.\d*)?(px|%|em|in|cm|mm|pc|pt)?$/,
        setSize: function(el, w, h) {
            el = QZFL.dom.get(el);
            var _r = QZFL.dom._SET_SIZE_RE,
                m;
            QZFL.dom.setStyle(el, "width", (m = _r.exec(w)) ? m[1] ? w : parseInt(w, 10) + "px" : "auto");
            QZFL.dom.setStyle(el, "height", (m = _r.exec(h)) ? m[1] ? h : parseInt(h, 10) + "px" : "auto");
        },
        getDocumentWindow: function(doc) {
            var _doc = doc || document;
            return _doc.parentWindow || _doc.defaultView;
        },
        getElementsByTagNameNS: function(node, ns, tgn) {
            node = node || document;
            var res = [];
            if (node.getElementsByTagNameNS) {
                return node.getElementsByTagName(ns + (":" + tgn));
            } else if (node.getElementsByTagName) {
                var n = document.namespaces;
                if (n.length > 0) {
                    var l = node.getElementsByTagName(tgn);
                    for (var i = 0, len = l.length; i < len; ++i) {
                        if (l[i].scopeName == ns) {
                            res.push(l[i]);
                        }
                    }
                }
            }
            return res;
        },
        getElementByTagNameBubble: function(elem, tn) {
            if (!tn) {
                return null;
            }
            var maxLv = 15;
            tn = String(tn).toUpperCase();
            if (tn == "BODY") {
                return document.body;
            }
            elem = QZFL.dom.searchChain(elem = QZFL.dom.get(elem), "parentNode", function(el) {
                return el.tagName == tn || el.tagName == "BODY" || --maxLv < 0;
            });
            return !elem || maxLv < 0 ? null : elem;
        },
        insertAdjacent: function(elem, where, html, isText) {
            var range, pos = ["beforeBegin", "afterBegin", "beforeEnd", "afterEnd"],
                doc;
            if (QZFL.lang.isElement(elem) && pos[where] && (QZFL.lang.isString(html) || QZFL.lang.isElement(html))) {
                if (elem.insertAdjacentHTML) {
                    elem["insertAdjacent" + (typeof html == "object" ? "Element" : isText ? "Text" : "HTML")](pos[where], html);
                } else {
                    range = (doc = elem.ownerDocument).createRange();
                    range[where == 1 || where == 2 ? "selectNodeContents" : "selectNode"](elem);
                    range.collapse(where < 2);
                    range.insertNode(typeof html != "string" ? html : isText ? doc.createTextNode(html) : range.createContextualFragment(html));
                }
                return true;
            }
            return false;
        }
    };
    QZFL.event = {
        KEYS: {
            BACKSPACE: 8,
            TAB: 9,
            RETURN: 13,
            ESC: 27,
            SPACE: 32,
            LEFT: 37,
            UP: 38,
            RIGHT: 39,
            DOWN: 40,
            DELETE: 46
        },
        _eventListDictionary: {},
        _fnSeqUID: 0,
        _objSeqUID: 0,
        addEvent: function(obj, eventType, fn, argArray) {
            var cfn, res = false,
                l, handlers, efn, sTime;
            if (!obj) {
                return res;
            }
            if (!obj.eventsListUID) {
                obj.eventsListUID = "e" + ++QZFL.event._objSeqUID;
            }
            if (!(l = QZFL.event._eventListDictionary[obj.eventsListUID])) {
                l = QZFL.event._eventListDictionary[obj.eventsListUID] = {};
            }
            if (!fn.__elUID) {
                fn.__elUID = "e" + ++QZFL.event._fnSeqUID + obj.eventsListUID;
            }
            if (QZFL.userAgent.isiPad && (eventType == "mouseover" || eventType == "mouseout")) {
                cfn = function(evt) {
                    sTime = (new Date).getTime();
                };
                l["_" + eventType] = fn;
                if (l._ipadBind) {
                    return false;
                }
                eventType = "touchstart";
                l._ipadBind = 1;
                efn = function(evt) {
                    var t = (new Date).getTime() - sTime,
                        fn;
                    if (t < 400) {
                        fn = l._mouseover;
                        if (l._ismouseover) {
                            fn = l._mouseout;
                            l._ismouseover = 0;
                        } else {
                            l._ismouseover = 1;
                        }
                        QZFL.event.preventDefault(evt);
                        return fn && fn.apply(obj, !argArray ? [QZFL.event.getEvent(evt)] : [QZFL.event.getEvent(evt)].concat(argArray));
                    }
                    return true;
                };
                QZFL.event.addEvent(obj, "touchend", efn);
            }
            if (!l[eventType]) {
                l[eventType] = {};
            }
            if (!l[eventType].handlers) {
                l[eventType].handlers = {};
            }
            handlers = l[eventType].handlers;
            if (typeof handlers[fn.__elUID] == "function") {
                return false;
            }
            cfn = cfn ||
            function(evt) {
                return fn.apply(obj, !argArray ? [QZFL.event.getEvent(evt)] : [QZFL.event.getEvent(evt)].concat(argArray));
            };
            if (obj.addEventListener) {
                obj.addEventListener(eventType, cfn, false);
                res = true;
            } else if (obj.attachEvent) {
                res = obj.attachEvent("on" + eventType, cfn);
            } else {
                res = false;
            }
            if (res) {
                handlers[fn.__elUID] = cfn;
            }
            return res;
        },
        trigger: function(obj, eventType) {
            var l = obj && QZFL.event._eventListDictionary[obj.eventsListUID],
                handlers = l && l[eventType] && l[eventType].handlers,
                i;
            if (handlers) {
                try {
                    for (i in handlers) {
                        handlers[i].call(window, {});
                    }
                } catch (evt) {
                    QZFL.console.print("QZFL.event.trigger error");
                }
            }
        },
        removeEvent: function(obj, eventType, fn) {
            var cfn = fn,
                res = false,
                l = QZFL.event._eventListDictionary,
                r;
            if (!obj) {
                return res;
            }
            if (!fn) {
                return QZFL.event.purgeEvent(obj, eventType);
            }
            if (obj.eventsListUID && l[obj.eventsListUID] && l[obj.eventsListUID][eventType]) {
                l = l[obj.eventsListUID][eventType].handlers;
                if (l && l[fn.__elUID]) {
                    cfn = l[fn.__elUID];
                    r = l;
                }
            }
            if (obj.removeEventListener) {
                obj.removeEventListener(eventType, cfn, false);
                res = true;
            } else if (obj.detachEvent) {
                obj.detachEvent("on" + eventType, cfn);
                res = true;
            } else {
                return false;
            }
            if (res && r && r[fn.__elUID]) {
                delete r[fn.__elUID];
            }
            return res;
        },
        purgeEvent: function(obj, type) {
            var l, h;
            if (obj.eventsListUID && (l = QZFL.event._eventListDictionary[obj.eventsListUID]) && l[type] && (h = l[type].handlers)) {
                for (var k in h) {
                    if (obj.removeEventListener) {
                        obj.removeEventListener(type, h[k], false);
                    } else if (obj.detachEvent) {
                        obj.detachEvent("on" + type, h[k]);
                    }
                }
            }
            if (obj["on" + type]) {
                obj["on" + type] = null;
            }
            if (h) {
                l[type].handlers = null;
                delete l[type].handlers;
            }
            return true;
        },
        getEvent: function(evt) {
            var evt = window.event || evt || null,
                c, _s = QZFL.event.getEvent,
                ct = 0;
            if (!evt) {
                c = arguments.callee;
                while (c && ct < _s.MAX_LEVEL) {
                    if (c.arguments && (evt = c.arguments[0]) && typeof evt.button != "undefined" && typeof evt.ctrlKey != "undefined") {
                        break;
                    }++ct;
                    c = c.caller;
                }
            }
            return evt;
        },
        getButton: function(evt) {
            var e = QZFL.event.getEvent(evt);
            if (!e) {
                return -1;
            }
            if (QZFL.userAgent.ie) {
                return e.button - Math.ceil(e.button / 2);
            } else {
                return e.button;
            }
        },
        getTarget: function(evt) {
            var e = QZFL.event.getEvent(evt);
            if (e) {
                return e.srcElement || e.target;
            } else {
                return null;
            }
        },
        getCurrentTarget: function(evt) {
            var e = QZFL.event.getEvent(evt);
            if (e) {
                return e.currentTarget || document.activeElement;
            } else {
                return null;
            }
        },
        cancelBubble: function(evt) {
            evt = QZFL.event.getEvent(evt);
            if (!evt) {
                return false;
            }
            if (evt.stopPropagation) {
                evt.stopPropagation();
            } else {
                if (!evt.cancelBubble) {
                    evt.cancelBubble = true;
                }
            }
        },
        preventDefault: function(evt) {
            evt = QZFL.event.getEvent(evt);
            if (!evt) {
                return false;
            }
            if (evt.preventDefault) {
                evt.preventDefault();
            } else {
                evt.returnValue = false;
            }
        },
        mouseX: function(evt) {
            evt = QZFL.event.getEvent(evt);
            return evt.pageX || evt.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft);
        },
        mouseY: function(evt) {
            evt = QZFL.event.getEvent(evt);
            return evt.pageY || evt.clientY + (document.documentElement.scrollTop || document.body.scrollTop);
        },
        getRelatedTarget: function(ev) {
            ev = QZFL.event.getEvent(ev);
            var t = ev.relatedTarget;
            if (!t) {
                if (ev.type == "mouseout") {
                    t = ev.toElement;
                } else if (ev.type == "mouseover") {
                    t = ev.fromElement;
                } else {}
            }
            return t;
        },
        onDomReady: function(fn) {
            var _s = QZFL.event.onDomReady;
            QZFL.event._bindReady();
            _s.pool.push(fn);
        },
        _bindReady: function() {
            var _s = QZFL.event.onDomReady;
            if (typeof _s.pool != "undefined") {
                return;
            }
            _s.pool = _s.pool || [];
            if (document.readyState === "complete") {
                return setTimeout(QZFL.event._readyFn, 1);
            }
            if (document.addEventListener) {
                document.addEventListener("DOMContentLoaded", QZFL.event._domReady, false);
                window.addEventListener("load", QZFL.event._readyFn, false);
            } else if (document.attachEvent) {
                document.attachEvent("onreadystatechange", QZFL.event._domReady);
                window.attachEvent("onload", QZFL.event._readyFn);
                var toplevel = false;
                try {
                    toplevel = window.frameElement == null;
                } catch (e) {}
                if (document.documentElement.doScroll && toplevel) {
                    QZFL.event._ieScrollCheck();
                }
            }
        },
        _readyFn: function() {
            var _s = QZFL.event.onDomReady;
            _s.isReady = true;
            while (_s.pool.length) {
                var fn = _s.pool.shift();
                QZFL.lang.isFunction(fn) && fn();
            }
            _s.pool.length == 0 && (_s._fn = null);
        },
        _domReady: function() {
            if (document.addEventListener) {
                document.removeEventListener("DOMContentLoaded", QZFL.event._domReady, false);
                QZFL.event._readyFn();
            } else if (document.attachEvent) {
                if (document.readyState === "complete") {
                    document.detachEvent("onreadystatechange", QZFL.event._domReady);
                    QZFL.event._readyFn();
                }
            }
        },
        _ieScrollCheck: function() {
            if (QZFL.event.onDomReady.isReady) {
                return;
            }
            try {
                document.documentElement.doScroll("left");
            } catch (e) {
                setTimeout(QZFL.event._ieScrollCheck, 1);
                return;
            }
            QZFL.event._readyFn();
        },
        delegate: function(delegateDom, selector, eventType, fn, argsArray) {
            var path = "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/expand/delegate.js?max_age=864000";
            QZFL.imports(path, function() {
                QZFL.event.delegate(delegateDom, selector, eventType, fn, argsArray);
            });
        },
        undelegate: function(delegateDom, selector, eventType, fn) {}
    };
    QZFL.event.on = QZFL.event.addEvent;
    QZFL.event.bind = QZFL.object.bind;
    QZFL.event.getEvent.MAX_LEVEL = 10;
    QZFL.queue = function() {
        var _o = QZFL.object;
        var _queue = {};
        var _Queue = function(key, queue) {
                if (this instanceof arguments.callee) {
                    this._qz_queuekey = key;
                    return this;
                }
                if (_o.getType(queue = queue || []) == "array") {
                    _queue[key] = queue;
                }
                return new _Queue(key);
            };
        var _extend = {
            push: function(key, fn) {
                fn = this._qz_queuekey ? key : fn;
                _queue[this._qz_queuekey || key].push(fn);
            },
            shift: function(key) {
                var _q = _queue[this._qz_queuekey || key];
                if (_q) {
                    return QZFL.queue._exec(_q.shift());
                }
            },
            getLen: function(key) {
                return _queue[this._qz_queuekey || key].length;
            },
            run: function(key) {
                var _q = _queue[this._qz_queuekey || key];
                if (_q) {
                    _o.each(_q, QZFL.queue._exec);
                }
            },
            timedChunk: function(key, conf) {
                var _q = _queue[this._qz_queuekey || key],
                    _conf;
                if (_q) {
                    _conf = QZFL.lang.propertieCopy(conf, QZFL.queue._tcCof, null, true);
                    setTimeout(function() {
                        var _start = +new Date;
                        do {
                            QZFL.queue.shift(key);
                        } while (QZFL.queue.getLen(key) > 0 && +new Date - _start < _conf.runTime);
                        if (QZFL.queue.getLen(key) > 0) {
                            setTimeout(arguments.callee, _conf.waitTime);
                            _conf.onWait();
                        } else {
                            _conf.onRunEnd();
                        }
                    }, 0);
                }
            },
            _tcCof: {
                runTime: 50,
                waitTime: 25,
                onRunEnd: QZFL.emptyFn,
                onWait: QZFL.emptyFn
            },
            _exec: function(value, key, source) {
                if (!value || _o.getType(value) != "function") {
                    if (_o.getType(key) == "number") {
                        source[key] = null;
                    }
                    return false;
                }
                try {
                    return value();
                } catch (e) {
                    QZFL.console.print("QZFL Queue Got An Error: [" + e.name + "]  " + e.message, 1);
                }
            }
        };
        _o.extend(_Queue.prototype, _extend);
        _o.extend(_Queue, _extend);
        return _Queue;
    }();
    QZFL.string = {
        RegExps: {
            trim: /^\s+|\s+$/g,
            ltrim: /^\s+/,
            rtrim: /\s+$/,
            nl2br: /\n/g,
            s2nb: /[\x20]{2}/g,
            URIencode: /[\x09\x0A\x0D\x20\x21-\x29\x2B\x2C\x2F\x3A-\x3F\x5B-\x5E\x60\x7B-\x7E]/g,
            escHTML: {
                re_amp: /&/g,
                re_lt: /</g,
                re_gt: />/g,
                re_apos: /\x27/g,
                re_quot: /\x22/g
            },
            escString: {
                bsls: /\\/g,
                sls: /\//g,
                nl: /\n/g,
                rt: /\r/g,
                tab: /\t/g
            },
            restXHTML: {
                re_amp: /&amp;/g,
                re_lt: /&lt;/g,
                re_gt: /&gt;/g,
                re_apos: /&(?:apos|#0?39);/g,
                re_quot: /&quot;/g
            },
            write: /\{(\d{1,2})(?:\:([xodQqb]))?\}/g,
            isURL: /^(?:ht|f)tp(?:s)?\:\/\/(?:[\w\-\.]+)\.\w+/i,
            cut: /[\x00-\xFF]/,
            getRealLen: {
                r0: /[^\x00-\xFF]/g,
                r1: /[\x00-\xFF]/g
            },
            format: /\{([\d\w\.]+)\}/g
        },
        commonReplace: function(s, p, r) {
            return s.replace(p, r);
        },
        listReplace: function(s, l) {
            if (QZFL.lang.isHashMap(l)) {
                for (var i in l) {
                    s = QZFL.string.commonReplace(s, l[i], i);
                }
                return s;
            } else {
                return s + "";
            }
        },
        trim: function(str) {
            return QZFL.string.commonReplace(str + "", QZFL.string.RegExps.trim, "");
        },
        ltrim: function(str) {
            return QZFL.string.commonReplace(str + "", QZFL.string.RegExps.ltrim, "");
        },
        rtrim: function(str) {
            return QZFL.string.commonReplace(str + "", QZFL.string.RegExps.rtrim, "");
        },
        nl2br: function(str) {
            return QZFL.string.commonReplace(str + "", QZFL.string.RegExps.nl2br, "<br />");
        },
        s2nb: function(str) {
            return QZFL.string.commonReplace(str + "", QZFL.string.RegExps.s2nb, "&nbsp;&nbsp;");
        },
        URIencode: function(str) {
            var cc, ccc;
            return (str + "").replace(QZFL.string.RegExps.URIencode, function(a) {
                if (a == " ") {
                    return "+";
                } else if (a == "\r") {
                    return "";
                }
                cc = a.charCodeAt(0);
                ccc = cc.toString(16);
                return "%" + (cc < 16 ? "0" + ccc : ccc);
            });
        },
        escHTML: function(str) {
            var t = QZFL.string.RegExps.escHTML;
            return QZFL.string.listReplace(str + "", {
                '&amp;': t.re_amp,
                '&lt;': t.re_lt,
                '&gt;': t.re_gt,
                '&#039;': t.re_apos,
                '&quot;': t.re_quot
            });
        },
        escString: function(str) {
            var t = QZFL.string.RegExps.escString,
                h = QZFL.string.RegExps.escHTML;
            return QZFL.string.listReplace(str + "", {
                '\\\\': t.bsls,
                '\\n': t.nl,
                '': t.rt,
                '\\t': t.tab,
                '\\/': t.sls,
                '\\\'': h.re_apos,
                '\\"': h.re_quot
            });
        },
        restXHTML: function(str) {
            var t = QZFL.string.RegExps.restXHTML;
            return QZFL.string.listReplace(str + "", {
                '<': t.re_lt,
                '>': t.re_gt,
                '\'': t.re_apos,
                '"': t.re_quot,
                '&': t.re_amp
            });
        },
        write: function(strFormat, someArgs) {
            if (arguments.length < 1 || !QZFL.lang.isString(strFormat)) {
                return "";
            }
            var rArr = QZFL.lang.arg2arr(arguments),
                result = rArr.shift(),
                tmp;
            return result.replace(QZFL.string.RegExps.write, function(a, b, c) {
                b = parseInt(b, 10);
                if (b < 0 || typeof rArr[b] == "undefined") {
                    return "(n/a)";
                } else {
                    if (!c) {
                        return rArr[b];
                    } else {
                        switch (c) {
                        case "x":
                            return "0x" + rArr[b].toString(16);
                        case "o":
                            return "o" + rArr[b].toString(8);
                        case "d":
                            return rArr[b].toString(10);
                        case "Q":
                            return "\"" + rArr[b].toString(16) + "\"";
                        case "q":
                            return "`" + rArr[b].toString(16) + "'";
                        case "b":
                            return "<" + !! rArr[b] + ">";
                        default:
                            ;
                        }
                    }
                }
            });
        },
        isURL: function(s) {
            return QZFL.string.RegExps.isURL.test(s);
        },
        escapeURI: function(s) {
            if (window.encodeURIComponent) {
                return encodeURIComponent(s);
            }
            if (window.escape) {
                return escape(s);
            }
            return "";
        },
        fillLength: function(source, l, ch, isRight) {
            if ((source = String(source)).length < l) {
                var ar = new Array(l - source.length);
                ar[isRight ? "unshift" : "push"](source);
                source = ar.join(ch || "0");
            }
            return source;
        },
        cut: function(str, bitLen, tails) {
            str = String(str);
            bitLen -= 0;
            tails = tails || "";
            if (isNaN(bitLen)) {
                return str;
            }
            var len = str.length,
                i = Math.min(Math.floor(bitLen / 2), len),
                cnt = QZFL.string.getRealLen(str.slice(0, i));
            for (; i < len && cnt < bitLen; i++) {
                cnt += 1 + (str.charCodeAt(i) > 255);
            }
            return str.slice(0, cnt > bitLen ? i - 1 : i) + (i < len ? tails : "");
        },
        getRealLen: function(s, isUTF8) {
            if (typeof s != "string") {
                return 0;
            }
            if (!isUTF8) {
                return s.replace(QZFL.string.RegExps.getRealLen.r0, "**").length;
            } else {
                var cc = s.replace(QZFL.string.RegExps.getRealLen.r1, "");
                return s.length - cc.length + encodeURI(cc).length / 3;
            }
        },
        format: function(str) {
            var args = Array.prototype.slice.call(arguments),
                v;
            str = String(args.shift());
            if (args.length == 1 && typeof args[0] == "object") {
                args = args[0];
            }
            QZFL.string.RegExps.format.lastIndex = 0;
            return str.replace(QZFL.string.RegExps.format, function(m, n) {
                v = QZFL.object.route(args, n);
                return v === undefined ? m : v;
            });
        }
    };
    QZFL.string.restHTML = QZFL.string.restXHTML;
    QZFL.util = {
        buildUri: function(s) {
            return new(QZFL.util.URI)(s);
        },
        URI: function(s) {
            if (!(QZFL.object.getType(s) == "string")) {
                return null;
            }
            if (s.indexOf("://") < 1) {
                s = location.protocol + ("//" + location.host + (s.indexOf("/") == 0 ? "" : location.pathname.substr(0, location.pathname.lastIndexOf("/") + 1)) + s);
            }
            var depart = s.split("://");
            if (QZFL.object.getType(depart) == "array" && depart.length > 1 && /^[a-zA-Z]+$/.test(depart[0])) {
                this.protocol = depart[0].toLowerCase();
                var h = depart[1].split("/");
                if (QZFL.object.getType(h) == "array") {
                    this.host = h[0];
                    this.pathname = "/" + h.slice(1).join("/").replace(/(\?|\#).+/i, "");
                    this.href = s;
                    var se = depart[1].lastIndexOf("?"),
                        ha = depart[1].lastIndexOf("#");
                    this.search = se >= 0 ? depart[1].substring(se) : "";
                    this.hash = ha >= 0 ? depart[1].substring(ha) : "";
                    if (this.search.length > 0 && this.hash.length > 0) {
                        if (ha < se) {
                            this.search = "";
                        } else {
                            this.search = depart[1].substring(se, ha);
                        }
                    }
                    return this;
                } else {
                    return null;
                }
            } else {
                return null;
            }
        }
    };
    QZFL.lang = {
        isString: function(o) {
            return QZFL.object.getType(o) == "string";
        },
        isArray: function(o) {
            return QZFL.object.getType(o) == "array";
        },
        isFunction: function(o) {
            return QZFL.object.getType(o) == "function";
        },
        isHashMap: function(o) {
            return QZFL.object.getType(o) == "object";
        },
        isNode: function(o) {
            return o && (typeof o.nodeName != "undefined" || typeof o.nodeType != "undefined");
        },
        isElement: function(o) {
            return o && o.nodeType == 1;
        }
    };
    (function() {
        var evalGlobalCnt = 0,
            runStyleGlobalCnt = 0;
        QZFL.object.extend(QZFL.util, {
            copyToClip: function(text) {
                if (QZFL.userAgent.ie) {
                    return clipboardData.setData("Text", text);
                } else {
                    var o = QZFL.shareObject.getValidSO();
                    return o ? o.setClipboard(text) : false;
                }
            },
            evalGlobal: function(js) {
                js = String(js);
                var obj = document.createElement("script"),
                    head = document.documentElement || document.getElementsByTagName("head")[0];
                obj.type = "text/javascript";
                obj.id = "__evalGlobal_" + evalGlobalCnt;
                try {
                    obj.innerHTML = js;
                } catch (e) {
                    obj.text = js;
                }
                head.insertBefore(obj, head.firstChild);
                evalGlobalCnt++;
                setTimeout(function() {
                    QZFL.dom.removeElement(obj);
                }, 50);
            },
            runStyleGlobal: function(st) {
                if (QZFL.userAgent.safari) {
                    var obj = document.createElement("style");
                    obj.type = "text/css";
                    obj.id = "__runStyle_" + runStyleGlobalCnt;
                    try {
                        obj.textContent = st;
                    } catch (e) {
                        alert(e.message);
                    }
                    var h = document.getElementsByTagName("head")[0];
                    if (h) {
                        h.appendChild(obj);
                        runStyleGlobalCnt++;
                    }
                } else {}
            },
            genHttpParamString: function(o) {
                return QZFL.util.commonDictionaryJoin(o, null, null, null, window.encodeURIComponent);
            },
            splitHttpParamString: function(s) {
                return QZFL.util.commonDictionarySplit(s);
            },
            commonDictionarySplit: function(s, esp, vq, eq) {
                var res = {},
                    l, ks, vs, t;
                if (!s || typeof s != "string") {
                    return res;
                }
                if (typeof esp != "string") {
                    esp = "&";
                }
                if (typeof vq != "string") {
                    vq = "";
                }
                if (typeof eq != "string") {
                    eq = "=";
                }
                l = s.split(esp);
                if (l && l.length) {
                    for (var i = 0, len = l.length; i < len; ++i) {
                        ks = l[i].split(eq);
                        if (ks.length > 1) {
                            t = ks.slice(1).join(eq);
                            vs = t.split(vq);
                            res[ks[0]] = vs.slice(vq.length, vs.length - vq.length).join(vq);
                        } else {
                            ks[0] && (res[ks[0]] = true);
                        }
                    }
                }
                return res;
            },
            commonDictionaryJoin: function(o, esp, vq, eq, valueHandler) {
                var res = [],
                    t;
                if (!o || typeof o != "object") {
                    return "";
                }
                if (typeof o == "string") {
                    return o;
                }
                if (typeof esp != "string") {
                    esp = "&";
                }
                if (typeof vq != "string") {
                    vq = "";
                }
                if (typeof eq != "string") {
                    eq = "=";
                }
                for (var k in o) {
                    res.push(k + eq + vq + (typeof valueHandler == "function" ? valueHandler(o[k]) : o[k]) + vq);
                }
                return res.join(esp);
            }
        });
    }());
    QZFL.lang.isValidXMLdom = function(o) {
        return !!(o && o.xml && /^<\?xml/.test(o.xml));
    };
    QZFL.lang.arg2arr = function(refArgs, start) {
        return Array.prototype.slice.call(refArgs, start || 0);
    };
    QZFL.lang.getObjByNameSpace = function(ns, setup) {
        if (typeof ns != "string") {
            return ns;
        }
        var l = ns.split("."),
            r = window;
        try {
            for (var i = 0, len = l.length; i < len; ++i) {
                if (typeof r[l[i]] == "undefined") {
                    if (setup) {
                        r[l[i]] = {};
                    } else {
                        return;
                    }
                }
                r = r[l[i]];
            }
            return r;
        } catch (ignore) {
            return;
        }
    };
    QZFL.lang.objectClone = function(obj, preventName) {
        if (typeof obj == "object") {
            var res = QZFL.lang.isArray(obj) ? [] : {};
            for (var i in obj) {
                if (i != preventName) {
                    res[i] = QZFL.lang.objectClone(obj[i], preventName);
                }
            }
            return res;
        } else if (typeof obj == "function") {
            return Object;
        }
        return obj;
    };
    QZFL.lang.obj2str = function(obj) {
        var t, sw;
        if (typeof obj == "object") {
            if (obj === null) {
                return "null";
            }
            if (window.JSON && window.JSON.stringify) {
                return JSON.stringify(obj);
            }
            sw = QZFL.lang.isArray(obj);
            t = [];
            for (var i in obj) {
                t.push((sw ? "" : "\"" + QZFL.string.escString(i) + "\":") + obj2str(obj[i]));
            }
            t = t.join();
            return sw ? "[" + t + "]" : "{" + t + "}";
        } else if (typeof obj == "undefined") {
            return "undefined";
        } else if (typeof obj == "number" || typeof obj == "function") {
            return obj.toString();
        }
        return !obj ? "\"\"" : "\"" + QZFL.string.escString(obj) + "\"";
    };
    QZFL.lang.propertieCopy = function(s, b, propertiSet, notOverWrite) {
        var l = !propertiSet || typeof propertiSet != "object" ? b : propertiSet;
        s = s || {};
        for (var p in l) {
            if (!notOverWrite || !(p in s)) {
                s[p] = l[p];
            }
        }
        return s;
    };
    QZFL.lang.tryThese = function() {
        for (var i = 0, len = arguments.length; i < len; ++i) {
            try {
                return arguments[i]();
            } catch (ign) {}
        }
        return;
    };
    QZFL.lang.chain = function(u, v) {
        var calls = QZFL.lang.arg2arr(arguments);
        return function() {
            for (var i = 0, len = calls.length; i < len; ++i) {
                if (calls[i] && calls[i].apply(null, arguments) === false) {
                    return false;
                }
            }
            return true;
        };
    };
    QZFL.lang.uniqueArray = function(arr) {
        if (!QZFL.lang.isArray(arr)) {
            return arr;
        }
        var flag = {},
            index = 0;
        while (index < arr.length) {
            if (flag[arr[index]] == typeof arr[index]) {
                arr.splice(index, 1);
                continue;
            }
            flag[arr[index].toString()] = typeof arr[index];
            ++index;
        }
        return arr;
    };
    QZFL.enviroment = function() {
        var _p = {},
            hookPool = {};

        function envGet(kname) {
            return _p[kname];
        }


        function envDel(kname) {
            delete _p[kname];
            return true;
        }


        function envSet(kname, value) {
            if (typeof value == "undefined") {
                if (typeof kname == "undefined") {
                    return false;
                } else if (!(_p[kname] === undefined)) {
                    return false;
                }
            } else {
                _p[kname] = value;
                return true;
            }
        }

        return {
            get: envGet,
            set: envSet,
            del: envDel,
            hookPool: hookPool
        };
    }();
    QZFL.pageEvents = function() {
        function _ihp() {
            var qs = location.search.substring(1),
                qh = location.hash.substring(1),
                s, h, n;
            ENV.set("_queryString", qs);
            ENV.set("_queryHash", qh);
            ENV.set("queryString", s = QZFL.util.splitHttpParamString(qs));
            ENV.set("queryHash", h = QZFL.util.splitHttpParamString(qh));
            if (s && s.DEBUG) {
                n = parseInt(s.DEBUG, 10);
                if (!isNaN(n)) {
                    QZFL.config.debugLevel = n;
                }
            }
        }


        function _bootStrap() {
            if (QZFL.event.onDomReady.isReady) {
                setTimeout(_onloadHook, 1);
            } else if (document.addEventListener) {
                document.addEventListener("DOMContentLoaded", _onloadHook, true);
            } else {
                var src = window.location.protocol == "https:" ? "//:" : "javascript:void(0)";
                document.write("<script onreadystatechange=\"if(this.readyState=='complete'){this.parentNode.removeChild(this);QZFL.pageEvents._onloadHook();}\" defer=\"defer\" src=\"" + src + "\"></script>");
            }
            window.onload = QZFL.lang.chain(window.onload, function() {
                _onloadHook();
                _runHooks("onafterloadhooks");
            });
            window.onbeforeunload = function() {
                return _runHooks("onbeforeunloadhooks");
            };
            window.onunload = QZFL.lang.chain(window.onunload, function() {
                _runHooks("onunloadhooks");
            });
        }


        function _onloadHook() {
            _runHooks("onloadhooks");
            QZFL.enviroment.loaded = true;
            QZFL.event.onDomReady.isReady = true;
        }


        function _runHook(handler) {
            try {
                handler();
            } catch (ex) {}
        }


        function _runHooks(hooks) {
            var isbeforeunload = hooks == "onbeforeunloadhooks",
                warn = null,
                hc = window.ENV.hookPool;
            do {
                var h = hc[hooks];
                if (!isbeforeunload) {
                    hc[hooks] = null;
                }
                if (!h) {
                    break;
                }
                for (var ii = 0; ii < h.length; ii++) {
                    if (isbeforeunload) {
                        warn = warn || h[ii]();
                    } else {
                        h[ii]();
                    }
                }
                if (isbeforeunload) {
                    break;
                }
            } while (hc[hooks]);
            if (isbeforeunload) {
                if (warn) {
                    return warn;
                } else {
                    QZFL.enviroment.loaded = false;
                }
            }
        }


        function _addHook(hooks, handler) {
            var c = window.ENV.hookPool;
            (c[hooks] ? c[hooks] : (c[hooks] = [])).push(handler);
        }


        function _insertHook(hooks, handler, position) {
            var c = window.ENV.hookPool;
            if (typeof position == "number" && position >= 0) {
                if (!c[hooks]) {
                    c[hooks] = [];
                }
                c[hooks].splice(position, 0, handler);
            } else {
                return false;
            }
        }


        function _lr(handler) {
            QZFL.enviroment.loaded ? _runHook(handler) : _addHook("onloadhooks", handler);
        }


        function _bulr(handler) {
            _addHook("onbeforeunloadhooks", handler);
        }


        function _ulr(handler) {
            _addHook("onunloadhooks", handler);
        }


        function pinit() {
            _bootStrap();
            _ihp();
            var _dt;
            if ((_dt = document.getElementById("__DEBUG_out"))) {
                ENV.set("dout", _dt);
            }
            var __dalert;
            if (!ENV.get("alertConverted")) {
                __dalert = alert;
                eval("var alert=function(msg){if(msg!=undefined){__dalert(msg);return msg;}}");
                ENV.set("alertConverted", true);
            }
            var t = ENV.get("queryHash");
            if (t && t.DEBUG) {
                QZFL.config.debugLevel = 2;
            }
        }

        return {
            onloadRegister: _lr,
            onbeforeunloadRegister: _bulr,
            onunloadRegister: _ulr,
            initHttpParams: _ihp,
            bootstrapEventHandlers: _bootStrap,
            _onloadHook: _onloadHook,
            insertHooktoHooksQueue: _insertHook,
            pageBaseInit: pinit
        };
    }();
    QZFL.string = QZONE.string || {};
    QZFL.string.parseXML = function(text) {
        var doc;
        if (window.ActiveXObject) {
            doc = QZFL.lang.tryThese(function() {
                return new ActiveXObject("MSXML2.DOMDocument.6.0");
            }, function() {
                return new ActiveXObject("MSXML2.DOMDocument.5.0");
            }, function() {
                return new ActiveXObject("MSXML2.DOMDocument.4.0");
            }, function() {
                return new ActiveXObject("MSXML2.DOMDocument.3.0");
            }, function() {
                return new ActiveXObject("MSXML2.DOMDocument");
            }, function() {
                return new ActiveXObject("Microsoft.XMLDOM");
            });
            doc.async = "false";
            doc.loadXML(text);
            if (doc.parseError.reason) {
                return null;
            }
        } else {
            var parser = new DOMParser;
            doc = parser.parseFromString(text, "text/xml");
            if (doc.documentElement.nodeName == "parsererror") {
                return null;
            }
        }
        return doc.documentElement;
    };
    QZFL.string.timeFormatString = function(date, ptn, baseTime) {
        try {
            date = date.getTime ? date : new Date(date);
        } catch (ign) {
            return "";
        }
        var me = QZFL.string.timeFormatString,
            map = me._map,
            unt = me._units,
            rel = false,
            t, delta, v;
        if (!ptn) {
            baseTime = baseTime || new Date;
            delta = Math.abs(date - baseTime);
            for (var i = 0, len = unt.length; i < len; ++i) {
                t = map[unt[i]];
                if (delta > t[1]) {
                    return Math.floor(delta / t[1]) + t[2];
                }
            }
            return "\u521A\u521A";
        } else {
            return ptn.replace(me._re, function(a, b, c) {
                (rel = b.charAt(0) == "_") && (b = b.charAt(1));
                if (!map[b]) {
                    return a;
                }
                if (!rel) {
                    v = date[map[b][0]]();
                    b == "y" && (v %= 100);
                    b == "M" && v++;
                    return v < 10 ? QZFL.string.fillLength(v, 2, c) : v.toString();
                } else {
                    return Math.floor(Math.abs(date - baseTime) / map[b][1]);
                }
            });
        }
    };
    QZFL.string.timeFormatString._re = /\{([_yYMdhms]{1,2})(?:\:([\d\w\s]))?\}/g;
    QZFL.string.timeFormatString._map = {
        y: ["getYear", 31104000000],
        Y: ["getFullYear", 31104000000, "\u5E74\u524D"],
        M: ["getMonth", 2592000000, "\u4E2A\u6708\u524D"],
        d: ["getDate", 86400000, "\u5929\u524D"],
        h: ["getHours", 3600000, "\u5C0F\u65F6\u524D"],
        m: ["getMinutes", 60000, "\u5206\u949F\u524D"],
        s: ["getSeconds", 1000, "\u79D2\u524D"]
    };
    QZFL.string.timeFormatString._units = ["Y", "M", "d", "h", "m", "s"];
    QZFL.string.StringBuilder = function() {
        this._strList = QZFL.lang.arg2arr(arguments);
    };
    QZFL.string.StringBuilder.prototype = {
        append: function(str) {
            this._strList.push(String(str));
        },
        insertFirst: function(str) {
            this._strList.unshift(String(str));
        },
        appendArray: function(arr) {
            this._strList = this._strList.concat(arr);
        },
        toString: function(spliter) {
            return this._strList.join(spliter || "");
        },
        clear: function() {
            this._strList.splice(0, this._strList.length);
        }
    };
    (function() {
        var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
            done = 0,
            toString = Object.prototype.toString,
            hasDuplicate = false,
            baseHasDuplicate = true,
            rBackslash = /\\/g,
            rNonWord = /\W/,
            tmpVar, rSpeedUp = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)|^(\w+)\.([\w\-]+$)/;
        [0, 0].sort(function() {
            baseHasDuplicate = false;
            return 0;
        });
        var Sizzle = function(selector, context, results, seed) {
                results = results || [];
                context = context || document;
                var origContext = context;
                if (context.nodeType !== 1 && context.nodeType !== 9) {
                    return [];
                }
                if (!selector || typeof selector !== "string") {
                    return results;
                }
                var m, set, checkSet, extra, ret, cur, pop, i, prune = true,
                    contextXML = Sizzle.isXML(context),
                    parts = [],
                    soFar = selector,
                    speedUpMatch;
                if (!contextXML) {
                    speedUpMatch = rSpeedUp.exec(selector);
                    if (speedUpMatch) {
                        if (context.nodeType === 1 || context.nodeType === 9) {
                            if (speedUpMatch[1]) {
                                return makeArray(context.getElementsByTagName(selector), results);
                            } else if (speedUpMatch[2] || speedUpMatch[4] && speedUpMatch[5]) {
                                if (context.getElementsByClassName && speedUpMatch[2]) {
                                    return makeArray(context.getElementsByClassName(speedUpMatch[2]), results);
                                } else {
                                    var suElems = context.getElementsByTagName(speedUpMatch[4] || "*"),
                                        suResBuff = [],
                                        suIt, suCN = " " + (speedUpMatch[2] || speedUpMatch[5]) + " ";
                                    for (var sui = 0, sulen = suElems.length; sui < sulen; ++sui) {
                                        suIt = suElems[sui];
                                        (" " + suIt.className + " ").indexOf(suCN) > -1 && suResBuff.push(suIt);
                                    }
                                    return makeArray(suResBuff, results);
                                }
                            }
                        }
                        if (context.nodeType === 9) {
                            if ((selector === "body" || selector.toLowerCase() === "body") && context.body) {
                                return makeArray([context.body], results);
                            } else if (speedUpMatch[3]) {
                                return (tmpVar = context.getElementById(speedUpMatch[3])) ? makeArray([tmpVar], results) : makeArray([], results);
                            }
                        }
                    }
                }
                do {
                    chunker.exec("");
                    m = chunker.exec(soFar);
                    if (m) {
                        soFar = m[3];
                        parts.push(m[1]);
                        if (m[2]) {
                            extra = m[3];
                            break;
                        }
                    }
                } while (m);
                if (parts.length > 1 && origPOS.exec(selector)) {
                    if (parts.length === 2 && Expr.relative[parts[0]]) {
                        set = posProcess(parts[0] + parts[1], context);
                    } else {
                        set = Expr.relative[parts[0]] ? [context] : Sizzle(parts.shift(), context);
                        while (parts.length) {
                            selector = parts.shift();
                            if (Expr.relative[selector]) {
                                selector += parts.shift();
                            }
                            set = posProcess(selector, set);
                        }
                    }
                } else {
                    if (!seed && parts.length > 1 && context.nodeType === 9 && !contextXML && Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1])) {
                        ret = Sizzle.find(parts.shift(), context, contextXML);
                        context = ret.expr ? Sizzle.filter(ret.expr, ret.set)[0] : ret.set[0];
                    }
                    if (context) {
                        ret = seed ? {
                            expr: parts.pop(),
                            set: makeArray(seed)
                        } : Sizzle.find(parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML);
                        set = ret.expr ? Sizzle.filter(ret.expr, ret.set) : ret.set;
                        if (parts.length > 0) {
                            checkSet = makeArray(set);
                        } else {
                            prune = false;
                        }
                        while (parts.length) {
                            cur = parts.pop();
                            pop = cur;
                            if (!Expr.relative[cur]) {
                                cur = "";
                            } else {
                                pop = parts.pop();
                            }
                            if (pop == null) {
                                pop = context;
                            }
                            Expr.relative[cur](checkSet, pop, contextXML);
                        }
                    } else {
                        checkSet = parts = [];
                    }
                }
                if (!checkSet) {
                    checkSet = set;
                }
                if (!checkSet) {
                    Sizzle.error(cur || selector);
                }
                if (toString.call(checkSet) === "[object Array]") {
                    if (!prune) {
                        results.push.apply(results, checkSet);
                    } else if (context && context.nodeType === 1) {
                        for (i = 0; checkSet[i] != null; i++) {
                            if (checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i]))) {
                                results.push(set[i]);
                            }
                        }
                    } else {
                        for (i = 0; checkSet[i] != null; i++) {
                            if (checkSet[i] && checkSet[i].nodeType === 1) {
                                results.push(set[i]);
                            }
                        }
                    }
                } else {
                    makeArray(checkSet, results);
                }
                if (extra) {
                    Sizzle(extra, origContext, results, seed);
                    Sizzle.uniqueSort(results);
                }
                return results;
            };
        Sizzle.uniqueSort = function(results) {
            if (sortOrder) {
                hasDuplicate = baseHasDuplicate;
                results.sort(sortOrder);
                if (hasDuplicate) {
                    for (var i = 1; i < results.length; i++) {
                        if (results[i] === results[i - 1]) {
                            results.splice(i--, 1);
                        }
                    }
                }
            }
            return results;
        };
        Sizzle.matches = function(expr, set) {
            return Sizzle(expr, null, null, set);
        };
        Sizzle.matchesSelector = function(node, expr) {
            return Sizzle(expr, null, null, [node]).length > 0;
        };
        Sizzle.find = function(expr, context, isXML) {
            var set;
            if (!expr) {
                return [];
            }
            for (var i = 0, l = Expr.order.length; i < l; i++) {
                var match, type = Expr.order[i];
                if ((match = Expr.leftMatch[type].exec(expr))) {
                    var left = match[1];
                    match.splice(1, 1);
                    if (left.substr(left.length - 1) !== "\\") {
                        match[1] = (match[1] || "").replace(rBackslash, "");
                        set = Expr.find[type](match, context, isXML);
                        if (set != null) {
                            expr = expr.replace(Expr.match[type], "");
                            break;
                        }
                    }
                }
            }
            if (!set) {
                set = typeof context.getElementsByTagName !== "undefined" ? context.getElementsByTagName("*") : [];
            }
            return {
                set: set,
                expr: expr
            };
        };
        Sizzle.filter = function(expr, set, inplace, not) {
            var match, anyFound, old = expr,
                result = [],
                curLoop = set,
                isXMLFilter = set && set[0] && Sizzle.isXML(set[0]);
            while (expr && set.length) {
                for (var type in Expr.filter) {
                    if ((match = Expr.leftMatch[type].exec(expr)) != null && match[2]) {
                        var found, item, filter = Expr.filter[type],
                            left = match[1];
                        anyFound = false;
                        match.splice(1, 1);
                        if (left.substr(left.length - 1) === "\\") {
                            continue;
                        }
                        if (curLoop === result) {
                            result = [];
                        }
                        if (Expr.preFilter[type]) {
                            match = Expr.preFilter[type](match, curLoop, inplace, result, not, isXMLFilter);
                            if (!match) {
                                anyFound = found = true;
                            } else if (match === true) {
                                continue;
                            }
                        }
                        if (match) {
                            for (var i = 0;
                            (item = curLoop[i]) != null; i++) {
                                if (item) {
                                    found = filter(item, match, i, curLoop);
                                    var pass = not ^ !! found;
                                    if (inplace && found != null) {
                                        if (pass) {
                                            anyFound = true;
                                        } else {
                                            curLoop[i] = false;
                                        }
                                    } else if (pass) {
                                        result.push(item);
                                        anyFound = true;
                                    }
                                }
                            }
                        }
                        if (found !== undefined) {
                            if (!inplace) {
                                curLoop = result;
                            }
                            expr = expr.replace(Expr.match[type], "");
                            if (!anyFound) {
                                return [];
                            }
                            break;
                        }
                    }
                }
                if (expr === old) {
                    if (anyFound == null) {
                        Sizzle.error(expr);
                    } else {
                        break;
                    }
                }
                old = expr;
            }
            return curLoop;
        };
        Sizzle.error = function(msg) {
            throw "Syntax error, unrecognized expression: " + msg;
        };
        var Expr = Sizzle.selectors = {
            order: ["ID", "NAME", "TAG"],
            match: {
                ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
                CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
                NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
                ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
                TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
                CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
                POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
                PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
            },
            leftMatch: {},
            attrMap: {
                class: "className",
                for :"htmlFor"
            },
            attrHandle: {
                href: function(elem) {
                    return elem.getAttribute("href");
                },
                type: function(elem) {
                    return elem.getAttribute("type");
                }
            },
            relative: {
                '+': function(checkSet, part) {
                    var isPartStr = typeof part === "string",
                        isTag = isPartStr && !rNonWord.test(part),
                        isPartStrNotTag = isPartStr && !isTag;
                    if (isTag) {
                        part = part.toLowerCase();
                    }
                    for (var i = 0, l = checkSet.length, elem; i < l; i++) {
                        if ((elem = checkSet[i])) {
                            while ((elem = elem.previousSibling) && elem.nodeType !== 1) {}
                            checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? elem || false : elem === part;
                        }
                    }
                    if (isPartStrNotTag) {
                        Sizzle.filter(part, checkSet, true);
                    }
                },
                '>': function(checkSet, part) {
                    var elem, isPartStr = typeof part === "string",
                        i = 0,
                        l = checkSet.length;
                    if (isPartStr && !rNonWord.test(part)) {
                        part = part.toLowerCase();
                        for (; i < l; i++) {
                            elem = checkSet[i];
                            if (elem) {
                                var parent = elem.parentNode;
                                checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
                            }
                        }
                    } else {
                        for (; i < l; i++) {
                            elem = checkSet[i];
                            if (elem) {
                                checkSet[i] = isPartStr ? elem.parentNode : elem.parentNode === part;
                            }
                        }
                        if (isPartStr) {
                            Sizzle.filter(part, checkSet, true);
                        }
                    }
                },
                '': function(checkSet, part, isXML) {
                    var nodeCheck, doneName = done++,
                        checkFn = dirCheck;
                    if (typeof part === "string" && !rNonWord.test(part)) {
                        part = part.toLowerCase();
                        nodeCheck = part;
                        checkFn = dirNodeCheck;
                    }
                    checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
                },
                '~': function(checkSet, part, isXML) {
                    var nodeCheck, doneName = done++,
                        checkFn = dirCheck;
                    if (typeof part === "string" && !rNonWord.test(part)) {
                        part = part.toLowerCase();
                        nodeCheck = part;
                        checkFn = dirNodeCheck;
                    }
                    checkFn("previousSibling", part, doneName, checkSet, nodeCheck, isXML);
                }
            },
            find: {
                ID: function(match, context, isXML) {
                    if (typeof context.getElementById !== "undefined" && !isXML) {
                        var m = context.getElementById(match[1]);
                        return m && m.parentNode ? [m] : [];
                    }
                },
                NAME: function(match, context) {
                    if (typeof context.getElementsByName !== "undefined") {
                        var ret = [],
                            results = context.getElementsByName(match[1]);
                        for (var i = 0, l = results.length; i < l; i++) {
                            if (results[i].getAttribute("name") === match[1]) {
                                ret.push(results[i]);
                            }
                        }
                        return ret.length === 0 ? null : ret;
                    }
                },
                TAG: function(match, context) {
                    if (typeof context.getElementsByTagName !== "undefined") {
                        return context.getElementsByTagName(match[1]);
                    }
                }
            },
            preFilter: {
                CLASS: function(match, curLoop, inplace, result, not, isXML) {
                    match = " " + match[1].replace(rBackslash, "") + " ";
                    if (isXML) {
                        return match;
                    }
                    for (var i = 0, elem;
                    (elem = curLoop[i]) != null; i++) {
                        if (elem) {
                            if (not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0)) {
                                if (!inplace) {
                                    result.push(elem);
                                }
                            } else if (inplace) {
                                curLoop[i] = false;
                            }
                        }
                    }
                    return false;
                },
                ID: function(match) {
                    return match[1].replace(rBackslash, "");
                },
                TAG: function(match, curLoop) {
                    return match[1].replace(rBackslash, "").toLowerCase();
                },
                CHILD: function(match) {
                    if (match[1] === "nth") {
                        if (!match[2]) {
                            Sizzle.error(match[0]);
                        }
                        match[2] = match[2].replace(/^\+|\s*/g, "");
                        var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || !/\D/.test(match[2]) && "0n+" + match[2] || match[2]);
                        match[2] = test[1] + (test[2] || 1) - 0;
                        match[3] = test[3] - 0;
                    } else if (match[2]) {
                        Sizzle.error(match[0]);
                    }
                    match[0] = done++;
                    return match;
                },
                ATTR: function(match, curLoop, inplace, result, not, isXML) {
                    var name = match[1] = match[1].replace(rBackslash, "");
                    if (!isXML && Expr.attrMap[name]) {
                        match[1] = Expr.attrMap[name];
                    }
                    match[4] = (match[4] || match[5] || "").replace(rBackslash, "");
                    if (match[2] === "~=") {
                        match[4] = " " + match[4] + " ";
                    }
                    return match;
                },
                PSEUDO: function(match, curLoop, inplace, result, not) {
                    if (match[1] === "not") {
                        if ((chunker.exec(match[3]) || "").length > 1 || /^\w/.test(match[3])) {
                            match[3] = Sizzle(match[3], null, null, curLoop);
                        } else {
                            var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not);
                            if (!inplace) {
                                result.push.apply(result, ret);
                            }
                            return false;
                        }
                    } else if (Expr.match.POS.test(match[0]) || Expr.match.CHILD.test(match[0])) {
                        return true;
                    }
                    return match;
                },
                POS: function(match) {
                    match.unshift(true);
                    return match;
                }
            },
            filters: {
                enabled: function(elem) {
                    return elem.disabled === false && elem.type !== "hidden";
                },
                disabled: function(elem) {
                    return elem.disabled === true;
                },
                checked: function(elem) {
                    return elem.checked === true;
                },
                selected: function(elem) {
                    if (elem.parentNode) {
                        elem.parentNode.selectedIndex;
                    }
                    return elem.selected === true;
                },
                parent: function(elem) {
                    return !!elem.firstChild;
                },
                empty: function(elem) {
                    return !elem.firstChild;
                },
                has: function(elem, i, match) {
                    return !!Sizzle(match[3], elem).length;
                },
                header: function(elem) {
                    return /h\d/i.test(elem.nodeName);
                },
                text: function(elem) {
                    return "text" === elem.getAttribute("type");
                },
                radio: function(elem) {
                    return "radio" === elem.type;
                },
                checkbox: function(elem) {
                    return "checkbox" === elem.type;
                },
                file: function(elem) {
                    return "file" === elem.type;
                },
                password: function(elem) {
                    return "password" === elem.type;
                },
                submit: function(elem) {
                    return "submit" === elem.type;
                },
                image: function(elem) {
                    return "image" === elem.type;
                },
                reset: function(elem) {
                    return "reset" === elem.type;
                },
                button: function(elem) {
                    return "button" === elem.type || elem.nodeName.toLowerCase() === "button";
                },
                input: function(elem) {
                    return /input|select|textarea|button/i.test(elem.nodeName);
                }
            },
            setFilters: {
                first: function(elem, i) {
                    return i === 0;
                },
                last: function(elem, i, match, array) {
                    return i === array.length - 1;
                },
                even: function(elem, i) {
                    return i % 2 === 0;
                },
                odd: function(elem, i) {
                    return i % 2 === 1;
                },
                lt: function(elem, i, match) {
                    return i < match[3] - 0;
                },
                gt: function(elem, i, match) {
                    return i > match[3] - 0;
                },
                nth: function(elem, i, match) {
                    return match[3] - 0 === i;
                },
                eq: function(elem, i, match) {
                    return match[3] - 0 === i;
                }
            },
            filter: {
                PSEUDO: function(elem, match, i, array) {
                    var name = match[1],
                        filter = Expr.filters[name];
                    if (filter) {
                        return filter(elem, i, match, array);
                    } else if (name === "contains") {
                        return (elem.textContent || elem.innerText || Sizzle.getText([elem]) || "").indexOf(match[3]) >= 0;
                    } else if (name === "not") {
                        var not = match[3];
                        for (var j = 0, l = not.length; j < l; j++) {
                            if (not[j] === elem) {
                                return false;
                            }
                        }
                        return true;
                    } else {
                        Sizzle.error(name);
                    }
                },
                CHILD: function(elem, match) {
                    var type = match[1],
                        node = elem;
                    switch (type) {
                    case "only":
                    case "first":
                        while ((node = node.previousSibling)) {
                            if (node.nodeType === 1) {
                                return false;
                            }
                        }
                        if (type === "first") {
                            return true;
                        }
                        node = elem;
                    case "last":
                        while ((node = node.nextSibling)) {
                            if (node.nodeType === 1) {
                                return false;
                            }
                        }
                        return true;
                    case "nth":
                        var first = match[2],
                            last = match[3];
                        if (first === 1 && last === 0) {
                            return true;
                        }
                        var doneName = match[0],
                            parent = elem.parentNode;
                        if (parent && (parent.sizcache !== doneName || !elem.nodeIndex)) {
                            var count = 0;
                            for (node = parent.firstChild; node; node = node.nextSibling) {
                                if (node.nodeType === 1) {
                                    node.nodeIndex = ++count;
                                }
                            }
                            parent.sizcache = doneName;
                        }
                        var diff = elem.nodeIndex - last;
                        if (first === 0) {
                            return diff === 0;
                        } else {
                            return diff % first === 0 && diff / first >= 0;
                        }
                    default:
                        ;
                    }
                },
                ID: function(elem, match) {
                    return elem.nodeType === 1 && elem.getAttribute("id") === match;
                },
                TAG: function(elem, match) {
                    return match === "*" && elem.nodeType === 1 || elem.nodeName.toLowerCase() === match;
                },
                CLASS: function(elem, match) {
                    return (" " + (elem.className || elem.getAttribute("class")) + " ").indexOf(match) > -1;
                },
                ATTR: function(elem, match) {
                    var name = match[1],
                        result = Expr.attrHandle[name] ? Expr.attrHandle[name](elem) : elem[name] != null ? elem[name] : elem.getAttribute(name),
                        value = result + "",
                        type = match[2],
                        check = match[4];
                    return result == null ? type === "!=" : type === "=" ? value === check : type === "*=" ? value.indexOf(check) >= 0 : type === "~=" ? (" " + value + " ").indexOf(check) >= 0 : !check ? value && result !== false : type === "!=" ? value !== check : type === "^=" ? value.indexOf(check) === 0 : type === "$=" ? value.substr(value.length - check.length) === check : type === "|=" ? value === check || value.substr(0, check.length + 1) === check + "-" : false;
                },
                POS: function(elem, match, i, array) {
                    var name = match[2],
                        filter = Expr.setFilters[name];
                    if (filter) {
                        return filter(elem, i, match, array);
                    }
                }
            }
        };
        var origPOS = Expr.match.POS,
            fescape = function(all, num) {
                return "\\" + (num - 0 + 1);
            };
        for (var type in Expr.match) {
            Expr.match[type] = new RegExp(Expr.match[type].source + /(?![^\[]*\])(?![^\(]*\))/.source);
            Expr.leftMatch[type] = new RegExp(/(^(?:.|\r|\n)*?)/.source + Expr.match[type].source.replace(/\\(\d+)/g, fescape));
        }
        var makeArray = function(array, results) {
                array = Array.prototype.slice.call(array, 0);
                if (results) {
                    results.push.apply(results, array);
                    return results;
                }
                return array;
            };
        try {
            Array.prototype.slice.call(document.documentElement.childNodes, 0)[0].nodeType;
        } catch (e) {
            makeArray = function(array, results) {
                var i = 0,
                    ret = results || [];
                if (toString.call(array) === "[object Array]") {
                    Array.prototype.push.apply(ret, array);
                } else {
                    if (typeof array.length === "number") {
                        for (var l = array.length; i < l; i++) {
                            ret.push(array[i]);
                        }
                    } else {
                        for (; array[i]; i++) {
                            ret.push(array[i]);
                        }
                    }
                }
                return ret;
            };
        }
        var sortOrder, siblingCheck;
        if (document.documentElement.compareDocumentPosition) {
            sortOrder = function(a, b) {
                if (a === b) {
                    hasDuplicate = true;
                    return 0;
                }
                if (!a.compareDocumentPosition || !b.compareDocumentPosition) {
                    return a.compareDocumentPosition ? -1 : 1;
                }
                return a.compareDocumentPosition(b) & 4 ? -1 : 1;
            };
        } else {
            sortOrder = function(a, b) {
                var al, bl, ap = [],
                    bp = [],
                    aup = a.parentNode,
                    bup = b.parentNode,
                    cur = aup;
                if (a === b) {
                    hasDuplicate = true;
                    return 0;
                } else if (aup === bup) {
                    return siblingCheck(a, b);
                } else if (!aup) {
                    return -1;
                } else if (!bup) {
                    return 1;
                }
                while (cur) {
                    ap.unshift(cur);
                    cur = cur.parentNode;
                }
                cur = bup;
                while (cur) {
                    bp.unshift(cur);
                    cur = cur.parentNode;
                }
                al = ap.length;
                bl = bp.length;
                for (var i = 0; i < al && i < bl; i++) {
                    if (ap[i] !== bp[i]) {
                        return siblingCheck(ap[i], bp[i]);
                    }
                }
                return i === al ? siblingCheck(a, bp[i], -1) : siblingCheck(ap[i], b, 1);
            };
            siblingCheck = function(a, b, ret) {
                if (a === b) {
                    return ret;
                }
                var cur = a.nextSibling;
                while (cur) {
                    if (cur === b) {
                        return -1;
                    }
                    cur = cur.nextSibling;
                }
                return 1;
            };
        }
        Sizzle.getText = function(elems) {
            var ret = "",
                elem;
            for (var i = 0; elems[i]; i++) {
                elem = elems[i];
                if (elem.nodeType === 3 || elem.nodeType === 4) {
                    ret += elem.nodeValue;
                } else if (elem.nodeType !== 8) {
                    ret += Sizzle.getText(elem.childNodes);
                }
            }
            return ret;
        };
        (function() {
            var form = document.createElement("div"),
                id = "script" + (new Date).getTime(),
                root = document.documentElement;
            form.innerHTML = "<a name='" + id + "'/>";
            root.insertBefore(form, root.firstChild);
            if (document.getElementById(id)) {
                Expr.find.ID = function(match, context, isXML) {
                    if (typeof context.getElementById !== "undefined" && !isXML) {
                        var m = context.getElementById(match[1]);
                        return m ? m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? [m] : undefined : [];
                    }
                };
                Expr.filter.ID = function(elem, match) {
                    var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id");
                    return elem.nodeType === 1 && node && node.nodeValue === match;
                };
            }
            root.removeChild(form);
            root = form = null;
        }());
        (function() {
            var div = document.createElement("div");
            div.appendChild(document.createComment(""));
            if (div.getElementsByTagName("*").length > 0) {
                Expr.find.TAG = function(match, context) {
                    var results = context.getElementsByTagName(match[1]);
                    if (match[1] === "*") {
                        var tmp = [];
                        for (var i = 0; results[i]; i++) {
                            if (results[i].nodeType === 1) {
                                tmp.push(results[i]);
                            }
                        }
                        results = tmp;
                    }
                    return results;
                };
            }
            div.innerHTML = "<a href='#'></a>";
            if (div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && div.firstChild.getAttribute("href") !== "#") {
                Expr.attrHandle.href = function(elem) {
                    return elem.getAttribute("href", 2);
                };
            }
            div = null;
        }());
        if (document.querySelectorAll) {
            (function() {
                var oldSizzle = Sizzle,
                    id = "__sizzle__";
                Sizzle = function(query, context, extra, seed) {
                    context = context || document;
                    if (!seed && !Sizzle.isXML(context)) {
                        var match = rSpeedUp.exec(query);
                        if (match && (context.nodeType === 1 || context.nodeType === 9)) {
                            if (match[1]) {
                                return makeArray(context.getElementsByTagName(query), extra);
                            } else if (match[2] && Expr.find.CLASS && context.getElementsByClassName) {
                                return makeArray(context.getElementsByClassName(match[2]), extra);
                            }
                        }
                        if (context.nodeType === 9) {
                            if (query === "body" && context.body) {
                                return makeArray([context.body], extra);
                            } else if (match && match[3]) {
                                var elem = context.getElementById(match[3]);
                                if (elem && elem.parentNode) {
                                    if (elem.id === match[3]) {
                                        return makeArray([elem], extra);
                                    }
                                } else {
                                    return makeArray([], extra);
                                }
                            }
                            try {
                                return makeArray(context.querySelectorAll(query), extra);
                            } catch (qsaError) {}
                        } else if (context.nodeType === 1 && context.nodeName.toLowerCase() !== "object") {
                            var oldContext = context,
                                old = context.getAttribute("id"),
                                nid = old || id,
                                hasParent = context.parentNode,
                                relativeHierarchySelector = /^\s*[+~]/.test(query);
                            if (!old) {
                                context.setAttribute("id", nid);
                            } else {
                                nid = nid.replace(/'/g, "\\$&");
                            }
                            if (relativeHierarchySelector && hasParent) {
                                context = context.parentNode;
                            }
                            try {
                                if (!relativeHierarchySelector || hasParent) {
                                    return makeArray(context.querySelectorAll("[id='" + nid + "'] " + query), extra);
                                }
                            } catch (pseudoError) {} finally {
                                if (!old) {
                                    oldContext.removeAttribute("id");
                                }
                            }
                        }
                    }
                    return oldSizzle(query, context, extra, seed);
                };
                for (var prop in oldSizzle) {
                    Sizzle[prop] = oldSizzle[prop];
                }
            }());
        }(function() {
            var html = document.documentElement,
                matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector,
                pseudoWorks = false;
            try {
                matches.call(document.documentElement, "[test!='']:sizzle");
            } catch (pseudoError) {
                pseudoWorks = true;
            }
            if (matches) {
                Sizzle.matchesSelector = function(node, expr) {
                    expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
                    if (!Sizzle.isXML(node)) {
                        try {
                            if (pseudoWorks || !Expr.match.PSEUDO.test(expr) && !/!=/.test(expr)) {
                                return matches.call(node, expr);
                            }
                        } catch (e) {}
                    }
                    return Sizzle(expr, null, null, [node]).length > 0;
                };
            }
        }());
        Expr.order.splice(1, 0, "CLASS");
        Expr.find.CLASS = function(match, context, isXML) {
            if (typeof context.getElementsByClassName !== "undefined" && !isXML) {
                return context.getElementsByClassName(match[1]);
            }
        };

        function dirNodeCheck(dir, cur, doneName, checkSet, nodeCheck, isXML) {
            for (var i = 0, l = checkSet.length; i < l; i++) {
                var elem = checkSet[i];
                if (elem) {
                    var match = false;
                    elem = elem[dir];
                    while (elem) {
                        if (elem.sizcache === doneName) {
                            match = checkSet[elem.sizset];
                            break;
                        }
                        if (elem.nodeType === 1 && !isXML) {
                            elem.sizcache = doneName;
                            elem.sizset = i;
                        }
                        if (elem.nodeName.toLowerCase() === cur) {
                            match = elem;
                            break;
                        }
                        elem = elem[dir];
                    }
                    checkSet[i] = match;
                }
            }
        }


        function dirCheck(dir, cur, doneName, checkSet, nodeCheck, isXML) {
            for (var i = 0, l = checkSet.length; i < l; i++) {
                var elem = checkSet[i];
                if (elem) {
                    var match = false;
                    elem = elem[dir];
                    while (elem) {
                        if (elem.sizcache === doneName) {
                            match = checkSet[elem.sizset];
                            break;
                        }
                        if (elem.nodeType === 1) {
                            if (!isXML) {
                                elem.sizcache = doneName;
                                elem.sizset = i;
                            }
                            if (typeof cur !== "string") {
                                if (elem === cur) {
                                    match = true;
                                    break;
                                }
                            } else if (Sizzle.filter(cur, [elem]).length > 0) {
                                match = elem;
                                break;
                            }
                        }
                        elem = elem[dir];
                    }
                    checkSet[i] = match;
                }
            }
        }

        if (document.documentElement.compareDocumentPosition) {
            Sizzle.contains = function(a, b) {
                return !!(a.compareDocumentPosition(b) & 16);
            };
        } else if (document.documentElement.contains) {
            Sizzle.contains = function(a, b) {
                if (a !== b && a.contains && b.contains) {
                    return a.contains(b);
                } else if (!b || b.nodeType == 9) {
                    return false;
                } else if (b === a) {
                    return true;
                } else {
                    return Sizzle.contains(a, b.parentNode);
                }
            };
        } else {
            Sizzle.contains = function() {
                return false;
            };
        }
        Sizzle.isXML = function(elem) {
            var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement;
            return documentElement ? documentElement.nodeName !== "HTML" : false;
        };
        var posProcess = function(selector, context) {
                var match, tmpSet = [],
                    later = "",
                    root = context.nodeType ? [context] : context;
                while ((match = Expr.match.PSEUDO.exec(selector))) {
                    later += match[0];
                    selector = selector.replace(Expr.match.PSEUDO, "");
                }
                selector = Expr.relative[selector] ? selector + "*" : selector;
                for (var i = 0, l = root.length; i < l; i++) {
                    Sizzle(selector, root[i], tmpSet);
                }
                return Sizzle.filter(later, tmpSet);
            };
        QZFL.selector = window.Sizzle = Sizzle;
        QZFL.object.makeArray = QZFL.dom.collection2Array = makeArray;
        QZFL.dom.uniqueSort = Sizzle.uniqueSort;
        QZFL.dom.contains = Sizzle.contains;
    }());
    (function() {
        var _handler = QZFL.ElementHandler = function(selector, context) {
                this.elements = null;
                this._isElementHandler = true;
                this._init(selector, context);
            };
        _handler.prototype = {
            _init: function(selector, context) {
                if (QZFL.lang.isString(selector)) {
                    this.elements = QZFL.selector(selector, context);
                } else if (selector instanceof QZFL.ElementHandler) {
                    this.elements = selector.elements.slice();
                } else if (QZFL.lang.isArray(selector)) {
                    this.elements = selector;
                } else if (selector && (selector.nodeType && selector.nodeType !== 3 && selector.nodeType !== 8 || selector.setTimeout)) {
                    this.elements = [selector];
                } else {
                    this.elements = [];
                }
            },
            findElements: function(selector) {
                var _pushstack = [],
                    _s;
                this.each(function(el) {
                    _s = QZFL.selector(selector, el);
                    if (_s.length > 0) {
                        _pushstack = _pushstack.concat(_s);
                    }
                });
                return _pushstack;
            },
            find: function(selector) {
                return _el.get(this.findElements(selector));
            },
            filter: function(expr, elems, not) {
                if (not) {
                    expr = ":not(" + expr + ")";
                }
                return _el.get(QZFL.selector.matches(expr, elems || this.elements));
            },
            each: function(fn) {
                QZFL.object.each(this.elements, fn);
                return this;
            },
            concat: function(elements) {
                return _el.get(this.elements.concat( !! elements._isElementHandler ? elements.elements : elements));
            },
            get: function(index) {
                return _el.get(this.elements[index]);
            },
            eq: function(index) {
                return this.elements[index || 0];
            },
            slice: function() {
                return _el.get(Array.prototype.slice.apply(this.elements, arguments));
            }
        };
        var _el = QZFL.element = {
            get: function(selector, context) {
                return new _handler(selector, context);
            },
            extend: function(object) {
                QZFL.object.extend(_handler, object);
            },
            extendFn: function(object) {
                QZFL.object.extend(_handler.prototype, object);
            },
            getVersion: function() {
                return _handler.version;
            }
        };
    }());
    QZFL.element.extend({
        version: "1.0"
    });
    QZFL.element.extendFn({
        bind: function(evtType, fn, argArr) {
            if (typeof fn != "function") {
                return false;
            }
            return this.each(function(el) {
                QZFL.event.addEvent(el, evtType, fn, argArr);
            });
        },
        unBind: function(evtType, fn) {
            return this.each(function(el) {
                QZFL.event[fn ? "removeEvent" : "purgeEvent"](el, evtType, fn);
            });
        },
        onHover: function(fnOver, fnOut) {
            this.onMouseOver(fnOver);
            return this.onMouseOut(fnOut);
        },
        onMouseEnter: function(fn) {
            return this.bind("mouseover", function(evt) {
                var rel = QZFL.event.getRelatedTarget(evt);
                if (QZFL.lang.isFunction(fn) && !QZFL.dom.isAncestor(this, rel)) {
                    fn.call(this, evt);
                }
            });
        },
        onMouseLeave: function(fn) {
            return this.bind("mouseout", function(evt) {
                var rel = QZFL.event.getRelatedTarget(evt);
                if (QZFL.lang.isFunction(fn) && !QZFL.dom.isAncestor(this, rel)) {
                    fn.call(this, evt);
                }
            });
        },
        delegate: function(selector, eventType, fn, argsArray) {
            if (typeof fn != "function") {
                return false;
            }
            return this.each(function(el) {
                QZFL.event.delegate(el, selector, eventType, fn, argsArray);
            });
        },
        undelegate: function(selector, eventType, fn) {
            return this.each(function(el) {
                QZFL.event.undelegate(el, selector, eventType, fn);
            });
        }
    });
    QZFL.object.each(["onClick", "onMouseDown", "onMouseUp", "onMouseOver", "onMouseMove", "onMouseOut", "onFocus", "onBlur", "onKeyDown", "onKeyPress", "onKeyUp"], function(name, index) {
        QZFL.ElementHandler.prototype[name] = function(fn) {
            return this.bind(name.slice(2).toLowerCase(), fn);
        };
    });
    QZFL.element.extendFn({
        setHtml: function(value) {
            return this.setAttr("innerHTML", value);
        },
        getHtml: function(index) {
            var _e = this.elements[index || 0];
            return !!_e ? _e.innerHTML : null;
        },
        setVal: function(value) {
            if (QZFL.object.getType(value) == "array") {
                var _v = "\0" + value.join("\0") + "\0";
                this.each(function(el) {
                    if (/radio|checkbox/.test(el.type)) {
                        el.checked = el.nodeType && ("\0" + _v.indexOf(el.value.toString() + "\0") > -1 || _v.indexOf("\0" + el.name.toString() + "\0") > -1);
                    } else if (el.tagName == "SELECT") {
                        QZFL.object.each(el.options, function(e) {
                            e.selected = e.nodeType == 1 && ("\0" + _v.indexOf(e.value.toString() + "\0") > -1 || _v.indexOf("\0" + e.text.toString() + "\0") > -1);
                        });
                    } else {
                        el.value = value;
                    }
                });
            } else {
                this.setAttr("value", value);
            }
            return this;
        },
        getVal: function(index) {
            var _e = this.elements[index || 0],
                _v;
            if (_e) {
                if (_e.tagName == "SELECT") {
                    _v = [];
                    if (_e.selectedIndex < 0) {
                        return null;
                    }
                    if (_e.type == "select-one") {
                        _v.push(_e.value);
                    } else {
                        QZFL.object.each(_e.options, function(e) {
                            if (e.nodeType == 1 && e.selected) {
                                _v.push(e.value);
                            }
                        });
                    }
                } else {
                    _v = _e.value;
                }
            } else {
                return null;
            }
            return _v;
        },
        hasClass: function(className) {
            if (this.elements && this.elements.length) {
                return QZFL.css.hasClassName(this.elements[0], className);
            }
            return false;
        },
        addClass: function(className) {
            return this.each(function(el) {
                QZFL.css.addClassName(el, className);
            });
        },
        removeClass: function(className) {
            return this.each(function(el) {
                QZFL.css.removeClassName(el, className);
            });
        },
        toggleClass: function(className) {
            return this.each(function(el) {
                QZFL.css.toggleClassName(el, className);
            });
        },
        getSize: function(index) {
            var _e = this.elements[index || 0];
            return !!_e ? QZFL.dom.getSize(_e) : null;
        },
        getXY: function(index) {
            var _e = this.elements[index || 0];
            return !!_e ? QZFL.dom.getXY(_e) : null;
        },
        setSize: function(width, height) {
            return this.each(function(el) {
                QZFL.dom.setSize(el, width, height);
            });
        },
        setXY: function(X, Y) {
            return this.each(function(el) {
                QZFL.dom.setXY(el, X, Y);
            });
        },
        hide: function() {
            return this.each(function(el) {
                QZFL.dom.setStyle(el, "display", "none");
            });
        },
        show: function(isBlock) {
            return this.each(function(el) {
                QZFL.dom.setStyle(el, "display", isBlock ? "block" : "");
            });
        },
        getStyle: function(key, index) {
            var _e = this.elements[index || 0];
            return !!_e ? QZFL.dom.getStyle(_e, key) : null;
        },
        setStyle: function(key, value) {
            return this.each(function(el) {
                QZFL.dom.setStyle(el, key, value);
            });
        },
        setAttr: function(key, value) {
            key = key == "class" ? "className" : key;
            return this.each(function(el) {
                el[key] = value;
            });
        },
        getAttr: function(key, index) {
            key = key == "class" ? "className" : key;
            var node = this.elements[index || 0];
            return node ? node[key] === undefined ? node.getAttribute(key) : node[key] : null;
        }
    });
    QZFL.element.extendFn({
        getPrev: function() {
            var _arr = [];
            this.each(function(el) {
                var _e = QZFL.dom.getPreviousSibling(el);
                _arr.push(_e);
            });
            return QZFL.element.get(_arr);
        },
        getNext: function() {
            var _arr = [];
            this.each(function(el) {
                var _e = QZFL.dom.getNextSibling(el);
                _arr.push(_e);
            });
            return QZFL.element.get(_arr);
        },
        getChildren: function() {
            var _arr = [];
            this.each(function(el) {
                var node = QZFL.dom.getFirstChild(el);
                while (node) {
                    if ( !! node && node.nodeType == 1) {
                        _arr.push(node);
                    }
                    node = node.nextSibling;
                }
            });
            return QZFL.element.get(_arr);
        },
        getParent: function() {
            var _arr = [];
            this.each(function(el) {
                var _e = el.parentNode;
                _arr.push(_e);
            });
            return QZFL.element.get(_arr);
        }
    });
    QZFL.element.extendFn({
        create: function(tagName, attributes) {
            var _arr = [];
            this.each(function(el) {
                _arr.push(QZFL.dom.createElementIn(tagName, el, false, attributes));
            });
            return QZFL.element.get(_arr);
        },
        appendTo: function(el) {
            var el = el.elements && el.elements[0] || QZFL.dom.get(el);
            return this.each(function(element) {
                el.appendChild(element);
            });
        },
        insertAfter: function(el) {
            var el = el.elements && el.elements[0] || QZFL.dom.get(el),
                _ns = el.nextSibling,
                _p = el.parentNode;
            return this.each(function(element) {
                _p[!_ns ? "appendChild" : "insertBefore"](element, _ns);
            });
        },
        insertBefore: function(el) {
            var el = el.elements && el.elements[0] || QZFL.dom.get(el),
                _p = el.parentNode;
            return this.each(function(element) {
                _p.insertBefore(element, el);
            });
        },
        remove: function() {
            return this.each(function(el) {
                QZFL.dom.removeElement(el);
            });
        }
    });
    QZFL.effect = {
        off: 0,
        mode: [],
        init: function() {
            var classArray = [
                ["webkit", "WebkitTransition"],
                ["firefox", "MozTransition"],
                ["opera", "OTransition"],
                ["ie", "msTransition"]
            ],
                ua = QZFL.userAgent,
                agent = "",
                cName = "";
            for (var i = 0, len = classArray.length; i < len; i++) {
                if (ua[classArray[i][0]]) {
                    agent = classArray[i][0];
                    cName = classArray[i][1];
                    break;
                }
            }
            return QZFL.effect.mode = cName in document.documentElement.style ? [agent, "css3"] : [agent];
        },
        run: function(elem, prop, opts) {
            var o = QZFL.effect,
                tid = ++o._uniqueID,
                fpropArray, fprop, qDom;
            if (!elem) {
                return;
            }
            if (!o.mode[0]) {
                o.init();
            }
            opts = o._opt(opts);
            opts.start();
            elem = QZFL.dom.get(elem);
            fpropArray = o._prop(prop, elem);
            fprop = fpropArray[0];
            elem._tid = tid;
            if (o.off) {
                qDom = QZFL.dom;
                for (var i in fpropArray[1]) {
                    qDom.setStyle(elem, i, fpropArray[1][i]);
                }
                window.setTimeout(opts.complete, opts.duration);
            } else {
                var t = new(QZFL.tweenMaker)(0, 100, opts.duration, opts.interval);
                t.onStart = o.mode[1] == "css3" ?
                function() {
                    o._tweenArray[tid] = t;
                    (new(QZFL.cssTransfrom)(elem, fprop, opts)).firecss();
                } : function() {
                    o._tweenArray[tid] = t;
                };
                t.onChange = o.mode[1] != "css3" ?
                function(p) {
                    o.drawStyle(fprop, p, elem);
                    opts.change(p);
                } : function(p) {
                    opts.change(p);
                };
                t.onEnd = function() {
                    if (o.mode[1] != "css3") {
                        opts.complete();
                    }
                    delete o._tweenArray[elem._tid];
                };
                t.start();
            }
        },
        show: function(elem, duration, cb) {
            var d = QZFL.dom;
            elem = d.get(elem);
            cb = cb || QZFL.emptyFn;
            QZFL.effect.run(elem, {
                opacity: 1
            }, {
                duration: duration || 1000,
                complete: cb,
                start: function() {
                    d.setStyle(elem, "opacity", 0);
                    d.setStyle(elem, "display", "");
                }
            });
        },
        hide: function(elem, duration, cb) {
            var d = QZFL.dom;
            elem = d.get(elem);
            cb = cb || QZFL.emptyFn;
            QZFL.effect.run(elem, {
                opacity: 0
            }, {
                duration: duration || 1000,
                complete: function() {
                    d.setStyle(elem, "display", "none");
                    d.setStyle(elem, "opacity", 1);
                    cb();
                }
            });
        },
        getPercent: function(elem) {
            var elem = QZFL.dom.get(elem),
                tid = elem._tid,
                t = QZFL.effect._tweenArray[tid];
            return t.getPercent();
        },
        stop: function(elem) {
            var es = QZFL.effect,
                webkit = es.mode[1] == "css3",
                elem = QZFL.dom.get(elem),
                pps, styleText = [];
            if (webkit) {
                var o = elem._transition || {},
                    uid = (elem._transition || {})._uid,
                    cText;
                cText = QZFL.cssTransfrom._cssText[uid];
                pps = cText.property;
                for (var i = 0; i < pps.length; i++) {
                    styleText.push(pps[i] + (":" + QZFL.dom.getStyle(elem, pps[i])));
                }
                styleText.length && (elem.style.cssText = cText.style + (";" + styleText.join(";")));
                elem.removeEventListener(o.TRANSITION.event, elem._transitionCb, false);
                elem._transitionCb = null;
            } else {
                var tid = elem._tid,
                    t = es._tweenArray[tid];
                t && t.stop();
            }
        },
        drawStyle: function(prop, p, elem) {
            p *= 0.01;
            QZFL.object.each(prop, function(f, pname) {
                var s = f.start,
                    e = f.end,
                    u = f.unit;
                v = e >= s ? (e - s) * p + s : s - (s - e) * p;
                QZFL.dom.setStyle(elem, pname, v + u);
            });
        },
        _tweenArray: {},
        _uniqueID: 0,
        _opt: function(opts) {
            var opt = opts,
                o = QZFL.effect;
            opt.duration = opts.duration || 500;
            opt.easing = o.mode[1] == "css3" ? opts.easing || false : false;
            opt.complete = opts.complete || QZFL.emptyFn;
            opt.interval = opts.interval || 25;
            opt.start = opts.start || QZFL.emptyFn;
            opt.change = opts.change || QZFL.emptyFn;
            return opt;
        },
        _prop: function(prop, elem) {
            var fprop = {},
                es = QZFL.effect,
                webkit = es.mode[1] == "css3",
                endCSSMap = {};
            QZFL.object.each(prop, function(val, pname) {
                pname = QZFL.string.camelCase(pname);
                if (QZFL.object.getType(val) == "object") {
                    var f = es._cssValue(elem, val.value, pname);
                    endCSSMap[pname] = val.value = f.end + (f.unit ? f.unit : 0);
                    if (webkit) {
                        fprop[pname] = val;
                    } else {
                        fprop[pname] = f;
                    }
                } else {
                    var d = es._cssValue(elem, val, pname),
                        tmp;
                    endCSSMap[pname] = tmp = d.end + (d.unit ? d.unit : 0);
                    if (webkit) {
                        d = tmp;
                    }
                    fprop[pname] = d;
                }
            });
            return [fprop, endCSSMap];
        },
        _cssValue: function(elem, val, name) {
            var fnum = /^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,
                fprop = {},
                parts = fnum.exec(val + ""),
                o = QZFL.effect,
                start = o._cur(elem, name);
            if (parts) {
                var end = parseFloat(parts[2]),
                    unit = parts[3] || (o._cssNumber[name] ? "" : "px");
                if (unit !== "px") {
                    QZFL.dom.setStyle(elem, name, (end || 1) + unit);
                    start = (end || 1) / o._cur(elem, name) * start;
                    QZFL.dom.setStyle(elem, name, start + unit);
                }
                if (parts[1]) {
                    end = (parts[1] === "-=" ? -1 : 1) * end + start;
                }
                fprop = {
                    start: start,
                    end: end,
                    unit: unit
                };
            } else {
                fprop = {
                    start: start,
                    end: val,
                    unit: ""
                };
            }
            return fprop;
        },
        _cssNumber: {
            zIndex: true,
            fontWeight: true,
            opacity: true,
            zoom: true,
            lineHeight: true
        },
        _cur: function(elem, p) {
            var parsed, r = QZFL.dom.getStyle(elem, p);
            if (elem != null && elem[p] != null && (!elem.style || elem.style[p] == null)) {
                return elem[p];
            }
            return isNaN(parsed = parseFloat(r)) ? !r || r === "auto" ? 0 : r : parsed;
        }
    };
    QZFL.tweenMaker = function(startvalue, endvalue, duration, interval, opt) {
        var o = this;
        o.duration = duration || 500;
        o.interval = interval || 25;
        o.startValue = startvalue;
        o.endValue = endvalue;
        o.count = Math.ceil(o.duration / o.interval);
        o.elapse = 0;
        o.opt = opt || {};
        o.functor = o.opt.functor ||
        function(time, startValue, changeValue, duration) {
            return changeValue * time / duration + startValue;
        };
        o.onStart = QZFL.emptyFn;
        o.onChange = QZFL.emptyFn;
        o.onEnd = QZFL.emptyFn;
        o.playing = false;
        o.changeValue = o.endValue - o.startValue;
        o.currentValue = 0;
    };
    QZFL.tweenMaker.prototype = {
        start: function() {
            var o = this;
            o.playing = true;
            o._startTime = (new Date).getTime();
            o.onStart.apply(o);
            o._runTimer();
        },
        _runTimer: function() {
            var o = this;
            if (o.playing) {
                o._playTimer((new Date).getTime() - o._startTime);
                setTimeout(function() {
                    o._runTimer.apply(o, []);
                }, o.interval);
            }
        },
        _playTimer: function(time) {
            var _end = false,
                o = this;
            if (time > o.duration) {
                time = o.duration;
                _end = true;
            }
            o.currentValue = o.functor(time, o.startValue, o.changeValue, o.duration);
            o.onChange.apply(o, [o.getPercent()]);
            if (_end) {
                o.playing = false;
                o.onEnd.apply(this);
                if (window.CollectGarbage) {
                    CollectGarbage();
                }
            }
        },
        stop: function() {
            this.playing = false;
        },
        getPercent: function() {
            return (this.currentValue - this.startValue) / this.changeValue * 100;
        }
    };
    QZFL.cssTransfrom = function(elem, prop, opts) {
        var o = this;
        o._elem = elem;
        o._uid = "uid_" + QZFL.now();
        if (!o._running && prop) {
            o._conf = prop;
            o._duration = "duration" in opts ? opts.duration / 1000 : 0.5;
            o._delay = "delay" in opts ? opts.delay : 0;
            o._easing = opts.easing || "ease";
            o._count = 0;
            o._running = false;
            o._callback = QZFL.lang.isFunction(opts.complete) ? opts.complete : QZFL.emptyFn;
            o._change = opts.change;
            elem._transition = o;
        }
        return o;
    };
    QZFL.cssTransfrom._cssText = {};
    QZFL.cssTransfrom._attrs = {};
    QZFL.cssTransfrom._hasEnd = {};
    QZFL.cssTransfrom.prototype = {
        init: function() {
            var map = [
                ["webkit", "-webkit-transition", "WebkitTransition", "webkitTransitionEnd", "WebkitTransform"],
                ["firefox", "-moz-transition", "MozTransition", "transitionend", "MozTransform"],
                ["opera", "-o-transition", "OTransition", "oTransitionEnd", "OTransform"],
                ["ie", "-ms-transition", "msTransition", "MSTransitionEnd", "msTransform"]
            ],
                tiClassPrefix, tiStyleName, tiEvtName, tfStyleName, ua = QZFL.userAgent,
                proto;
            for (var i = 0, len = map.length; i < len; i++) {
                if (ua[map[i][0]]) {
                    tiClassPrefix = map[i][1];
                    tiStyleName = map[i][2];
                    tiEvtName = map[i][3];
                    tfStyleName = map[i][4];
                    break;
                }
            }
            proto = QZFL.cssTransfrom.prototype;
            proto.TRANSITION = {
                classPrefix: tiClassPrefix,
                event: tiEvtName,
                styleName: tiStyleName
            };
            proto.TRANSFORM = {
                styleName: tfStyleName
            };
        },
        firecss: function() {
            var o = this,
                elem = o._elem,
                uid = o._uid,
                conf = this._conf,
                getStyle = QZFL.dom.getStyle,
                ct = QZFL.cssTransfrom,
                attrs;
            var cssTextArray = [],
                delayKey, delayVal = [],
                pptVal = [],
                durationKey, durationVal = [],
                easingKey, easingVal = [],
                TRANSFORM, cPrefix, _cprop = "",
                cssText;
            if (!(this.TRANSITION && this.TRANSITION.classPrefix)) {
                this.init();
            }
            cPrefix = this.TRANSITION.classPrefix;
            delayKey = cPrefix + "-delay";
            this.pptKey = cPrefix + "-property";
            durationKey = cPrefix + "-duration";
            easingKey = cPrefix + "-timing-function";
            TRANSFORM = this.TRANSFORM.styleName;
            if (conf.transform && !conf[TRANSFORM]) {
                conf[TRANSFORM] = conf.transform;
                delete conf.transform;
            }
            for (var attr in conf) {
                if (conf.hasOwnProperty(attr)) {
                    o._addProperty(attr, conf[attr]);
                    if (elem.style[attr] === "") {
                        QZFL.dom.setStyle(elem, attr, getStyle(elem, attr));
                    }
                }
                _cprop = attr;
            }
            pptVal.push(getStyle(elem, this.pptKey));
            if (pptVal[0] && pptVal[0] !== "all") {
                durationVal.push(getStyle(elem, durationKey));
                easingVal.push(getStyle(elem, easingKey));
                delayVal.push(getStyle(elem, delayKey));
            } else {
                pptVal.pop();
            }
            attrs = ct._attrs[uid];
            for (var name in attrs) {
                hyphy = o._toHyphen(name);
                attr = attrs[name];
                if (attrs.hasOwnProperty(name) && attr.transition === o) {
                    if (name in elem.style) {
                        durationVal.push(parseFloat(attr.duration) + "s");
                        delayVal.push(parseFloat(attr.delay) + "s");
                        easingVal.push(attr.easing);
                        pptVal.push(hyphy);
                        cssTextArray.push(hyphy + (": " + attr.value));
                    } else {
                        o._removeProperty(name);
                    }
                }
            }
            if (!ct._hasEnd[uid]) {
                elem.addEventListener(this.TRANSITION.event, elem._transitionCb = function(e) {
                    o._onTransfromEnd(e, uid);
                }, false);
                ct._hasEnd[uid] = true;
            }
            cssText = cssTextArray.join(";");
            ct._cssText[uid] = {};
            ct._cssText[uid].property = pptVal;
            ct._cssText[uid].style = elem.style.cssText;
            elem.style.cssText += ["", this.pptKey + (":" + pptVal.join(",")), durationKey + (":" + durationVal.join(",")), easingKey + (":" + easingVal.join(",")), delayKey + (":" + delayVal.join(",")), cssText, ""].join(";");
        },
        _toHyphen: function(prop) {
            prop = prop.replace(/([A-Z]?)([a-z]+)([A-Z]?)/g, function(m0, m1, m2, m3) {
                var str = "";
                m1 && (str += "-" + m1.toLowerCase());
                str += m2;
                m3 && (str += "-" + m3.toLowerCase());
                return str;
            });
            return prop;
        },
        _endTransfrom: function(sname) {
            var QF = QZFL,
                elem = this._elem,
                pptKey = this.pptKey,
                value = QF.dom.getStyle(elem, pptKey);
            if (!value) {
                pptKey = QF.string.camelCase(pptKey);
                value = elem.style[pptKey];
            }
            if (typeof value === "string") {
                value = value.replace(new RegExp("(?:^|,\\s)" + sname + ",?"), ",");
                value = value.replace(/^,|,$/, "");
                elem.style[this.TRANSITION.styleName] = value || null;
            }
        },
        _onTransfromEnd: function(e, uid) {
            var event = e,
                elem = this._elem,
                pname = QZFL.string.camelCase(event.propertyName),
                elapsed = event.elapsedTime,
                attrs = QZFL.cssTransfrom._attrs[uid],
                attr = attrs && attrs[pname],
                tran = attr ? attr.transition : null,
                _cprop = "";
            if (tran) {
                for (var attr in this._conf) {
                    _cprop = attr;
                }
                tran._removeProperty(pname);
                tran._endTransfrom(pname);
                if (tran._count <= 0) {
                    tran._end(elapsed);
                }
            }
        },
        _addProperty: function(prop, conf) {
            var o = this,
                node = this._elem,
                uid = o._uid,
                attrs = QZFL.cssTransfrom._attrs[uid],
                computed, compareVal, dur, attr, val;
            if (!attrs) {
                attrs = QZFL.cssTransfrom._attrs[uid] = {};
            }
            attr = attrs[prop];
            if (conf && conf.value !== undefined) {
                val = conf.value;
            } else if (conf !== undefined) {
                val = conf;
                conf = {};
            }
            if (attr && attr.transition) {
                if (attr.transition !== o) {
                    attr.transition._count--;
                }
            }
            o._count++;
            dur = (typeof conf.duration != "undefined" ? conf.duration : o._duration) || 0.0001;
            attrs[prop] = {
                value: val,
                duration: dur,
                delay: typeof conf.delay != "undefined" ? conf.delay : o._delay,
                easing: conf.easing || o._easing,
                transition: o
            };
            computed = QZFL.dom.getStyle(node, prop);
            compareVal = typeof val === "string" ? computed : parseFloat(computed);
            if (compareVal === val) {
                setTimeout(function() {
                    o._onTransfromEnd.call(o, {
                        propertyName: prop,
                        elapsedTime: dur
                    }, uid);
                }, dur * 1000);
            }
        },
        _removeProperty: function(prop) {
            var o = this,
                attrs = QZFL.cssTransfrom._attrs[o._uid];
            if (attrs && attrs[prop]) {
                delete attrs[prop];
                o._count--;
            }
        },
        _end: function() {
            var o = this,
                elem = o._elem,
                callback = o._callback;
            o._running = false;
            o._callback = null;
            if (elem && callback) {
                setTimeout(function() {
                    callback();
                }, 1);
            }
        }
    };
    QZFL.now = function() {
        return (new Date).getTime();
    };
    QZFL.string = QZFL.string || {};
    QZFL.string.camelCase = function(s) {
        var r = /-([a-z])/gi;
        return s.replace(r, function(all, letter) {
            return letter.toUpperCase();
        });
    };
    QZFL.Tween = function(elem, prop, func, startValue, finishValue, duration) {
        var o = this;
        o.elem = QZFL.dom.get(elem);
        o.prop = {};
        o.sv = startValue;
        o.fv = finishValue;
        o.pname = prop;
        o.prop[prop] = parseInt(finishValue);
        o.opts = {
            duration: duration * 1000
        };
        o.onMotionStart = QZFL.emptyFn;
        o.onMotionChange = null;
        o.onMotionStop = QZFL.emptyFn;
        o.css = true;
    };
    QZFL.Tween.prototype.start = function() {
        var o = this,
            s = parseInt(o.sv),
            e = parseInt(o.fv);
        var set = QZFL.dom.setStyle(o.elem, o.pname, o.sv);
        if (set) {
            o.opts.complete = o.onMotionStop;
            o.opts.change = function(p) {
                p *= 0.01;
                var v = e >= s ? (e - s) * p + s : s - (s - e) * p;
                o.onMotionChange && o.onMotionChange.apply(o, [o.elem, o.pname, v]);
            };
            o.onMotionStart.apply(o);
            QZFL.effect.run(o.elem, o.prop, o.opts);
        } else {
            o.css = false;
            var t = new(QZFL.tweenMaker)(s, e, o.opts.duration, o.opts.interval || 15);
            t.onStart = function() {
                o.t = t;
                o.onMotionStart.apply(o);
            };
            t.onChange = function(p) {
                p *= 0.01;
                var v = e >= s ? (e - s) * p + s : s - (s - e) * p;
                o.onMotionChange && o.onMotionChange.apply(o, [o.elem, o.pname, v]);
            };
            t.onEnd = function() {
                o.onMotionStop.apply(o);
            };
            t.start();
        }
    };
    QZFL.Tween.prototype.getPercent = function() {
        return this.css ? QZFL.effect.getPercent(this.elem) : this.t.getPercent();
    };
    QZFL.Tween.prototype.stop = function() {
        QZFL.effect.stop(this.elem);
    };
    QZFL.transitions = {};
    (function() {
        var _easeAnimate = function(_t, a1, a2, ease) {
                var _s = QZFL.dom["get" + _t](this),
                    _reset = typeof a1 != "number" && typeof a2 != "number";
                if (_t == "Size" && _reset) {
                    QZFL.dom["set" + _t](this, a1, a2);
                    var _s1 = QZFL.dom["get" + _t](this);
                    a1 = _s1[0];
                    a2 = _s1[1];
                }
                var _v1 = _s[0] - a1;
                var _v2 = _s[1] - a2;
                var n = new(QZFL.Tween)(this, "_p", QZFL.transitions[ease] || QZFL.transitions.regularEaseOut, 0, 100, 0.5);
                n.onMotionChange = QZFL.event.bind(this, function() {
                    var _p = arguments[2];
                    QZFL.dom["set" + _t](this, typeof a1 != "number" ? _s[0] : _s[0] - _p / 100 * _v1, typeof a2 != "number" ? _s[1] : _s[1] - _p / 100 * _v2);
                });
                if (_t == "Size" && _reset) {
                    n.onMotionStop = QZFL.event.bind(this, function() {
                        QZFL.dom["set" + _t](this);
                    });
                }
                n.start();
            };
        var _easeShowAnimate = function(_t, ease) {
                var n = new(QZFL.Tween)(this, "opacity", QZFL.transitions[ease] || QZFL.transitions.regularEaseOut, _t ? 0 : 1, _t ? 1 : 0, 0.5);
                n[_t ? "onMotionStart" : "onMotionStop"] = QZFL.event.bind(this, function() {
                    this.style.display = _t ? "" : "none";
                    QZFL.dom.setStyle(this, "opacity", 1);
                });
                n.start();
            };
        var _easeScroll = function(top, left, ease) {
                if (this.nodeType == 9) {
                    var _stl = [QZFL.dom.getScrollTop(this), QZFL.dom.getScrollLeft(this)];
                } else {
                    var _stl = [this.scrollTop, this.scrollLeft];
                }
                var _st = _stl[0] - top;
                var _sl = _stl[1] - left;
                var n = new(QZFL.Tween)(this, "_p", QZFL.transitions[ease] || QZFL.transitions.regularEaseOut, 0, 100, 0.5);
                n.onMotionChange = QZFL.event.bind(this, function() {
                    var _p = arguments[2],
                        _t = _stl[0] - _p / 100 * _st,
                        _l = _stl[1] - _p / 100 * _sl;
                    if (this.nodeType == 9) {
                        QZFL.dom.setScrollTop(_t, this);
                        QZFL.dom.setScrollLeft(_l, this);
                    } else {
                        this.scrollTop = _t;
                        this.scrollLeft = _l;
                    }
                });
                n.start();
            };
        QZFL.element.extendFn({
            tween: function() {},
            effectShow: function(effect, ease) {
                this.each(function(el) {
                    _easeShowAnimate.apply(el, [true, ease]);
                });
                if (effect == "resize") {
                    this.each(function(el) {
                        _easeAnimate.apply(el, ["Size", null, null, ease]);
                    });
                }
            },
            effectHide: function(effect, ease) {
                this.each(function(el) {
                    _easeShowAnimate.apply(el, [false, ease]);
                });
                if (effect == "resize") {
                    this.each(function(el) {
                        _easeAnimate.apply(el, ["Size", 0, 0, ease]);
                    });
                }
            },
            effectResize: function(width, height, ease) {
                this.each(function(el) {
                    _easeAnimate.apply(el, ["Size", width, height, ease]);
                });
            },
            effectMove: function(x, y, ease) {
                this.each(function(el) {
                    _easeAnimate.apply(el, ["XY", x, y, ease]);
                });
            },
            effectScroll: function(top, left, ease) {
                this.each(function(el) {
                    _easeScroll.apply(el, [top, left, ease]);
                });
            }
        });
    }());
    QZFL.XHR = function(actionURL, cname, method, data, isAsync, nocache) {
        var _s = QZFL.XHR,
            prot, n;
        cname = cname || "_xhrInstence_" + _s.counter;
        if (!(_s.instance[cname] instanceof QZFL.XHR)) {
            _s.instance[cname] = this;
            _s.counter++;
        }
        prot = _s.instance[cname];
        prot._name = cname;
        prot._nc = !! nocache;
        prot._method = (typeof method == "string" ? method : "").toUpperCase() != "GET" ? "POST" : "GET";
        if (!(prot._uriObj = new(QZFL.util.URI)(actionURL))) {
            throw new Error("URL not valid!");
        }
        prot._uri = actionURL;
        prot._data = data;
        this.onSuccess = QZFL.emptyFn;
        this.onError = QZFL.emptyFn;
        this.charset = "gb2312";
        this.proxyPath = "";
        return prot;
    };
    QZFL.XHR.instance = {};
    QZFL.XHR.counter = 0;
    QZFL.XHR.path = "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/expand/xhr_base.js?max_age=864001", QZFL.XHR.prototype.send = function() {
        var _s = QZFL.XHR,
            fn;
        if (this._method == "POST" && !this._data) {
            return false;
        }
        if (typeof this._data == "object") {
            this._data = _s.genHttpParamString(this._data, this.charset);
        }
        if (this._method == "GET" && this._data) {
            this._uri += (this._uri.indexOf("?") < 0 ? "?" : "&") + this._data;
        }
        fn = location.host && this._uriObj.host != location.host ? "_DoXsend" : "_DoSend";
        if (_s[fn]) {
            return _s[fn](this);
        } else {
            QZFL.imports(_s.path, function(th) {
                return function() {
                    _s[fn](th);
                };
            }(this));
            return true;
        }
    };
    QZFL.XHR.genHttpParamString = function(o, cs) {
        cs = (cs || "gb2312").toLowerCase();
        var r = [];
        for (var i in o) {
            r.push(i + ("=" + (cs == "utf-8" ? encodeURIComponent(o[i]) : QZFL.string.URIencode(o[i]))));
        }
        return r.join("&");
    };
    QZFL.cookie = {
        set: function(name, value, domain, path, hour) {
            if (hour) {
                var expire = new Date;
                expire.setTime(expire.getTime() + 3600000 * hour);
            }
            document.cookie = name + ("=" + value + "; " + (hour ? "expires=" + expire.toGMTString() + "; " : "") + (path ? "path=" + path + "; " : "path=/; ") + (domain ? "domain=" + domain + ";" : "domain=" + QZFL.config.domainPrefix + ";"));
            return true;
        },
        get: function(name) {
            var r = new RegExp("(?:^|;+|\\s+)" + name + "=([^;]*)"),
                m = document.cookie.match(r);
            return !m ? "" : m[1];
        },
        del: function(name, domain, path) {
            document.cookie = name + ("=; expires=Mon, 26 Jul 1997 05:00:00 GMT; " + (path ? "path=" + path + "; " : "path=/; ") + (domain ? "domain=" + domain + ";" : "domain=" + QZFL.config.domainPrefix + ";"));
        }
    };
    QZFL.debug = {
        errorLogs: [],
        startDebug: function() {
            window.onerror = function(msg, url, line) {
                var urls = (url || "").replace(/\\/g, "/").split("/");
                QZFL.console.print(msg + ("<br/>" + urls[urls.length - 1] + " (line:" + line + ")"), 1);
                QZFL.debug.errorLogs.push(msg);
                return false;
            };
        },
        stopDebug: function() {
            window.onerror = null;
        },
        clearErrorLog: function() {
            this.errorLogs = [];
        },
        showLog: function() {
            var o = ENV.get("debug_out");
            if ( !! o) {
                o.innerHTML = QZFL.string.nl2br(QZFL.string.escHTML(this.errorLogs.join("\n")));
            }
        },
        getLogString: function() {
            return this.errorLogs.join("\n");
        }
    };
    QZFL.runTime = function() {
        function isDebugMode() {
            return QZFL.config.debugLevel > 1;
        }


        function log(msg, type) {
            var info;
            if (isDebugMode()) {
                info = msg + ("\n=STACK=\n" + stack());
            } else {
                if (type == "error") {
                    info = msg;
                } else if (type == "warn") {}
            }
            QZFL.debug.errorLogs.push(info);
        }


        function warn(sf, args) {
            log(QZFL.string.write.apply(QZFL.string, arguments), "warn");
        }


        function error(sf, args) {
            log(QZFL.string.write.apply(QZFL.string, arguments), "error");
        }


        function stack(e, a) {
            function genTrace(ee, aa) {
                if (ee.stack) {
                    return ee.stack;
                } else if (ee.message.indexOf("\nBacktrace:\n") >= 0) {
                    var cnt = 0;
                    return ee.message.split("\nBacktrace:\n")[1].replace(/\s*\n\s*/g, function() {
                        cnt++;
                        return cnt % 2 == 0 ? "\n" : " @ ";
                    });
                } else {
                    var entry = aa.callee == stack ? aa.callee.caller : aa.callee;
                    var eas = entry.arguments;
                    var r = [];
                    for (var i = 0, len = eas.length; i < len; i++) {
                        r.push(typeof eas[i] == "undefined" ? "<u>" : eas[i] === null ? "<n>" : eas[i]);
                    }
                    var fnp = /function\s+([^\s\(]+)\(/;
                    var fname = fnp.test(entry.toString()) ? fnp.exec(entry.toString())[1] : "<ANON>";
                    return (fname + ("(" + r.join() + ");")).replace(/\n/g, "");
                }
            }

            var res;
            if (e instanceof Error && typeof arguments == "object" && !! arguments.callee) {
                res = genTrace(e, a);
            } else {
                try {
                    ({}.sds());
                } catch (err) {
                    res = genTrace(err, arguments);
                }
            }
            return res.replace(/\n/g, " <= ");
        }

        return {
            stack: stack,
            warn: warn,
            error: error,
            isDebugMode: isDebugMode
        };
    }();
    QZFL.JsLoader = function() {
        this.onload = QZFL.emptyFn;
        this.onerror = QZFL.emptyFn;
    };
    QZFL.JsLoader.prototype.load = function(src, doc, opt) {
        var opts = {},
            t = typeof opt,
            o = this;
        if (t == "string") {
            opts.charset = opt;
        } else if (t == "object") {
            opts = opt;
        }
        opts.charset = opts.charset || "gb2312";
        doc = doc || document;
        QZFL.userAgent.ie ? setTimeout(function() {
            o._load(src, doc, opts);
        }, 0) : o._load(src, doc, opts);
    };
    QZFL.JsLoader.prototype._load = function(src, doc, opts) {
        var _ie = QZFL.userAgent.ie,
            o = this,
            tmp, k, _rm = QZFL.dom.removeElement,
            _ae = QZFL.event.addEvent,
            _new = false,
            _js;
        _js = doc.createElement("script");
        _ae(_js, _ie && (typeof doc.documentMode == "undefined" || doc.documentMode < 9) ? "readystatechange" : "load", function() {
            if ("_loaded_complete_undefined_".indexOf(this.readyState) > -1) {
                _rm(this);
                o.onload();
                _js = _ae = o = null;
            }
        });
        _ae(_js, "error", function() {
            _rm(this);
            o.onerror();
            _js = _ae = o = null;
        });
        for (k in opts) {
            if (typeof(tmp = opts[k]) == "string" && k.toLowerCase() != "src") {
                _js.setAttribute(k, tmp);
            }
        }
        _js.src = src;
        doc.getElementsByTagName("head")[0].appendChild(_js);
    };
    QZFL["jsLoader"] = QZFL.JsLoader;
    QZFL.imports = function(sources, succCallback, opts) {
        var errCallback, url, len, countId, counter, scb, ecb, i, isFn = QZFL.lang.isFunction;
        opts = QZFL.lang.isString(opts) ? {
            charset: opts
        } : opts || {};
        opts.charset = opts.charset || "utf-8";
        var errCallback = isFn(opts.errCallback) ? opts.errCallback : QZFL.emptyFn;
        succCallback = isFn(succCallback) ? succCallback : QZFL.emptyFn;
        if (typeof sources == "string") {
            url = QZFL.imports.getUrl(sources);
            QZFL.imports.load(url, succCallback, errCallback, opts);
        } else if (QZFL.lang.isArray(sources)) {
            countId = QZFL.imports.getCountId();
            len = QZFL.imports.counters[countId] = sources.length;
            counter = 0;
            scb = function() {
                counter++;
                if (counter == len) {
                    if (isFn(succCallback)) {
                        succCallback();
                    }
                }
                delete QZFL.imports.counters[countId];
            };
            ecb = function() {
                if (isFn(errCallback)) {
                    errCallback();
                }
                QZFL.imports.counters[countId];
            };
            for (i = 0; i < len; i++) {
                url = QZFL.imports.getUrl(sources[i]);
                QZFL.imports.load(url, scb, ecb, opts);
            }
        }
    };
    QZFL.imports.getUrl = function(url) {
        return QZFL.string.isURL(url) ? url : QZFL.imports._indirectUrlRE.test(url) ? url : QZFL.config.staticServer + url + (".js");
    };
    QZFL.imports.urlCache = {};
    QZFL.imports.counters = {};
    QZFL.imports.count = 0;
    QZFL.imports._indirectUrlRE = /^(?:\.{1,2})?\//;
    QZFL.imports.getCountId = function() {
        return "imports" + QZFL.imports.count++;
    };
    QZFL.imports.load = function(url, scb, ecb, opt) {
        if (QZFL.imports.urlCache[url] === true) {
            setTimeout(function() {
                if (QZFL.lang.isFunction(scb)) {
                    scb();
                }
            }, 0);
            return;
        }
        if (!QZFL.imports.urlCache[url]) {
            QZFL.imports.urlCache[url] = [];
            var loader = new(QZFL.JsLoader);
            loader.onload = function() {
                QZFL.imports.execFnQueue(QZFL.imports.urlCache[url], 1);
                QZFL.imports.urlCache[url] = true;
            };
            loader.onerror = function() {
                QZFL.imports.execFnQueue(QZFL.imports.urlCache[url], 0);
                QZFL.imports.urlCache[url] = null;
                delete QZFL.imports.urlCache[url];
            };
            loader.load(url, null, opt);
        }
        QZFL.imports.urlCache[url].push([ecb, scb]);
    };
    QZFL.imports.execFnQueue = function(arFn, isSuccess) {
        var f;
        while (arFn.length) {
            f = arFn.shift()[isSuccess];
            if (QZFL.lang.isFunction(f)) {
                setTimeout(function(fn) {
                    return fn;
                }(f), 0);
            }
        }
    };
    QZFL.FormSender = function(actionURL, method, data, charset) {
        this.name = "_fpInstence_" + QZFL.FormSender.counter;
        QZFL.FormSender.instance[this.name] = this;
        QZFL.FormSender.counter++;
        var c = String(charset).toLowerCase();
        if (typeof actionURL == "object" && actionURL.nodeType == 1 && actionURL.tagName == "FORM") {
            this.instanceForm = actionURL;
        } else {
            this.method = method || "POST";
            this.uri = actionURL;
            this.charset = c == "utf-8" || c == "gbk" || c == "gb2312" || c == "gb18030" ? c : "gb2312";
            this.data = typeof data == "object" || typeof data == "string" ? data : null;
            this.proxyURL = this.charset == "utf-8" ? QZFL.config.FSHelperPage.replace(/_gbk/, "_utf8") : QZFL.config.FSHelperPage;
        }
        this._sender = null;
        this.onSuccess = QZFL.emptyFn;
        this.onError = QZFL.emptyFn;
        this.startTime = +new Date;
    };
    QZFL.FormSender.instance = {};
    QZFL.FormSender.counter = 0;
    QZFL.FormSender._errCodeMap = {
        999: {
            msg: "Connection or Server error"
        }
    };
    QZFL.FormSender.pluginsPool = {
        formHandler: [],
        onErrorHandler: []
    };
    QZFL.FormSender._pluginsRunner = function(pType, data) {
        var _s = QZFL.FormSender,
            l = _s.pluginsPool[pType],
            t = data,
            len;
        if (l && (len = l.length)) {
            for (var i = 0; i < len; ++i) {
                if (typeof l[i] == "function") {
                    t = l[i](t);
                }
            }
        }
        return t;
    };
    QZFL.FormSender._clear = function(o) {
        o._sender = o._sender.callback = o._sender.errorCallback = null;
        if (QZFL.userAgent.safari || QZFL.userAgent.opera) {
            setTimeout("QZFL.dom.removeElement(document.getElementById(\"_fp_frm_" + o.name + "\"))", 50);
        } else {
            QZFL.dom.removeElement(document.getElementById("_fp_frm_" + o.name));
        }
        o.endTime = +new Date;
        QZFL.FormSender._pluginsRunner("onRequestComplete", o);
        o.instanceForm = null;
    };
    QZFL.FormSender.prototype.send = function() {
        if (this._sender === null || this._sender === void 0) {
            var timer, sender = document.createElement("iframe");
            sender.id = sender.name = "_fp_frm_" + this.name;
            sender.style.cssText = "width:0;height:0;border-width:0;display:none;";
            sender.callback = function(th) {
                return function() {
                    th.resultArgs = arguments;
                    th.msg = "ok";
                    QZFL.FormSender._clear(th);
                    th.onSuccess.apply(th, arguments);
                };
            }(this);
            var errcallback = function(th) {
                    return function() {
                        var f = function() {
                                th.resultArgs = arguments;
                                th.msg = QZFL.FormSender._errCodeMap[999].msg;
                                QZFL.FormSender._pluginsRunner("onErrorHandler", th);
                                QZFL.FormSender._clear(th);
                                th.onError();
                            };
                        if (typeof th.resultArgs == "object") {
                            return;
                        }
                        if (this.readyState == "complete" || typeof this.readyState == "undefined") {
                            if ("sended".indexOf(this.state) > -1) {
                                this.onload = this.onreadystatechange = null;
                                f();
                            }
                        }
                    };
                }(this);
            document.body.appendChild(sender);
            sender.errorCallback = errcallback;
            sender.onload = sender.onreadystatechange = errcallback;
            sender.state = "initing";
            this._sender = sender;
        }
        if (!this.instanceForm) {
            var t = this,
                ie = QZFL.userAgent.ie,
                ifrurl, ifrHTML, data = t.data;
            ifrHTML = "<!DOCTYPE html><html lang=\"zh-cn\"><head><meta http-equiv=\"content-type\" content=\"text/html; charset=" + t.charset + "\" /><meta charset=\"" + t.charset + "\" />";
            if (ie) {
                ifrurl = "javascript:document.open();document.domain=\"" + document.domain + "\";var me=parent.QZFL.FormSender.instance[\"" + t.name + "\"];document.write(me.ifrHTML);document.close();";
            }
            ifrHTML = ifrHTML + ("<script type=\"text/javascript\">" + (ie && "document.charset=\"" + t.charset + "\"" || "") + ";document.domain=\"" + document.domain + "\";frameElement.submited=void(0);frameElement.state=\"sending\";</script></head><body>");
            ifrHTML = ifrHTML + ("<form action=\"" + t.uri + (t.uri.indexOf("?") > -1 ? "&" : "?") + "g_tk=" + QZFL.pluginsDefine.getACSRFToken() + "\" accept-charset=\"" + t.charset + "\" id=\"p\" enctype=\"application/x-www-form-urlencoded;charset=" + t.charset + "\" method=\"post\">");
            ifrHTML = ifrHTML + "<input type=\"hidden\" name=\"qzreferrer\" id=\"qzreferrer\" />";
            ifrHTML = ifrHTML + ("</form><script type=\"text/javascript\">var me=parent.QZFL.FormSender.instance[\"" + t.name + "\"],doc=document,f=doc.getElementById(\"p\"),d=me.jsonData,fg=doc.createDocumentFragment();if(typeof d==\"string\"){var l=d.split(\"&\");for(var i=0;i<l.length;i++){var kv=l[i].split(\"=\");var ipt=doc.createElement(\"input\");ipt.type=\"hidden\";ipt.name=kv[0];ipt.value=decodeURIComponent(kv[1]);fg.appendChild(ipt);}}else{for(var i in d){var ipt=doc.createElement(\"input\");ipt.type=\"hidden\";ipt.name=i;ipt.value=d[i];fg.appendChild(ipt);}}f.appendChild(fg);doc.getElementById(\"qzreferrer\").value=parent.location.href;f.submit();frameElement.submited=true;frameElement.state=\"sended\";</script></body></html>");
            t.ifrHTML = ifrHTML;
            t.ifrurl = ifrurl;
            t.jsonData = data;
            ie ? setTimeout(function(th) {
                return function() {
                    th._sender.state = "inited";
                    th._sender.src = th.ifrurl;
                };
            }(t), 10) : (sender.src = "javascript:;");
            if (!ie) {
                var d = sender.contentDocument || sender.contentWindow.document;
                if (d) {
                    d.open();
                    d.write(t.ifrHTML);
                    d.close();
                }
            }
        } else {
            this.instanceForm.target = sender.name = sender.id;
            this._sender.submited = true;
            this.instanceForm.submit();
        }
        return true;
    };
    QZFL.FormSender.prototype.destroy = function() {
        var n = this.name;
        delete QZFL.FormSender.instance[n]._sender;
        QZFL.FormSender.instance[n]._sender = null;
        delete QZFL.FormSender.instance[n];
        QZFL.FormSender.counter--;
        return null;
    };
    QZFL.JSONGetter = function(actionURL, cname, data, charset, junctionMode) {
        if (QZFL.object.getType(cname) != "string") {
            cname = "_jsonInstence_" + (QZFL.JSONGetter.counter + 1);
        }
        var prot = QZFL.JSONGetter.instance[cname];
        if (prot instanceof QZFL.JSONGetter) {} else {
            QZFL.JSONGetter.instance[cname] = prot = this;
            QZFL.JSONGetter.counter++;
            prot._name = cname;
            prot._sender = null;
            prot._timer = null;
            this.startTime = +new Date;
            this.onSuccess = QZFL.emptyFn;
            this.onError = QZFL.emptyFn;
            this.onTimeout = QZFL.emptyFn;
            this.timeout = 5000;
            this.clear = QZFL.emptyFn;
            this._baseClear = function() {
                this._waiting = false;
                this._squeue = [];
                this._equeue = [];
                this.onSuccess = this.onError = QZFL.emptyFn;
                this.clear = null;
            };
        }
        prot._uri = actionURL;
        prot._data = data && (QZFL.object.getType(data) == "object" || QZFL.object.getType(data) == "string") ? data : null;
        prot._charset = QZFL.object.getType(charset) != "string" ? QZFL.config.defaultDataCharacterSet : charset;
        prot._jMode = !! junctionMode;
        return prot;
    };
    QZFL.JSONGetter.instance = {};
    QZFL.JSONGetter.counter = 0;
    QZFL.JSONGetter._errCodeMap = {
        999: {
            msg: "Connection or Server error."
        },
        998: {
            msg: "Connection to Server timeout."
        }
    };
    QZFL.JSONGetter.genHttpParamString = function(o) {
        var r = [];
        for (var i in o) {
            r.push(i + ("=" + encodeURIComponent(o[i])));
        }
        return r.join("&");
    };
    QZFL.JSONGetter.prototype.addOnSuccess = function(f) {
        if (typeof f == "function") {
            if (this._squeue && this._squeue.push) {} else {
                this._squeue = [];
            }
            this._squeue.push(f);
        }
    };
    QZFL.JSONGetter._runFnQueue = function(q, resultArgs, th) {
        var f;
        if (q && q.length) {
            while (q.length > 0) {
                f = q.shift();
                if (typeof f == "function") {
                    f.apply(th ? th : null, resultArgs);
                }
            }
        }
        th.endTime = +new Date;
        th.resultArgs = resultArgs;
        QZFL.JSONGetter._pluginsRunner("onRequestComplete", th);
    };
    QZFL.JSONGetter.prototype.addOnError = function(f) {
        if (typeof f == "function") {
            if (this._equeue && this._equeue.push) {} else {
                this._equeue = [];
            }
            this._equeue.push(f);
        }
    };
    QZFL.JSONGetter.pluginsPool = {
        srcStringHandler: [],
        onErrorHandler: [],
        onRequestComplete: []
    };
    QZFL.JSONGetter._pluginsRunner = function(pType, data) {
        var _s = QZFL.JSONGetter,
            l = _s.pluginsPool[pType],
            t = data,
            len;
        if (l && (len = l.length)) {
            for (var i = 0; i < len; ++i) {
                if (typeof l[i] == "function") {
                    t = l[i](t);
                }
            }
        }
        return t;
    };
    QZFL.JSONGetter.prototype.send = function(callbackFnName) {
        if (this._waiting) {
            return;
        }
        var clear, cfn = QZFL.object.getType(callbackFnName) != "string" ? "callback" : callbackFnName,
            da = this._uri;
        if (this._data) {
            da += (da.indexOf("?") < 0 ? "?" : "&") + (typeof this._data == "object" ? QZFL.JSONGetter.genHttpParamString(this._data) : this._data);
        }
        da = QZFL.JSONGetter._pluginsRunner("srcStringHandler", da);
        if (this._jMode) {
            window[cfn] = this.onSuccess;
            var _sd = new(QZFL.JsLoader);
            _sd.onerror = this.onError;
            _sd.load(da, void 0, this._charset);
            return;
        }
        this._timer = setTimeout(function(th) {
            return function() {
                th._waiting = false;
                th.onTimeout();
            };
        }(this), this.timeout);
        if (QZFL.userAgent.ie && QZFL.userAgent.ie < 10 && !(QZFL.userAgent.beta && navigator.appVersion.indexOf("Trident/4.0") > -1)) {
            var df = document.createDocumentFragment(),
                sender = (QZFL.userAgent.ie > 8 ? document : df).createElement("script");
            sender.charset = this._charset;
            this._senderDoc = df;
            this._sender = sender;
            this.clear = clear = function(o) {
                clearTimeout(o._timer);
                if (o._sender) {
                    o._sender.onreadystatechange = null;
                }
                df.callback = df._Callback = df[cfn] = null;
                df = o._senderDoc = o._sender = null;
                o._baseClear();
            };
            df.callback = df._Callback = df[cfn] = function(th) {
                return function() {
                    th._waiting = false;
                    th.onSuccess.apply(th, arguments);
                    QZFL.JSONGetter._runFnQueue(th._squeue, arguments, th);
                    clear(th);
                };
            }(this);
            if (QZFL.userAgent.ie < 9) {
                sender.onreadystatechange = function(th) {
                    return function() {
                        if (th._sender && th._sender.readyState == "loaded") {
                            try {
                                th._onError();
                            } catch (ignore) {}
                        }
                    };
                }(this);
            } else {
                sender.onerror = function(th) {
                    return function() {
                        try {
                            th._onError();
                        } catch (ignore) {}
                    };
                }(this);
            }
            this._waiting = true;
            df.appendChild(sender);
            this._sender.src = da;
        } else {
            this.clear = clear = function(o) {
                clearTimeout(o._timer);
                o._baseClear();
            };
            window[cfn] = function() {
                QZFL.JSONGetter.args = arguments;
            };
            var callback = function(th) {
                    return function() {
                        th.onSuccess.apply(th, QZFL.JSONGetter.args);
                        QZFL.JSONGetter._runFnQueue(th._squeue, QZFL.JSONGetter.args, th);
                        QZFL.JSONGetter.args = [];
                        clear(th);
                    };
                }(this);
            var _ecb = function(th) {
                    return function() {
                        th._waiting = false;
                        var _eo = QZFL.JSONGetter._errCodeMap[999];
                        th.onError(_eo);
                        QZFL.JSONGetter._runFnQueue(th._equeue, [_eo], th);
                        clear(th);
                    };
                }(this);
            var h = document.getElementsByTagName("head"),
                node;
            h = h && h[0] || document.body;
            if (!h) {
                return;
            }
            var baseElement = h.getElementsByTagName("base")[0];
            node = document.createElement("script");
            node.charset = this._charset || "utf-8";
            node.onload = function() {
                this.onload = null;
                if (node.parentNode) {
                    h.removeChild(node);
                }
                callback();
                node = void 0;
            };
            node.onerror = function() {
                this.onerror = null;
                _ecb();
            };
            node.src = da;
            baseElement ? h.insertBefore(node, baseElement) : h.appendChild(node);
        }
    };
    QZFL.JSONGetter.prototype._onError = function() {
        this._waiting = false;
        var _eo = QZFL.JSONGetter._errCodeMap[999];
        this.msg = _eo.msg;
        this.onError(_eo);
        QZFL.JSONGetter._runFnQueue(this._equeue, [_eo], this);
        QZFL.JSONGetter._pluginsRunner("onErrorHandler", this);
        this.clear(this);
    };
    QZFL.JSONGetter.prototype.destroy = QZFL.emptyFn;
    window.QZFL = window.QZFL || {};
    QZFL.pingSender = function(url, t, opts) {
        var _s = QZFL.pingSender,
            iid, img;
        if (!url) {
            return;
        }
        opts = opts || {};
        iid = "sndImg_" + _s._sndCount++;
        img = _s._sndPool[iid] = new Image;
        img.iid = iid;
        img.onload = img.onerror = img.ontimeout = function(t) {
            return function(evt) {
                evt = evt || window.event || {
                    type: "timeout"
                };
                void(typeof opts[evt.type] == "function" ? setTimeout(function(et, ti) {
                    return function() {
                        opts[et]({
                            type: et,
                            duration: (new Date).getTime() - ti
                        });
                    };
                }(evt.type, t._s_), 0) : 0);
                QZFL.pingSender._clearFn(evt, t);
            };
        }(img);
        typeof opts.timeout == "function" && setTimeout(function() {
            img.ontimeout && img.ontimeout({
                type: "timeout"
            });
        }, typeof opts.timeoutValue == "number" ? Math.max(100, opts.timeoutValue) : 5000);
        void(typeof t == "number" ? setTimeout(function() {
            img._s_ = (new Date).getTime();
            img.src = url;
        }, t = Math.max(0, t)) : (img.src = url));
    };
    QZFL.pingSender._sndPool = {};
    QZFL.pingSender._sndCount = 0;
    QZFL.pingSender._clearFn = function(evt, ref) {
        var _s = QZFL.pingSender;
        if (ref) {
            _s._sndPool[ref.iid] = ref.onload = ref.onerror = ref.ontimeout = ref._s_ = null;
            delete _s._sndPool[ref.iid];
            _s._sndCount--;
            ref = null;
        }
    };
    QZFL.media = {
        _tempImageList: [],
        _flashVersion: null,
        getImageInfo: function() {
            var _getInfo = function(img, callback, opts) {
                    if (img) {
                        var _w = opts.ow || img.width,
                            _h = opts.oh || img.height,
                            r, ls, ss, d;
                        if (_w && _h) {
                            if (_w >= _h) {
                                ls = _w;
                                ss = _h;
                                d = ["width", "height"];
                            } else {
                                ls = _h;
                                ss = _w;
                                d = ["height", "width"];
                            }
                            r = {
                                direction: d,
                                rate: ls / ss,
                                longSize: ls,
                                shortSize: ss
                            };
                            r.ow = _w;
                            r.oh = _h;
                        }
                        QZFL.lang.isFunction(callback) && callback(img, r, opts);
                    }
                };
            return function(callback, opts) {
                opts = opts || {};
                if (QZFL.lang.isString(opts.trueSrc)) {
                    var _i = new Image;
                    _i.onload = function(ele, cb, p) {
                        return function() {
                            _getInfo(ele, cb, p);
                            ele = ele.onerror = ele.onload = null;
                        };
                    }(_i, callback, opts);
                    _i.onerror = function(ele, cb, p) {
                        return function() {
                            if (typeof p.errCallback == "function") {
                                p.errCallback();
                            }
                            ele = ele.onerror = ele.onload = null;
                        };
                    }(_i, callback, opts);
                    _i.src = opts.trueSrc;
                } else if (QZFL.lang.isElement(opts.img)) {
                    _getInfo(opts.img, callback, opts);
                }
            };
        }(),
        adjustImageSize: function(w, h, trueSrc, callback, errCallback) {
            var opts = {
                trueSrc: trueSrc,
                callback: function(cb) {
                    return function(o, type, ew, eh, p) {
                        QZFL.lang.isFunction(cb) && cb(o, ew, eh, null, p.ow, p.oh, p);
                    };
                }(callback),
                errCallback: errCallback
            };
            QZFL.media.reduceImage(0, w, h, opts);
        },
        getFlashHtml: function(flashArguments, requiredVersion, flashPlayerCID) {
            var _attrs = [],
                _params = [];
            for (var k in flashArguments) {
                switch (k) {
                case "noSrc":
                case "movie":
                    continue;
                    break;
                case "id":
                case "name":
                case "width":
                case "height":
                case "style":
                    if (typeof flashArguments[k] != "undefined") {
                        _attrs.push(" ", k, "=\"", flashArguments[k], "\"");
                    }
                    break;
                case "src":
                    if (QZFL.userAgent.ie) {
                        _params.push("<param name=\"movie\" value=\"", flashArguments.noSrc ? "" : flashArguments[k], "\"/>");
                    } else {
                        _attrs.push(" data=\"", flashArguments.noSrc ? "" : flashArguments[k], "\"");
                    }
                    break;
                default:
                    _params.push("<param name=\"", k, "\" value=\"", flashArguments[k], "\" />");
                }
            }
            if (QZFL.userAgent.ie) {
                _attrs.push(" classid=\"clsid:", flashPlayerCID || "D27CDB6E-AE6D-11cf-96B8-444553540000", "\"");
            } else {
                _attrs.push(" type=\"application/x-shockwave-flash\"");
            }
            if (requiredVersion && requiredVersion instanceof QZFL.media.SWFVersion) {
                var _ver = QZFL.media.getFlashVersion().major,
                    _needVer = requiredVersion.major;
                _attrs.push(" codeBase=\"http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab#version=", requiredVersion, "\"");
            }
            return "<object" + _attrs.join("") + ">" + _params.join("") + "</object>";
        },
        insertFlash: function(containerElement, flashArguments) {
            if (!containerElement || typeof containerElement.innerHTML == "undefined") {
                return false;
            }
            flashArguments = flashArguments || {};
            flashArguments.src = flashArguments.src || "";
            flashArguments.width = flashArguments.width || "100%";
            flashArguments.height = flashArguments.height || "100%";
            flashArguments.noSrc = true;
            containerElement.innerHTML = QZFL.media.getFlashHtml(flashArguments);
            var f = containerElement.firstChild;
            if (QZFL.userAgent.ie) {
                setTimeout(function() {
                    try {
                        f.LoadMovie(0, flashArguments.src);
                    } catch (ign) {}
                }, 0);
            } else {
                f.setAttribute("data", flashArguments.src);
            }
            return true;
        },
        getWMMHtml: function(wmpArguments, cid) {
            var params = [],
                objArgm = [];
            for (var k in wmpArguments) {
                switch (k) {
                case "id":
                case "width":
                case "height":
                case "style":
                case "src":
                    objArgm.push(" ", k, "=\"", wmpArguments[k], "\"");
                    break;
                default:
                    objArgm.push(" ", k, "=\"", wmpArguments[k], "\"");
                    params.push("<param name=\"", k, "\" value=\"", wmpArguments[k], "\" />");
                }
            }
            if (wmpArguments.src) {
                params.push("<param name=\"URL\" value=\"", wmpArguments.src, "\" />");
            }
            if (QZFL.userAgent.ie) {
                return "<object classid=\"" + (cid || "clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6") + "\" " + objArgm.join("") + ">" + params.join("") + "</object>";
            } else {
                return "<embed " + objArgm.join("") + "></embed>";
            }
        }
    };
    QZFL.media.SWFVersion = function() {
        var a;
        if (arguments.length > 1) {
            a = arg2arr(arguments);
        } else if (arguments.length == 1) {
            if (typeof arguments[0] == "object") {
                a = arguments[0];
            } else if (typeof arguments[0] == "number") {
                a = [arguments[0]];
            } else {
                a = [];
            }
        } else {
            a = [];
        }
        this.major = parseInt(a[0], 10) || 0;
        this.minor = parseInt(a[1], 10) || 0;
        this.rev = parseInt(a[2], 10) || 0;
        this.add = parseInt(a[3], 10) || 0;
    };
    QZFL.media.SWFVersion.prototype.toString = function(spliter) {
        return [this.major, this.minor, this.rev, this.add].join(typeof spliter == "undefined" ? "," : spliter);
    };
    QZFL.media.SWFVersion.prototype.toNumber = function() {
        var se = 0.001;
        return this.major + this.minor * se + this.rev * se * se + this.add * se * se * se;
    };
    QZFL.media.getFlashVersion = function() {
        if (!QZFL.media._flashVersion) {
            var resv = 0;
            if (navigator.plugins && navigator.mimeTypes.length) {
                var x = navigator.plugins['Shockwave Flash'];
                if (x && x.description) {
                    resv = x.description.replace(/(?:[a-z]|[A-Z]|\s)+/, "").replace(/(?:\s+r|\s+b[0-9]+)/, ".").split(".");
                }
            } else {
                try {
                    for (var i = resv = 6, axo = new Object; axo != null; ++i) {
                        axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
                        resv = i;
                    }
                } catch (e) {
                    if (resv == 6) {
                        resv = 0;
                    }
                    resv = Math.max(resv - 1, 0);
                }
                try {
                    resv = new(QZFL.media.SWFVersion)(axo.GetVariable("$version").split(" ")[1].split(","));
                } catch (ignore) {}
            }
            if (!(resv instanceof QZFL.media.SWFVersion)) {
                resv = new(QZFL.media.SWFVersion)(resv);
            }
            if (resv.major < 3) {
                resv.major = 0;
            }
            QZFL.media._flashVersion = resv;
        }
        return QZFL.media._flashVersion;
    };
    QZFL.media.reduceImage = function() {
        var doReduce = function(o, type, ew, eh, p, cb) {
                var rl, k;
                if (p.rate == 1) {
                    p.direction[0] = ew > eh ? "height" : "width";
                    p.direction[1] = ew > eh ? "width" : "height";
                }
                rl = p.direction[type] == "width" ? ew : eh;
                type ? (rl > p.shortSize ? (rl = p.shortSize) : 1) && (p.k = p.shortSize / rl) : (rl > p.longSize ? (rl = p.longSize) : 1) && (p.k = p.longSize / rl);
                o.setAttribute(p.direction[type], rl);
                QZFL.lang.isFunction(cb) && cb(o, type, ew, eh, p);
            };
        return function(type, ew, eh, opts) {
            opts = opts || {};
            opts.img = QZFL.lang.isNode(opts.img) ? opts.img : QZFL.event.getTarget();
            opts.img.onload = null;
            opts.trueSrc && (opts.img.src = opts.trueSrc);
            if (opts.img) {
                if (!(opts.direction && opts.rate && opts.longSize && opts.shortSize)) {
                    r = QZFL.media.getImageInfo(function(o, p) {
                        if (!o || !p) {
                            return;
                        }
                        doReduce(opts.img, type, ew, eh, p, opts.callback);
                    }, opts);
                } else {
                    doReduce(opts.img, type, ew, eh, opts, opts.callback);
                }
            }
        };
    }();
    QZFL.media.imagePlusUrl = "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/widget/smart_image.js?max_age=1209603";
    QZFL.media.smartImage = function(w, h, params) {
        params = params || {};
        params.img = QZFL.lang.isNode(params.img) ? params.img : QZFL.event.getTarget();
        QZFL.imports(QZFL.media.imagePlusUrl, function(w, h, params) {
            return function() {
                QZFL.media.smartImage(w, h, params);
            };
        }(w, h, params));
    };
    QZFL.media.reduceImgByRule = function(ew, eh, opts, cb) {
        opts = opts || {};
        opts.img = QZFL.lang.isNode(opts.img) ? opts.img : QZFL.event.getTarget();
        QZFL.imports(QZFL.media.imagePlusUrl, function(ew, eh, opts, cb) {
            return function() {
                QZFL.media.reduceImgByRule(ew, eh, opts, cb);
            };
        }(ew, eh, opts, cb));
    };
    QZFL.shareObject = {};
    QZFL.shareObject.create = function(path) {
        if (typeof path == "undefined") {
            path = QZFL.config.defaultShareObject;
        }
        var t = new(QZFL.shareObject.DataBase)(path);
    };
    QZFL.shareObject.instance = {};
    QZFL.shareObject.refCount = 0;
    QZFL.shareObject.getValidSO = function() {
        var cnt = QZFL.shareObject.refCount + 1;
        for (var i = 1; i < cnt + 1; ++i) {
            if (QZFL.shareObject.instance["so_" + i] && QZFL.shareObject.instance["so_" + i]._ready) {
                return QZFL.shareObject.instance["so_" + i];
            }
        }
        return null;
    };
    QZFL.shareObject.get = function(s) {
        var o = QZFL.shareObject.getValidSO();
        if (o) {
            return o.get(s);
        } else {
            return void 0;
        }
    };
    QZFL.shareObject.set = function(k, v) {
        var o = QZFL.shareObject.getValidSO();
        if (o) {
            return o.set(k, v);
        } else {
            return false;
        }
    };
    QZFL.shareObject.DataBase = function(soUrl) {
        if (QZFL.shareObject.refCount > 0) {
            return QZFL.shareObject.instance.so_1;
        }
        this._ready = false;
        QZFL.shareObject.refCount++;
        var c = document.createElement("div");
        c.style.height = "0px";
        c.style.overflow = "hidden";
        document.body.appendChild(c);
        c.innerHTML = QZFL.media.getFlashHtml({
            src: soUrl,
            id: "__so" + QZFL.shareObject.refCount,
            width: 1,
            height: 0,
            allowscriptaccess: "always"
        });
        this.ele = $("__so" + QZFL.shareObject.refCount);
        QZFL.shareObject.instance["so_" + QZFL.shareObject.refCount] = this;
    };
    QZFL.shareObject.DataBase.prototype.set = function(key, value) {
        if (this._ready) {
            this.ele.set("seed", Math.random());
            this.ele.set(key, value);
            this.ele.flush();
            return true;
        } else {
            return false;
        }
    };
    QZFL.shareObject.DataBase.prototype.del = function(key) {
        if (this._ready) {
            this.ele.set("seed", Math.random());
            this.ele.set(key, void 0);
            this.ele.flush();
            return true;
        } else {
            return false;
        }
    };
    QZFL.shareObject.DataBase.prototype.get = function(key) {
        return this._ready ? this.ele.get(key) : null;
    };
    QZFL.shareObject.DataBase.prototype.clear = function() {
        if (this._ready) {
            this.ele.clear();
            return true;
        } else {
            return false;
        }
    };
    QZFL.shareObject.DataBase.prototype.getDataSize = function() {
        if (this._ready) {
            return this.ele.getSize();
        } else {
            return -1;
        }
    };
    QZFL.shareObject.DataBase.prototype.load = function(url, succFnName, errFnName, data) {
        if (this._ready) {
            this.ele.load(url, succFnName, errFnName, data);
            return true;
        } else {
            return false;
        }
    };
    QZFL.shareObject.DataBase.prototype.setReady = function() {
        this._ready = true;
    };

    function getShareObjectPrefix() {
        QZFL.shareObject.instance["so_" + QZFL.shareObject.refCount].setReady();
        return location.host.replace(".qzone.qq.com", "");
    }

    QZFL.shareObject.DataBase.prototype.setClipboard = function(value) {
        if (this._ready && isString(value)) {
            this.ele.setClipboard(value);
            return true;
        } else {
            return false;
        }
    };
    QZFL.dragdrop = {
        path: "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/widget/dragdrop.js?max_age=864001",
        dragdropPool: {},
        count: 0,
        registerDragdropHandler: function(handler, target, opts) {
            var _e = QZFL.event,
                _s = QZFL.dragdrop,
                _hDom = QZFL.dom.get(handler),
                _tDom = QZFL.dom.get(target),
                targetObject;
            opts = opts || {
                range: [null, null, null, null],
                ghost: 0
            };
            if (!(_hDom = _hDom || _tDom)) {
                return null;
            }
            targetObject = _tDom || _hDom;
            if (!_hDom.id) {
                _hDom.id = "dragdrop_" + ++_s.count;
            }
            _hDom.style.cursor = opts.cursor || "move";
            _s.dragdropPool[_hDom.id] = {};
            _e.on(_hDom, "mousedown", _s.startDrag, [_hDom.id, targetObject, opts]);
            return _s.dragdropPool[_hDom.id];
        },
        unRegisterDragdropHandler: function(handler) {
            var _hDom = QZFL.dom.get(handler),
                _e = QZFL.event;
            if (!_hDom) {
                return null;
            }
            _hDom.style.cursor = "";
            QZFL.dragdrop._oldSD && _e.removeEvent(_hDom, "mousedown", QZFL.dragdrop._oldSD);
            _e.removeEvent(_hDom, "mousedown", QZFL.dragdrop.startDrag);
            delete QZFL.dragdrop.dragdropPool[_hDom.id];
        },
        startDrag: function(evt) {
            QZFL.dragdrop.doStartDrag.apply(QZFL.dragdrop, arguments);
            QZFL.event.preventDefault(evt);
        },
        dragTempId: 0,
        doStartDrag: function(evt, handlerId, target, opts) {
            var _s = QZFL.dragdrop,
                _e = {};
            QZFL.object.extend(_e, evt);
            QZFL.imports(_s.path, function() {
                _s.startDrag.call(_s, _e, handlerId, target, opts);
            });
        }
    };
    QZFL.dragdrop._oldSD = QZFL.dragdrop.startDrag;
    QZFL.element.extendFn({
        dragdrop: function(target, opts) {
            var _arr = [];
            this.each(function() {
                _arr.push(QZFL.dragdrop.registerDragdropHandler(this, target, opts));
            });
            return _arr;
        },
        unDragdrop: function(target, opts) {
            this.each(function() {
                _arr.push(QZFL.dragdrop.unRegisterDragdropHandler(this));
            });
        }
    });
    QZFL.widget.msgbox = {
        cssPath: "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/css/msgbox.css",
        path: "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/widget/msgbox.js",
        currentCssPath: null,
        _loadCss: function(s) {
            var th = QZFL.widget.msgbox;
            s = s || th.cssPath;
            if (th.currentCssPath != s) {
                QZFL.css.insertCSSLink(th.currentCssPath = s);
            }
        },
        show: function(msgHtml, type, timeout, opts) {
            var _s = QZFL.widget.msgbox;
            if (typeof opts == "number") {
                opts = {
                    topPosition: opts
                };
            }
            opts = opts || {};
            _s._loadCss(opts.cssPath);
            QZFL.imports(_s.path, function() {
                _s.show(msgHtml, type, timeout, opts);
            });
        },
        hide: function(timeout) {
            QZFL.imports(QZFL.widget.msgbox.path, function() {
                QZFL.widget.msgbox.hide(timeout);
            });
        }
    };
    QZFL.dialog = {
        cssPath: "http://" + QZFL.config.resourceDomain + "/qzone_v6/qz_dialog.css",
        currentCssPath: "",
        path: "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/widget/dialog.js?max_age=864010",
        count: 0,
        instances: {},
        BUTTON_TYPE: {
            Disabled: -1,
            Normal: 0,
            Cancel: 1,
            Confirm: 2,
            Negative: 3
        },
        create: function(title, content, opts) {
            var t, args, dialog;
            if ((t = typeof opts != "number" || isNaN(parseInt(opts, 10)))) {
                opts = opts || {};
                args = [0, 0, opts.width, opts.height, opts.useTween, opts.noBorder];
            } else {
                opts = {
                    width: opts
                };
                args = arguments;
            }
            t && (opts.width = args[2] || 300);
            opts.height = args[3] || 200;
            opts.useTween = !! args[4];
            opts.noBorder = !! args[5];
            opts.title = title || opts.title || "";
            opts.content = content || opts.content || "";
            dialog = new(QZFL.dialog.shell)(opts);
            dialog.init(opts);
            return dialog;
        },
        createBorderNone: function(content, width, height) {
            var opts = opts || {};
            opts.noBorder = true;
            opts.width = width || 300;
            opts.height = height || 200;
            return QZFL.dialog.create(null, content || "", opts);
        }
    };
    QZFL.dialog._shellCall = function(pFnName, objInstance, args) {
        var _s = QZFL.dialog;
        QZFL.imports(_s.path, function(th) {
            return function() {
                _s.base.prototype[pFnName].apply(th, args || []);
            };
        }(objInstance));
    };
    QZFL.dialog.shell = function(opts) {
        var _s = QZFL.dialog,
            cssp = opts.cssPath || _s.cssPath;
        if (cssp != _s.currentCssPath) {
            QZFL.css.insertCSSLink(cssp);
            _s.currentCssPath = cssp;
        }
        this.opts = opts;
        this.id = "qzDialog" + ++_s.count;
        _s.instances[this.id] = this;
        this.uniqueID = _s.count;
        if (!_s.base) {
            QZFL.imports(_s.path);
        }
    };
    QZFL.dialog.shell.prototype.getZIndex = function() {
        return this.zIndex || 6000 + QZFL.dialog.count;
    };
    (function(fl) {
        for (var i = 0, len = fl.length; i < len; ++i) {
            QZFL.dialog.shell.prototype[fl[i]] = function(pName) {
                return function() {
                    QZFL.dialog._shellCall(pName, this, arguments);
                };
            }(fl[i]);
        }
    }(["hide", "unload", "init", "fillTitle", "fillContent", "setSize", "show", "hide", "focus", "blur", "setReturnValue"]));
    QZFL.widget.Confirm = function(title, content, opts) {
        if (typeof opts != "undefined" && typeof opts != "object") {
            opts = {
                type: opts,
                tips: arguments[3]
            };
        }
        opts = opts || {};
        var n, _s = QZFL.widget.Confirm,
            cssp = opts.cssPath || _s.cssPath;
        opts.title = opts.title || title || "";
        opts.content = opts.content || content || "";
        this.opts = opts;
        this.tips = opts.tips = opts.tips || [];
        n = ++_s.count;
        this.id = "qzConfirm" + n;
        _s.instances[n] = this;
        if (cssp != _s.currentCssPath) {
            QZFL.css.insertCSSLink(cssp);
            _s.currentCssPath = cssp;
        }
        if (!_s.iconMap) {
            QZFL.imports(_s.path);
        }
    };
    QZFL.widget.Confirm.TYPE = {
        OK: 1,
        NO: 2,
        OK_NO: 3,
        CANCEL: 4,
        OK_CANCEL: 5,
        NO_CANCEL: 6,
        OK_NO_CANCEL: 7
    };
    QZFL.widget.Confirm.count = 0;
    QZFL.widget.Confirm.instances = {};
    QZFL.widget.Confirm.cssPath = "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/resource/css/confirm_by_dialog.css";
    QZFL.widget.Confirm.path = "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/widget/confirm_base.js";
    QZFL.widget.Confirm._shellCall = function(pFnName, objInstance, args) {
        var _s = QZFL.widget.Confirm;
        QZFL.imports(_s.path, function(th) {
            return function() {
                _s.prototype[pFnName].apply(th, args || []);
            };
        }(objInstance));
    };
    (function(fl) {
        for (var i = 0, len = fl.length; i < len; ++i) {
            QZFL.widget.Confirm.prototype[fl[i]] = function(pName) {
                return function() {
                    QZFL.widget.Confirm._shellCall(pName, this, arguments);
                };
            }(fl[i]);
        }
    }(["hide", "show"]));
    (function(qdc) {
        var dataPool = {};
        qdc.get = qdc.load = function(key) {
            return dataPool[key];
        };
        qdc.del = function(key) {
            dataPool[key] = null;
            delete dataPool[key];
            return true;
        };
        qdc.save = function saveData(key, value) {
            dataPool[key] = value;
            return true;
        };
    }(QZFL.dataCenter = {}));
    QZFL.maskLayout = function() {
        var masker = null,
            count = 0,
            qml = function(zi, doc, opts) {
                ++count;
                if (masker) {
                    return count;
                }
                zi = zi || 5000;
                doc = doc || document;
                opts = opts || {};
                var t = parseFloat(opts.opacity, 10);
                opts.opacity = isNaN(t) ? 0.2 : t;
                t = parseFloat(opts.top, 10);
                opts.top = isNaN(t) ? 0 : t;
                t = parseFloat(opts.left, 10);
                opts.left = isNaN(t) ? 0 : t;
                masker = QZFL.dom.createElementIn("div", doc.body, false, {
                    className: "qz_mask",
                    unselectable: "on"
                });
                masker.style.cssText = "background-color:#000;-ms-filter:\"alpha(opacity=20)\";#filter:alpha(opacity=" + 100 * opts.opacity + ");opacity:" + opts.opacity + "; position:fixed;_position:absolute;left:" + opts.left + "px;top:" + opts.top + "px;z-index:" + zi + ";width:100%;height:" + QZFL.dom[QZFL.userAgent.ie < 7 ? "getScrollHeight" : "getClientHeight"](doc) + "px;";
                return count;
            };
        qml.setOpacity = function(ov) {
            if (masker && ov) {
                QZFL.dom.setStyle(masker, "opacity", ov);
            }
        };
        qml.getRef = function() {
            return masker;
        };
        qml.remove = function(rmAll) {
            count = Math.max(--count, 0);
            if (!count || rmAll) {
                QZFL.dom.removeElement(masker);
                masker = null;
                rmAll && (count = 0);
            }
        };
        return qml.create = qml;
    }();
    QZFL.fixLayout = {
        _fixLayout: null,
        _isIE6: QZFL.userAgent.ie && QZFL.userAgent.ie < 7,
        _layoutDiv: {},
        _layoutCount: 0,
        _init: function() {
            this._fixLayout = QZFL.dom.get("fixLayout") || QZFL.dom.createElementIn("div", document.body, false, {
                id: "fixLayout",
                style: "width:100%;"
            });
            this._isInit = true;
            if (this._isIE6) {
                QZFL.event.addEvent(document.compatMode == "CSS1Compat" ? window : document.body, "scroll", QZFL.event.bind(this, this._onscroll));
            }
        },
        create: function(html, isBottom, layerId, noFixed, options) {
            if (!this._isInit) {
                this._init();
            }
            options = options || {};
            var tmp = {
                style: (isBottom ? "bottom:0;" : "top:0;") + (options.style || "left:0;width:100%;z-index:10000")
            },
                _c;
            if (layerId) {
                tmp.id = layerId;
            }
            this._layoutCount++;
            _c = this._layoutDiv[this._layoutCount] = QZFL.dom.createElementIn("div", this._fixLayout, false, tmp);
            _c.style.position = this._isIE6 ? "absolute" : "fixed";
            _c.isTop = !isBottom;
            _c.innerHTML = html;
            _c.noFixed = noFixed ? 1 : 0;
            return this._layoutCount;
        },
        moveTop: function(layoutId) {
            if (!this._layoutDiv[layoutId].isTop) {
                with(this._layoutDiv[layoutId]) {
                    if (this._isIE6 && !this._layoutDiv[layoutId].noFixed) {
                        style.marginTop = QZFL.dom.getScrollTop() + "px";
                        style.marginBottom = "0";
                        style.marginBottom = "auto";
                    }
                    style.top = "0";
                    style.bottom = "";
                    isTop = true;
                }
            }
        },
        moveBottom: function(layoutId) {
            if (this._layoutDiv[layoutId].isTop) {
                with(this._layoutDiv[layoutId]) {
                    if (this._isIE6 && !this._layoutDiv[layoutId].noFixed) {
                        style.marginTop = "auto";
                        style.marginBottom = "0";
                        style.marginBottom = "auto";
                    }
                    style.top = "";
                    style.bottom = "0";
                    isTop = false;
                }
            }
        },
        fillHtml: function(layoutId, html) {
            this._layoutDiv[layoutId].innerHTML = html;
        },
        _onscroll: function() {
            var o = QZFL.fixLayout;
            for (var k in o._layoutDiv) {
                if (o._layoutDiv[k].noFixed) {
                    continue;
                }
                QZFL.dom.setStyle(o._layoutDiv[k], "display", "none");
            }
            clearTimeout(this._timer);
            this._timer = setTimeout(this._doScroll, 500);
            if (this._doHide) {
                return;
            }
            this._doHide = true;
        },
        _doScroll: function() {
            var o = QZFL.fixLayout;
            for (var k in o._layoutDiv) {
                if (o._layoutDiv[k].noFixed) {
                    continue;
                }
                var _item = o._layoutDiv[k];
                if (_item.isTop) {
                    o._layoutDiv[k].style.marginTop = QZFL.dom.getScrollTop() + "px";
                } else {
                    o._layoutDiv[k].style.marginBottom = "0";
                    o._layoutDiv[k].style.marginBottom = "auto";
                }
            }
            clearTimeout(this._stimer);
            this._stimer = setTimeout(function() {
                for (var k in o._layoutDiv) {
                    if (o._layoutDiv[k].noFixed) {
                        continue;
                    }
                    QZFL.dom.setStyle(o._layoutDiv[k], "display", "");
                }
            }, 800);
            o._doHide = false;
        }
    };
    QZFL.widget.bubble = {
        show: function(target, title, msg, opts) {
            opts = opts || {};
            var bid = opts.id || "oldBubble_" + ++QZFL.widget.bubble.count;
            opts.id = bid;
            QZFL.imports(QZFL.widget.bubble.path, function() {
                QZFL.widget.tips.show("<div>" + title + "</div>" + msg, target, opts);
            });
            return bid;
        },
        count: 0,
        hide: function(id) {
            if (QZFL.widget.tips) {
                QZFL.widget.tips.close(id);
            }
        },
        hideAll: function() {
            if (QZFL.widget.tips) {
                QZFL.widget.tips.closeAll();
            }
        }
    };

    function hideBubble(bubbleId) {
        QZFL.widget.bubble.hide(bubbleId);
    }


    function hideAllBubble() {
        QZFL.widget.bubble.hideAll();
    }

    QZFL.widget.bubble.showEx = QZFL.emptyFn;
    QZFL.widget.bubble.setExKey = QZFL.emptyFn;
    QZFL.widget.tips = {
        path: "http://" + QZFL.config.resourceDomain + "/ac/qzfl/release/widget/tips.js?max_age=1209600",
        show: function(html, aim, opts) {
            opts = opts || {};
            var bid = opts.id || "QZFL_bubbleTips_" + ++QZFL.widget.tips.count;
            opts.id = bid;
            QZFL.imports(QZFL.widget.tips.path, function() {
                QZFL.widget.tips.show(html, aim, opts);
            });
            return bid;
        },
        count: -1,
        close: function(id) {
            QZFL.imports(QZFL.widget.tips.path, function() {
                if (QZFL.widget.tips) {
                    QZFL.widget.tips.close(id);
                }
            });
        },
        closeAll: function() {
            QZFL.imports(QZFL.widget.tips.path, function() {
                if (QZFL.widget.tips) {
                    QZFL.widget.tips.closeAll();
                }
            });
        },
        resize: function(id) {
            QZFL.imports(QZFL.widget.tips.path, function() {
                if (QZFL.widget.tips) {
                    QZFL.widget.tips.resize && QZFL.widget.tips.resize(id);
                }
            });
        }
    };
    (QZFL.widget.bubble || {}).path = QZFL.widget.tips.path;
    QZFL.widget.seed = {
        _seed: 1,
        domain: "qzone.qq.com",
        prefix: "__Q_w_s_",
        update: function(k, opt) {
            var n = 1,
                s, th = QZFL.widget.seed;
            if (typeof k == "undefined") {
                n = th._update();
            } else {
                k = th.prefix + k;
                if (opt && opt.useCookie) {
                    n = QZFL.cookie.get(k);
                    if (n) {
                        QZFL.cookie.set(k, ++n, opt.domain || th.domain, null, 3000);
                    } else {
                        return 0;
                    }
                } else {
                    s = QZFL.shareObject.getValidSO();
                    if (!s) {
                        n = th._update();
                    } else if ((n = s.get(k))) {
                        s.set(k, ++n);
                    } else {
                        return 0;
                    }
                }
            }
            return n;
        },
        _update: function() {
            var th = QZFL.widget.seed;
            QZFL.cookie.set("randomSeed", th._seed = parseInt(Math.random() * 1000000, 10), th.domain, null, 3000);
            return th._seed;
        },
        get: function(k, opt) {
            var s, n, th = QZFL.widget.seed;
            if (typeof k == "undefined") {
                return (th._seed = QZFL.cookie.get("randomSeed")) ? th._seed : th.update();
            } else {
                k = th.prefix + k;
                if (opt && opt.useCookie) {
                    return (n = QZFL.cookie.get(k)) ? n : (QZFL.cookie.set(k, n = 1, opt.domain || th.domain, null, 3000), n);
                } else {
                    if (!(s = QZFL.shareObject.getValidSO())) {
                        return th._seed;
                    }
                    return (n = s.get(k)) ? n : (s.set(k, n = 1), n);
                }
            }
        }
    };
    QZFL.widget.runBox = function(startNode, endNode, opts) {
        var doc, dv, sp, ep;
        startNode = QZFL.dom.get(startNode);
        endNode = QZFL.dom.get(endNode);
        if (!QZFL.lang.isNode(startNode) || !QZFL.lang.isNode(endNode) || !QZFL.effect) {
            return;
        }
        opts = opts || {};
        opts.duration = opts.duration || 0.8;
        doc = opts.doc = opts.doc || document;
        sp = QZFL.dom.getPosition(startNode);
        dv = doc.createElement("div");
        dv.style.cssText = "border:3px solid #999; z-index:10000; position:absolute; left:" + sp.left + "px; top:" + sp.top + "px; width:" + sp.width + "px; height:" + sp.height + "px;";
        doc.body.appendChild(dv);
        ep = QZFL.dom.getPosition(endNode);
        QZFL.effect.run(dv, {
            left: ep.left,
            top: ep.top,
            width: ep.width,
            height: ep.height
        }, {
            duration: opts.duration * 1000,
            complete: function() {
                doc.body.removeChild(dv);
                sp = ep = dv = null;
            }
        });
    };
    QZFL.widget.runBox.start = function() {
        QZFL.widget.runBox.apply(QZFL.widget.runBox, arguments);
    };
    QZFL.object.map(QZFL.string || {});
    QZFL.object.map(QZFL.util || {});
    QZFL.object.map(QZFL.lang || {});
    (function(w) {
        w.ua = w.ua || QZFL.userAgent;
        w.$e = QZFL.element.get;
        !w.$ && (w.$ = QZFL.dom.get);
        w.removeNode = QZFL.dom.removeElement;
        w.ENV = QZFL.enviroment;
        w.addEvent = QZFL.event.addEvent;
        w.removeEvent = QZFL.event.removeEvent;
        w.getEvent = QZFL.event.getEvent;
        w.insertFlash = QZFL.media.getFlashHtml;
        w.getShareObjectPrefix = getShareObjectPrefix;
    }(window));
    if (!QZFL.pluginsDefine) {
        QZFL.pluginsDefine = {};
    }
    QZFL.pluginsDefine.getACSRFToken = function() {
        return arguments.callee._DJB(QZFL.cookie.get("skey"));
    };
    QZFL.pluginsDefine.getACSRFToken._DJB = function(str) {
        var hash = 5381;
        for (var i = 0, len = str.length; i < len; ++i) {
            hash += (hash << 5) + str.charCodeAt(i);
        }
        return hash & 2147483647;
    };
    (function() {
        var t = QZONE.FormSender;
        if (t && t.pluginsPool) {
            t.pluginsPool.formHandler.push(function(fm) {
                if (fm) {
                    if (!fm.g_tk) {
                        var a = QZFL.string.trim(fm.action);
                        a += (a.indexOf("?") > -1 ? "&" : "?") + ("g_tk=" + QZFL.pluginsDefine.getACSRFToken());
                        fm.action = a;
                    }
                }
                return fm;
            });
        }
    }());
    (function() {
        var t = QZONE.JSONGetter,
            jsRE = /\.js|\.json$/i;
        if (t && t.pluginsPool) {
            t.pluginsPool.srcStringHandler.push(function(ss) {
                var sw, pn;
                if (typeof ss == "string") {
                    if (ss.indexOf("g_tk=") < 0) {
                        pn = (sw = ss.indexOf("?") > -1) ? ss.split("?")[0] : ss;
                        if (jsRE.lastIndex = 0, !jsRE.test(pn)) {
                            ss += (sw ? "&" : "?") + ("g_tk=" + QZFL.pluginsDefine.getACSRFToken());
                        }
                    }
                }
                return ss;
            });
        }
    }());
    if (!QZFL.pluginsDefine) {
        QZFL.pluginsDefine = {};
    }
    QZFL.pluginsDefine.networkChectLibPath = "http://" + QZFL.config.resourceDomain + "/qzone/v6/troubleshooter/network_check_plugin_lib.js";
    (function() {
        var t = QZONE.FormSender;
        if (t && t.pluginsPool) {
            t.pluginsPool.onErrorHandler.push(function(fsObj) {
                fsObj && QZFL.pluginsDefine && QZFL.pluginsDefine.networkChectLibPath && QZFL.imports && QZFL.imports(QZFL.pluginsDefine.networkChectLibPath, function(d) {
                    return function() {
                        QZONE && QZONE.troubleShooter && QZONE.troubleShooter.qzflPluginNetworlCheck && QZONE.troubleShooter.qzflPluginNetworlCheck(d);
                    };
                }({
                    url: fsObj.uri
                }));
            });
        }
    }());
    (function() {
        var t = QZONE.JSONGetter;
        if (t && t.pluginsPool) {
            t.pluginsPool.onErrorHandler.push(function(jgObj) {
                jgObj && QZFL.pluginsDefine && QZFL.pluginsDefine.networkChectLibPath && QZFL.imports && QZFL.imports(QZFL.pluginsDefine.networkChectLibPath, function(d) {
                    return function() {
                        QZONE && QZONE.troubleShooter && QZONE.troubleShooter.qzflPluginNetworlCheck && QZONE.troubleShooter.qzflPluginNetworlCheck(d);
                    };
                }({
                    url: jgObj._uri
                }));
            });
        }
    }());
    (function(q) {
        var commurl = "http://c.isdspeed.qq.com/code.cgi",
            urlParse = /^http:\/\/([\s\S]*?)(\/[\s\S]*?)(?:\?|$)/,
            pingSender = q.pingSender,
            collector = [],
            timer, isreportG = Math.random() * 10000 < 1,
            isreportP = Math.random() * 100 < 1,
            uin = typeof g_iUin == "undefined" ? 0 : g_iUin,
            duration = 1000,
            each = q.object.each;

        function valueStat(domain, cgi, type, code, time, rate, uin, exts) {
            if (Math.random() > 1 / rate) {
                return;
            }
            var param = [];
            param.push("uin=" + uin, "key=domain,cgi,type,code,time,rate", "r=" + Math.random());
            if (typeof exts.unshift == "function") {
                var i = 0;
                while (exts.length) {
                    if (param.join("&").length > 1000) {
                        break;
                    }
                    var c = exts.shift();
                    param.push([i + 1, 1].join("_") + ("=" + c[0]));
                    param.push([i + 1, 2].join("_") + ("=" + c[1] + "?qzfl"));
                    param.push([i + 1, 3].join("_") + ("=" + c[2]));
                    param.push([i + 1, 4].join("_") + ("=" + c[3]));
                    param.push([i + 1, 5].join("_") + ("=" + c[4]));
                    param.push([i + 1, 6].join("_") + ("=" + c[5]));
                    i++;
                }
            }
            if (domain != "" || i > 0) {
                q.pingSender && q.pingSender(commurl + ("?" + param.join("&")), 1000);
            }
        }


        function _r() {
            if (collector.length) {
                valueStat("", "", "", "", "", "", uin, collector);
            }
            timer = setTimeout(_r, duration);
            duration *= 1.1;
        }


        function toabs(id) {
            if (!id) {
                return "";
            }
            var ret = id;
            if (id.indexOf("://") == 4 || id.indexOf("://") == 5) {
                ret = id;
            } else if (id.indexOf("../") === 0) {
                ret = location.protocol + ("//" + location.host + "/" + id.replace(/(?:\.\.\/)*/, location.pathname.split("/").slice(1, -1 * id.split("../").length).join("/") + "/"));
            } else if (/^[^\/]+\//.test(id) || id.indexOf("./") === 0) {
                if (id.indexOf("./") === 0) {
                    id = id.substring(2);
                }
                ret = location.protocol + ("//" + location.host + location.pathname.split("/").slice(0, -1).join("/") + "/" + id);
            } else if (id.charAt(0) === "/") {
                ret = location.protocol + ("//" + location.host + id);
            }
            return ret;
        }

        each(["JSONGetter", "FormSender"], function(n) {
            if (q[n] && q[n].pluginsPool) {
                if (typeof q[n].pluginsPool.onRequestComplete == "undefined") {
                    q[n].pluginsPool.onRequestComplete = [];
                }
                q[n].pluginsPool.onRequestComplete.push(function(th) {
                    var u = th._uri || th.uri;
                    u = toabs(u);
                    var mtch = u.match(urlParse),
                        url = mtch[2],
                        domain = mtch[1];
                    if (th.msg && th.msg.indexOf("Connection") > -1) {
                        collector.push([domain, url, 2, 502, +th.endTime - th.startTime, 1]);
                        return;
                    }
                    var d = th.resultArgs;
                    if (d && (d = d[0])) {
                        if (typeof d.code == "undefined") {
                            return;
                        } else if (d.code != 0) {
                            collector.push([domain, url, 3, d.subcode || 1, +th.endTime - th.startTime, 1]);
                        } else {
                            if (th instanceof q.JSONGetter && isreportG) {
                                collector.push([domain, url, 1, d.subcode || 1, +th.endTime - th.startTime, 10000]);
                            }
                            if (th instanceof q.FormSender && isreportP) {
                                collector.push([domain, url, 1, d.subcode || 1, +th.endTime - th.startTime, 100]);
                            }
                        }
                    }
                });
            }
        });
        _r();
    }(QZFL));
    if (typeof define === "function") {
        define(function() {
            return QZFL;
        });
    }
})();

#2 JavaScript::Eval (size: 70, repeated: 2)

var alert = function(msg) {
        if (msg != undefined) {
            __dalert(msg);
            return msg;
        }
    }

Executed Writes (6)

#1 JavaScript::Write (size: 0, repeated: 1)

#2 JavaScript::Write (size: 173, repeated: 1)

<link href="http://os.qzonestyle.gtimg.cn/qzone_v6/gb/skin/88.css" rel="stylesheet" /><link href="http://os.qzonestyle.gtimg.cn/qzone_v6/home_normal.css" rel="stylesheet" />

#3 JavaScript::Write (size: 395, repeated: 1)

<link rel="stylesheet" rev="stylesheet" href="http://os.qzonestyle.gtimg.cn/qzone_v5/app/app_icon.css" type="text/css" media="screen"/><link rel="stylesheet" rev="stylesheet" href="http://os.qzonestyle.gtimg.cn/qzone_v6/feed.css" type="text/css" media="screen"/><link rel="stylesheet" rev="stylesheet" href="http://os.qzonestyle.gtimg.cn/qzone_v6/gb/skin/88.css" type="text/css" media="screen"/>

#4 JavaScript::Write (size: 49, repeated: 1)

<script src="/ac/qzfl/appclientlib.js"/></script>

#5 JavaScript::Write (size: 495, repeated: 1)

<script type="text/javascript" charset="utf-8" src="http://os.qzonestyle.gtimg.cn/qzone/v6/applib/embeded.js"></script><script type="text/javascript" charset="utf-8" src="http://os.qzonestyle.gtimg.cn/qzone/v5/namecardv2.js"></script><script type="text/javascript" charset="utf-8" src="http://os.qzonestyle.gtimg.cn/qzone/v5/owner2/ic/ic_core_v2.1.js"></script><script type="text/javascript" charset="utf-8" src="http://os.qzonestyle.gtimg.cn/qzone/v5/owner2/ic/ic_trigger_mod_v3.0.js"></script>

#6 JavaScript::Write (size: 529, repeated: 1)

<script type="text/javascript" charset="utf-8" src="http://os.qzs.qq.com/ac/qzone/qzfl/qzfl_2.1.23.js"></script><script type="text/javascript" charset="utf-8" src="http://os.qzonestyle.gtimg.cn/qzone/v6/interface/interface_v6_20121108_1.js?max_age=2592000"></script><script type="text/javascript" charset="utf-8" src="http://os.qzonestyle.gtimg.cn/qzone/v6/qm/qm_4_fixed_20121102.js?max_age=2592000"></script><script type="text/javascript" charset="utf-8" src="http://os.qzonestyle.gtimg.cn/qzone/v6/guest/gfp_fixed.js"></script>


HTTP Transactions (129)


Request Response
GET /1826355829 HTTP/1.1

Host: user.qzone.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8
Server: QZHTTP-2.37.1
Content-Encoding: gzip
X-UA-Compatible: IE=Edge
Last-Modified: Sat, 17 Nov 2012 19:01:52 GMT
Cache-Control: max-age=0, no-transform
Content-Length: 7635
Date: Sat, 17 Nov 2012 19:01:53 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/img/favicon.ico?max_age=31536000 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
HTTP/1.1 200 OK

Content-Type: image/x-icon
Server: org-imgcache
Last-Modified: Mon, 06 Aug 2012 22:56:15 GMT
Content-Length: 481
Content-Encoding: gzip
Etag: &quot;50204b8f-47e&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:01:53 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/gb/img/loading_32.gif HTTP/1.1

Host: qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/gif
Server: Apache
Last-Modified: Mon, 08 Aug 2011 02:50:55 GMT
Etag: &quot;937-4a9f58416a1c0&quot;
Accept-Ranges: bytes
Content-Length: 2359
Cache-Control: max-age=3742
Date: Sat, 17 Nov 2012 19:01:53 GMT
Connection: keep-alive
GET /qzone_v6/home_fixed.css?max_age=31536000&d=201210111746 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone_v6/home_fixed.css?max_age=31536000&amp;d=201210111746 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Fri, 02 Nov 2012 07:07:48 GMT
Content-Length: 15330
Content-Encoding: gzip
Etag: &quot;50937144-1788a&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:01:53 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/gb/skin/88.css?max_age=31536000&d=20120612 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone_v6/gb/skin/88.css?max_age=31536000&amp;d=20120612 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Thu, 01 Nov 2012 09:05:21 GMT
Content-Length: 2277
Content-Encoding: gzip
Etag: &quot;50923b51-3920&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:01:53 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/sprite/home_fixed.png?max_age=19830211&d=20121102112235 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone_v6/sprite/home_fixed.png?max_age=19830211&amp;d=20121102112235 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzonestyle.gtimg.cn/qzone_v6/home_fixed.css?max_age=31536000&amp;d=201210111746
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Fri, 02 Nov 2012 07:07:48 GMT
Content-Length: 5019
Etag: &quot;50937144-139b&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:01:53 GMT
Connection: keep-alive
GET /qzone_v6/sprite/qz_qzone_lv.png?max_age=19830211&d=20121102112235 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone_v6/sprite/qz_qzone_lv.png?max_age=19830211&amp;d=20121102112235 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzonestyle.gtimg.cn/qzone_v6/home_fixed.css?max_age=31536000&amp;d=201210111746
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Wed, 14 Nov 2012 07:26:19 GMT
Content-Length: 2356
Etag: &quot;50a3479b-934&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:01:53 GMT
Connection: keep-alive
GET /qzone_v6/img/mood/mod_comments.png?max_age=19830211&d=20121102112235 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone_v6/img/mood/mod_comments.png?max_age=19830211&amp;d=20121102112235 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzonestyle.gtimg.cn/qzone_v6/home_fixed.css?max_age=31536000&amp;d=201210111746
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Fri, 30 Mar 2012 13:57:47 GMT
Content-Length: 1044
Etag: &quot;4f75bbdb-414&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:01:53 GMT
Connection: keep-alive
GET /ac/qzone/qzfl/qzfl_2.1.23.js HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Wed, 14 Nov 2012 06:38:47 GMT
Content-Length: 37705
Content-Encoding: gzip
Etag: &quot;50a33c77-1f806&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/guest/gfp_fixed.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 17 Aug 2012 03:07:05 GMT
Content-Length: 3432
Content-Encoding: gzip
Etag: &quot;502db559-21a0&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/qm/qm_4_fixed_20121102.js?max_age=2592000 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 02 Nov 2012 06:38:14 GMT
Content-Length: 40747
Content-Encoding: gzip
Etag: &quot;50936a56-2328c&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/interface/interface_v6_20121108_1.js?max_age=2592000 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Tue, 13 Nov 2012 12:21:04 GMT
Content-Length: 64598
Content-Encoding: gzip
Etag: &quot;50a23b30-35998&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/sprite/home_fixed-32.png?max_age=19830211&d=20121102112235 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone_v6/sprite/home_fixed-32.png?max_age=19830211&amp;d=20121102112235 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzonestyle.gtimg.cn/qzone_v6/home_fixed.css?max_age=31536000&amp;d=201210111746
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Fri, 02 Nov 2012 07:07:48 GMT
Content-Length: 2169
Etag: &quot;50937144-879&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
GET /qzone/v6/navigation/navigation_bar.js?max_age=31536000&amp;d=201210311448 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone/v6/navigation/navigation_bar.js?max_age=31536000&amp;amp;d=201210311448 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Thu, 01 Nov 2012 03:49:54 GMT
Content-Length: 24047
Content-Encoding: gzip
Etag: &quot;5091f162-16b06&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /ac/qzone_v5/client/year_vip_icon.png?i=0.6155462152224617 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Fri, 11 Nov 2011 01:18:19 GMT
Content-Length: 1335
Etag: &quot;4ebc77db-537&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
GET /ac/b.gif HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/gif
Server: org-imgcache
Last-Modified: Wed, 08 Nov 2006 08:06:22 GMT
Content-Length: 43
Etag: &quot;45518ffe-2b&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
GET /cgi-bin/feeds/feeds_html_module?i_uin=1826355829&i_login_uin=0&mode=4&style=88&version=6&needDelOpr=true&transparence=true&hideExtend=false&showcount=15&MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all HTTP/1.1

Host: rsh.qzone.qq.com
GET /cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/html
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Cache-Control: no-cache
Content-Length: 12393
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/space_item/orig/3/72019_bg.jpg HTTP/1.1

Host: os.i.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: org-imgcache
Last-Modified: Mon, 09 Jul 2012 07:21:42 GMT
Content-Length: 39086
Etag: &quot;4ffa8686-98ae&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
GET /qzone_v5/app/app_icon.css HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: text/css
Server: Apache
Last-Modified: Fri, 05 Aug 2011 02:38:21 GMT
Etag: &quot;171f-4a9b8fd9f6140&quot;
Accept-Ranges: bytes
Content-Encoding: gzip
Content-Length: 1129
Cache-Control: max-age=454
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/em/e163.png HTTP/1.1

Host: qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Thu, 10 May 2012 08:56:44 GMT
Content-Length: 759
Etag: &quot;4fab82cc-2f7&quot;
Cache-Control: max-age=2592000
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
GET /qzone_v6/feed.css HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Fri, 09 Nov 2012 02:00:29 GMT
Content-Length: 12466
Content-Encoding: gzip
Etag: &quot;509c63bd-1377d&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/gb/skin/88.css HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Thu, 01 Nov 2012 09:05:21 GMT
Content-Length: 2277
Content-Encoding: gzip
Etag: &quot;50923b51-3920&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /ac/qzfl/release/expand/delegate.js?max_age=864000 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Tue, 19 Jun 2012 06:26:12 GMT
Content-Length: 1411
Content-Encoding: gzip
Etag: &quot;4fe01b84-11a9&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v5/namecardv2.js?max_age=31104001 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Wed, 08 Aug 2012 07:33:05 GMT
Content-Length: 866
Content-Encoding: gzip
Etag: &quot;50221631-6ea&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /ac/b.gif HTTP/1.1

Host: qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/gif
Server: CWS-imgcache
Last-Modified: Wed, 08 Nov 2006 08:06:22 GMT
Content-Length: 43
Cache-Control: max-age=3629
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
GET /qzone/v6/qm/qm_218.js HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 28 Sep 2012 07:05:09 GMT
Content-Length: 1231
Content-Encoding: gzip
Etag: &quot;50654c25-9f4&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/space_item/orig/3/72019_top.jpg HTTP/1.1

Host: os.i.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: org-imgcache
Last-Modified: Thu, 09 Feb 2012 10:52:38 GMT
Content-Length: 84923
Etag: &quot;4f33a576-14bbb&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:01:54 GMT
Connection: keep-alive
GET /cgi-bin/user/qzone_cgi_firstpage_unifycnt_sh?n_xy_count=1&rd=0.22554550387059324&g_tk=5381 HTTP/1.1

Host: rsh.qzone.qq.com
GET /cgi-bin/user/qzone_cgi_firstpage_unifycnt_sh?n_xy_count=1&amp;rd=0.22554550387059324&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript; charset=utf-8
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Cache-Control: no-cache
Content-Length: 100
X-N: S, S
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET / HTTP/1.1

Host: qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: text/html
Server: org-imgcache
Last-Modified: Fri, 04 Nov 2011 08:57:26 GMT
Content-Length: 3186
Location: http://qzs.qq.com/index.html
Content-Encoding: gzip
Etag: &quot;4eb3a8f6-2204&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/applib/embeded.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 27 Jul 2012 08:13:16 GMT
Content-Length: 1978
Content-Encoding: gzip
Etag: &quot;50124d9c-f31&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v5/namecardv2.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Wed, 08 Aug 2012 07:33:05 GMT
Content-Length: 866
Content-Encoding: gzip
Etag: &quot;50221631-6ea&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v5/owner2/ic/ic_trigger_mod_v3.0.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Thu, 11 Oct 2012 08:59:35 GMT
Content-Length: 4837
Content-Encoding: gzip
Etag: &quot;50768a77-391f&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v5/owner2/ic/ic_core_v2.1.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Wed, 14 Nov 2012 02:07:32 GMT
Content-Length: 26147
Content-Encoding: gzip
Etag: &quot;50a2fce4-16ac9&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v5/toolpages/getset.swf HTTP/1.1

Host: qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-shockwave-flash
Server: Apache
Last-Modified: Sun, 07 Sep 2008 19:26:51 GMT
Etag: &quot;414-4565348d474c0&quot;
Accept-Ranges: bytes
Content-Length: 1044
Cache-Control: max-age=4427
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
GET /qzone_v6/feed_ifeeds_template.css?max-age=2592000 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Thu, 23 Feb 2012 10:24:04 GMT
Content-Length: 2200
Content-Encoding: gzip
Etag: &quot;4f4613c4-2aec&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:01:55 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/getprofilepage?uin=1826355829&mod=1&g_tk=5381 HTTP/1.1

Host: drift.qzone.qq.com
GET /cgi-bin/getprofilepage?uin=1826355829&amp;mod=1&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Connection: close
Server: QZHTTP-2.35.2
Date: Sat, 17 Nov 2012 19:01:55 GMT
Content-Encoding: gzip
Content-Length: 235
GET /cgi-bin/blognew/blog_get_titlelist?uin=1826355829&vuin=0&pos=0&numperpage=10&r=0.6545643531987747&g_tk=5381 HTTP/1.1

Host: b.qzone.qq.com
GET /cgi-bin/blognew/blog_get_titlelist?uin=1826355829&amp;vuin=0&amp;pos=0&amp;numperpage=10&amp;r=0.6545643531987747&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Content-Length: 268
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /campus/626d9dec69b7ef838bf647936835424a1bca9edb64243e8a40e44d125a9eaa284e6dad21dc0e614f/30 HTTP/1.1

Host: xy.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 735
Last-Modified: Fri, 28 Sep 2012 22:35:09 GMT
Cache-Control: max-age=2592000
X-Delay: 2751 us
X-BmpVal: 010001009DB56550
X-Check: 0
X-Info: real
GET /campus/56aa7deb8eddda6c235339fbd4c868b3dc2523d31c858c80258bcbe0219ea946bb544f22bfe1ab08/30 HTTP/1.1

Host: xy.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 768
Last-Modified: Sun, 29 Apr 2012 15:08:53 GMT
Cache-Control: max-age=2592000
X-Delay: 2905 us
X-BmpVal: 0100010005E99C4F
X-Check: 0
X-Info: real
GET /cgi-bin/custom/output_custom_window.cgi?uin=1826355829&type=html&t=0.00968965546041145&g_tk=5381 HTTP/1.1

Host: b.qzone.qq.com
GET /cgi-bin/custom/output_custom_window.cgi?uin=1826355829&amp;type=html&amp;t=0.00968965546041145&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Cache-Control: max-age=0
Content-Length: 432
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/user/qzone_cgi_firstpage_unifycnt?uin=0&n_friend=1&n_app_pop=1&n_xy_msg=1&n_app_help=1&n_twitter_cnt=1&n_video_cnt=1&n_group_cnt=1&n_hotword_cnt=1&rd=0.7082873751096795&g_tk=5381 HTTP/1.1

Host: r.qzone.qq.com
GET /cgi-bin/user/qzone_cgi_firstpage_unifycnt?uin=0&amp;n_friend=1&amp;n_app_pop=1&amp;n_xy_msg=1&amp;n_app_help=1&amp;n_twitter_cnt=1&amp;n_video_cnt=1&amp;n_group_cnt=1&amp;n_hotword_cnt=1&amp;rd=0.7082873751096795&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript; charset=utf-8
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Cache-Control: no-cache
Etag: &quot;2435259044&quot;
Content-Length: 100
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /mblogpic/2c61eb90babf31b82f72/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 6965
Last-Modified: Sun, 11 Nov 2012 18:30:15 GMT
Cache-Control: max-age=2592000
X-Delay: 11078 us
X-Info: real data
GET /cgi-bin/qzonenext/getplcount.cgi?hostuin=1826355829&g_tk=5381 HTTP/1.1

Host: snsapp.qzone.qq.com
GET /cgi-bin/qzonenext/getplcount.cgi?hostuin=1826355829&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/plain; charset=UTF-8
Server: QZHTTP-2.37.1
Content-Encoding: gzip
Cache-Control: no-cache
Content-Length: 127
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/tfriend/cgi_like_get_num?biz=1826355829&beta=0.585985614873179&fupdate=1&g_tk=5381 HTTP/1.1

Host: r.qzone.qq.com
GET /cgi-bin/tfriend/cgi_like_get_num?biz=1826355829&amp;beta=0.585985614873179&amp;fupdate=1&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript; charset=utf-8
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Etag: &quot;2255051164&quot;
Content-Length: 126
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/new/msgb_output_commentlist?uin=1826355829&num=11&start=1&json=1&r=0.995793191916124&g_tk=5381 HTTP/1.1

Host: m.qzone.qq.com
GET /cgi-bin/new/msgb_output_commentlist?uin=1826355829&amp;num=11&amp;start=1&amp;json=1&amp;r=0.995793191916124&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Cache-Control: max-age=3600
Content-Length: 357
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/gb/img/nodata_shuoshuo_60x60.png HTTP/1.1

Host: qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Mon, 08 Aug 2011 02:50:55 GMT
Content-Length: 713
Etag: &quot;4e3f4f0f-2c9&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
GET /cgi-bin/video/cgi_list_video?uin=1826355829&output_type=json&charset=UTF-8&source=1&r=0.9729322261205432&g_tk=5381 HTTP/1.1

Host: xavideo.photo.qq.com
GET /cgi-bin/video/cgi_list_video?uin=1826355829&amp;output_type=json&amp;charset=UTF-8&amp;source=1&amp;r=0.9729322261205432&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: QZHTTP-2.37.1
Date: Sat, 17 Nov 2012 19:01:56 GMT
Content-Encoding: gzip
Content-Length: 52
Connection: keep-alive
GET /mblogpic/2c740994f95b508b1494/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 12854
Last-Modified: Sun, 11 Nov 2012 19:20:46 GMT
Cache-Control: max-age=2592000
X-Delay: 8052 us
X-Info: real data
GET /music/qzone/music_plugin_v6.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Mon, 29 Oct 2012 08:07:43 GMT
Content-Length: 9002
Content-Encoding: gzip
Etag: &quot;508e394f-8f5d&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /get/flashplayer/update/current/xml/version_en_win_pl.xml HTTP/1.1

Host: fpdownload2.macromedia.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
HTTP/1.1 200 OK

Content-Type: text/xml
Server: Apache
Last-Modified: Wed, 31 Oct 2012 21:22:10 GMT
Etag: &quot;87de33-256-4cd617ed12480&quot;
Accept-Ranges: bytes
Content-Length: 598
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
GET /ac/qzone_v5/avatar/50/5001.jpg HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: Apache
Last-Modified: Wed, 27 Oct 2010 08:25:53 GMT
Etag: &quot;8e5-49394f93fe640&quot;
Accept-Ranges: bytes
Content-Length: 2277
Cache-Control: max-age=6219
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
GET /qzone/em/e100.gif HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/gif
Server: org-imgcache
Last-Modified: Fri, 20 Jun 2008 09:00:17 GMT
Content-Length: 1764
Etag: &quot;485b71a1-6e4&quot;
Cache-Control: max-age=2592000
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
GET /qzone/em/e112.gif HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/gif
Server: org-imgcache
Last-Modified: Fri, 20 Jun 2008 09:00:21 GMT
Content-Length: 2201
Etag: &quot;485b71a5-899&quot;
Cache-Control: max-age=2592000
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
GET /qzone/v6/widget/cross.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Thu, 26 Apr 2012 01:48:51 GMT
Content-Length: 3273
Content-Encoding: gzip
Etag: &quot;4f98a983-2b3d&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/custom/custom_module_proxy.html HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/html
Server: org-imgcache
Last-Modified: Thu, 23 Feb 2012 08:46:43 GMT
Content-Length: 3793
Content-Encoding: gzip
Etag: &quot;4f45fcf3-24b2&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /mblogpic/d3600a4e9aeec4b5dcf4/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 17619
Last-Modified: Sun, 11 Nov 2012 18:02:02 GMT
Cache-Control: max-age=2592000
X-Delay: 9706 us
X-Info: real data
GET /mblogpic/9b0ead0bdbf502b77708/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 14652
Last-Modified: Sun, 11 Nov 2012 17:04:57 GMT
Cache-Control: max-age=2592000
X-Delay: 13180 us
X-Info: real data
GET /mblogpic/c8ae54da4810ffbfcf66/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 19901
Last-Modified: Sun, 11 Nov 2012 16:24:06 GMT
Cache-Control: max-age=2592000
X-Delay: 10784 us
X-Info: real data
GET /qzone/v6/widget/cross.js HTTP/1.1

Host: qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzonestyle.gtimg.cn/qzone/v6/custom/custom_module_proxy.html
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Thu, 26 Apr 2012 01:48:51 GMT
Content-Length: 3273
Content-Encoding: gzip
Etag: &quot;4f98a983-2b3d&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:57 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /ac/qzone/qzfl/widget/pinyin.js?_20121108_1 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Wed, 12 Jan 2011 07:33:17 GMT
Etag: &quot;4d2d593d-6c7e&quot;
Content-Encoding: gzip
Content-Length: 19139
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:01:57 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /mblogpic/9b098fe2a12da44de1aa/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 23489
Last-Modified: Sun, 11 Nov 2012 18:36:44 GMT
Cache-Control: max-age=2592000
X-Delay: 9990 us
X-Info: real data
GET /mblogpic/f218250c5b64427769f8/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 17895
Last-Modified: Sun, 11 Nov 2012 18:48:33 GMT
Cache-Control: max-age=2592000
X-Delay: 12643 us
X-Info: real data
GET /qzone_v6/home_normal.css HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzonestyle.gtimg.cn/qzone/v6/custom/custom_module_proxy.html
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Thu, 11 Oct 2012 09:14:40 GMT
Etag: &quot;50768e00-17c6d&quot;
Content-Encoding: gzip
Content-Length: 14645
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:01:57 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/tfriend/cgi_like_get_following_list?uin=1826355829&beginid=0&endid=2&beta=0.04690277112092456&fupdate=1&g_tk=5381 HTTP/1.1

Host: r.qzone.qq.com
GET /cgi-bin/tfriend/cgi_like_get_following_list?uin=1826355829&amp;beginid=0&amp;endid=2&amp;beta=0.04690277112092456&amp;fupdate=1&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript; charset=utf-8
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Etag: &quot;3210817098&quot;
Content-Length: 326
Date: Sat, 17 Nov 2012 19:01:57 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /mblogpic/01d51ff417b79c3541fa/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 14380
Last-Modified: Sun, 11 Nov 2012 14:24:47 GMT
Cache-Control: max-age=2592000
X-Delay: 6433 us
X-Info: real data
GET /mblogpic/fdbe4efc77c3d5d64142/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 21469
Last-Modified: Sun, 11 Nov 2012 16:40:03 GMT
Cache-Control: max-age=2592000
X-Delay: 7856 us
X-Info: real data
GET /mblogpic/9cba2fb28f7b41c9b0b8/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 11072
Last-Modified: Sun, 11 Nov 2012 18:06:45 GMT
Cache-Control: max-age=2592000
X-Delay: 5555 us
X-Info: real data
GET /mblogpic/915cff96198e64e28e78/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 18615
Last-Modified: Sun, 11 Nov 2012 17:16:07 GMT
Cache-Control: max-age=2592000
X-Delay: 11170 us
X-Info: real data
GET /mblogpic/ac42e5d4e2f711b1625a/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 20136
Last-Modified: Sun, 11 Nov 2012 20:25:29 GMT
Cache-Control: max-age=2592000
X-Delay: 5338 us
X-Info: real data
GET /mblogpic/c739baad139192fcf290/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 20462
Last-Modified: Sun, 11 Nov 2012 12:04:38 GMT
Cache-Control: max-age=2592000
X-Delay: 11855 us
X-Info: real data
GET /c/=/qzone/v6/nshop/concats/base.js,/qzone/v6/nshop/concats/dditem.js,/qzone/v6/nshop/concats/menuview.js,/qzone/v6/nshop/concats/otherview.js,/qzone/v6/nshop/concats/scenesetup.js,/qzone/v6/nshop/concats/xwsetup.js,/qzone/v6/nshop/concats/normalsetup.js,/qzone/v6/nshop/concats/ofphidetitlesetup.js,/qzone/v6/nshop/concats/ofpnormalsetup.js,/qzone/v6/nshop/concats/templatesetup.js?max_age=86400 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 09 Nov 2012 02:26:01 GMT
Content-Length: 22971
Content-Encoding: gzip
Etag: &quot;509c69b9-14472&quot;
Cache-Control: max-age=532
Date: Sat, 17 Nov 2012 19:01:57 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/biz/comm/js/qbs.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Mon, 12 Nov 2012 09:25:59 GMT
Content-Length: 1050
Content-Encoding: gzip
Etag: &quot;50a0c0a7-8b4&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:01:57 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /fcg-bin/cgi_get_score.fcg?uins=1134590615%2C1249397588&mask=7&g_tk=5381 HTTP/1.1

Host: r.qzone.qq.com
GET /fcg-bin/cgi_get_score.fcg?uins=1134590615%2C1249397588&amp;mask=7&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: randomSeed=44201
HTTP/1.1 200 OK

Content-Type: text/html
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Cache-Control: max-age=86400
Etag: &quot;534372836&quot;
Content-Length: 156
Date: Sat, 17 Nov 2012 19:01:58 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /fcg-bin/cgi_emotion_list.fcg?uin=1826355829&loginUin=0&s=44201&num=3&noflower=1&g_tk=5381 HTTP/1.1

Host: g.qzone.qq.com
GET /fcg-bin/cgi_emotion_list.fcg?uin=1826355829&amp;loginUin=0&amp;s=44201&amp;num=3&amp;noflower=1&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: randomSeed=44201
HTTP/1.1 200 OK

Content-Type: text/html
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Last-Modified: Sat, 17 Nov 2012 19:01:58 GMT
Content-Length: 158
Date: Sat, 17 Nov 2012 19:01:58 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/cgi_get_tips?uin=1826355829&ver=6&refer=qzone&r=0.9721046917730736&g_tk=5381 HTTP/1.1

Host: tipsimage2.qq.com
GET /cgi-bin/cgi_get_tips?uin=1826355829&amp;ver=6&amp;refer=qzone&amp;r=0.9721046917730736&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: QZHTTP-2.37.1
Date: Sat, 17 Nov 2012 19:01:55 GMT
Content-Encoding: gzip
Content-Length: 706
Connection: keep-alive
GET /qzone_v6/img/qz_vip_icon/qz_vip_icon_s.png?max_age=19830211&d=20121102112235 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone_v6/img/qz_vip_icon/qz_vip_icon_s.png?max_age=19830211&amp;d=20121102112235 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzonestyle.gtimg.cn/qzone_v6/home_fixed.css?max_age=31536000&amp;d=201210111746
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Mon, 05 Nov 2012 09:43:53 GMT
Content-Length: 2553
Etag: &quot;50978a59-9f9&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:01:58 GMT
Connection: keep-alive
GET /qzone/biz/ac/comm/qbslib.js?1.3.5.0 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Mon, 12 Nov 2012 09:25:59 GMT
Content-Length: 16356
Content-Encoding: gzip
Etag: &quot;50a0c0a7-bc38&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:01:59 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /mediastyle/app/qzone_toolbar/tb_v5.css HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Tue, 23 Oct 2012 07:11:34 GMT
Content-Length: 1202
Content-Encoding: gzip
Etag: &quot;50864326-f1d&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:01:59 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /mblogpic/d9bc054cbdf93a9dea20/240 HTTP/1.1

Host: t0.qpic.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://rsh.qzone.qq.com/cgi-bin/feeds/feeds_html_module?i_uin=1826355829&amp;i_login_uin=0&amp;mode=4&amp;style=88&amp;version=6&amp;needDelOpr=true&amp;transparence=true&amp;hideExtend=false&amp;showcount=15&amp;MORE_FEEDS_CGI=http%3A%2F%2Frsh.qzone.qq.com%2Fcgi-bin%2Ffeeds%2Ffeeds_html_act_all
HTTP/1.1 200 OK

Content-Type: image/png
Server: ImgHttp3.0.0
Content-Length: 173652
Last-Modified: Sun, 11 Nov 2012 18:50:04 GMT
Cache-Control: max-age=2592000
X-Delay: 17587 us
X-Info: real data
GET /cgi-bin/tfriend/friend_hat_get.cgi?hat_seed=1&uin=0&fupdate=1&g_tk=5381 HTTP/1.1

Host: r.qzone.qq.com
GET /cgi-bin/tfriend/friend_hat_get.cgi?hat_seed=1&amp;uin=0&amp;fupdate=1&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: randomSeed=44201; __Q_w_s_hat_seed=1
HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Cache-Control: no-cache
Etag: &quot;1126763595&quot;
Content-Length: 88
Date: Sat, 17 Nov 2012 19:01:59 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/tfriend/cgi_like_check_and_getfansnum.cgi?uin=2202409773&mask=3&r=0.09631686303599551&g_tk=5381&fupdate=1 HTTP/1.1

Host: r.qzone.qq.com
GET /cgi-bin/tfriend/cgi_like_check_and_getfansnum.cgi?uin=2202409773&amp;mask=3&amp;r=0.09631686303599551&amp;g_tk=5381&amp;fupdate=1 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: randomSeed=44201; __Q_w_s_hat_seed=1
HTTP/1.1 200 OK

Content-Type: application/x-javascript; charset=utf-8
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Etag: &quot;3785915870&quot;
Content-Length: 134
Date: Sat, 17 Nov 2012 19:01:59 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/blognew/blog_get_countlist?uin=1826355829&type=1&r=0.5899247257958509&blogids=1352192069&blogids=1351220718&g_tk=5381 HTTP/1.1

Host: b.qzone.qq.com
GET /cgi-bin/blognew/blog_get_countlist?uin=1826355829&amp;type=1&amp;r=0.5899247257958509&amp;blogids=1352192069&amp;blogids=1351220718&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: randomSeed=44201
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Content-Length: 122
Date: Sat, 17 Nov 2012 19:01:59 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/tfriend/cgi_like_check_and_getfansnum.cgi?uin=88882222&mask=3&r=0.9278490994959959&g_tk=5381&fupdate=1 HTTP/1.1

Host: r.qzone.qq.com
GET /cgi-bin/tfriend/cgi_like_check_and_getfansnum.cgi?uin=88882222&amp;mask=3&amp;r=0.9278490994959959&amp;g_tk=5381&amp;fupdate=1 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: randomSeed=44201; __Q_w_s_hat_seed=1
HTTP/1.1 200 OK

Content-Type: application/x-javascript; charset=utf-8
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Etag: &quot;4105312177&quot;
Content-Length: 133
Date: Sat, 17 Nov 2012 19:01:59 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /psb?/V13UbSGT39VdxK/l.rsqO2r24ldDSa2GhdGNwDqwefaXkFl*5AYLUdlTzo!/b/dIeGOEKjGQAA&bo=kADiAAAAAAABAFU! HTTP/1.1

Host: b111.photo.store.qq.com
GET /psb?/V13UbSGT39VdxK/l.rsqO2r24ldDSa2GhdGNwDqwefaXkFl*5AYLUdlTzo!/b/dIeGOEKjGQAA&amp;bo=kADiAAAAAAABAFU! HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Cache-Control: max-age=31536000
Content-Length: 38088
Last-Modified: Mon, 18 Dec 2006 07:25:14 GMT
Server: httpserver
Server-Time: 43
GET /cgi-bin/qzapp/get_recentapp?uin=0&fuin=1826355829&g_tk=5381 HTTP/1.1

Host: r.qzone.qq.com
GET /cgi-bin/qzapp/get_recentapp?uin=0&amp;fuin=1826355829&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: randomSeed=44201; __Q_w_s_hat_seed=1
HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8
Server: QZHTTP-2.35.2
Content-Encoding: gzip
Etag: &quot;1858167744&quot;
Content-Length: 65
Date: Sat, 17 Nov 2012 19:01:59 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/2202409773/2202409773/50 HTTP/1.1

Host: qlogo2.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 2114
Last-Modified: Thu, 22 Dec 2011 18:27:02 GMT
Cache-Control: max-age=2592000
X-Delay: 3147 us
X-BmpVal: 01000000F505F34E
X-Check: 0
Seq: 0
X-Seq: 0
GET /qlogo_list.cgi?count=2&uins=1134590615%2C1249397588&g_tk=5381 HTTP/1.1

Host: qzonebit.store.qq.com
GET /qlogo_list.cgi?count=2&amp;uins=1134590615%2C1249397588&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: hphttp
Content-Length: 41
Cache-Control: max-age=86400
GET /qzone/v6/accessory/accessory.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 16 Nov 2012 02:40:30 GMT
Content-Length: 14630
Content-Encoding: gzip
Etag: &quot;50a5a79e-bbe4&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:00 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/1134590615/1134590615/50 HTTP/1.1

Host: qlogo4.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Server: ImgHttp3.0.0
Content-Length: 1600
Last-Modified: Wed, 19 Sep 2012 02:09:21 GMT
Cache-Control: max-age=2592000
X-Delay: 4442 us
X-BmpVal: 01000000D1B85850
X-Check: 0
Seq: 0
X-Seq: 0
GET /d.fcg?p=qzone_searchbar_txt_1&&g_tk=5381 HTTP/1.1

Host: broadcast.qq.com
GET /d.fcg?p=qzone_searchbar_txt_1&amp;&amp;g_tk=5381 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript; charset=utf-8
Connection: close
Server: QZHTTP-2.30.1
Date: Sat, 17 Nov 2012 19:02:01 GMT
Content-Encoding: gzip
Content-Length: 220
Cache-Control: max-age=0, must-revalidate
Expires: Thu, 01 Dec 1994 16:00:00 GMT
GET /qzone/1249397588/1249397588/50 HTTP/1.1

Host: qlogo1.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/png
Server: ImgHttp3.0.0
Content-Length: 4686
Last-Modified: Thu, 01 Nov 2012 17:12:41 GMT
Cache-Control: max-age=2592000
X-Delay: 4710 us
X-BmpVal: 010000008D409250
X-Check: 0
Seq: 0
X-Seq: 0
GET /qzone/v6/navigation/navigation_search_2.0.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Tue, 25 Sep 2012 02:54:25 GMT
Content-Length: 8496
Content-Encoding: gzip
Etag: &quot;50611ce1-7efa&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/accessory/page_logo.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Mon, 20 Feb 2012 09:40:04 GMT
Content-Length: 1429
Content-Encoding: gzip
Etag: &quot;4f4214f4-b41&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/accessory/tips_engine.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Thu, 16 Aug 2012 08:39:25 GMT
Content-Length: 2329
Content-Encoding: gzip
Etag: &quot;502cb1bd-19ed&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/88882222/88882222/50 HTTP/1.1

Host: qlogo3.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/gif
Server: ImgHttp3.0.0
Content-Length: 12093
Last-Modified: Thu, 12 Apr 2012 17:58:19 GMT
Cache-Control: max-age=2592000
X-Delay: 4872 us
X-BmpVal: 010000003AA7864F
X-Check: 0
Seq: 0
X-Seq: 0
GET /qzone_v6/gb/w3c/html5_28_bp.png HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Wed, 15 Feb 2012 10:06:29 GMT
Content-Length: 827
Etag: &quot;4f3b83a5-33b&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
GET /qzone_v6/gb/w3c/w3cmember_28.png HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Wed, 15 Feb 2012 10:20:29 GMT
Content-Length: 1184
Etag: &quot;4f3b86ed-4a0&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
GET /qzone_v6/img/icenter/loading_24_24.gif HTTP/1.1

Host: qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/gif
Server: org-imgcache
Last-Modified: Mon, 27 Aug 2012 01:35:58 GMT
Content-Length: 2420
Etag: &quot;503acefe-974&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
GET /qzone_v6/qz_smart_search.css HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Tue, 25 Sep 2012 04:53:09 GMT
Content-Length: 890
Content-Encoding: gzip
Etag: &quot;506138b5-bbe&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/gb_ticker.css HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Thu, 25 Oct 2012 09:52:34 GMT
Content-Length: 2688
Content-Encoding: gzip
Etag: &quot;50890be2-3c9e&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/vas/app/extend/extend.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Wed, 14 Nov 2012 07:04:55 GMT
Content-Length: 12932
Content-Encoding: gzip
Etag: &quot;50a34297-104f7&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/gb/msg_channel/owner_tips_v3.css?max_age=31536000 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Wed, 11 Apr 2012 08:05:06 GMT
Content-Length: 4670
Content-Encoding: gzip
Etag: &quot;4f853b32-5ee9&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/mall/app/extend/extend.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Mon, 08 Oct 2012 03:01:59 GMT
Content-Length: 1028
Content-Encoding: gzip
Etag: &quot;50724227-9a3&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/sprite/gb_ticker.png?max_age=19830211&d=20121025174948 HTTP/1.1

Host: os.qzonestyle.gtimg.cn
GET /qzone_v6/sprite/gb_ticker.png?max_age=19830211&amp;d=20121025174948 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzonestyle.gtimg.cn/qzone_v6/gb_ticker.css
HTTP/1.1 200 OK

Content-Type: image/png
Server: org-imgcache
Last-Modified: Thu, 25 Oct 2012 09:52:34 GMT
Content-Length: 5119
Etag: &quot;50890be2-13ff&quot;
Cache-Control: max-age=259200
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
GET /qzone/v6/widget/message_panel.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 09 Nov 2012 02:38:46 GMT
Content-Length: 3462
Content-Encoding: gzip
Etag: &quot;509c6cb6-27a3&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:01 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /psb?/V13UbSGT1eDAD0/c7Qb3dfko5L7B4zjSF3MszeBxGme4ni6e6xrPYt*ot4!/i/dPK*I0iWGQAA HTTP/1.1

Host: a121.photo.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Cache-Control: max-age=94608000
Content-Length: 11165
Last-Modified: Mon, 18 Dec 2006 07:25:14 GMT
Server: httpserver
Server-Time: 9
GET /psb?/V13UbSGT39VdxK/5pqlsFHLl2WyKECCb8APUlRAaD3qQ6QZfbsbY4FYaKQ!/i/dLMJN0LpGQAA HTTP/1.1

Host: a111.photo.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Cache-Control: max-age=94608000
Content-Length: 12835
Last-Modified: Mon, 18 Dec 2006 07:25:14 GMT
Server: httpserver
Server-Time: 8
GET /qzone_v6/qz_vip_tip_v2.css?max_age=31536000 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Tue, 31 Jul 2012 06:33:14 GMT
Content-Length: 2416
Content-Encoding: gzip
Etag: &quot;50177c2a-3479&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:02:02 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /psb?/V13UbSGT39VdxK/iOiB5HaYYwLz770TLBnxdGjehO8eEZxQakJyUkBNajc!/i/dLMJN0LpGQAA HTTP/1.1

Host: a111.photo.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/jpeg
Cache-Control: max-age=94608000
Content-Length: 12835
Last-Modified: Mon, 18 Dec 2006 07:25:14 GMT
Server: httpserver
Server-Time: 12
GET /p.gif?oid=20120924114258929&wid=1&t=0.28129455172093354 HTTP/1.1

Host: qping.qq.com
GET /p.gif?oid=20120924114258929&amp;wid=1&amp;t=0.28129455172093354 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/html
Connection: close
Server: QZHTTP-2.35.2
Date: Sat, 17 Nov 2012 19:02:02 GMT
Content-Length: 2
GET /qzone/v5/fragment/error_report.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Mon, 22 Mar 2010 04:23:18 GMT
Content-Length: 317
Content-Encoding: gzip
Etag: &quot;4ba6f0b6-1e2&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:02 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/r.cgi?1=3&flag1=175&flag2=201&flag3=3&sds=0.1631660005919504 HTTP/1.1

Host: isdspeed.qq.com
GET /cgi-bin/r.cgi?1=3&amp;flag1=175&amp;flag2=201&amp;flag3=3&amp;sds=0.1631660005919504 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8
Server: nginx
Date: Sat, 17 Nov 2012 19:02:02 GMT
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Content-Encoding: gzip
GET /qzone/brand_item/qbs/qztips.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Tue, 29 May 2012 01:53:32 GMT
Etag: &quot;4fc42c1c-d&quot;
Content-Encoding: gzip
Content-Length: 33
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:02:02 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /pingd?cc=-&ct=-&java=1&lang=-&pf=-&scl=-&scr=-&tt=-&tz=-8&vs=3.3&flash=&dm=about.appstore.qq.com&url=indexModule&rdm=-&rurl=/&pgv_pvid=4808954564&sds=0.6711685522530744 HTTP/1.1

Host: pingfore.qq.com
GET /pingd?cc=-&amp;ct=-&amp;java=1&amp;lang=-&amp;pf=-&amp;scl=-&amp;scr=-&amp;tt=-&amp;tz=-8&amp;vs=3.3&amp;flash=&amp;dm=about.appstore.qq.com&amp;url=indexModule&amp;rdm=-&amp;rurl=/&amp;pgv_pvid=4808954564&amp;sds=0.6711685522530744 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0
GET /psb?/V13UbSGT39VdxK/wN8wYWh8SlQh2KtgBkW0ZvxHoSCzgOLQApD4qba6AwU!/i/dKDpukhPDQAA HTTP/1.1

Host: a122.photo.store.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: image/png
Cache-Control: max-age=94608000
Content-Length: 21118
Last-Modified: Mon, 18 Dec 2006 07:25:14 GMT
Server: httpserver
Server-Time: 8
GET /qzone/v6/accessory/plugin/zoom.swf HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: application/x-shockwave-flash
Server: org-imgcache
Last-Modified: Tue, 17 Apr 2012 02:06:58 GMT
Content-Length: 2356
Etag: &quot;4f8cd042-934&quot;
Cache-Control: max-age=7200
Date: Sat, 17 Nov 2012 19:02:06 GMT
Connection: keep-alive
GET /qzone/vas/static/app/qzstore/appstore20.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Wed, 23 May 2012 03:38:25 GMT
Etag: &quot;4fbc5bb1-2d&quot;
Content-Encoding: gzip
Content-Length: 65
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:07 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/photo/zone/icenter_popup_2012.html?params=0 HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: text/html
Server: org-imgcache
Last-Modified: Wed, 14 Nov 2012 02:46:26 GMT
Content-Length: 5703
Content-Encoding: gzip
Etag: &quot;50a30602-4a68&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:07 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/applib/embeded.js HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzs.qq.com/qzone/photo/zone/icenter_popup_2012.html?params=0
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 27 Jul 2012 08:13:16 GMT
Content-Length: 1978
Content-Encoding: gzip
Etag: &quot;50124d9c-f31&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:07 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone_v6/photo_scan_layer.css?max_age=31536000&t=20121023 HTTP/1.1

Host: os.qzs.qq.com
GET /qzone_v6/photo_scan_layer.css?max_age=31536000&amp;t=20121023 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzs.qq.com/qzone/photo/zone/icenter_popup_2012.html?params=0
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: text/css
Server: org-imgcache
Last-Modified: Tue, 23 Oct 2012 03:02:51 GMT
Content-Length: 6769
Content-Encoding: gzip
Etag: &quot;508608db-903d&quot;
Cache-Control: max-age=3600
Date: Sat, 17 Nov 2012 19:02:07 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /ac/qzfl/appclientlib.js HTTP/1.1

Host: os.qzs.qq.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzs.qq.com/qzone/photo/zone/icenter_popup_2012.html?params=0
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 27 Jul 2012 08:20:49 GMT
Content-Length: 1848
Content-Encoding: gzip
Etag: &quot;50124f61-10b2&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:02:08 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/photo/zone/script/newSlideView.js?max_age=31536000&t=20121114 HTTP/1.1

Host: os.qzs.qq.com
GET /qzone/photo/zone/script/newSlideView.js?max_age=31536000&amp;t=20121114 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://os.qzs.qq.com/qzone/photo/zone/icenter_popup_2012.html?params=0
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Fri, 16 Nov 2012 09:47:31 GMT
Content-Length: 24298
Content-Encoding: gzip
Etag: &quot;50a60bb3-1ab80&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:08 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /qzone/v6/accessory/stat_monitor.js HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Thu, 15 Nov 2012 04:11:37 GMT
Content-Length: 4899
Content-Encoding: gzip
Etag: &quot;50a46b79-384e&quot;
Cache-Control: max-age=600
Date: Sat, 17 Nov 2012 19:02:08 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/v.cgi?flag1=400574&flag2=1&flag3=10&1=1&2=1000&sds=0.7902301644028071 HTTP/1.1

Host: isdspeed.qq.com
GET /cgi-bin/v.cgi?flag1=400574&amp;flag2=1&amp;flag3=10&amp;1=1&amp;2=1000&amp;sds=0.7902301644028071 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8
Server: nginx
Date: Sat, 17 Nov 2012 19:02:09 GMT
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Content-Encoding: gzip
GET /cgi-bin/v.cgi?flag1=400474&flag2=1&flag3=20&1=1&2=15346&sds=0.5048723293936914 HTTP/1.1

Host: isdspeed.qq.com
GET /cgi-bin/v.cgi?flag1=400474&amp;flag2=1&amp;flag3=20&amp;1=1&amp;2=15346&amp;sds=0.5048723293936914 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8
Server: nginx
Date: Sat, 17 Nov 2012 19:02:09 GMT
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Content-Encoding: gzip
GET /cgi-bin/v.cgi?flag1=400436&flag2=1&flag3=99&1=1&2=15346&sds=0.1638593613340822 HTTP/1.1

Host: isdspeed.qq.com
GET /cgi-bin/v.cgi?flag1=400436&amp;flag2=1&amp;flag3=99&amp;1=1&amp;2=15346&amp;sds=0.1638593613340822 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8
Server: nginx
Date: Sat, 17 Nov 2012 19:02:09 GMT
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Content-Encoding: gzip
GET /ac/qzfl/release/widget/tips.js?max_age=1209600 HTTP/1.1

Host: os.qzonestyle.gtimg.cn

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
HTTP/1.1 200 OK

Content-Type: application/x-javascript
Server: org-imgcache
Last-Modified: Tue, 17 Apr 2012 07:56:54 GMT
Content-Length: 4329
Content-Encoding: gzip
Etag: &quot;4f8d2246-4307&quot;
Cache-Control: max-age=31104000
Date: Sat, 17 Nov 2012 19:02:09 GMT
Connection: keep-alive
Vary: Accept-Encoding
GET /cgi-bin/r.cgi?1=1322&2=1329&3=1323&4=1326&5=1324&21=1333&23=5528&24=5530&25=5534&31=1324&flag1=175&flag2=363&flag3=13&sds=0.20955297071690793 HTTP/1.1

Host: isdspeed.qq.com
GET /cgi-bin/r.cgi?1=1322&amp;2=1329&amp;3=1323&amp;4=1326&amp;5=1324&amp;21=1333&amp;23=5528&amp;24=5530&amp;25=5534&amp;31=1324&amp;flag1=175&amp;flag2=363&amp;flag3=13&amp;sds=0.20955297071690793 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

Content-Type: text/html; charset=utf-8
Server: nginx
Date: Sat, 17 Nov 2012 19:02:10 GMT
Transfer-Encoding: chunked
Connection: close
Vary: Accept-Encoding
Content-Encoding: gzip
GET /pingd?cc=-&ct=-&java=1&lang=-&pf=-&scl=-&scr=-&tt=-&tz=-8&vs=3.3&flash=&dm=user.qzone.qq.com&url=/main&rdm=-&rurl=/&pgv_pvid=4808954564&sds=0.055817662901172405 HTTP/1.1

Host: pingfore.qq.com
GET /pingd?cc=-&amp;ct=-&amp;java=1&amp;lang=-&amp;pf=-&amp;scl=-&amp;scr=-&amp;tt=-&amp;tz=-8&amp;vs=3.3&amp;flash=&amp;dm=user.qzone.qq.com&amp;url=/main&amp;rdm=-&amp;rurl=/&amp;pgv_pvid=4808954564&amp;sds=0.055817662901172405 HTTP/1.1

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://user.qzone.qq.com/1826355829
Cookie: pgv_pvid=4808954564; pgv_info=ssid=s2574034093
HTTP/1.1 200 OK

HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 0