From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Andrey Orst Newsgroups: gmane.emacs.bugs Subject: bug#46350: 28.0.50; touchpad-scrolling-eats-lots-of-cpu-samples Date: Sat, 6 Feb 2021 20:33:56 +0300 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="00000000000010cc2505baae5888" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40498"; mail-complaints-to="usenet@ciao.gmane.io" To: 46350@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 06 18:36:07 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l8RV8-000APT-ES for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 06 Feb 2021 18:36:06 +0100 Original-Received: from localhost ([::1]:33724 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l8RV7-0001zv-Bq for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 06 Feb 2021 12:36:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45060) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l8RUA-0001y0-60 for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2021 12:35:11 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:34852) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l8RU6-0002Xd-Rp for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2021 12:35:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1l8RU6-0002bQ-OS for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2021 12:35:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Andrey Orst Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Feb 2021 17:35:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 46350 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.16126328549942 (code B ref -1); Sat, 06 Feb 2021 17:35:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 6 Feb 2021 17:34:14 +0000 Original-Received: from localhost ([127.0.0.1]:46398 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l8RTK-0002aI-5b for submit@debbugs.gnu.org; Sat, 06 Feb 2021 12:34:14 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:54602) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1l8RTI-0002aA-9s for submit@debbugs.gnu.org; Sat, 06 Feb 2021 12:34:12 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45006) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l8RTI-0001M5-1I for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2021 12:34:12 -0500 Original-Received: from mail-pf1-x432.google.com ([2607:f8b0:4864:20::432]:43503) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1l8RTF-0002CM-Vt for bug-gnu-emacs@gnu.org; Sat, 06 Feb 2021 12:34:11 -0500 Original-Received: by mail-pf1-x432.google.com with SMTP id q131so6534632pfq.10 for ; Sat, 06 Feb 2021 09:34:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=bG20qWr1KopjFq1IeoJ42UwYqiX/4LSFg24xVjBSNwI=; b=g+J5atdXSCQrHCGQ6nEsHVfkzwI76OAKtHCegDquBYG0O7DS+g9DlLff9Gu4wamUHM /1jE+qSPpUAJ/qDqMlNUuS2mPEYNzLVYXYF53/v5e6Zbmdnlg9oiMPVct7WojLRRJFwl JjQnACYr3wlfJAyFNN6kqfIwzX/ktIR+SJGICCN34aAuncOKZWHizhk/eM+f71U1P1qY UzrNQn5xpYH5NzNR6T8uTpMraUPR2rC1N0t5IoNIwFB2YXa0IlQwdTSx31Xs1iglL4j3 SYKZUeuzcgKdIX8kB66TYyu54hVVkxcRxW6jgdgvnVuySGQBftvEHTAy+StIRJ+T1eld 5Owg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=bG20qWr1KopjFq1IeoJ42UwYqiX/4LSFg24xVjBSNwI=; b=tq3tMaYLR4b6+u1KXLJtXdCN9J8qghbqMhO/NbNEcHw3Jm51QixGEerKoHTncZw5L1 L3DNaX/AD7/WwgQaGXMas/gq6ut4PqPu0414XKCwudQ0IxSMyUPtsnyxY6v1S9RkPbSh TtNzTUJswCNI6XXHmahiUwdf+ULkFHZE2hDZ7UbQNT33AVdIXqLfzmcACxSyjr5y1ugW 5vHIFb35m5QN7Rl7htyqFL1m8qCRfoZrdQDwd4+CJqyiZKczmEfunHaMV8BSeRp5ss/T hFz3x+TihPCnziZ+Zdp/84fBTtwfijuiD+Trod3r8SgxXEaUUR+MTaEK6yJcpv3ujLzk 01ng== X-Gm-Message-State: AOAM533dAxKZREpwxJMyYpojQZU4jxK+Se5ob3b65N6h81k+e38Sbsli 1WWr8T8GKHQrQglM7AxGF9r5n8+c/aQ1rwvA3quWRoTR51bAJw== X-Google-Smtp-Source: ABdhPJz6n/Y+kh7wdYXqd66YgZUJx9bCPS6g3XTtVqBeKaX3y+o0EzJZs52crZP0P/grdWIvBKMG9gXr27Jf2L39saI= X-Received: by 2002:aa7:82cf:0:b029:1cc:5393:ad8e with SMTP id f15-20020aa782cf0000b02901cc5393ad8emr10500401pfn.3.1612632848096; Sat, 06 Feb 2021 09:34:08 -0800 (PST) Received-SPF: pass client-ip=2607:f8b0:4864:20::432; envelope-from=andreyorst@gmail.com; helo=mail-pf1-x432.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:199443 Archived-At: --00000000000010cc2505baae5888 Content-Type: text/plain; charset="UTF-8" Hello. I'm experiencing major slowdown in Emacs -q fundamental mode when setting `mouse-wheel-progressive-speed' to `nil'. Here are reproduction steps: 1. Run emacs -q 2. Open some big file, in my case I've opened lisp-mode.el 3. Turn on fundamental-mode (optional) 4. Go to the end of the buffer. 5. Rapidly produce scroll up events from touchpad or mouse wheel (although it is much harder to achieve with mouse) with significant scroll amount. By significant scroll amount I mean continuous scrolling event from touchpad, which can be achieved by swiping over whole touchpad area very rapidly. 6. Observe that Emacs doesn't scroll almost at all and just waits until scroll events will stop. Then it scrolls correct amount. The delay I'm talking about is what bothers me. First, there's no delay at all when scrolling with scrollbars (provided by `scroll-bar-mode'). I can scroll with scrollbars as rapidly as I want, and there is literally no lag whatsoever. Second, when producing slow scrolling motion on touchpad or mouse (e.g. one line at a time) scrolling is very responsive. But I'm scrolling one line at a time very rarely so this is useless to me. Third, this bug also reproduces with default value of `mouse-wheel-progressive-speed', although it is a bit more difficult to catch this as it requires enormously big buffer for lag to build up, as scrolling increases in speed (seemingly) exponentially and can reach top of the buffer before lag builds up significantly. Last but not least, this also happens when scrolling down (to buffer end) but the lag seems to be smaller, yet it still noticeable. I've did some profiling during irresponsibility the amount of CPU samples is enormous, but down the tree, called functions don't consume much. Here's a fragment of report, and I've also attached profiler exported report to the mail: 4400 88% - command-execute 4359 87% - funcall-interactively 3776 75% - mwheel-scroll 26 0% mouse-wheel--get-scroll-window 26 0% - run-with-timer 23 0% - run-at-time 4 0% timer-set-time 1 0% timer-set-function 1 0% timer-activate 23 0% - scroll-up 12 0% - eval 8 0% - if 1 0% display-graphic-p 1 0% mode-line-eol-desc 19 0% - scroll-down 9 0% - eval 7 0% - if 1 0% frame-parameter 1 0% unless 15 0% - error-message-string 11 0% - substitute-command-keys 7 0% - # 4 0% - kill-buffer 2 0% - replace-buffer-in-windows 1 0% - unrecord-window-buffer 1 0% assq-delete-all 2 0% # 1 0% message 288 5% - scroll-bar-toolkit-scroll 264 5% - sit-for 10 0% - redisplay_internal (C function) 2 0% - eval 1 0% mode-line-eol-desc 1 0% if My wild guess is that touchpad sends much more input to Emacs, compared to mouse, and that's why scrolling function has to work with much more inputs and hence the struggle. I was under assumption that Emacs' font-lock was the culprit here, as disabling it kinda helps, but then I've managed to reproduce it without font locking and now I think that there might be another issue. Everything I've tested happened on GCC Emacs branch, but also happens (and actually a bit more noticeable in 27.1 and master branches). In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.13, cairo version 1.16.0) of 2021-01-17 built on toolbox Repository revision: 88100bed0af530f04cf56acca9f9d1bb12b45771 Repository branch: feature/native-comp Windowing system distributor 'Fedora Project', version 11.0.12010000 System Description: Fedora 33 (Workstation Edition) Configured using: 'configure --with-nativecomp --with-mailutils --prefix=/home/andreyorst/.local/emacs --bindir=/home/andreyorst/.local/bin '--program-transform-name=s/^ctags$/ctags.emacs/'' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Fundamental Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs auth-source eieio eieio-core eieio-loaddefs password-cache json map mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils jka-compr shortdoc text-property-search cl-indent comp comp-cstr warnings rx cl-seq cl-macs cl-extra seq byte-opt gv bytecomp byte-compile cconv inf-lisp comint ansi-color ring thingatpt profiler help-fns radix-tree cl-print debug backtrace help-mode find-func time-date subr-x vc-git diff-mode easymenu easy-mmode cl-loaddefs cl-lib iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face pcase macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process nativecomp emacs) Memory information: ((conses 16 120435 14545) (symbols 48 9569 1) (strings 32 28965 2841) (string-bytes 1 952843) (vectors 16 38276) (vector-slots 8 804855 15451) (floats 8 80 204) (intervals 56 3638 189) (buffers 984 12)) -- Best regards, Andrey Listopadov --00000000000010cc2505baae5888 Content-Type: application/octet-stream; name=report Content-Disposition: attachment; filename=report Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kktz31e50 Cltwcm9maWxlci1wcm9maWxlICIyOC4xIiBjcHUgI3MoaGFzaC10YWJsZSBzaXplIDk3IHRlc3Qg ZXF1YWwgcmVoYXNoLXNpemUgMS41IHJlaGFzaC10aHJlc2hvbGQgMC44MTI1IGRhdGEgKFtwcm9m aWxlci1yZXBvcnQtaW5zZXJ0LWNhbGx0cmVlLWNoaWxkcmVuIHByb2ZpbGVyLXJlcG9ydC1yZW5k ZXItY2FsbHRyZWUtMSBwcm9maWxlci1yZXBvcnQtcmVyZW5kZXItY2FsbHRyZWUgcHJvZmlsZXIt cmVwb3J0LXJlbmRlci1jYWxsdHJlZSBwcm9maWxlci1yZXBvcnQtc2V0dXAtYnVmZmVyIHByb2Zp bGVyLXJlcG9ydC1wcm9maWxlLW90aGVyLXdpbmRvdyBwcm9maWxlci1yZXBvcnQtY3B1IHByb2Zp bGVyLXJlcG9ydCBldmFsLWV4cHJlc3Npb24gZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQt ZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFtkaXNwbGF5LWJ1ZmZlci1wb3AtdXAtd2lu ZG93IGRpc3BsYXktYnVmZmVyLS1tYXliZS1wb3AtdXAtd2luZG93IGRpc3BsYXktYnVmZmVyLS1t YXliZS1wb3AtdXAtZnJhbWUtb3Itd2luZG93IGRpc3BsYXktYnVmZmVyIHBvcC10by1idWZmZXIg c3dpdGNoLXRvLWJ1ZmZlci1vdGhlci13aW5kb3cgcHJvZmlsZXItcmVwb3J0LXByb2ZpbGUtb3Ro ZXItd2luZG93IHByb2ZpbGVyLXJlcG9ydC1jcHUgcHJvZmlsZXItcmVwb3J0IGV2YWwtZXhwcmVz c2lvbiBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5p bF0gNiBbbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsXSA2NTM5IFtyZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p bF0gMzcgW3RpbWVyLWFjdGl2YXRlIHRpbWVyLWV2ZW50LWhhbmRsZXIgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbbXdoZWVsLXNjcm9s bCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMzY2NCBbbW91c2Utd2hlZWwtLWdl dC1zY3JvbGwtd2luZG93IG13aGVlbC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1h bmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p bF0gMjYgW2V2YWwgcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9uXCkgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMyBbc2Nyb2xs LXVwIG13aGVlbC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMTEgW2lmIGV2 YWwgcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5p bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAyMyBbcnVuLWF0LXRpbWUgcnVuLXdp dGgtdGltZXIgbXdoZWVsLXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVj dXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDE3IFtrZXlt YXAtY2Fub25pY2FsaXplIHJlZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwpIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDMgWyIj PHN1YnIgRjYxNmU2ZjZlNzk2ZDZmNzU3MzJkNmM2MTZkNjI2NDYxX2Fub255bW91c19sYW1iZGFf MTA+IiBhcHBseSB0aW1lci1ldmVudC1oYW5kbGVyIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMyBbZXZhbCBzY3JvbGwtZG93biBtd2hlZWwtc2Ny b2xsIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbIiM8Y29tcGlsZWQgLTB4ZDJkZDY2YzI3 ZDIzMWY4PiIgbXdoZWVsLXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVj dXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAyIFsi Izxjb21waWxlZCAweDY2MDdhYjc1MjBhOThiND4iIHJlZGlzcGxheS0tdXBkYXRlLXJlZ2lvbi1o aWdobGlnaHQgcnVuLWhvb2std2l0aC1hcmdzIHJlZGlzcGxheS0tcHJlLXJlZGlzcGxheS1mdW5j dGlvbnMgYXBwbHkgIiM8Y29tcGlsZWQgMHgxMzQyZWRkNWI1NzQ1YmVmPiIgcmVkaXNwbGF5X2lu dGVybmFsXCBcKENcIGZ1bmN0aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWxdIDQgW3dpbmRvdy1waXhlbC1lZGdlcyB3aW5kb3ctYXQtc2lkZS1wIG1vZGUtbGluZS1kZWZh dWx0LWhlbHAtZWNobyByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNSBbc2Nyb2xsLWRvd24g bXdoZWVsLXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxMCBbaWYgZXZhbCBz Y3JvbGwtdXAgbXdoZWVsLXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVj dXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNyBbdG9vbC1iYXIt bWFrZS1rZXltYXAtMSB0b29sLWJhci1tYWtlLWtleW1hcCByZWRpc3BsYXlfaW50ZXJuYWxcIFwo Q1wgZnVuY3Rpb25cKSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWxdIDMgW3JlZGlzcGxheS0tdXBkYXRlLXJlZ2lvbi1oaWdobGlnaHQgcnVuLWhvb2st d2l0aC1hcmdzIHJlZGlzcGxheS0tcHJlLXJlZGlzcGxheS1mdW5jdGlvbnMgYXBwbHkgIiM8Y29t cGlsZWQgMHgxMzQyZWRkNWI1NzQ1YmVmPiIgcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0 aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFtmcmFtZS1w YXJhbWV0ZXIgaWYgZXZhbCBzY3JvbGwtZG93biBtd2hlZWwtc2Nyb2xsIGZ1bmNhbGwtaW50ZXJh Y3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWxdIDEgW2ludGVybmFsLXRpbWVyLXN0YXJ0LWlkbGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDIgW3J1bi1hdC10aW1lIHJ1bi13 aXRoLXRpbWVyIGJsaW5rLWN1cnNvci0tc3RhcnQtdGltZXIgYmxpbmstY3Vyc29yLXN0YXJ0IGFw cGx5IHRpbWVyLWV2ZW50LWhhbmRsZXIgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsXSAxIFttb2RlLWxpbmUtZW9sLWRlc2MgZXZhbCBzY3JvbGwtdXAgbXdoZWVsLXNjcm9s bCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBba2lsbC10aGlzLWJ1ZmZlci1lbmFibGVkLXAgcmVk aXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMiBbbXdoZWVsLWZpbHRlci1jbGljay1l dmVudHMgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWxdIDEgW2lmIGV2YWwgc2Nyb2xsLWRvd24gbXdoZWVsLXNjcm9sbCBmdW5jYWxsLWlu dGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbF0gNiBbZXZhbCBzY3JvbGwtdXAgbXdoZWVsLXNjcm9sbCBmdW5jYWxsLWludGVy YWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWxdIDMgWyIjPGNvbXBpbGVkIC0weDQwN2Y5YmQ1NDk3NjIxYT4iIGludGVybmFs LWVjaG8ta2V5c3Ryb2tlcy1wcmVmaXggbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbdW5kby1hdXRvLS1hZGQtYm91bmRhcnkgbmlsIG5p bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEg W3RpbWVyLXNldC1mdW5jdGlvbiBydW4tYXQtdGltZSBydW4td2l0aC10aW1lciBtd2hlZWwtc2Ny b2xsIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFtmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFu ZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWxdIDYgW3RpbWVyLXNldC10aW1lIHJ1bi1hdC10aW1lIHJ1bi13aXRoLXRpbWVyIG13 aGVlbC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDQgW3RpbWVyLWluYy10aW1lIHRpbWVy LWV2ZW50LWhhbmRsZXIgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p bCBuaWwgbmlsIG5pbF0gMSBbdG9vbHRpcC1zaG93LWhlbHAgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEgW3J1bi13aXRoLWlkbGUt dGltZXIgYmxpbmstY3Vyc29yLS1zdGFydC1pZGxlLXRpbWVyIGJsaW5rLWN1cnNvci1jaGVjayBi bGluay1jdXJzb3ItLXJlc2Nhbi1mcmFtZXMgYXBwbHkgIiM8Y29tcGlsZWQgMHgxYmMyZWI2Y2E5 OWM2YTM5PiIgaGFuZGxlLWZvY3VzLWluIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4 ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFttb2RlLWxpbmUtZGVmYXVsdC1o ZWxwLWVjaG8gcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9uXCkgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMiBbbXdoZWVsLWlu aGliaXQtY2xpY2stdGltZW91dCBhcHBseSB0aW1lci1ldmVudC1oYW5kbGVyIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbbW91c2UtLWNsaWNr LTEtbWF5YmUtZm9sbG93cy1saW5rIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFtzaXQtZm9yIHNjcm9sbC1iYXItdG9vbGtpdC1z Y3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjU0IFt3aW5kb3ctYXQtc2lkZS1w IG1vZGUtbGluZS1kZWZhdWx0LWhlbHAtZWNobyByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wgZnVu Y3Rpb25cKSBzaXQtZm9yIHNjcm9sbC1iYXItdG9vbGtpdC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFj dGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p bF0gMSBbIiM8c3ViciBGNjE2ZTZmNmU3OTZkNmY3NTczMmQ2YzYxNmQ2MjY0NjFfYW5vbnltb3Vz X2xhbWJkYV8wPiIgaW50ZXJuYWwtLWJlZm9yZS1zYXZlLXNlbGVjdGVkLXdpbmRvdyBzY3JvbGwt YmFyLXRvb2xraXQtc2Nyb2xsIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbc2Nyb2xsLWJh ci10b29sa2l0LXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5p bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMjEgW21v ZGUtbGluZS1lb2wtZGVzYyBldmFsIHJlZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwp IHNpdC1mb3Igc2Nyb2xsLWJhci10b29sa2l0LXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkg Y29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFtp ZiBldmFsIHJlZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwpIHNpdC1mb3Igc2Nyb2xs LWJhci10b29sa2l0LXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRl IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFsiIzxjb21waWxlZCAweDY2 MDdhYjc1MjBhOThiND4iIHJlZGlzcGxheS0tdXBkYXRlLXJlZ2lvbi1oaWdobGlnaHQgcnVuLWhv b2std2l0aC1hcmdzIHJlZGlzcGxheS0tcHJlLXJlZGlzcGxheS1mdW5jdGlvbnMgYXBwbHkgIiM8 Y29tcGlsZWQgMHgxMzQyZWRkNWI1NzQ1YmVmPiIgcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1 bmN0aW9uXCkgc2l0LWZvciBzY3JvbGwtYmFyLXRvb2xraXQtc2Nyb2xsIGZ1bmNhbGwtaW50ZXJh Y3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbZnJhbWVzLW9u LWRpc3BsYXktbGlzdCAiIzxzdWJyIEY2MTZlNmY2ZTc5NmQ2Zjc1NzMyZDZjNjE2ZDYyNjQ2MV9h bm9ueW1vdXNfbGFtYmRhXzA+IiBpbnRlcm5hbC0tYmVmb3JlLXNhdmUtc2VsZWN0ZWQtd2luZG93 IHNjcm9sbC1iYXItdG9vbGtpdC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQt ZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEgW3JlZGlz cGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwpIHNpdC1mb3Igc2Nyb2xsLWJhci10b29sa2l0 LXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDMgW21lc3NhZ2UgbXdoZWVsLXNjcm9s bCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFsiIzxjb21waWxlZCAtMHgxZmM3MDhj YzZiOGE5YTczPiIgc3Vic3RpdHV0ZS1jb21tYW5kLWtleXMgZXJyb3ItbWVzc2FnZS1zdHJpbmcg bXdoZWVsLXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMyBba2lsbC1idWZmZXIgIiM8Y29t cGlsZWQgLTB4MWZjNzA4ZDllYmVhMDY3Mz4iIHN1YnN0aXR1dGUtY29tbWFuZC1rZXlzIGVycm9y LW1lc3NhZ2Utc3RyaW5nIG13aGVlbC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1h bmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMiBbZXJyb3It bWVzc2FnZS1zdHJpbmcgbXdoZWVsLXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFu ZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls XSA0IFthcHBseSAiIzxjb21waWxlZCAweDEzNDJlZGQ1YjU3NDViZWY+IiByZWRpc3BsYXlfaW50 ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5p bCBuaWwgbmlsIG5pbCBuaWxdIDQgW3N1YnN0aXR1dGUtY29tbWFuZC1rZXlzIGVycm9yLW1lc3Nh Z2Utc3RyaW5nIG13aGVlbC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhl Y3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA0IFtyZXBs YWNlLWJ1ZmZlci1pbi13aW5kb3dzIGtpbGwtYnVmZmVyICIjPGNvbXBpbGVkIC0weDFmYzcwOGNk MmVjZTlhNzM+IiBzdWJzdGl0dXRlLWNvbW1hbmQta2V5cyBlcnJvci1tZXNzYWdlLXN0cmluZyBt d2hlZWwtc2Nyb2xsIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5p bCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbbW9kZS1saW5lLWVvbC1kZXNjIGV2YWwgcmVk aXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAyIFsiIzxjb21waWxlZCAtMHgxNjg4NmNlN2Fk OTBkNTJkPiIgYXBwbHkgZ3VpLWJhY2tlbmQtc2VsZWN0aW9uLWV4aXN0cy1wICIjPGNvbXBpbGVk IC0weDRjMmYzMDZjYzQ4YmRiNT4iIGZ1bmNhbGwgcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1 bmN0aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFtpbnRl cm5hbC1lY2hvLWtleXN0cm9rZXMtcHJlZml4IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA0IFt0aW1lci1hY3RpdmF0ZSBydW4tYXQt dGltZSBydW4td2l0aC10aW1lciBtd2hlZWwtc2Nyb2xsIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBj b21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAx IFt3aW5kb3ctYXQtc2lkZS1wIG1vZGUtbGluZS1kZWZhdWx0LWhlbHAtZWNobyByZWRpc3BsYXlf aW50ZXJuYWxcIFwoQ1wgZnVuY3Rpb25cKSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEgW3Rvb2x0aXAtc2hvdyB0b29sdGlwLWhlbHAtdGlwcyB0 b29sdGlwLXRpbWVvdXQgYXBwbHkgdGltZXItZXZlbnQtaGFuZGxlciBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFt4LXNob3ctdGlwIHRvb2x0aXAtc2hvdyB0 b29sdGlwLWhlbHAtdGlwcyB0b29sdGlwLXRpbWVvdXQgYXBwbHkgdGltZXItZXZlbnQtaGFuZGxl ciBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEgW3Rvb2wtYmFyLW1h a2Uta2V5bWFwIHJlZGlzcGxheV9pbnRlcm5hbFwgXChDXCBmdW5jdGlvblwpIHNpdC1mb3Igc2Ny b2xsLWJhci10b29sa2l0LXNjcm9sbCBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVj dXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbIiM8Y29tcGls ZWQgMHgxZmNjN2Y2MWVjMmUyPiIgc2Nyb2xsLWJhci10b29sa2l0LXNjcm9sbCBmdW5jYWxsLWlu dGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsXSAxIFsiIzxjb21waWxlZCAtMHgxNjg4NmNlN2FkOTBkNTJkPiIg YXBwbHkgZ3VpLWJhY2tlbmQtc2VsZWN0aW9uLWV4aXN0cy1wICIjPGNvbXBpbGVkIC0weDRjMmYz MDZjYzQ4YmRiNT4iIGZ1bmNhbGwgcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0aW9uXCkg c2l0LWZvciBzY3JvbGwtYmFyLXRvb2xraXQtc2Nyb2xsIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBj b21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDIgW3J1bi13aXRoLXRpbWVy IG13aGVlbC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMyBbcnVuLWhvb2st d2l0aC1hcmdzIHJlZGlzcGxheS0tcHJlLXJlZGlzcGxheS1mdW5jdGlvbnMgYXBwbHkgIiM8Y29t cGlsZWQgMHgxMzQyZWRkNWI1NzQ1YmVmPiIgcmVkaXNwbGF5X2ludGVybmFsXCBcKENcIGZ1bmN0 aW9uXCkgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gNCBbdGlt ZXItZXZlbnQtaGFuZGxlciBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbc2F2ZS1idWZmZXJzLWtpbGwtZW1hY3MgaGFuZGxlLWRl bGV0ZS1mcmFtZSBmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSA2IFtzYXZlLXNvbWUtYnVm ZmVycyBzYXZlLWJ1ZmZlcnMta2lsbC1lbWFjcyBoYW5kbGUtZGVsZXRlLWZyYW1lIGZ1bmNhbGwt aW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbF0gMTMzIFsiIzxjb21waWxlZCAweDFmNDBkNzIyMjI3YT4iIHNhdmUt c29tZS1idWZmZXJzIHNhdmUtYnVmZmVycy1raWxsLWVtYWNzIGhhbmRsZS1kZWxldGUtZnJhbWUg ZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEgW2hhbmRsZS1kZWxldGUtZnJhbWUgZnVuY2FsbC1pbnRl cmFjdGl2ZWx5IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEzNCBbZXZhbCByZWRpc3BsYXlfaW50ZXJuYWxcIFwoQ1wg ZnVuY3Rpb25cKSBzYXZlLWJ1ZmZlcnMta2lsbC1lbWFjcyBoYW5kbGUtZGVsZXRlLWZyYW1lIGZ1 bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsXSAxIFtoYW5kbGUtZm9jdXMtb3V0IGZ1bmNhbGwtaW50ZXJhY3Rp dmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsXSAxIFt0aW1lci1zZXQtaWRsZS10aW1lIHJ1bi13aXRoLWlkbGUtdGlt ZXIgYmxpbmstY3Vyc29yLS1zdGFydC1pZGxlLXRpbWVyIGJsaW5rLWN1cnNvci1jaGVjayBibGlu ay1jdXJzb3ItLXJlc2Nhbi1mcmFtZXMgYXBwbHkgIiM8Y29tcGlsZWQgMHgxYmMyZWI2Y2E5OWM2 YTM5PiIgaGFuZGxlLWZvY3VzLWluIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1 dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEgW3VuZG8tYXV0by0tYm91bmRhcmllcyB1bmRv LWF1dG8tLWFkZC1ib3VuZGFyeSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsXSAxIFt1bmxlc3MgZXZhbCBzY3JvbGwtZG93biBtd2hlZWwtc2Ny b2xsIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmls IG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsXSAxIFthc3NxLWRlbGV0ZS1hbGwgdW5yZWNvcmQtd2lu ZG93LWJ1ZmZlciByZXBsYWNlLWJ1ZmZlci1pbi13aW5kb3dzIGtpbGwtYnVmZmVyICIjPGNvbXBp bGVkIC0weDFmYzcwOGRhMmY5ZDNlNzM+IiBzdWJzdGl0dXRlLWNvbW1hbmQta2V5cyBlcnJvci1t ZXNzYWdlLXN0cmluZyBtd2hlZWwtc2Nyb2xsIGZ1bmNhbGwtaW50ZXJhY3RpdmVseSBjb21tYW5k LWV4ZWN1dGUgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxdIDEgW2Rpc3BsYXktZ3JhcGhpYy1wIGlm IGV2YWwgc2Nyb2xsLXVwIG13aGVlbC1zY3JvbGwgZnVuY2FsbC1pbnRlcmFjdGl2ZWx5IGNvbW1h bmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbF0gMSBbYnl0ZS1j b2RlIGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWwgbmlsXSAxOSBbZm9udC1sb2NrLW1vZGUgdHVybi1vbi1mb250LWxvY2sg dHVybi1vbi1mb250LWxvY2staWYtZGVzaXJlZCBnbG9iYWwtZm9udC1sb2NrLW1vZGUtZW5hYmxl LWluLWJ1ZmZlcnMgcnVuLWhvb2tzIHJ1bi1tb2RlLWhvb2tzIG1pbmlidWZmZXItaW5hY3RpdmUt bW9kZSByZWFkLS1leHByZXNzaW9uIGJ5dGUtY29kZSBjb21tYW5kLWV4ZWN1dGUgbmlsIG5pbCBu aWwgbmlsIG5pbCBuaWxdIDEgW3JlYWQtLWV4cHJlc3Npb24gYnl0ZS1jb2RlIGNvbW1hbmQtZXhl Y3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWxd IDIwIFtmdW5jYWxsLWludGVyYWN0aXZlbHkgY29tbWFuZC1leGVjdXRlIHJlYWQtLWV4cHJlc3Np b24gYnl0ZS1jb2RlIGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWwgbmlsXSAxIFtldmFsLWV4cHJlc3Npb24gZnVuY2FsbC1pbnRlcmFjdGl2ZWx5 IGNvbW1hbmQtZXhlY3V0ZSBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwgbmlsIG5pbCBuaWwg bmlsIG5pbCBuaWxdIDQgW0F1dG9tYXRpY1wgR0NdIDQ3NSkpICgyNDYwNiA1MTQxNyAyNTQzNjgg NjYyMDAwKSBuaWxdCg== --00000000000010cc2505baae5888--