PageSourceSearch

https://kalekalip.com.tr/assets/js/pflip/js/pdfflip-unmi.js

js kalekalip.com.tr collected 2026-10-02 23:22:49 UTC 241,931 bytes, 3,900 lines download raw bytes

1"use strict";
2var pdfflip = pdfflip || {},
3    PRESENTATION = pdfflip;
4!(function (e, t) {
5    (e.version = "1.4.31"),
6        (e.PAGE_MODE = { SINGLE: 1, DOUBLE: 2, AUTO: null }),
7        (e.SINGLE_PAGE_MODE = { ZOOM: 1, BOOKLET: 2, AUTO: null }),
8        (e.CONTROLSPOSITION = { HIDDEN: "hide", TOP: "top", BOTTOM: "bottom" }),
9        (e.DIRECTION = { LTR: 1, RTL: 2 }),
10        (e.CORNERS = { TL: "tl", TR: "tr", BL: "bl", BR: "br", L: "l", R: "r", NONE: null }),
11        (e.SOURCE_TYPE = { IMAGE: "image", PDF: "pdf", HTML: "html" }),
12        (e.DISPLAY_TYPE = { WEBGL: "3D", HTML: "2D" }),
13        (e.PAGE_SIZE = { AUTO: 0, SINGLE: 1, DOUBLEINTERNAL: 2 });
14    var n,
15        i,
16        o,
17        a,
18        r = (e.defaults = {
19            webgl: !0,
20            webglShadow: !0,
21            enableSound: !0,
22            height: "100%",
23            autoEnableOutline: !1,
24            autoEnableThumbnail: !1,
25            overwritePDFOutline: !0,
26            downloadEnable: !0,
27            duration: 800,
28            direction: e.DIRECTION.LTR,
29            pageMode: e.PAGE_MODE.AUTO,
30            singlePageMode: e.SINGLE_PAGE_MODE.AUTO,
31            backgroundColor: "#fff",
32            forceFit: !0,
33            transparent: !1,
34            hard: "none",
35            openPage: 1,
36            annotationClass: "",
37            autoPlay: !0,
38            autoPlayDuration: 3e3,
39            autoPlayStart: !1,
40            maxTextureSize: 1600,
41            minTextureSize: 256,
42            rangeChunkSize: 524288,
43            icons: {
44                altnext: "ti-angle-right",
45                altprev: "ti-angle-right",
46                next: "fa fa-chevron-right",
47                prev: "fa fa-chevron-left",
48                end: "ti-angle-double-right",
49                start: "ti-angle-double-left",
50                share: "fa fa-share",
51                help: "ti-help-alt",
52                more: "ti-more-alt",
53                download: "fa fa-file-ppdff-o",
54                zoomin: "ti-zoom-in",
55                zoomout: "ti-zoom-out",
56                fullscreen: "fa fa-arrows-alt",
57                fitscreen: "ti-arrows-corner",
58                thumbnail: "ti-layout-grid2",
59                outline: "ti-menu-alt",
60                close: "ti-close",
61                doublepage: "ti-book",
62                singlepage: "ti-file",
63                sound: "ti-volume",
64                facebook: "ti-facebook",
65                google: "ti-google",
66                linkedin: "ti-linkedin",
67                twitter: "ti-twitter-alt",
68                mail: "ti-email",
69                play: "ti-control-play",
70                pause: "ti-control-pause",
71            },
72            text: {
73                toggleSound: "Sound",
74                toggleThumbnails: "Thumbnails",
75                toggleOutline: "Contents",
76                previousPage: "Previous Page",
77                nextPage: "Next Page",
78                toggleFullscreen: "Fullscreen",
79                zoomIn: "Zoom In",
80                zoomOut: "Zoom Out",
81                downloadPDFFile: "Download PDF",
82                gotoFirstPage: "First Page",
83                gotoLastPage: "Last Page",
84                play: "AutoPlay On",
85                pause: "AutoPlay Off",
86                share: "Share",
87            },
88            allControls: "startPage,altPrev,pageNumber,altNext,endPage,play,outline,thumbnail,zoomIn,zoomOut,fullScreen,share,download,sound",
89            moreControls: "",
90            hideControls: "",
91            controlsPosition: e.CONTROLSPOSITION.BOTTOM,
92            paddingTop: 15,
93            paddingLeft: 15,
94            paddingRight: 15,
95            paddingBottom: -10,
96            scrollWheel: !0,
97            onCreate: function (e) {},
98            onCreateUI: function (e) {},
99            onFlip: function (e) {},
100            beforeFlip: function (e) {},
101            onReady: function (e) {},
102            zoomRatio: 1.5,
103            pageSize: e.PAGE_SIZE.AUTO,
104            pdfjsSrc: "js/libs/pdf.min.js",
105            pdfjsCompatibilitySrc: "js/libs/compatibility.js",
106            pdfjsWorkerSrc: "js/libs/pdf.worker.min.js",
107            threejsSrc: "../assets/js/pflip/js/libs/three.min.js",
108            utilsSrc: "js/libs/utils.min.js",
109            soundFile: "sound/turn.mp3",
110            imagesLocation: "images",
111            imageResourcesPath: "images/pdfjs/",
112            cMapUrl: "cmaps/",
113            enableDebugLog: !1,
114            canvasToBlob: !1,
115            enableAnnotation: !0,
116            pdfRenderQuality: 0.9,
117            textureLoadFallback: "blank",
118            stiffness: 3,
119            backgroundImage: "js/pflip/background.jpg",
120            pageRatio: null,
121            pixelRatio: window.devicePixelRatio || 1,
122            thumbElement: "div",
123            spotLightIntensity: 0.22,
124            ambientLightColor: "#fff",
125            ambientLightIntensity: 0.8,
126            shadowOpacity: 0.08,
127        }),
128        s = "WebKitCSSMatrix" in window || (document.body && "MozPerspective" in document.body.style),
129        l = "onmousedown" in window,
130        c = (window, navigator.userAgent),
131        d = (e.utils = {
132            drag: { left: 0, right: 1, none: -1 },
133            mouseEvents: l ? { type: "mouse", start: "mousedown", move: "mousemove", end: "mouseup" } : { type: "touch", start: "touchstart", move: "touchmove", end: "touchend" },
134            html: { div: "<div/>", img: "<img/>", a: "<a>", input: "<input type='text'/>" },
135            toRad: function (e) {
136                return (e * Math.PI) / 180;
137            },
138            isset: function (e, t) {
139                return null == e ? t : e;
140            },
141            isnull: function (e) {
142                return null == e || null == e;
143            },
144            toDeg: function (e) {
145                return (180 * e) / Math.PI;
146            },
147            transition: function (e, t) {
148                return e ? t / 1e3 + "s ease-out" : "0s none";
149            },
150            display: function (e) {
151                return e ? "block" : "none";
152            },
153            resetTranslate: function () {
154                return b(0, 0);
155            },
156            translateStr: function (e, t) {
157                return s ? " translate3d(" + e + "px," + t + "px, 0px) " : " translate(" + e + "px, " + t + "px) ";
158            },
159            httpsCorrection: function (e) {
160                var t = window.location;
161                return t.href.indexOf("https://") > -1 && e.indexOf(t.hostname) > -1 && (e = e.replace("http://", "https://")), e;
162            },
163            resetBoxShadow: function () {
164                return "rgba(0, 0, 0, 0) 0px 0px 20px";
165            },
166            rotateStr: function (e) {
167                return " rotateZ(" + e + "deg) ";
168            },
169            bg: function (e) {
170                return "#fff" + y(e);
171            },
172            bgImage: function (e) {
173                return null == e || "blank" == e ? "" : " url(" + e + ")";
174            },
175            src: function (e) {
176                return null != e ? "" + e : "";
177            },
178            limitAt: function (e, t, n) {
179                return e < t ? t : e > n ? n : e;
180            },
181            distOrigin: function (e, t) {
182                return Math.sqrt(Math.pow(e, 2) + Math.pow(t, 2));
183            },
184            distPoints: function (e, t, n, i) {
185                return Math.sqrt(Math.pow(n - e, 2) + Math.pow(i - t, 2));
186            },
187            calculateScale: function (e, t) {
188                var n = C(e[0].x, e[0].y, e[1].x, e[1].y);
189                return C(t[0].x, t[0].y, t[1].x, t[1].y) / n;
190            },
191            getVectorAvg: function (e) {
192                return {
193                    x:
194                        e
195                            .map(function (e) {
196                                return e.x;
197                            })
198                            .reduce(d.sum) / e.length,
199                    y:
200                        e
201                            .map(function (e) {
202                                return e.y;
203                            })
204                            .reduce(d.sum) / e.length,
205                };
206            },
207            sum: function (e, t) {
208                return e + t;
209            },
210            getTouches: function (e, t) {
211                return (
212                    (t = t || { left: 0, top: 0 }),
213                    Array.prototype.slice.call(e.touches).map(function (e) {
214                        return { x: e.pageX - t.left, y: e.pageY - t.top };
215                    })
216                );
217            },
218            angleByDistance: function (e, t) {
219                var n = t / 2,
220                    i = P(e, 0, t);
221                return i < n ? v(Math.asin(i / n)) : 90 + v(Math.asin((i - n) / n));
222            },
223            log: function (e) {
224                1 == r.enableDebugLog && window.console && console.log(e);
225            },
226            lowerPowerOfTwo: function (e) {
227                return Math.pow(2, Math.floor(Math.log(e) / Math.LN2));
228            },
229            nearestPowerOfTwo: function (e, t) {
230                return Math.min(t || 2048, Math.pow(2, Math.ceil(Math.log(e) / Math.LN2)));
231            },
232            zoomStops: function (e, t, n, i, o) {
233                null == i && (i = 256), null == o && (o = 2048);
234                var a = Math.log(e / i) / Math.log(t);
235                return i * Math.pow(t, null == n ? Math.round(a) : 1 == n ? Math.ceil(a) : Math.floor(a));
236            },
237            extendOptions: function (e, n) {
238                return t.extend(!0, {}, e, n);
239            },
240            getFullscreenElement: function () {
241                return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement;
242            },
243            hasFullscreenEnabled: function () {
244                return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled;
245            },
246            getBasePage: function (e) {
247                return 2 * Math.floor(e / 2);
248            },
249            loadResources: function (e, t, n) {
250                var i = document,
251                    o = i.createElement(e),
252                    a = i.getElementsByTagName(e)[0];
253                (o.async = !0),
254                    n &&
255                        o.addEventListener(
256                            "load",
257                            function (e) {
258                                n(null, e);
259                            },
260                            !1
261                        ),
262                    (o.src = t),
263                    a.parentNode.insertBefore(o, a);
264            },
265            getScript: function (e, t, n) {
266                var i = document.createElement("script"),
267                    o = document.body.getElementsByTagName("script")[0];
268                function a(e, o) {
269                    null != i && (o || !i.readyState || /loaded|complete/.test(i.readyState)) && ((i.onload = i.onreadystatechange = null), (i = null), (i = null), o || (t && t(), (t = null), (n = null)));
270                }
271                (i.async = 1),
272                    i.setAttribute("data-cfasync", !1),
273                    null != o ? (o.parentNode.insertBefore(i, o), (o = null)) : document.body.appendChild(i),
274                    i.addEventListener("load", a, !1),
275                    i.addEventListener("readystatechange", a, !1),
276                    i.addEventListener("complete", a, !1),
277                    n && i.addEventListener("error", n, !1),
278                    (i.src = e + ("MS" == R.dom ? "?" + Math.random(1) : ""));
279            },
280            isHardPage: function (e, t, n, i) {
281                if (null != e) {
282                    if ("cover" == e) return 0 == t || (i && 1 == t) || t == Math.floor(n / (i ? 1 : 2)) - (i ? 0 : 1);
283                    if ("all" == e) return !0;
284                    var o = ("," + e + ",").indexOf("," + (2 * t + 1) + ",") > -1,
285                        a = ("," + e + ",").indexOf("," + (2 * t + 2) + ",") > -1;
286                    return o || a;
287                }
288                return !1;
289            },
290            fixMouseEvent: function (e) {
291                if (e) {
292                    var n = e.originalEvent || e;
293                    if (n.changedTouches && n.changedTouches.length > 0) {
294                        var i = t.event.fix(e),
295                            o = n.changedTouches[0];
296                        return (i.clientX = o.clientX), (i.clientY = o.clientY), (i.pageX = o.pageX), (i.touches = n.touches), (i.pageY = o.pageY), (i.movementX = o.movementX), (i.movementY = o.movementY), i;
297                    }
298                    return e;
299                }
300                return e;
301            },
302            hasWebgl: (function () {
303                try {
304                    var e = document.createElement("canvas");
305                    return !(!window.WebGLRenderingContext || (!e.getContext("webgl") && !e.getContext("experimental-webgl")));
306                } catch (e) {
307                    return !1;
308                }
309            })(),
310            isBookletMode: function (t) {
311                return t.pageMode == e.PAGE_MODE.SINGLE && t.singlePageMode == e.SINGLE_PAGE_MODE.BOOKLET;
312            },
313            isRTLMode: function (t) {
314                return t.direction == e.DIRECTION.RTL;
315            },
316            isMobile:
317                ((a = !1),
318                (o = c || navigator.vendor || window.opera),
319                (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(
320                    o
321                ) ||
322                    /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|
322sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(
323                        o.substr(0, 4)
324                    )) &&
325                    (a = !0),
326                a),
327            isIOS: /(iPad|iPhone|iPod)/g.test(c),
328            isSafari: /constructor/i.test(window.HTMLElement) || "[object SafariRemoteNotification]" === (!window.safari || safari.pushNotification).toString(),
329            prefix:
330                ((n = window.getComputedStyle(document.documentElement, "")),
331                (i = Array.prototype.slice
332                    .call(n)
333                    .join("")
334                    .match(/-(moz|webkit|ms)-/)[1]),
335                { dom: "WebKit|Moz|MS".match(new RegExp("(" + i + ")", "i"))[1], lowercase: i, css: "-" + i + "-", js: i[0].toUpperCase() + i.substr(1) }),
336            __extends: function (e, t) {
337                for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
338                function i() {
339                    this.constructor = e;
340                }
341                return (i.prototype = t.prototype), (e.prototype = new i()), (e.__super = t.prototype), e;
342            },
343        }),
344        u = e.SOURCE_TYPE,
345        p = (e.DISPLAY_TYPE, d.drag),
346        h = d.mouseEvents,
347        f = d.html,
348        g = d.isset,
349        m = (d.isnull, d.toRad),
350        v = d.toDeg,
351        b = (d.transition, d.translateStr),
352        w = (d.resetBoxShadow, d.rotateStr),
353        y = (d.bg, d.bgImage),
354        P = (d.src, d.limitAt),
355        x = d.distOrigin,
356        C = d.distPoints,
357        E = d.angleByDistance,
358        S = d.log,
359        k = d.nearestPowerOfTwo,
360        T = d.extendOptions,
361        L = d.getBasePage,
362        O = d.getScript,
363        I = d.fixMouseEvent,
364        R = d.prefix,
365        M = d.isBookletMode,
366        D = d.isRTLMode,
367        F = d.isMobile,
368        z = d.hasWebgl,
369        N = d.isSafari,
370        A = d.isIOS,
371        B = d.__extends;
372    !(function () {
373        if (window.CanvasPixelArray)
374            "function" != typeof window.CanvasPixelArray.prototype.set &&
375                (window.CanvasPixelArray.prototype.set = function (e) {
376                    for (var t = 0, n = this.length; t < n; t++) this[t] = e[t];
377                });
378        else {
379            var e,
380                t = !1;
381            if ((N && (t = (e = c.match(/Version\/([0-9]+)\.([0-9]+)\.([0-9]+) Safari\//)) && parseInt(e[1]) < 6), t)) {
382                var n = window.CanvasRenderingContext2D.prototype,
383                    i = n.createImageData;
384                (n.createImageData = function (e, t) {
385                    var n = i.call(this, e, t);
386                    return (
387                        (n.data.set = function (e) {
388                            for (var t = 0, n = this.length; t < n; t++) this[t] = e[t];
389                        }),
390                        n
391                    );
392                }),
393                    (n = null);
394            }
395        }
396    })(),
397        "requestAnimationFrame" in window ||
398            (window.requestAnimationFrame =
399                window.mozRequestAnimationFrame ||
400                window.webkitRequestAnimationFrame ||
401                function (e) {
402                    window.setTimeout(e, 20);
403                }),
404        (function () {
405            if ("undefined" != typeof Uint8Array)
406                return (
407                    void 0 === Uint8Array.prototype.subarray &&
408                        ((Uint8Array.prototype.subarray = function (e, t) {
409                            return new Uint8Array(this.slice(e, t));
410                        }),
411                        (Float32Array.prototype.subarray = function (e, t) {
412                            return new Float32Array(this.slice(e, t));
413                        })),
414                    void ("undefined" == typeof Float64Array && (window.Float64Array = Float32Array))
415                );
416            function e(e, t) {
417                return new n(this.slice(e, t));
418            }
419            function t(e, t) {
420                arguments.length < 2 && (t = 0);
421                for (var n = 0, i = e.length; n < i; ++n, ++t) this[t] = 255 & e[n];
422            }
423            function n(n) {
424                var i, o, a;
425                if ("number" == typeof n) for (i = [], o = 0; o < n; ++o) i[o] = 0;
426                else if ("slice" in n) i = n.slice(0);
427                else for (i = [], o = 0, a = n.length; o < a; ++o) i[o] = n[o];
428                return (i.subarray = e), (i.buffer = i), (i.byteLength = i.length), (i.set = t), "object" == typeof n && n.buffer && (i.buffer = n.buffer), i;
429            }
430            (window.Uint8Array = n), (window.Int8Array = n), (window.Uint32Array = n), (window.Int32Array = n), (window.Uint16Array = n), (window.Float32Array = n), (window.Float64Array = n);
431        })();
432    var j = function (n, i) {
433            var o = "pdff-ui",
434                a = "pdff-ui-wrapper",
435                r = o + "-btn",
436                s = (i.ui = t(f.div, { class: o })),
437                l = i.options;
438            s.dispose = function () {
439                n.find("." + r).each(function () {
440                    t(this).off();
441                }),
442                    y.off(),
443                    u.off(),
444                    p.off(),
445                    h.off(),
446                    g.off(),
447                    m.off(),
448                    v.off(),
449                    b.off(),
450                    P.off(),
451                    x.off(),
452                    T.off(),
453                    L.off(),
454                    I.off(),
455                    R.off(),
456                    M.off(),
457                    D.off(),
458                    F.off(),
459                    z.off(),
460                    N.off(),
461                    A.off(),
462                    O.remove(),
463                    w.remove(),
464                    p.remove(),
465                    u.remove(),
466                    g.remove(),
467                    s.shareBox && (s.shareBox.dispose && s.shareBox.dispose(), (s.shareBox = null)),
468                    document.removeEventListener("keyup", X, !1),
469                    window.removeEventListener("click", C, !1),
470                    (s.update = null),
471                    (i = null);
472            };
473            var c = function (e) {
474                    return isNaN(e) ? (e = i.target._activePage) : e < 1 ? (e = 1) : e >
474 i.target.pageCount && (e = i.target.pageCount), e;
475                },
476                u = (s.next = t(f.div, { class: r + " " + o + "-next " + l.icons.next, title: l.text.nextPage, html: "<span>" + l.text.nextPage + "</span>" }).on("click", function () {
477                    i.next();
478                })),
479                p = (s.prev = t(f.div, { class: r + " " + o + "-prev " + l.icons.prev, title: l.text.previousPage, html: "<span>" + l.text.previousPage + "</span>" }).on("click", function () {
480                    i.prev();
481                })),
482                h = t(f.div, { class: r + " " + o + "-play " + l.icons.play, title: l.text.play, html: "<span>" + l.text.play + "</span>" }).on("click", function () {
483                    var e = t(this);
484                    i.setAutoPlay(!e.hasClass(l.icons.pause));
485                });
486            1 == l.autoPlay && ((s.play = h), i.setAutoPlay(l.autoPlayStart));
487            var g = t(f.div, { class: a + " " + o + "-zoom" }),
488                m = (s.zoomIn = t(f.div, { class: r + " " + o + "-zoomin " + l.icons.zoomin, title: l.text.zoomIn, html: "<span>" + l.text.zoomIn + "</span>" }).on("click", function () {
489                    i.zoom(1), s.update(), i.target.startPoint && i.target.pan && i.target.pan(i.target.startPoint);
490                })),
491                v = (s.zoomOut = t(f.div, { class: r + " " + o + "-zoomout " + l.icons.zoomout, title: l.text.zoomOut, html: "<span>" + l.text.zoomOut + "</span>" }).on("click", function () {
492                    i.zoom(-1), s.update(), i.target.startPoint && i.target.pan && i.target.pan(i.target.startPoint);
493                }));
494            g.append(m).append(v);
495            var b = (s.pageNumber = t(f.div, { class: r + " " + o + "-page" })
496                .on("change", function () {
497                    var e = parseInt(s.pageInput.val(), 10);
498                    (e = c(e)), i.gotoPage(e);
499                })
500                .on("keyup", function (e) {
501                    if (13 == e.keyCode) {
502                        var t = parseInt(s.pageInput.val(), 10);
503                        (t = c(t)) !== c(i.target._activePage || i._activePage) && i.gotoPage(t);
504                    }
505                }));
506            (s.pageInput = t('<input id="df_book_page_number" type="text"/>').appendTo(b)), (s.pageLabel = t('<label for="df_book_page_number"/>').appendTo(b));
507            var w = t(f.div, { class: a + " " + o + "-size" }),
508                y = t(f.div, { class: r + " " + o + "-help " + l.icons.help, title: l.text.toggleHelp, html: "<span>" + l.text.toggleHelp + "</span>" }).on("click", function () {}),
509                P = (s.sound = t(f.div, { class: r + " " + o + "-sound " + l.icons.sound, title: l.text.toggleSound, html: "<span>" + l.text.toggleSound + "</span>" }).on("click", function () {
510                    (l.enableSound = !l.enableSound), s.updateSound();
511                }));
512            (s.updateSound = function () {
513                0 == l.enableSound || "false" == l.enableSound ? P.addClass("disabled") : P.removeClass("disabled");
514            }),
515                s.updateSound();
516            var x = (s.more = t(f.div, { class: r + " " + o + "-more " + l.icons.more }).on("click", function (e) {
517                x.hasClass("pdff-active") || (t(this).addClass("pdff-active"), e.stopPropagation());
518            }));
519            function C(e) {
520                x.removeClass("pdff-active");
521            }
522            window.addEventListener("click", C, !1);
523            var E = t(f.div, { class: "more-container" });
524            if ((x.append(E), "string" == typeof l.source && 1 == l.downloadEnable)) {
525                var k = r + " " + o + "-download " + l.icons.download;
526                (s.download = t('<a download target="_blank" class="' + k + '"><span>' + l.text.downloadPDFFile + "</span></a>")).attr("href", l.source).attr("title", l.text.downloadPDFFile);
527            }
528            d.hasFullscreenEnabled() || n.addClass("pdff-custom-fullscreen"),
529                (s.switchFullscreen = function () {
530                    d.getFullscreenElement();
531                    var e = i.container[0];
532                    1 != s.isFullscreen
533                        ? (i.container.addClass("pdff-fullscreen"),
534                          e.requestFullscreen ? e.requestFullscreen() : e.msRequestFullscreen ? e.msRequestFullscreen() : e.mozRequestFullScreen ? e.mozRequestFullScreen() : e.webkitRequestFullscreen && e.webkitRequestFullscreen(),
535                          (s.isFullscreen = !0))
536                        : (i.container.removeClass("pdff-fullscreen"),
537                          (s.isFullscreen = !1),
538                          document.exitFullscreen
539                              ? document.exitFullscreen()
540                              : document.msExitFullscreen
541                              ? document.msExitFullscreen()
542                              : document.mozCancelFullScreen
543                              ? document.mozCancelFullScreen()
544                              : document.webkitExitFullscreen && document.webkitExitFullscreen()),
545                        d.hasFullscreenEnabled() ||
546                            setTimeout(function () {
547                                i.resize();
548                            }, 50);
549                });
550            var T = (s.fullScreen = t(f.div, { class: r + " " + o + "-fullscreen " + l.icons.fullscreen, title: l.text.toggleFullscreen, html: "<span>" + l.text.toggleFullscreen + "</span>" }).on("click", s.switchFullscreen)),
551                L = (s.fit = t(f.div, { class: r + " " + o + "-fit " + l.icons.fitscreen }).on("click", function () {
552                    t(this).toggleClass("pdff-button-fit-active");
553                }));
554            w.append(T);
555            var O = t(f.div, { class: a + " " + o + "-controls" }),
556                I =
557                    ((s.shareBox = new e.Share(n, l)),
558                    (s.share = t(f.div, { class: r + " " + o + "-share " + l.icons.share, title: l.text.share, html: "<span>" + l.text.share + "</span>" }).on("click", function (e) {
559                        1 == s.shareBox.isOpen ? s.shareBox.close() : (s.shareBox.update(i.getURLHash()), s.shareBox.show());
560                    }))),
561                R = (s.startPage = t(f.div, { class: r + " " + o + "-start " + l.icons.start, title: l.text.gotoFirstPage, html: "<span>" + l.text.gotoFirstPage + "</span>" }).on("click", function () {
562                    i.start();
563                })),
564                M = (s.endPage = t(f.div, { class: r + " " + o + "-end " + l.icons.end, title: l.text.gotoLastPage, html: "<span>" + l.text.gotoLastPage + "</span>" }).on("click", function () {
565                    i.end();
566                })),
567                D = (s.pageMode = t(f.div, { class: r + " " + o + "-pagemode " + l.icons.singlepage, html: "<span>" + l.text.singlePageMode + "</span>" }).on("click", function () {
568                    var e = t(this);
569                    i.setPageMode(!e.hasClass(l.icons.doublepage));
570                }));
571            i.setPageMode(i.target.pageMode == e.PAGE_MODE.SINGLE);
572            for (
573                var F = (s.altPrev = t(f.div, { class: r + " " + o + "-prev " + o + "-alt " + l.icons.prev, title: l.text.previousPage, html: "<span>" + l.text.previousPage + "</span>" }).on("click", function () {
574                        i.prev();
575                    })),
576                    z = (s.altNext = t(f.div, { class: r + " " + o + "-next " + o + "-alt " + l.icons.next, title: l.text.nextPage, html: "<span>" + l.text.nextPage + "</span>" }).on("click", function () {
577                        i.next();
578                    })),
579                    N = (s.thumbnail = t(f.div, { class: r + " " + o + "-thumbnail " + l.icons.thumbnail, title: l.text.toggleThumbnails, html: "<span>" + l.text.toggleThumbnails + "</span>" }).on("click", function () {
580                        var e = t(this);
581                        i.target.thumbContainer ? (i.target.thumbContainer.toggleClass("pdff-sidemenu-visible"), e.toggleClass("pdff-active")) : (i.contentProvider.initThumbs(), e.toggleClass("pdff-active")),
582                            e.hasClass("pdff-active") && e.siblings(".pdff-active").trigger("click"),
583                            s.update(!0);
584                    })),
585                    A = (s.outline = t(f.div, { class: r + " " + o + "-outline " + l.icons.outline, title: l.text.toggleOutline, html: "<span>" + l.text.toggleOutline + "</span>" }).on("click", function () {
586                        var e = t(this);
587                        if (i.target.outlineContainer) {
588                            var n = i.target.outlineContainer;
589                            e.toggleClass("pdff-active"), n.toggleClass("pdff-sidemenu-visible"), e.hasClass("pdff-active") && e.siblings(".pdff-active").trigger("click"), s.update(!0);
590                        }
591                    })),
592                    B = l.allControls.replace(/ /g, "").split(","),
593                    j = "," + l.moreControls.replace(/ /g, "") + ",",
594                    _ = "," + l.hideControls.replace(/ /g, "") + ",",
595                    U = (j.split(","), 0);
596                U < B.length;
597                U++
598            ) {
599                var H = B[U];
600                if (_.indexOf("," + H + ",") < 0) {
601                    var W = s[H];
602                    null != W && (j.indexOf("," + H + ",") > -1 && "more" !== H && "pageNumber" !== H ? E.append(W) : O.append(W));
603                }
604            }
605            n.append(O).append(p).append(u).append(g);
606            var G = 16,
607                V = 17,
608                q = 18,
609                Z = 39,
610                Y = 37,
611                K = 27;
612            function X(e) {
613                switch (e.keyCode) {
614                    case K:
615                        1 == s.isFullscreen && s.fullScreen.trigger("click");
616                        break;
617                    case G:
618                    case V:
619                    case q:
620                        break;
621                    case Y:
622                        i.prev();
623                        break;
624                    case Z:
625                        i.next();
626                }
627            }
628            document.addEventListener("keyup", X, !1),
629                (s.update = function (t) {
630                    S("ui update");
631                    var o = i.target,
632                        a = c(o._activePage || i._activePage),
633                        r = o.pageCount || i.pageCount,
634                        l = o.direction == e.DIRECTION.RTL,
635                        d = 1 == a || 0 == a,
636                        u = a == r;
637                    s.next.show(),
638                        s.prev.show(),
639                        s.altNext.removeClass("disabled"),
640                        s.altPrev.removeClass("disabled"),
641                        ((d && !l) || (u && l)) && (s.prev.hide(), s.altPrev.addClass("disabled")),
642                        ((u && !l) || (d && l)) && (s.next.hide(), s.altNext.addClass("disabled")),
643                        s.pageInput.val(a),
644                        s.pageLabel.html(a + "/" + r),
645                        n.find(".pdff-sidemenu-visible").length > 0 ? n.addClass("pdff-sidemenu-open") : n.removeClass("pdff-sidemenu-open"),
646                        1 == t && i.resize(),
647                        o.contentProvider.zoomScale == o.contentProvider.maxZoom ? s.zoomIn.addClass("disabled") : s.zoomIn.removeClass("disabled"),
648                        1 == o.contentProvider.zoomScale ? s.zoomOut.addClass("disabled") : s.zoomOut.removeClass("disabled");
649                }),
650                null != i.target && (i.target.ui = s),
651                null != l.onCreateUI && l.onCreateUI(i);
652        },
653        _ = null;
654    var U = (function (n) {
655        function i(t) {
656            (t = t || {}
656), (this.type = "PreviewObject");
657            var n = this;
658            function i() {
659                setTimeout(function () {
660                    n.resize();
661                }, 50);
662            }
663            (n.zoomValue = 1),
664                window.addEventListener("resize", i, !1),
665                (this.sound = document.createElement("audio")),
666                this.sound.setAttribute("src", t.soundFile + "?ver=" + e.version),
667                this.sound.setAttribute("type", "audio/mpeg"),
668                (this.autoPlayFunction = function () {
669                    n && n.target.autoPlay && (n.target.direction == e.DIRECTION.RTL ? n.target.prev() : n.target.next());
670                }),
671                (this.dispose = function () {
672                    if ((clearInterval(this.autoPlayTimer), (this.autoPlayTimer = null), (this.autoPlayFunction = null), this.target && this.target.children))
673                        for (var e = 0; e < this.target.children.length; e++) {
674                            var t = this.target.children[e];
675                            t && t.currentTween && t.currentTween.stop();
676                        }
677                    this.zoomTween && (this.zoomTween.stop && this.zoomTween.stop(), (this.zoomTween = null)),
678                        this.container && this.container.info && this.container.info.remove && this.container.info.remove(),
679                        this.target && this.target.dispose && this.target.dispose(),
680                        (this.target = null),
681                        this.stage && this.stage.dispose && this.stage.dispose(),
682                        (this.stage = null),
683                        this.ui && this.ui.dispose && this.ui.dispose(),
684                        (this.ui = null),
685                        this.contentProvider && this.contentProvider.dispose && this.contentProvider.dispose(),
686                        (this.contentProvider = null),
687                        window.removeEventListener("resize", i);
688                });
689        }
690        return (
691            (i.prototype = {
692                start: function () {
693                    this.target.gotoPage(this.target.startPage);
694                },
695                end: function () {
696                    this.target.gotoPage(this.target.endPage);
697                },
698                next: function () {},
699                prev: function () {},
700                zoom: function (e) {
701                    (this.pendingZoom = !0), (this.zoomDelta = e), this.resize(), this.ui.update();
702                },
703                resize: function () {
704                    var n = this;
705                    if (null != n.target && null != n.target.ui && null != n.target.contentProvider && null != n.target.contentProvider.viewport && null != n.target.stage) {
706                        this.ui && 1 == this.ui.isFullscreen && 1 == d.hasFullscreenEnabled() && null == d.getFullscreenElement() && this.ui.switchFullscreen();
707                        var i,
708                            o,
709                            a,
710                            r,
711                            s,
712                            l,
713                            c = n.target,
714                            p = n.container,
715                            h = n.options,
716                            f = c.stage,
717                            g = c.contentProvider,
718                            m = g.pageRatio,
719                            v = (g.zoomViewport, D(c)),
720                            b = "css" !== c.mode,
721                            w = (g.pageRatio, p.hasClass("pdff-sidemenu-open") ? 220 : 0),
722                            y = this.target.pageMode == e.PAGE_MODE.SINGLE;
723                        p.height(h.height);
724                        var C = Math.min(p.height(), t(window).height());
725                        p.height(C);
726                        var E = p.width();
727                        E < 400 ? n.container.addClass("pdff-xs") : n.container.removeClass("pdff-xs");
728                        var S = p.find(".pdff-ui-controls").height(),
729                            k = h.paddingTop + (h.controlsPosition == e.CONTROLSPOSITION.TOP ? S : 0),
730                            T = h.paddingRight,
731                            L = h.paddingBottom + (h.controlsPosition == e.CONTROLSPOSITION.BOTTOM ? S : 0),
732                            O = h.paddingLeft,
733                            I = E - w,
734                            R = C,
735                            M = (k = isNaN(k) ? 0 : P(k, 0, k)) + (L = isNaN(L) ? 0 : P(L, 0, L)
735),
736                            F = (O = isNaN(O) ? 0 : P(O, 0, O)) + (T = isNaN(T) ? 0 : P(T, 0, T)),
737                            z = I - F,
738                            N = R - M;
739                        if (
740                            ((a = Math.floor(y ? z : z / 2)),
741                            (i = (o = Math.floor(a / m)) > N) && (a = (o = N) * m),
742                            (l = g.maxZoom = g.zoomViewport.height / o),
743                            null == n.zoomValue && (n.zoomValue = 1),
744                            null == g.zoomScale && (g.zoomScale = 1),
745                            1 == n.pendingZoom && null != n.zoomDelta)
746                        ) {
747                            n.zoomDelta;
748                            var A,
749                                B = Math.max(o, a);
750                            (n.zoomValue = n.zoomDelta > 0 ? n.zoomValue * n.options.zoomRatio : n.zoomValue / n.options.zoomRatio),
751                                (n.zoomValue = P(n.zoomValue, 1, l)),
752                                1 == n.zoomValue ? (g.zoomScale = 1) : ((A = o * n.zoomValue), (A = d.zoomStops(A, n.options.zoomRatio, n.zoomDelta > 0, Math.max(a, o))), (g.zoomScale = P(A / B, 1, l)));
753                        }
754                        (s = g.zoomScale),
755                            g.checkViewportSize(a, o, s),
756                            g.contentSourceType == u.PDF && ((a = g.imageViewport.width / s), (o = g.imageViewport.height / s)),
757                            1 != g.zoomScale && this.target.container.addClass("pdff-zoom-enabled");
758                        var j = (c.zoomWidth = Math.floor(a * s)),
759                            _ = (c.zoomHeight = Math.floor(o * s)),
760                            U = 2 * j;
761                        if (b) {
762                            var H = _ / c.height,
763                                W = i ? (s * (o + M)) / H : (s * (a * (y ? 1 : 2) + F)) / H / (I / R);
764                            f.resizeCanvas(I, R), (r = 1 / ((2 * Math.tan((Math.PI * f.camera.fov * 0.5) / 180)) / (W / s)) + 2.2), f.camera.updateProjectionMatrix(), (f.renderRequestPending = !0);
765                            var G = ((k - L) * (c.height / o)) / s / 2,
766                                V = 1 == g.zoomScale;
767                            f.camera.position.z !== r && 1 == n.pendingZoom
768                                ? (null != n.zoomTween && n.zoomTween.stop(),
769                                  (n.zoomTween = new TWEEN.Tween({ campos: f.camera.position.z, otx: f.orbitControl.target.x, oty: f.orbitControl.target.y, otz: f.orbitControl.target.z })
770                                      .delay(0)
771                                      .to({ campos: r, otx: 0, oty: G, otz: 0 }, 100)
772                                      .onUpdate(function () {
773                                          (f.camera.position.z = this.campos), V && ((f.camera.position.y = this.oty), (f.orbitControl.target = new THREE.Vector3(this.otx, this.oty, this.otz))), f.orbitControl.update();
774                                      })
775                                      .easing(TWEEN.Easing.Linear.None)
776                                      .onComplete(function () {
777                                          (f.camera.position.z = r), 1 == g.zoomScale && (f.camera.position.set(0, G, r), (f.orbitControl.target = new THREE.Vector3(0, G, 0))), f.orbitControl.update();
778                                      })
779                                      .start()))
780                                : (1 == g.zoomScale && (f.camera.position.set(0, G, r), (f.orbitControl.target = new THREE.Vector3(0, G, 0))), f.orbitControl.update()),
781                                f.orbitControl.update(),
782                                (f.orbitControl.mouseButtons.ORBIT = 1 != s ? -1 : THREE.MOUSE.RIGHT),
783                                (f.orbitControl.mouseButtons.PAN = 1 != s ? THREE.MOUSE.LEFT : -1);
784                        } else {
785                            (c.pageWidth = Math.round(a)), (c.fullWidth = 2 * c.pageWidth), (c.height = Math.round(o));
786                            var q = (c.shiftHeight = Math.round(P((_ - R + M) / 2, 0, _))),
787                                Z = (c.shiftWidth = Math.round(P((U - I + F) / 2, 0, U)));
788                            1 == s && ((c.left = 0), (c.top = 0)),
789                                c.stage.css({
790                                    top: -q,
791                                    bottom: -q,
792                                    right: -Z + (v ? w : 0),
793                                    left: -Z + (v ? 0 : w),
794                                    paddingTop: k,
795                                    paddingRight: T,
796                                    paddingBottom: L,
797                                    paddingLeft: O,
798                                    transform: "translate3d(" + c.left + "px," + c.top + "px,0)",
799                                }),
800                                (c.stageHeight = f.height()),
801                                c.wrapper.css({ width: U, height: _, marginTop: C - _ - M > 0 ? (C - M - _) / 2 : 0 });
802                            var Y = Math.floor(x(a, o) * s);
803                            c.stage.find(".pdff-page-wrapper").width(Y).height(Y), c.stage.find(".ppdff-flipbook-page, .pdff-page-front , .pdff-page-back, .pdff-page-fold-inner-shadow").height(_).width(j);
804                        }
805                        n.checkCenter({ type: "resize" }), 1 == g.zoomScale && this.target.container.removeClass("pdff-zoom-enabled"), c.thumblist && c.thumblist.reset(t(c.thumblist.container).height()), (n.pendingZoom = !1);
806                    }
807                },
808                playSound: function () {
809                    try {
810                        this.options && 1 == this.options.enableSound && ((this.sound.currentTime = 0), this.sound.play());
811                    } catch (e) {}
812                },
813                setPageMode: function (t) {
814                    1 == t
815                        ? (this.ui.pageMode.addClass(this.options.icons.doublepage),
816                          this.ui.pageMode.html("<span>" + this.options.text.doublePageMode + "</span>"),
817                          this.ui.pageMode.attr("title", this.options.text.doublePageMode),
818                          (this.target.pageMode = e.PAGE_MODE.SINGLE))
819                        : (this.ui.pageMode.removeClass(this.options.icons.doublepage),
820                          this.ui.pageMode.html("<span>" + this.options.text.singlePageMode + "</span>"),
821                          this.ui.pageMode.attr("title", this.options.text.singlePageMode),
822                          (this.target.pageMode = e.PAGE_MODE.DOUBLE)),
823                        this.target && this.target.singlePageMode == e.SINGLE_PAGE_MODE.BOOKLET && this.target.reset(),
824                        this.resize();
825                },
826                setAutoPlay: function (e) {
827                    if (this.options.autoPlay) {
828                        var t = (e = 1 == e) ? this.options.text.pause : this.options.text.play;
829                        this.ui.play.toggleClass(this.options.icons.pause, e),
830                            this.ui.play.html("<span>" + t + "</span>"),
831                            this.ui.play.attr("title", t),
832                            clearInterval(this.autoPlayTimer),
833                            e && (this.autoPlayTimer = setInterval(this.autoPlayFunction, this.options.autoPlayDuration)),
834                            (this.target.autoPlay = e);
835                    }
836                },
837                height: function (e) {
838                    if (null == e) return this.container.height();
839                    (this.options.height = e), this.container.height(e), this.resize();
840                },
841                checkCenter: function (t) {
842                    (t = null == t ? {} : t), (this.centerType = this.centerType || "start");
843                    var n,
844                        i = this.target,
845                        o = 0,
846                        a = 0,
847                        r = 0,
848                        s = d.getBasePage(i._activePage),
849                        l = i._activePage % 2 == 0,
850                        c = i.direction == e.DIRECTION.RTL,
851                        u = i.pageMode == e.PAGE_MODE.SINGLE,
852                        p = u && i.singlePageMode == e.SINGLE_PAGE_MODE.BOOKLET,
853                        h = i.stage.width();
854                    if ("css" == i.mode)
855                        (n = i.wrapper.width()),
856                            (o = Math.max((n - h) / 2, 0)),
857                            (a = -n / 4),
858                            (r = n / 4),
859                            0 == s || p
860                                ? (i.wrapper.css({ left: u ? (c ? r - o : a - o) : c ? r : a }), i.shadow.css({ width: "50%", left: c ? 0 : "50%", transitionDelay: "" }))
861                                : s == i.pageCount
862                                ? (i.wrapper.css({ left: u ? (c ? a - o : r - o) : c ? a : r }), i.shadow.css({ width: "50%", left: c ? "50%" : 0, transitionDelay: "" }))
863                                : (i.wrapper.css({ left: u ? (c ? (l ? a - o : r - o) : l ? r - o : a - o) : 0 }), i.shadow.css({ width: "100%", left: 0, transitionDelay: parseInt(i.duration, 10) + 50 + "ms" })),
864                            i.wrapper.css({ transition: "resize" == t.type ? "none" : "" });
865                    else if (null != i.stage) {
866                        var f,
867                            g = i.position.x;
868                        (o = i.width / 4),
869                            (a = -(n = i.width) / 2),
870                            (r = n / 2),
871                            (f = 0 == s || p ? (c ? r : a) : s == i.pageCount ? (c ? a : r) : u ? (c ? (l ? a : r) : l ? r : a) : 0) !== this.centerEnd &&
872                                ((this.centerTween = new TWEEN.Tween({ x: g })
873                                    .delay(0)
874                                    .to({ x: f }, i.duration)
875                                    .onUpdate(function () {
876                                        (i.position.x = this.x), (i.stage.cssScene.position.x = this.x);
877                                    })
878                                    .easing(i.ease)
879                                    .start()),
880                                (this.centerEnd = f));
881                    }
882                },
883                width: function (e) {
884                    if (null == e) return this.container.width();
885                    (this.options.width = e), this.container.width(e), this.resize();
886                },
887            }),
888            i
889        );
890    })();
891    e.PreviewObject = U;
892    var H = (function (n) {
893            function i(n, i, o, a) {
894                o = o || {};
895                var s = this;
896                if (
897                    ((s.contentRawSource = n || [r.textureLoadFallback]),
898                    (s.contentSource = s.contentRawSource),
899                    (s.contentSourceType = null),
900                    (s.minDimension = o.minTextureSize || 256),
901                    (s.maxDimension = o.maxTextureSize || 2048),
902                    (s.pdfRenderQuality = o.pdfRenderQuality || e.defaults.pdfRenderQuality),
903                    (s.flipbook = a),
904                    (s.waitPeriod = 50),
905                    (s.maxLength = 297),
906                    (s.enableDebug = !1),
907                    (s.zoomScale = 1),
908                    (s.maxZoom = 2),
909                    (s.options = o),
910                    (s.outline = o.outline),
911                    (s.links = o.links),
912                    (s.html = o.html),
913                    (s.isCrossOrigin = o.isCrossOrigin),
914                    (s.normalViewport = { height: 297, width: 210, scale: 1 }),
915                    (s.viewport = { height: 297, width: 210, scale: 1 }),
916                    (s.imageViewport = { height: 297, width: 210, scale: 1 }),
917                    (s.bookSize = { height: 297, width: 210 }),
918                    (s.zoomViewport = { height: 297, width: 210 }),
919                    (s.thumbsize = 128),
920                    (s.cacheIndex = 256),
921                    (s.cache = []),
922                    (s.pageRatio = o.pageRatio || s.viewport.width / s.viewport.height),
923                    (s.textureLoadTimeOut = null),
924                    (s.type = "TextureLibrary"),
925                    Array === s.contentSource.constructor || Array.isArray(s.contentSource) || s.contentSource instanceof Array)
926                )
927                    (s.contentSourceType = u.IMAGE),
928                        (s.pageCount = s.contentSource.length),
929                        t("<img/>")
930                            .attr("src", s.contentSource[0])
931                            .on("load", function () {
932                                (s.viewport.height = this.height),
933                                    (s.viewport.width = this.width),
934                                    (s.pageRatio = s.viewport.width / s.viewport.height),
935                                    (s.bookSize = { width: (s.pageRatio > 1 ? 1 : s.pageRatio) * s.maxLength, height: s.maxLength / (s.pageRatio < 1 ? 1 : s.pageRatio) }),
936                                    (s.zoomViewport = { width: (s.pageRatio > 1 ? 1 : s.pageRatio) * s.maxDimension, height: s.maxDimension / (s.pageRatio < 1 ? 1 : s.pageRatio) }),
937                                    (s.linkService = new PDFLinkService()),
938                                    t(this).off(),
939                                    s.options.pageSize == e.PAGE_SIZE.DOUBLEINTERNAL && ((s.pageCount = 2 * s.contentSource.length - 2), 1 == s.options.webgl && (s.requiresImageTextureScaling = !0)),
940                                    null != i && (i(s), (i = null)),
941                                    S(this.height + ":" + this.width);
942                            });
943                else if ("string" == typeof s.contentSource || s.contentSource instanceof String) {
944                    var l = function () {
945                            if (s) {
946                                (PDFJS.workerSrc = r.pdfjsWorkerSrc),
947                                    (s.contentSourceType = u.PDF),
948                                    (PDFJS.disableAutoFetch = !0),
949                                    (PDFJS.disableStream = !0),
950                                    (N || A || 1 == s.options.disableFontFace) && (PDFJS.disableFontFace = N || A || 1 == s.options.disableFontFace),
951                                    (PDFJS.imageResourcesPath = r.imageResourcesPath),
952                                    (PDFJS.cMapUrl = r.cMapUrl),
953                                    (PDFJS.cMapPacked = !0),
954                                    (PDFJS.externalLinkTarget = PDFJS.LinkTarget.BLANK);
955                                var t = (s.loading = PDFJS.getDocument(
956                                    s.options.docParameters ? s.options.docParameters : { url: d.httpsCorrection(n), rangeChunkSize: isNaN(e.defaults.rangeChunkSize) ? 524288 : e.defaults.rangeChunkSize }
957                                ));
958                                t.then(
959                                    function (t) {
960                                        (s.pdfDocument = t),
961                                            t.getPage(1).then(function (n) {
962                                                (s.normalViewport = n.getViewport(1)),
963                                                    (s.viewport = n.getViewport(1)),
964                                                    (s.viewport.height = s.viewport.height / 10),
965                                                    (s.viewport.width = s.viewport.width / 10),
966                                                    (s.pageRatio = s.viewport.width / s.viewport.height),
967                                                    (s.bookSize = { width: (s.pageRatio > 1 ? 1 : s.pageRatio) * s.maxLength, height: s.maxLength / (s.pageRatio < 1 ? 1 : s.pageRatio) }),
968                                                    (s.zoomViewport = { width: (s.pageRatio > 1 ? 1 : s.pageRatio) * s.maxDimension, height: s.maxDimension / (s.pageRatio < 1 ? 1 : s.pageRatio) }),
969                                                    (s.refPage = n),
970                                                    t.numPages > 1
971                                                        ? t.getPage(2).then(function (n) {
972                                                              if (s.options.pageSize == e.PAGE_SIZE.AUTO) {
973                                                                  var o = n.getViewport(1);
974                                                                  o.width / o.height > 1.5 * s.pageRatio ? ((s.options.pageSize = e.PAGE_SIZE.DOUBLEINTERNAL), (s.pageCount = 2 * t.numPages - 2)) : (s.options.pageSize = e.PAGE_SIZE.SINGLE);
975                                                              }
976                                                              null != i && (i(s), (i = null));
977                                                          })
978                                                        : null != i && (i(s), (i = null));
979                                            }),
980                                            (s.linkService = new PDFLinkService()),
981                                            s.linkService.setDocument(t, null),
982                                            (s.pageCount = t.numPages),
983                                            (s.contentSource = t);
984                                    },
985                                    function (e) {
986                                        if (s) {
987                                            var t = "",
988                                                n = document.createElement("a");
989                                            (n.href = s.contentSource), n.hostname !== window.location.hostname && (t = "CROSS ORIGIN!! "), s.updateInfo(t + "Error Loading File -  " + s.contentSource);
990                                        }
991                                    }
992                                ),
993                                    (t.onProgress = function (e) {
994                                        if (s) {
995                                            var t = (100 * e.loaded) / e.total;
996                                            isNaN(t)
997                                                ? e && e.loaded
998                                                    ? s.updateInfo("Lo
998ading Pages " + (Math.ceil(e.loaded / 1e4) / 100).toString() + "MB ...")
999                                                    : s.updateInfo("Loading Pages ...")
1000                                                : s.updateInfo("Loading Pages " + t.toString().split(".")[0] + "% ...");
1001                                        }
1002                                    });
1003                            }
1004                        },
1005                        c = function () {
1006                            if (s) {
1007                                (r.pdfjsWorkerSrc += "?ver=" + e.version), s.updateInfo("Loading Interface ...");
1008                                var n = document.createElement("a");
1009                                (n.href = r.pdfjsWorkerSrc),
1010                                    n.hostname !== window.location.hostname
1011                                        ? (s.updateInfo("Loading Interface ..."),
1012                                          t.ajax({
1013                                              url: r.pdfjsWorkerSrc,
1014                                              cache: !0,
1015                                              success: function (t) {
1016                                                  (r.pdfjsWorkerSrc = e.createObjectURL(t, "text/javascript")), l();
1017                                              },
1018                                          }))
1019                                        : l();
1020                            }
1021                        };
1022                    null == window.PDFJS
1023                        ? s &&
1024                          (s.updateInfo("Loading Interface ..."),
1025                          O(
1026                              r.pdfjsSrc + "?ver=" + e.version,
1027                              function () {
1028                                  "function" == typeof define && define.amd
1029                                      ? (s.updateInfo("Loading Interface ..."),
1030                                        require.config({ paths: { "pdfjs-dist/build/pdf.worker": r.pdfjsWorkerSrc.replace(".js", "") } }),
1031                                        require(["pdfjs-dist/build/pdf"], function (e) {
1032                                            c();
1033                                        }))
1034                                      : c();
1035                              },
1036                              function () {
1037                                  s.updateInfo("Unable to load Interface ..");
1038                              }
1039                          ))
1040                        : l();
1041                } else console.error("Unsupported source type. Please load a valid PDF file.");
1042                return (
1043                    (this.dispose = function () {
1044                        s.loading && s.loading.destroy && s.loading.destroy(),
1045                            (s.loading = null),
1046                            s.textureLoadTimeOut && (clearTimeout(s.textureLoadTimeOut), (s.textureLoadTimeOut = null)),
1047                            this.targetObject &&
1048                                (this.targetObject.thumbContainer && this.targetObject.thumbContainer.remove && this.targetObject.thumbContainer.remove(),
1049                                this.targetObject.outlineContainer && this.targetObject.outlineContainer.remove && this.targetObject.outlineContainer.remove(),
1050                                this.targetObject.dispose && this.targetObject.dispose(),
1051                                (this.targetObject.processPage = null),
1052                                (this.targetObject.requestPage = null),
1053                                this.targetObject.container && this.targetObject.container.off && this.targetObject.container.off()),
1054                            this.pdfDocument && this.pdfDocument.destroy && this.pdfDocument.destroy(),
1055                            this.linkService && this.linkService.dispose && this.linkService.dispose(),
1056                            this.outlineViewer && this.outlineViewer.dispose && this.outlineViewer.dispose(),
1057                            this.thumblist && this.thumblist.dispose && ((this.thumblist.review = null), this.thumblist.dispose()),
1058                            (this.activeThumb = null),
1059                            (this.targetObject = null),
1060                            (this.pdfDocument = null),
1061                            (this.linkService = null),
1062                            (this.outlineViewer = null),
1063                            (this.thumblist = null),
1064                            (s = null);
1065                    }),
1066                    this
1067                );
1068            }
1069            return (
1070                B(i, {}),
1071                (i.prototype.updateInfo = function (e) {
1072                    this.flipbook && this.flipbook.updateInfo && this.flipbook.updateInfo(e);
1073                }),
1074                (i.prototype.initThumbs = function () {
1075                    var e,
1076                        n = this;
1077                    null == n.cache[n.thumbsize] && (n.cache[n.thumbsize] 
1077= []);
1078                    var i = function () {
1079                            clearTimeout(e),
1080                                (e = setTimeout(function () {
1081                                    e = setTimeout(o, n.waitPeriod / 2);
1082                                }, n.waitPeriod));
1083                        },
1084                        o = function () {
1085                            var o = 0;
1086                            if (
1087                                (Date.now() - n.thumblist.lastScrolled < 100
1088                                    ? (o = 1)
1089                                    : (n.targetObject.container.find(".pdff-thumb-container .pdff-vrow").each(function () {
1090                                          var e = t(this);
1091                                          if (!e.hasClass("pdff-thumb-loaded")) {
1092                                              o++;
1093                                              var a = t(this).attr("id").replace("pdff-thumb", "");
1094                                              return n.getPage(a, i, !0), e.addClass("pdff-thumb-loaded"), !1;
1095                                          }
1096                                      }),
1097                                      0 == o && clearTimeout(e)),
1098                                o > 0 && i(),
1099                                n.activeThumb != n.targetObject._activePage && null != n.targetObject.thumbContainer && n.targetObject.thumbContainer.hasClass("pdff-sidemenu-visible"))
1100                            ) {
1101                                var a = n.thumblist.container,
1102                                    r = a.scrollTop,
1103                                    s = a.getBoundingClientRect().height,
1104                                    l = n.targetObject.thumbContainer.find("#pdff-thumb" + n.targetObject._activePage);
1105                                l.length > 0
1106                                    ? (n.targetObject.thumbContainer.find(".pdff-selected").removeClass("pdff-selected"),
1107                                      l.addClass("pdff-selected"),
1108                                      r + s < (l = l[0]).offsetTop + l.scrollHeight ? l.scrollIntoView(!1) : r > l.offsetTop && l.scrollIntoView(),
1109                                      (n.activeThumb = n.targetObject._activePage))
1110                                    : (t(a).scrollTop(124 * n.targetObject._activePage), i());
1111                            }
1112                        };
1113                    (n.thumblist = n.targetObject.thumblist = new ThumbList({
1114                        h: 500,
1115                        addFn: function (e) {},
1116                        scrollFn: i,
1117                        itemHeight: 128,
1118                        totalRows: n.pageCount,
1119                        generatorFn: function (e) {
1120                            var t = document.createElement("div"),
1121                                n = e + 1;
1122                            t.id = "pdff-thumb" + n;
1123                            var i = document.createElement("div");
1124                            return (i.innerHTML = n), t.appendChild(i), t;
1125                        },
1126                    })),
1127                        (n.thumblist.lastScrolled = Date.now()),
1128                        (n.thumblist.review = i),
1129                        i();
1130                    var a = t("<div>").addClass("pdff-thumb-container pdff-sidemenu-visible pdff-sidemenu");
1131                    a.append(t(n.thumblist.container).addClass("pdff-thumb-wrapper")), (n.targetObject.thumbContainer = a), n.targetObject.container.append(a);
1132                    var r = t(f.div, { class: "pdff-ui-btn pdff-ui-sidemenu-close ti-close" });
1133                    a.append(r),
1134                        n.thumblist.reset(t(n.thumblist.container).height()),
1135                        n.targetObject.container.on("click", ".pdff-thumb-container .pdff-vrow", function (e) {
1136                            e.stopPropagation();
1137                            var i = t(this).attr("id").replace("pdff-thumb", "");
1138                            n.targetObject.gotoPage(parseInt(i, 10));
1139                        });
1140                }),
1141                (i.prototype.initOutline = function () {
1142                    var e = this,
1143                        n = t("<div>").addClass("pdff-outline-container pdff-sidemenu"),
1144                        i = t("<div>").addClass("pdff-outline-wrapper"),
1145                        o = t(f.div, { class: "pdff-ui-btn pdff-ui-sidemenu-close ti-close" });
1146                    function a(t) {
1147                        if ((1 == e.options.overwritePDFOutline && (t = []), (t = t || []), e.outline)) for (var n = 0; n < e.outline.length; n++) (e.outline[n].custom = !0), t && t.push(e.outline[n]);
1148                        e.outlineViewer.render({ outline: t });
1149                    }
1150                    n.append(o).append(i),
1151                        e.targetObject.container.append(n),
1152                        (e.targetObject.outlineContainer = n),
1153                        (e.outlineViewer = new BookMarkViewer({
1154                            container: i[0],
1155                            linkService: e.linkService,
1156                            outlineItemClass: "pdff-outline-item",
1157                            outlineToggleClass: "pdff-outline-toggle",
1158                            outlineToggleHiddenClass: "pdff-outlines-hidden",
1159                        })),
1160                        e.pdfDocument
1161                            ? e.pdfDocument.getOutline().then(function (e) {
1162                                  a(e);
1163                              })
1164                            : a([]),
1165                        1 == e.options.autoEnableOutline && e.targetObject.ui.outline.trigger("click"),
1166                        1 == e.options.autoEnableThumbnail && e.targetObject.ui.thumbnail.trigger("click");
1167                }),
1168                (i.prototype.checkViewportSize = function (e, t, n) {
1169                    var i = this,
1170                        o = i.targetObject,
1171                        a = e * n,
1172                        s = t * n,
1173                        l = i.cacheIndex;
1174                    if (i.contentSourceType == u.PDF) {
1175                        if (
1176                            ((i.cacheIndex = Math.ceil(Math.max(a, s))),
1177                            (i.cacheIndex = Math.floor(Math.max(a, s))),
1178                            (i.cacheIndex = P(i.cacheIndex * r.pixelRatio, i.minDimension, i.maxDimension)),
1179                            null == i.cache[i.cacheIndex] && (i.cache[i.cacheIndex] = []),
1180                            l !== i.cacheIndex)
1181                        ) {
1182                            for (var c = 0; c < o.children.length; c++) o.children[c];
1183                            o.refresh();
1184                        }
1185                        (i.imageViewport = i.refPage.getViewport(s / i.normalViewport.height)), (i.viewport = "css" == o.mode ? i.imageViewport : i.refPage.getViewport(i.bookSize.height / i.normalViewport.height)), S(i.cacheIndex);
1186                        var d = o.container.find(".linkAnnotation"),
1187                            p = i.viewport.clone({ dontFlip: !0 });
1188                        d.css({ transform: "matrix(" + p.transform.join(",") + ")" });
1189                    } else null == i.cache[i.cacheIndex] && (i.cache[i.cacheIndex] = []);
1190                }),
1191                (i.prototype.getCache = function (e, t) {
1192                    return 1 == t ? (null == this.cache[this.thumbsize] ? null : this.cache[this.thumbsize][e]) : null == this.cache[this.cacheIndex] ? null : this.cache[this.cacheIndex][e];
1193                }),
1194                (i.prototype.setCache = function (e, t, n, i) {
1195                    if (1 == n) null != this.cache[this.thumbsize] && (this.cache[this.thumbsize][e] = t);
1196                    else {
1197                        var o = null == i ? this.cacheIndex : i;
1198                        null != this.cache[o] && (this.cache[o][e] = t);
1199                    }
1200                }),
1201                (i.prototype.setTarget = function (e) {
1202                    var t = this;
1203                    if (null == e) return this.targetObject;
1204                    (this.targetObject = e),
1205                        (e.contentProvider = this),
1206                        e.container.removeClass("pdff-loading pdff-init"),
1207                        null != t.linkService && (t.linkService.setViewer(e), t.initOutline()),
1208                        (e.processPage = function (e, n) {
1209                            e > 0 && e <= t.pageCount ? t.getPage(e, n) : t.setPage(e, r.textureLoadFallback, n);
1210                        }),
1211                        (e.requestPage = function () {
1212                            t.review("Request");
1213                        }),
1214                        null != e.resize && e.resize();
1215                }),
1216                (i.prototype.review = function (e) {
1217                    var t = this;
1218                    (e = e || "timer review"),
1219                        clearTimeout(t.textureLoadTimeOut),
1220                        (t.textureLoadTimeOut = setTimeout(function () {
1221                            t.textureLoadTimeOut = setTimeout(t.reviewPages, t.waitPeriod / 2, t, e);
1222                        }, t.waitPeriod));
1223                }),
1224                (i.prototype.reviewPages = function (e, n) {
1225                    var i = (e = e || this).targetObject;
1226                    if (null != i) {
1227                        var o = M(i);
1228                        null != n && S(n);
1229                        var a,
1230                            r = !1;
1231                        for (a = 0; a < e.targetObject.children.length; a++)
1232                            if (1 == i.children[a].isFlipping) {
1233                                r = !0;
1234                                break;
1235                            }
1236                        if (0 == r) {
1237                            var s = i.children.length > 3 ? 3 : i.children.length,
1238                                l = o ? i._activePage : L(i._activePage);
1239                            for (e.baseNumber = l, e.zoomScale > 1 && (s = 1), a = 0; a < s; a++) {
1240                                var c = Math.floor(a / 2),
1241                                    d = a % 2 == 0 ? -c * (o ? 1 : 2) : (0 == c ? 1 : c) * (o ? 1 : 2),
1242                                    u = l + d,
1243                                    p = l + d + 1,
1244                                    h = i.getPageByNumber(u),
1245                                    f = i.getPageByNumber(p),
1246                                    g = u + "|" + e.cacheIndex,
1247                                    m = p + "|" + e.cacheIndex,
1248                                    v = 0;
1249                                if (
1250                                    (null != h &&
1251                                        h.frontPageStamp != g &&
1252                                        1 == h.visible &&
1253                                        ((h.frontTextureLoaded = !1),
1254                                        i.processPage(u, function () {
1255                                            e.review("Batch Call");
1256                                        }),
1257                                        (h.frontPageStamp = g),
1258                                        v++),
1259                                    null == f ||
1260                                        f.backPageStamp == m ||
1261                                        1 != f.visible ||
1262                                        o ||
1263                                        ((f.backTextureLoaded = !1),
1264                                        i.processPage(p, function () {
1265                                            e.review("Batch Call");
1266                                        }),
1267                                        (f.backPageStamp = m),
1268                                        v++),
1269                                    0 == d && e.annotedPage !== l && (e.getAnnotations(u), o || e.getAnnotations(p), (e.annotedPage = l)),
1270                                    v > 0)
1271                                )
1272                                    break;
1273                            }
1274                            0 == v && "css" !== i.mode && e.setLoading(l);
1275                        } else if ((e.review("Revisit request"), null != e.annotedPage && "css" !== i.mode)) {
1276                            var b = L(i._activePage);
1277                            t(i.getContentLayer(b)).html(""), t(i.getContentLayer(b + 1)).html(""), (e.annotedPage = null);
1278                        }
1279                    }
1280                }),
1281                (i.prototype.getPage = function (t, n, i) {
1282                    var o,
1283                        a,
1284                        s,
1285                        l,
1286                        c = this,
1287                        d = (t = parseInt(t, 10)),
1288                        p = c.contentSource;
1289                    t <= 0 && t >= c.pageCount
1290                        ? c.setPage(t, r.textureLoadFallback, n, i)
1291                        : c.contentSourceType == u.PDF
1292                        ? null != c.getCache(t, i)
1293                            ? (c.setPage(t, c.getCache(t, i), n, i), S("Page " + t + " loaded from cache"))
1294                            : (!0 !== i && c.setLoading(t, !0),
1295                              c.options.pageSize == e.PAGE_SIZE.DOUBLEINTERNAL && t > 2 && (d = Math.ceil((t - 1) / 2) + 1),
1296                              p.getPage(d, i).then(function (o) {
1297                                  !(function (t, n, i, o) {
1298                                      var a = c.options.forceFit,
1299                                          r = c.options.pageSize == e.PAGE_SIZE.DOUBLEINTERNAL && n > 1 && n < c.pageCount,
1300                                          s = r && a ? 2 : 1,
1301                                          l = a ? t.getViewport(1) : c.normalViewport,
1302                                          d = c.cacheIndex / Math.max(l.width / s, l.height);
1303                                      1 == c.webgl && (d = k(c.cacheIndex) / (c.pageRatio > 1 ? l.width / s : l.height));
1304                                      var u = document.createElement("canvas"),
1305                                          p = performance.now(),
1306                                          h = c.cacheIndex,
1307                                          f = u.getContext("2d");
1308                                      1 == o && (d = c.thumbsize / c.normalViewport.height),
1309                                          (u.height = Math.round(l.height * d)),
1310                                          (u.width = Math.round((l.width / s) * d)),
1311                                          "css" == c.targetObject.mode && Math.abs(c.targetObject.zoomHeight - u.height) < 2 && ((u.height = c.targetObject.zoomHeight + 0), (u.width = c.targetObject.zoomWidth + 0)),
1312                                          (l = t.getViewport(d)),
1313                                          S("rendering " + n + " at " + u.width + "x" + u.height),
1314                                          r && (D(c.targetObject) ? n % 2 == 0 && (l.transform[4] = -u.width) : n % 2 == 1 && (l.transform[4] = -u.width));
1315                                      var g = { canvasContext: f, viewport: l };
1316                                      (t.cleanupAfterRender = !0),
1317                                          t.render(g).promise.then(function () {
1318                                              S(performance.now() - p),
1319                                                  (p = performance.now()),
1320                                                  1 == o || (1 == c.options.canvasToBlob && !0 !== c.webgl)
1321                                                      ? u.toBlob(
1322                                                            function (t) {
1323                                                                var a = e.createObjectURL(t, "image/jpeg");
1324                                                                S(performance.now() - p), c.setCache(n, a, o, h), c.setPage(n, a, i, o);
1325                                                            },
1326                                                            "image/jpeg",
1327                                                            c.pdfRenderQuality
1328                                                        )
1329                                                      : (S("Setting Page " + n), c.setPage(n, u, i, o)),
1330                                                  (g = null);
1331                                          });
1332                                  })(o, t, n, i);
1333                              }))
1334                        : (c.contentSourceType != u.IMAGE && c.contentSourceType != u.HTML) ||
1335                          (null != c.getCache(t, i)
1336                              ? (c.setPage(t, c.getCache(t, i), n, i), S("Page " + t + " loaded from cache"))
1337                              : (!0 !== i && c.setLoading(t, !0),
1338                                c.options.pageSize == e.PAGE_SIZE.DOUBLEINTERNAL && t > 2 && (d = Math.ceil((t - 1) / 2) + 1),
1339                                (o = p[d - 1]),
1340                                (a = function (e) {
1341                                    c.setCache(t, e, i, c.cacheIndex), c.setPage(t, e, n, i), null != n && n();
1342                                }),
1343                                (s = c.isCrossOrigin),
1344                                ((l = new Image()).crossOrigin = "Anonymous"),
1345                                (l.onload = function () {
1346                                    if (1 == s) {
1347                                        var t = document.createElement("canvas"),
1348                                            n = t.getContext("2d");
1349                                        (t.width = l.width),
1350                                            (t.height = l.height),
1351                                            n.drawImage(l, 0, 0),
1352                                            1 == r.canvasToBlob
1353                                                ? t.toBlob(
1354                                                      function (t) {
1355                                                          var n = e.createObjectURL(t, "image/jpeg");
1356                                                          null != a && a(n);
1357                                                      },
1358                                                      "image/jpeg",
1359                                                      0.85
1360                                                  )
1361                                                : null != a && a(t);
1362                                    } else null != a && a(o);
1363                                    (l.onload = null), (l = null);
1364                                }),
1365                                (l.src = o),
1366                                (l.complete || void 0 === l.complete) && ((l.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw=="), (l.src = o))));
1367                }),
1368                (i.prototype.getTargetPage = function (e) {}),
1369                (i.prototype.setLoading = function (e, n) {
1370                    if (null != this.targetObject)
1371                        if (1 == this.webgl) {
1372                            var i = this.targetObject.container;
1373                            1 == n
1374                                ? !0 !== i.isLoading && (i.addClass("pdff-loading"), (i.isLoading = !0), S("Loading icon at " + e + " as " + n))
1375                                : null != i.isLoading && (i.removeClass("pdff-loading"), (i.isLoading = null), S("Loading icon at " + e + " as " + n));
1376                        } else {
1377                            var o = t(this.targetObject.getContentLayer(e));
1378                            null != o && (1 == n ? o.addClass("pdff-page-loading") : o.removeClass("pdff-page-loading"), S("Loading icon at " + e + " as " + n));
1379                        }
1380                }),
1381                (i.prototype.getAnnotations = function (n) {
1382                    var i = this;
1383                    if (0 != i.options.enableAnnotation) {
1384                        var o = i.targetObject;
1385                        n = parseInt(n, 10);
1386                        var a = i.contentSource,
1387                            r = t(o.getContentLayer(n));
1388                        if ((r.empty(), n > 0 && n <= i.pageCount)) {
1389                            if (i.contentSourceType == u.PDF) {
1390                                L(n);
1391                                var s = n;
1392                                i.options.pageSize == e.PAGE_SIZE.DOUBLEINTERNAL && n > 2 && (s = Math.ceil((n - 1) / 2) + 1),
1393                                    a.getPage(s).then(function (e) {
1394                                        null != r && r.length > 0 && i.setupAnnotations(e, i.viewport, r, n);
1395                                    });
1396                            }
1397                            if (null != i.links && null != i.links[n])
1398                                for (var l = i.links[n], c = 0; c < l.length; c++) {
1399                                    var d,
1400                                        p = l[c];
1401                                    p.dest && p.dest.indexOf && 0 == p.dest.indexOf("[html]")
1402                                        ? (((d = document.createElement("div")).innerHTML = p.dest.substr(6)), (d.className = "customHtmlAnnotation"))
1403                                        : ((d = document.createElement("a")).setAttribute("dest", p.dest),
1404                                          (d.className = "customLinkAnnotation"),
1405                                          (d.href = "#" + p.dest),
1406                                          (d.onclick = function () {
1407                                              var e = this.getAttribute("dest");
1408                                              return e && i.linkService.customNavigateTo(e), !1;
1409                                          })),
1410                                        (d.style.left = p.x + "%"),
1411                                        (d.style.top = p.y + "%"),
1412                                        (d.style.width = p.w + "%"),
1413                                        (d.style.height = p.h + "%"),
1414                                        r[0].appendChild(d);
1415                                }
1416                            if (null != i.html && null != i.html[n]) {
1417                                var h = i.html[n];
1418                                r.append(t("<div class='customHTMLAnnotation'>").html(h));
1419                            }
1420                        }
1421                    }
1422                }),
1423                (i.prototype.setPage = function (e, t, n, i) {
1424                    var o = this,
1425                        a = o.targetObject,
1426                        s = D(a),
1427                        l = M(a);
1428                    if (1 == i) o.targetObject.container.find("#pdff-thumb" + e).css({ backgroundImage: y(t) });
1429                    else {
1430                        t == r.textureLoadFallback && S("Fallback on " + e);
1431                        var c = a.getPageByNumber(e);
1432                        null != c
1433                            ? (e % 2 != 0 && !s) || (e % 2 != 1 && s && !l) || (l && !s)
1434                                ? (S(e + "rendered to back of " + c.c
1434olor),
1435                                  c.backImage(t, function (t, i) {
1436                                      (c.backTextureLoaded = !0), o.setLoading(e), o.requiresImageTextureScaling && i && 1 != e && e != o.pageCount && ((i.repeat.x = 0.5), (i.offset.x = 0.5)), null != n && n();
1437                                  }))
1438                                : (S(e + "rendered to front of " + c.color),
1439                                  c.frontImage(t, function (t, i) {
1440                                      (c.frontTextureLoaded = !0), o.setLoading(e), o.requiresImageTextureScaling && i && 1 != e && e != o.pageCount && (i.repeat.x = 0.5), null != n && n();
1441                                  }))
1442                            : S("Invalid set request on Page " + e);
1443                    }
1444                }),
1445                (i.prototype.setupAnnotations = function (n, i, o, a) {
1446                    if (null != o && 0 != t(o).length) {
1447                        var r = this;
1448                        return n.getAnnotations().then(function (s) {
1449                            if (((i = i.clone({ dontFlip: !0 })), r.options.pageSize, e.PAGE_SIZE.DOUBLEINTERNAL, null != o)) {
1450                                0 == (o = t(o)).find(".annotationDiv").length && o.append(t("<div class='annotationDiv'>"));
1451                                var l = o.find(".annotationDiv");
1452                                l.empty(),
1453                                    r.options.pageSize == e.PAGE_SIZE.DOUBLEINTERNAL && a > 2 && a % 2 == 1 ? l.css({ left: "-100%" }) : 1 == a && l.css({ left: "" }),
1454                                    PDFJS.AnnotationLayer.render({ annotations: s, div: l[0], page: n, viewport: i, linkService: r.linkService }),
1455                                    r.options.annotationClass && "" !== r.options.annotationClass && l.find(" > section").addClass(r.options.annotationClass);
1456                            }
1457                        });
1458                    }
1459                }),
1460                i
1461            );
1462        })(),
1463        W = (function () {
1464            function n(e) {
1465                (this.angles = e.angles || [0, 0, 0, 0, 0, 0]), (this.stiffness = e.angles || 0.1), (this.segments = e.segments || 1), (this.canvasMode = e.contentSourceType !== u.IMAGE && 0 == e.canvasToBlob), this.initDOM();
1466            }
1467            function i(e) {
1468                var n = (e.contentLayer = t(f.div, { class: "pdff-page-content" }));
1469                e.append(n);
1470            }
1471            return (
1472                (n.prototype = {
1473                    initDOM: function () {
1474                        var e = (this.element = t(f.div, { class: "ppdff-flipbook-page" })),
1475                            n = (this.wrapper = t(f.div, { class: "pdff-page-wrapper" })),
1476                            o = (this.front = t(f.div, { class: "pdff-page-front" })),
1477                            a = (this.back = t(f.div, { class: "pdff-page-back" })),
1478                            r = (this.foldInnerShadow = t(f.div, { class: "pdff-page-fold-inner-shadow" })),
1479                            s = (this.foldOuterShadow = t(f.div, { class: "pdff-page-fold-outer-shadow" }));
1480                        (this.frontIMG = new Image()), (this.backIMG = new Image()), i(o, this.segments), i(a, this.segments), e.append(n).append(s), n.append(o).append(a).append(r);
1481                    },
1482                    updatePoint: function (t) {
1483                        if (null != t) {
1484                            var n = null != this.parent.dragPage ? this.parent.dragPage : null != t.page ? t.page : this,
1485                                i = n.element.width(),
1486                                o = n.element.height(),
1487                                a = null != this.parent.corner ? this.parent.corner : t.corner,
1488                                r = e.CORNERS,
1489                                s = n.side == p.right,
1490                                l = a == r.BL || a == r.BR;
1491                            (t.rx = 1 == s ? 2 * i - t.x : t.x), (t.ry = 1 == l ? o - t.y : t.y);
1492                            var c = Math.atan2(t.ry, t.rx);
1493                            c = Math.PI / 2 - P(c, 0, m(90));
1494                            var d = s ? t.x / 2 : i - t.x / 2,
1495                                u = t.ry / 2,
1496                                h = Math.max(0, Math.sin(c - Math.atan2(u, d)) * x(d, u)),
1497                                f = 0.5 * x(t.rx, t.ry),
1498                                g = Math.round(i - h * Math.sin(c)),
1499                                y = Math.round(h * Math.cos(c)),
1500                                C = v(c),
1501                                E = l ? (s ? 90 - C + 180 : 180 + C) : s ? C : 90 - C,
1502                                S = l ? (s ? 90 - C + 180 : C) : s ? C + 180 : E,
1503                                k = l ? (s ? 90 - C : C + 90) : s ? E - 90 : E + 180,
1504                                T = s ? i - g : g,
1505                                L = l ? o + y : -y,
1506                                O = s ? -g : g - i,
1507                                I = l ? -o - y : y,
1508                                M = P((0.5 * t.distance) / i, 0, 0.5),
1509                                D = P((0.5 * (2 * i - t.rx)) / i, 0.05, 0.3);
1510                            n.element.addClass("pdff-folding");
1511                            var F = s ? n.back : n.front,
1512                                z = s ? n.front : n.back,
1513                                N = n.foldOuterShadow,
1514                                A = n.foldInnerShadow;
1515                            n.wrapper.css({ transform: b(T, L) + w(E) }),
1516                                F.css({ transform: w(-E) + b(-T, -L) }),
1517                                z.css({ transform: w(S) + b(O, I), boxShadow: "rgba(0, 0, 0, " + M + ") 0px 0px 20px" }),
1518                                A.css({ transform: w(S) + b(O, I), opacity: D / 2, backgroundImage: R.css + "linear-gradient( " + k + "deg, rgba(0, 0, 0, 0.25) , rgb(0, 0, 0) " + 0.7 * f + "px, rgb(255, 255, 255) " + f + "px)" }),
1519                                N.css({ opacity: D / 2, left: s ? "auto" : 0, right: s ? 0 : "auto", backgroundImage: R.css + "linear-gradient( " + (180 - k) + "deg, rgba(0, 0, 0,0) " + f / 3 + "px, rgb(0, 0, 0) " + f + "px)" });
1520                        }
1521                    },
1522                    updateAngle: function (e, t) {
1523                        var n = 5 * this.element.width();
1524                        this.wrapper.css({ perspective: n, perspectiveOrigin: 1 == t ? "0% 50%" : "100% 50%" }),
1525                            this.front.css({
1526                                display: 1 == t ? (e <= -90 ? "block" : "none") : e < 90 ? "block" : "none",
1527                                transform: ("MfS" !== R.dom ? "" : "perspective(" + n + "px) ") + (1 == t ? "translateX(-100%) " : "") + "rotateY(" + ((1 == t ? 180 : 0) + e) + "deg)",
1528                            }),
1529                            this.back.css({
1530                                display: 1 == t ? (e > -90 ? "block" : "none") : e >= 90 ? "block" : "none",
1531                                transform: ("MSd" !== R.dom ? "" : "perspective(" + n + "px) ") + (0 == t ? "translateX(100%) " : "") + "rotateY(" + ((0 == t ? -180 : 0) + e) + "deg)",
1532                            });
1533                    },
1534                    tween: function (t) {
1535                        var n = this;
1536                        if (null != n && null != n.parent) {
1537                            var i,
1538                                o = M(n.parent),
1539                                a = n.side == p.right,
1540                                r = n.parent.direction == e.DIRECTION.RTL,
1541                                s = n.parent.corner == e.CORNERS.BL || n.parent.corner == e.CORNERS.BR,
1542                                l = 1 == n.magnetic,
1543                                c = s ? n.parent.height : 0,
1544                                d = 0,
1545                                u = (n.end = n && 1 == n.animateToReset ? { x: a ? n.parent.fullWidth : 0, y: c } : { x: a ? 0 : n.parent.fullWidth, y: c });
1546                            n.ease = n.isHard ? TWEEN.Easing.Quadratic.InOut : TWEEN.Easing.Linear.None;
1547                            var h = n.parent.duration;
1548                            1 == n.isHard
1549                                ? (null != t && (d = E(t.distance, t.fullWidth)), (i = n.init = { angle: d * (a ? -1 : 1) }), (u = n.end = n && 1 == n.animateToReset ? { angle: a ? 0 : -0 } : { angle: a ? -180 : 180 }))
1550                                : null == t
1551                                ? ((i = n.init = n && 1 == n.animateToReset ? { x: a ? 0 : n.parent.fullWidth, y: 0 } : { x: a ? n.parent.fullWidth : 0, y: 0 }),
1552                                  (n.first = { x: ((a ? 3 : 1) * n.parent.fullWidth) / 4, y: 0 }),
1553                                  (n.mid = { x: ((a ? 1 : 3) * n.parent.fullWidth) / 4, y: 0 }))
1554                                : ((i = n.init = { x: t.x, y: t.y, opacity: 1 }),
1555                                  (n.first = { x: (3 * t.x) / 4, y: (3 * t.y) / 4, opacity: 1 }),
1556                                  (n.mid = { x: t.x / 4, y: t.y / 4, opacity: 1 }),
1557                                  (h = (n.parent.duration * C(i.x, i.y, u.x, u.y)) / n.parent.fullWidth),
1558                                  (h = P(h, n.parent.duration / 3, n.parent.duration))),
1559                                (i.index = 0),
1560                                (u.index = 1),
1561                                (n.isFlipping = !0);
1562                            var f = function (e) {
1563                                1 == n.isHard ? (n.updateAngle(e.angle, a), (n.angle = e.angle)) : (n.updatePoint({ x: e.x, y: e.y }), (n.x = e.x), (n.y = e.y)),
1564                                    o && !l && (n.element[0].style.opacity = (a && !r) || (!a && r) ? (e.index > 0.5 ? 2 * (1 - e.index) : 1) : e.index < 0.5 ? 2 * e.index : 1);
1565                            };
1566                            o && ((!a && !r) || (a && r)) && (n.element[0].style.opacity = 0),
1567                                (n.completeTween =
1568                                    n.completeTween ||
1569                                    function (t) {
1570                                        (n.isFlipping = !1),
1571                                            1 == n.isHard ? (n.updateAngle(n.end.angle), n.back.css({ display: "block" }), n.front.css({ display: "block" })) : n.updatePoint({ x: n.end.x, y: n.end.y }),
1572                                            (n.element[0].style.opacity = 1),
1573                                            !0 !== n.animateToReset ? (n.side = n.side == p.right ? p.left : p.right) : (n.animateToReset = null),
1574                                            (n.currentTween = null),
1575                                            (n.pendingPoint = null),
1576                                            (n.magnetic = !1),
1577                                            (n.parent.dragPage = null),
1578                                            (n.parent.corner = e.CORNERS.NONE),
1579                                            1 != t && n.parent.refresh();
1580                                    }),
1581                                1 == n.isHard
1582                                    ? (n.currentTween = new TWEEN.Tween(i)
1583                                          .delay(0)
1584                                          .to(u, n.parent.duration)
1585                                          .onUpdate(function () {
1586                                              f(this);
1587                                          })
1588                                          .easing(n.ease)
1589                                          .onComplete(n.completeTween)
1590                                          .start())
1591                                    : null == t
1592                                    ? (n.currentTween = new TWEEN.Tween(i)
1593                                          .delay(0)
1594                                          .to(u, n.parent.duration)
1595                                          .onUpdate(function () {
1596                                              f(this);
1597                                          })
1598                                          .easing(TWEEN.Easing.Sinusoidal.Out)
1599                                          .onComplete(n.completeTween)
1600                                          .start())
1601                                    : ((n.currentTween = new TWEEN.Tween(i)
1602                                          .delay(0)
1603                                          .to(u, h)
1604                                          .onUpdate(function () {
1605                                              f(this);
1606                                          })
1607                                          .easing(TWEEN.Easing.Sinusoidal.Out)
1608                                          .onComplete(n.completeTween)),
1609                                      n.currentTween.start());
1610                        }
1611                    },
1612                    frontImage: function (e, n) {
1613                        var i = this;
1614                        function o() {
1615                            i.front.css({ backgroundImage: y(e) }), null != n && n();
1616                        }
1617                        1 == i.canvasMode ? (i.front.find(">canvas").remove(), e !== r.textureLoadFallback && i.front.append(t(e)), null != n && n()) : e == r.textureLoadFallback ? o() : ((i.frontIMG.onload = o), (i.frontIMG.src = e));
1618                    },
1619                    backImage: function (e, n) {
1620                        var i = this;
1621                        function o() {
1622                            i.back.css({ backgroundImage: y(e) }), null != n && n();
1623                        }
1624                        1 == i.canvasMode ? (i.back.find(">canvas").remove(), e !== r.textureLoadFallback && i.back.append(t(e)), null != n && n()) : e == r.textureLoadFallback ? o() : ((i.backIMG.onload = o), (i.backIMG.src = e));
1625                    },
1626                    updateCSS: function (e) {
1627                        this.element.css(e);
1628                    },
1629                    resetCSS: function () {
1630                        this.wrapper.css({ transform: "" }), this.front.css({ transform: "", boxShadow: "" }), this.back.css({ transform: "", boxShadow: "" });
1631                    },
1632                    clearTween: function (e) {
1633                        this.currentTween.stop(), this.completeTween(1 == e), this.resetCSS();
1634                    },
1635                }),
1636                n
1637            );
1638        })(),
1639        G = (function (n) {
1640            function i(e) {
1641                for (var t = !1, n = 0; n < e.pages.length; n++)
1642                    if (1 == e.pages[n].isFlipping) {
1643                        t = !0;
1644                        break;
1645                    }
1646                return t;
1647            }
1648            function o(n, o) {
1649                var a = this;
1650                function r(e) {
1651                    a.dragPage != e.page && 1 == e.page.visible && (a.dragPage.clearTween(!0), (a.dragPage = e.page), (a.corner = e.corner), (a.dragPage.pendingPoint = e));
1652                }
1653                (a.type = "BookCSS"),
1654                    (a.images = n.images || []),
1655                    (a.pageCount = n.pageCount || 2),
1656                    (a.foldSense = 50),
1657                    (a.stackCount = 4),
1658                    (a.mode = "css"),
1659                    (a.pages = []),
1660                    (a.duration = n.duration),
1661                    (a.container = t(o)),
1662                    (a.options = n),
1663                    (a.drag = p.none),
1664                    (a.pageCount = 1 == a.pageCount ? a.pageCount : 2 * Math.ceil(a.pageCount / 2)),
1665                    (a.pageMode = n.pageMode || (F || a.pageCount <= 2 ? e.PAGE_MODE.SINGLE : e.PAGE_MODE.DOUBLE)),
1666                    (a.singlePageMode = n.singlePageMode || (F ? e.SINGLE_PAGE_MODE.BOOKLET : e.SINGLE_PAGE_MODE.ZOOM)),
1667                    (a.swipe_threshold = F ? 15 : 50),
1668                    (a.direction = n.direction || e.DIRECTION.LTR),
1669                    (a.startPage = 1),
1670                    (a.endPage = a.pageCount),
1671                    (a._activePage = n.openPage || a.startPage),
1672                    (a.hardConfig = n.hard),
1673                    (s = "WebKitCSSMatrix" in window || (document.body && "MozPerspective" in document.body.style)),
1674                    (a.animateF = function () {
1675                        TWEEN.getAll().length > 0 ? TWEEN.update() : clearInterval(a.animate);
1676                    }),
1677                    a.init(n),
1678                    (a.skipDrag = !1);
1679                var l = function (t) {
1680                        var n = a.eventToPoint(t);
1681                        if (null != t.touches && 2 == t.touches.length && null != a.startTouches) {
1682                            a.zoomDirty = !0;
1683                            var o = d.getVectorAvg(d.getTouches(t, a.container.offset())),
1684                                r = d.calculateScale(a.startTouches, d.getTouches(t));
1685                            a.lastScale,
1686                                a.contentProvider.zoomScale,
1687                                o.x,
1688                                o.y,
1689                                a.stage.css({ transform: "translate3d(" + a.left + "px," + a.top + "px,0) scale3d(" + r + "," + r + ",1)" }),
1690                                (a.lastScale = r),
1691                                (a.lastZoomCenter = o),
1692                                t.preventDefault();
1693                        }
1694                        if (!((null != t.touches && t.touches.length > 1) || null == a.startPoint || null != a.startTouches)) {
1695                            var s = a.dragPage || n.page;
1696                            if (1 !== a.contentProvider.zoomScale) (null == t.touches && 1 != a.isPanning) || (a.pan(n), t.preventDefault());
1697                            else if (!0 !== a.skipDrag && (n.distance, !i(a))) {
1698                                if (null != a.dragPage || 1 == n.isInside) {
1699                                    null != a.dragPage ? S("set mouse down move") : ((n.y = P(n.y, 1, a.height - 1)), (n.x = P(n.x, 1, n.fullWidth - 1)));
1700                                    var l = a.corner || n.corner;
1701                                    if (s.isHard) {
1702                                        var c = l == e.CORNERS.BR || l == e.CORNERS.TR,
1703                                            u = E(n.distance, n.fullWidth);
1704                                        s.updateAngle(u * (c ? -1 : 1), c);
1705                                    } else s.updatePoint(n, a);
1706                                    (s.magnetic = !0), (s.magneticCorner = n.corner), t.preventDefault();
1707                                }
1708                                if (
1709                                    (null == a.dragPage &&
1710                                        null != s &&
1711                                        0 == n.isInside &&
1712                                        1 == s.magnetic &&
1713                                        ((s.pendingPoint = n), (s.animateToReset = !0), (a.corner = s.magneticCorner), a.animatePage(s), (s.pendingPoint = null), (s.magnetic = !1), (s.magneticCorner = null)),
1714                                    1 == a.isPanning && null == a.dragPage && 1 == a.contentProvider.zoomScale)
1715                                ) {
1716                                    var h = n.x - a.lastPos;
1717                                    performance.now(),
1718                                        a.lastTime,
1719                                        Math.abs(h) > a.swipe_threshold && (h < 0 ? a.next() : a.prev(), (a.drag = p.none), (a.isPanning = !1), t.preventDefault()),
1720                                        (a.lastPos = n.x),
1721                                        (a.lastTime = performance.now());
1722                                }
1723                            }
1724                        }
1725                    },
1726                    c = function (t) {
1727                        if (
1728                            (null != t.touches &&
1729                                0 == t.touches.length &&
1730                                (a.contentProvider.zoomScale,
1731                                1 == a.zoomDirty &&
1732                                    ((a.previewObject.contentProvider.zoomScale = d.limitAt(a.previewObject.contentProvider.zoomScale * a.lastScale, 1, a.previewObject.contentProvider.maxZoom)),
1733                                    (a.previewObject.zoomValue = 1 * a.previewObject.contentProvider.zoomScale),
1734                                    a.previewObject.resize(),
1735                                    (a.zoomDirty = !1)),
1736                                a.wrapper.css({ transform: "" }),
1737                                (a.lastScale = null),
1738                                (a.startTouches = null)),
1739                            (a.isPanning = !1),
1740                            !(null != t.touches && t.touches.length > 1) && !0 !== a.skipDrag)
1741                        ) {
1742                            var n = a.eventToPoint(t);
1743                            a.dragPage &&
1744                                (t.preventDefault(),
1745                                (a.dragPage.pendingPoint = n),
1746                                n.x == a.startPoint.x && n.y == a.startPoint.y && 1 == n.isInside
1747                                    ? a.corner == e.CORNERS.BR || a.corner == e.CORNERS.TR
1748                                        ? (r(n), !0 !== a.dragPage.isFlipping && a.next())
1749                                        : (a.corner != e.CORNERS.BL && a.corner != e.CORNERS.TL) || (r(n), !0 !== a.dragPage.isFlipping && a.prev())
1750                                    : !0 !== a.dragPage.isFlipping && (n.distance > n.fullWidth / 2 ? (n.x > n.fullWidth / 2 ? a.prev() : a.next()) : ((a.dragPage.animateToReset = !0), a.animatePage(a.dragPage))),
1751                                a.dragPage && ((a.dragPage.pendingPoint = null), (a.dragPage.magnetic = !1))),
1752                                (a.drag = p.none);
1753                        }
1754                    },
1755                    u = function (t) {
1756                        var n = a.eventToPoint(t),
1757                            i = t.srcElement || t.originalTarget;
1758                        (a.dragPage && a.dragPage.magnetic) ||
1759                            (a.wrapper[0].contains(t.target) &&
1760                                1 == a.contentProvider.zoomScale &&
1761                                n.x == a.startPoint.x &&
1762                                n.y == a.startPoint.y &&
1763                                n.isInsidePage &&
1764                                a.startPoint.page == n.page &&
1765                                !n.page.isFlipping &&
1766                                "A" !== i.nodeName &&
1767                                (0 == a.startPoint.page.side ? ((a.corner = e.CORNERS.TL), a.prev(), (a.startPoint.page = null)) : ((a.corner = e.CORNERS.TR), a.next(), (a.startPoint.page = null)), (a.isPanning = !1)));
1768                    },
1769                    h = function (t) {
1770                        if (
1771                            (null != t.touches && 2 == t.touches.length && null == a.startTouches && ((a.startTouches = d.getTouches(t)), (a.lastScale = 1)),
1772                            !((null != t.touches && t.touches.length > 1) || (null == t.touches && 0 !== t.button)))
1773                        ) {
1774                            var n,
1775                                o = a.eventToPoint(t);
1776                            (a.startPoint = o),
1777                                (a.left = a.left || 0),
1778                                (a.top = a.top || 0),
1779                                (a.isPanning = !0),
1780                                (a.lastPos = o.x),
1781                                (a.lastTime = performance.now()),
1782                                !0 !== a.skipDrag &&
1783                                    (1 != o.isInside ||
1784                                        i(a) ||
1785                                        ((a.startPoint = o),
1786                                        (a.drag = o.drag),
1787                                        (a.dragPage = o.page),
1788                                        (a.corner = o.corner),
1789                                        S(a.corner),
1790                                        (n = a.dragPage).parent.container.find(".pdff-folding").removeClass("pdff-folding"),
1791                                        n.element.addClass("pdff-folding"),
1792                                        o.page.isHard || o.page.updatePoint(o, a),
1793                                        "0" == o.page.name
1794                                            ? a.shadow.css({ width: "50%", left: a.direction == e.DIRECTION.RTL ? 0 : "50%", transitionDelay: "" })
1795                                            : o.page.name == Math.ceil(a.pageCount / 2) - 1 && a.shadow.css({ width: "50%", left: a.direction == e.DIRECTION.RTL ? "50%" : 0, transitionDelay: "" })));
1796                        }
1797                    },
1798                    f = function (e) {
1799                        var t = 0;
1800                        null != e.wheelDelta ? (t = e.wheelDelta / 120) : null != e.detail && (t = -e.detail / 3);
1801                        var n = a.contentProvider.zoomScale,
1802                            i = a.contentProvider.maxZoom;
1803                        if (t && ((t > 0 && n < i) || (t < 0 && n > 1))) {
1804                            e.stopPropagation(), e.preventDefault();
1805                            var o = a.eventToPoint(e),
1806                                r = a.eventToPoint(e),
1807                                s = a.container.width() / 2,
1808                                l = a.container.height() / 2 - 23;
1809                            a.previewObject.zoom(t);
1810                            var c = a.contentProvider.zoomScale;
1811                            if (n !== c) {
1812                                var d = c / n;
1813                                1 == c ? ((a.left = 0), (a.top = 0)) : ((a.left *= d), (a.top *= d));
1814                                var u = (o.raw.x - s) * d,
1815                                    p = (o.raw.y - l) * d;
1816                                (r.raw.x = s + u), (r.raw.y = l + p), (a.startPoint = r), a.pan(o);
1817                                var h = a.dragPage || o.page;
1818                                null == a.dragPage &&
1819                                    null != h &&
1820                                    1 == o.isInside &&
1821                                    1 == h.magnetic &&
1822                                    ((h.pendingPoint = o), (h.animateToReset = !0), (a.corner = h.magneticCorner), a.animatePage(h), (h.pendingPoint = null), (h.magnetic = !1), (h.magneticCorner = null));
1823                            }
1824                        }
1825                    },
1826                    g = a.container[0],
1827                    m = a.stage[0];
1828                g &&
1829                    (m.addEventListener("mousemove", l, !1),
1830                    m.addEventListener("touchmove", l, !1),
1831                    m.addEventListener("mousedown", h, !1),
1832                    m.addEventListener("click", u, !1),
1833                    m.addEventListener("mouseup", c, !1),
1834                    m.addEventListener("touchend", c, !1),
1835                    m.addEventListener("touchstart", h, !1),
1836                    1 == a.options.scrollWheel && (m.addEventListener("mousewheel", f, !1), m.addEventListener("DOMMouseScroll", f, !1))),
1837                    (this.dispose = function () {
1838                        m.removeEventListener("mousemove", l, !1),
1839                            m.removeEventListener("touchmove", l, !1),
1840                            m.removeEventListener("mousedown", h, !1),
1841                            m.removeEventListener("click", u, !1),
1842                            m.removeEventListener("mouseup", c, !1),
1843                            m.removeEventListener("touchend", c, !1),
1844                            m.removeEventListener("touchstart", h, !1),
1845                            1 == a.options.scrollWheel && (m.removeEventListener("mousewheel", f, !1), m.removeEventListener("DOMMouseScroll", f, !1)),
1846                            (a.updatePageCallback = null),
1847                            (a.flipCallback = null),
1848                            (a.animateF = null),
1849                            a.stage.remove();
1850                    });
1851            }
1852            return (
1853                B(o, {}),
1854                (o.prototype = {
1855                    add: function (e) {
1856                        e instanceof W ? this.container.append(t(e.element)) : this.container.append(t(e));
1857                    },
1858                    pan: function (e) {
1859                        var t = this.startPoint,
1860                            n = this.contentProvider.zoomScale,
1861                            i = this.left + (e.raw.x - t.raw.x),
1862                            o = this.top + (e.raw.y - t.raw.y);
1863                        (this.left = Math.round(P(i, -this.shiftWidth, this.shiftWidth))),
1864                            (this.top = Math.round(P(o, -this.shiftHeight, this.shiftHeight))),
1865                            1 == n && ((this.left = 0), (this.top = 0)),
1866                            (this.startPoint = e),
1867                            this.stage.css({ transform: "translate3d(" + this.left + "px," + this.top + "px,0)" });
1868                    },
1869                    getPageByNumber: function (e) {
1870                        for (var t, n = M(this) ? (D(this) ? e + 1 : e) : Math.floor((e - 1) / 2), i = 0; i < this.pages.length; i++) n == parseInt(this.pages[i].name, 10) && (t = this.pages[i]);
1871                        return t;
1872                    },
1873                    getPageSide: function (t) {
1874                        var n = this.direction == e.DIRECTION.RTL,
1875                            i = this.getPageByNumber(t);
1876                        if (null != i) return M(this) ? (n ? i.front : i.back) : t % 2 == 0 ? (n ? i.back : i.front) : n ? i.front : i.back;
1877                    },
1878                    getContentLayer: function (e) {
1879                        var t = this.getPageSide(e);
1880                        return null == t ? null : t.contentLayer;
1881                    },
1882                }),
1883                (o.prototype.init = function (e) {
1884                    var n = this;
1885                    (n.stage = t(f.div, { class: "ppdff-flipbook-stage" })),
1886                        (n.wrapper = t(f.div, { class: "ppdff-flipbook-wrapper" })),
1887                        (n.shadow = t(f.div, { class: "ppdff-flipbook-shadow" })),
1888                        n.container.append(n.stage),
1889                        n.stage.append(n.wrapper),
1890                        n.wrapper.append(n.shadow),
1891                        n.createStack(e);
1892                }),
1893                (o.prototype.createStack = function (e) {
1894                    for (var t = "red,green,blue,yellow,orange,black".split(","), n = 0; n < this.stackCount; n++) {
1895                        (e.angles = [, this.stackCount - n]), (e.stiffness = (this.stackCount - n) / 100);
1896                        var i = new W(e);
1897                        (i.angles[1] = 180), (i.index = n), (i.parent = this), (i.textureReady = !1), (i.textureRequested = !1), this.wrapper.append(i.element), (i.isFlipping = !1), this.pages.push(i), (i.color = t[n]);
1898                    }
1899                    this.children = this.pages;
1900                }),
1901                (o.prototype.isPageHard = function (e) {
1902                    return d.isHardPage(this.hardConfig, e, this.pageCount, M(this));
1903                }),
1904                (o.prototype.setDuration = function (e) {
1905                    this.duration = e;
1906                }),
1907                (o.prototype.moveBy = function (e) {
1908                    var t = this._activePage + e;
1909                    (t = P(t, this.startPage, this.endPage)), this.gotoPage(t);
1910                }),
1911                (o.prototype.next = function (t) {
1912                    null == t && (t = this.direction == e.DIRECTION.RTL ? -this.pageMode : this.pageMode), this.moveBy(t);
1913                }),
1914                (o.prototype.prev = function (t) {
1915                    null == t && (t = this.direction == e.DIRECTION.RTL ? this.pageMode : -this.pageMode), this.moveBy(t);
1916                }),
1917                (o.prototype.eventToPoint = function (n) {
1918                    n = I(n);
1919                    var i = this.wrapper,
1920                        o = this.pages,
1921                        a = this.pageWidth,
1922                        r = this.fullWidth,
1923                        s = this.height,
1924                        l = (t(window), { x: n.clientX, y: n.clientY }),
1925                        c = l.x - i[0].getBoundingClientRect().left,
1926                        d = l.y - i[0].getBoundingClientRect().top;
1927                    (l.x = l.x - this.container[0].getBoundingClientRect().left), (l.y = l.y - this.container[0].getBoundingClientRect().top);
1928                    var u,
1929                        h = this.drag == p.none ? (c < a ? c : r - c) : this.drag == p.left ? c : r - c,
1930                        f = c < a ? o[this.stackCount / 2 - 1] : o[this.stackCount / 2],
1931                        g = c < this.foldSense ? p.left : c > r - this.foldSense ? p.right : p.none,
1932                        m = c,
1933                        v = d,
1934                        b = s,
1935                        w = r,
1936                        y = this.foldSense,
1937                        P = e.CORNERS;
1938                    return (
1939                        (u =
1940                            m >= 0 && m < y
1941                                ? v >= 0 && v <= y
1942                                    ? P.TL
1943                                    : v >= b - y && v <= b
1944                                    ? P.BL
1945                                    : v > y && v < b - y
1946                                    ? P.L
1947                                    : P.NONE
1948                                : m >= w - y && m <= w
1949                                ? v >= 0 && v <= y
1950                                    ? P.TR
1951                                    : v >= b - y && v <= b
1952                                    ? P.BR
1953                                    : v > y && v < b - y
1954                                    ? P.R
1955                                    : P.NONE
1956                                : P.NONE),
1957                        {
1958                            isInsidePage: m >= 0 && m <= w && v >= 0 && v <= b,
1959                            isInside: u !== P.NONE && u !== P.L && u !== P.R,
1960                            x: c,
1961                            y: d,
1962                            fullWidth: r,
1963                            rawDistance: r - c,
1964                            distance: h,
1965                            page: f,
1966                            drag: g,
1967                            foldSense: this.foldSense,
1968                            event: n,
1969                            raw: l,
1970                            corner: u,
1971                        }
1972                    );
1973                }),
1974                (o.prototype.gotoPage = function (e) {
1975                    (e = parseInt(e, 10)), (this._activePage = e), 1 == this.autoPlay && this.previewObject.setAutoPlay(this.autoPlay), this.updatePage(e), this && this.thumblist && this.thumblist.review && this.thumblist.review();
1976                }),
1977                (o.prototype.refresh = function () {
1978                    this.updatePage(this._activePage), null != this.flipCallback && this.flipCallback();
1979                }),
1980                (o.prototype.updatePage = function (n) {
1981                    var i = this.direction == e.DIRECTION.RTL,
1982                        o = M(this),
1983                        a = (L(n), o ? 1 : 2);
1984                    (n = Math.floor(n / a)), i && (n = this.pageCount / a - n);
1985                    var s = this.oldBaseNumber || 0,
1986                        l = this.pageCount / a,
1987                        c = this.stackCount,
1988                        d = Math.floor(c / 2);
1989                    s > n ? ((this.children[c - 1].skipFlip = !0), this.children.unshift(this.children.pop())) : s < n && ((this.children[0].skipFlip = !0), this.children.push(this.children.shift()));
1990                    for (var u = 0; u < c; u++) {
1991                        var h = this.children[u];
1992                        s !== n && null != h.currentTween && h.clearTween(!0);
1993                        var f,
1994                            g = h.side,
1995                            m = n - d + u;
1996                        i && (m = o ? this.pageCount - m : Math.floor(this.pageCount / 2) - m - 1);
1997                        var v = h.name;
1998                        (h.isHard = this.isPageHard(m)),
1999                            h.isHard ? h.element.addClass("pdff-hard-page") : (h.element.removeClass("pdff-hard-page"), h.front.css({ display: "block" }), h.back.css({ display: "block" })),
2000                            0 == m || m == l ? h.element.addClass("pdff-cover-page") : h.element.removeClass("pdff-cover-page"),
2001                            t(h.element).attr("pageNumber") != m && (h.front.contentLayer.empty(), h.back.contentLayer.empty()),
2002                            t(h.element).attr("pageNumber", m),
2003                            (h.isEdge = !1),
2004                            0 == u || u == c - 1 || (h.isEdge = !1),
2005                            (f = u < d ? p.left : p.right),
2006                            0 == h.isFlipping &&
2007                                (f !== g && 0 == h.skipFlip
2008                                    ? (this.animatePage(h), null != this.preFlipCallback && this.preFlipCallback())
2009                                    : ((h.skipFlip = !1), h.element.removeClass("pdff-flipping pdff-quick-turn pdff-folding pdff-left-side pdff-right-side"), h.element.addClass(u < d ? "pdff-left-side" : "pdff-right-side"), (h.side = f))),
2010                            (h.visible = o ? (i ? u < d || h.isFlipping : u >= d || h.isFlipping) : (m >= 0 && m < l) || (o && m == l)),
2011                            null != this.requestPage &&
2012                                1 == h.visible &&
2013                                ((h.name = m.toString()),
2014                                h.name != v &&
2015                                    ((h.backTextureLoaded = !1),
2016                                    (h.frontTextureLoaded = !1),
2017                                    (h.backPageStamp = "-1"),
2018                                    (h.frontPageStamp = "-1"),
2019                                    (h.thumbLoaded = !1),
2020                                    h.front.contentLayer.html(""),
2021                                    h.back.contentLayer.html(""),
2022                                    h.frontImage(r.textureLoadFallback),
2023                                    h.backImage(r.textureLoadFallback),
2024                                    this.requestPage())),
2025                            (h.oldDepth = h.depth),
2026                            h.updateCSS({ display: 1 == h.visible ? "block" : "none", zIndex: 6 + (u < d ? u - d : d - u), transform: "" }),
2027                            null == h.pendingPoint && 0 == h.isFlipping && h.resetCSS();
2028                    }
2029                    0 == TWEEN.getAll().length && clearInterval(this.animate), t(".quick-hint").html(n), (this.oldBaseNumber = n), this.updatePageCallback && this.updatePageCallback();
2030                }),
2031                (o.prototype.animatePage = function (e) {
2032                    e.element.addClass("pdff-flipping"), (e.isFlipping = !0), null != this.animate && clearInterval(this.animate), (this.animate = setInterval(this.animateF, 30)), e.tween(e.pendingPoint);
2033                }),
2034                o
2035            );
2036        })(),
2037        V = (function (n) {
2038            function i(i, o, a) {
2039                n.call(this, a);
2040                var r = this;
2041                (r.type = "FlipBook"),
2042                    (r.container = i),
2043                    (r.options = a),
2044                    (r.options.source = o),
2045                    (r.contentSource = o),
2046                    null != a.height && a.height.toString().indexOf("%") < 0 ? r.container.height(Math.min(a.height, t(window).height())) : r.container.height(a.height),
2047                    r.options.isLightBox && window.dfLightBox.closeButton.addClass(r.options.icons.close),
2048                    r.options.pageSize == e.PAGE_SIZE.DOUBLEINTERNAL &&
2049                        ((Array === r.contentSource.constructor || Array.isArray(r.contentSource) || r.contentSource instanceof Array) && (r.options.singlePageMode = e.SINGLE_PAGE_MODE.ZOOM), r.container.addClass("pdff-double-internal")),
2050                    r.options.isLightBox || null == r.container.attr("id") || (r.options.id = r.container.attr("id")),
2051                    !0 !== r.options.parsed && null != r.options.links && e.parseLinks(r.options.links);
2052                var s = (r.webgl = 1 == a.webgl && 1 == z);
2053                if (
2054                    (i.addClass("pdff-container pdff-loading pdff-init pdff
2054-floating pdff-controls-" + r.options.controlsPosition),
2055                    1 == r.options.transparent && i.addClass("pdff-transparent"),
2056                    r.options.direction == e.DIRECTION.RTL && i.addClass("pdff-rtl"),
2057                    (r.container.info = t(f.div, { class: "loading-info" }).appendTo(r.container).html("Loading...")),
2058                    (-1 !== c.indexOf("MSIE") || navigator.appVersion.indexOf("Trident/") > 0 || (N && !A)) && (r.options.webgl = !1),
2059                    c.match(/msie\s[5-9]/i))
2060                )
2061                    return (
2062                        r.container.info.html("Your browser (Internet Explorer) is out of date to run pdfflip Flipbook Plugin. <br><a href='http://browsehappy.com/'>Upgrade to a new one</a>").addClass("pdff-old-browser"),
2063                        i.removeClass("pdff-loading"),
2064                        r
2065                    );
2066                var l = null == a.backgroundImage || "" == a.backgroundImage ? "" : "url('" + a.backgroundImage + "')";
2067                return r.container.css({ position: "relative", overflow: "hidden", backgroundColor: a.backgroundColor, backgroundImage: l }), r.init(s, o), null != r.options.onCreate && r.options.onCreate(r), r;
2068            }
2069            return (
2070                B(i, n),
2071                (i.prototype.init = function (n) {
2072                    var i,
2073                        o,
2074                        a = this,
2075                        s = a.target,
2076                        l = a.options;
2077                    1 == n
2078                        ? ((i = function () {
2079                              a.container.css({ minHeight: 300, minWidth: 300 }),
2080                                  (a.stage = new _(T(a.options, { container: a.container }))),
2081                                  (a.stage.previewObject = a),
2082                                  (a.contentProvider = new H(
2083                                      a.contentSource,
2084                                      function (i) {
2085                                          var o = { pageCount: i.pageCount, stackCount: 6, segments: 20, width: i.bookSize.width, height: i.bookSize.height };
2086                                          a.checkOpenPage(),
2087                                              (a.target = s = a.stage.target = new MOCKUP.Book(T(a.options, o), a.stage)),
2088                                              a.extendtarget(),
2089                                              j(a.container, a),
2090                                              (s.ui = a.ui),
2091                                              (s.container = a.container),
2092                                              (i.webgl = n),
2093                                              i.setTarget(a.target),
2094                                              (s.getContentLayer = function (t) {
2095                                                  var n = s.direction == e.DIRECTION.RTL,
2096                                                      i = a.stage.cssScene.divLeft.element,
2097                                                      o = a.stage.cssScene.divRight.element;
2098                                                  return L(s._activePage), M(s) ? (n ? i : o) : t % 2 == 0 ? (n ? o : i) : n ? i : o;
2099                                              }),
2100                                              (s.stage = a.stage),
2101                                              (s.flipCallback = function () {
2102                                                  if (a.contentProvider) {
2103                                                      a.contentProvider.review("flipCallback");
2104                                                      var n,
2105                                                          i,
2106                                                          o = L(s._activePage),
2107                                                          r = s.getPageByNumber(o),
2108                                                          l = s.getPageByNumber(o + 1),
2109                                                          c = s.parent.cssScene.divLeft,
2110                                                          d = s.parent.cssScene.divRight;
2111                                                      s.pageMode,
2112                                                          e.PAGE_MODE.SINGLE,
2113                                                          s.direction,
2114                                                          e.DIRECTION.RTL,
2115                                                          null != r &&
2116                                                              null != c &&
2117                                                              ((n = Math.abs(r.geometry.boundingBox.max.x - r.geometry.boundingBox.min.x)),
2118                                                              (i = Math.abs(r.geometry.boundingBox.max.z - r.geometry.boundingBox.min.z)),
2119                                                              (c.rotation.y = 0.9 * -Math.atan2(i, n)),
2120                                                              (c.position.z = 0.8 * i),
2121                                                              (c.position.x = i / 2.5),
2122                                                              t(c.element).css({ width: n, left: -n / 2 })),
2123                                                          null != l &&
2124                                                              null != d &&
2125                                                              ((n = Math.abs(l.geometry.boundingBox.max.x - l.geometry.boundingBox.min.x)),
2126                                                              (i = Math.abs(l.geometry.boundingBox.max.z - l.geometry.boundingBox.min.z)),
2127                                                              (d.rotation.y = 0.9 * Math.atan2(i, n)),
2128                                                              (d.position.z = 0.8 * i),
2129                                                              (d.position.x = -i / 2.5),
2130                                                              t(d.element).css({ width: n, left: n / 2 })),
2131                                                          null != a.options.onFlip && a.options.onFlip(a);
2132                                                  }
2133                                              }),
2134                                              (s.resize = void a.resize()),
2135                                              (s.updatePageCallback = function () {
2136                                                  a.ui.update(), a.checkCenter(), (a.stage.renderRequestPending = !0);
2137                                              });
2138                                          var r = t(a.stage.cssScene.divLeft.element),
2139                                              l = t(a.stage.cssScene.divRight.element);
2140                                          (s.preFlipCallback = function () {
2141                                              r.empty(), l.empty(), null != a.options.beforeFlip && a.options.beforeFlip(a), a.playSound();
2142                                          }),
2143                                              t(window).trigger("resize"),
2144                                              r.css({ width: i.bookSize.width, height: i.bookSize.height, left: -i.bookSize.width / 2 }),
2145                                              l.css({ width: i.bookSize.width, height: i.bookSize.height, left: i.bookSize.width / 2 }),
2146                                              (s.ease = TWEEN.Easing.Cubic.InOut),
2147                                              (s.contentProvider = i),
2148                                              (s.duration = a.options.duration),
2149                                              s.gotoPage(s._activePage),
2150                                              s.flipCallback(),
2151                                              null != a.options.onReady && a.options.onReady(a);
2152                                      },
2153                                      l,
2154                                      a
2155                                  ));
2156                          }),
2157                          (o = function () {
2158                              (MOCKUP.defaults.anisotropy = 0),
2159                                  (MOCKUP.defaults.groundTexture = "blank"),
2160                                  (THREE.skipPowerOfTwo = !0),
2161                                  (function () {
2162                                      (_ = (function (e) {
2163                                          function n(n) {
2164                                              n = n || {};
2165                                              var i = this;
2166                                              e.call(this, n),
2167                                                  (i.options = n),
2168                                                  (i.canvas = t(i.renderer.domElement).addClass("pdff-3dcanvas")),
2169                                                  (i.container = n.container),
2170                                                  i.container.append(i.canvas),
2171                                                  (i.type = "PreviewStage"),
2172                                                  (i.mouse = new THREE.Vector2()),
2173                                                  (i.raycaster = new THREE.Raycaster()
2173),
2174                                                  i.camera.position.set(0, 20, 600),
2175                                                  i.camera.lookAt(new THREE.Vector3(0, 0, 0)),
2176                                                  i.spotLight.position.set(-220, 330, 550),
2177                                                  (i.spotLight.castShadow = !F && n.webglShadow),
2178                                                  i.spotLight.shadow && (i.spotLight.shadow.bias = -8e-4),
2179                                                  (i.spotLight.intensity = g(n.spotLightIntensity, r.spotLightIntensity)),
2180                                                  (i.ambientLight.color = new THREE.Color(g(n.ambientLightColor, r.ambientLightColor))),
2181                                                  (i.ambientLight.intensity = g(n.ambientLightIntensity, r.ambientLightIntensity));
2182                                              var o = new THREE.ShadowMaterial();
2183                                              (o.opacity = g(n.shadowOpacity, r.shadowOpacity)),
2184                                                  (i.ground.material = o),
2185                                                  (i.ground.position.z = -2),
2186                                                  (i.orbitControl.maxAzimuthAngle = 0),
2187                                                  (i.orbitControl.minAzimuthAngle = 0),
2188                                                  (i.orbitControl.minPolarAngle = 1.57),
2189                                                  (i.orbitControl.maxPolarAngle = 1.57),
2190                                                  (i.orbitControl.mouseButtons.ORBIT = THREE.MOUSE.RIGHT),
2191                                                  (i.orbitControl.mouseButtons.PAN = -1),
2192                                                  (i.orbitControl.maxDistance = 5e3),
2193                                                  (i.orbitControl.minDistance = 50),
2194                                                  (i.orbitControl.noZoom = !0),
2195                                                  (i.selectiveRendering = !0),
2196                                                  (i.orbitControl.zoomSpeed = 5),
2197                                                  (i.orbitControl.keyPanSpeed = 0),
2198                                                  i.orbitControl.center.set(0, 0, 0),
2199                                                  i.orbitControl.update(),
2200                                                  (i.swipe_threshold = F ? 15 : 20);
2201                                              var a = (i.cssRenderer = new THREE.CSS3DRenderer());
2202                                              t(a.domElement).css({ position: "absolute", top: 0, pointerEvents: "none" }).addClass("pdff-3dcanvas pdff-csscanvas"), i.container[0].appendChild(a.domElement);
2203                                              var s = (i.cssScene = new THREE.Scene()),
2204                                                  l = document.createElement("div");
2205                                              l.className = "pdff-page-content pdff-page-content-left";
2206                                              var c = document.createElement("div");
2207                                              c.className = "pdff-page-content pdff-page-content-right";
2208                                              var u = (s.divLeft = new THREE.CSS3DObject(l)),
2209                                                  p = (s.divRight = new THREE.CSS3DObject(c));
2210                                              function f() {
2211                                                  i.renderRequestPending = !0;
2212                                              }
2213                                              s.add(u),
2214                                                  s.add(p),
2215                                                  (i.resizeCallback = function () {
2216                                                      a.setSize(i.canvas.width(), i.canvas.height());
2217                                                  }),
2218                                                  window.addEventListener(h.move, f, !1),
2219                                                  window.addEventListener("keyup", f, !1),
2220                                                  (i.dispose = function () {
2221                                                      i.clearChild(),
2222                                                          i.render(),
2223                                                          window.removeEventListener(h.move, f, !1),
2224                                                          1 == i.options.scrollWheel && (i.renderer.domElement.removeEventListener("mousewheel", m, !1), i.renderer.domElement.removeEventListener("DOMMouseScroll", m, !1)),
2225                                                          window.removeEventListener("keyup", f, !1),
2226                                                          i.renderer.domElement.removeEventListener("mousemove", v, !1),
2227                                                          i.renderer.domElement.removeEventListener("touchmove", v, !1),
2228                                                          i.renderer.domElement.removeEventListener("mousedown", b, !1),
2229                                                          i.renderer.domElement.removeEventListener("touchstart", b, !1),
2230                                                          i.renderer.domElement.removeEventListener("mouseup", w, !1),
2231                                                          i.renderer.domElement.removeEventListener("touchend", w, !1),
2232                                                          i.canvas.remove(),
2233                                                          a.domElement.parentNode.removeChild(a.domElement),
2234                                                          (a = null),
2235                                                          (i.renderCallback = null),
2236                                                          (i.renderCallback = null),
2237                                                          i.orbitControl.dispose(),
2238                                                          (i.orbitControl = null),
2239                                                          i.renderer.dispose(),
2240                                                          i.cancelRAF();
2241                                                  }),
2242                                                  (i.renderCallback = function () {
2243                                                      TWEEN.getAll().length > 0 && (i.renderRequestPending = !0), TWEEN.update(), a.render(s, i.camera);
2244                                                  });
2245                                              var m = function (e) {
2246                                                      var t = 0;
2247                                                      if ((null != e.wheelDelta ? (t = e.wheelDelta) : null != e.detail && (t = -e.detail), t)) {
2248                                                          var n = i.previewObject.contentProvider.zoomScale;
2249                                                          ((t > 0 && 1 == n) || (t < 0 && n > 1)) && e.preventDefault(), i.previewObject.zoom(t > 0 ? 1 : -1);
2250                                                      }
2251                                                      f();
2252                                                  },
2253                                                  v = function (e) {
2254                                                      if (
2255                                                          ((i.renderRequestPending = !0),
2256                                                          (e = I(e)),
2257                                                          i.isMouseDown && 0 != e.movementX && 0 != e.movementY && (i.isMouseMoving = !0),
2258                                                          null != e.touches && 2 == e.touches.length && null != i.startTouches)
2259                                                      ) {
2260                                                          i.zoomDirty = !0;
2261                                                          var t = d.getVectorAvg(d.getTouches(e, i.container.offset())),
2262                                                              n = d.calculateScale(i.startTouches, d.getTouches(e));
2263                                                          return i.lastScale, i.previewObject.contentProvider.zoomScale, t.x, t.y, (i.camera.position.z = i.originalZ / n), (i.lastScale = n), (i.lastZoomCenter = t), void e.preventDefault();
2264                                                      }
2265                                                      if (1 == i.isMouseDown && 1 == i.previewObject.contentProvider.zoomScale) {
2266                                                          var o = e.pageX - i.lastPos;
2267                                                          performance.now(),
2268                                                              i.lastTime,
2269                                                              Math.abs(o) > i.swipe_threshold && (o < 0 ? i.target.next() : i.target.prev(), e.preventDefault(), (i.isMouseDown = !1)),
2270                                                              (i.lastPos 
2270= e.pageX),
2271                                                              (i.lastTime = performance.now());
2272                                                      }
2273                                                  },
2274                                                  b = function (e) {
2275                                                      null != (e = I(e)).touches && 2 == e.touches.length && null == i.startTouches && ((i.startTouches = d.getTouches(e)), (i.lastScale = 1), (i.originalZ = 1 * i.camera.position.z)),
2276                                                          document.activeElement.blur(),
2277                                                          (i.mouseValue = e.pageX + "," + e.pageY),
2278                                                          (i.isMouseMoving = !1),
2279                                                          (i.isMouseDown = !0),
2280                                                          (i.lastPos = e.pageX),
2281                                                          (i.lastTime = performance.now());
2282                                                  },
2283                                                  w = function (e) {
2284                                                      null != (e = I(e)).touches &&
2285                                                          0 == e.touches.length &&
2286                                                          (i.previewObject.contentProvider.zoomScale,
2287                                                          1 == i.zoomDirty &&
2288                                                              ((i.previewObject.contentProvider.zoomScale = d.limitAt(i.previewObject.contentProvider.zoomScale * i.lastScale, 1, i.previewObject.contentProvider.maxZoom)),
2289                                                              (i.previewObject.zoomValue = 1 * i.previewObject.contentProvider.zoomScale),
2290                                                              i.previewObject.resize(),
2291                                                              (i.zoomDirty = !1)),
2292                                                          (i.lastScale = null),
2293                                                          (i.startTouches = null)),
2294                                                          (null != e.touches && e.touches.length > 1) ||
2295                                                              (function (e) {
2296                                                                  if (((i.isMouseDown = !1), 0 !== e.button)) return this;
2297                                                                  var n = e.pageX + "," + e.pageY;
2298                                                                  if (i.isMouseMoving);
2299                                                                  else if (n == i.mouseValue) {
2300                                                                      (e = e || window.event), (e = t.event.fix(e));
2301                                                                      var o = i.mouse,
2302                                                                          a = i.raycaster;
2303                                                                      (o.x = (e.offsetX / i.canvas.innerWidth()) * 2 - 1), (o.y = 1 - (e.offsetY / i.canvas.innerHeight()) * 2), a.setFromCamera(o, i.camera);
2304                                                                      var r = a.intersectObjects(i.target instanceof MOCKUP.Bundle ? i.target.children : [i.target], !0);
2305                                                                      if (r.length > 0) {
2306                                                                          var s,
2307                                                                              l = 0;
2308                                                                          do {
2309                                                                              (s = null != r[l] ? r[l].object : null), l++;
2310                                                                          } while ((s instanceof THREE.BoxHelper || !(s instanceof MOCKUP.Paper) || 1 == s.isFlipping) && l < r.length);
2311                                                                          null != s.userData.object || (s.angles[1] > 90 ? 1 != s.isEdge && i.target.next() : 1 != s.isEdge && i.target.prev());
2312                                                                      }
2313                                                                  }
2314                                                              })(e);
2315                                                  };
2316                                              return (
2317                                                  i.renderer.domElement.addEventListener("mousemove", v, !1),
2318                                                  i.renderer.domElement.addEventListener("touchmove", v, !1),
2319                                                  i.renderer.domElement.addEventListener("mousedown", b, !1),
2320                                                  i.renderer.domElement.addEventListener("touchstart", b, !1),
2321                                                  i.renderer.domElement.addEventListener("mouseup", w, !1),
2322                                                  i.renderer.domElement.addEventListener("touchend", w, !1),
2323                                                  1 == i.options.scrollWheel && (i.renderer.domElement.addEventListener("mousewheel", m, !1), i.renderer.domElement.addEventListener("DOMMouseScroll", m, !1)),
2324                                                  t(i.renderer.domElement).css({ display: "block" }),
2325                                                  t(window).trigger("resize"),
2326                                                  this
2327                                              );
2328                                          }
2329                                          return (
2330                                              B(n, e),
2331                                              (n.prototype.width = function () {
2332                                                  return this.container.width();
2333                                              }),
2334                                              (n.prototype.height = function () {
2335                                                  return this.container.height();
2336                                              }),
2337                                              n
2338                                          );
2339                                      })(MOCKUP.Stage)),
2340                                          (MOCKUP.PreviewStage = _);
2341                                      var n = (function (t) {
2342                                          function n(e, n) {
2343                                              ((e = e || {}).folds = 1),
2344                                                  t.call(this, e, n),
2345                                                  (this.angle = 0),
2346                                                  (this.isFlipping = !1),
2347                                                  (this.material.materials[5].transparent = !0),
2348                                                  (this.material.materials[4].transparent = !0),
2349                                                  (this.type = "BookPaper");
2350                                          }
2351                                          return (
2352                                              B(n, t),
2353                                              (n.prototype.tween = function (t, n) {
2354                                                  var i = this;
2355                                                  i.originalStiff = i.stiffness;
2356                                                  var o = i.newStiffness,
2357                                                      a = M(i.parent),
2358                                                      r = n - t,
2359                                                      s = t > 90,
2360                                                      l = i.parent.direction == e.DIRECTION.RTL;
2361                                                  (i.init = { angle: t, angle2: t < 90 ? 0 : 180, stiff: i.originalStiff, index: (s && !l) || (!s && l) ? 1 : 0 }),
2362                                                      (i.first = { angle: t + r / 4, angle2: 90, stiff: i.originalStiff, index: (s && !l) || (!s && l) ? 1 : 0.25 }),
2363                                                      (i.mid = { angle: t + (2 * r) / 4, angle2: t < 90 ? 135 : 45, stiff: i.newStiffness, index: 0.5 }),
2364                                                      (i.mid2 = { angle: t + (3 * r) / 4, angle2: t < 90 ? 180 : 0, stiff: i.newStiffness, index: (s && !l) || (!s && l) ? 0.25 : 1 }),
2365                                                      (i.end = { angle: n, angle2: t < 90 ? 180 : 0, stiff: i.newStiffness, index: (s && !l) || (!s && l) ? 0 : 1 }),
2366                                                      (i.isFlipping = !0),
2367                                                      a && ((!s && !l) || (s && l)) && ((i.material.materials[5].opacity = i.material.materials[4].opacity = 0), (i.castShadow = !1)),
2368                                                      (i.currentTween = new TWEEN.Tween(i.init)
2369                                                          .to(
2370                                                              {
2371                                                                  angle: [i.first.angle, i.mid.angle, i.mid2.angle, i.end.angle],
2372                                                                  angle2: [i.first.angle2, i.mid.angle2, i.mid2.angle2, i.end.angle2],
2373                                                                  stiff: [i.first.stiff, i.mid.stiff, i.mid2.stiff, i.end.stiff],
2374                                                                  index: [i.first.index, i.mid.index, i.mid2.index, i.end.index],
2375                                                              },
2376                                                              i.parent.duration
2377                                                          )
2378                                                          .onUpdate(function (e) {
2379                                                              var t;
2380                                                              (t = this),
2381                                                                  (i.angles[1] = t.angle),
2382                                                                  (i.angles[4] = i.isHard ? t.angle : t.angle2),
2383                                                                  1 == i.isHard ? (i.stiffness = 0) : ((i.stiffness = (t.stiff / (o + 1e-5)) * (i.newStiffness + 1e-5)), (i.stiffness = isNaN(i.stiffness) ? 0 : t.stiff)),
2384                                                                  a && ((i.material.materials[5].opacity = i.material.materials[4].opacity = t.index), (i.castShadow = t.index > 0.5)),
2385                                                                  i.updateAngle(!0);
2386                                                          })
2387                                                          .easing(TWEEN.Easing.Sinusoidal.Out)
2388                                                          .onComplete(function (e) {
2389                                                              (i.stiffness = i.newStiffness),
2390                                                                  i.updateAngle(),
2391                                                                  (i.material.materials[5].opacity = i.material.materials[4].opacity = 1),
2392                                                                  (i.castShadow = !0),
2393                                                                  (i.isFlipping = !1),
2394                                                                  i.parent && i.parent.refresh && i.parent.refresh();
2395                                                          })
2396                                                          .start());
2397                                              }),
2398                                              n
2399                                          );
2400                                      })(MOCKUP.FlexBoxPaper);
2401                                      MOCKUP.BookPaper = n;
2402                                      var i = (function (t) {
2403                                          function n(n, i) {
2404                                              ((n = n || {}).segments = n.segments || 50),
2405                                                  (this.pageCount = n.pageCount),
2406                                                  (this.height = n.height),
2407                                                  (this.width = n.width),
2408                                                  (this.pageCount = 1 == this.pageCount ? this.pageCount : 2 * Math.ceil(this.pageCount / 2)),
2409                                                  (this.direction = n.direction || e.DIRECTION.LTR),
2410                                                  (this.startPage = 1),
2411                                                  (this.endPage = this.pageCount),
2412                                                  (this.stackCount = n.stackCount || 6),
2413                                                  (this.materials = []),
2414                                                  t.call(this, n, i),
2415                                                  (this.angles = [0, 0, 0, 0, 0, 0]),
2416                                                  (this.stiffness = null == n.stiffness ? 1.5 : n.stiffness),
2417                                                  (this.hardConfig = n.hard),
2418                                                  (this._activePage = n.openPage || this.startPage),
2419                                                  this.createStack(n),
2420                                                  (this.pageMode = n.pageMode || (F || this.pageCount <= 2 ? e.PAGE_MODE.SINGLE : e.PAGE_MODE.DOUBLE)),
2421                                                  (this.singlePageMode = n.singlePageMode || (F ? e.SINGLE_PAGE_MODE.BOOKLET : e.SINGLE_PAGE_MODE.ZOOM)),
2422                                                  (this.type = "Book");
2423                                          }
2424                                          return (
2425                                              B(n, t),
2426                                              (n.prototype.getPageByNumber = function (e) {
2427                                                  var t = M(this) ? (D(this) ? e + 1 : e) : Math.floor((e - 1) / 2);
2428                                                  return this.getObjectByName(t.toString());
2429                                              }),
2430                                              (n.prototype.isPageHard = function (e) {
2431                                                  return d.isHardPage(this.hardConfig, e, this.pageCount);
2432                                              }),
2433                                              (n.prototype.activePage = function (e) {
2434                                                  if (null == e) return this._activePage;
2435                                                  this.gotoPage(e);
2436                                              }),
2437                                              (n.prototype.gotoPage = function (e) {
2438                                                  (e = parseInt(e, 10)),
2439                                                      (this._activePage = e),
2440                                                      1 == this.autoPlay && this.previewObject.setAutoPlay(this.autoPlay),
2441                                                      this.updatePage(e),
2442                                                      this && this.thumblist && this.thumblist.review && this.thumblist.review();
2443                                              }),
2444                                              (n.prototype.moveBy = function (e) {
2445                                                  var t = this._activePage 
2445+ e;
2446                                                  (t = P(t, this.startPage, this.endPage)), this.gotoPage(t);
2447                                              }),
2448                                              (n.prototype.next = function (t) {
2449                                                  null == t && (t = this.direction == e.DIRECTION.RTL ? -this.pageMode : this.pageMode), this.moveBy(t);
2450                                              }),
2451                                              (n.prototype.prev = function (t) {
2452                                                  null == t && (t = this.direction == e.DIRECTION.RTL ? this.pageMode : -this.pageMode), this.moveBy(t);
2453                                              }),
2454                                              (n.prototype.updateAngle = function () {
2455                                                  for (var e = this.angles[1], t = this.angles[4] - e, n = this.stackCount, i = 0; i < n; i++) {
2456                                                      var o = this.children[i];
2457                                                      (o.angles[1] = e + (i * t) / (100 * n)), (o.stiffness = this.stiffness), o.updateAngle();
2458                                                  }
2459                                              }),
2460                                              (n.prototype.refresh = function () {
2461                                                  this.updatePage(this._activePage), null != this.flipCallback && this.flipCallback();
2462                                              }),
2463                                              (n.prototype.updatePage = function (t) {
2464                                                  var n = this.direction == e.DIRECTION.RTL,
2465                                                      i = M(this),
2466                                                      o = (L(t), i ? 1 : 2);
2467                                                  (t = Math.floor(t / o)), n && (t = this.pageCount / o - t);
2468                                                  var a = this.oldBaseNumber || 0,
2469                                                      s = this.pageCount / o,
2470                                                      l = this.stackCount,
2471                                                      c = i ? 0 : (0.5 - Math.abs(s / 2 - t) / s) / this.stiffness,
2472                                                      d = Math.floor(l / 2),
2473                                                      u = !1;
2474                                                  a > t ? ((u = !0), (this.children[l - 1].skipFlip = !0), this.children.unshift(this.children.pop())) : a < t && ((this.children[0].skipFlip = !0), this.children.push(this.children.shift()));
2475                                                  for (var p = 5 / s, h = (p * t) / 2, f = (p * (s - t)) / 2, g = h < f ? f : h, m = 0; m < l; m++) {
2476                                                      var v,
2477                                                          b = this.children[m],
2478                                                          w = (b.color, b.angles[1]),
2479                                                          y = t - d + m;
2480                                                      n && (y = i ? this.pageCount - y : Math.floor(this.pageCount / 2) - y - 1);
2481                                                      var P = (b.isHard = this.isPageHard(y)),
2482                                                          x = b.name;
2483                                                      (b.isEdge = !1),
2484                                                          0 == m ? (b.depth = h < 0.4 ? 0.4 : h) : m == l - 1 ? (b.depth = f < 0.4 ? 0.4 : f) : ((b.depth = 0.4), (b.isEdge = !1)),
2485                                                          1 == b.isFlipping && (b.depth = 0.4),
2486                                                          (b.position.x = 0);
2487                                                      var C = 0.02 * m,
2488                                                          E = 180 - 0.02 * (m - d) + 0.02 * m;
2489                                                      if (
2490                                                          (m < d
2491                                                              ? ((b.newStiffness = P || 0 == this.stiffness ? 0 : c / (t / s) / 4), (v = C), (b.position.z = g - 0.4 * (-m + d)), 1 == u && (b.position.z -= 0.4))
2492                                                              : ((v = E), (b.newStiffness = P || 0 == this.stiffness ? 0 : c / (Math.abs(s - t) / s) / 4), (b.position.z = g - 0.4 * (-l + m + d + 1) 
2492- b.depth)),
2493                                                          0 == b.isFlipping)
2494                                                      )
2495                                                          if (Math.abs(w - v) > 20 && 0 == b.skipFlip) {
2496                                                              b.depth = 0.4;
2497                                                              var S = b.stiffness;
2498                                                              (S = w > v ? c / (Math.abs(s - t) / s) / 4 : c / (t / s) / 4),
2499                                                                  (b.position.z += 0.4),
2500                                                                  (b.stiffness = isNaN(S) ? b.stiffness : S),
2501                                                                  b.updateAngle(!0),
2502                                                                  (b.targetStiffness = P ? 0 : m < t ? c / (Math.abs(s - t) / s) / 4 : c / (t / s) / 4),
2503                                                                  (b.targetStiffness = P ? 0 : isNaN(b.targetStiffness) ? b.stiffness : b.targetStiffness),
2504                                                                  (b.isFlipping = !0),
2505                                                                  b.tween(w, v),
2506                                                                  null != this.preFlipCallback && this.preFlipCallback();
2507                                                          } else
2508                                                              (b.skipFlip = !1),
2509                                                                  (b.newStiffness = isNaN(b.newStiffness) ? 0 : b.newStiffness),
2510                                                                  (b.angles[1] == v && b.stiffness == b.newStiffness && b.depth == b.oldDepth) || ((b.angles[1] = b.angles[4] = v), (b.stiffness = b.newStiffness), b.updateAngle(!0));
2511                                                      (b.visible = i ? (n ? m < d || b.isFlipping : m >= d || b.isFlipping) : (y >= 0 && y < s) || (i && y == s)),
2512                                                          null != this.requestPage &&
2513                                                              1 == b.visible &&
2514                                                              ((b.name = y.toString()),
2515                                                              b.name != x &&
2516                                                                  ((b.textureLoaded = !1),
2517                                                                  b.frontImage(r.textureLoadFallback),
2518                                                                  (b.frontPageStamp = "-1"),
2519                                                                  (b.frontTextureLoaded = !1),
2520                                                                  (b.thumbLoaded = !1),
2521                                                                  b.backImage(r.textureLoadFallback),
2522                                                                  (b.backPageStamp = "-1"),
2523                                                                  (b.backTextureLoaded = !1),
2524                                                                  this.requestPage())),
2525                                                          (b.oldDepth = b.depth);
2526                                                      var k = Math.abs(b.geometry.boundingBox.max.x) < Math.abs(b.geometry.boundingBox.min.x) ? b.geometry.boundingBox.max.x : b.geometry.boundingBox.min.x;
2527                                                      b.position.x = 1 == b.isEdge && 0 == b.isFlipping ? (m < d ? k : -k) : 0;
2528                                                  }
2529                                                  (this.oldBaseNumber = t), null != this.updatePageCallback && this.updatePageCallback();
2530                                              }),
2531                                              (n.prototype.createCover = function (e) {
2532                                                  (e.width = 2 * e.width), (this.cover = new MOCKUP.BiFold(e)), this.add(this.cover);
2533                                              }),
2534                                              (n.prototype.createStack = function (e) {
2535                                                  for (var t = "red,green,blue,yellow,orange,black".split(","), n = 0; n < this.stackCount; n++) {
2536                                                      (e.angles = [, this.stackCount - n]), (e.stiffness = (this.stackCount - n) / 100);
2537                                                      var i = new MOCKUP.BookPaper(e);
2538                                                      (i.angles[1] = 180), (i.index = n), i.updateAngle(), (i.textureReady = !1), (i.textureRequested = !1), this.add(i), (i.color = t[n]), (i.position.z = -1 * n);
2539                                                  }
2540                                              }),
2541                                              (n.prototype.shininess = function (e) {
2542                                                  if (null == e) return this.mainObject.
2542shininess();
2543                                                  this.mainObject.shininess(e);
2544                                              }),
2545                                              (n.prototype.bumpScale = function (e) {
2546                                                  if (null == e) return this.mainObject.bumpScale();
2547                                                  this.mainObject.bumpScale(e);
2548                                              }),
2549                                              (n.prototype.frontImage = function (e) {
2550                                                  if (null == e) return this.mainObject.frontImage();
2551                                                  this.mainObject.frontImage(e);
2552                                              }),
2553                                              (n.prototype.backImage = function (e) {
2554                                                  if (null == e) return this.mainObject.backImage();
2555                                                  this.mainObject.backImage(e);
2556                                              }),
2557                                              n
2558                                          );
2559                                      })(MOCKUP.Bundle);
2560                                      MOCKUP.Book = i;
2561                                  })(),
2562                                  null != i && i();
2563                          }),
2564                          null == window.MOCKUP
2565                              ? (a.updateInfo("Loading Interface ..."),
2566                                "function" == typeof define && define.amd
2567                                    ? (requirejs.config({ paths: { three: r.threejsSrc.replace(".js", "") }, shim: { three: { exports: "THREE" } } }),
2568                                      require(["three"], function (t) {
2569                                          return (
2570                                              (window.THREE = t),
2571                                              O(r.utilsSrc + "?ver=" + e.version, function () {
2572                                                  o();
2573                                              }),
2574                                              t
2575                                          );
2576                                      }))
2577                                    : O(r.threejsSrc + "?ver=" + e.version, function () {
2578                                          O(r.utilsSrc + "?ver=" + e.version, function () {
2579                                              o();
2580                                          });
2581                                      }))
2582                              : o())
2583                        : (a.contentProvider = new H(
2584                              a.contentSource,
2585                              function (e) {
2586                                  var i = { pageCount: e.pageCount, contentSourceType: e.contentSourceType };
2587                                  a.checkOpenPage(),
2588                                      (a.target = s = new G(T(a.options, i), a.container)),
2589                                      (a.target.previewObject = a),
2590                                      a.extendtarget(),
2591                                      j(a.container, a),
2592                                      (e.webgl = n),
2593                                      e.setTarget(a.target),
2594                                      (e.waitPeriod = 2),
2595                                      (s.ease = TWEEN.Easing.Quadratic.InOut),
2596                                      (s.duration = a.options.duration),
2597                                      (s.container = a.container),
2598                                      (s.updatePageCallback = function () {
2599                                          a.ui.update(), a.checkCenter();
2600                                      }),
2601                                      (s.resize = void a.resize()),
2602                                      t(window).trigger("resize"),
2603                                      (s.flipCallback = function () {
2604                                          a.contentProvider && (a.contentProvider.review("flipCallback"), null != a.options.onFlip && a.options.onFlip(a));
2605                                      }),
2606                                      (s.preFlipCallback = function () {
2607                                          null != a.options.beforeFlip && a.options.beforeFlip(a), a.playSound();
2608                                      }),
2609                                      s.gotoPage(s._activePage),
2610                                      s.flipCallback(),
2611                                      null != a.options.onReady && a.options.onReady(a);
2612                              },
2613                              l,
2614                              a
2615                          ));
2616                }),
2617                (i.prototype.extendtarget = function () {
2618                    var e = this;
2619                    (e.target.previewObject = e),
2620                        (e.target.reset = function () {
2621                            for (var t = 0; t < e.target.children.length; t++) {
2622                                var n = e.target.children[t];
2623                                (n.skipFlip = !0), (n.name = "-2");
2624                            }
2625                            (e.contentProvider.annotedPage = "-2"), e.target.refresh();
2626                        });
2627                }),
2628                (i.prototype.getURLHash = function () {
2629                    if (null != this.options.id) {
2630                        var e = "pdfflip-" + (null != this.options.slug ? this.options.slug : this.options.id) + "/";
2631                        null != this.target && null != this.target._activePage && (e += this.target._activePage + "/"), (window.location.hash = e);
2632                    }
2633                    return window.location.href;
2634                }),
2635                (i.prototype.checkOpenPage = function () {
2636                    if (null != this.options.id) {
2637                        var e = t("#" + this.options.id);
2638                        if (e.length > 0 && null != e.data("page")) {
2639                            var n = parseInt(e.data("page"), 10);
2640                            isNaN(n) || (this.options.openPage = n);
2641                        }
2642                    }
2643                }),
2644                (i.prototype.end = function () {
2645                    this.target.gotoPage(this.target.endPage);
2646                }),
2647                (i.prototype.gotoPage = function (e) {
2648                    this.target.gotoPage(e), null != this.ui && this.ui.update();
2649                }),
2650                (i.prototype.prev = function () {
2651                    this.target.prev();
2652                }),
2653                (i.prototype.next = function () {
2654                    this.target.next();
2655                }),
2656                (i.prototype.updateInfo = function (e) {
2657                    this.container && this.container.info && this.container.info.html && this.container.info.html(e);
2658                }),
2659                i
2660            );
2661        })(U);
2662    t.fn.extend({
2663        shelf: function () {},
2664        flipBook: function (e, n) {
2665            return new V(t(this), e, ((i = n), t.extend(!0, {}, r, i)));
2666            var i;
2667        },
2668    });
2669})(pdfflip, jQuery),
2670    (function (e) {
2671        if (((e.URL = e.URL || e.webkitURL), e.Blob && e.URL))
2672            try {
2673                return void new Blob();
2674            } catch (e) {}
2675        var t =
2676            e.BlobBuilder ||
2677            e.WebKitBlobBuilder ||
2678            e.MozBlobBuilder ||
2679            (function (e) {
2680                var t = function (e) {
2681                        return Object.prototype.toString.call(e).match(/^\[object\s(.*)\]$/)[1];
2682                    },
2683                    n = function () {
2684                        this.data = [];
2685                    },
2686                    i = function (e, t, n) {
2687                        (this.data = e), (this.size = e.length), (this.type = t), (this.encoding = n);
2688                    },
2689                    o = n.prototype,
2690                    a = i.prototype,
2691                    r = e.FileReaderSync,
2692                    s = function (e) {
2693                        this.code = this[(this.name = e)];
2694                    },
2695                    l = "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),
2696                    c = l.length,
2697                    d = e.URL || e.webkitURL || e,
2698                    u = d.createObjectURL,
2699                    p = d.revokeObjectURL,
2700                    h = d,
2701                    f = e.btoa,
2702                    g = e.atob,
2703                    m = e.ArrayBuffer,
2704                    v = e.Uint8Array,
2705                    b = /^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;
2706                for (i.fake = a.fake = !0; c--; ) s.prototype[l[c]] = c + 1;
2707                return (
2708                    d.createObjectURL ||
2709                        (h = e.URL = function (e) {
2710                            var t,
2711                                n = document.createElementNS("http://www.w3.org/1999/xhtml", "a");
2712                            return (n.href = e), "origin" in n || ("data:" === n.protocol.toLowerCase() ? (n.origin = null) : ((t = e.match(b)), (n.origin = t && t[1]))), n;
2713                        }),
2714                    (h.createObjectURL = function (e) {
2715                        var t,
2716                            n = e.type;
2717                        return (
2718                            null === n && (n = "application/octet-stream"),
2719                            e instanceof i
2720                                ? ((t = "data:" + n), "base64" === e.encoding ? t + ";base64," + e.data : "URI" === e.encoding ? t + "," + decodeURIComponent(e.data) : f ? t + ";base64," + f(e.data) : t + "," + encodeURIComponent(e.data))
2721                                : u
2722                                ? u.call(d, e)
2723                                : void 0
2724                        );
2725                    }),
2726                    (h.revokeObjectURL = function (e) {
2727                        "data:" !== e.substring(0, 5) && p && p.call(d, e);
2728                    }),
2729                    (o.append = function (e) {
2730                        var n = this.data;
2731                        if (v && (e instanceof m || e instanceof v)) {
2732                            for (var o = "", a = new v(e), l = 0, c = a.length; l < c; l++) o += String.fromCharCode(a[l]);
2733                            n.push(o);
2734                        } else if ("Blob" === t(e) || "File" === t(e)) {
2735                            if (!r) throw new s("NOT_READABLE_ERR");
2736                            var d = new r();
2737                            n.push(d.readAsBinaryString(e));
2738                        } else
2739                            e instanceof i
2740                                ? "base64" === e.encoding && g
2741                                    ? n.push(g(e.data))
2742                                    : "URI" === e.encoding
2743                                    ? n.push(decodeURIComponent(e.data))
2744                                    : "raw" === e.encoding && n.push(e.data)
2745                                : ("string" != typeof e && (e += ""), n.push(unescape(encodeURIComponent(e))));
2746                    }),
2747                    (o.getBlob = function (e) {
2748                        return arguments.length || (e = null), new i(this.data.join(""), e, "raw");
2749                    }),
2750                    (o.toString = function () {
2751                        return "[object BlobBuilder]";
2752                    }),
2753                    (a.slice = function (e, t, n) {
2754                        var o = arguments.length;
2755                        return o < 3 && (n = null), new i(this.data.slice(e, o > 1 ? t : this.data.length), n, this.encoding);
2756                    }),
2757                    (a.toString = function () {
2758                        return "[object Blob]";
2759                    }),
2760                    (a.close = function () {
2761                        (this.size = 0), delete this.data;
2762                    }),
2763                    n
2764                );
2765            })(e);
2766        e.Blob = function (e, n) {
2767            var i = (n && n.type) || "",
2768                o = new t();
2769            if (e) for (var a = 0, r = e.length; a < r; a++) Uint8Array && e[a] instanceof Uint8Array ? o.append(e[a].buffer) : o.append(e[a]);
2770            var s = o.getBlob(i);
2771            return !s.slice && s.webkitSlice && (s.slice = s.webkitSlice), s;
2772        };
2773        var n =
2774            Object.getPrototypeOf ||
2775            function (e) {
2776                return e.__proto__;
2777            };
2778        e.Blob.prototype = n(new e.Blob());
2779    })(window),
2780    (function (e) {
2781        var t,
2782            n = e.Uint8Array,
2783            i = e.HTMLCanvasElement,
2784            o = i && i.prototype,
2785            a = /\s*;\s*base64\s*(?:;|$)/i,
2786            r = "toDataURL";
2787        n &&
2788            (t = new n([
2789                62,
2790                -1,
2791                -1,
2792                -1,
2793                63,
2794                52,
2795                53,
2796                54,
2797                55,
2798                56,
2799                57,
2800                58,
2801                59,
2802                60,
2803                61,
2804                -1,
2805                -1,
2806                -1,
2807                0,
2808                -1,
2809                -1,
2810                -1,
2811                0,
2812                1,
2813                2,
2814                3,
2815                4,
2816                5,
2817                6,
2818                7,
2819                8,
2820                9,
2821                10,
2822                11,
2823                12,
2824                13,
2825                14,
2826                15,
2827                16,
2828                17,
2829                18,
2830                19,
2831                20,
2832                21,
2833                22,
2834                23,
2835                24,
2836                25,
2837                -1,
2838                -1,
2839                -1,
2840                -1,
2841                -1,
2842                -1,
2843                26,
2844                27,
2845                28,
2846                29,
2847                30,
2848                31,
2849                32,
2850                33,
2851                34,
2852                35,
2853                36,
2854                37,
2855                38,
2856                39,
2857                40,
2858                41,
2859                42,
2860                43,
2861                44,
2862                45,
2863                46,
2864                47,
2865                48,
2866                49,
2867                50,
2868                51,
2869            ])),
2870            i &&
2871                !o.toBlob &&
2872                ((o.toBlob = function (e, i) {
2873                    if ((i || (i = "image/png"), this.mozGetAsFile)) e(this.mozGetAsFile("canvas", i));
2874                    else if (this.msToBlob && /^\s*image\/png\s*(?:$|;)/i.test(i)) e(this.msToBlob());
2875                    else {
2876                        var o,
2877                            s = Array.prototype.slice.call(arguments, 1),
2878                            l = this[r].apply(this, s),
2879                            c = l.indexOf(","),
2880                            d = l.substring(c + 1),
2881                            u = a.test(l.substring(0, c));
2882                        Blob.fake
2883                            ? (((o = new Blob()).encoding = u ? "base64" : "URI"), (o.data = d), (o.size = d.length))
2884                            : n &&
2885                              (o = u
2886                                  ? new Blob(
2887                                        [
2888                                            (function (e) {
2889                                                for (var i, o, a = e.length, r = new n(((a / 4) * 3) | 0), s = 0, l = 0, c = [0, 0], d = 0, u = 0; a--; )
2890                                                    (o = e.charCodeAt(s++)),
2891                                                        255 !== (i = t[o - 43]) &&
2892                                                            null != i &&
2893                                                            ((c[1] = c[0]), (c[0] = o), (u = (u << 6) | i), 4 == ++d && ((r[l++] = u >>> 16), 61 !== c[1] && (r[l++] = u >>> 8), 61 !== c[0] && (r[l++] = u), (d = 0)));
2894                                                return r;
2895                                            })(d),
2896                                        ],
2897                                        { type: i }
2898                                    )
2899                                  : new Blob([decodeURIComponent(d)], { type: i })),
2900                            e(o);
2901                    }
2902                }),
2903                o.toDataURLHD
2904                    ? (o.toBlobHD = function () {
2905                          r = "toDataURLHD";
2906                          var e = this.toBlob();
2907                          return (r = "toDataURL"), e;
2908                      })
2909                    : (o.toBlobHD = o.toBlob));
2910    })(window),
2911    (function () {
2912        if (
2913            ("performance" in window == 0 && (window.performance = {}),
2914            (Date.now =
2915                Date.now ||
2916                function () {
2917                    return new Date().getTime();
2918                }),
2919            "now" in window.performance == 0)
2920        ) {
2921            var e = window.performance.timing && window.performance.timing.navigationStart ? window.performance.timing.navigationStart : Date.now();
2922            window.performance.now = function () {
2923                return Date.now() - e;
2924            };
2925        }
2926    })(),
2927    (function () {
2928        var e,
2929            t,
2930            n =
2931                n ||
2932                ((e = []),
2933                {
2934                    getAll: function () {
2935                        return e;
2936                    },
2937                    removeAll: function () {
2938                        e = [];
2939                    },
2940                    add: function (t) {
2941                        e.push(t);
2942                    },
2943                    remove: function (t) {
2944                        var n = e.indexOf(t);
2945                        -1 !== n && e.splice(n, 1);
2946                    },
2947                    update: function (t) {
2948                        if (0 === e.length) return !1;
2949                        var n = 0;
2950                        for (t = null != t ? t : window.performance.now(); n < e.length; ) e[n].update(t) ? n++ : e.splice(n, 1);
2951                        return !0;
2952                    },
2953                });
2954        (n.Tween = function (e) {
2955            var t = e,
2956                i = {},
2957                o = {},
2958                a = {},
2959                r = 1e3,
2960                s = 0,
2961                l = !1,
2962                c = !1,
2963                d = !1,
2964                u = 0,
2965                p = null,
2966                h = n.Easing.Linear.None,
2967                f = n.Interpolation.Linear,
2968                g = [],
2969                m = null,
2970                v = !1,
2971                b = null,
2972                w = null,
2973                y = null;
2974            for (var P in e) i[P] = parseFloat(e[P], 10);
2975            (this.to = function (e, t) {
2976                return null != t && (r = t), (o = e), this;
2977            }),
2978                (this.start = function (e) {
2979                    n.add(this), (c = !0), (v = !1), (p = null != e ? e : window.performance.now()), (p += u);
2980                    for (var r in o) {
2981                        if (o[r] instanceof Array) {
2982                            if (0 === o[r].length) continue;
2983                            o[r] = [t[r]].concat(o[r]);
2984                        }
2985                        null !== i[r] && ((i[r] = t[r]), i[r] instanceof Array == 0 && (i[r] *= 1), (a[r] = i[r] || 0));
2986                    }
2987                    return this;
2988                }),
2989                (this.stop = function () {
2990                    return c ? (n.remove(this), (c = !1), null !== y && y.call(t), this.stopChainedTweens(), this) : this;
2991                }),
2992                (this.stopChainedTweens = function () {
2993                    for (var e = 0, t = g.length; e < t; e++) g[e].stop();
2994                }),
2995                (this.complete = function () {
2996                    return c ? (n.remove(this), (c = !1), null !== w && w.call(t), this.completeChainedTweens(), this) : this;
2997                }),
2998                (this.completeChainedTweens = function () {
2999                    for (var e = 0, t = g.length; e < t; e++) g[e].complete();
3000                }),
3001                (this.delay = function (e) {
3002                    return (u = e), this;
3003                }),
3004                (this.repeat = function (e) {
3005                    return (s = e), this;
3006                }),
3007                (this.yoyo = function (e) {
3008                    return (l = e), this;
3009                }),
3010                (this.easing = function (e) {
3011                    return (h = null == e ? h : e), this;
3012                }),
3013                (this.interpolation = function (e) {
3014                    return (f = e), this;
3015                }),
3016                (this.chain = function () {
3017                    return (g = arguments), this;
3018                }),
3019                (this.onStart = function (e) {
3020                    return (m = e), this;
3021                }),
3022                (this.onUpdate = function (e) {
3023                    return (b = e), this;
3024                }),
3025                (this.onComplete = function (e) {
3026                    return (w = e), this;
3027                }),
3028                (this.onStop = function (e) {
3029                    return (y = e), this;
3030                }),
3031                (this.update = function (e) {
3032                    var n, c, y;
3033                    if (e < p) return !0;
3034                    !1 === v && (null !== m && m.call(t), (v = !0)), (y = h((c = (c = (e - p) / r) > 1 ? 1 : c)));
3035                    for (n in o)
3036                        if (null !== i[n]) {
3037                            var P = i[n] || 0,
3038                                x = o[n];
3039                            x instanceof Array ? (t[n] = f(x, y)) : ("string" == typeof x && (x = x.startsWith("+") || x.startsWith("-") ? P + parseFloat(x, 10) : parseFloat(x, 10)), "number" == typeof x && (t[n] = P + (x - P) * y));
3040                        }
3041                    if ((null !== b && b.call(t, y), 1 === c)) {
3042                        if (s > 0) {
3043                            isFinite(s) && s--;
3044                            for (n in a) {
3045                                if (("string" == typeof o[n] && (a[n] = a[n] + parseFloat(o[n], 10)), l)) {
3046                                    var C = a[n];
3047                                    (a[n] = o[n]), (o[n] = C);
3048                                }
3049                                i[n] = a[n];
3050                            }
3051                            return l && (d = !d), (p = e + u), !0;
3052                        }
3053                        null !== w && w.call(t);
3054                        for (var E = 0, S = g.length; E < S; E++) g[E].start(p + r);
3055                        return !1;
3056                    }
3057                    return !0;
3058                });
3059        }),
3060            (n.Easing = {
3061                Linear: {
3062                    None: function (e) {
3063                        return e;
3064                    },
3065                },
3066                Quadratic: {
3067                    In: function (e) {
3068                        return e * e;
3069                    },
3070                    Out: function (e) {
3071                        return e * (2 - e);
3072                    },
3073                    InOut: function (e) {
3074                        return (e *= 2) < 1 ? 0.5 * e * e : -0.5 * (--e * (e - 2) - 1);
3075                    },
3076                },
3077                Quartic: {
3078                    In: function (e) {
3079                        return e * e * e * e;
3080                    },
3081                    Out: function (e) {
3082                        return 1 - --e * e * e * e;
3083                    },
3084                    InOut: function (e) {
3085                        return (e *= 2) < 1 ? 0.5 * e * e * e * e : -0.5 * ((e -= 2) * e * e * e - 2);
3086                    },
3087                },
3088                Sinusoidal: {
3089                    In: function (e) {
3090                        return 1 - Math.cos((e * Math.PI) / 2);
3091                    },
3092                    Out: function (e) {
3093                        return Math.sin((e * Math.PI) / 2);
3094                    },
3095                    InOut: function (e) {
3096                        return 0.5 * (1 - Math.cos(Math.PI * e));
3097                    },
3098                },
3099                Cubic: {
3100                    In: function (e) {
3101                        return e * e * e;
3102                    },
3103                    Out: function (e) {
3104                        return --e * e * e + 1;
3105                    },
3106                    InOut: function (e) {
3107                        return (e *= 2) < 1 ? 0.5 * e * e * e : 0.5 * ((e -= 2) * e * e + 2);
3108                    },
3109                },
3110            }),
3111            (n.Interpolation = {
3112                Linear: function (e, t) {
3113                    var i = e.length - 1,
3114                        o = i * t,
3115                        a = Math.floor(o),
3116                        r = n.Interpolation.Utils.Linear;
3117                    return t < 0 ? r(e[0], e[1], o) : t > 1 ? r(e[i], e[i - 1], i - o) : r(e[a], e[a + 1 > i ? i : a + 1], o - a);
3118                },
3119                Bezier: function (e, t) {
3120                    for (var i = 0, o = e.length - 1, a = Math.pow, r = n.Interpolation.Utils.Bernstein, s = 0; s <= o; s++) i += a(1 - t, o - s) * a(t, s) * e[s] * r(o, s);
3121                    return i;
3122                },
3123                Utils: {
3124                    Linear: function (e, t, n) {
3125                        return (t - e) * n + e;
3126                    },
3127                    Bernstein: function (e, t) {
3128                        var i = n.Interpolation.Utils.Factorial;
3129                        return i(e) / i(t) / i(e - t);
3130                    },
3131                    Factorial:
3132                        ((t = [1]),
3133                        function (e) {
3134                            var n = 1;
3135                            if (t[e]) return t[e];
3136                            for (var i = e; i > 1; i--) n *= i;
3137                            return (t[e] = n), n;
3138                        }),
3139                    CatmullRom: function (e, t, n, i, o) {
3140                        var a = 0.5 * (n - e),
3141                            r = 0.5 * (i - t),
3142                            s = o * o;
3143                        return (2 * t - 2 * n + a + r) * (o * s) + (-3 * t + 3 * n - 2 * a - r) * s + a * o + t;
3144                    },
3145                },
3146            }),
3147            (window.TWEEN = n);
3148    })(),
3149    (pdfflip.createBlob = function (e, t) {
3150        if ("undefined" != typeof Blob) return new Blob([e], { type: t });
3151        var n = new MozBlobBuilder();
3152        return n.append(e), n.getBlob(t);
3153    }),
3154    (pdfflip.createObjectURL = (function () {
3155        var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
3155+/=";
3156        return function (t, n) {
3157            if ("undefined" != typeof URL && URL.createObjectURL) {
3158                var i = pdfflip.createBlob(t, n);
3159                return URL.createObjectURL(i);
3160            }
3161            for (var o = "data:" + n + ";base64,", a = 0, r = t.length; a < r; a += 3) {
3162                var s = 255 & t[a],
3163                    l = 255 & t[a + 1],
3164                    c = 255 & t[a + 2];
3165                o += e[s >> 2] + e[((3 & s) << 4) | (l >> 4)] + e[a + 1 < r ? ((15 & l) << 2) | (c >> 6) : 64] + e[a + 2 < r ? 63 & c : 64];
3166            }
3167            return o;
3168        };
3169    })());
3170var ThumbList = (function () {
3171        function e(t) {
3172            var n = (t && t.w + "px") || "100%",
3173                i = (t && t.h + "px") || "100%",
3174                o = (this.itemHeight = t.itemHeight);
3175            (this.items = t.items), (this.generatorFn = t.generatorFn), (this.totalRows = t.totalRows || (t.items && t.items.length)), (this.addFn = t.addFn), (this.scrollFn = t.scrollFn);
3176            var a = e.createScroller(o * this.totalRows);
3177            (this.container = e.createContainer(n, i)),
3178                this.container.appendChild(a),
3179                (this.screenItemsLen = Math.ceil(t.h / o)),
3180                (this.offsetItems = this.screenItemsLen),
3181                (this.cachedItemsLen = this.screenItemsLen + 2 * this.offsetItems),
3182                this._renderChunk(this.container, 0);
3183            var r = this;
3184            function s(e) {
3185                var t = e.target.scrollTop;
3186                if (!r.lastRepaintY || Math.abs(t - r.lastRepaintY) >= r.offsetItems * r.itemHeight) {
3187                    var n = parseInt(t / o, 10) - r.offsetItems;
3188                    r._renderChunk(r.container, n < 0 ? 0 : n), (r.lastRepaintY = t);
3189                }
3190                (r.lastScrolled = Date.now()), null != r.scrollFn && r.scrollFn(), e.preventDefault && e.preventDefault();
3191            }
3192            (r.lastRepaintY = 0),
3193                this.screenItemsLen,
3194                (r.dispose = function () {
3195                    r.container && r.container.parentNode && r.container.parentNode.removeChild(r.container), r.container.removeEventListener("scroll", s);
3196                }),
3197                r.container.addEventListener("scroll", s);
3198        }
3199        return (
3200            (e.prototype.reset = function (e) {
3201                (this.screenItemsLen = Math.ceil(e / this.itemHeight)), (this.cachedItemsLen = this.screenItemsLen + 2 * this.offsetItems);
3202                var t = parseInt(this.lastRepaintY / this.itemHeight, 10) - this.offsetItems;
3203                (this.needReset = !0), this._renderChunk(this.container, Math.max(t, 0));
3204            }),
3205            (e.prototype.createRow = function (e) {
3206                var t;
3207                return this.generatorFn && ((t = this.generatorFn(e)).classList.add("pdff-vrow"), (t.style.position = "absolute"), (t.style.top = e * this.itemHeight + "px"), t.setAttribute("index", e)), t;
3208            }),
3209            (e.prototype._renderChunk = function (e, t) {
3210                var n = null == this.range;
3211                this.range = this.range || { min: 0, max: this.cachedItemsLen };
3212                var i = this.range,
3213                    o = i.min,
3214                    a = i.max,
3215                    r = !!n || t >= o;
3216                if (n || t != o || 0 != this.needReset) {
3217                    var s,
3218                        l = n ? o : r ? a : t;
3219                    l = l > this.totalRows ? this.totalRows : l < 0 ? 0 : l;
3220                    var c = t + this.cachedItemsLen;
3221                    for (c = c > this.totalRows ? this.totalRows : c, s = l; s < c; s++) r ? e.appendChild(this.createRow(s)) : e.insertBefore(this.createRow(s), e.childNodes[1 + s - l]), null != this.addFn && this.addFn(s);
3222                    if ((Math.abs(t - o), (this.needReset = !1), !n && e.childNodes.length > this.cachedItemsLen + 1))
3223                        for (var d = r ? 1 : 1 + this.cachedItemsLen, u = d + (c - l); u > d; u--) e.childNodes[d] && this.container.removeChild(e.childNodes[d]);
3224                    (this.range.min = t), (this.range.max = c);
3225                }
3226            }),
3227            (e.createContainer = function (e, t) {
3228                var n = document.createElement("div");
3229                return (n.style.width = e), (n.style.height = t), (n.style.overflow = "auto"), (n.style.position = "relative"), (n.style.padding = 0), n;
3230            }),
3231            (e.createScroller = function (e) {
3232                var t = document.createElement("div");
3233                return (t.style.opacity = 0), (t.style.position = "absolute"), (t.style.top = 0), (t.style.left = 0), (t.style.width = "1px"), (t.style.height = e + "px"), t;
3234            }),
3235            e
3236        );
3237    })(),
3238    BookMarkViewer = (function () {
3239        function e(e) {
3240            (this.outline = null),
3241                (this.lastToggleIsShow = !0),
3242                (this.container = e.container),
3243                (this.linkService = e.linkService),
3244                (this.outlineItemClass = e.outlineItemClass || "outlineItem"),
3245                (this.outlineToggleClass = e.outlineToggleClass || "outlineItemToggler"),
3246                (this.outlineToggleHiddenClass = e.outlineToggleHiddenClass || "outlineItemsHidden");
3247        }
3248        return (
3249            (e.prototype = {
3250                dispose: function () {
3251                    this.container && this.container.parentNode && this.container.parentNode.removeChild(this.container), (this.linkService = null);
3252                },
3253                reset: function () {
3254                    (this.outline = null), (this.lastToggleIsShow = !0);
3255                    for (var e = this.container; e.firstChild; ) e.removeChild(e.firstChild);
3256                },
3257                _dispatchEvent: function (e) {
3258                    var t = document.createEvent("CustomEvent");
3259                    t.initCustomEvent("outlineloaded", !0, !0, { outlineCount: e }), this.container.dispatchEvent(t);
3260                },
3261                _bindLink: function (e, t) {
3262                    var n = this.linkService;
3263                    if (1 == t.custom)
3264                        (e.href = n.getCustomDestinationHash(t.dest)),
3265                            (e.onclick = function (e) {
3266                                return n.customNavigateTo(t.dest), !1;
3267                            });
3268                    else {
3269                        if (t.url) return void PDFJS.addLinkAttributes(e, { url: t.url });
3270                        (e.href = n.getDestinationHash(t.dest)),
3271                            (e.onclick = function (e) {
3272                                return n.navigateTo(t.dest), !1;
3273                            });
3274                    }
3275                },
3276                _addToggleButton: function (e) {
3277                    var t = document.createElement("div");
3278                    (t.className = this.outlineToggleClass + " " + this.outlineToggleHiddenClass),
3279                        (t.onclick = function (n) {
3280                            if ((n.stopPropagation(), t.classList.toggle(this.outlineToggleHiddenClass), n.shiftKey)) {
3281                                var i = !t.classList.contains(this.outlineToggleHiddenClass);
3282                                this._toggleOutlineItem(e, i);
3283                            }
3284                        }.bind(this)),
3285                        e.insertBefore(t, e.firstChild);
3286                },
3287                _toggleOutlineItem: function (e, t) {
3288                    this.lastToggleIsShow = t;
3289                    for (var n = e.querySelectorAll("." + this.outlineToggleClass), i = 0, o = n.length; i < o; ++i) n[i].classList[t ? "remove" : "add"](this.outlineToggleHiddenClass);
3290                },
3291                toggleOutlineTree: function () {
3292                    this.outline && this._toggleOutlineItem(this.container, !this.lastToggleIsShow);
3293                },
3294                render: function (e) {
3295                    var t = (e && e.outline) || null,
3296                        n = 0;
3297                    if ((this.outline && this.reset(), (this.outline = t), t)) {
3298                        for (var i = document.createDocumentFragment(), o = [{ parent: i, items: this.outline }], a = !1; o.length > 0; )
3299                            for (var r = o.shift(), s = r.custom, l = 0, c = r.items.length; l < c; l++) {
3300                                var d = r.items[l],
3301                                    u = document.createElement("div");
3302                                u.className = this.outlineItemClass;
3303                                var p = document.createElement("a");
3304                                if ((null == d.custom && null != s && (d.custom = s), this._bindLink(p, d), (p.textContent = d.title.replace(/\x00/g, "")), u.appendChild(p), d.items && d.items.length > 0)) {
3305                                    (a = !0), this._addToggleButton(u);
3306                                    var h = document.createElement("div");
3307                                    (h.className = this.outlineItemClass + "s"), u.appendChild(h), o.push({ parent: h, custom: d.custom, items: d.items });
3308                                }
3309                                r.parent.appendChild(u), n++;
3310                            }
3311                        a && (null != this.container.classList ? this.container.classList.add(this.outlineItemClass + "s") : null != this.container.className && (this.container.className += " picWindow")),
3312                            this.container.appendChild(i),
3313                            this._dispatchEvent(n);
3314                    }
3315                },
3316            }),
3317            e
3318        );
3319    })(),
3320    DFLightBox = (function (e) {
3321        function t(t, n) {
3322            this.duration = 300;
3323            var i = this;
3324            return (
3325                (i.lightboxWrapper = e("<div>").addClass("pdff-lightbox-wrapper")),
3326                (i.container = e("<div>").addClass("pdff-container").appendTo(i.lightboxWrapper)),
3327                (i.controls = e("<div>").addClass("pdff-lightbox-controls").appendTo(i.lightboxWrapper)),
3328                (i.closeButton = e("<div>")
3329                    .addClass("pdff-lightbox-close pdff-ui-btn")
3330                    .on("click", function () {
3331                        $("body").css("overflow", "visible"), i.close(t);
3332                    })
3333                    .appendTo(i.controls)),
3334                i.lightboxWrapper.append(i.container),
3335                i
3336            );
3337        }
3338        return (
3339            (t.prototype.show = function (t) {
3340                return 0 == this.lightboxWrapper.parent().length && e("body").append(this.lightboxWrapper), this.lightboxWrapper.fadeIn(this.duration, t), this;
3341            }),
3342            (t.prototype.close = function (e) {
3343                return this.lightboxWrapper.fadeOut(this.duration), setTimeout(e, this.duration), this;
3344            }),
3345            t
3346        );
3347    })(jQuery);
3348(pdfflip.Share = (function (e) {
3349    function t(t, n) {
3350        var i = this,
3351            o = "<div>",
3352            a = "pdff-share-button",
3353            r = "width=500,height=400";
3354        (i.isOpen = !1),
3355            (i.shareUrl = ""),
3356            (i.wrapper = e('<div class="pdff-share-wrapper" style="display: none;">').on("click", function (e) {
3357                i.close();
3358            })),
3359            (i.box = e('<div class="pdff-share-box">')
3360                .on("click", function (e) {
3361                    e.preventDefault(), e.stopPropagation();
3362                })
3363                .appendTo(i.wrapper)
3364                .html('<span class="pdff-share-title">' + n.text.share + "</span>")),
3365            (i.urlInput = e('<textarea class="pdff-share-url">').on("click", function () {
3366                e(this).select();
3367            })),
3368            (i.facebook = e(o, { class: a + " pdff-share-facebook " + n.icons.facebook }).on("click", function (e) {
3369                window.open("https://www.facebook.com/sharer/sharer.php?u=" + encodeURIComponent(i.shareUrl), "Sharer", r);
3370            })),
3371            (i.google = e(o, { class: a + " pdff-share-google " + n.icons.google }).on("click", function (e) {
3372                window.open("https://plus.google.com/share?url=" + encodeURIComponent(i.shareUrl), "Sharer", r);
3373            })),
3374            (i.twitter = e(o, { class: a + " pdff-share-twitter " + n.icons.twitter }).on("click", function (e) {
3375                window.open("http://twitter.com/share?url=" + encodeURIComponent(i.shareUrl), "Sharer", r);
3376            })),
3377            (i.linkedin = e(o, { class: a + " pdff-share-linkedin " + n.icons.linkedin }).on("click", function (e) {
3378                var wLocationHr = window.location.href;
3379                window.open("http://www.linkedin.com/shareArticle?mini=true&url=" + wLocationHr, "Sharer", r);
3380            })),
3381            (i.mail = e("<a>", { class: a + " pdff-share-mail " + n.icons.mail, href: "mailto:?subject=I wanted y
3381ou to see this FlipBook&body=Check out this site " + encodeURIComponent(i.shareUrl), target: "_blank" }).on("click", function (
3382                t
3383            ) {
3384                e(this).attr("href", "mailto:?subject=I wanted you to see this FlipBook&body=Check out this site " + encodeURIComponent(i.shareUrl)), t.stopPropagation();
3385            })),
3386            i.box.append(i.urlInput).append(i.facebook).append(i.google).append(i.twitter).append(i.mail).append(i.linkedin),
3387            e(t).append(i.wrapper);
3388    }
3389    return (
3390        (t.prototype.show = function () {
3391            this.wrapper.fadeIn(300), this.urlInput.val(this.shareUrl), this.urlInput.trigger("click"), (this.isOpen = !0);
3392        }),
3393        (t.prototype.dispose = function () {
3394            var e = this;
3395            e.box.off(), e.google.off(), e.twitter.off(), e.facebook.off(), e.mail.off(), e.urlInput.off(), e.wrapper.off().remove();
3396        }),
3397        (t.prototype.close = function () {
3398            this.wrapper.fadeOut(300), (this.isOpen = !1);
3399        }),
3400        (t.prototype.update = function (e) {
3401            this.shareUrl = e;
3402        }),
3403        t
3404    );
3405})(jQuery)),
3406    (pdfflip.Popup = (function (e) {
3407        function t(t, n) {
3408            var i = this;
3409            (i.isOpen = !1),
3410                (i.wrapper = e('<div class="pdff-popup-wrapper" style="display: none;">').on("click", function (e) {
3411                    i.close();
3412                })),
3413                (i.box = e('<div class="pdff-popup-box">')
3414                    .on("click", function (e) {
3415                        e.preventDefault(), e.stopPropagation();
3416                    })
3417                    .appendTo(i.wrapper)),
3418                e(t).append(i.wrapper);
3419        }
3420        return (
3421            (t.prototype.show = function () {
3422                this.wrapper.fadeIn(300), (this.isOpen = !0);
3423            }),
3424            (t.prototype.dispose = function () {
3425                this.box.off(), this.wrapper.off().remove();
3426            }),
3427            (t.prototype.close = function () {
3428                this.wrapper.fadeOut(300), (this.isOpen = !1);
3429            }),
3430            t
3431        );
3432    })(jQuery));
3433var PDFLinkService = (function () {
3434    function e() {
3435        (this.baseUrl = null), (this.pdfDocument = null), (this.pdfViewer = null), (this.pdfHistory = null), (this._pagesRefCache = null);
3436    }
3437    return (
3438        (e.prototype = {
3439            dispose: function () {
3440                (this.baseUrl = null), (this.pdfDocument = null), (this.pdfViewer = null), (this.pdfHistory = null), (this._pagesRefCache = null);
3441            },
3442            setDocument: function (e, t) {
3443                (this.baseUrl = t), (this.pdfDocument = e), (this._pagesRefCache = Object.create(null));
3444            },
3445            setViewer: function (e) {
3446                this.pdfViewer = e;
3447            },
3448            setHistory: function (e) {
3449                this.pdfHistory = e;
3450            },
3451            get pagesCount() {
3452                return this.pdfDocument.numPages;
3453            },
3454            get page() {
3455                return this.pdfViewer.currentPageNumber;
3456            },
3457            set page(e) {
3458                this.pdfViewer.currentPageNumber = e;
3459            },
3460            navigateTo: function (e) {
3461                var t,
3462                    n = "",
3463                    i = this,
3464                    o = function (t) {
3465                        var a = t instanceof Object ? i._pagesRefCache[t.num + " " + t.gen + " R"] : t + 1;
3466                        a
3467                            ? (i.pdfViewer.contentProvider.options.pageSize == pdfflip.PAGE_SIZE.DOUBLEINTERNAL && a > 2 && (a = 2 * a - 1),
3468                              a > i.pdfViewer.pageCount && (a = i.pdfViewer.pageCount),
3469                              i.pdfViewer.gotoPage(a),
3470                              i.pdfHistory && i.pdfHistory.push({ dest: e, hash: n, page: a }))
3471                            : i.pdfDocument.getPageIndex(t).then(function (e) {
3472                                  var n = e + 1,
3473                                      a = t.num + " " + t.gen + " R";
3474                                  (i._pagesRefCache[a] = n), o(t);
3475                              });
3476                    };
3477                "string" == typeof e ? ((n = e), (t = this.pdfDocument.getDestination(e))) : (t = Promise.resolve(e)),
3478                    t.then(function (t) {
3479                        (e = t), t instanceof Array && o(t[0]);
3480                    });
3481            },
3482            customNavigateTo: function (e) {
3483                if ("" != e && null != e && "null" != e) {
3484                    var t = null;
3485                    if (isNaN(Math.round(e))) {
3486                        if ("string" == typeof e && ((t = parseInt(e.replace("#", ""), 10)), isNaN(t))) return void window.open(e);
3487                    } else t = e;
3488                    null != t && this.pdfViewer.gotoPage(t);
3489                }
3490            },
3491            getDestinationHash: function (e) {
3492                if ("string" == typeof e) return this.getAnchorUrl("#" + escape(e));
3493                if (e instanceof Array) {
3494                    var t = e[0],
3495                        n = t instanceof Object ? this._pagesRefCache[t.num + " " + t.gen + " R"] : t + 1;
3496                    if (n) {
3497                        var i = this.getAnchorUrl("#page=" + n),
3498                            o = e[1];
3499                        if ("object" == typeof o && "name" in o && "XYZ" === o.name) {
3500                            var a = e[4] || this.pdfViewer.currentScaleValue,
3501                                r = parseFloat(a);
3502                            r && (a = 100 * r), (i += "&zoom=" + a), (e[2] || e[3]) && (i += "," + (e[2] || 0) + "," + (e[3] || 0));
3503                        }
3504                        return i;
3505                    }
3506                }
3507                return this.getAnchorUrl("");
3508            },
3509            getCustomDestinationHash: function (e) {
3510                return "#" + escape(e);
3511            },
3512            getAnchorUrl: function (e) {
3513                return (this.baseUrl || "") + e;
3514            },
3515            setHash: function (e) {
3516                if (e.indexOf("=") >= 0) {
3517                    var t,
3518                        n,
3519                        i = parseQueryString(e);
3520                    if ("nameddest" in i) return this.pdfHistory && this.pdfHistory.updateNextHashParam(i.nameddest), void this.navigateTo(i.nameddest);
3521                    if (("page" in i && (t = 0 | i.page || 1), "zoom" in i)) {
3522                        var o = i.zoom.split(","),
3523                            a = o[0],
3524                            r = parseFloat(a);
3525                        -1 === a.indexOf("Fit")
3526                            ? (n = [null, { name: "XYZ" }, o.length > 1 ? 0 | o[1] : null, o.length > 2 ? 0 | o[2] : null, r ? r / 100 : a])
3527                            : "Fit" === a || "FitB" === a
3528                            ? (n = [null, { name: a }])
3529                            : "FitH" === a || "FitBH" === a || "FitV" === a || "FitBV" === a
3530                            ? (n = [null, { name: a }, o.length > 1 ? 0 | o[1] : null])
3531                            : "FitR" === a
3532                            ? 5 !== o.length
3533                                ? console.error("PDFLinkService_setHash: Not enough parameters for 'FitR'.")
3534                                : (n = [null, { name: a }, 0 | o[1], 0 | o[2], 0 | o[3], 0 | o[4]])
3535                            : console.error("PDFLinkService_setHash: '" + a + "' is not a valid zoom value.");
3536                    }
3537                    if ((n ? this.pdfViewer.scrollPageIntoView(t || this.page, n) : t && (this.page = t), "pagemode" in i)) {
3538                        var s = document.createEvent("CustomEvent");
3539                        s.initCustomEvent("pagemode", !0, !0, { mode: i.pagemode }), this.pdfViewer.container.dispatchEvent(s);
3540                    }
3541                } else /^\d+$/.test(e) ? (this.page = e) : (this.pdfHistory && this.pdfHistory.updateNextHashParam(unescape(e)), this.navigateTo(unescape(e)));
3542            },
3543            executeNamedAction: function (e) {
3544                switch (e) {
3545                    case "GoBack":
3546                        this.pdfHistory && this.pdfHistory.back();
3547                        break;
3548                    case "GoForward":
3549                        this.pdfHistory && this.pdfHistory.forward();
3550                        break;
3551                    case "NextPage":
3552                        this.page++;
3553                        break;
3554                    case "PrevPage":
3555                        this.page--;
3556                        break;
3557                    case "LastPage":
3558                        this.page = this.pagesCount;
3559                        break;
3560                    case "FirstPage":
3561                        this.page = 1;
3562                }
3563                var t = document.createEvent("CustomEvent");
3564                t.initCustomEvent("namedaction", !0, !0, { action: e }), this.pdfViewer.container.dispatchEvent(t);
3565            },
3566            cachePageRef: function (e, t) {
3567                var n = t.num + " " + t.gen + " R";
3568                this._pagesRefCache[n] = e;
3569            },
3570        }),
3571        e
3572    );
3573})();
3574(pdfflip.TextLayerBuilder = (function () {
3575    function e(e) {
3576        (this.textLayerDiv = e.textLayerDiv),
3577            (this.renderingDone = !1),
3578            (this.divContentDone = !1),
3579            (this.pageIdx = e.pageIndex),
3580            (this.pageNumber = this.pageIdx + 1),
3581            (this.matches = []),
3582            (this.viewport = e.viewport),
3583            (this.textDivs = []),
3584            (this.findController = e.findController || null),
3585            (this.textLayerRenderTask = null),
3586            (this.enhanceTextSelection = e.enhanceTextSelection),
3587            this._bindMouse();
3588    }
3589    return (
3590        (e.prototype = {
3591            _finishRendering: function () {
3592                if (((this.renderingDone = !0), !this.enhanceTextSelection)) {
3593                    var e = document.createElement("div");
3594                    (e.className = "endOfContent"), this.textLayerDiv.appendChild(e);
3595                }
3596            },
3597            render: function (e) {
3598                if (this.divContentDone && !this.renderingDone) {
3599                    this.textLayerRenderTask && (this.textLayerRenderTask.cancel(), (this.textLayerRenderTask = null)), (this.textDivs = []);
3600                    var t = document.createDocumentFragment();
3601                    (this.textLayerRenderTask = PDFJS.renderTextLayer({ textContent: this.textContent, container: t, viewport: this.viewport, textDivs: this.textDivs, timeout: e, enhanceTextSelection: this.enhanceTextSelection })),
3602                        this.textLayerRenderTask.promise.then(
3603                            function () {
3604                                this.textLayerDiv.appendChild(t), this._finishRendering(), this.updateMatches();
3605                            }.bind(this),
3606                            function (e) {}
3607                        );
3608                }
3609            },
3610            setTextContent: function (e) {
3611                this.textLayerRenderTask && (this.textLayerRenderTask.cancel(), (this.textLayerRenderTask = null)), (this.textContent = e), (this.divContentDone = !0);
3612            },
3613            convertMatches: function (e, t) {
3614                var n = 0,
3615                    i = 0,
3616                    o = this.textContent.items,
3617                    a = o.length - 1,
3618                    r = null === this.findController ? 0 : this.findController.state.query.length,
3619                    s = [];
3620                if (!e) return s;
3621                for (var l = 0, c = e.length; l < c; l++) {
3622                    for (var d = e[l]; n !== a && d >= i + o[n].str.length; ) (i += o[n].str.length), n++;
3623                    n === o.length && console.error("Could not find a matching mapping");
3624                    var u = { begin: { divIdx: n, offset: d - i } };
3625                    for (d += t ? t[l] : r; n !== a && d > i + o[n].str.length; ) (i += o[n].str.length), n++;
3626                    (u.end = { divIdx: n, offset: d - i }), s.push(u);
3627                }
3628                return s;
3629            },
3630            renderMatches: function (e) {
3631                if (0 !== e.length) {
3632                    var t = this.textContent.items,
3633                        n = this.textDivs,
3634                        i = null,
3635                        o = this.pageIdx,
3636                        a = null !== this.findController && o === this.findController.selected.pageIdx,
3637                        r = null === this.findController ? -1 : this.findController.selected.matchIdx,
3638                        s = void 0,
3639                        l = r,
3640                        c = l + 1;
3641                    if (null !== this.findController && this.findController.state.highlightAll) (l = 0), (c = e.length);
3642                    else if (!a) return;
3643                    for (var d = l; d < c; d++) {
3644                        var u = e[d],
3645                            p = u.begin,
3646                            h = u.end,
3647                            f = a && d === r ? " selected" : "";
3648                        if (
3649                            (this.findController && this.findController.updateMatchPosition(o, d, n, p.divIdx),
3650                            i && p.divIdx === i.divIdx ? b(i.divIdx, i.offset, p.offset) : (null !== i && b(i.divIdx, i.offset, s), v(p)),
3651                            p.divIdx === h.divIdx)
3652                        )
3653                            b(p.divIdx, p.offset, h.offset, "highlight" + f);
3654                        else {
3655                            b(p.divIdx, p.offset, s, "highlight begin" + f);
3656                            for (var g = p.divIdx + 1, m = h.divIdx; g < m; g++) n[g].className = "highlight middle" + f;
3657                            v(h, "highlight end" + f);
3658                        }
3659                        i = h;
3660                    }
3661                    i && b(i.divIdx, i.offset, s);
3662                }
3663                function v(e, t) {
3664                    var i = e.divIdx;
3665                    (n[i].textContent = ""), b(i, 0, e.offset, t);
3666                }
3667                function b(e, i, o, a) {
3668                    var r = n[e],
3669                        s = t[e].str.substring(i, o),
3670                        l = document.createTextNode(s);
3671                    if (a) {
3672                        var c = document.createElement("span");
3673                        return (c.className = a), c.appendChild(l), void r.appendChild(c);
3674                    }
3675                    r.appendChild(l);
3676                }
3677            },
3678            updateMatches: function () {
3679                if (this.renderingDone) {
3680                    for (var e, t, n = this.matches, i = this.textDivs, o = this.textContent.items, a = -1, r = 0, s = n.length; r < s; r++) {
3681                        for (var l = n[r], c = Math.max(a, l.begin.divIdx), d = l.end.divIdx; c <= d; c++) {
3682                            var u = i[c];
3683                            (u.textContent = o[c].str), (u.className = "");
3684                        }
3685                        a = l.end.divIdx + 1;
3686                    }
3687                    null !== this.findController &&
3688                        this.findController.active &&
3689                        (null !== this.findController && ((e = this.findController.pageMatches[this.pageIdx] || null), (t = (this.findController.pageMatchesLength && this.findController.pageMatchesLength[this.pageIdx]) || null)),
3690                        (this.matches = this.convertMatches(e, t)),
3691                        this.renderMatches(this.matches));
3692                }
3693            },
3694            _bindMouse: function () {
3695                var e = this.textLayerDiv,
3696                    t = this;
3697                e.addEventListener("mousedown", function (n) {
3698                    if (t.enhanceTextSelection && t.textLayerRenderTask) t.textLayerRenderTask.expandTextDivs(!0);
3699                    else {
3700                        var i = e.querySelector(".endOfContent");
3701                        if (i) {
3702                            var o = n.target !== e;
3703                            if ((o = o && "none" !== window.getComputedStyle(i).getPropertyValue("-moz-user-select"))) {
3704                                var a = e.getBoundingClientRect(),
3705                                    r = Math.max(0, (n.pageY - a.top) / a.height);
3706                                i.style.top = (100 * r).toFixed(2) + "%";
3707                            }
3708                            i.classList.add("active");
3709                        }
3710                    }
3711                }),
3712                    e.addEventListener("mouseup", function (n) {
3713                        if (t.enhanceTextSelection && t.textLayerRenderTask) t.textLayerRenderTask.expandTextDivs(!1);
3714                        else {
3715                            var i = e.querySelector(".endOfContent");
3716                            i && ((i.style.top = ""), i.classList.remove("active"));
3717                        }
3718                    });
3719            },
3720        }),
3721        e
3722    );
3723})()),
3724    (pdfflip.ConvertPageLinks = function () {
3725        for (
3726            var e,
3727                t = arguments[0] / 100,
3728                n = arguments[1] / 100,
3729                i = function (e, i, o, a, r) {
3730                    return { x: e / t, y: i / n, w: o / t, h: a / n, dest: r };
3731                },
3732                o = [],
3733                a = 2;
3734            a < arguments.length;
3735            a++
3736        )
3737            (e = arguments[a]), (o[a - 2] = i.apply(this, e));
3738        return o;
3739    }),
3740    (pdfflip.parseLinks = function (e) {
3741        var t;
3742        if (null != e && e.length > 0) for (var n = 0; n < e.length; n++) null != (t = e[n]) && null != t[0] && null == t[0].dest && ((t = pdfflip.ConvertPageLinks.apply(this, t)), (e[n] = t));
3743        return e;
3744    }),
3745    (function (e) {
3746        function t(e) {
3747            return "true" == e || 1 == e;
3748        }
3749        function n(e) {
3750            null != e.webgl && (e.webgl = t(e.webgl)),
3751                null != e.downloadEnable && (e.downloadEnable = t(e.downloadEnable)),
3752                null != e.scrollWheel && (e.scrollWheel = t(e.scrollWheel)),
3753                null != e.autoEnableOutline && (e.autoEnableOutline = t(e.autoEnableOutline)),
3754                null != e.autoEnableThumbnail && (e.autoEnableThumbnail = t(e.autoEnableThumbnail)),
3755                null != e.transparent && (e.transparent = t(e.transparent)),
3756                null != e.overwritePDFOutline && (e.overwritePDFOutline = t(e.overwritePDFOutline)),
3757                null != e.enableSound && (e.enableSound = t(e.enableSound)),
3758                null != e.forceFit && (e.forceFit = t(e.forceFit)),
3759                null != e.enableAnnotation && (e.enableAnnotation = t(e.enableAnnotation)),
3760                null != e.webglShadow && (e.webglShadow = t(e.webglShadow)),
3761                null != e.autoPlay && (e.autoPlay = t(e.autoPlay)),
3762                null != e.autoPlayStart && (e.autoPlayStart = t(e.autoPlayStart)),
3763                null != e.paddingTop && (e.paddingTop = parseInt(e.paddingTop, 10)),
3764                null != e.paddingRight && (e.paddingRight = parseInt(e.paddingRight, 10)),
3765                null != e.paddingBottom && (e.paddingBottom = parseInt(e.paddingBottom, 10)),
3766                null != e.paddingLeft && (e.paddingLeft = parseInt(e.paddingLeft, 10)),
3767                null != e.zoomRatio && (e.zoomRatio = parseFloat(e.zoomRatio, 10)),
3768                null != e.stiffness && (e.stiffness = parseFloat(e.stiffness, 10)),
3769                null != e.autoPlayDuration && (e.autoPlayDuration = parseInt(e.autoPlayDuration, 10)),
3770                (0 != e.pageMode && "0" != e.pageMode) || (e.pageMode = null),
3771                (0 != e.singlePageMode && "0" != e.singlePageMode) || (e.singlePageMode = null);
3772        }
3773        (pdfflip.getOptions = function (t) {
3774            var i = "option_" + (t = e(t)).attr("id"),
3775                o = t.attr("source") || t.attr("pdff-source");
3776            (i = null == i || "" == i || null == window[i] ? {} : window[i]).source = null == o || "" == o ? i.source : o;
3777            var a = {
3778                webgl: t.attr("webgl"),
3779                height: t.attr("height"),
3780                enableSound: t.attr("sound"),
3781                transparent: t.attr("transparent"),
3782                downloadEnable: t.attr("download"),
3783                duration: t.attr("duration"),
3784                hard: t.attr("hard"),
3785                pageMode: t.attr("pagemode"),
3786                direction: t.attr("direction"),
3787                backgroundColor: t.attr("backgroundcolor"),
3788                scrollWheel: t.attr("scrollwheel"),
3789                backgroundImage: t.attr("backgroundimage"),
3790                paddingTop: t.attr("paddingtop"),
3791                paddingRight: t.attr("paddingright"),
3792                paddingBottom: t.attr("paddingbottom"),
3793                paddingLeft: t.attr("paddingleft"),
3794                wpOptions: t.attr("wpoptions"),
3795            };
3796            return (
3797                (function (e) {
3798                    if (1 != e.parsed) {
3799                        e.parsed = !0;
3800                        var t = [];
3801                        if ((n(e), "undefined" != typeof pdfflipWPGlobal && "true" == e.wpOptions)) {
3802                            try {
3803                                for (var i in e.links) {
3804                                    for (var o = e.links[i], a = [100, 100], r = 0; r < o.length; r++) {
3805                                        for (var s = o[r].substr(1).slice(0, -1).split(","), l = [], c = 0; c < 5; c++) l[c] = s[c];
3806                                        a.push(l);
3807                                    }
3808                                    t[parseInt(i, 10) + 1] = a;
3809                                }
3810                            } catch (e) {
3811                                console.error(e.stack);
3812                            }
3813                            e.links = pdfflip.parseLinks(t);
3814                        } else e.links = pdfflip.parseLinks(e.links);
3815                    }
3816                })((i = e.extend(!0, {}, i, a))),
3817                i
3818            );
3819        }),
3820            (pdfflip.parseBooks = function () {
3821                e("._PDFF_btt, ._pdff_thumb, ._PDFF_link, .PDFFlip").each(function () {
3822                    var t = e(this);
3823                    if ("true" !== (t.attr("parsed") || t.attr("pdff-parsed")))
3824                        if ((t.attr("pdff-parsed", "true"), t.hasClass("PDFFlip"))) {
3825                            var n = t.attr("id"),
3826                                i = t.attr("slug"),
3827                                o = pdfflip.getOptions(t);
3828                            (o.id = n), null != i && (o.slug = i), n ? (window[n.toString()] = e(t).flipBook(o.source, o)) : e(t).flipBook(o.source, o);
3829                        } else if (t.hasClass("_pdff_thumb")) {
3830                            var a = e("<div class='PDFFlip-cover'>"),
3831                                r = t.html().trim();
3832                            t.html(""), e("<span class='PDFFlip-title'>").html(r).appendTo(a);
3833                            var s = t.attr("thumb") || t.attr("pdff-thumb"),
3834                                l = t.attr("thumbtype") || pdfflip.defaults.thumbElement || "div",
3835                                c = t.attr("tags") || t.attr("pdff-tags");
3836                            if (c && (c = c.split(",")).length > 0) for (var d = 0; d < c.length; d++) t.append("<span class='PDFFlip-tag'>" + c[d] + "</span>");
3837                            null != s && "" != s.toString().trim()
3838                                ? "img" == l
3839                                    ? (a.append('<img src="' + s + '" alt="' + r + '"/>'), t.attr("thumb-type", "img"))
3840                                    : a.css({ backgroundImage: "url(" + s + ")" })
3841                                : a.addClass("_pdff_thumb-not-found"),
3842                                t.append(a);
3843                        }
3844                });
3845            }),
3846            e(document).ready(function () {
3847                if (
3848                    ("undefined" == typeof pdfflipLocation &&
3849                        0 != pdfflip.autoDetectLocation &&
3850                        e("script").each(function () {
3851                            var t = e(this)[0].src;
3852                            if ((t.indexOf("/pdfflip.js") > -1 || t.indexOf("/pdfflip.min.js") > -1) && (t.indexOf("https://") > -1 || t.indexOf("http://") > -1) && t.indexOf("js/pdfflip.") > -1) {
3853                                var n = t.split("/");
3854                                window.pdfflipLocation = n.slice(0, -2).join("/");
3855                            }
3856                        }),
3857                    "undefined" != typeof pdfflipLocation &&
3858                        (pdfflipLocation.length > 2 && "/" !== pdfflipLocation.slice(-1) && (window.pdfflipLocation += "/"),
3859                        (pdfflip.defaults.utilsSrc = pdfflipLocation + "../assets/js/pflip/js/libs/utils.min.js"),
3860                        (pdfflip.defaults.pdfjsSrc = pdfflipLocation + "../assets/js/pflip/js/libs/pdf.min.js"),
3861                        (pdfflip.defaults.pdfjsCompatibilitySrc = pdfflipLocation + "../assets/js/pflip/js/libs/compatibility.js"),
3862                        (pdfflip.defaults.threejsSrc = pdfflipLocation + "../assets/js/pflip/js/libs/three.min.js"),
3863                        (pdfflip.defaults.pdfjsWorkerSrc = pdfflipLocation + "../assets/js/pflip/js/libs/pdf.worker.min.js"),
3864                        (pdfflip.defaults.soundFile = pdfflipLocation + "sound/turn.mp3"),
3865                        (pdfflip.defaults.imagesLocation = pdfflipLocation + "images"),
3866                        (pdfflip.defaults.imageResourcesPath = pdfflipLocation + "images/pdfjs/"),
3867                        (pdfflip.defaults.cMapUrl = pdfflipLocation + "js/libs/cmaps/"),
3868                        "undefined" != typeof pdfflipWPGlobal && (n(pdfflipWPGlobal), e.extend(pdfflip.defaults, pdfflipWPGlobal))),
3869                    (pdfflip.preParseHash = window.location.hash),
3870                    pdfflip.parseBooks(),
3871                    e("body").on("click", "._PDFF_btt, ._pdff_thumb, ._PDFF_link", function () {
3872                        $("body").css("overflow", "hidden");
3873                        var t = e(this);
3874                        window.dfLightBox ||
3875                            (window.dfLightBox = new DFLightBox(function () {
3876                                0 == window.location.hash.indexOf("#pdfflip-") && (window.location.hash = "#_"), window.dfActiveLightBoxBook.dispose(), (window.dfActiveLightBoxBook = null);
3877                            })),
3878                            (window.dfLightBox.duration = 500),
3879                            window.dfActiveLightBoxBook && window.dfActiveLightBoxBook.dispose
3880                                ? window.dfActiveLightBoxBook.dispose()
3881                                : window.dfLightBox.show(function () {
3882                                      var n = pdfflip.getOptions(t);
3883                                      (n.transparent = !1), (n.id = t.attr("id"));
3884                                      var i = t.attr("slug");
3885                                      null != i && (n.slug = i), (n.isLightBox = !0), (window.dfActiveLightBoxBook = e(window.dfLightBox.container).flipBook(n.source, n));
3886                                  });
3887                    }),
3888                    (pdfflip.utils.isSafari || pdfflip.utils.isIOS) && e("body").addClass("pdff-webkit"),
3889                    pdfflip.preParseHash && pdfflip.preParseHash.indexOf("pdfflip-") >= 0)
3890                ) {
3891                    var t,
3892                        i = pdfflip.preParseHash.split("pdfflip-")[1].split("/")[0],
3893                        o = pdfflip.preParseHash.split("pdfflip-")[1].split("/")[1];
3894                    null != o && (o = o.split("/")[0]), 0 == (t = e("[slug=" + i + "]")).length && (t = e("#" + i)), t.length > 0 && (null != o && t.data("page", o), t.is("._PDFF_btt, ._pdff_thumb, ._PDFF_link") && t.trigger("click"));
3895                }
3896                e("body").on("click", ".pdff-ui-sidemenu-close", function () {
3897                    e(this).closest(".pdff-container").find(".pdff-ui-outline.pdff-active , .pdff-ui-thumbn
3897ail.pdff-active").trigger("click");
3898                });
3899            });
3900    })(jQuery);

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.