PageSourceSearch

https://www.techlinkall.com/sdk/mdsdk.min.js

js techlinkall.com collected 2026-10-09 01:18:04 UTC 136,693 bytes, 3,652 lines download raw bytes

1!function(e, t) {
2    "object" == typeof exports && "undefined" != typeof module ? t(exports) : "function" == typeof define && define.amd ? define(["exports"], t) : t(((e = "undefined" != typeof globalThis ? globalThis : e || self).sdk_3 = e.sdk_3 || {},
3    e.sdk_3[0] = {}))
4}(this, function(D) {
5    "use strict";
6    function I(e, t) {
7        return e(t = {
8            exports: {}
9        }, t.exports),
10        t.exports
11    }
12    function U(e) {
13        return "object" == typeof e ? null !== e : "function" == typeof e
14    }
15    function q(e) {
16        if (i(e))
17            return e;
18        throw TypeError(e + " is not an object!")
19    }
20    function H(e) {
21        try {
22            return !!e()
23        } catch (e) {
24            return !0
25        }
26    }
27    function z(e) {
28        return ae ? ie.createElement(e) : {}
29    }
30    function B(e, t) {
31        if (!i(e))
32            return e;
33        var r, n;
34        if (t && "function" == typeof (r = e.toString) && !i(n = r.call(e)))
35            return n;
36        if ("function" == typeof (r = e.valueOf) && !i(n = r.call(e)))
37            return n;
38        if (t || "function" != typeof (r = e.toString) || i(n = r.call(e)))
39            throw TypeError("Can't convert object to primitive value");
40        return n
41    }
42    function F(e, t) {
43        return {
44            enumerable: !(1 & e),
45            configurable: !(2 & e),
46            writable: !(4 & e),
47            value: t
48        }
49    }
50    function V(e, t) {
51        return he.call(e, t)
52    }
53    function X(e) {
54        return "Symbol(".concat(void 0 === e ? "" : e, ")_", (++ge + _e).toString(36))
55    }
56    function J(e) {
57        if ("function" != typeof e)
58            throw TypeError(e + " is not a function!");
59        return e
60    }
61    function W(n, o, e) {
62        if (Ee(n),
63        void 0 === o)
64            return n;
65        switch (e) {
66        case 1:
67            return function(e) {
68                return n.call(o, e)
69            }
70            ;
71        case 2:
72            return function(e, t) {
73                return n.call(o, e, t)
74            }
75            ;
76        case 3:
77            return function(e, t, r) {
78                return n.call(o, e, t, r)
79            }
80        }
81        return function() {
82            return n.apply(o, arguments)
83        }
84    }
85    function f(e, t, r) {
86        var n, o, i, a = e & f.F, s = e & f.G, c = e & f.P, u = e & f.B, l = s ? m : e & f.S ? m[t] || (m[t] = {}) : (m[t] || {})[Ne], d = s ? h : h[t] || (h[t] = {}), p = d[Ne] || (d[Ne] = {});
87        for (n in r = s ? t : r)
88            o = ((i = !a && l && void 0 !== l[n]) ? l : r)[n],
89            i = u && i ? Se(o, m) : c && "function" == typeof o ? Se(Function.call, o) : o,
90            l && xe(l, n, o, e & f.U),
91            d[n] != o && g(d, n, i),
92            c && p[n] != o && (p[n] = o)
93    }
94    function G(e) {
95        return Oe.call(e).slice(8, -1)
96    }
97    function K(e) {
98        if (null == e)
99            throw TypeError("Can't call method on  " + e);
100        return e
101    }
102    function Y(e) {
103        return je(Te(e))
104    }
105    function Q(e) {
106        return isNaN(e = +e) ? 0 : (0 < e ? Le : Ce)(e)
107    }
108    function Z(e) {
109        return 0 < e ? Ae(Pe(e), 9007199254740991) : 0
110    }
111    function ee(e, t) {
112        return (e = Pe(e)) < 0 ? Re(e + t, 0) : Me(e, t)
113    }
114    function te(s) {
115        return function(e, t, r) {
116            var n, o = De(e), i = Ie(o.length), a = Ue(r, i);
117            if (s && t != t) {
118                for (; a < i; )
119                    if ((n = o[a++]) != n)
120                        return !0
121            } else
122                for (; a < i; a++)
123                    if ((s || a in o) && o[a] === t)
124                        return s || a || 0;
125            return !s && -1
126        }
127    }
128    function re(e) {
129        return qe[e] || (qe[e] = ye(e))
130    }
131    function ne(e, t) {
132        var r, n = De(e), o = 0, i = [];
133        for (r in n)
134            r != ze && we(n, r) && i.push(r);
135        for (; t.length > o; )
136            !we(n, r = t[o++]) || ~He(i, r) || i.push(r);
137        return i
138    }
139    function oe(e) {
140        return Object(Te(e))
141    }
142    var e = I(function(e) {
143        e = e.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("return this")();
144        "number" == typeof __g && (__g = e)
145    })
146      , t = Object.freeze({
147        __proto__: null,
148        default: e,
149        __moduleExports: e
150    })
151      , r = I(function(e) {
152        e = e.exports = {
153            version: "2.6.12"
154        };
155        "number" == typeof __e && (__e = e)
156    })
157      , n = r.version
158      , n = Object.freeze({
159        __proto__: null,
160        default: r,
161        __moduleExports: r,
162        version: n
163    })
164      , o = Object.freeze({
165        __proto__: null,
166        default: U,
167        __moduleExports: U
168    })
169      , i = o && U
170      , o = Object.freeze({
171        __proto__: null,
172        default: q,
173        __moduleExports: q
174    })
175      , a = Object.freeze({
176        __proto__: null,
177        default: H,
178        __moduleExports: H
179    })
180      , a = a && H
181      , s = !a(function() {
182        return 7 != Object.defineProperty({}, "a", {
183            get: function() {
184                return 7
185            }
186        }).a
187    })
188      , c = Object.freeze({
189        __proto__: null,
190        default: s,
191        __moduleExports: s
192    })
193      , m = t && e || t
194      , ie = m.document
195      , ae = i(ie) && i(ie.createElement)
196      , e = Object.freeze({
197        __proto__: null,
198        default: z,
199        __moduleExports: z
200    })
201      , se = c && s || c
202      , ce = e && z
203      , t = !se && !a(function() {
204        return 7 != Object.defineProperty(ce("div"), "a", {
205            get: function() {
206                return 7
207            }
208        }).a
209    })
210      , s = Object.freeze({
211        __proto__: null,
212        default: t,
213        __moduleExports: t
214    })
215      , c = Object.freeze({
216        __proto__: null,
217        default: B,
218        __moduleExports: B
219    })
220      , ue = o && q
221      , le = s && t || s
222      , de = c && B
223      , pe = Object.defineProperty
224      , e = se ? Object.defineProperty : function(e, t, r) {
225        if (ue(e),
226        t = de(t, !0),
227        ue(r),
228        le)
229            try {
230                return pe(e, t, r)
231            } catch (e) {}
232        if ("get"in r || "set"in r)
233            throw TypeError("Accessors not supported!");
234        return "value"in r && (e[t] = r.value),
235        e
236    }
237      , o = {
238        f: e
239    }
240      , t = Object.freeze({
241        __proto__: null,
242        default: o,
243        __moduleExports: o,
244        f: e
245    })
246      , s = Object.freeze({
247        __proto__: null,
248        default: F,
249        __moduleExports: F
250    })
251      , fe = t && o
252      , me = s && F
253      , c = se ? function(e, t, r) {
254        return fe.f(e, t, me(1, r))
255    }
256    : function(e, t, r) {
257        return e[t] = r,
258        e
259    }
260      , e = Object.freeze({
261        __proto__: null,
262        default: c,
263        __moduleExports: c
264    })
265      , he = {}.hasOwnProperty
266      , t = Object.freeze({
267        __proto__: null,
268        default: V,
269        __moduleExports: V
270    })
271      , ge = 0
272      , _e = Math.random()
273      , o = Object.freeze({
274        __proto__: null,
275        default: X,
276        __moduleExports: X
277    })
278      , s = Object.freeze({
279        __proto__: null,
280        default: !1,
281        __moduleExports: !1
282    })
283      , h = n && r || n
284      , ve = s
285      , r = I(function(e) {
286        var t = "__core-js_shared__"
287          , r = m[t] || (m[t] = {});
288        (e.exports = function(e, t) {
289            return r[e] || (r[e] = void 0 !== t ? t : {})
290        }
291        )("versions", []).push({
292            version: h.version,
293            mode: ve ? "pure" : "global",
294            copyright: "© 2020 Denis Pushkarev (zloirock.ru)"
295        })
296    })
297      , n = Object.freeze({
298        __proto__: null,
299        default: r,
300        __moduleExports: r
301    })
302      , s = n && r || n
303      , r = s("native-function-to-string", Function.toString)
304      , n = Object.freeze({
305        __proto__: null,
306        default: r,
307        __moduleExports: r
308    })
309      , g = e && c || e
310      , we = t && V
311      , ye = o && X
312      , be = n && r || n
313      , c = I(function(e) {
314        var i = ye("src")
315          , t = "toString"
316          , a = ("" + be).split(t);
317        h.inspectSource = function(e) {
318            return be.call(e)
319        }
320        ,
321        (e.exports = function(e, t, r, n) {
322            var o = "function" == typeof r;
323            o && !we(r, "name") && g(r, "name", t),
324            e[t] !== r && (o && !we(r, i) && g(r, i, e[t] ? "" + e[t] : a.join(String(t))),
325            e === m ? e[t] = r : n ? e[t] ? e[t] = r : g(e, t, r) : (delete e[t],
326            g(e, t, r)))
327        }
328        )(Function.prototype, t, function() {
329            return "function" == typeof this && this[i] || be.call(this)
330        })
331    })
332      , e = Object.freeze({
333        __proto__: null,
334        default: c,
335        __moduleExports: c
336    })
337      , t = Object.freeze({
338        __proto__: null,
339        default: J,
340        __moduleExports: J
341    })
342      , Ee = t && J
343      , o = Object.freeze({
344        __proto__: null,
345        default: W,
346        __moduleExports: W
347    })
348      , xe = e && c || e
349      , Se = o && W
350      , Ne = "prototype"
351      , r = (m.core = h,
352    f.F = 1,
353    f.G = 2,
354    f.S = 4,
355    f.P = 8,
356    f.B = 16,
357    f.W = 32,
358    f.U = 64,
359    f.R = 128,
360    f)
361      , n = Object.freeze({
362        __proto__: null,
363        default: r,
364        __moduleExports: r
365    })
366      , Oe = {}.toString
367      , t = Object.freeze({
368        __proto__: null,
369        default: G,
370        __moduleExports: G
371    })
372      , ke = t && G
373      , c = Object("z").propertyIsEnumerable(0) ? Object : function(e) {
374        return "String" == ke(e) ? e.split("") : Object(e)
375    }
376      , e = Object.freeze({
377        __proto__: null,
378        default: c,
379        __moduleExports: c
380    })
381      , o = Object.freeze({
382        __proto__: null,
383        default: K,
384        __moduleExports: K
385    })
386      , je = e && c || e
387      , Te = o && K
388      , t = Object.freeze({
389        __proto__: null,
390        default: Y,
391        __moduleExports: Y
392    })
393      , Ce = Math.ceil
394      , Le = Math.floor
395      , c = Object.freeze({
396        __proto__: null,
397        default: Q,
398        __moduleExports: Q
399    })
400      , Pe = c && Q
401      , Ae = Math.min
402      , e = Object.freeze({
403        __proto__: null,
404        default: Z,
405        __moduleExports: Z
406    })
407      , Re = Math.max
408      , Me = Math.min
409      , o = Object.freeze({
410        __proto__: null,
411        default: ee,
412        __moduleExports: ee
413    })
414      , De = t && Y
415      , Ie = e && Z
416      , Ue = o && ee
417      , c = Object.freeze({
418        __proto__: null,
419        default: te,
420        __moduleExports: te
421    })
422      , qe = s("keys")
423      , t = Object.freeze({
424        __proto__: null,
425        default: re,
426        __moduleExports: re
427    })
428      , e = t && re
429      , He = (c && te)(!1)
430      , ze = e("IE_PROTO")
431      , o = Object.freeze({
432        __proto__: null,
433        default: ne,
434        __moduleExports: ne
435    })
436      , s = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
437      , t = Object.freeze({
438        __proto__: null,
439        default: s,
440        __moduleExports: s
441    })
442      , Be = o && ne
443      , Fe = t && s || t
444      , c = Object.keys || function(e) {
445        return Be(e, Fe)
446    }
447      , e = Object.freeze({
448        __proto__: null,
449        default: c,
450        __moduleExports: c
451    })
452      , o = Object.getOwnPropertySymbols
453      , s = {
454        f: o
455    }
456      , t = Object.freeze({
457        __proto__: null,
458        default: s,
459        __moduleExports: s,
460        f: o
461    })
462      , o = {}.propertyIsEnumerable
463      , u = {
464        f: o
465    }
466      , o = Object.freeze({
467        __proto__: null,
468        default: u,
469        __moduleExports: u,
470        f: o
471    })
472      , l = Object.freeze({
473        __proto__: null,
474        default: oe,
475        __moduleExports: oe
476    })
477      , Ve = e && c || e
478      , Xe = t && s
479      , Je = o && u
480      , $e = l && oe
481      , We = Object.assign
482      , c = !We || a(function() {
483        var e = {}
484          , t = {}
485          , r = Symbol()
486          , n = "abcdefghijklmnopqrst";
487        return e[r] = 7,
488        n.split("").forEach(function(e) {
489            t[e] = e
490        }),
491        7 != We({}, e)[r] || Object.keys(We({}, t)).join("") != n
492    }) ? function(e, t) {
493        for (var r = $e(e), n = arguments.length, o = 1, i = Xe.f, a = Je.f; o < n; )
494            for (var s, c = je(arguments[o++]), u = i ? Ve(c).concat(i(c)) : Ve(c), l = u.length, d = 0; d < l; )
495                s = u[d++],
496                se && !a.call(c, s) || (r[s] = c[s]);
497        return r
498    }
499    : We
500      , e = Object.freeze({
501        __proto__: null,
502        default: c,
503        __moduleExports: c
504    })
505      , t = n && r;
506    function Ge(e, t) {
507        for (var r = 0; r < t.length; r++) {
508            var n = t[r];
509            n.enumerable = n.enumerable || !1,
510            n.configurable = !0,
511            "value"in n && (n.writable = !0),
512            Object.defineProperty(e, n.key, n)
513        }
514    }
515    function Ke(e, t) {
516        e.prototype = Object.create(t.prototype),
517        Ye(e.prototype.constructor = e, t)
518    }
519    function Ye(e, t) {
520        return (Ye = Object.setPrototypeOf || function(e, t) {
521            return e.__proto__ = t,
522            e
523        }
524        )(e, t)
525    }
526    function Qe(e, t) {
527        (null == t || t > e.length) && (t = e.length);
528        for (var r = 0, n = new Array(t); r < t; r++)
529            n[r] = e[r];
530        return n
531    }
532    function d(e, t) {
533        var r, n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"];
534        if (n)
535            return (n = n.call(e)).next.bind(n);
536        if (Array.isArray(e) || (n = function(e, t) {
537            if (e) {
538                if ("string" == typeof e)
539                    return Qe(e, t);
540                var r = Object.prototype.toString.call(e).slice(8, -1);
541                return "Map" === (r = "Object" === r && e.constructor ? e.constructor.name : r) || "Set" === r ? Array.from(e) : "Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r) ? Qe(e, t) : void 0
542            }
543        }(e)) || t && e && "number" == typeof e.length)
544            return n && (e = n),
545            r = 0,
546            function() {
547                return r >= e.length ? {
548                    done: !0
549                } : {
550                    done: !1,
551                    value: e[r++]
552                }
553            }
554            ;
555        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
556    }
557    t(t.S + t.F, "Object", {
558        assign: e && c || e
559    }),
560    h.Object.assign;
561    var p = {
562        userName: "userName",
563        enterpriseName: "enterpriseName",
564        ifLogin: "if_login",
565        lastLoginTime: "last_login_time",
566        sid: "session_id",
567        distinctId: "user_only",
568        platform: "user_source",
569        appName: "appName",
570        moduleName: "moduleName",
571        childModuleName: "childModuleName",
572        topicname: "topicname",
573        deviceInformation: "device_information",
574        usystem: "opt_system_type",
575        uversion: "user_version",
576        resolution: "device_resolution",
577        browserType: "browser_type",
578        browserVersion: "browser_version",
579        timeZone: "time_zone",
580        locale: "locale",
581        isHeadless: "is_headless",
582        engine: "engine",
583        engineVersion: "engine_version",
584        eventName: "action_type_name",
585        eventDate: "action_time",
586        interview: "interview_time",
587        clientDate: "clientDate",
588        elementType: "element_type",
589        elementName: "element_name",
590        elementId: "element_id",
591        elementClassName: "element_class_name",
592        elementTargetUrl: "element_target_url",
593        elementTargetSrc: "element_target_src",
594        elementContent: "element_content",
595        currentUrl: "curr_page_url",
596        title: "curr_page_title",
597        referrerUrl: "last_ref",
598        referrerHost: "last_host",
599        lib: "lib",
600        type: "type",
601        eventDuration: "event_duration",
602        viewportPosition: "viewport_position",
603        viewportHeight: "viewport_height",
604        viewportWidth: "viewport_width",
605        customProp: "custom_prop",
606        error: "error"
607    }
608      , _ = Object.assign(p, {
609        STORAGE_PREFIX: "mdf_",
610        STORAGE_USER_AGENT: "user_agent_info",
611        STORAGE_USERINFO: "user_info",
612        SESSION_TIMEOUT: 600,
613        REQUEST_URL: "https://iop.midea.com/tracking/",
614        VERSION: "3.1.0"
615    })
616      , s = Array.prototype
617      , Ze = s.slice
618      , o = Object.prototype
619      , v = o.toString
620      , et = o.hasOwnProperty
621      , u = window.mideaDataAnalyticSDK
622      , w = {}
623      , tt = s.forEach
624      , rt = s.indexOf
625      , l = Array.isArray
626      , nt = {}
627      , ot = w.each = function(e, t, r) {
628        if (null == e)
629            return !1;
630        if (tt && e.forEach === tt)
631            e.forEach(t, r);
632        else if (e.length === +e.length) {
633            for (var n = 0, o = e.length; n < o; n++)
634                if (n in e && t.call(r, e[n], n, e) === nt)
635                    return !1
636        } else
637            for (var i in e)
638                if (et.call(e, i) && t.call(r, e[i], i, e) === nt)
639                    return !1
640    }
641    ;
642    function it() {
643        for (var e = +new Date, t = 0; e === +new Date; )
644            t++;
645        return e.toString(16) + t.toString(16)
646    }
647    w.extend = function(r, e) {
648        return ot(Ze.call(arguments, 1), function(e) {
649            for (var t in e)
650                e[t] && (r[t] = e[t])
651        }),
652        r
653    }
654    ,
655    w.extend2Lev = function(r, e) {
656        return ot(Ze.call(arguments, 1), function(e) {
657            for (var t in e)
658                e[t] && (w.isObject(e[t]) && w.isObject(r[t]) ? w.extend(r[t], e[t]) : r[t] = e[t])
659        }),
660        r
661    }
662    ,
663    w.coverExtend = function(r) {
664        return ot(Ze.call(arguments, 1), function(e) {
665            for (var t in e)
666                e[t] && !r[t] && (r[t] = e[t])
667        }),
668        r
669    }
670    ,
671    w.isArray = l || function(e) {
672        return "[object Array]" === v.call(e)
673    }
674    ,
675    w.isFunction = function(e) {
676        if (!e)
677            return !1;
678        try {
679            return /^\s*\bfunction\b/.test(e)
680        } catch (e) {
681            return !1
682        }
683    }
684    ,
685    w.isArguments = function(e) {
686        return !(!e || !et.call(e, "callee"))
687    }
688    ,
689    w.toArray = function(e) {
690        return e ? e.toArray ? e.toArray() : w.isArray(e) || w.isArguments(e) ? Ze.call(e) : w.values(e) : []
691    }
692    ,
693    w.currency = function(e, t, r, n) {
694        if (void 0 === t && (t = 2),
695        void 0 === r && (r = ""),
696        void 0 === n && (n = !0),
697        null == e)
698            return "-";
699        if (e = parseFloat(e),
700        !isFinite(e) || !e && 0 !== e)
701            return "";
702        var o = Math.abs(e).toFixed(t)
703          , i = t ? o.slice(0, -1 - t) : o
704          , o = t ? o.slice(-1 - t) : ""
705          , t = e < 0 ? "-" : "";
706        return n ? t + r + (0 < (e = i.length % 3) ? i.slice(0, e) + (3 < i.length ? "," : "") : "") + i.slice(e).replace(/(\d{3})(?=\d)/g, "$1,") + o : t + r + i + o
707    }
708    ,
709    w.values = function(e) {
710        var t = [];
711        return null == e || ot(e, function(e) {
712            t[t.length] = e
713        }),
714        t
715    }
716    ,
717    w.include = function(e, t) {
718        var r = !1;
719        return null == e ? r : rt && e.indexOf === rt ? -1 !== e.indexOf(t) : (ot(e, function(e) {
720            if (r = r || e === t)
721                return nt
722        }),
723        r)
724    }
725    ,
726    w.inherit = function(e, t) {
727        return e.prototype = new t,
728        (e.prototype.constructor = e).superclass = t.prototype,
729        e
730    }
731    ,
732    w.trim = function(e) {
733        return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")
734    }
735    ,
736    w.isObject = function(e) {
737        return "[object Object]" === v.call(e) && null != e
738    }
739    ,
740    w.isEmptyObject = function(e) {
741        if (w.isObject(e)) {
742            for (var t in e)
743                if (et.call(e, t))
744                    return !1;
745            return !0
746        }
747        return !1
748    }
749    ,
750    w.isUndefined = function(e) {
751        return null == e
752    }
753    ,
754    w.isString = function(e) {
755        return "[object String]" === v.call(e)
756    }
757    ,
758    w.isDate = function(e) {
759        return "[object Date]" === v.call(e)
760    }
761    ,
762    w.isBoolean = function(e) {
763        return "[object Boolean]" === v.call(e)
764    }
765    ,
766    w.isNumber = function(e) {
767        return "[object Number]" === v.call(e) && /[\d\.]+/.test(String(e))
768    }
769    ,
770    w.isElement = function(e) {
771        return !(!e || 1 !== e.nodeType)
772    }
773    ,
774    w.isJSONString = function(e) {
775        try {
776            JSON.parse(e)
777        } catch (e) {
778            return !1
779        }
780        return !0
781    }
782    ,
783    w.decodeURIComponent = function(t) {
784        var r = "";
785        try {
786            r = decodeURIComponent(t)
787        } catch (e) {
788            r = t
789        }
790        return r
791    }
792    ,
793    w.encodeDates = function(r) {
794        return w.each(r, function(e, t) {
795            w.isDate(e) ? r[t] = w.formatDate(e) : w.isObject(e) && (r[t] = w.encodeDates(e))
796        }),
797        r
798    }
799    ,
800    w.now = Date.now || function() {
801        return (new Date).getTime()
802    }
803    ,
804    w.throttle = function(r, n, o) {
805        function i() {
806            l = !1 === o.leading ? 0 : w.now(),
807            u = null,
808            c = r.apply(a, s),
809            u || (a = s = null)
810        }
811        var a, s, c, u = null, l = 0;
812        o = o || {};
813        return function() {
814            var e = w.now()
815              , t = (l || !1 !== o.leading || (l = e),
816            n - (e - l));
817            return a = this,
818            s = arguments,
819            t <= 0 || n < t ? (u && (clearTimeout(u),
820            u = null),
821            l = e,
822            c = r.apply(a, s),
823            u || (a = s = null)) : u || !1 === o.trailing || (u = setTimeout(i, t)),
824            c
825        }
826    }
827    ,
828    w.formatDate = function(e) {
829        function t(e) {
830            return e < 10 ? "0" + e : e
831        }
832        return e.getFullYear() + "-" + t(e.getMonth() + 1) + "-" + t(e.getDate()) + " " + t(e.getHours()) + ":" + t(e.getMinutes()) + ":" + t(e.getSeconds()) + "." + t(e.getMilliseconds())
833    }
834    ,
835    w.searchObjDate = function(r) {
836        w.isObject(r) && w.each(r, function(e, t) {
837            w.isObject(e) ? w.searchObjDate(r[t]) : w.isDate(e) && (r[t] = w.formatDate(e))
838        })
839    }
840    ,
841    w.formatJsonString = function(t) {
842        try {
843            return JSON.stringify(t, null, "  ")
844        } catch (e) {
845            return JSON.stringify(t)
846        }
847    }
848    ,
849    w.searchObjString = function(r) {
850        w.isObject(r) && w.each(r, function(e, t) {
851            w.isObject(e) ? w.searchObjString(r[t]) : w.isString(e) && (r[t] = w.formatString(e))
852        })
853    }
854    ,
855    w.unique = function(e) {
856        for (var t, r = [], n = {}, o = 0; o < e.length; o++)
857            (t = e[o])in n || (n[t] = !0,
858            r.push(t));
859        return r
860    }
861    ,
862    w.strip_empty_properties = function(e) {
863        var r = {};
864        return w.each(e, function(e, t) {
865            null != e && (r[t] = e)
866        }),
867        r
868    }
869    ,
870    w.utf8Encode = function(e) {
871        for (var t, r = "", n = t = 0, o = (e = (e + "").replace(/\r\n/g, "\n").replace(/\r/g, "\n")).length, i = 0; i < o; i++) {
872            var a = e.charCodeAt(i)
873              , s = null;
874            a < 128 ? t++ : s = 127 < a && a < 2048 ? String.fromCharCode(a >> 6 | 192, 63 & a | 128) : String.fromCharCode(a >> 12 | 224, a >> 6 & 63 | 128, 63 & a | 128),
875            null !== s && (n < t && (r += e.substring(n, t)),
876            r += s,
877            n = t = i + 1)
878        }
879        return n < t && (r += e.substring(n, e.length)),
880        r
881    }
882    ,
883    w.UUID = function() {
884        var e = (e = String(screen.height * screen.width)) && /\d{5,}/.test(e) ? e.toString(16) : String(31242 * Math.random()).replace(".", "").slice(0, 8)
885          , e = it() + "-" + Math.random().toString(16).replace(".", "") + "-" + function() {
886            for (var e, t = navigator.userAgent, o = [], r = 0, n = function(e, t) {
887                for (var r = 0, n = 0; n < t.length; n++)
888                    r |= o[n] << 8 * n;
889                return e ^ r
890            }, i = 0; i < t.length; i++)
891                e = t.charCodeAt(i),
892                o.unshift(255 & e),
893                4 <= o.length && (r = n(r, o),
894                o = []);
895            return (r = 0 < o.length ? n(r, o) : r).toString(16)
896        }() + "-" + e + "-" + it();
897        return e || (String(Math.random()) + String(Math.random()) + String(Math.random())).slice(2, 15)
898    }
899    ,
900    w.getQueryParam = function(e, t) {
901        t = t.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
902        t = new RegExp("[\\?&]" + t + "=([^&#]*)").exec(e);
903        return null === t || t && "string" != typeof t[1] && t[1].length ? "" : w.decodeURIComponent(t[1]).replace(/\+/g, " ")
904    }
905    ,
906    w.urlParse = function(e) {
907        return new (function() {
908            function e(e) {
909                this._fields = {
910                    Username: 4,
911                    Password: 5,
912                    Port: 7,
913                    Protocol: 2,
914                    Host: 6,
915                    Path: 8,
916                    URL: 0,
917                    QueryString: 9,
918                    Fragment: 10
919                },
920                this._values = {},
921                this._regex = null,
922                this._regex = /^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/,
923                void 0 !== e && this._parse(e)
924            }
925            var t = e.prototype;
926            return t.setUrl = function(e) {
927                this._parse(e)
928            }
929            ,
930            t._initValues = function() {
931                for (var e in this._fields)
932                    this._values[e] = ""
933            }
934            ,
935            t.addQueryString = function(e) {
936                if ("object" != typeof e)
937                    return !1;
938                var t, r = this._values.QueryString || "";
939                for (t in e)
940                    r = new RegExp(t + "[^&]+").test(r) ? r.replace(new RegExp(t + "[^&]+"), t + "=" + e[t]) : "&" === r.slice(-1) ? r + t + "=" + e[t] : "" === r ? t + "=" + e[t] : r + "&" + t + "=" + e[t];
941                this._values.QueryString = r
942            }
943            ,
944            t.getUrl = function() {
945                var e = "";
946                return (e += this._values.Origin) + (this._values.Port ? ":" + this._values.Port : "") + this._values.Path + (this._values.QueryString ? "?" + this._values.QueryString : "")
947            }
948            ,
949            t._parse = function(e) {
950                this._initValues();
951                var t, r = this._regex.exec(e);
952                if (!r)
953                    throw "DPURLParser::_parse -> Invalid URL";
954                for (t in this._fields)
955                    void 0 !== r[this._fields[t]] && (this._values[t] = r[this._fields[t]]);
956                this._values.Hostname = this._values.Host.replace(/:\d+$/, ""),
957                this._values.Origin = this._values.Protocol + "://" + this._values.Hostname
958            }
959            ,
960            e
961        }())(e)
962    }
963    ,
964    w.draggable = function(r, e) {
965        function n() {
966            var e = document;
967            return null != e.pageXOffset ? {
968                x: e.pageXOffset,
969                y: e.pageYOffset
970            } : {
971                x: e.documentElement.scrollLeft,
972                y: e.documentElement.scrollTop
973            }
974        }
975        function t(e) {
976            e = e || window.event;
977            var t = n();
978            r.style.left = e.clientX + t.x - u + "px",
979            r.style.top = e.clientY + t.y - l + "px",
980            e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0
981        }
982        function o(e) {
983            e = e || window.event,
984            document.removeEventListener ? (document.removeEventListener("mouseup", o),
985            document.removeEventListener("mousemove", t)) : document.detachEvent && (document.detachEvent("onmouseup", o),
986            document.detachEvent("onmousemove", t)),
987            e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0
988        }
989        var i = n()
990          , a = e.clientX + i.x
991          , i = e.clientY + i.y
992          , s = r.offsetLeft
993          , c = r.offsetTop
994          , u = a - s
995          , l = i - c;
996        __.addEventListener(document, "mousemove", t),
997        __.addEventListener(document, "mouseup", o),
998        e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0,
999        e.preventDefault ? e.preventDefault() : e.returnValue = !1,
1000        r.style.bottom = "auto"
1001    }
1002    ,
1003    w.hasUnStandardBrowserEnviroment = function() {
1004        return window ? document ? navigator ? screen ? void 0 : "screen" : "navigator" : "document" : "window"
1005    }
1006    ,
1007    w.bindReady = function(t, r) {
1008        r = r || window;
1009        function n(e) {
1010            "readystatechange" === e.type && "complete" !== a.readyState || (("load" === e.type ? r : a)[l](d + e.type, n, !1),
1011            !i && (i = !0) && t.call(r, e.type || e))
1012        }
1013        function o() {
1014            try {
1015                s.doScroll("left")
1016            } catch (e) {
1017                return void setTimeout(o, 50)
1018            }
1019            n("poll")
1020        }
1021        var i = !1
1022          , e = !0
1023          , a = r.document
1024          , s = a.documentElement
1025          , c = a.addEventListener
1026          , u = c ? "addEventListener" : "attachEvent"
1027          , l = c ? "removeEventListener" : "detachEvent"
1028          , d = c ? "" : "on";
1029        if ("complete" === a.readyState)
1030            t.call(r, "lazy");
1031        else {
1032            if (!c && s.doScroll) {
1033                try {
1034                    e = !r.frameElement
1035                } catch (e) {}
1036                e && o()
1037            }
1038            a[u](d + "DOMContentLoaded", n, !1),
1039            a[u](d + "readystatechange", n, !1),
1040            r[u](d + "load", n, !1)
1041        }
1042    }
1043    ,
1044    w.addEventListener = function(e, t, r, n) {
1045        void 0 === n && (n = !1),
1046        e.addEventListener ? e.addEventListener(t, r, n) : e.attachEvent ? e.attachEvent("on" + t, r) : e["on" + t] = r
1047    }
1048    ,
1049    w.removeEventListener = function(e, t, r, n) {
1050        void 0 === n && (n = !1),
1051        e.removeEventListener ? e.removeEventListener(t, r, n) : e.detachEvent ? e.detachEvent("on" + t, r) : e["on" + t] = null
1052    }
1053    ,
1054    w.addHashEvent = function(e) {
1055        var t;
1056        "pushState"in window.history ? (t = function(r) {
1057            var n = history[r];
1058            return function() {
1059                try {
1060                    var e = n.apply(this, arguments)
1061                      , t = new Event(r);
1062                    return t.arguments = arguments,
1063                    window.dispatchEvent(t),
1064                    e
1065                } catch (t) {
1066                    return n
1067                }
1068            }
1069        }
1070        ,
1071        history.pushState = t("pushState"),
1072        history.replaceState = t("replaceState"),
1073        w.addEventListener(window, "popstate", e),
1074        w.addEventListener(window, "replaceState", e),
1075        w.addEventListener(window, "pushState", e)) : w.addEventListener(window, "hashchange", e)
1076    }
1077    ,
1078    w.addPageUnloadEvent = function(t) {
1079        w.addEventListener(window, "unload", function(e) {
1080            t && t()
1081        })
1082    }
1083    ,
1084    w.cookie = {
1085        get: function(e) {
1086            for (var t = e + "=", r = document.cookie.split(";"), n = 0; n < r.length; n++) {
1087                for (var o = r[n]; " " === o.charAt(0); )
1088                    o = o.substring(1, o.length);
1089                if (0 === o.indexOf(t))
1090                    return w.decodeURIComponent(o.substring(t.length, o.length))
1091            }
1092            return null
1093        },
1094        set: function(e, t, r, n) {
1095            var o = ""
1096              , i = ""
1097              , a = ""
1098              , s = (r = null == r ? 73e3 : r,
1099            location.hostname);
1100            s && (o = "; domain=" + s),
1101            0 !== r && (s = new Date,
1102            "s" === String(r).slice(-1) ? s.setTime(s.getTime() + 1e3 * Number(String(r).slice(0, -1))) : s.setTime(s.getTime() + 24 * r * 60 * 60 * 1e3),
1103            i = "; expires=" + s.toGMTString()),
1104            n && (a = "; secure"),
1105            document.cookie = e + "=" + encodeURIComponent(t) + i + "; path=/" + o + a
1106        },
1107        remove: function(e) {
1108            w.cookie.set(e, "", -1)
1109        },
1110        getLifeCookie: function(e) {
1111            try {
1112                var t = w.sessionStorage.get("mideasdkdata_mode");
1113                return null == t ? null : e ? JSON.parse(t)[e] : JSON.parse(t)
1114            } catch (e) {}
1115        },
1116        setLifeCookie: function(e, t) {
1117            var r = this.getLifeCookie() || {};
1118            e && t && (r[e] = t,
1119            w.sessionStorage.set("mideasdkdata_mode", JSON.stringify(r), 1200))
1120        },
1121        removeLifeCookie: function() {
1122            w.sessionStorage.remove("mideasdkdata_mode")
1123        }
1124    };
1125    var y, b, at, st, a = function() {
1126        function e(e) {
1127            this.source = e || window.localStorage
1128        }
1129        var t = e.prototype;
1130        return t.set = function(e, t, r) {
1131            var n = this.source;
1132            return n[e] = JSON.stringify(t),
1133            r && (n[e + "__expires__"] = Date.now() + 6e4 * r),
1134            t
1135        }
1136        ,
1137        t.get = function(e) {
1138            var t = this.source;
1139            {
1140                if (!((t[e + "__expires__"] || Date.now + 1) <= Date.now()))
1141                    return t[e] && JSON.parse(t[e]);
1142                this.remove(e)
1143            }
1144        }
1145        ,
1146        t.remove = function(e) {
1147            var t = this.source
1148              , r = t[e];
1149            return delete t[e],
1150            delete t[e + "__expires__"],
1151            r
1152        }
1153        ,
1154        t.parse = function(e) {
1155            var t;
1156            try {
1157                t = JSON.parse(this.get(e)) || null
1158            } catch (e) {}
1159            return t
1160        }
1161        ,
1162        t.isSupport = function() {
1163            var t = !0;
1164            try {
1165                var e = "__mideasdkdatasupport__"
1166                  , r = "testIsSupportStorage";
1167                this.set(e, r),
1168                this.get(e) !== r && (t = !1),
1169                this.remove(e)
1170            } catch (e) {
1171                t = !1
1172            }
1173            return t
1174        }
1175        ,
1176        e
1177    }();
1178    function ct() {
1179        return new RegExp(/(.*?)\.?([^\.]*?)\.(com|net|org|biz|ws|in|me|co\.uk|co|org\.uk|ltd\.uk|plc\.uk|me\.uk|edu|mil|br\.com|cn\.com|eu\.com|hu\.com|no\.com|qc\.com|sa\.com|se\.com|se\.net|us\.com|uy\.com|ac|co\.ac|gv\.ac|or\.ac|ac\.ac|af|am|as|at|ac\.at|co\.at|gv\.at|or\.at|asn\.au|com\.au|edu\.au|org\.au|net\.au|id\.au|be|ac\.be|adm\.br|adv\.br|am\.br|arq\.br|art\.br|bio\.br|cng\.br|cnt\.br|com\.br|ecn\.br|eng\.br|esp\.br|etc\.br|eti\.br|fm\.br|fot\.br|fst\.br|g12\.br|gov\.br|ind\.br|inf\.br|jor\.br|lel\.br|med\.br|mil\.br|net\.br|nom\.br|ntr\.br|odo\.br|org\.br|ppg\.br|pro\.br|psc\.br|psi\.br|rec\.br|slg\.br|tmp\.br|tur\.br|tv\.br|vet\.br|zlg\.br|br|ab\.ca|bc\.ca|mb\.ca|nb\.ca|nf\.ca|ns\.ca|nt\.ca|on\.ca|pe\.ca|qc\.ca|sk\.ca|yk\.ca|ca|cc|ac\.cn|net\.cn|com\.cn|edu\.cn|gov\.cn|org\.cn|bj\.cn|sh\.cn|tj\.cn|cq\.cn|he\.cn|nm\.cn|ln\.cn|jl\.cn|hl\.cn|js\.cn|zj\.cn|ah\.cn|gd\.cn|gx\.cn|hi\.cn|sc\.cn|gz\.cn|yn\.cn|xz\.cn|sn\.cn|gs\.cn|qh\.cn|nx\.cn|xj\.cn|tw\.cn|hk\.cn|mo\.cn|cn|cx|cz|de|dk|fo|com\.ec|tm\.fr|com\.fr|asso\.fr|presse\.fr|fr|gf|gs|co\.il|net\.il|ac\.il|k12\.il|gov\.il|muni\.il|ac\.in|co\.in|org\.in|ernet\.in|gov\.in|net\.in|res\.in|is|it|ac\.jp|co\.jp|go\.jp|or\.jp|ne\.jp|ac\.kr|co\.kr|go\.kr|ne\.kr|nm\.kr|or\.kr|li|lt|lu|asso\.mc|tm\.mc|com\.mm|org\.mm|net\.mm|edu\.mm|gov\.mm|ms|nl|no|nu|pl|ro|org\.ro|store\.ro|tm\.ro|firm\.ro|www\.ro|arts\.ro|rec\.ro|info\.ro|nom\.ro|nt\.ro|se|si|com\.sg|org\.sg|net\.sg|gov\.sg|sk|st|tf|ac\.th|co\.th|go\.th|mi\.th|net\.th|or\.th|tm|to|com\.tr|edu\.tr|gov\.tr|k12\.tr|net\.tr|org\.tr|com\.tw|org\.tw|net\.tw|ac\.uk|uk\.com|uk\.net|gb\.com|gb\.net|vg|sh|kz|ch|info|ua|gov|name|pro|ie|hk|com\.hk|org\.hk|net\.hk|edu\.hk|us|tk|cd|by|ad|lv|eu\.lv|bz|es|jp|cl|ag|mobi|eu|co\.nz|org\.nz|net\.nz|maori\.nz|iwi\.nz|io|la|md|sc|sg|vc|tw|travel|my|se|tv|pt|com\.pt|edu\.pt|asia|fi|com\.ve|net\.ve|fi|org\.ve|web\.ve|info\.ve|co\.ve|tel|im|gr|ru|net\.ru|org\.ru|hr|com\.hr|ly|xyz)$/)
1180    }
1181    function ut(e, t) {
1182        var r = e.charAt(0)
1183          , t = t.split(r);
1184        return r === e ? t : t[(e = parseInt(e.substring(1), 10)) < 0 ? t.length + e : e - 1]
1185    }
1186    function lt(e, t) {
1187        for (var r, n = e.charAt(0), o = t.split("&"), i = [], a = {}, s = e.substring(1), c = 0, u = o.length; c < u; c++)
1188            if ("" !== (i = (i = o[c].match(/(.*?)=(.*)/)) || [o[c], o[c], ""])[1].replace(/\s/g, "")) {
1189                if (i[2] = (r = i[2] || "",
1190                w.decodeURIComponent(r.replace(/\+/g, " "))),
1191                s === i[1])
1192                    return i[2];
1193                (r = i[1].match(/(.*)\[([0-9]+)\]/)) ? (a[r[1]] = a[r[1]] || [],
1194                a[r[1]][r[2]] = i[2]) : a[i[1]] = i[2]
1195            }
1196        return n === e ? a : a[s]
1197    }
1198    w.localStorage = new a,
1199    w.sessionStorage = new a(window.sessionStorage),
1200    w.referrer = "",
1201    w.getPageInfo = function() {
1202        var e = {}
1203          , t = w.getReferrer(w.referrer);
1204        return t === location.href && (t = w.getReferrer(w.preReffer)),
1205        e[_.referrerUrl] = t,
1206        e[_.referrerHost] = w.url("hostname", t) || "",
1207        e[_.currentUrl] = location.href,
1208        e[_.title] = w.getPageTitle(),
1209        e
1210    }
1211    ,
1212    w.setReferrer = function(e) {
1213        w.preReffer = w.referrer,
1214        w.referrer = e
1215    }
1216    ,
1217    w.xhr = function(e) {
1218        if (e)
1219            return !("withCredentials"in (e = new XMLHttpRequest)) && "undefined" != typeof XDomainRequest ? new XDomainRequest : e;
1220        if (XMLHttpRequest)
1221            return new XMLHttpRequest;
1222        if (window.ActiveXObject)
1223            try {
1224                return new ActiveXObject("Msxml2.XMLHTTP")
1225            } catch (e) {
1226                try {
1227                    return new ActiveXObject("Microsoft.XMLHTTP")
1228                } catch (e) {}
1229            }
1230    }
1231    ,
1232    w.ajax = function(e) {
1233        function t(e) {
1234            try {
1235                return JSON.parse(e)
1236            } catch (e) {
1237                return {}
1238            }
1239        }
1240        var r = w.xhr(e.cors);
1241        e.type || (e.type = e.data ? "POST" : "GET"),
1242        e = w.extend({
1243            success: function() {},
1244            error: function() {}
1245        }, e),
1246        r.onreadystatechange = function() {
1247            4 === r.readyState && (200 <= r.status && r.status < 300 || 304 === r.status ? e.success(t(r.responseText)) : e.error(t(r.responseText), r.status),
1248            r.onreadystatechange = null,
1249            r.onload = null)
1250        }
1251        ,
1252        r.open(e.type, e.url, !0);
1253        try {
1254            if (r.withCredentials = !1,
1255            w.isObject(e.header))
1256                for (var n in e.header)
1257                    r.setRequestHeader(n, e.header[n]);
1258            e.data && (r.setRequestHeader("X-Requested-With", "XMLHttpRequest"),
1259            e.contentType && ("application/json" === e.contentType ? r.setRequestHeader("Content-type", "application/json; charset=UTF-8") : r.setRequestHeader("Content-type", "application/x-www-form-urlencoded")))
1260        } catch (e) {}
1261        r.send(e.data || null)
1262    }
1263    ,
1264    w.loadScript = function(e) {
1265        e = w.extend({
1266            success: function() {},
1267            error: function() {},
1268            appendCall: function(e) {
1269                document.getElementsByTagName("head")[0].appendChild(e)
1270            }
1271        }, e);
1272        var t = null;
1273        "css" === e.type && ((t = document.createElement("link")).rel = "stylesheet",
1274        t.href = e.url),
1275        "js" === e.type && ((t = document.createElement("script")).async = "async",
1276        t.setAttribute("charset", "UTF-8"),
1277        t.src = e.url,
1278        t.type = "text/javascript"),
1279        t.onload = t.onreadystatechange = function() {
1280            e.success(),
1281            t.onload = t.onreadystatechange = null
1282        }
1283        ,
1284        t.onerror = function() {
1285            e.error(),
1286            t.onerror = null
1287        }
1288        ,
1289        e.appendCall(t)
1290    }
1291    ,
1292    w.getReferrer = function(e) {
1293        return "string" != typeof (e = e || document.referrer) ? "取值异常_referrer异常_" + String(e) : "string" == typeof (e = 0 === e.indexOf("https://www.baidu.com/") ? e.split("?")[0] : e) ? e : ""
1294    }
1295    ,
1296    w.getKeywordFromReferrer = function() {
1297        var e = {
1298            baidu: "wd",
1299            google: "q",
1300            bing: "q",
1301            yahoo: "p",
1302            sogou: "query",
1303            so: "q"
1304        };
1305        if (document && "string" == typeof document.referrer) {
1306            if (0 !== document.referrer.indexOf("http"))
1307                return "" === document.referrer ? "未取到值_直接打开" : "未取到值_非http的url";
1308            var t, r = w.url("domain", document.referrer), n = w.url("?", document.referrer);
1309            for (t in e)
1310                if (0 === r.indexOf(t) && "object" == typeof n && n[e[t]])
1311                    return n[e[t]];
1312            return "未取到值"
1313        }
1314        return "取值异常_referrer异常_" + String(document.referrer)
1315    }
1316    ,
1317    w.info = {
1318        initPage: function() {
1319            var e = w.getReferrer()
1320              , t = e && w.url("hostname", e)
1321              , r = e && w.url("domain", e)
1322              , n = location.href
1323              , o = n && w.url("hostname", n)
1324              , i = n && w.url("domain", n);
1325            this.pageProp = {
1326                referrer: e,
1327                referrer_host: t,
1328                referrer_domain: r,
1329                url: n,
1330                url_host: o,
1331                url_domain: i
1332            }
1333        },
1334        pageProp: {},
1335        currentProps: {},
1336        register: function(e) {
1337            w.extend(w.info.currentProps, e)
1338        }
1339    },
1340    w.url = function(e, t) {
1341        var r, n = {};
1342        if (!(t = void 0 === t ? t || window.location.toString() : t))
1343            return "";
1344        if (!e)
1345            return t;
1346        if (e = e.toString(),
1347        t.match(/^mailto:([^\/].+)/))
1348            r = t.match(/^mailto:([^\/].+)/),
1349            n.protocol = "mailto",
1350            n.email = r[1];
1351        else {
1352            if ((t = t.match(/(.*?)\/#\!(.*)/) ? (r = t.match(/(.*?)\/#\!(.*)/))[1] + r[2] : t).match(/(.*?)#(.*)/) && (r = t.match(/(.*?)#(.*)/),
1353            n.hash = r[2],
1354            t = r[1]),
1355            n.hash && e.match(/^#/))
1356                return lt(e, n.hash);
1357            if (t.match(/(.*?)\?(.*)/) && (r = t.match(/(.*?)\?(.*)/),
1358            n.query = r[2],
1359            t = r[1]),
1360            n.query && e.match(/^\?/))
1361                return lt(e, n.query);
1362            if (t.match(/(.*?)\:?\/\/(.*)/) && (r = t.match(/(.*?)\:?\/\/(.*)/),
1363            n.protocol = r[1].toLowerCase(),
1364            t = r[2]),
1365            t.match(/(.*?)(\/.*)/) && (r = t.match(/(.*?)(\/.*)/),
1366            n.path = r[2],
1367            t = r[1]),
1368            n.path = (n.path || "").replace(/^([^\/])/, "/$1").replace(/\/$/, ""),
1369            (e = e.match(/^[\-0-9]+$/) ? e.replace(/^([^\/])/, "/$1") : e).match(/^\//))
1370                return ut(e, n.path.substring(1));
1371            if ((r = (r = ut("/-1", n.path.substring(1))) && r.match(/(.*?)\.(.*)/
1371)) && (n.file = r[0],
1372            n.filename = r[1],
1373            n.fileext = r[2]),
1374            t.match(/(.*)\:([0-9]+)$/) && (r = t.match(/(.*)\:([0-9]+)$/),
1375            n.port = r[2],
1376            t = r[1]),
1377            t.match(/(.*?)@(.*)/) && (r = t.match(/(.*?)@(.*)/),
1378            n.auth = r[1],
1379            t = r[2]),
1380            n.auth && (r = n.auth.match(/(.*)\:(.*)/),
1381            n.user = r ? r[1] : n.auth,
1382            n.pass = r ? r[2] : void 0),
1383            n.hostname = t.toLowerCase(),
1384            "." === e.charAt(0))
1385                return ut(e, n.hostname);
1386            ct() && ((r = n.hostname.match(ct())) ? (n.tld = r[3],
1387            n.domain = r[2] ? r[2] + "." + r[3] : void 0,
1388            n.sub = r[1] || void 0) : (n.tld = void 0,
1389            n.domain = n.hostname,
1390            n.sub = void 0)),
1391            n.port = n.port || ("https" === n.protocol ? "443" : "80"),
1392            n.protocol = n.protocol || ("443" === n.port ? "https" : "http")
1393        }
1394        return e in n ? n[e] : "{}" === e ? n : ""
1395    }
1396    ,
1397    w.domAct = function(e) {
1398        return new w.domAct.init(e)
1399    }
1400    ,
1401    w.domAct.init = function() {
1402        function e(e) {
1403            this.ele = e
1404        }
1405        var t = e.prototype;
1406        return t.addClass = function(e) {
1407            return -1 === (" " + this.ele.className + " ").indexOf(" " + e + " ") && (this.ele.className = this.ele.className + ("" === this.ele.className ? "" : " ") + e),
1408            this
1409        }
1410        ,
1411        t.removeClass = function(e) {
1412            var t = " " + this.ele.className + " ";
1413            return -1 !== t.indexOf(" " + e + " ") && (this.ele.className = t.replace(" " + e + " ", " ").slice(1, -1)),
1414            this
1415        }
1416        ,
1417        t.hasClass = function(e) {
1418            return -1 !== (" " + this.ele.className + " ").indexOf(" " + e + " ")
1419        }
1420        ,
1421        t.attr = function(e, t) {
1422            return "string" == typeof e && w.isUndefined(t) ? this.ele.getAttribute(e) : ("string" == typeof e && (t = String(t),
1423            this.ele.setAttribute(e, t)),
1424            this)
1425        }
1426        ,
1427        t.offset = function() {
1428            var e, t = this.ele.getBoundingClientRect();
1429            return t.width || t.height ? (e = this.ele.ownerDocument.documentElement,
1430            {
1431                top: t.top + window.pageYOffset - e.clientTop,
1432                left: t.left + window.pageXOffset - e.clientLeft
1433            }) : {
1434                top: 0,
1435                left: 0
1436            }
1437        }
1438        ,
1439        t.getSize = function() {
1440            if (!window.getComputedStyle)
1441                return {
1442                    width: this.ele.offsetWidth,
1443                    height: this.ele.offsetHeight
1444                };
1445            try {
1446                var e = this.ele.getBoundingClientRect();
1447                return {
1448                    width: e.width,
1449                    height: e.height
1450                }
1451            } catch (e) {
1452                return {
1453                    width: 0,
1454                    height: 0
1455                }
1456            }
1457        }
1458        ,
1459        t.getStyle = function(e) {
1460            return this.ele.currentStyle ? this.ele.currentStyle[e] : this.ele.ownerDocument.defaultView.getComputedStyle(this.ele, null).getPropertyValue(e)
1461        }
1462        ,
1463        t.wrap = function(e) {
1464            e = document.createElement(e);
1465            return this.ele.parentNode.insertBefore(e, this.ele),
1466            e.appendChild(this.ele),
1467            w.domAct(e)
1468        }
1469        ,
1470        t.getCssStyle = function(e) {
1471            var t = this.ele.style.getPropertyValue(e);
1472            if (t)
1473                return t;
1474            var r = null;
1475            if (!(r = "function" == typeof window.getMatchedCSSRules ? window.getMatchedCSSRules(this.ele) : r) || !w.isArray(r))
1476                return null;
1477            for (var n = r.length - 1; 0 <= n; n--)
1478                if (t = r[n].style.getPropertyValue(e))
1479                    return t
1480        }
1481        ,
1482        t.sibling = function(e, t) {
1483            for (; (e = e[t]) && 1 !== e.nodeType; )
1484                ;
1485            return e
1486        }
1487        ,
1488        t.next = function() {
1489            return this.sibling(this.ele, "nextSibling")
1490        }
1491        ,
1492        t.prev = function() {
1493            return this.sibling(this.ele, "previousSibling")
1494        }
1495        ,
1496        t.siblings = function() {
1497            return this.siblings((this.ele.parentNode || {}).firstChild, this.ele)
1498        }
1499        ,
1500        t.children = function() {
1501            return this.siblings(this.ele.firstChild)
1502        }
1503        ,
1504        t.parent = function() {
1505            var e;
1506            return e = (e = this.ele.parentNode) && 11 !== e.nodeType ? e : null,
1507            w.domAct(e)
1508        }
1509        ,
1510        e
1511    }(),
1512    w.getCustomLabelTarget = function(e, t) {
1513        return t = t || 1,
1514        e == document ? null : w.hasCustomLabel(e) ? e : t <= 3 && e.parentNode && "BODY" !== e.parentNode.nodeName ? w.getCustomLabelTarget(e.parentNode, ++t) : null
1515    }
1516    ,
1517    w.getPostMsgDate = function(e) {
1518        var t, r = null;
1519        return r = "今日" === e ? {
1520            startDate: t = (new Date).getFullYear() + ((t = (new Date).getMonth() + 1) < 10 ? "0" + t : "" + t) + ((t = (new Date).getDate()) < 10 ? "0" + t : "" + t),
1521            endDate: t
1522        } : (t = (e = e.split("~"))[0],
1523        e = e[1],
1524        t = t.split("-"),
1525        e = e.split("-"),
1526        {
1527            startDate: t.join(""),
1528            endDate: e.join("")
1529        }),
1530        JSON.stringify(r)
1531    }
1532    ,
1533    w.postMsg = function(e) {
1534        try {
1535            window.parent !== window && parent.postMessage(e, "*")
1536        } catch (e) {
1537            console.log(e)
1538        }
1539    }
1540    ,
1541    w.getDomIndex = function(e) {
1542        var t = [].indexOf;
1543        if (!e.parentNode)
1544            return -1;
1545        var r = e.parentNode.children;
1546        if (!r)
1547            return -1;
1548        var n = r.length;
1549        if (t)
1550            return t.call(r, e);
1551        for (var o = 0; o < n; ++o)
1552            if (e == r[o])
1553                return o;
1554        return -1
1555    }
1556    ,
1557    w.selector = function(e) {
1558        var t = e.parentNode && 9 == e.parentNode.nodeType ? -1 : w.getDomIndex(e);
1559        return e.id ? "#" + e.id : e.tagName.toLowerCase() + (~t ? ":nth-child(" + (t + 1) + ")" : "")
1560    }
1561    ,
1562    w.getDomSelector = function(e, t) {
1563        if (!e || !e.parentNode || !e.parentNode.children)
1564            return !1;
1565        t = t && t.join ? t : [];
1566        var r = e.nodeName.toLowerCase();
1567        return e && "body" !== r && 1 == e.nodeType ? (t.unshift(w.selector(e)),
1568        e.id ? t.join(" > ") : w.getDomSelector(e.parentNode, t)) : (t.unshift("body"),
1569        t.join(" > "))
1570    }
1571    ,
1572    w.hasAEle = function(e) {
1573        return !!e && ("a" === e.nodeName.toLowerCase() ? e : w.hasAEle(e.parentNode))
1574    }
1575    ,
1576    w.getCurrentScriptUrl = function() {
1577        var t = /http(s)?:\/\/[^\s]*\.js/g;
1578        try {
1579            var e = document.currentScript.src;
1580            if (e)
1581                return w.match(t, e);
1582            null.split()
1583        } catch (e) {
1584            return w.match(t, e.stack)
1585        }
1586    }
1587    ,
1588    w.match = function(e, t) {
1589        t = t.match(e);
1590        if (t)
1591            return Array.isArray(t) && t[0] || ""
1592    }
1593    ,
1594    w.getFilePath = function(e, t) {
1595        return "https://jr.midea.com/web-static/mdsdk/" + e + ".min." + t
1596    }
1597    ,
1598    w.getThirdPlatformFilePath = function(e) {
1599        return "https://jr.midea.com/web-static/mdsdk/" + e
1600    }
1601    ,
1602    u && (y = (y = window[u]) || (window[u] = {}),
1603    b = {},
1604    (at = window.console = window.console || {}).log || (at.log = function() {}
1605    ),
1606    st = at.log,
1607    b.info = function() {
1608        if (y.para.show_log) {
1609            arguments[0] = w.formatJsonString(arguments[0]);
1610            try {
1611                return st.apply(st, arguments)
1612            } catch (e) {
1613                at.log(arguments[0])
1614            }
1615        }
1616    }
1617    ,
1618    w.logger = b,
1619    w.strToUnicode = function(e) {
1620        if ("string" != typeof e)
1621            return b.info("转换unicode错误", e),
1622            e;
1623        for (var t = "", r = 0; r < e.length; r++)
1624            t += "\\" + e.charCodeAt(r).toString(16);
1625        return t
1626    }
1627    ,
1628    w.querySelectorAll = function(t) {
1629        if ("string" != typeof t)
1630            return b.info("选择器错误", t),
1631            [];
1632        var e = (e = t.split(" > ")).join(" ");
1633        try {
1634            return document.querySelectorAll(e)
1635        } catch (e) {
1636            return b.info("错误", t),
1637            []
1638        }
1639    }
1640    ,
1641    w.formatString = function(e) {
1642        return e.length > y.para.max_string_length ? (b.info("字符串长度超过限制,已经做截取--" + e),
1643        e.slice(0, y.para.max_string_length)) : e
1644    }
1645    ,
1646    w.getEleInfo = function(e) {
1647        if (!e.target)
1648            return !1;
1649        var e = e.target
1650          , t = e.tagName.toLowerCase()
1651          , r = {}
1652          , n = (r[_.elementType] = t,
1653        r[_.elementName] = e.getAttribute("name"),
1654        r[_.elementId] = e.getAttribute("id"),
1655        r[_.elementClassName] = "string" == typeof e.className ? e.className : null,
1656        r[_.elementTargetUrl] = e.getAttribute("href"),
1657        r[_.elementTargetSrc] = e.getAttribute("src"),
1658        r[_.elementTargetSrc] && -1 < r[_.elementTargetSrc].indexOf("data:image/") && (r[_.elementTargetSrc] = ""),
1659        "");
1660        return "select" === t ? n = e.options[e.selectedIndex].text : "input" === t || "textarea" === t ? "function" == typeof y.para.collect_input && y.para.collect_input(e) && (n = e.value || "") : e.textContent ? n = w.trim(e.textContent) : e.innerText && (n = w.trim(e.innerText)),
1661        n = n && n.replace(/[\r\n]/g, " ").replace(/[ ]+/g, " ").substring(0, 255),
1662        r[_.elementContent] = n || "",
1663        r = w.strip_empty_properties(r)
1664    }
1665    ,
1666    w.hasCustomLabel = function(e) {
1667        var t = !1;
1668        if (y.para.openCustomLabel && (y.para.customerLabel = y.para.customerLabel || y.para_default.customerLabel),
1669        y.para.customerLabel instanceof Array && 0 < y.para.customerLabel.length)
1670            for (var r = d(y.para.customerLabel); !(n = r()).done; ) {
1671                var n = n.value;
1672                if (-1 < (" " + e.className + " ").indexOf(" " + n + " ")) {
1673                    t = !0;
1674                    break
1675                }
1676                if (null !== e.getAttribute(n)) {
1677                    t = !0;
1678                    break
1679                }
1680            }
1681        return t
1682    }
1683    ,
1684    w.getCustomVal = function(e) {
1685        var t = "";
1686        if (y.para.openCustomLabel && (y.para.customerLabel = y.para.customerLabel || y.para_default.customerLabel),
1687        y.para.customerLabel instanceof Array && 0 < y.para.customerLabel.length)
1688            for (var r = d(y.para.customerLabel); !(n = r()).done; ) {
1689                var n = n.value;
1690                if (e.getAttribute(n)) {
1691                    t = e.getAttribute(n);
1692                    break
1693                }
1694            }
1695        return t = t || e.textContent && e.textContent.match(/[\u4e00-\u9fa5]/g).join("")
1696    }
1697    ,
1698    w.API = function(e, t) {
1699        return e = (e = y.para.request_url ? y.para.request_url + e : _.REQUEST_URL + e).replace("{id}", t)
1700    }
1701    ,
1702    w.getSource = function() {
1703        var e, t;
1704        return y.para.platform || (e = y.para.childModulName || y.para.childModuleName,
1705        t = [y.para.appName, y.para.moduleName],
1706        e ? t.push(e) : t.push(y.para.moduleName),
1707        t.join(","))
1708    }
1709    ,
1710    w.getPageTitle = function() {
1711        var i = [].indexOf || function(e) {
1712            for (var t = 0; t < this.length; t++)
1713                if (this[t] === e)
1714                    return t;
1715            return -1
1716        }
1717        ;
1718        window.getElementsByClassName = function(e, t) {
1719            {
1720                if (t.getElementsByClassName)
1721                    return t.getElementsByClassName(e);
1722                if (document.querySelectorAll)
1723                    return t.querySelectorAll("." + e);
1724                for (var r = t.getElementsByTagName("*"), n = [], o = 0; o < r.length; o++)
1725                    r[o].className && -1 < (" " + r[o].className + " ").indexOf(" " + e + " ") && -1 === i.call(n, r[o]) && n.push(r[o]);
1726                return n
1727            }
1728        }
1729        ;
1730        return y.para.pagetitleSelector ? window.getElementsByClassName(y.para.pagetitleSelector, document)[0] && window.getElementsByClassName(y.para.pagetitleSelector, document)[0].innerText ? window.getElementsByClassName(y.para.pagetitleSelector, document)[0].innerText : document.title || y.para.childModulName || y.para.childModuleName || y.para.moduleName || y.para.modulName : y.para.appName && -1 < y.para.appName.toLocaleLowerCase().indexOf("gfp") && window.getElementsByClassName("breadcrumb-active", document)[0] && window.getElementsByClassName("breadcrumb-active", document)[0].innerText ? window.getElementsByClassName("breadcrumb-active", document)[0].innerText : document.title || y.para.childModulName || y.para.childModuleName || y.para.moduleName || y.para.modulName
1731    }
1732    ,
1733    w.getXpath = function(e) {
1734        if ("" !== e.id)
1735            return '//*[@id="' + e.id + '"]';
1736        if (e == document.body)
1737            return "/html/" + e.tagName.toLowerCase();
1738        for (var t = 1, r = e.parentNode.childNodes, n = 0, o = r.length; n < o; n++) {
1739            var i = r[n];
1740            if (i == e)
1741                return w.getXpath(e.parentNode) + "/" + e.tagName.toLowerCase() + "[" + t + "]";
1742            1 == i.nodeType && i.tagName == e.tagName && t++
1743        }
1744    }
1745    ,
1746    w.parseXpath = function(e) {
1747        for (var t = document.evaluate(e, document, null, XPathResult.ANY_TYPE, null), r = [], n = t.iterateNext(); n; )
1748            r.push(n),
1749            n = t.iterateNext();
1750        return r
1751    }
1752    );
1753    function dt() {
1754        var s, c, t, e = window.mideaDataAnalyticSDK;
1755        e && ((s = (s = window[e]) || (window[e] = {})).store = x,
1756        s._sendState = {
1757            _complete: 0,
1758            _receive: 0,
1759            getSendCall: function(e, t) {
1760                if (s.is_heatmap_render_mode)
1761                    return !1;
1762                e.nocache = (String(Math.random()) + String(Math.random()) + String(Math.random())).replace(/\./g, "").slice(0, 15),
1763                ["production"].includes("production") || w.logger.info(e),
1764                e = JSON.stringify(e),
1765                this.prepareServerUrl(e, t)
1766            },
1767            getUrlPara: function(e, t) {
1768                return -1 !== e.indexOf("?") ? e + "&data=" + encodeURIComponent(t) : e + "?data=" + encodeURIComponent(t)
1769            },
1770            prepareServerUrl: function(e, t) {
1771                var r = ""
1772                  , r = ["production"].includes("production") ? "https://taylor.midea.com/dc/" : "https://jrsit.midea.com/big_data/dc/";
1773                var beforeSendHook = window.$$GlobalMdSdkBeforeSendHook;
1774                if (beforeSendHook && typeof beforeSendHook === 'function') {
1775                    beforeSendHook(e, r);
1776                }
1777                this.sendCall(this.getUrlPara(r, e), t)
1778            },
1779            StateInfo: function() {
1780                function e(e) {
1781                    this.callback = e.callback,
1782                    this.hasCalled = !1,
1783                    this.img = new Image(1,1),
1784                    this._sendState = e._sendState,
1785                    this.server_url = e.server_url,
1786                    this.start()
1787                }
1788                return e.prototype.start = function() {
1789                    function t() {
1790                        "object" != typeof n || "function" != typeof n.callback || n.hasCalled || (n.hasCalled = !0,
1791                        n.callback())
1792                    }
1793                    var r = this
1794                      , n = this;
1795                    setTimeout(t, s.para.callback_timeout),
1796                    this.img.onload = function(e) {
1797                        r.onload = null,
1798                        ++n._sendState._complete,
1799                        t()
1800                    }
1801                    ,
1802                    this.img.onerror = function(e) {
1803                        r.onerror = null,
1804                        t()
1805                    }
1806                    ,
1807                    this.img.onabort = function(e) {
1808                        r.onabort = null,
1809                        t()
1810                    }
1811                    ,
1812                    this.img.src = this.server_url
1813                }
1814                ,
1815                e
1816            }(),
1817            sendCall: function(e, t) {
1818                ++this._receive,
1819                this["_state" + this._receive] = new this.StateInfo({
1820                    callback: t,
1821                    server_url: e,
1822                    _sendState: this
1823                })
1824            }
1825        },
1826        (c = {}).checkOption = ((e = {
1827            regName: new RegExp("^[a-zA-Z][a-zA-Z0-9_]*$"),
1828            check: function(e, t) {
1829                return "string" == typeof this[e] ? this[this[e]](t) : this[e](t)
1830            },
1831            properties: function(e) {
1832                var r = this;
1833                return e && (w.isObject(e) ? w.each(e[_.customProp], function(e, t) {
1834                    return r.regName.test(t) ? "string" != typeof e ? (w.logger.info(_.customProp + "里的value必须是字符串"),
1835                    !1) : void 0 : (w.logger.info(_.customProp + "里的key必须是由字符串数字_组成,并且以字母开头"),
1836                    !1)
1837                }) : w.logger.info(_.customProp + "有的话必须是对象")),
1838                !0
1839            },
1840            propRequired: function(e) {
1841                if (e && !e[_.customProp] || e && 0 === Object.keys(e[_.customProp]).length)
1842                    return w.logger.info(_.customProp + "不能为空"),
1843                    !1;
1844                this.properties(e)
1845            }
1846        })[_.eventName] = function(e) {
1847            return !!this.regName.test(e) || (w.logger.info("请检查参数格式," + _.eventName + "必须是由字符串数字_组成,并且以字母开头"),
1848            !1)
1849        }
1850        ,
1851        e[_.userName] = function(e) {
1852            return "string" == typeof e || (w.logger.info(_.userName + "必须是字符串"),
1853            !1)
1854        }
1855        ,
1856        e[_.enterpriseName] = function(e) {
1857            return !e || "string" == typeof e || (w.logger.info(_.enterpriseName + "必须是字符串"),
1858            !1)
1859        }
1860        ,
1861        e),
1862        c.check = function(e) {
1863            for (var t in e)
1864                if (!c.checkOption.check(t, e[t]))
1865                    return !1;
1866            return !0
1867        }
1868        ,
1869        c.send = function(e, t) {
1870            "p_v" === e[_.eventName] && x.set(_.interview, (new Date).getTime()),
1871            (r = {})[_.distinctId] = x.getDistinctId(),
1872            r[_.sid] = x.getSessionId(),
1873            r[_.userName] = x.getUserName(),
1874            r[_.interview] = x.getInterview(),
1875            r[_.clientDate] = w.formatDate(new Date),
1876            r[_.eventDate] = +new Date,
1877            r[_.lib] = {
1878                lib: "js",
1879                lib_method: "code",
1880                lib_version: _.VERSION
1881            },
1882            r[_.ifLogin] = null,
1883            r[_.moduleName] = null,
1884            r[_.deviceInformation] = null,
1885            r[_.usystem] = null,
1886            r[_.uversion] = null,
1887            r[_.resolution] = null,
1888            r[_.eventName] = null,
1889            r[_.elementType] = null,
1890            r[_.elementName] = null,
1891            r[_.elementId] = null,
1892            r[_.elementClassName] = null,
1893            r[_.elementTargetUrl] = null,
1894            r[_.elementTargetSrc] = null,
1895            r[_.elementContent] = null,
1896            r[_.currentUrl] = null,
1897            r[_.title] = null,
1898            r[_.referrerUrl] = null,
1899            r[_.referrerHost] = null,
1900            r.properties = {};
1901            w.extend(r, e),
1902            w.extend(r, w.getPageInfo()),
1903            w.isObject(e.properties) && !w.isEmptyObject(e.properties) && (e.properties.title && (r[_.title] = e.properties.title),
1904            delete e.properties.title,
1905            w.extend(r.properties, e.properties)),
1906            "p_v" === e[_.eventName] && (r.from_vtrack = "dec91444-b9e0-49d6-b6e7-bef17c84748a"),
1907            r.properties[_.customProp] && r.properties[_.customProp].uid && (r.from_vtrack = r.properties[_.customProp].uid),
1908            r.properties.property_val && (r.properties[_.customProp] || (r.properties[_.customProp] = {}),
1909            r.properties[_.customProp].property_val = r.properties.property_val),
1910            S.data && w.extend(r, S.data),
1911            w.extend(r, ((e = {})[_.ifLogin] = "游客" !== r[_.userName],
1912            e)),
1913            x.getEnterpriseName() && w.extend(r, ((e = {})[_.enterpriseName] = x.getEnterpriseName(),
1914            e));
1915            var r, e = x.getCustomProp(), e = (e && 0 !== Object.keys(e).length && (n = r.properties[_.customProp] || {},
1916            Object.assign(n, e),
1917            r.properties[_.customProp] = n),
1918            Object.assign({}, r.properties)), n = (delete r.properties,
1919            w.searchObjDate(r),
1920            w.searchObjString(r),
1921            {
1922                message: r = w.extend(r, e)
1923            });
1924            "login" === r[_.eventName] ? n[_.topicname] = "request_data_main_log_jr" : n.message[_.customProp] && Object.prototype.hasOwnProperty.call(n.message[_.customProp], "step") && Object.prototype.hasOwnProperty.call(n.message[_.customProp], "means_type") ? n[_.topicname] = "request_data_marketing_log_jr" : n[_.topicname] = "request_data_detail_log_jr",
1925            s.para.platform ? w.extend(n.message, ((e = {})[_.moduleName] = s.para.platform,
1926            e[_.childModuleName] = s.para.platform,
1927            e)) : w.extend(n.message, ((r = {})[_.moduleName] = s.para.appName,
1928            r[_.childModuleName] = s.para.moduleName,
1929            r)),
1930            s.vtrack_mode && "normalMode" !== s.vtrack_mode ? n && (e = new CustomEvent("debugInfo",{
1931                detail: n
1932            }),
1933            s.customEv.dispatchEvent(e)) : s._sendState.getSendCall(n, t)
1934        }
1935        ,
1936        s.register = function(e, t) {
1937            void 0 === t && (t = !1),
1938            "[object Object]" === Object.prototype.toString.call(e) ? (t ? x.set([_.customProp], e) : (t = x.getCustomProp(),
1939            Object.assign(t, e),
1940            x.set([_.customProp], t)),
1941            c.send(((e = {})[_.eventName] = "register",
1942            e))) : w.logger.info("register的参数必须为对象")
1943        }
1944        ,
1945        s.autoTrack = function(t, r) {
1946            var n;
1947            t = w.isObject(t) ? t : {},
1948            s.para.is_single_page && (n = performance.now(),
1949            w.addHashEvent(function(e) {
1950                performance.now() - n < 500 || (n = performance.now(),
1951                e.singleSpa && "pushState" === e.singleSpaTrigger || (setTimeout(function() {
1952                    s.track("p_v", t, r)
1953                }, 500),
1954                w.setReferrer(location.href),
1955                s.sdkMain.listenEvents && s.sdkMain.listenEvents()))
1956            })),
1957            setTimeout(function() {
1958                s.track("p_v", t, r)
1959            }, 500)
1960        }
1961        ,
1962        s.track = function(e, t, r) {
1963            var n;
1964            c.check(((n = {})[_.eventName] = e,
1965            n.properties = t,
1966            n)) && c.send(((n = {})[_.eventName] = e,
1967            n.properties = t,
1968            n), r)
1969        }
1970        ,
1971        s.login = function(e, r, n) {
1972            var o, t = {}, i = "", a = "";
1973            "number" == typeof e ? i = String(e) : "object" == typeof e && (i = s.para.username_key ? e[s.para.username_key] : e.id || e.username,
1974            e.enterpriseName && (a = e.enterpriseName)),
1975            t[_.userName] = i,
1976            t.properties = r,
1977            c.check(t) ? (e = function() {
1978                var e, t;
1979                x.set([_.userName], i),
1980                a ? x.set([_.enterpriseName], a) : x.set([_.enterpriseName], ""),
1981                x.set([_.lastLoginTime], o),
1982                x.chageSid(),
1983                c.send(((t = {})[_.userName] = i,
1984                t[_.eventName] = "login",
1985                t.properties = ((e = {})[_.customProp] = r,
1986                e),
1987                t), n)
1988            }
1989            ,
1990            o = (new Date).getTime(),
1991            x.getUserName() !== i || x.getEnterpriseName() !== a ? e() : (t = x.getLastLoginTime(),
1992            6e5 < o - t ? e() : x.set([_.lastLoginTime], o))) : w.logger.info("login的参数必须是字符串或者对象")
1993        }
1994        ,
1995        s.logout = function(e, t) {
1996            var r, n;
1997            x.set([_.userName], ""),
1998            x.set([_.enterpriseName], ""),
1999            x.chageSid(),
2000            c.send(((n = {})[_.eventName] = "logout",
2001            n.properties = ((r = {})[_.customProp] = e,
2002            r),
2003            n), t)
2004        }
2005        ,
2006        s.pageView = function(e, t) {
2007            e && w.setReferrer(e),
2008            s.track("p_v", {
2009                title: t
2010            })
2011        }
2012        ,
2013        s.customEvent = function(e) {
2014            var t;
2015            return s.track("p_e", ((t = {})[_.customProp] = e,
2016            t))
2017        }
2018        ,
2019        s.clickEvent = function(e) {
2020            if (!e)
2021                return !1;
2022            var t = w.getEleInfo({
2023                target: e.target
2024            })
2025              , e = w.getDomSelector(e.target);
2026            return t.element_selector = e || "",
2027            s.track("e_e", t)
2028        }
2029        ,
2030        s.setInitReferrer = function(e) {
2031            w.setReferrer(e)
2032        }
2033        ,
2034        s.sendErrInfo = function(e, t) {
2035            var r;
2036            e = w.isObject(e) ? e : {},
2037            s.track("error", ((r = {})[_.error] = e,
2038            r), t)
2039        }
2040        ,
2041        s.generateThumbnails = function(e, t) {
2042            t = Object.assign({
2043                scale: 2
2044            }, t);
2045            html2canvas(e, t).then(function(e) {
2046                ft.imgSrc = e.toDataURL()
2047            })
2048        }
2049        ,
2050        t = {
2051            getBrowserWidth: function() {
2052                var e = window.innerWidth || document.body.clientWidth;
2053                return isNaN(e) ? 0 : parseInt(e, 10)
2054            },
2055            getBrowserHeight: function() {
2056                var e = window.innerHeight || document.body.clientHeight;
2057                return isNaN(e) ? 0 : parseInt(e, 10)
2058            },
2059            getScrollWidth: function() {
2060                var e = parseInt(document.body.scrollWidth, 10);
2061                return isNaN(e) ? 0 : e
2062            },
2063            W: function(e) {
2064                e = parseInt(+e.clientY + +this.i(), 10);
2065                var t = parseInt(+e.clientX + +this.na(), 10);
2066                return {
2067                    x: isNaN(t) ? 0 : t,
2068                    y: isNaN(e) ? 0 : e
2069                }
2070            },
2071            start: function(e, t, r) {
2072                if (s.para.auto_track && s.para.auto_track.collect_element && !s.para.auto_track.collect_element
2072(t))
2073                    return !1;
2074                var n = w.getDomSelector(t)
2075                  , o = w.getEleInfo({
2076                    target: t
2077                });
2078                o.element_selector = n || "",
2079                s.para.auto_track && s.para.auto_track.custom_property && (n = s.para.auto_track.custom_property(t),
2080                w.isObject(n) && (o = w.extend(o, n))),
2081                s.track("e_e", o)
2082            },
2083            initAutoTrack: function() {
2084                var i = this;
2085                return !!w.isObject(s.para.auto_track) && (!(w.isFunction(s.para.auto_track.collect_url) && !s.para.auto_track.collect_url()) && ("all" === s.para.auto_track.collect_elements ? s.para.auto_track.collect_elements = "all" : s.para.auto_track.collect_elements = "interact",
2086                void ("all" === s.para.auto_track.collect_elements ? w.addEventListener(document, "click", function(e) {
2087                    e = e || window.event;
2088                    if (!e)
2089                        return !1;
2090                    var t = e.target || e.srcElement;
2091                    if ("object" != typeof t)
2092                        return !1;
2093                    if ("string" != typeof t.tagName)
2094                        return !1;
2095                    var r = t.tagName.toLowerCase();
2096                    if ("body" === r.toLowerCase() || "html" === r.toLowerCase())
2097                        return !1;
2098                    if (!t || !t.parentNode || !t.parentNode.children)
2099                        return !1;
2100                    var n = t.parentNode.tagName.toLowerCase();
2101                    "a" === n || "button" === n ? i.start(e, t.parentNode, t.parentNode.tagName.toLowerCase()) : (!t.type || t.type && "password" !== t.type.toLocaleLowerCase()) && i.start(e, t, r)
2102                }) : w.addEventListener(document, "click", function(e) {
2103                    var t = e || window.event;
2104                    if (!t)
2105                        return !1;
2106                    var r = t.target || t.srcElement;
2107                    if ("object" != typeof r)
2108                        return !1;
2109                    if ("string" != typeof r.tagName)
2110                        return !1;
2111                    var n = r.tagName.toLowerCase();
2112                    if ("body" === n.toLowerCase() || "html" === n.toLowerCase())
2113                        return !1;
2114                    if (!r || !r.parentNode || !r.parentNode.children)
2115                        return !1;
2116                    var o = r.parentNode;
2117                    "a" === n || "button" === n || "input" === n || "textarea" === n ? "password" !== r.type.toLocaleLowerCase() && i.start(t, r, n) : "button" === o.tagName.toLowerCase() || "a" === o.tagName.toLowerCase() ? i.start(t, o, r.parentNode.tagName.toLowerCase()) : "area" === n && "map" === o.tagName.toLowerCase() && w.domAct(o).prev().tagName && "img" === w.domAct(o).prev().tagName.toLowerCase() ? i.start(t, w.domAct(o).prev(), w.domAct(o).prev().tagName.toLowerCase()) : (r = w.hasAEle(e.target)) && i.start(t, r, r.tagName.toLowerCase())
2118                }))))
2119            },
2120            initCustomLabel: function() {
2121                var n = this;
2122                w.addEventListener(document, "click", function(e) {
2123                    e = e || window.event;
2124                    if (!e)
2125                        return !1;
2126                    var t, r = w.getCustomLabelTarget(e.target);
2127                    r && (t = w.getCustomVal(r),
2128                    n.start(e, r, t))
2129                }, !0)
2130            },
2131            iframeMessageEvent: function() {
2132                w.postMsg({
2133                    mideaSdkUrl: location.href,
2134                    mideaSdkSource: w.getSource()
2135                }),
2136                w.addHashEvent(function() {
2137                    w.postMsg({
2138                        mideaSdkUrl: location.href,
2139                        mideaSdkSource: w.getSource()
2140                    })
2141                }),
2142                w.addEventListener(window, "message", function(e) {
2143                    e && e.source && window.parent && e.source === window.parent && e.data.mideaSdkType && (1 === parseInt(e.data.mideaSdkType) ? w.cookie.removeLifeCookie() : 2 === parseInt(e.data.mideaSdkType) ? w.cookie.setLifeCookie("sdkType", "visualMode") : 3 === parseInt(e.data.mideaSdkType) && w.cookie.setLifeCookie("sdkType", "heatmapMode"),
2144                    e.data.selectedDate && w.cookie.setLifeCookie("postMsgDate", w.getPostMsgDate(e.data.selectedDate)),
2145                    e.data.url && window.location.href !== e.data.url ? location.href = e.data.url : window.location.reload(!0))
2146                }, !1)
2147            },
2148            prepare: function(e) {
2149                "heatmapMode" === w.cookie.getLifeCookie("sdkType") ? (s.is_heatmap_render_mode = !0,
2150                w.postMsg({
2151                    mideaSdkType: "3"
2152                }),
2153                w.loadScript({
2154                    success: function() {
2155                        setTimeout(function() {
2156                            void 0 !== s.jssdk_heatmap_render && s.jssdk_heatmap_render()
2157                        }, 0)
2158                    },
2159                    error: function() {},
2160                    type: "js",
2161                    url: w.getFilePath("heatmap", "js")
2162                }),
2163                w.loadScript({
2164                    url: w.getFilePath("heatmap", "css"),
2165                    type: "css"
2166                })) : (s.is_heatmap_render_mode = !1,
2167                e(),
2168                w.isObject(s.para.auto_track) ? this.initAutoTrack() : s.para.openCustomLabel && this.initCustomLabel())
2169            }
2170        },
2171        s._init = function(e) {
2172            if (void 0 === e && (e = {}),
2173            w.hasUnStandardBrowserEnviroment())
2174                return !1;
2175            s._initPara(e),
2176            window.parent !== window ? t.iframeMessageEvent() : w.cookie.removeLifeCookie(),
2177            t.prepare(function() {
2178                s.postMsgDate = w.cookie.getLifeCookie("postMsgDate"),
2179                w.info.initPage(),
2180                x.init()
2181            })
2182        }
2183        ,
2184        s._pageUnloadEvent = function(e, t) {
2185            e = w.isObject(e) ? e : {},
2186            w.addPageUnloadEvent(function() {
2187                s.track("p_unload", e, t)
2188            })
2189        }
2190        ,
2191        s._scrollmapEvent = function() {
2192            if (!s.para.scroll_notice)
2193                return !1;
2194            var r = (new Date).getTime();
2195            w.addEventListener(window, "scroll", function() {
2196                var e, t;
2197                (t = (new Date).getTime() - r) > s.para.scroll_delay_time && ((e = {}).event_duration = parseInt(t),
2198                e.scroll_top = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop || 0,
2199                e.scroll_top = Math.round(e.scroll_top) || 0,
2200                e.scroll_height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0,
2201                e.scroll_width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0,
2202                r = (new Date).getTime(),
2203                s.track("web_stay", e))
2204            })
2205        }
2206        ,
2207        s._catchErrInfo = function() {
2208            w.addEventListener(window, "error", function(e) {
2209                e = {
2210                    filename: e.filename,
2211                    message: e.message,
2212                    lineno: e.lineno,
2213                    colno: e.colno,
2214                    composed: e.composed,
2215                    type: e.type,
2216                    target: e.srcElement && e.srcElement.outerHTML ? e.srcElement.outerHTML : "window"
2217                };
2218                s.sendErrInfo(e)
2219            }, !0),
2220            w.addEventListener(window, "unhandledrejection", function(e) {
2221                e = {
2222                    filename: location.href,
2223                    message: e.reason && e.reason.message,
2224                    composed: e.composed,
2225                    type: e.type,
2226                    target: "window"
2227                };
2228                s.sendErrInfo(e)
2229            })
2230        }
2231        )
2232    }
2233    function pt() {
2234        var u, e = window.mideaDataAnalyticSDK;
2235        e && ((u = (u = window[e]) || (window[e] = {})).sdkMain = new (function() {
2236            function e() {
2237                this.SAS = {},
2238                this.SAS.IGNORE = {
2239                    tag: "mideasdk_ignore_tag",
2240                    iself: "self",
2241                    iall: "all",
2242                    iclass: {
2243                        "mideasdk-outline-highlight-frame": !0,
2244                        "mideasdk-outline-highlight-frame-deployed": !0,
2245                        "mideasdk-outline-highlight-frame-select": !0
2246                    }
2247                },
2248                this.visualSearchName = "mideasdkdata_visual_mode_in",
2249                this.visualStorageName = "mideasdkdata_vtrack_data",
2250                this.deployData = null,
2251                this._init()
2252            }
2253            var t = e.prototype;
2254            return t.browserIsSupport = function() {
2255                return !("object" != typeof window.localStorage || !window.localStorage.setItem)
2256            }
2257            ,
2258            t.showErrorTip = function(e) {
2259                if ("object" != typeof e)
2260                    return !1;
2261                var t = document.createElement("div")
2262                  , r = document.createAttribute("style")
2263                  , n = document.createTextNode(e.tip);
2264                r.value = "background:#e55b41;border:none;border-radius:8px;color:#fff;font-size:18px;left:50%;margin-left:-300px;padding:15px;position: fixed;text-align: center;top: 0;width:600px;z-index:9999;",
2265                t.setAttributeNode(r),
2266                t.appendChild(n),
2267                t.appendTo(document.body),
2268                setTimeout(function() {
2269                    e.func && e.func(),
2270                    t.parentNode.removeChild(t)
2271                }, e.time)
2272            }
2273            ,
2274            t.isShowVisual = function() {
2275                function e() {
2276                    return !!r.browserIsSupport() || (r.showErrorTip({
2277                        tip: "对不起,可视化埋点暂不支持你当前的浏览器,请升级至ie10以上,推荐使用chrome,firefox,safari等浏览器",
2278                        time: 1e4
2279                    }),
2280                    !1)
2281                }
2282                var t = location.href
2283                  , r = this;
2284                if (-1 !== t.indexOf(this.visualSearchName)) {
2285                    if (!e())
2286                        return !1;
2287                    window.localStorage.removeItem(r.visualStorageName),
2288                    w.cookie.setLifeCookie("sdkType", "visualMode"),
2289                    r.enterVisibleMode()
2290                } else if ("visualMode" === w.cookie.getLifeCookie("sdkType")) {
2291                    if (!e())
2292                        return !1;
2293                    r.enterVisibleMode(),
2294                    w.postMsg({
2295                        mideaSdkType: "2"
2296                    })
2297                } else
2298                    this.enterNormalMode(),
2299                    w.postMsg({
2300                        mideaSdkType: "1"
2301                    })
2302            }
2303            ,
2304            t.getDeployData = function() {
2305                var t = this
2306                  , e = window.location.host
2307                  , r = window.location.href;
2308                w.ajax({
2309                    url: w.API("visualTracking/api/list") + "?deployed=1&visible=1&host=" + e + "&url=" + encodeURIComponent(r),
2310                    cors: !0,
2311                    header: {
2312                        cors: "true"
2313                    },
2314                    type: "GET",
2315                    contentType: "application/json",
2316                    success: function(e) {
2317                        t.deployData = e.data,
2318                        t.listenEvents()
2319                    },
2320                    error: function() {}
2321                })
2322            }
2323            ,
2324            t._init = function() {
2325                u._init(),
2326                u.is_heatmap_render_mode || this.isShowVisual()
2327            }
2328            ,
2329            t.enterVisibleMode = function() {
2330                u.vtrack_mode = "defineMode",
2331                w.loadScript({
2332                    url: w.getFilePath("vendor", "js"),
2333                    type: "js"
2334                }),
2335                w.loadScript({
2336                    url: w.getFilePath("vendor", "css"),
2337                    type: "css"
2338                })
2339            }
2340            ,
2341            t.enterNormalMode = function() {
2342                u.vtrack_mode = "normalMode",
2343                u.para.auto_pv && u.autoTrack(),
2344                u._pageUnloadEvent(),
2345                u.para.scroll_notice && u._scrollmapEvent(),
2346                this.getDeployData()
2347            }
2348            ,
2349            t.getEle = function(e) {
2350                var t, r, n = e.nthEle, o = [], i = -1 < n.indexOf("input") || -1 < n.indexOf("textarea");
2351                if ("xpath" === e.elementSelectorType || /^\/html.*$/.test(n))
2352                    return w.parseXpath(e.nthEle);
2353                if (r = -1 < n.indexOf(":eq") ? (n = (t = n.match("(.+?):eq\\((.+?)\\)"))[1],
2354                t = t[2],
2355                [r = document.querySelectorAll(n)[t]]) : document.querySelectorAll(n),
2356                r = [].slice.apply(r),
2357                e.selfAttr)
2358                    for (var a = 0; a < r.length; a++)
2359                        (i && r[a].name === e.selfAttr || r[a].innerText === e.selfAttr || r[a].firstChild && r[a].firstChild.data && r[a].firstChild.data === e.selfAttr) && o.push(r[a]);
2360                else
2361                    o = r;
2362                return o
2363            }
2364            ,
2365            t.getEleExcept = function(e) {
2366                if (!e)
2367                    return "";
2368                var t = e.nthEle
2369                  , r = this.SAS
2370                  , n = []
2371                  , o = null;
2372                if ("xpath" === e.elementSelectorType || /^\/html.*$/.test(t))
2373                    return w.parseXpath(e.nthEle)[0];
2374                var i, a, s = -1 < t.indexOf("input") || -1 < t.indexOf("textarea");
2375                if (0 === (a = -1 < t.indexOf(":eq") ? (t = (i = t.match("(.+?):eq\\((.+?)\\)"))[1],
2376                i = i[2],
2377                [a = document.querySelectorAll(t)[i]]) : document.querySelectorAll(t)).length)
2378                    return null;
2379                if (a = [].slice.apply(a),
2380                e.selfAttr)
2381                    for (var c = 0; c < a.length; c++)
2382                        (s && a[c].name === e.selfAttr || a[c].innerText === e.selfAttr) && n.push(a[c]);
2383                else
2384                    n = a;
2385                return n.forEach(function(e) {
2386                    0 === (e = $(e)).closest("[" + r.IGNORE.tag + '="' + r.IGNORE.iall + '"]').length && e.attr(r.IGNORE.tag) !== r.IGNORE.iself && (o = o ? o.add(e) : e)
2387                }),
2388                o
2389            }
2390            ,
2391            t.handleEvent = function(t) {
2392                var r = u.sdkMain
2393                  , e = r.requireData
2394                  , n = (t.target.tagName || "html").toLocaleLowerCase();
2395                if (("input" === n || "textarea" === n) && ("click" === t.type || "touchstart" === t.type || "change" === t.type) || "select" === n && "change" !== t.type || "input" !== n && "textarea" !== n && "select" !== n && "blur" === t.type)
2396                    return !1;
2397                for (var o = d(e); !(a = o()).done; ) {
2398                    var i = a.value
2399                      , a = r.getEle(i);
2400                    if (!i.childHasBuriedPoint || a[0] === t.target)
2401                        for (var s = d(a); !(c = s()).done; ) {
2402                            var c = c.value;
2403                            if (c && c.contains(t.target)) {
2404                                !function(e) {
2405                                    "input" === n || "textarea" === n ? (r.timeOut && clearTimeout(r.timeOut),
2406                                    r.timeOut = setTimeout(function() {
2407                                        r.doVTrackAction(e, t.target, r.requireDataObj)
2408                                    }, 500)) : r.doVTrackAction(e, t.target, r.requireDataObj)
2409                                }(i);
2410                                break
2411                            }
2412                        }
2413                }
2414            }
2415            ,
2416            t.isMobile = function() {
2417                var e = navigator.userAgent.toLowerCase();
2418                return !!/ipad|iphone|midp|rv:1.2.3.4|ucweb|android|windows ce|windows mobile/.test(e)
2419            }
2420            ,
2421            t.listenEvents = function() {
2422                if (this.requireData = this.checkUrl(this.deployData),
2423                this.requireDataObj = this.getRequiredObj(this.requireData),
2424                0 === this.requireData.length)
2425                    return !1;
2426                var e = this.isMobile() ? "touchstart" : "click";
2427                w.removeEventListener(document, e, this.handleEvent, !0),
2428                w.addEventListener(document, e, this.handleEvent, !0),
2429                w.removeEventListener(document, "blur", this.handleEvent, !0),
2430                w.addEventListener(document, "blur", this.handleEvent, !0),
2431                w.removeEventListener(document, "change", this.handleEvent, !0),
2432                w.addEventListener(document, "change", this.handleEvent, !0),
2433                w.removeEventListener(document, "propertychange", this.handleEvent, !0),
2434                w.addEventListener(document, "propertychange", this.handleEvent, !0),
2435                w.removeEventListener(document, "input", this.handleEvent, !0),
2436                w.addEventListener(document, "input", this.handleEvent, !0)
2437            }
2438            ,
2439            t.doVTrackAction = function(e, t, r) {
2440                var n = "";
2441                if (e.propertyName && !isNaN(parseInt(e.propertyName))) {
2442                    var r = r[e.propertyName]
2443                      , o = u.sdkMain.getEle(r)
2444                      , i = u.sdkMain.getEle(e)
2445                      , a = 0;
2446                    if (i.length === o.length && 1 < o.length)
2447                        for (var s = 0, c = i; s < c; s++)
2448                            if (i[s].contains(t) || i[s] === t) {
2449                                a = s;
2450                                break
2451                            }
2452                    o = w.getEleInfo({
2453                        target: o[a]
2454                    });
2455                    "class" === r.propertyName && (r.propertyName = "element_class_name"),
2456                    n = o[r.propertyName] || o[_.elementContent]
2457                } else
2458                    e.propertyName && "value" !== e.propertyName ? n = t.getAttribute(e.propertyName) : e.propertyName && "value" === e.propertyName && (n = t.value);
2459                r = {
2460                    from_vtrack: String(e.uid || e.id),
2461                    vtrack_event_name: e.event ? e.event.name : "",
2462                    vtrack_event_cname: e.event ? e.event.cname : ""
2463                },
2464                e.propertyName && (r.property_name = e.propertyName,
2465                r.property_val = n),
2466                o = w.getEleInfo({
2467                    target: t
2468                }),
2469                n = w.getDomSelector(t);
2470                o.element_selector = n || "",
2471                w.extend(r, o),
2472                u.track(e.event.name, r, {
2473                    lib_method: "vtrack"
2474                })
2475            }
2476            ,
2477            t.checkUrl = function(e) {
2478                if (!e || 0 === e.length)
2479                    return [];
2480                for (var t = [], r = location.href, n = d(e); !(o = n()).done; ) {
2481                    var o = o.value;
2482                    "" === o.content ? t = t.concat(o) : "fixed" === o.mode ? o.content === r && (t = t.concat(o)) : "part" === o.mode ? -1 !== r.indexOf(o.content) && (t = t.concat(o)) : "regexp" === o.mode && new RegExp(o.content).test(r) && (t = t.concat(o))
2483                }
2484                return t
2485            }
2486            ,
2487            t.getRequiredObj = function(e) {
2488                for (var t = {}, r = d(e); !(n = r()).done; ) {
2489                    var n = n.value;
2490                    t[n.id] = n
2491                }
2492                return t
2493            }
2494            ,
2495            e
2496        }()))
2497    }
2498    var E, n = window.mideaDataAnalyticSDK, r = {}, x = (n && (E = (E = window[n]) || (window[n] = {}),
2499    r = {
2500        _state: {},
2501        getDistinctId: function() {
2502            var e = _.STORAGE_PREFIX + "user_uuid"
2503              , t = w.cookie.get(e);
2504            return t || (t = w.UUID(),
2505            w.cookie.set(e, t, 73e3, !0)),
2506            t
2507        },
2508        getSessionId: function() {
2509            var e = this._state.sid_time;
2510            return 6e5 < (new Date).getTime() - e && this.chageSid(),
2511            this._state[p.sid]
2512        },
2513        getUserName: function() {
2514            return this._state[p.userName] || "游客"
2515        },
2516        getEnterpriseName: function() {
2517            return this._state[p.enterpriseName] || ""
2518        },
2519        getCustomProp: function() {
2520            return this._state[p.customProp] || {}
2521        },
2522        getLastLoginTime: function() {
2523            return this._state[p.lastLoginTime] || (new Date).getTime()
2524        },
2525        getInterview: function() {
2526            var e = this._state[p.interview];
2527            return e || (e = (new Date).getTime(),
2528            this.set(p.interview, e)),
2529            e
2530        },
2531        chageSid: function() {
2532            this.set(p.sid, w.UUID()),
2533            this.set("sid_time", (new Date).getTime())
2534        },
2535        toState: function(e) {
2536            var t = null;
2537            if (null != e && w.isJSONString(e))
2538                if (t = JSON.parse(e),
2539                this._state = w.extend(t),
2540                t[p.sid]) {
2541                    if ("object" == typeof t.props) {
2542                        for (var r in t.props)
2543                            "string" == typeof t.props[r] && (t.props[r] = t.props[r].slice(0, E.para.max_string_length));
2544                        this.save()
2545                    }
2546                } else
2547                    this.set(p.sid, w.UUID());
2548            else
2549                this.set(p.sid, w.UUID())
2550        },
2551        setOnce: function(e, t) {
2552            e in this._state || this.set(e, t)
2553        },
2554        set: function(e, t) {
2555            this._state = this._state || {},
2556            this._state[e] = t,
2557            this.save()
2558        },
2559        change: function(e, t) {
2560            this._state[e] = t
2561        },
2562        save: function() {
2563            w.cookie.set(this.getCookieName(), JSON.stringify(this._state), 0)
2564        },
2565        getCookieName: function() {
2566            return "mideasdkdata_jssdk_cross_" + this.getSubCookieKey()
2567        },
2568        getSubCookieKey: function() {
2569            var e = "";
2570            return E.para.platform ? e = [E.para.platform] : (E.para.appName || E.para.moduleName || E.para.childModuleName || E.para.childModulName) && (e = [E.para.appName, E.para.moduleName],
2571            (E.para.childModuleName || E.para.childModulName) && e.push(E.para.childModuleName || E.para.childModulName)),
2572            e.join("_")
2573        },
2574        init: function() {
2575            var e = w.UUID()
2576              , t = w.cookie.get(this.getCookieName());
2577            null === t ? this.set(p.sid, e) : this.toState(t)
2578        }
2579    }),
2580    r), S = new (function() {
2581        function e() {
2582            var e, t = null, r = (t = (t = window.sessionStorage.getItem(this.storageKey) ? JSON.parse(window.sessionStorage.getItem(this.storageKey)) : t) || this._getUserAgent(),
2583            window.Intl ? window.Intl.DateTimeFormat().resolvedOptions() : {}), t = Object.assign(t, ((e = {})[_.timeZone] = r.timeZone || "Unknown",
2584            e[_.locale] = r.locale || "Unknown",
2585            e));
2586            this.data = t
2587        }
2588        var t, r, n;
2589        return e.prototype._getUserAgent = function() {
2590            var e, t, r = "", n = "", o = navigator.userAgent.toLowerCase(), i = "", a = "", s = {}, c = "", u = "", l = "", d = (d = {
2591                type: "",
2592                version: null
2593            },
2594            t = navigator.userAgent,
2595            window.opera ? (d.version = window.opera.version(),
2596            d.type = "opera") : /AppleWebKit\/(\S+)/.test(t) ? (d.version = RegExp.$1,
2597            d.type = "webkit") : /KHTML\/(\S+)/.test(t) || /Konqueror\/([^;]+)/.test(t) ? (d.version = RegExp.$1,
2598            d.type = "khtml") : /rv:([^\)]+)\) Gecko\/\d{8}/.test(t) ? (d.version = RegExp.$1,
2599            d.type = "gecko") : /MSIE ([^;]+)/.test(t) && (d.version = RegExp.$1,
2600            d.type = "ie"),
2601            s = d,
2602            /(iPhone|iPad|iPod|iOS|mac)/i.test(navigator.userAgent) ? (i = (c = o.match(/ os (.*?) like mac os/)) ? (n = "ios",
2603            c ? c[1] : "unknown") : (n = "mac os",
2604            (c = o.match(/ mac os x ([\d_]+)/)) ? c[1] : "unknown"),
2605            u = o.match(/[(\b]/).index,
2606            l = o.match(/[)\b]/).index + 1,
2607            r = o.substring(u, l)) : /(Android)/i.test(navigator.userAgent) ? (n = "android",
2608            i = (c = o.match(/android (.*?); (.*?)build/)) ? c[1] : "unknown",
2609            u = o.match(/[(\b]/).index,
2610            l = o.match(/[)\b]/).index + 1,
2611            r = o.substring(u, l)) : (n = "window",
2612            u = o.match(/[(\b]/).index,
2613            l = o.match(/[)\b]/).index + 1,
2614            c = (r = o.substring(u, l)).split(";"),
2615            -1 < o.indexOf("windows nt 5.0") ? i = "win2000" : -1 < o.indexOf("windows nt 5.1") || -1 < o.indexOf("windows nt 5.2") ? i = "win xp" : -1 < o.indexOf("windows nt 6.0") ? i = "win vista" : -1 < o.indexOf("windows nt 6.1") || -1 < o.indexOf("windows 7") ? i = "win7" : -1 < o.indexOf("windows nt 6.2") || -1 < o.indexOf("windows 8") ? i = "win8" : -1 < o.indexOf("windows nt 6.3") ? i = "win8.1" : (-1 < o.indexOf("windows nt 6.2") || -1 < o.indexOf("windows nt 10.0")) && (i = "win10"),
2616            t = {},
2617            o.match(/msie ([\d\.]+)/) ? (e = o.match(/msie ([\d\.]+)/),
2618            t.ie = e[1]) : o.match(/edge\/([\d\.]+)/) ? (e = o.match(/edge\/([\d\.]+)/),
2619            t.edge = e[1]) : o.match(/firefox\/([\d\.]+)/) ? (e = o.match(/firefox\/([\d\.]+)/),
2620            t.firefox = e[1]) : o.match(/(?:opera|opr).([\d\.]+)/) ? (e = o.match(/(?:opera|opr).([\d\.]+)/),
2621            t.opera = e[1]) : o.match(/chrome\/([\d\.]+)/) ? (e = o.match(/chrome\/([\d\.]+)/),
2622            t.chrome = e[1]) : o.match(/version\/([\d\.]+).*safari/) ? (e = o.match(/version\/([\d\.]+).*safari/),
2623            t.safari = e[1]) : o.match(/rv:([\d.]+)\) like gecko/) ? (e = o.match(/rv:([\d.]+)\) like gecko/),
2624            t[360] = e[1]) : e = "0",
2625            a = t.ie ? {
2626                browserType: "IE" + t.ie.split(".")[0],
2627                browserVersion: t.ie
2628            } : t.edge ? {
2629                browserType: "Edge",
2630                browserVersion: t.edge
2631            } : t.firefox ? {
2632                browserType: "Firefox",
2633                browserVersion: t.firefox
2634            } : t.chrome ? {
2635                browserType: "Chrome",
2636                browserVersion: t.chrome
2637            } : t.opera ? {
2638                browserType: "Opera",
2639                browserVersion: t.opera
2640            } : t.safari ? {
2641                browserType: "Safari",
2642                browserVersion: t.safari
2643            } : t[360] ? {
2644                browserType: "360",
2645                browserVersion: t[360]
2646            } : {
2647                browserType: "Unknown",
2648                browserVersion: ""
2649            }),
2650            /HeadlessChrome/.test(window.navigator.userAgent) || 0 == window.navigator.plugins.length || "" == window.navigator.languages), l = ((u = {})[_.deviceInformation] = r,
2651            u[_.usystem] = n,
2652            u[_.uversion] = i,
2653            u[_.browserType] = a.browserType,
2654            u[_.browserVersion] = a.browserVersion,
2655            u[_.engine] = s.type,
2656            u[_.engineVersion] = s.version,
2657            u[_.resolution] = Math.round(window.screen.width * (1 | window.devicePixelRatio)) + "," + Math.round(screen.height * (1 | window.devicePixelRatio)),
2658            u[_.isHeadless] = d,
2659            u);
2660            return this.data = l,
2661            window.sessionStorage.setItem(this.storageKey, JSON.stringify(this.data)),
2662            l
2663        }
2664        ,
2665        t = e,
2666        (r = [{
2667            key: "storageKey",
2668            get: function() {
2669                return _.STORAGE_PREFIX + _.STORAGE_USER_AGENT
2670            }
2671        }, {
2672            key: "data",
2673            get: function() {
2674                return this._data
2675            },
2676            set: function(e) {
2677                this._data = e
2678            }
2679        }]) && Ge(t.prototype, r),
2680        n && Ge(t, n),
2681        e
2682    }()), ft = void 0, mt = ["error", "warn", "info", "debug", "trace"];
2683    ht = {},
2684    mt.forEach(function(o) {
2685        ht[o] = function() {
2686            for (var e, t = arguments.length, r = new Array(t), n = 0; n < t; n++)
2687                r[n] = arguments[n];
2688            return (e = window.console).log.apply(e, ["Mieda Logger [" + o + "]:"].concat(r))
2689        }
2690    });
2691    var ht, N = ht, gt = N.error, _t = (N.warn,
2692    N.info,
2693    N.debug,
2694    N.trace), vt = "ERROR", wt = "PERFORMANCE", yt = "REPORT", bt = "AJAXLOG", O = {
2695        ResourceError: "ResourceError",
2696        EvalError: "EvalError",
2697        InternalError: "InternalError",
2698        RangeError: "RangeError",
2699        ReferenceError: "ReferenceError",
2700        SyntaxError: "SyntaxError",
2701        TypeError: "TypeError",
2702        URIError: "URIError",
2703        PromiseError: "PromiseError",
2704        HttpError: "HttpError",
2705        VueError: "VueError"
2706    }, Et = "XHR", xt = "Fetch", t = "String", c = "Number", e = "Boolean", o = "Null", s = "Undefined", l = "Symbol", a = "Object", u = "Array", n = "process", r = "Window", St = "Function", Nt = {
2707        version: "0.0.1",
2708        env: "production",
2709        developUrl: "https://taylor.midea.com/mfl/"
2710    }, Ot = "errorPlugin", kt = "fetchPlugin", jt = "performancePlugin", Tt = "promisePlugin", Ct = "vuePlugin", Lt = "xhrPlugin", Pt = Object.prototype.toString;
2711    function k(t) {
2712        return function(e) {
2713            return Pt.call(e) === "[object " + t + "]"
2714        }
2715    }
2716    var j = {
2717        isNumber: k(c),
2718        isString: k(t),
2719        isBoolean: k(e),
2720        isNull: k(o),
2721        isUndefined: k(s),
2722        isSymbol: k(l),
2723        isFunction: k(St),
2724        isObject: k(a),
2725        isArray: k(u),
2726        isProcess: k(n),
2727        isWindow: k(r)
2728    };
2729    var c = j.isProcess("undefined" != typeof process ? process : 0)
2730      , t = j.isObject("undefined" != typeof wx ? wx : 0) && j.isFunction("undefined" != typeof App ? App : 0)
2731      , e = j.isWindow("undefined" != typeof window ? window : 0)
2732      , T = e && navigator.userAgent.toLowerCase()
2733      , At = (T && /wechatdevtools/.test(T),
2734    !(!T || !/Safari/.test(T) || /Chrome/.test(T)));
2735    T && T.indexOf("android");
2736    var C = e ? window : t ? wx : c ? process : void 0;
2737    function L() {
2738        return window.performance && window.performance.now && window.performance.timing ? window.performance.now() + window.performance.timing.navigationStart : +new Date
2739    }
2740    function Rt(e) {
2741        if (void 0 === e && (e = !1),
2742        "undefined" == typeof document || null == document.location)
2743            return "";
2744        var t = window.location
2745          , r = t.href
2746          , n = t.origin
2747          , o = t.pathname
2748          , i = t.hash
2749          , t = t.search;
2750        return e ? r : "" !== t ? (e = r.indexOf(t),
2751        decodeURIComponent(r.slice(0, e))) : "" !== i ? (t = i.indexOf("?"),
2752        decodeURIComponent(n + o + (-1 === t ? i : i.slice(0, t)))
2752) : decodeURIComponent(r)
2753    }
2754    function Mt(e) {
2755        return e === Rt(!0) ? "" : e
2756    }
2757    function P(e, t, r, n) {
2758        void 0 === n && (n = !1),
2759        e.addEventListener ? e.addEventListener(t, r, n) : e.attachEvent && e.attachEvent("on" + t, r, n)
2760    }
2761    function Dt(e, t, r, n) {
2762        void 0 === n && (n = !1),
2763        e.removeEventListener ? e.removeEventListener(t, r, n) : e.detachEvent && e.detachEvent(t, r, n)
2764    }
2765    var It = "<anonymous>";
2766    function Ut(e) {
2767        var r = new Set
2768          , e = JSON.stringify(e, function(e, t) {
2769            return r.has(t) && null !== t ? "Circular" : ("object" == typeof t && r.add(t),
2770            t)
2771        });
2772        return r.clear(),
2773        e
2774    }
2775    function A(e, t, r) {
2776        void 0 !== e && t in e && "function" == typeof (r = r(e[t])) && (e[t] = r)
2777    }
2778    function qt() {
2779        var r = (new Date).getTime();
2780        return window.performance && "function" == typeof window.performance.now && (r += window.performance.now()),
2781        "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, function(e) {
2782            var t = (r + 16 * Math.random()) % 16 | 0;
2783            return r = Math.floor(r / 16),
2784            ("x" === e ? t : 3 & t | 8).toString(16)
2785        })
2786    }
2787    function R(e) {
2788        return e < 0 ? 0 : e
2789    }
2790    function Ht(e) {
2791        var t = e.tagName.toLowerCase();
2792        if ("body" === t)
2793            return null;
2794        var r = "" !== (r = e.classList.value) ? ' class="' + r + '"' : "";
2795        return "<" + t + (e.id ? ' id="' + e.id + '"' : "") + ("" !== r ? r : "") + (e.src ? ' src="' + Mt(e.src) + '"' : "") + ">" + e.innerText + "</" + t + ">"
2796    }
2797    function zt(e) {
2798        var t = {
2799            name: e.name,
2800            message: e.message
2801        };
2802        if (void 0 === e.stack || !e.stack)
2803            return t;
2804        for (var r, n, o = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, i = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i, a = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i, s = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, c = /\((\S*)(?::(\d+))(?::(\d+))\)/, u = e.stack.split("\n"), l = [], d = 0, p = u.length; d < p; ++d) {
2805            if (n = o.exec(u[d])) {
2806                var f = n[2] && 0 === n[2].indexOf("native");
2807                n[2] && 0 === n[2].indexOf("eval") && (r = c.exec(n[2])) && (n[2] = r[1],
2808                n[3] = r[2],
2809                n[4] = r[3]),
2810                f = {
2811                    url: f ? null : n[2],
2812                    func: n[1] || "UNKNOWN_FUNCTION",
2813                    args: f ? [n[2]] : [],
2814                    line: n[3] ? +n[3] : null,
2815                    column: n[4] ? +n[4] : null
2816                }
2817            } else if (n = a.exec(u[d]))
2818                f = {
2819                    url: n[2],
2820                    func: n[1] || "UNKNOWN_FUNCTION",
2821                    args: [],
2822                    line: +n[3],
2823                    column: n[4] ? +n[4] : null
2824                };
2825            else {
2826                if (!(n = i.exec(u[d])))
2827                    continue;
2828                n[3] && -1 < n[3].indexOf(" > eval") && (r = s.exec(n[3])) ? (n[3] = r[1],
2829                n[4] = r[2],
2830                n[5] = null) : 0 !== d || n[5] || void 0 === e.columnNumber || (l[0].column = e.columnNumber + 1),
2831                f = {
2832                    url: n[3],
2833                    func: n[1] || "UNKNOWN_FUNCTION",
2834                    args: n[2] ? n[2].split(",") : [],
2835                    line: n[4] ? +n[4] : null,
2836                    column: n[5] ? +n[5] : null
2837                }
2838            }
2839            !f.func && f.line && (f.func = "UNKNOWN_FUNCTION"),
2840            l.push(f)
2841        }
2842        if (!l.length)
2843            return null;
2844        var m = l.map(function(e) {
2845            return {
2846                url: e.url,
2847                func: e.func,
2848                args: e.args,
2849                row_number: e.line,
2850                column_number: e.column
2851            }
2852        });
2853        return Object.assign(t, {
2854            stack: m
2855        })
2856    }
2857    var Bt = function(e) {
2858        function t() {
2859            return e.apply(this, arguments) || this
2860        }
2861        Ke(t, e);
2862        var r = t.prototype;
2863        return r.sendToServer = function(e, t) {
2864            switch (this.sendType) {
2865            case "img":
2866                this.reportByImg(e, t);
2867                break;
2868            case "beacon":
2869                this.reportByBeacon(e, t);
2870                break;
2871            case "ajax":
2872                this.reportByAjaxWorker(e, t)
2873            }
2874        }
2875        ,
2876        r.isSupportSendBeacon = function() {
2877            return !!window.navigator.sendBeacon
2878        }
2879        ,
2880        r.reportByImg = function(e, t) {
2881            var r = new Image
2882              , n = -1 === t.indexOf("?") ? "?" : "&";
2883            r.src = t + n + "data=" + encodeURIComponent(Ut(e))
2884        }
2885        ,
2886        r.reportByBeacon = function(e, t) {
2887            this.isSupportSendBeacon() ? window.navigator.sendBeacon(t, this.transportToURLSearchParams(e)) : this.reportByAjax(e, t)
2888        }
2889        ,
2890        r.transportToURLSearchParams = function(e) {
2891            for (var t = "", r = 0, n = Object.entries(e); r < n.length; r++) {
2892                var o = n[r];
2893                t += o[0] + "=" + o[1] + "&"
2894            }
2895            return t.slice(0, -1)
2896        }
2897        ,
2898        r.reportByAjaxWorker = function(t, r) {
2899            try {
2900                this.xhrWorker || (this.xhrWorker = new Worker((e = new Blob(["\n\tfunction safeStringify (target) {\n\t\tconst set = new Set();\n\t\tconst str = JSON.stringify(target, function (_key, value) {\n\t\t\tif (set.has(value) && value !== null) {\n\t\t\t\treturn 'Circular';\n\t\t\t}\n\t\t\ttypeof value === 'object' && set.add(value);\n\t\t\treturn value;\n\t\t});\n\t\tset.clear();\n\t\treturn str;\n\t}\n    self.onmessage = e => {\n        const { data,url } = e.data;\n        const xhr = new XMLHttpRequest();\n\t\txhr.open('Post', url);\n\t\txhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');\n\t\txhr.withCredentials = true;\n\t\tif (typeof this.configReportXhr === 'function') {\n\t\t\tthis.configReportXhr(xhr, data);\n\t\t}\n\t\txhr.send(safeStringify(data));\n    };\n    "]),
2901                URL.createObjectURL(e)))),
2902                this.xhrWorker.postMessage({
2903                    data: t,
2904                    url: r
2905                })
2906            } catch (e) {
2907                this.reportByAjax(t, r)
2908            }
2909            var e
2910        }
2911        ,
2912        r.reportByAjax = function(e, t) {
2913            var r = new XMLHttpRequest;
2914            r.open("Post", t),
2915            r.setRequestHeader("Content-Type", "application/json;charset=UTF-8"),
2916            r.withCredentials = !0,
2917            "function" == typeof this.configReportXhr && this.configReportXhr(r, e),
2918            r.send(Ut(e))
2919        }
2920        ,
2921        r.getTransportData = function(e) {
2922            return e
2923        }
2924        ,
2925        t
2926    }(function() {
2927        function e(e) {
2928            this.apikey = e.apikey || "",
2929            this.url = e.apikey || Nt.developUrl,
2930            this.sendType = e.sendType || "ajax"
2931        }
2932        var t = e.prototype;
2933        return t.send = function(e, t) {
2934            void 0 === t && (t = []);
2935            e = Object.assign(e, t);
2936            return this.sendToServer(e, this.url)
2937        }
2938        ,
2939        t.sendToServer = function(e, t) {}
2940        ,
2941        t.post = function(e, t) {}
2942        ,
2943        e
2944    }());
2945    function Ft(e) {
2946        var t = window.Intl ? window.Intl.DateTimeFormat().resolvedOptions() : {};
2947        return {
2948            prod_code: e.prodCode || "",
2949            app_code: e.appCode || "",
2950            version: Nt.env,
2951            page_url: Rt(!0),
2952            page_title: "undefined" == typeof document || null == document.location ? "" : document.title,
2953            plugin_version: Nt.version,
2954            user_name: x.getUserName ? x.getUserName() : "游客",
2955            frontend_time: L(),
2956            timeZone: t.timeZone || "Unknown",
2957            locale: t.locale || "Unknown"
2958        }
2959    }
2960    function Vt(e, t) {
2961        var r = {
2962            browser: S.data.browser_type,
2963            browser_version: S.data.browser_version,
2964            engine: S.data.engine,
2965            engine_version: S.data.engine_version,
2966            operate: S.data.opt_system_type,
2967            operate_version: S.data.user_version,
2968            equipment: S.data.device_information + " " + S.data.device_resolution,
2969            user_agent: T,
2970            type: vt
2971        };
2972        return Object.assign(Ft(e), r, t)
2973    }
2974    function Xt(e, t) {
2975        var r = {
2976            browser: S.data.browser_type,
2977            browser_version: S.data.browser_version,
2978            engine: S.data.engine,
2979            engine_version: S.data.engine_version,
2980            operate: S.data.opt_system_type,
2981            operate_version: S.data.user_version,
2982            equipment: S.data.device_information + " " + S.data.device_resolution,
2983            user_agent: T,
2984            type: bt
2985        };
2986        return Object.assign(Ft(e), r, t)
2987    }
2988    var Jt = function() {
2989        function e(e) {
2990            this.maxBreadcrumbs = (e = void 0 === e ? {} : e).maxBreadcrumbs || 10,
2991            this.beforePushBreadcrumb = e.beforePushBreadcrumb || null,
2992            this.stack = []
2993        }
2994        var t = e.prototype;
2995        return t.push = function(e) {
2996            var t;
2997            return "function" == typeof this.beforePushBreadcrumb ? (t = null,
2998            (t = this.beforePushBreadcrumb.call(this, this, e)) ? this.immediatePush(t) : this.stack) : this.immediatePush(e)
2999        }
3000        ,
3001        t.immediatePush = function(e) {
3002            return e.time || (e.time = L()),
3003            this.stack.length >= this.maxBreadcrumbs && this.shift(),
3004            this.stack.push(e),
3005            this.stack.sort(function(e, t) {
3006                return e.time - t.time
3007            }),
3008            this.stack
3009        }
3010        ,
3011        t.shift = function() {
3012            return void 0 !== this.stack.shift()
3013        }
3014        ,
3015        t.clear = function() {
3016            this.stack = []
3017        }
3018        ,
3019        t.getStack = function() {
3020            return this.stack
3021        }
3022        ,
3023        e
3024    }()
3025      , $t = function() {
3026        function e() {
3027            this.dep = new Map
3028        }
3029        var t = e.prototype;
3030        return t.watch = function(e, t) {
3031            var r = this.dep.get(e);
3032            r ? this.dep.set(e, r.concat(t)) : this.dep.set(e, [t])
3033        }
3034        ,
3035        t.notify = function(r, e) {
3036            var t = this.dep.get(r);
3037            r && t && t.forEach(function(t) {
3038                try {
3039                    t(e)
3040                } catch (e) {
3041                    gt("采集" + r + "上报数据插件发生错误\nName: " + ((t = t) && "function" == typeof t && t.name || It) + "\nError: " + e)
3042                }
3043            })
3044        }
3045        ,
3046        t.unwatch = function(e) {
3047            this.dep.has(e) && this.dep.delete(e)
3048        }
3049        ,
3050        e
3051    }()
3052      , o = function(t) {
3053        function e(e) {
3054            var r = t.call(this, e) || this;
3055            return r.transport = new Bt(e),
3056            r.breadcrumb = new Jt(e),
3057            r.log = mt.reduce(function(e, t) {
3058                return e[t] = function(e) {
3059                    return r.reportLog(t, e)
3060                }
3061                ,
3062                e
3063            }, {}),
3064            r
3065        }
3066        Ke(e, t);
3067        var r = e.prototype;
3068        return r.isPluginEnable = function(e) {
3069            return !0
3070        }
3071        ,
3072        r.reportLog = function(e, t) {
3073            if (!mt.includes(e))
3074                return N.warn("Please check the type for one of " + JSON.stringify(mt));
3075            t = Object.assign(Ft(this.options), {
3076                type: yt,
3077                log_mes: t,
3078                log_type: e
3079            });
3080            this.transport.send(t)
3081        }
3082        ,
3083        e
3084    }(function() {
3085        function e(e) {
3086            this.options = e,
3087            this.subscribe = new $t,
3088            this.plugins = []
3089        }
3090        var t = e.prototype;
3091        return t.setOptions = function(e) {
3092            Object.assign(this.options, e)
3093        }
3094        ,
3095        t.getOptions = function() {
3096            return this.options
3097        }
3098        ,
3099        t.getPlugins = function() {
3100            return this.plugins
3101        }
3102        ,
3103        t.isPluginEnable = function(e) {
3104            return !0
3105        }
3106        ,
3107        t.use = function(e) {
3108            var i = this;
3109            this.plugins = e,
3110            this.options.disabled || e.forEach(function(o) {
3111                i.isPluginEnable(o.name) && (o.register.call(i, i.subscribe.notify.bind(i.subscribe)),
3112                i.subscribe.watch(o.name, function() {
3113                    for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
3114                        t[r] = arguments[r];
3115                    var n = o.transform.apply(i, t);
3116                    o.report.call(i, n)
3117                }))
3118            })
3119        }
3120        ,
3121        t.destroy = function(t) {
3122            var e = this;
3123            j.isArray(t) ? t.forEach(function(t) {
3124                e.plugins.find(function(e) {
3125                    return e.name === t
3126                }).destroy(),
3127                e.subscribe.unwatch(t)
3128            }) : j.isString(t) && (this.plugins.find(function(e) {
3129                return e.name === t
3130            }).destroy(),
3131            this.subscribe.unwatch(t))
3132        }
3133        ,
3134        t.reportLog = function() {}
3135        ,
3136        e
3137    }())
3138      , s = {
3139        name: Ot,
3140        register: function(t) {
3141            this.errorHandler = function(e) {
3142                t(Ot, e)
3143            }
3144            ,
3145            P(C, "error", this.errorHandler, !0)
3146        },
3147        transform: function(e) {
3148            var t, r, n, e = e.target.localName ? (n = e,
3149            {
3150                error_type: O.ResourceError,
3151                error_mes: n.target.localName + " resource loads error",
3152                row_number: null,
3153                column_number: null,
3154                stack_traces: Mt(n.target.src),
3155                error_name: Ht(n.target),
3156                error_detail: {
3157                    message: n.target.localName + " resource loads error",
3158                    name: O.ResourceError,
3159                    target: Ht(n.target)
3160                }
3161            }) : (e = (n = e).message,
3162            t = n.lineno,
3163            r = n.colno,
3164            {
3165                error_type: (n = n.error).name,
3166                error_mes: e,
3167                row_number: t,
3168                column_number: r,
3169                stack_traces: n.stack,
3170                error_name: n.name,
3171                error_detail: zt(n)
3172            });
3173            return Vt(this.options, e)
3174        },
3175        report: function(e) {
3176            j.isObject(e) && this.transport.send(e)
3177        },
3178        destroy: function() {
3179            Dt(C, "error", this.errorHandler)
3180        }
3181    };
3182    l = {
3183        name: kt,
3184        register: function(a) {
3185            var e = this;
3186            A(C, "fetch", function(i) {
3187                return e.oldFetch = i,
3188                function(e, t) {
3189                    void 0 === t && (t = {});
3190                    var n = L()
3191                      , r = t && t.method || "GET"
3192                      , o = {
3193                        request: {
3194                            httpType: xt,
3195                            url: e,
3196                            method: r,
3197                            data: t && t.body
3198                        },
3199                        time: n,
3200                        response: {}
3201                    }
3202                      , r = new Headers(t.headers || {});
3203                    return Object.assign(r, {
3204                        setRequestHeader: r.set
3205                    }),
3206                    t = Object.assign(t, r),
3207                    i.apply(C, [e, t]).then(function(e) {
3208                        var t = e.clone()
3209                          , r = L();
3210                        return o.elapsedTime = r - n,
3211                        o.response.status = t.status,
3212                        t.text().then(function(e) {
3213                            o.response.data = "",
3214                            a(kt, o)
3215                        }),
3216                        e
3217                    }, function(e) {
3218                        var t = L();
3219                        throw o.elapsedTime = t - n,
3220                        o.response.status = 0,
3221                        a(kt, o),
3222                        e
3223                    })
3224                }
3225            })
3226        },
3227        transform: function(e) {
3228            var t = e.response && 200 === e.response.status
3229              , r = e.request.url === Nt.developUrl;
3230            return t || r ? {} : Vt(this.options, {
3231                error_type: O.HttpError,
3232                error_mes: "Fetch Error",
3233                row_number: null,
3234                column_number: null,
3235                stack_traces: e.request.url,
3236                error_name: null,
3237                error_detail: e
3238            })
3239        },
3240        report: function(e) {
3241            e.error_type === O.HttpError && this.transport.send(e)
3242        },
3243        destroy: function() {
3244            var e = this;
3245            A(C, "fetch", function() {
3246                return e.oldFetch
3247            })
3248        }
3249    };
3250    var Wt = ["navigation"]
3251      , St = {
3252        name: jt,
3253        register: function(r) {
3254            var t;
3255            t = function() {
3256                Wt.forEach(function(e) {
3257                    function t(e) {
3258                        for (var t = d(e.getEntries ? e.getEntries() : e); !(r = t()).done; ) {
3259                            var r = r.value;
3260                            if ("navigation" === o) {
3261                                if (Gt)
3262                                    return;
3263                                a && a.disconnect(),
3264                                Gt = !0
3265                            }
3266                            var n = ["fetch", "xmlhttprequest", "beacon"];
3267                            if (At && n.push("other"),
3268                            !r.nextHopProtocol && "resource" === o || n.includes(r.initiatorType))
3269                                return;
3270                            i(jt, Object.assign({
3271                                entryType: o
3272                            }, r.toJSON()))
3273                        }
3274                    }
3275                    var o, i, a;
3276                    o = e,
3277                    i = r,
3278                    window.PerformanceObserver ? (a = new PerformanceObserver(t)).observe({
3279                        entryTypes: [o]
3280                    }) : t(window.performance.getEntriesByType(o))
3281                })
3282            }
3283            ,
3284            "complete" === document.readyState ? t() : P(window, "load", function e() {
3285                t(),
3286                Dt(window, "load", e, !0)
3287            }, !0)
3288        },
3289        transform: function(e) {
3290            t = this.options,
3291            m = (r = e).redirectStart,
3292            n = e.redirectEnd,
3293            c = e.domainLookupStart,
3294            s = e.domainLookupEnd,
3295            u = e.connectStart,
3296            d = e.secureConnectionStart,
3297            l = e.connectEnd,
3298            o = e.requestStart,
3299            f = e.responseStart,
3300            p = e.responseEnd,
3301            i = e.transferSize,
3302            a = e.encodedBodySize,
3303            r = e.redirectCount,
3304            n = {
3305                page_url: Rt(),
3306                redirect_timeing: R(n - m),
3307                dns_timing: R(s - c),
3308                tcp_timing: R(l - u),
3309                ssl_timing: R(l - d),
3310                ttfb_timing: R(f - o),
3311                datetrans_timing: R(p - f),
3312                first_byte_time: R(f - o),
3313                http_header_size: R(i - a),
3314                redirectCount: r,
3315                type: wt
3316            };
3317            var t, r, n, o, i, a, s, c, u, l, d, p, f, m = Object.assign(Ft(t), n);
3318            if ("navigation" === e.entryType)
3319                return Object.assign(m, (c = (s = e).fetchStart,
3320                u = e.responseStart,
3321                l = e.responseEnd,
3322                d = e.loadEventEnd,
3323                p = e.domInteractive,
3324                f = e.domContentLoadedEventEnd,
3325                s = e.loadEventStart,
3326                {
3327                    white_screen_time: R(u - c),
3328                    dom_timing: R(p - l),
3329                    resouce_load_timing: R(d - c),
3330                    first_interaction_time: R(p - c),
3331                    dom_ready_time: f,
3332                    page_full_load_time: R(s - c)
3333                }))
3334        },
3335        report: function(e) {
3336            j.isObject(e) && this.transport.send(e)
3337        },
3338        destroy: function() {
3339            _t("performance monitor has destroyed")
3340        }
3341    }
3342      , Gt = !1;
3343    a = {
3344        name: Tt,
3345        register: function(t) {
3346            this.promiseHandler = function(e) {
3347                t(Tt, e)
3348            }
3349            ,
3350            P(C, "unhandledrejection", this.promiseHandler)
3351        },
3352        transform: function(e) {
3353            return Vt(this.options, function(e) {
3354                var t = function(e) {
3355                    switch (Pt.call(e)) {
3356                    case "[object Error]":
3357                    case "[object Exception]":
3358                    case "[object DOMException]":
3359                        return !0;
3360                    default:
3361                        var t = e
3362                          , r = Error;
3363                        try {
3364                            return t instanceof r
3365                        } catch (e) {
3366                            return !1
3367                        }
3368                        return
3369                    }
3370                }(e.reason)
3371                  , r = j.isUndefined(e.reason) || j.isNull(e.reason);
3372                {
3373                    var n, o;
3374                    return t ? (t = zt(e.reason),
3375                    n = t.stack && t.stack[0].column_number,
3376                    o = t.stack && t.stack[0].row_number,
3377                    {
3378                        error_type: O.PromiseError,
3379                        error_mes: e.reason.message,
3380                        row_number: o,
3381                        column_number: n,
3382                        stack_traces: e.reason.stack,
3383                        error_name: e.reason.name,
3384                        error_detail: t
3385                    }) : {
3386                        error_type: O.PromiseError,
3387                        error_mes: r ? String(e.reason) : JSON.stringify(e.reason),
3388                        row_number: null,
3389                        column_number: null,
3390                        stack_traces: "",
3391                        error_name: "",
3392                        error_detail: r ? String(e.reason) : e.reason
3393                    }
3394                }
3395            }(e))
3396        },
3397        report: function(e) {
3398            j.isObject(e) && this.transport.send(e)
3399        },
3400        destroy: function() {
3401            Dt(C, "unhandledrejection", this.promiseHandler)
3402        }
3403    };
3404    u = {
3405        name: Lt,
3406        register: function(c) {
3407            var e = this
3408              , u = this;
3409            A(XMLHttpRequest.prototype, "open", function(n) {
3410                return e.oldOpen = n,
3411                function() {
3412                    for (var e = arguments.length, t = new Array(e), r = 0; r < e; r++)
3413                        t[r] = arguments[r];
3414                    n.apply(this, t),
3415                    this.httpCollect = {
3416                        request: {
3417                            httpType: Et,
3418                            method: j.isString(t[0]) ? t[0].toUpperCase() : t[0],
3419                            url: t[1]
3420                        },
3421                        time: L(),
3422                        response: {}
3423                    }
3424                }
3425            }),
3426            A(XMLHttpRequest.prototype, "send", function(n) {
3427                return function() {
3428                    for (var t = this, e = arguments.length, o = new Array(e), r = 0; r < e; r++)
3429                        o[r] = arguments[r];
3430                    this.oldSend = n;
3431                    var i = qt()
3432                      , a = qt()
3433                      , s = {};
3434                    P(this, "readystatechange", function(e) {
3435                        e = e && e.target;
3436                        switch (e && e.readyState) {
3437                        case 1:
3438                            s.openTime = Date.now();
3439                            break;
3440                        case 4:
3441                            s.responseBodyEndTime = Date.now()
3442                        }
3443                    }),
3444                    P(this, "loadstart", function() {
3445                        s.loadStartTime = Date.now()
3446                    }),
3447                    P(this, "loadend", function() {
3448                        var e = this.responseType
3449                          , t = this.status
3450                          , r = s.openTime || s.loadStartTime
3451                          , n = s.responseBodyEndTime || Date.now()
3452                          , n = n && r ? n - r : 0
3453                          , r = (this.httpCollect.request.data = o[0],
3454                        L());
3455                        -1 !== ["", "json", "text"].indexOf(e) && (this.httpCollect.response.data = ""),
3456                        this.httpCollect.response.status = t,
3457                        this.httpCollect.elapsedTime = r - this.httpCollect.time,
3458                        this.httpCollect.request.headers = this.getAllResponseHeaders(),
3459                        this.httpCollect.request.customHeaders = {
3460                            "jr-monitor-svc-id": i,
3461                            "jr-monitor-link-id": a
3462                        },
3463                        this.httpCollect.ajaxConsumeTime = n,
3464                        c(Lt, this.httpCollect)
3465                    }),
3466                    u.options.excludeAJaxUrl.some(function(e) {
3467                        return -1 !== t.httpCollect.request.url.indexOf(e)
3468                    }) || (this.setRequestHeader("jr-monitor-svc-id", i),
3469                    this.setRequestHeader("jr-monitor-link-id", a)),
3470                    n.apply(this, o)
3471                }
3472            })
3473        },
3474        transform: function(e) {
3475            var t = e.response && 200 === e.response.status
3476              , r = e.request.url === Nt.developUrl;
3477            return r ? {} : Xt(this.options, t && !r ? Kt(e) : Object.assign({
3478                error_type: O.HttpError,
3479                error_mes: "XMLHttpRequest Error",
3480                row_number: null,
3481                column_number: null,
3482                stack_traces: e.request.url,
3483                error_name: null,
3484                error_detail: e
3485            }, Kt(e)))
3486        },
3487        report: function(e) {
3488            e.error_type !== O.HttpError && "AJAXLOG" !== e.type || this.transport.send(e)
3489        },
3490        destroy: function() {
3491            var e = this;
3492            A(XMLHttpRequest.prototype, "open", function() {
3493                return e.oldOpen
3494            }),
3495            A(XMLHttpRequest.prototype, "send", function() {
3496                return e.oldSend
3497            })
3498        }
3499    };
3500    function Kt(e) {
3501        return {
3502            ajax_url: e.request.url,
3503            ajax_method: e.request.method,
3504            ajax_consume_time: e.ajaxConsumeTime,
3505            ajax_response_status: e.response.status,
3506            ajax_linkId: e.request.customHeaders["jr-monitor-link-id"],
3507            ajax_svcId: e.request.customHeaders["jr-monitor-svc-id"]
3508        }
3509    }
3510    n = {
3511        name: Ct,
3512        register: function(n) {
3513            function t() {
3514                r && r.config && (i(r.config.errorHandler),
3515                Object.defineProperty(r.config, "errorHandler", {
3516                    set: function(e) {
3517                        i(e)
3518                    },
3519                    get: function() {
3520                        return o.wrapErrorHandler
3521                    }
3522                }))
3523            }
3524            var o = this
3525              , r = this.options.__VueMonitor || window.__VueMonitor
3526              , i = function(e) {
3527                o.originErrorHandle = e,
3528                o.wrapErrorHandler = function(e, t, r) {
3529                    if (n(Ct, {
3530                        error: e,
3531                        vm: t,
3532                        info: r
3533                    }),
3534                    j.isFunction(o.originErrorHandle))
3535                        return o.originErrorHandle(e, t, r)
3536                }
3537            };
3538            j.isUndefined(r) ? Object.defineProperty(window, "__VueMonitor", {
3539                set: function(e) {
3540                    r = e,
3541                    t()
3542                },
3543                get: function() {
3544                    return r
3545                }
3546            }) : t()
3547        },
3548        transform: function(e) {
3549            var t, r, n, o = this.options.__VueMonitor || window.__VueMonitor;
3550            if (j.isString(o.version))
3551                switch (Number(o.version.split(".")[0])) {
3552                case 2:
3553                    return Vt(this.options, (r = (t = e).error,
3554                    n = e.vm,
3555                    t = e.info,
3556                    Yt({
3557                        error: r,
3558                        vm: n,
3559                        info: t
3560                    })));
3561                case 3:
3562                    return Vt(this.options, (n = (r = e).error,
3563                    t = r.vm,
3564                    r = r.info,
3565                    Object.assign(Yt({
3566                        error: n,
3567                        vm: t,
3568                        info: r
3569                    }), {
3570                        error_detail: Object.assign({
3571                            info: r,
3572                            component_name: t.$root === t ? "root" : t.$options ? t.$options.name : "anonymous"
3573                        }, zt(n))
3574                    })));
3575                default:
3576                    return e
3577                }
3578        },
3579        report: function(e) {
3580            j.isObject(e) && this.transport.send(e)
3581        },
3582        destroy: function() {
3583            var e = this.options.__VueMonitor || window.__VueMonitor;
3584            e && e.config && (e.config.errorHandler = this.originErrorHandle)
3585        }
3586    };
3587    function Yt(e) {
3588        var t = e.error
3589          , r = e.vm
3590          , e = e.info
3591          , n = zt(t)
3592          , o = n.stack[0].column_number
3593          , n = n.stack[0].row_number;
3594        return {
3595            error_type: O.VueError,
3596            error_mes: t.message,
3597            row_number: n,
3598            column_number: o,
3599            stack_traces: t.stack,
3600            error_name: t.name,
3601            error_detail: Object.assign({
3602                info: e,
3603                component_name: r.$root === r ? "root" : r.$options ? r.$options.name : "anonymous"
3604            }, zt(t))
3605        }
3606    }
3607    var M, r = window.mideaDataAnalyticSDK;
3608    r && ((M = (M = window[r]) || (window[r] = {})).customEv = document.createElement("div"),
3609    "function" != typeof M && "object" != typeof M || M.has_load_sdk || (M.has_load_sdk = !0,
3610    M.para_default = {
3611        name: "ma",
3612        max_string_length: 100,
3613        show_log: !0,
3614        is_single_page: !1,
3615        callback_timeout: 1e3,
3616        openCustomLabel: !1,
3617        customerLabel: ["MD_JRDSJ__click", "JRDSJ", "JRDSJ_text"],
3618        auto_pv: !0,
3619        username_key: "",
3620        collect_input: function(e) {
3621            return "password" !== e.type
3622        },
3623        scroll_notice: !1,
3624        scroll_delay_time: 500,
3625        stopPropagation: !0,
3626        Vue: null,
3627        plugins: [],
3628        needMonitor: !0,
3629        excludeAJaxUrl: ["dp.finsec.qq.com/f3", "dp.finsec.qq.com/t3"]
3630    },
3631    M._initPara = function(e) {
3632        for (var t in 0 < Object.keys(e).length && (M.para = e),
3633        M.para_default)
3634            w.isUndefined(M.para[t]) && (M.para[t] = M.para_default[t])
3635    }
3636    ,
3637    dt(),
3638    pt(),
3639    M.para.needMonitor && (M.monitor = (e = {
3640        appCode: M.para.moduleName,
3641        prodCode: M.para.appName,
3642        Vue: M.para.Vue,
3643        excludeAJaxUrl: M.para.excludeAJaxUrl
3644    },
3645    void 0 === (t = M.para.plugins) && (t = []),
3646    (e = new o(e = void 0 === e ? {} : e)).use([].concat([s, a, u, l, St, n], t)),
3647    e)))),
3648    D.md = {},
3649    Object.defineProperty(D, "__esModule", {
3650        value: !0
3651    })
3652});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.