From unknown Sun Jun 15 08:14:00 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#31995 <31995@debbugs.gnu.org> To: bug#31995 <31995@debbugs.gnu.org> Subject: Status: Condition-case can't catch C stack overflow Reply-To: bug#31995 <31995@debbugs.gnu.org> Date: Sun, 15 Jun 2025 15:14:00 +0000 retitle 31995 Condition-case can't catch C stack overflow reassign 31995 emacs submitter 31995 Sheng Yang (=E6=9D=A8=E5=9C=A3) severity 31995 normal tag 31995 wontfix thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 28 13:01:32 2018 Received: (at submit) by debbugs.gnu.org; 28 Jun 2018 17:01:32 +0000 Received: from localhost ([127.0.0.1]:38811 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fYaIW-0005Lz-6j for submit@debbugs.gnu.org; Thu, 28 Jun 2018 13:01:32 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35170) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fYaCq-0005C8-IJ for submit@debbugs.gnu.org; Thu, 28 Jun 2018 12:55:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYaCV-00073G-Mg for submit@debbugs.gnu.org; Thu, 28 Jun 2018 12:55:35 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: ** X-Spam-Status: No, score=2.0 required=5.0 tests=BAYES_50, FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,FROM_EXCESS_BASE64,HTML_MESSAGE, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:58207) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fYaCU-00070J-Ow for submit@debbugs.gnu.org; Thu, 28 Jun 2018 12:55:19 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54223) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fYaCE-0004Sx-Kr for bug-gnu-emacs@gnu.org; Thu, 28 Jun 2018 12:55:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fYaBy-0005z8-Ii for bug-gnu-emacs@gnu.org; Thu, 28 Jun 2018 12:55:02 -0400 Received: from mail-pg0-x22f.google.com ([2607:f8b0:400e:c05::22f]:45517) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fYaBx-0005ti-K7 for bug-gnu-emacs@gnu.org; Thu, 28 Jun 2018 12:54:46 -0400 Received: by mail-pg0-x22f.google.com with SMTP id z1-v6so2718305pgv.12 for ; Thu, 28 Jun 2018 09:54:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:subject:from:openpgp:autocrypt:message-id:date:user-agent :mime-version:content-language; bh=IFF6nwDiEPgnQN8gQ+o/2YdN41gPYZ5W/HdCePa5IqY=; b=WYnFnbyZr6jtxu8Wq1JP3D4QXeAiJf6CM6pyIApkMv3XwtmF4pSjV77UtcDXCdlKCI D8Li2HLzKHH4S3SYd6PAZEeFBybJrllwwTxzykWCYbAyqohY6qXTQljTAKZOeOJT8X57 KCzqnOqtAeRKfIEbWcpelj9yHBDAWyRbbJayK1oUoikAEpesOmbq6dtpSxpeVoNk5FJy d7H2qSk7w84AnZadWTlKN5FnDdAUTFKPgMnmX9LasKwU2K8JhD/tRMHL00AZqGyZEiux TqnqneydzCBkbMUuOd3GTdJK8wPF0M+yX8of4HTtWQPTmoi1jbh8SNXJsLL3WlbAFU4K 4Kuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:subject:from:openpgp:autocrypt:message-id :date:user-agent:mime-version:content-language; bh=IFF6nwDiEPgnQN8gQ+o/2YdN41gPYZ5W/HdCePa5IqY=; b=QmKkGrbElX1j5j23JPxmHTsgFu2a81NUBRBz0w9tbjQ8Fw4TCL8NolyHm1zLUDkb6t 1mVj7pD40WHNc67NatpFI5q1HzQJ+jyJg+1L1ZySv3b/9BjYApgoXG/O9t0hwe33fiiD wvku8sNJg+mFGRW/QrJyUCj76Fs6UnRhA1AXuDu98+cZlhLELyprrHAp00+Mkx6lYP5Y PQR+bKrEC7TjTmfx8xiL/LEyW3IcqJ4H00PlYOzilulzbBlche0AJ7O2r7SA1X5IU8hn Li8ZLWD6SEjNqelCsR132f+jl2MzKremuk1/Cd60FOfcCpkvsrA1YDFJnAfsQY70bXNX 0ZQA== X-Gm-Message-State: APt69E3QHgun/8xWmzl+UrkHF8vDoONNN4RN1mlV4Qy58htLb35o2RVL xDfHL54/9jw7dDDvq6CMCvRgYNrq X-Google-Smtp-Source: AAOMgpfZ9gqzQdRS1LkFQwSqjTrWDcnQD7EjxN59uL7xc0ypAETFHQvFmQYbmhGEL6xi3ajterAuTA== X-Received: by 2002:a62:c4c3:: with SMTP id h64-v6mr1231985pfk.39.1530204883333; Thu, 28 Jun 2018 09:54:43 -0700 (PDT) Received: from [10.250.87.225] ([130.65.254.7]) by smtp.googlemail.com with ESMTPSA id t4-v6sm13376902pfe.91.2018.06.28.09.54.41 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 28 Jun 2018 09:54:42 -0700 (PDT) To: bug-gnu-emacs@gnu.org Subject: 26.1; Condition-case failed to catch error From: =?UTF-8?B?U2hlbmcgWWFuZyAo5p2o5ZyjKQ==?= Openpgp: preference=signencrypt Autocrypt: addr=yangsheng6810@gmail.com; prefer-encrypt=mutual; keydata= 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 DhX8HQ== Message-ID: <0af47dad-c396-7e0d-04e2-ba029a5a37d8@gmail.com> Date: Thu, 28 Jun 2018 09:54:41 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------8BBD5ADCBD0CCA404C75C2F4" Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Thu, 28 Jun 2018 13:01:29 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" This is a multi-part message in MIME format. --------------8BBD5ADCBD0CCA404C75C2F4 Content-Type: multipart/alternative; boundary="------------287B7941111E7B1D31030AB7" --------------287B7941111E7B1D31030AB7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I was trying to read code of undo-tree when I encounter this problem. Here is a somewhat simplified version with some debug output (and the offending undo-tree file can be found in attachment or at https://dimlight.tk/~yangsheng/undo-tree): ''' (defun load-undo-tree-history ()    (interactive)    (let ((filename "~/undo-tree"))      (with-temp-buffer        (insert-file-contents filename)        (goto-char (point-min))        (condition-case err          (progn            (message "before reading hash")            (setq hash (read (current-buffer)))            (message "before reading tree")            (setq tree (read (current-buffer)))            (message "after reading tree"))          (error (message "error caught")))        (message "outside condition-case")     (kill-buffer nil)))) ''' The undo-tree file contains two lines, the first is a hash, and the second is a undo-tree structure printed with ~prin1~. Some error will happen in the second ~(read (current-buffer))~, so the expected behavior is the following output: ''' before reading hash before reading tree error caught outside condition-case ''' However, here is what I get. ''' before reading hash before reading tree Re-entering top level after C stack overflow ''' It seems that the function call ~(read (current-buffer))~ causes C stack overflow. Though I personally believe the undo-tree file is not corrupted, I assume this error should be caught by condition-case even if the file to read is indeed corrupted. I bisected with git (using current master head d0e2a341dd) and found the first commit that introduced this (not exactly the same) problem was commit f0a1e9ec3fba3d5bea5bd62f525dba3fb005d1b1 Author: Paul Eggert Date: Thu Dec 8 11:32:48 2016 -0800 Make read1 more reentrant This is needed if ‘read’ is called soon after startup, before the Unicode tables have been set up, and it reads a \N escape and needs to look up a value the Unicode tables, a lookup that in turn calls read1 recursively. Although this change doesn’t make ‘read’ fully reentrant, it’s good enough to handle this case. ,* src/lread.c (read_buffer_size, read_buffer): Remove static vars. (grow_read_buffer): Revamp to use locals, not statics, and to record memory allocation un the specpdl. All callers changed. (read1): Start with a stack-based buffer, and use the heap only if the stack buffer is too small. Use unbind_to to free any heap buffer allocated. Use bool for boolean. Redo symbol loop so that only one call to grow_read_buffer is needed. (init_obarray): Remove no-longer-needed initialization. Starting from this commit, the previous elisp code will crash emacs. An attempt to fix this problem is commit 9dee1c884eb50ba282eb9dd2495c5269add25963 Author: Paul Eggert Date: Fri Jul 14 04:54:05 2017 -0700 Improve stack-overflow heuristic on GNU/Linux Problem reported by Steve Kemp (Bug#27585). ,* src/eval.c (near_C_stack_top): Remove. All uses replaced by current_thread->stack_top. (record_in_backtrace): Set current_thread->stack_top. This is for when the Lisp interpreter calls itself. ,* src/lread.c (read1): Set current_thread->stack_top. This is for recursive s-expression reads. ,* src/print.c (print_object): Set current_thread->stack_top. This is for recursive s-expression printing. ,* src/thread.c (mark_one_thread): Get stack top first. ,* src/thread.h (struct thread_state.stack_top): Now void *, not char *. This commit fixed the crashing problem, but error catching still does not work. As indicated in commit 9dee1c88, this commit tries to fix Bug#27585, where Steve Kemp triggered it with a huge number of '`' or ',' . Wrapping these '`' or ',' with condition-case can also trigger the problem. Configured using: 'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib --localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules 'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2 LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 MODULES THREADS LIBSYSTEMD LCMS2 Important settings: value of $LANG: zh_CN.utf-8 value of $XMODIFIERS: @im=fcitx locale-coding-system: utf-8-unix Major mode: Spacemacs buffer Minor modes in effect: highlight-changes-visible-mode: t TeX-PDF-mode: t TeX-source-correlate-mode: t global-vi-tilde-fringe-mode: t pupo-mode: t purpose-mode: t spaceline-info-mode: t spaceline-helm-mode: t projectile-mode: t company-statistics-mode: t eval-sexp-fu-flash-mode: t global-semanticdb-minor-mode: t recentf-mode: t global-semantic-idle-scheduler-mode: t global-semantic-idle-summary-mode: t flycheck-pos-tip-mode: t global-flycheck-mode: t yas-global-mode: t yas-minor-mode: t global-atomic-chrome-edit-mode: t dired-omit-mode: t engine-mode: t company-quickhelp-mode: t company-quickhelp-local-mode: t pdf-occur-global-minor-mode: t global-semantic-stickyfunc-mode: t semantic-mode: t show-smartparens-global-mode: t show-smartparens-mode: t flyspell-lazy-mode: t global-magit-file-mode: t diff-auto-refine-mode: t winner-mode: t winum-mode: t save-place-mode: t savehist-mode: t persp-mode: t global-pangu-spacing-mode: t pangu-spacing-mode: t global-git-gutter+-mode: t global-git-commit-mode: t async-bytecomp-package-mode: t flx-ido-mode: t eyebrowse-mode: t global-evil-surround-mode: t evil-surround-mode: t evil-lion-mode: t evil-escape-mode: t global-anzu-mode: t anzu-mode: t editorconfig-mode: t counsel-mode: t ivy-mode: t clean-aindent-mode: t ace-pinyin-global-mode: t ace-pinyin-mode: t which-key-mode: t override-global-mode: t global-undo-tree-mode: t undo-tree-mode: t evil-mode: t evil-local-mode: t spacemacs-leader-override-mode: t global-spacemacs-leader-override-mode: t global-hl-line-mode: t xterm-mouse-mode: t global-auto-revert-mode: t shell-dirtrack-mode: t ido-vertical-mode: t global-page-break-lines-mode: t page-break-lines-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-plot hides /usr/share/emacs/26.1/lisp/org/org-plot /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-stan hides /usr/share/emacs/26.1/lisp/org/ob-stan /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-processing hides /usr/share/emacs/26.1/lisp/org/ob-processing /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-colview hides /usr/share/emacs/26.1/lisp/org/org-colview /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-man hides /usr/share/emacs/26.1/lisp/org/ox-man /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-org hides /usr/share/emacs/26.1/lisp/org/ox-org /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-makefile hides /usr/share/emacs/26.1/lisp/org/ob-makefile /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-org hides /usr/share/emacs/26.1/lisp/org/ob-org /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-gnus hides /usr/share/emacs/26.1/lisp/org/org-gnus /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-sed hides /usr/share/emacs/26.1/lisp/org/ob-sed /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-java hides /usr/share/emacs/26.1/lisp/org/ob-java /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-latex hides /usr/share/emacs/26.1/lisp/org/ox-latex /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-habit hides /usr/share/emacs/26.1/lisp/org/org-habit /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-feed hides /usr/share/emacs/26.1/lisp/org/org-feed /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-duration hides /usr/share/emacs/26.1/lisp/org/org-duration /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-calc hides /usr/share/emacs/26.1/lisp/org/ob-calc /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-css hides /usr/share/emacs/26.1/lisp/org/ob-css /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-protocol hides /usr/share/emacs/26.1/lisp/org/org-protocol /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-timer hides /usr/share/emacs/26.1/lisp/org/org-timer /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-J hides /usr/share/emacs/26.1/lisp/org/ob-J /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-icalendar hides /usr/share/emacs/26.1/lisp/org/ox-icalendar /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-forth hides /usr/share/emacs/26.1/lisp/org/ob-forth /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-C hides /usr/share/emacs/26.1/lisp/org/ob-C /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-lilypond hides /usr/share/emacs/26.1/lisp/org/ob-lilypond /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-list hides /usr/share/emacs/26.1/lisp/org/org-list /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-inlinetask hides /usr/share/emacs/26.1/lisp/org/org-inlinetask /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-loaddefs hides /usr/share/emacs/26.1/lisp/org/org-loaddefs /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-agenda hides /usr/share/emacs/26.1/lisp/org/org-agenda /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-ctags hides /usr/share/emacs/26.1/lisp/org/org-ctags /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-ascii hides /usr/share/emacs/26.1/lisp/org/ox-ascii /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-indent hides /usr/share/emacs/26.1/lisp/org/org-indent /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-gnuplot hides /usr/share/emacs/26.1/lisp/org/ob-gnuplot /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-mobile hides /usr/share/emacs/26.1/lisp/org/org-mobile /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-info hides /usr/share/emacs/26.1/lisp/org/org-info /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-irc hides /usr/share/emacs/26.1/lisp/org/org-irc /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ledger hides /usr/share/emacs/26.1/lisp/org/ob-ledger /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-asymptote hides /usr/share/emacs/26.1/lisp/org/ob-asymptote /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-io hides /usr/share/emacs/26.1/lisp/org/ob-io /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-fortran hides /usr/share/emacs/26.1/lisp/org/ob-fortran /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox hides /usr/share/emacs/26.1/lisp/org/ox /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-w3m hides /usr/share/emacs/26.1/lisp/org/org-w3m /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-compat hides /usr/share/emacs/26.1/lisp/org/org-compat /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-mouse hides /usr/share/emacs/26.1/lisp/org/org-mouse /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-sass hides /usr/share/emacs/26.1/lisp/org/ob-sass /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ocaml hides /usr/share/emacs/26.1/lisp/org/ob-ocaml /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-faces hides /usr/share/emacs/26.1/lisp/org/org-faces /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-python hides /usr/share/emacs/26.1/lisp/org/ob-python /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-perl hides /usr/share/emacs/26.1/lisp/org/ob-perl /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-vala hides /usr/share/emacs/26.1/lisp/org/ob-vala /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-scheme hides /usr/share/emacs/26.1/lisp/org/ob-scheme /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ref hides /usr/share/emacs/26.1/lisp/org/ob-ref /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-footnote hides /usr/share/emacs/26.1/lisp/org/org-footnote /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-entities hides /usr/share/emacs/26.1/lisp/org/org-entities /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-element hides /usr/share/emacs/26.1/lisp/org/org-element /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-table hides /usr/share/emacs/26.1/lisp/org/ob-table /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-crypt hides /usr/share/emacs/26.1/lisp/org/org-crypt /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-publish hides /usr/share/emacs/26.1/lisp/org/ox-publish /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-clock hides /usr/share/emacs/26.1/lisp/org/org-clock /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-R hides /usr/share/emacs/26.1/lisp/org/ob-R /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-src hides /usr/share/emacs/26.1/lisp/org/org-src /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ebnf hides /usr/share/emacs/26.1/lisp/org/ob-ebnf /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-macs hides /usr/share/emacs/26.1/lisp/org/org-macs /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-clojure hides /usr/share/emacs/26.1/lisp/org/ob-clojure /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-haskell hides /usr/share/emacs/26.1/lisp/org/ob-haskell /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-tangle hides /usr/share/emacs/26.1/lisp/org/ob-tangle /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-rmail hides /usr/share/emacs/26.1/lisp/org/org-rmail /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-bbdb hides /usr/share/emacs/26.1/lisp/org/org-bbdb /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-bibtex hides /usr/share/emacs/26.1/lisp/org/org-bibtex /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-lob hides /usr/share/emacs/26.1/lisp/org/ob-lob /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-groovy hides /usr/share/emacs/26.1/lisp/org/ob-groovy /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-lua hides /usr/share/emacs/26.1/lisp/org/ob-lua /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-lisp hides /usr/share/emacs/26.1/lisp/org/ob-lisp /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-html hides /usr/share/emacs/26.1/lisp/org/ox-html /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-keys hides /usr/share/emacs/26.1/lisp/org/ob-keys /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ruby hides /usr/share/emacs/26.1/lisp/org/ob-ruby /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-mscgen hides /usr/share/emacs/26.1/lisp/org/ob-mscgen /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-abc hides /usr/share/emacs/26.1/lisp/org/ob-abc /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-core hides /usr/share/emacs/26.1/lisp/org/ob-core /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-maxima hides /usr/share/emacs/26.1/lisp/org/ob-maxima /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ditaa hides /usr/share/emacs/26.1/lisp/org/ob-ditaa /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob hides /usr/share/emacs/26.1/lisp/org/ob /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-sqlite hides /usr/share/emacs/26.1/lisp/org/ob-sqlite /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-eshell hides /usr/share/emacs/26.1/lisp/org/org-eshell /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-lint hides /usr/share/emacs/26.1/lisp/org/org-lint /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-table hides /usr/share/emacs/26.1/lisp/org/org-table /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-datetree hides /usr/share/emacs/26.1/lisp/org/org-datetree /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-js hides /usr/share/emacs/26.1/lisp/org/ob-js /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-md hides /usr/share/emacs/26.1/lisp/org/ox-md /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-beamer hides /usr/share/emacs/26.1/lisp/org/ox-beamer /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-hledger hides /usr/share/emacs/26.1/lisp/org/ob-hledger /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-odt hides /usr/share/emacs/26.1/lisp/org/ox-odt /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-dot hides /usr/share/emacs/26.1/lisp/org/ob-dot /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-archive hides /usr/share/emacs/26.1/lisp/org/org-archive /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-pcomplete hides /usr/share/emacs/26.1/lisp/org/org-pcomplete /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-shen hides /usr/share/emacs/26.1/lisp/org/ob-shen /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-texinfo hides /usr/share/emacs/26.1/lisp/org/ox-texinfo /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-octave hides /usr/share/emacs/26.1/lisp/org/ob-octave /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-picolisp hides /usr/share/emacs/26.1/lisp/org/ob-picolisp /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-macro hides /usr/share/emacs/26.1/lisp/org/org-macro /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-plantuml hides /usr/share/emacs/26.1/lisp/org/ob-plantuml /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org hides /usr/share/emacs/26.1/lisp/org/org /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-sql hides /usr/share/emacs/26.1/lisp/org/ob-sql /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-emacs-lisp hides /usr/share/emacs/26.1/lisp/org/ob-emacs-lisp /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-coq hides /usr/share/emacs/26.1/lisp/org/ob-coq /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-matlab hides /usr/share/emacs/26.1/lisp/org/ob-matlab /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-docview hides /usr/share/emacs/26.1/lisp/org/org-docview /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-id hides /usr/share/emacs/26.1/lisp/org/org-id /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-exp hides /usr/share/emacs/26.1/lisp/org/ob-exp /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-shell hides /usr/share/emacs/26.1/lisp/org/ob-shell /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-eww hides /usr/share/emacs/26.1/lisp/org/org-eww /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-attach hides /usr/share/emacs/26.1/lisp/org/org-attach /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-capture hides /usr/share/emacs/26.1/lisp/org/org-capture /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-install hides /usr/share/emacs/26.1/lisp/org/org-install /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-mhe hides /usr/share/emacs/26.1/lisp/org/org-mhe /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-latex hides /usr/share/emacs/26.1/lisp/org/ob-latex /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-comint hides /usr/share/emacs/26.1/lisp/org/ob-comint /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-awk hides /usr/share/emacs/26.1/lisp/org/ob-awk /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-version hides /usr/share/emacs/26.1/lisp/org/org-version /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-eval hides /usr/share/emacs/26.1/lisp/org/ob-eval /home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-screen hides /usr/share/emacs/26.1/lisp/org/ob-screen Features: (shadow emacsbug mailalias mailclient sendmail qp mail-extr sort view reftex-global magit-ediff evil-ediff ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff vc vc-dispatcher gravatar url-cache org-timer org-clock expand-region text-mode-expansions cc-mode-expansions the-org-mode-expansions ruby-mode-expansions python-el-fgallina-expansions latex-mode-expansions js2-mode-expansions js-mode-expansions web-mode-expansions html-mode-expansions css-mode-expansions er-basic-expansions expand-region-core expand-region-custom hide-comnt helm-find handwrite hangul hanja-util quail helm-id-utils cal-bahai helm-sys helm-color simple-httpd helm-eshell cal-china-x help-at-pt highlight-indentation helm-config helm-easymenu helm-semantic helm-man hashcash helm-ring cal-hebrew helm-dabbrev htmlfontify htmlfontify-loaddefs files-x mmm-erb mmm-region mmm-auto mmm-vars mmm-utils mmm-compat helm-for-files helm-bookmark helm-external helm-net helm-command helm-mode helm-org cal-islam tutorial helm-elisp helm-files helm-buffers helm-tags helm-locate helm-eval edebug helm-info holidays hol-loaddefs hexl helm-make htmlize helm-grep helm-regexp helm-adaptive helm-misc helm-types helm-elisp-package helm-font haml-mode smartparens-markdown markdown-mode css-mode eww smartparens-ruby ruby-mode hanoi helm-imenu helm-utils helm-help hilit-chg hungry-delete helm helm-source helm-multi-match helm-lib canlock use-package-lint use-package-jump whitespace semantic/tag-write fill-column-indicator magit-gitflow pcre2el rxt re-builder semantic/edit semantic/analyze/complete semantic/db-typecache org-duration cal-julian diary-lib diary-loaddefs cal-iso org-agenda tabify elfeed-link org-projectile org-category-capture org-capture reftex-index reftex-sel reftex-ref reftex-cite reftex-parse texmathp pdf-sync pdf-annot pdf-outline pdf-links pdf-history latexenc paren hippie-exp company-web-html company-web company-css web-completion-data emmet-mode web-mode ibuffer-projectile timezone elfeed-goodies-logging elfeed-goodies-new-entry-hooks mm-url elfeed-goodies-split-pane elfeed-goodies-show-mode noflet cl-indent elfeed-goodies-search-mode elfeed-goodies elfeed-org elfeed-show elfeed-search shr svg elfeed-csv elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib url-queue browse-url xml-query conf-mode company-shell flycheck-bashate sh-script smie executable preview prv-emacs company-auctex tex-fold reftex-dcr reftex-auc reftex reftex-loaddefs reftex-vars font-latex auctex-latexmk tex-buf latex latex-flymake flymake-proc flymake tex-ispell tex-style tex smartparens-latex tex-mode cl-print debug two-column iso-transl network-stream starttls importmagic anaconda-mode pythonic hi-lock evil-matchit evil-matchit-sdk semantic/wisent/python semantic/wisent/python-wy smartparens-python python semantic/decorate/mode org-eldoc org-journal org-crypt evil-org org-table ob-python ob-C ob-js ob-shell ob-latex org-bullets org-download toc-org image-file org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win gnus nnheader org-docview doc-view org-bibtex bibtex org-bbdb org-w3m vc-git flycheck-rust stickyfunc-enhance company-c-headers semantic/db-file data-debug cedet-files ggtags ewoc tramp-cache tramp-sh colir smex vi-tilde-fringe spacemacs-purpose-popwin window-purpose-x imenu-list window-purpose window-purpose-fixes window-purpose-prefix-overload window-purpose-switch window-purpose-layout spaceline-config spaceline-segments spaceline powerline powerline-separators powerline-themes projectile grep company-statistics company-files company-keywords company-etags company-gtags company-template company-dabbrev-code company-dabbrev company-yasnippet company-capf overseer pkg-info epl auto-compile packed elisp-slime-nav eval-sexp-fu highlight font-lock+ frame-fns avoid semantic/db-mode srefactor srefactor-ui recentf tree-widget srecode/semantic semantic/senator semantic/decorate srecode/insert srecode/filters srecode/args ede/speedbar ede/files ede ede/detect ede/base ede/auto ede/source eieio-speedbar eieio-custom srecode/find srecode/map srecode/ctxt srecode/compile srecode/dictionary srecode/table srecode semantic/doc semantic/bovine/c hideif semantic/bovine/c-by semantic/lex-spp semantic/idle semantic/bovine/gcc semantic/dep semantic/analyze/refs semantic/db-find semantic/db-ref semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn goto-addr bug-reference auto-highlight-symbol evil-lisp-state flycheck-pos-tip flycheck highlight-numbers parent-mode highlight-parentheses hideshow rainbow-delimiters yasnippet-snippets yasnippet rainbow-mode color elec-pair window-purpose-core window-purpose-configuration window-purpose-utils atomic-chrome websocket bindat cnfonts cnfonts-ui cal-china lunar solar cal-dst eterm-256color term ehelp dired-x ranger ivy-rich engine-mode company-jed -- Sheng Yang(杨圣) PhD student Computer Science Department University of Maryland, College Park E-mail:yangsheng6810@gmail.com --------------287B7941111E7B1D31030AB7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit I was trying to read code of undo-tree when I encounter this problem.
Here is a somewhat simplified version with some debug output (and the
offending undo-tree file can be found in attachment or at
https://dimlight.tk/~yangsheng/undo-tree):

'''
(defun load-undo-tree-history ()
   (interactive)
   (let ((filename "~/undo-tree"))
     (with-temp-buffer
       (insert-file-contents filename)
       (goto-char (point-min))
       (condition-case err
         (progn
           (message "before reading hash")
           (setq hash (read (current-buffer)))
           (message "before reading tree")
           (setq tree (read (current-buffer)))
           (message "after reading tree"))
         (error (message "error caught")))
       (message "outside condition-case")
    (kill-buffer nil))))
'''

The undo-tree file contains two lines, the first is a hash, and the
second is a undo-tree structure printed with ~prin1~. Some error will
happen in the second ~(read (current-buffer))~, so the expected behavior
is the following output:

'''
before reading hash
before reading tree
error caught
outside condition-case
'''

However, here is what I get.

'''
before reading hash
before reading tree
Re-entering top level after C stack overflow
'''

It seems that the function call ~(read (current-buffer))~ causes C stack
overflow. Though I personally believe the undo-tree file is not
corrupted, I assume this error should be caught by condition-case even
if the file to read is indeed corrupted.

I bisected with git (using current master head d0e2a341dd) and found the
first commit that introduced this (not exactly the same) problem was

commit f0a1e9ec3fba3d5bea5bd62f525dba3fb005d1b1
Author: Paul Eggert
Date: Thu Dec 8 11:32:48 2016 -0800

Make read1 more reentrant

This is needed if ‘read’ is called soon after startup, before the
Unicode tables have been set up, and it reads a \N escape and
needs to look up a value the Unicode tables, a lookup that in turn
calls read1 recursively. Although this change doesn’t make ‘read’
fully reentrant, it’s good enough to handle this case.
,* src/lread.c (read_buffer_size, read_buffer): Remove static vars.
(grow_read_buffer): Revamp to use locals, not statics, and to
record memory allocation un the specpdl. All callers changed.
(read1): Start with a stack-based buffer, and use the heap
only if the stack buffer is too small. Use unbind_to to
free any heap buffer allocated. Use bool for boolean.
Redo symbol loop so that only one call to grow_read_buffer
is needed.
(init_obarray): Remove no-longer-needed initialization.

Starting from this commit, the previous elisp code will crash emacs. An
attempt to fix this problem is

commit 9dee1c884eb50ba282eb9dd2495c5269add25963
Author: Paul Eggert
Date: Fri Jul 14 04:54:05 2017 -0700

Improve stack-overflow heuristic on GNU/Linux

Problem reported by Steve Kemp (Bug#27585).
,* src/eval.c (near_C_stack_top): Remove. All uses replaced
by current_thread->stack_top.
(record_in_backtrace): Set current_thread->stack_top.
This is for when the Lisp interpreter calls itself.
,* src/lread.c (read1): Set current_thread->stack_top.
This is for recursive s-expression reads.
,* src/print.c (print_object): Set current_thread->stack_top.
This is for recursive s-expression printing.
,* src/thread.c (mark_one_thread): Get stack top first.
,* src/thread.h (struct thread_state.stack_top): Now void *, not char *.

This commit fixed the crashing problem, but error catching still does
not work. As indicated in commit 9dee1c88, this commit tries to fix
Bug#27585, where Steve Kemp triggered it with a huge number of '`' or
',' . Wrapping these '`' or ',' with condition-case can also trigger the
problem.


Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --with-x-toolkit=gtk3 --with-xft --with-modules
'CFLAGS=-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong
-fno-plt' CPPFLAGS=-D_FORTIFY_SOURCE=2
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
GTK3 X11 MODULES THREADS LIBSYSTEMD LCMS2

Important settings:
value of $LANG: zh_CN.utf-8
value of $XMODIFIERS: @im=fcitx
locale-coding-system: utf-8-unix

Major mode: Spacemacs buffer

Minor modes in effect:
highlight-changes-visible-mode: t
TeX-PDF-mode: t
TeX-source-correlate-mode: t
global-vi-tilde-fringe-mode: t
pupo-mode: t
purpose-mode: t
spaceline-info-mode: t
spaceline-helm-mode: t
projectile-mode: t
company-statistics-mode: t
eval-sexp-fu-flash-mode: t
global-semanticdb-minor-mode: t
recentf-mode: t
global-semantic-idle-scheduler-mode: t
global-semantic-idle-summary-mode: t
flycheck-pos-tip-mode: t
global-flycheck-mode: t
yas-global-mode: t
yas-minor-mode: t
global-atomic-chrome-edit-mode: t
dired-omit-mode: t
engine-mode: t
company-quickhelp-mode: t
company-quickhelp-local-mode: t
pdf-occur-global-minor-mode: t
global-semantic-stickyfunc-mode: t
semantic-mode: t
show-smartparens-global-mode: t
show-smartparens-mode: t
flyspell-lazy-mode: t
global-magit-file-mode: t
diff-auto-refine-mode: t
winner-mode: t
winum-mode: t
save-place-mode: t
savehist-mode: t
persp-mode: t
global-pangu-spacing-mode: t
pangu-spacing-mode: t
global-git-gutter+-mode: t
global-git-commit-mode: t
async-bytecomp-package-mode: t
flx-ido-mode: t
eyebrowse-mode: t
global-evil-surround-mode: t
evil-surround-mode: t
evil-lion-mode: t
evil-escape-mode: t
global-anzu-mode: t
anzu-mode: t
editorconfig-mode: t
counsel-mode: t
ivy-mode: t
clean-aindent-mode: t
ace-pinyin-global-mode: t
ace-pinyin-mode: t
which-key-mode: t
override-global-mode: t
global-undo-tree-mode: t
undo-tree-mode: t
evil-mode: t
evil-local-mode: t
spacemacs-leader-override-mode: t
global-spacemacs-leader-override-mode: t
global-hl-line-mode: t
xterm-mouse-mode: t
global-auto-revert-mode: t
shell-dirtrack-mode: t
ido-vertical-mode: t
global-page-break-lines-mode: t
page-break-lines-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t

Load-path shadows:
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-plot hides /usr/share/emacs/26.1/lisp/org/org-plot
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-stan hides /usr/share/emacs/26.1/lisp/org/ob-stan
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-processing hides /usr/share/emacs/26.1/lisp/org/ob-processing
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-colview hides /usr/share/emacs/26.1/lisp/org/org-colview
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-man hides /usr/share/emacs/26.1/lisp/org/ox-man
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-org hides /usr/share/emacs/26.1/lisp/org/ox-org
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-makefile hides /usr/share/emacs/26.1/lisp/org/ob-makefile
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-org hides /usr/share/emacs/26.1/lisp/org/ob-org
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-gnus hides /usr/share/emacs/26.1/lisp/org/org-gnus
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-sed hides /usr/share/emacs/26.1/lisp/org/ob-sed
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-java hides /usr/share/emacs/26.1/lisp/org/ob-java
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-latex hides /usr/share/emacs/26.1/lisp/org/ox-latex
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-habit hides /usr/share/emacs/26.1/lisp/org/org-habit
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-feed hides /usr/share/emacs/26.1/lisp/org/org-feed
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-duration hides /usr/share/emacs/26.1/lisp/org/org-duration
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-calc hides /usr/share/emacs/26.1/lisp/org/ob-calc
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-css hides /usr/share/emacs/26.1/lisp/org/ob-css
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-protocol hides /usr/share/emacs/26.1/lisp/org/org-protocol
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-timer hides /usr/share/emacs/26.1/lisp/org/org-timer
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-J hides /usr/share/emacs/26.1/lisp/org/ob-J
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-icalendar hides /usr/share/emacs/26.1/lisp/org/ox-icalendar
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-forth hides /usr/share/emacs/26.1/lisp/org/ob-forth
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-C hides /usr/share/emacs/26.1/lisp/org/ob-C
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-lilypond hides /usr/share/emacs/26.1/lisp/org/ob-lilypond
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-list hides /usr/share/emacs/26.1/lisp/org/org-list
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-inlinetask hides /usr/share/emacs/26.1/lisp/org/org-inlinetask
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-loaddefs hides /usr/share/emacs/26.1/lisp/org/org-loaddefs
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-agenda hides /usr/share/emacs/26.1/lisp/org/org-agenda
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-ctags hides /usr/share/emacs/26.1/lisp/org/org-ctags
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-ascii hides /usr/share/emacs/26.1/lisp/org/ox-ascii
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-indent hides /usr/share/emacs/26.1/lisp/org/org-indent
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-gnuplot hides /usr/share/emacs/26.1/lisp/org/ob-gnuplot
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-mobile hides /usr/share/emacs/26.1/lisp/org/org-mobile
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-info hides /usr/share/emacs/26.1/lisp/org/org-info
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-irc hides /usr/share/emacs/26.1/lisp/org/org-irc
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ledger hides /usr/share/emacs/26.1/lisp/org/ob-ledger
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-asymptote hides /usr/share/emacs/26.1/lisp/org/ob-asymptote
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-io hides /usr/share/emacs/26.1/lisp/org/ob-io
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-fortran hides /usr/share/emacs/26.1/lisp/org/ob-fortran
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox hides /usr/share/emacs/26.1/lisp/org/ox
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-w3m hides /usr/share/emacs/26.1/lisp/org/org-w3m
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-compat hides /usr/share/emacs/26.1/lisp/org/org-compat
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-mouse hides /usr/share/emacs/26.1/lisp/org/org-mouse
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-sass hides /usr/share/emacs/26.1/lisp/org/ob-sass
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ocaml hides /usr/share/emacs/26.1/lisp/org/ob-ocaml
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-faces hides /usr/share/emacs/26.1/lisp/org/org-faces
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-python hides /usr/share/emacs/26.1/lisp/org/ob-python
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-perl hides /usr/share/emacs/26.1/lisp/org/ob-perl
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-vala hides /usr/share/emacs/26.1/lisp/org/ob-vala
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-scheme hides /usr/share/emacs/26.1/lisp/org/ob-scheme
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ref hides /usr/share/emacs/26.1/lisp/org/ob-ref
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-footnote hides /usr/share/emacs/26.1/lisp/org/org-footnote
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-entities hides /usr/share/emacs/26.1/lisp/org/org-entities
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-element hides /usr/share/emacs/26.1/lisp/org/org-element
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-table hides /usr/share/emacs/26.1/lisp/org/ob-table
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-crypt hides /usr/share/emacs/26.1/lisp/org/org-crypt
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-publish hides /usr/share/emacs/26.1/lisp/org/ox-publish
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-clock hides /usr/share/emacs/26.1/lisp/org/org-clock
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-R hides /usr/share/emacs/26.1/lisp/org/ob-R
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-src hides /usr/share/emacs/26.1/lisp/org/org-src
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ebnf hides /usr/share/emacs/26.1/lisp/org/ob-ebnf
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-macs hides /usr/share/emacs/26.1/lisp/org/org-macs
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-clojure hides /usr/share/emacs/26.1/lisp/org/ob-clojure
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-haskell hides /usr/share/emacs/26.1/lisp/org/ob-haskell
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-tangle hides /usr/share/emacs/26.1/lisp/org/ob-tangle
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-rmail hides /usr/share/emacs/26.1/lisp/org/org-rmail
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-bbdb hides /usr/share/emacs/26.1/lisp/org/org-bbdb
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-bibtex hides /usr/share/emacs/26.1/lisp/org/org-bibtex
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-lob hides /usr/share/emacs/26.1/lisp/org/ob-lob
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-groovy hides /usr/share/emacs/26.1/lisp/org/ob-groovy
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-lua hides /usr/share/emacs/26.1/lisp/org/ob-lua
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-lisp hides /usr/share/emacs/26.1/lisp/org/ob-lisp
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-html hides /usr/share/emacs/26.1/lisp/org/ox-html
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-keys hides /usr/share/emacs/26.1/lisp/org/ob-keys
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ruby hides /usr/share/emacs/26.1/lisp/org/ob-ruby
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-mscgen hides /usr/share/emacs/26.1/lisp/org/ob-mscgen
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-abc hides /usr/share/emacs/26.1/lisp/org/ob-abc
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-core hides /usr/share/emacs/26.1/lisp/org/ob-core
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-maxima hides /usr/share/emacs/26.1/lisp/org/ob-maxima
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-ditaa hides /usr/share/emacs/26.1/lisp/org/ob-ditaa
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob hides /usr/share/emacs/26.1/lisp/org/ob
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-sqlite hides /usr/share/emacs/26.1/lisp/org/ob-sqlite
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-eshell hides /usr/share/emacs/26.1/lisp/org/org-eshell
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-lint hides /usr/share/emacs/26.1/lisp/org/org-lint
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-table hides /usr/share/emacs/26.1/lisp/org/org-table
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-datetree hides /usr/share/emacs/26.1/lisp/org/org-datetree
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-js hides /usr/share/emacs/26.1/lisp/org/ob-js
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-md hides /usr/share/emacs/26.1/lisp/org/ox-md
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-beamer hides /usr/share/emacs/26.1/lisp/org/ox-beamer
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-hledger hides /usr/share/emacs/26.1/lisp/org/ob-hledger
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-odt hides /usr/share/emacs/26.1/lisp/org/ox-odt
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-dot hides /usr/share/emacs/26.1/lisp/org/ob-dot
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-archive hides /usr/share/emacs/26.1/lisp/org/org-archive
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-pcomplete hides /usr/share/emacs/26.1/lisp/org/org-pcomplete
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-shen hides /usr/share/emacs/26.1/lisp/org/ob-shen
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ox-texinfo hides /usr/share/emacs/26.1/lisp/org/ox-texinfo
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-octave hides /usr/share/emacs/26.1/lisp/org/ob-octave
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-picolisp hides /usr/share/emacs/26.1/lisp/org/ob-picolisp
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-macro hides /usr/share/emacs/26.1/lisp/org/org-macro
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-plantuml hides /usr/share/emacs/26.1/lisp/org/ob-plantuml
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org hides /usr/share/emacs/26.1/lisp/org/org
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-sql hides /usr/share/emacs/26.1/lisp/org/ob-sql
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-emacs-lisp hides /usr/share/emacs/26.1/lisp/org/ob-emacs-lisp
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-coq hides /usr/share/emacs/26.1/lisp/org/ob-coq
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-matlab hides /usr/share/emacs/26.1/lisp/org/ob-matlab
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-docview hides /usr/share/emacs/26.1/lisp/org/org-docview
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-id hides /usr/share/emacs/26.1/lisp/org/org-id
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-exp hides /usr/share/emacs/26.1/lisp/org/ob-exp
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-shell hides /usr/share/emacs/26.1/lisp/org/ob-shell
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-eww hides /usr/share/emacs/26.1/lisp/org/org-eww
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-attach hides /usr/share/emacs/26.1/lisp/org/org-attach
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-capture hides /usr/share/emacs/26.1/lisp/org/org-capture
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-install hides /usr/share/emacs/26.1/lisp/org/org-install
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-mhe hides /usr/share/emacs/26.1/lisp/org/org-mhe
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-latex hides /usr/share/emacs/26.1/lisp/org/ob-latex
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-comint hides /usr/share/emacs/26.1/lisp/org/ob-comint
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-awk hides /usr/share/emacs/26.1/lisp/org/ob-awk
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/org-version hides /usr/share/emacs/26.1/lisp/org/org-version
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-eval hides /usr/share/emacs/26.1/lisp/org/ob-eval
/home/yangsheng/.emacs.d/elpa/26.1/develop/org-plus-contrib-20180611/ob-screen hides /usr/share/emacs/26.1/lisp/org/ob-screen

Features:
(shadow emacsbug mailalias mailclient sendmail qp mail-extr sort view
reftex-global magit-ediff evil-ediff ediff-merg ediff-wind ediff-diff
ediff-mult ediff-help ediff-init ediff-util ediff vc vc-dispatcher
gravatar url-cache org-timer org-clock expand-region
text-mode-expansions cc-mode-expansions the-org-mode-expansions
ruby-mode-expansions python-el-fgallina-expansions latex-mode-expansions
js2-mode-expansions js-mode-expansions web-mode-expansions
html-mode-expansions css-mode-expansions er-basic-expansions
expand-region-core expand-region-custom hide-comnt helm-find handwrite
hangul hanja-util quail helm-id-utils cal-bahai helm-sys helm-color
simple-httpd helm-eshell cal-china-x help-at-pt highlight-indentation
helm-config helm-easymenu helm-semantic helm-man hashcash helm-ring
cal-hebrew helm-dabbrev htmlfontify htmlfontify-loaddefs files-x mmm-erb
mmm-region mmm-auto mmm-vars mmm-utils mmm-compat helm-for-files
helm-bookmark helm-external helm-net helm-command helm-mode helm-org
cal-islam tutorial helm-elisp helm-files helm-buffers helm-tags
helm-locate helm-eval edebug helm-info holidays hol-loaddefs hexl
helm-make htmlize helm-grep helm-regexp helm-adaptive helm-misc
helm-types helm-elisp-package helm-font haml-mode smartparens-markdown
markdown-mode css-mode eww smartparens-ruby ruby-mode hanoi helm-imenu
helm-utils helm-help hilit-chg hungry-delete helm helm-source
helm-multi-match helm-lib canlock use-package-lint use-package-jump
whitespace semantic/tag-write fill-column-indicator magit-gitflow
pcre2el rxt re-builder semantic/edit semantic/analyze/complete
semantic/db-typecache org-duration cal-julian diary-lib diary-loaddefs
cal-iso org-agenda tabify elfeed-link org-projectile
org-category-capture org-capture reftex-index reftex-sel reftex-ref
reftex-cite reftex-parse texmathp pdf-sync pdf-annot pdf-outline
pdf-links pdf-history latexenc paren hippie-exp company-web-html
company-web company-css web-completion-data emmet-mode web-mode
ibuffer-projectile timezone elfeed-goodies-logging
elfeed-goodies-new-entry-hooks mm-url elfeed-goodies-split-pane
elfeed-goodies-show-mode noflet cl-indent elfeed-goodies-search-mode
elfeed-goodies elfeed-org elfeed-show elfeed-search shr svg elfeed-csv
elfeed elfeed-curl elfeed-log elfeed-db elfeed-lib url-queue browse-url
xml-query conf-mode company-shell flycheck-bashate sh-script smie
executable preview prv-emacs company-auctex tex-fold reftex-dcr
reftex-auc reftex reftex-loaddefs reftex-vars font-latex auctex-latexmk
tex-buf latex latex-flymake flymake-proc flymake tex-ispell tex-style
tex smartparens-latex tex-mode cl-print debug two-column iso-transl
network-stream starttls importmagic anaconda-mode pythonic hi-lock
evil-matchit evil-matchit-sdk semantic/wisent/python
semantic/wisent/python-wy smartparens-python python
semantic/decorate/mode org-eldoc org-journal org-crypt evil-org
org-table ob-python ob-C ob-js ob-shell ob-latex org-bullets
org-download toc-org image-file org-rmail org-mhe org-irc org-info
org-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap
nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range
gnus-win gnus nnheader org-docview doc-view org-bibtex bibtex org-bbdb
org-w3m vc-git flycheck-rust stickyfunc-enhance company-c-headers
semantic/db-file data-debug cedet-files ggtags ewoc tramp-cache tramp-sh
colir smex vi-tilde-fringe spacemacs-purpose-popwin window-purpose-x
imenu-list window-purpose window-purpose-fixes
window-purpose-prefix-overload window-purpose-switch
window-purpose-layout spaceline-config spaceline-segments spaceline
powerline powerline-separators powerline-themes projectile grep
company-statistics company-files company-keywords company-etags
company-gtags company-template company-dabbrev-code company-dabbrev
company-yasnippet company-capf overseer pkg-info epl auto-compile packed
elisp-slime-nav eval-sexp-fu highlight font-lock+ frame-fns avoid
semantic/db-mode srefactor srefactor-ui recentf tree-widget
srecode/semantic semantic/senator semantic/decorate srecode/insert
srecode/filters srecode/args ede/speedbar ede/files ede ede/detect
ede/base ede/auto ede/source eieio-speedbar eieio-custom srecode/find
srecode/map srecode/ctxt srecode/compile srecode/dictionary
srecode/table srecode semantic/doc semantic/bovine/c hideif
semantic/bovine/c-by semantic/lex-spp semantic/idle semantic/bovine/gcc
semantic/dep semantic/analyze/refs semantic/db-find semantic/db-ref
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
goto-addr bug-reference auto-highlight-symbol evil-lisp-state
flycheck-pos-tip flycheck highlight-numbers parent-mode
highlight-parentheses hideshow rainbow-delimiters yasnippet-snippets
yasnippet rainbow-mode color elec-pair window-purpose-core
window-purpose-configuration window-purpose-utils atomic-chrome
websocket bindat cnfonts cnfonts-ui cal-china lunar solar cal-dst
eterm-256color term ehelp dired-x ranger ivy-rich engine-mode
company-jed
-- 
Sheng Yang(杨圣)
PhD student
Computer Science Department
University of Maryland, College Park
E-mail:yangsheng6810@gmail.com
--------------287B7941111E7B1D31030AB7-- --------------8BBD5ADCBD0CCA404C75C2F4 Content-Type: text/plain; charset=UTF-8; name="undo-tree" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="undo-tree" ImI2YjlhZTgyOWU5MTg1NWI4MWZjY2NlMmEwOTFlMmM1MTQyMThkMWQiCiNzKHVuZG8tdHJl ZSBbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmls IChbbmlsIChbbmlsIChbbmlsICgjMz1bbmlsIChbbmlsIChbbmlsIChbbmlsIChbbmlsIG5p bCAoKDYwMyAuIDYwNCkgKCMoIjEiIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlIGhpZ2hsaWdo dC1udW1iZXJzLW51bWJlcikpIC4gNjAzKSAodW5kby10cmVlLWlkMzE0NCAuIC0xKSkgKCg2 MDMgLiA2MDQpICgjKCIyIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgaGlnaGxpZ2h0LW51bWJl cnMtbnVtYmVyKSkgLiA2MDMpICh1bmRvLXRyZWUtaWQzMTQ1IC4gLTEpKSAoMjMzNDUgMTc0 NjcgNzEwMDczIDMzMDAwKSAwIG5pbF0gW25pbCAoW25pbCAoW25pbCBuaWwgKCgyNzggLiAy NzkpKSAoKCMoIjUiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBoaWdobGlnaHQtbnVtYmVycy1u dW1iZXIpKSAuIDI3OCkgKHVuZG8tdHJlZS1pZDMxNDEgLiAtMSkgKHVuZG8tdHJlZS1pZDMx NDIgLiAtMSkgKHVuZG8tdHJlZS1pZDMxNDMgLiAxKSAodCAyMzM0NSAxNzQ1MSA0ODg2Njcg NzIwMDAwKSkgKDIzMzQ1IDE3NDUxIDQ2MTI4MCA0MjQwMDApIDAgbmlsXSkgKCgjKCIwIiAw IDEgKGZvbnRpZmllZCB0IGZhY2UgaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSkgLiAyNzgp KSAoKDI3OCAuIDI3OSkpICgyMzM0NSAxNzQ1MiAzMDAwMTUgMTI1MDAwKSAwIG5pbF0pICgo IygiMiIgMCAxIChmb250aWZpZWQgdCBmYWNlIGhpZ2hsaWdodC1udW1iZXJzLW51bWJlcikp IC4gMjc4KSAodCAyMzM0NSAxNzIyOCAyNDI5NTMgMjg4MDAwKSkgKCgyNzggLiAyNzkpKSAo MjMzNDUgMTc0NTIgNjI3Mjg5IDkzNzAwMCkgMCBuaWxdKSAoKDYwOCAuIDYxMCkpICgoIygi MTAiIDAgMiAoZm9udGlmaWVkIHQgZmFjZSBoaWdobGlnaHQtbnVtYmVycy1udW1iZXIpKSAu IDYwOCkgKHVuZG8tdHJlZS1pZDMxNTYgLiAyKSAodW5kby10cmVlLWlkMzE1NyAuIDEpICh1 bmRvLXRyZWUtaWQzMTU4IC4gMikgKHVuZG8tdHJlZS1pZDMxNTkgLiAyKSAodW5kby10cmVl LWlkMzE2MCAuIDIpICh1bmRvLXRyZWUtaWQzMTYxIC4gMikgKHVuZG8tdHJlZS1pZDMxNjIg LiAyKSAodW5kby10cmVlLWlkMzE2MyAuIDIpICh1bmRvLXRyZWUtaWQzMTY0IC4gMikgKHVu ZG8tdHJlZS1pZDMxNjUgLiAyKSAodW5kby10cmVlLWlkMzE2NiAuIC0yKSAodW5kby10cmVl LWlkMzE2NyAuIDIpKSAoMjMzNDUgMTc0NjggNjU3MzczIDkwOTAwMCkgMCBuaWxdKSAoKCMo IjUiIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlIGhpZ2hsaWdodC1udW1iZXJzLW51bWJlcikp IC4gNjA4KSAodW5kby10cmVlLWlkMzE2OCAuIC0xKSkgKCg2MDggLiA2MDkpKSAoMjMzNDUg MTc0NjkgNTY1MTk3IDUwMzAwMCkgMCBuaWxdKSAoKCMoIjAiIDAgMSAoZm9udGlmaWVkIG5p bCBmYWNlIGhpZ2hsaWdodC1udW1iZXJzLW51bWJlcikpIC4gNjExKSAodW5kby10cmVlLWlk MzE5NCAuIC0xKSkgKCg2MTEgLiA2MTIpKSAoMjMzNDUgMTc0NzcgNjQxNjg5IDUxMTAwMCkg MCBuaWxdKSAoKCMoIjAiIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlIGhpZ2hsaWdodC1udW1i ZXJzLW51bWJlcikpIC4gNjA2KSAodW5kby10cmVlLWlkMzIwMyAuIDEpICh1bmRvLXRyZWUt aWQzMjA0IC4gLTEpKSAoKDYwNiAuIDYwNykpICgyMzM0NSAxNzQ4MyAyOTU4ODQgMTQ2MDAw KSAwIG5pbF0pICgoNDE0MyAuIDQxNDQpKSAoKCMoIjMiIDAgMSAoZmFjZSBmb250LWxvY2st c3RyaW5nLWZhY2UgZm9udGlmaWVkIG5pbCkpIC4gNDE0MykgKHVuZG8tdHJlZS1pZDMyMDAg LiAtMSkgKHVuZG8tdHJlZS1pZDMyMDEgLiAtMSkpICgyMzM0NSAxNzQ4MSA5NzY5NTQgMjE3 MDAwKSAwIG5pbF0pICgoNDE1MyAuIDQxNTUpKSAoKCMoIiUlIiAwIDIgKGZhY2UgZm9udC1s b2NrLXN0cmluZy1mYWNlIGZvbnRpZmllZCBuaWwpKSAuIDQxNTMpICh1bmRvLXRyZWUtaWQz MTk4IC4gLTIpICh1bmRvLXRyZWUtaWQzMTk5IC4gLTIpKSAoMjMzNDUgMTc0ODEgMjMzMDcw IDc4OTAwMCkgMCBuaWxdKSAoKDQyMTUgLiA0MjIxKSkgKCgjKCIxMDAgKiAiIDAgMyAoZm9u dGlmaWVkIG5pbCBmYWNlIGhpZ2hsaWdodC1udW1iZXJzLW51bWJlcikgMyA2IChmb250aWZp ZWQgbmlsKSkgLiA0MjE1KSkgKDIzMzQ1IDE3NDcyIDU0MDc3MiAxODAwMCkgMCBuaWxdKSAo KCMoIl0iIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlICMxPShyYWluYm93LWRlbGltaXRlcnMt ZGVwdGgtMy1mYWNlKSkpIC4gNDI1NCkgKDQyNTIgLiA0MjU0KSAoNDI1MSAuIDQyNTMpICgj KCJbIiAwIDEgKGZvbnRpZmllZCBuaWwpKSAuIDQyNTEpICg0MjQ0IC4gNDI1MikpICgoIygi IGFuc19scFsiIDAgNyAoZm9udGlmaWVkIG5pbCkgNyA4IChmb250aWZpZWQgbmlsKSkgLiA0 MjQ0KSAodW5kby10cmVlLWlkMzE4MCAuIC03KSAodW5kby10cmVlLWlkMzE4MSAuIC03KSAo dW5kby10cmVlLWlkMzE4MiAuIC03KSAodW5kby10cmVlLWlkMzE4MyAuIC04KSAoNDI1MSAu IDQyNTIpICgjKCJbXSIgMCAxIChmb250aWZpZWQgbmlsIGZhY2UgKHJhaW5ib3ctZGVsaW1p dGVycy1kZXB0aC0zLWZhY2UpKSAxIDIgKGZvbnRpZmllZCBuaWwgZmFjZSAjMSMpKSAuIDQy NTEpICh1bmRvLXRyZWUtaWQzMTg0IC4gLTEpICh1bmRvLXRyZWUtaWQzMTg1IC4gLTEpICh1 bmRvLXRyZWUtaWQzMTg2IC4gLTEpICh1bmRvLXRyZWUtaWQzMTg3IC4gLTIpICgjKCJpXSIg MCAxIChmb250aWZpZWQgbmlsKSAxIDIgKGZvbnRpZmllZCBuaWwgZmFjZSAocmFpbmJvdy1k ZWxpbWl0ZXJzLWRlcHRoLTMtZmFjZSkpKSAuIDQyNTIpICh1bmRvLXRyZWUtaWQzMTg4IC4g LTIpICh1bmRvLXRyZWUtaWQzMTg5IC4gLTIpICh1bmRvLXRyZWUtaWQzMTkwIC4gLTIpICg0 MjU0IC4gNDI1NSkpICgyMzM0NSAxNzQ3MSAxOTQwMzYgODg1MDAwKSAwIG5pbF0pICgoNDI0 MiAuIDQyNDQpKSBuaWwgKDIzMzQ1IDExNTc0IDkxMDM5MyAxMTQwMDApIDAgbmlsXSkgKCg0 MjQzIC4gNDI0NCkgKCMoIikiIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlIChyYWluYm93LWRl bGltaXRlcnMtZGVwdGgtMi1mYWNlKSkpIC4gNDI0MykgKHVuZG8tdHJlZS1pZDMxMTEgLiAx KSAodW5kby10cmVlLWlkMzExMiAuIC0xKSAoNDI0MiAuIDQyNDMpICgjKCIgIiAwIDEgKGZv bnRpZmllZCBuaWwpKSAuIC00MjQyKSAodW5kby10cmVlLWlkMzExMyAuIDEpICg0MjQyIC4g NDI0MykgKCMoIikiIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlIChyYWluYm93LWRlbGltaXRl cnMtZGVwdGgtMy1mYWNlKSkpIC4gLTQyNDIpICh1bmRvLXRyZWUtaWQzMTE0IC4gMSkgKDQy NDIgLiA0MjQzKSAoIygiKSIgMCAxIChmb250aWZpZWQgbmlsIGZhY2UgKHJhaW5ib3ctZGVs aW1pdGVycy1kZXB0aC0zLWZhY2UpKSkgLiA0MjQyKSAodW5kby10cmVlLWlkMzExNSAuIDEp ICh1bmRvLXRyZWUtaWQzMTE2IC4gLTEpICg0MjQxIC4gNDI0MikgKCMoIiAiIDAgMSAoZm9u dGlmaWVkIG5pbCkpIC4gLTQyNDEpICg0MjQxIC4gNDI0MikgKCMoIikiIDAgMSAoZm9udGlm aWVkIG5pbCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtNC1mYWNlKSkpIC4gLTQy NDEpICg0MjQxIC4gNDI0MikpIG5pbCAoMjMzNDUgMTE1NzQgOTEwNDM2IDQ0OTAwMCkgMCBu aWxdKSAoKCMoIikiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJz LWRlcHRoLTMtZmFjZSkpKSAuIDQyMTYpICh1bmRvLXRyZWUtaWQzMTE3IC4gMSkgKHVuZG8t dHJlZS1pZDMxMTggLiAxKSAodW5kby10cmVlLWlkMzExOSAuIC0xKSkgbmlsICgyMzM0NSAx MTU3NCA5MTA0NTkgNzAzMDAwKSAwIG5pbF0pICgoNDIxNSAuIDQyMTcpICgjKCIoIiAwIDEg KGZvbnRpZmllZCBuaWwpKSAuIC00MjE1KSAoNDIxNSAuIDQyMTYpKSBuaWwgKDIzMzQ1IDEx NTc0IDkxMDQ2OCA4MDQwMDApIDAgbmlsXSkgKCgjKCJpIiAwIDEgKGZvbnRpZmllZCB0KSkg LiAtNDIxNSkgKHVuZG8tdHJlZS1pZDMxMjAgLiAtMSkgKHVuZG8tdHJlZS1pZDMxMjEgLiAt MSkgKHVuZG8tdHJlZS1pZDMxMjIgLiAtMSkgKCMoIigiIDAgMSAoZm9udGlmaWVkIG5pbCBm YWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMy1mYWNlKSkpIC4gLTQyMTYpICh1bmRv LXRyZWUtaWQzMTIzIC4gLTEpICh1bmRvLXRyZWUtaWQzMTI0IC4gMSkgKHVuZG8tdHJlZS1p ZDMxMjUgLiAtMSkgKHVuZG8tdHJlZS1pZDMxMjYgLiAtMSkgKCMoIikiIDAgMSAoZm9udGlm aWVkIHQgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTMtZmFjZSkpKSAuIDQyMTcp ICh1bmRvLXRyZWUtaWQzMTI3IC4gMSkgKHVuZG8tdHJlZS1pZDMxMjggLiAtMSkpIG5pbCAo MjMzNDUgMTE1NzQgOTEwNTA4IDg0NjAwMCkgMCBuaWxdKSAoKDQyMTYgLiA0MjE4KSAoIygi KCIgMCAxIChmb250aWZpZWQgbmlsKSkgLiAtNDIxNikgKDQyMTUgLiA0MjE3KSkgbmlsICgy MzM0NSAxMTU3NCA5MTA1MjAgODA5MDAwKSAwIG5pbF0pICgoNDE5NyAuIDQyMTUpICgjKCIg IiAwIDEgKGZvbnRpZmllZCB0KSkgLiA0MTk3KSAodW5kby10cmVlLWlkMzEyOSAuIC0xKSA0 MTk4ICh0IDIzMzQ1IDExNTA2IDc3MDIwNSA4NzgwMDApKSBuaWwgKDIzMzQ1IDExNTc0IDkx MDUzMyA4NzkwMDApIDAgbmlsXSkgKCg2MDkgLiA2MTApICgjKCIxIiAwIDEgKGZvbnRpZmll ZCB0IGZhY2UgaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSkgLiA2MDkpICh1bmRvLXRyZWUt aWQzMTAzIC4gMSkgKHVuZG8tdHJlZS1pZDMxMDQgLiAxKSAodW5kby10cmVlLWlkMzEwNSAu IDEpKSBuaWwgKDIzMzQ1IDExNTA2IDc0MjE3OCAyOTEwMDApIDAgbmlsXSkgKCg2MDMgLiA2 MDUpKSBuaWwgKDIzMzQ1IDExNTA2IDc0MjE5NyA5NTYwMDApIDAgbmlsXSkgKCgjKCIyIiAw IDEgKGZvbnRpZmllZCB0IGZhY2UgaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSkgLiA2MDMp ICh1bmRvLXRyZWUtaWQzMTA2IC4gMSkgKHQgMjMzNDUgMTE0MjcgODAwNjY3IDQ0MTAwMCkp IG5pbCAoMjMzNDUgMTE1MDYgNzQyMjEwIDIzOTAwMCkgMCBuaWxdKSAoKCMoIjAiIDAgMSAo Zm9udGlmaWVkIHQgZmFjZSBoaWdobGlnaHQtbnVtYmVycy1udW1iZXIpKSAuIDYxMCkgKHVu ZG8tdHJlZS1pZDMwOTggLiAtMSkgKHVuZG8tdHJlZS1pZDMwOTkgLiAxKSAodW5kby10cmVl LWlkMzEwMCAuIC0xKSAodW5kby10cmVlLWlkMzEwMSAuIC0xKSAodW5kby10cmVlLWlkMzEw MiAuIDEpICh0IDIzMzQ1IDExNDIzIDk3NzM0OSAxNDUwMDApKSBuaWwgKDIzMzQ1IDExNDI3 IDc4NjAyNyA2MjAwMDApIDAgbmlsXSkgKCgjKCIwIiAwIDEgKGZvbnRpZmllZCB0IGZhY2Ug aGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSkgLiA2MDYpICh1bmRvLXRyZWUtaWQzMDk3IC4g MSkgKHQgMjMzNDUgMTE0MTIgMTc3Mzg3IDk2NTAwMCkpIG5pbCAoMjMzNDUgMTE0MjMgOTY5 NDI1IDg1MDAwMCkgMCBuaWxdKSAoKDYxMCAuIDYxMSkpIG5pbCAoMjMzNDUgMTE0MTIgMTUw OTMxIDg1MzAwMCkgMCBuaWxdKSAoKDYwNiAuIDYwNykgKHQgMjMzNDUgMTEzOTYgOTk3NDE4 IDU5MTAwMCkpIG5pbCAoMjMzNDUgMTE0MTIgMTUwOTUzIDQxMzAwMCkgMCBuaWxdKSAoKCMo IlxcIiAwIDEgKGZvbnRpZmllZCB0KSkgLiA2MTcpICh1bmRvLXRyZWUtaWQzMDk1IC4gLTEp ICh1bmRvLXRyZWUtaWQzMDk2IC4gMSkgKHQgMjMzNDUgMTEzOTEgNjA3NTggNjU4MDAwKSkg bmlsICgyMzM0NSAxMTM5NiA5ODU2MzMgNDkwMDAwKSAwIG5pbF0pICgoNjE4IC4gNjMxKSkg bmlsICgyMzM0NSAxMTM5MSAzMTA0MiAyNDIwMDApIDAgbmlsXSkgKCg2MTcgLiA2MTgpKSBu aWwgKDIzMzQ1IDExMzkxIDMxMDYyIDYzMDAwKSAwIG5pbF0pICgoIygiICIgMCAxIChmb250 aWZpZWQgdCkpIC4gLTYxNykgKHVuZG8tdHJlZS1pZDMwODUgLiAtMSkgKHVuZG8tdHJlZS1p ZDMwODYgLiAxKSAodW5kby10cmVlLWlkMzA4NyAuIDEpICh1bmRvLXRyZWUtaWQzMDg4IC4g MSkgKHVuZG8tdHJlZS1pZDMwODkgLiAxKSAodW5kby10cmVlLWlkMzA5MCAuIC0xKSAodW5k by10cmVlLWlkMzA5MSAuIC0xKSAoIygiXFwiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC02MTgp ICh1bmRvLXRyZWUtaWQzMDkyIC4gLTEpICh1bmRvLXRyZWUtaWQzMDkzIC4gLTEpICh1bmRv LXRyZWUtaWQzMDk0IC4gMSkgNjE5KSBuaWwgKDIzMzQ1IDExMzkxIDMxMTI4IDUwNjAwMCkg MCBuaWxdKSAoKDYxOCAuIDYxOSkgKHQgMjMzNDUgMTEzNzggNDYwNzYxIDMyMzAwMCkpIG5p bCAoMjMzNDUgMTEzOTEgMzExNDIgMjcwMDApIDAgbmlsXSkgKCg2MDMgLiA2MDYpKSBuaWwg KDIzMzQ1IDExMzc4IDQ1MTUxNyA0NTUwMDApIDAgbmlsXSkgKCgjKCIxIiAwIDEgKGZvbnRp ZmllZCB0IGZhY2UgaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSkgLiA2MDMpICh0IDIzMzQ1 IDExMzUxIDkwNzMwIDkxNzAwMCkpIG5pbCAoMjMzNDUgMTEzNzggNDUxNTI0IDIyNDAwMCkg MCBuaWxdKSAoKDYwNiAuIDYwOCkpIG5pbCAoMjMzNDUgMTEzNTEgNjMxNzYgODk5MDAwKSAw IG5pbF0pICgoIygiMiIgMCAxIChmb250aWZpZWQgdCBmYWNlIGhpZ2hsaWdodC1udW1iZXJz LW51bWJlcikpIC4gNjA2KSAodW5kby10cmVlLWlkMzA4NCAuIDEpICh0IDIzMzQ1IDExMjc5 IDQ0MDY2OSA0NjAwMDApKSBuaWwgKDIzMzQ1IDExMzUxIDYzMjE2IDcyNjAwMCkgMCBuaWxd KSAoKDI4MCAuIDI4NCkgKHQgMjMzNDUgMTEyNzQgNTYwNjc3IDYxNTAwMCkpIG5pbCAoMjMz NDUgMTEyNzkgNDE1NzE2IDk2ODAwMCkgMCBuaWxdKSAoKDYwNSAuIDYwOSkgKHQgMjMzNDUg MTEyNjggNjIwNjgzIDk3MTAwMCkpIG5pbCAoMjMzNDUgMTEyNzQgNTU0MDAxIDg5MjAwMCkg MCBuaWxdKSAoKDM5NCAuIDM5OCkpIG5pbCAoMjMzNDUgMTEyNjggNjAyNjExIDc2NzAwMCkg MCBuaWxdKSAoKDI3NSAuIDI3NikgKCMoIjIiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBoaWdo bGlnaHQtbnVtYmVycy1udW1iZXIpKSAuIDI3NSkgKHQgMjMzNDUgMTEyMDggMjYzOTczIDE1 MDAwKSkgbmlsICgyMzM0NSAxMTI2OCA2MDI2MjIgMjE3MDAwKSAwIG5pbF0pICgoMjc1IC4g Mjc2KSAoIygiMSIgMCAxIChmb250aWZpZWQgdCBmYWNlIGhpZ2hsaWdodC1udW1iZXJzLW51 bWJlcikpIC4gMjc1KSAodW5kby10cmVlLWlkMzA4MiAuIDEpICh1bmRvLXRyZWUtaWQzMDgz IC4gLTEpICh0IDIzMzQ1IDExMTY2IDQ1NzE2NSA4NTcwMDApKSBuaWwgKDIzMzQ1IDExMjA4 IDI0ODE2NiA5MzMwMDApIDAgbmlsXSkgKCg1MTkgLiA1MjApICh0IDIzMzQ1IDExMTYyIDY2 NzE3MSA4NzAwMCkgNTE5KSBuaWwgKDIzMzQ1IDExMTY2IDQzMjA1NSAyNDEwMDApIDAgbmls XSkgKCgjKCIgICAgIiAwIDMgKGZvbnRpZmllZCB0KSAzIDQgKGZvbnRpZmllZCB0IHJlYXIt bm9uc3RpY2t5IHQpKSAuIC0yNDkpICh1bmRvLXRyZWUtaWQzMDY3IC4gLTQpICh1bmRvLXRy ZWUtaWQzMDY4IC4gLTMpICh1bmRvLXRyZWUtaWQzMDY5IC4gLTQpICh1bmRvLXRyZWUtaWQz MDcwIC4gLTQpIDI1MykgbmlsICgyMzM0NSAxMTE2MiA2Mzk2NzAgNjQxMDAwKSAwIG5pbF0p ICgobmlsIHJlYXItbm9uc3RpY2t5IG5pbCAyNTIgLiAyNTMpICgjKCIKIiAwIDEgKGZvbnRp ZmllZCBuaWwpKSAuIC0zMjIpICh1bmRvLXRyZWUtaWQzMDcxIC4gLTEpICgyNDggLiAzMjMp IDIzNikgbmlsICgyMzM0NSAxMTE2MiA2Mzk2OTYgNjUwMDAwKSAwIG5pbF0pICgoIygiICAg IExJTUlUID0gW3JhbmRvbS5yYW5kcmFuZ2UoMSwgMjApIGZvciBpIGluIHJhbmdlKE5VTUJF Ul9PRl9SRVNPVVJDRVMpXQoiIDAgNCAoZm9udGlmaWVkIHQpIDQgOSAoZm9udGlmaWVkIHQg ZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSA5IDEyIChmb250aWZpZWQgdCkg MTIgMTMgKGZvbnRpZmllZCB0IGZhY2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0xLWZh Y2UpKSAxMyAyOSAoZm9udGlmaWVkIHQpIDI5IDMwIChmb250aWZpZWQgdCBmYWNlIChyYWlu Ym93LWRlbGltaXRlcnMtZGVwdGgtMi1mYWNlKSkgMzAgMzEgKGZvbnRpZmllZCB0IGZhY2Ug aGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSAzMSAzMyAoZm9udGlmaWVkIHQpIDMzIDM1IChm b250aWZpZWQgdCBmYWNlIGhpZ2hsaWdodC1udW1iZXJzLW51bWJlcikgMzUgMzYgKGZvbnRp ZmllZCB0IGZhY2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0yLWZhY2UpKSAzNiAzNyAo Zm9udGlmaWVkIHQpIDM3IDQwIChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9jay1rZXl3b3Jk LWZhY2UpIDQwIDQzIChmb250aWZpZWQgdCkgNDMgNDUgKGZvbnRpZmllZCB0IGZhY2UgZm9u dC1sb2NrLWtleXdvcmQtZmFjZSkgNDUgNDYgKGZvbnRpZmllZCB0KSA0NiA1MSAoZm9udGlm aWVkIHQgZmFjZSBmb250LWxvY2stYnVpbHRpbi1mYWNlKSA1MSA1MiAoZm9udGlmaWVkIHQg ZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSkpIDUyIDcxIChmb250aWZp ZWQgdCkgNzEgNzIgKGZvbnRpZmllZCB0IGZhY2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0 aC0yLWZhY2UpKSA3MiA3MyAoZm9udGlmaWVkIHQgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJz LWRlcHRoLTEtZmFjZSkpIDczIDc0IChmb250aWZpZWQgdCkpIC4gMjg1KSAodW5kby10cmVl LWlkMzA3MiAuIDU1KSAodW5kby10cmVlLWlkMzA3MyAuIC03NCkgKHVuZG8tdHJlZS1pZDMw NzQgLiAtMTIpICh1bmRvLXRyZWUtaWQzMDc1IC4gLTE5KSAodW5kby10cmVlLWlkMzA3NiAu IDYyKSAodW5kby10cmVlLWlkMzA3NyAuIC0xMykgKHVuZG8tdHJlZS1pZDMwNzggLiAyKSAo dW5kby10cmVlLWlkMzA3OSAuIC03MykgKHVuZG8tdHJlZS1pZDMwODAgLiAtMTcpICh1bmRv LXRyZWUtaWQzMDgxIC4gLTE5KSAzMDQgKHQgMjMzNDUgMTExNTggODk3MTc0IDI0OTAwMCkp IG5pbCAoMjMzNDUgMTExNjIgNjM5NzQxIDk0NTAwMCkgMCBuaWxdKSAoKDMwMyAuIDMwNCkp IG5pbCAoMjMzNDUgMTExNTggODcxODgxIDgwODAwMCkgMCBuaWxdKSAoKCMoIm4iIDAgMSAo Zm9udGlmaWVkIHQpKSAuIC0zMDMpICh1bmRvLXRyZWUtaWQzMDY0IC4gLTEpICh1bmRvLXRy ZWUtaWQzMDY1IC4gLTEpICh1bmRvLXRyZWUtaWQzMDY2IC4gMSkgMzA0KSBuaWwgKDIzMzQ1 IDExMTU4IDg3MTkzMCA2MjAwMDApIDAgbmlsXSkgKCgzMDIgLiAzMDQpICh0IDIzMzQ1IDEx MTQ5IDY3MTcyIDI4MDAwKSkgbmlsICgyMzM0NSAxMTE1OCA4NzE5NDIgOTAzMDAwKSAwIG5p bF0pICgoMzM1IC4gMzU0KSAoIygiTlVNQkVSX09GX1JFIiAwIDEyIChmb250aWZpZWQgdCkp IC4gLTMzNSkgKHVuZG8tdHJlZS1pZDI5OTcgLiAtMTIpICh1bmRvLXRyZWUtaWQyOTk4IC4g OSkgKHVuZG8tdHJlZS1pZDI5OTkgLiAtNCkgKHVuZG8tdHJlZS1pZDMwMDAgLiAtNCkgKHVu ZG8tdHJlZS1pZDMwMDEgLiAtMTIpICh1bmRvLXRyZWUtaWQzMDAyIC4gOCkgKHVuZG8tdHJl ZS1pZDMwMDMgLiA3KSAodW5kby10cmVlLWlkMzAwNCAuIDYpICh1bmRvLXRyZWUtaWQzMDA1 IC4gNSkgKHVuZG8tdHJlZS1pZDMwMDYgLiA0KSAodW5kby10cmVlLWlkMzAwNyAuIDMpICh1 bmRvLXRyZWUtaWQzMDA4IC4gLTEwKSAodW5kby10cmVlLWlkMzAwOSAuIDIpICh1bmRvLXRy ZWUtaWQzMDEwIC4gMSkgMzQ3KSBuaWwgKDIzMzQ1IDExMTQ5IDU2NTU5IDI0NzAwMCkgMCBu aWxdKSAoKDMzOSAuIDM0NykpIG5pbCAoMjMzNDUgMTExNDkgNTY1NjkgNTc3MDAwKSAwIG5p bF0pICgoMzM1IC4gMzM5KSkgbmlsICgyMzM0NSAxMTE0OSA1NjU3MiA0NzQwMDApIDAgbmls XSkgKCgjKCJuIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtMzM1KSAodW5kby10cmVlLWlkMzAx MSAuIC0xKSAoIygidSIgMCAxIChmb250aWZpZWQgdCkpIC4gLTMzNikgKHVuZG8tdHJlZS1p ZDMwMTIgLiAtMSkgKCMoIm0iIDAgMSAoZm9udGlmaWVkIHQpKSAuIC0zMzcpICh1bmRvLXRy ZWUtaWQzMDEzIC4gLTEpICgjKCJiIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtMzM4KSAodW5k by10cmVlLWlkMzAxNCAuIC0xKSAoIygiZSIgMCAxIChmb250aWZpZWQgdCkpIC4gLTMzOSkg KHVuZG8tdHJlZS1pZDMwMTUgLiAtMSkgKCMoInIiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC0z NDApICh1bmRvLXRyZWUtaWQzMDE2IC4gLTEpICgjKCJfIiAwIDEgKGZvbnRpZmllZCB0KSkg LiAtMzQxKSAodW5kby10cmVlLWlkMzAxNyAuIC0xKSAoIygibyIgMCAxIChmb250aWZpZWQg dCkpIC4gLTM0MikgKHVuZG8tdHJlZS1pZDMwMTggLiAtMSkgKCMoIl8iIDAgMSAoZm9udGlm aWVkIHQpKSAuIC0zNDMpICh1bmRvLXRyZWUtaWQzMDE5IC4gLTEpICgjKCJyIiAwIDEgKGZv bnRpZmllZCB0KSkgLiAtMzQ0KSAodW5kby10cmVlLWlkMzAyMCAuIC0xKSAoIygiZSIgMCAx IChmb250aWZpZWQgdCkpIC4gLTM0NSkgKHVuZG8tdHJlZS1pZDMwMjEgLiAtMSkgMzQ2KSBu aWwgKDIzMzQ1IDExMTQ5IDU2NTk4IDc2NDAwMCkgMCBuaWxdKSAoKDMzOCAuIDM0NikpIG5p bCAoMjMzNDUgMTExNDkgNTY2MDcgNzY1MDAwKSAwIG5pbF0pICgoMzM1IC4gMzM4KSAoMzM0 IC4gMzM2KSAoIygiKCIgMCAxIChmb250aWZpZWQgbmlsIGZhY2UgZm9udC1sb2NrLWJ1aWx0 aW4tZmFjZSkpIC4gLTMzNCkgKDMyMCAuIDMzNSkgKCMoImYiIDAgMSAoZm9udGlmaWVkIHQp KSAuIC0zMjApICh1bmRvLXRyZWUtaWQzMDIyIC4gLTEpICgzMTkgLiAzMjEpICgjKCIpIiAw IDEgKGZvbnRpZmllZCBuaWwgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFj ZSkpKSAuIDMxOSkgKHVuZG8tdHJlZS1pZDMwMjMgLiAxKSAodW5kby10cmVlLWlkMzAyNCAu IC0xKSAoMzE3IC4gMzE5KSkgbmlsICgyMzM0NSAxMTE0OSA1NjYxOSA5MTMwMDApIDAgbmls XSkgKCgzMTMgLiAzMTcpICgzMTIgLiAzMTQpICgjKCIoIiAwIDEgKGZvbnRpZmllZCBuaWwp KSAuIC0zMTIpICgyOTggLiAzMTMpICgyOTcgLiAyOTkpICgjKCJbIiAwIDEgKGZvbnRpZmll ZCBuaWwpKSAuIC0yOTcpICh1bmRvLXRyZWUtaWQzMDI1IC4gLTEpICgyOTcgLiAyOTgpKSBu aWwgKDIzMzQ1IDExMTQ5IDU2NjMwIDI4NDAwMCkgMCBuaWxdKSAoKCMoIlsiIDAgMSAoZm9u dGlmaWVkIHQgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTEtZmFjZSkpKSAuIC0y OTcpICh1bmRvLXRyZWUtaWQzMDI2IC4gLTEpICh1bmRvLXRyZWUtaWQzMDI3IC4gLTEpICh1 bmRvLXRyZWUtaWQzMDI4IC4gLTEpICh1bmRvLXRyZWUtaWQzMDI5IC4gLTEpICgjKCI0IiAw IDEgKGZvbnRpZmllZCB0IGZhY2UgaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSkgLiAtMjk4 KSAodW5kby10cmVlLWlkMzAzMCAuIC0xKSAodW5kby10cmVlLWlkMzAzMSAuIC0xKSAodW5k by10cmVlLWlkMzAzMiAuIC0xKSAodW5kby10cmVlLWlkMzAzMyAuIC0xKSAoIygiLCIgMCAx IChmb250aWZpZWQgdCkpIC4gLTI5OSkgKHVuZG8tdHJlZS1pZDMwMzQgLiAtMSkgKHVuZG8t dHJlZS1pZDMwMzUgLiAtMSkgKHVuZG8tdHJlZS1pZDMwMzYgLiAtMSkgKHVuZG8tdHJlZS1p ZDMwMzcgLiAtMSkgKCMoIiAiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC0zMDApICh1bmRvLXRy ZWUtaWQzMDM4IC4gLTEpICh1bmRvLXRyZWUtaWQzMDM5IC4gLTEpICh1bmRvLXRyZWUtaWQz MDQwIC4gLTEpICh1bmRvLXRyZWUtaWQzMDQxIC4gLTEpICgjKCI1IiAwIDEgKGZvbnRpZmll ZCB0IGZhY2UgaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSkgLiAtMzAxKSAodW5kby10cmVl LWlkMzA0MiAuIC0xKSAodW5kby10cmVlLWlkMzA0MyAuIC0xKSAodW5kby10cmVlLWlkMzA0 NCAuIC0xKSAodW5kby10cmVlLWlkMzA0NSAuIC0xKSAoIygiLCIgMCAxIChmb250aWZpZWQg dCkpIC4gLTMwMikgKHVuZG8tdHJlZS1pZDMwNDYgLiAtMSkgKHVuZG8tdHJlZS1pZDMwNDcg LiAtMSkgKHVuZG8tdHJlZS1pZDMwNDggLiAtMSkgKHVuZG8tdHJlZS1pZDMwNDkgLiAtMSkg KCMoIiAiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC0zMDMpICh1bmRvLXRyZWUtaWQzMDUwIC4g LTEpICh1bmRvLXRyZWUtaWQzMDUxIC4gLTEpICh1bmRvLXRyZWUtaWQzMDUyIC4gLTEpICh1 bmRvLXRyZWUtaWQzMDUzIC4gLTEpICgjKCIxIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgaGln aGxpZ2h0LW51bWJlcnMtbnVtYmVyKSkgLiAtMzA0KSAodW5kby10cmVlLWlkMzA1NCAuIC0x KSAodW5kby10cmVlLWlkMzA1NSAuIC0xKSAodW5kby10cmVlLWlkMzA1NiAuIC0xKSAodW5k by10cmVlLWlkMzA1NyAuIC0xKSAoIygiMCIgMCAxIChmb250aWZpZWQgdCBmYWNlIGhpZ2hs aWdodC1udW1iZXJzLW51bWJlcikpIC4gLTMwNSkgKHVuZG8tdHJlZS1pZDMwNTggLiAtMSkg KHVuZG8tdHJlZS1pZDMwNTkgLiAtMSkgKHVuZG8tdHJlZS1pZDMwNjAgLiAtMSkgKHVuZG8t dHJlZS1pZDMwNjEgLiAtMSkgKCMoIl0iIDAgMSAoZm9udGlmaWVkIHQgZmFjZSAocmFpbmJv dy1kZWxpbWl0ZXJzLWRlcHRoLTEtZmFjZSkpKSAuIC0zMDYpICh1bmRvLXRyZWUtaWQzMDYy IC4gLTEpICh1bmRvLXRyZWUtaWQzMDYzIC4gLTEpIDMwNyAodCAyMzM0NSAxMTExNSA4MDM3 MDMgNzc3MDAwKSkgbmlsICgyMzM0NSAxMTE0OSA1NjY5NyAzOTkwMDApIDAgbmlsXSkgKCgj KCIpIiAwIDEgKGZvbnRpZmllZCBuaWwgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRo LTItZmFjZSkpKSAuIDU1NCkgKHVuZG8tdHJlZS1pZDI5NjkgLiAxKSAodW5kby10cmVlLWlk Mjk3MCAuIC0xKSAodW5kby10cmVlLWlkMjk3MSAuIC0xKSAodW5kby10cmVlLWlkMjk3MiAu IDEpICh1bmRvLXRyZWUtaWQyOTczIC4gMSkgKHVuZG8tdHJlZS1pZDI5NzQgLiAxKSAodW5k by10cmVlLWlkMjk3NSAuIDEpICh1bmRvLXRyZWUtaWQyOTc2IC4gMSkgKHVuZG8tdHJlZS1p ZDI5NzcgLiAxKSAodW5kby10cmVlLWlkMjk3OCAuIDEpICh1bmRvLXRyZWUtaWQyOTc5IC4g MSkgKHVuZG8tdHJlZS1pZDI5ODAgLiAtMSkgKDU1MCAuIDU1NCkpIG5pbCAoMjMzNDUgMTEx MTUgNzg5MDA1IDcyNzAwMCkgMCBuaWxdKSAoKCMoIjEiIDAgMSAoZm9udGlmaWVkIHQgZmFj ZSBoaWdobGlnaHQtbnVtYmVycy1udW1iZXIpKSAuIC01NTApICh1bmRvLXRyZWUtaWQyOTgx IC4gLTEpICh1bmRvLXRyZWUtaWQyOTgyIC4gMSkgKHVuZG8tdHJlZS1pZDI5ODMgLiAtMSkg KHVuZG8tdHJlZS1pZDI5ODQgLiAtMSkgNTUxKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTAyNSA0 NTIwMDApIDAgbmlsXSkgKCg1NTAgLiA1NTEpKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTAzMCAx MjcwMDApIDAgbmlsXSkgKCg1NDcgLiA1NTApICg1NDYgLiA1NDgpICgjKCIoIiAwIDEgKGZv bnRpZmllZCBuaWwpKSAuIC01NDYpICg1MzAgLiA1NDcpKSBuaWwgKDIzMzQ1IDExMTE1IDc4 OTAzNSA0OTEwMDApIDAgbmlsXSkgKCgjKCIpIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgKHJh aW5ib3ctZGVsaW1pdGVycy1taXNtYXRjaGVkLWZhY2UpKSkgLiA1MzApKSBuaWwgKDIzMzQ1 IDExMTE1IDc4OTAzOCA3NTgwMDApIDAgbmlsXSkgKCgjKCJpIiAwIDEgKGZvbnRpZmllZCB0 KSkgLiA1MzApKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTA0MSA2MDUwMDApIDAgbmlsXSkgKCgj KCIoIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0y LWZhY2UpKSkgLiA1MzApKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTA0NCA3MTYwMDApIDAgbmls XSkgKCgjKCJlIiAwIDEgKGZvbnRpZmllZCB0KSkgLiA1MzApKSBuaWwgKDIzMzQ1IDExMTE1 IDc4OTA0OCAzMTMwMDApIDAgbmlsXSkgKCgjKCJjIiAwIDEgKGZvbnRpZmllZCB0KSkgLiA1 MzApKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTA1MCA5NjgwMDApIDAgbmlsXSkgKCgjKCJyIiAw IDEgKGZvbnRpZmllZCB0KSkgLiA1MzApKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTA1NCAyOTQw MDApIDAgbmlsXSkgKCgjKCJ1IiAwIDEgKGZvbnRpZmllZCB0KSkgLiA1MzApKSBuaWwgKDIz MzQ1IDExMTE1IDc4OTA1NyA0MDMwMDApIDAgbmlsXSkgKCgjKCJvIiAwIDEgKGZvbnRpZmll ZCB0KSkgLiA1MzApKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTA2MCA0MzAwMCkgMCBuaWxdKSAo KCMoInMiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDUzMCkpIG5pbCAoMjMzNDUgMTExMTUgNzg5 MDYyIDU2ODAwMCkgMCBuaWxdKSAoKCMoImUiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDUzMCkp IG5pbCAoMjMzNDUgMTExMTUgNzg5MDY1IDg1MDAwKSAwIG5pbF0pICgoIygiciIgMCAxIChm b250aWZpZWQgdCkpIC4gNTMwKSkgbmlsICgyMzM0NSAxMTExNSA3ODkwNjcgODc0MDAwKSAw IG5pbF0pICgoIygiXyIgMCAxIChmb250aWZpZWQgdCkpIC4gNTMwKSkgbmlsICgyMzM0NSAx MTExNSA3ODkwNzAgMzc4MDAwKSAwIG5pbF0pICgoIygiZCIgMCAxIChmb250aWZpZWQgdCkp IC4gNTMwKSkgbmlsICgyMzM0NSAxMTExNSA3ODkwNzIgODU5MDAwKSAwIG5pbF0pICgoIygi biIgMCAxIChmb250aWZpZWQgdCkpIC4gNTMwKSkgbmlsICgyMzM0NSAxMTExNSA3ODkwNzUg MzI3MDAwKSAwIG5pbF0pICgoIygiYSIgMCAxIChmb250aWZpZWQgdCkpIC4gNTMwKSkgbmls ICgyMzM0NSAxMTExNSA3ODkwNzggMjkxMDAwKSAwIG5pbF0pICgoIygiciIgMCAxIChmb250 aWZpZWQgdCkpIC4gNTMwKSkgbmlsICgyMzM0NSAxMTExNSA3ODkwODAgNzcwMDAwKSAwIG5p bF0pICgoNTcwIC4gNTgxKSAoIygiZiIgMCAxIChmb250aWZpZWQgdCkpIC4gLTU3MCkgKHVu ZG8tdHJlZS1pZDI5ODUgLiAtMSkgKDU2MiAuIDU3MSkpIG5pbCAoMjMzNDUgMTExMTUgNzg5 MDg3IDM2MDAwKSAwIG5pbF0pICgoIygiTiIgMCAxIChmb250aWZpZWQgdCkpIC4gLTU2Mikg KHVuZG8tdHJlZS1pZDI5ODYgLiAtMSkgNTYzKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTA5MiA2 MDkwMDApIDAgbmlsXSkgKCg1NjIgLiA1NjMpICg1NjEgLiA1NjMpICgjKCIoIiAwIDEgKGZv bnRpZmllZCBuaWwgZmFjZSBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkgLiAtNTYxKSAoNTQ3 IC4gNTYyKSAoIygiZiIgMCAxIChmb250aWZpZWQgdCkpIC4gLTU0NykgKHVuZG8tdHJlZS1p ZDI5ODcgLiAtMSkgKDU0NiAuIDU0OCkgKCMoIikiIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNl IChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMi1mYWNlKSkpIC4gNTQ2KSAodW5kby10cmVl LWlkMjk4OCAuIDEpICh1bmRvLXRyZWUtaWQyOTg5IC4gLTEpICg1NDQgLiA1NDYpKSBuaWwg KDIzMzQ1IDExMTE1IDc4OTEwNSA5MzUwMDApIDAgbmlsXSkgKCg1NDMgLiA1NDUpICgjKCIo IiAwIDEgKGZvbnRpZmllZCBuaWwpKSAuIC01NDMpICg1MzkgLiA1NDQpKSBuaWwgKDIzMzQ1 IDExMTE1IDc4OTExMSA5NjAwMDApIDAgbmlsXSkgKCg1MzAgLiA1MzkpICg1MjkgLiA1MzEp ICgjKCJbIiAwIDEgKGZvbnRpZmllZCBuaWwpKSAuIC01MjkpICg1MjIgLiA1MzApKSBuaWwg KDIzMzQ1IDExMTE1IDc4OTExNyAyNjEwMDApIDAgbmlsXSkgKCg1MTcgLiA1MjIpKSBuaWwg KDIzMzQ1IDExMTE1IDc4OTEyMCA2NTAwMCkgMCBuaWxdKSAoKDUxNiAuIDUxNykgKCMoIiki IDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1m YWNlKSkpIC4gNTE2KSAodW5kby10cmVlLWlkMjk5MCAuIDEpICh1bmRvLXRyZWUtaWQyOTkx IC4gLTEpICg1MTUgLiA1MTYpKSBuaWwgKDIzMzQ1IDExMTE1IDc4OTEyNyA2MTYwMDApIDAg bmlsXSkgKCg1MDQgLiA1MTUpICgjKCJmIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtNTA0KSAo dW5kby10cmVlLWlkMjk5MiAuIC0xKSAoNDk2IC4gNTA1KSAoNDk1IC4gNDk3KSAoIygiKCIg MCAxIChmb250aWZpZWQgbmlsIGZhY2UgZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFjZSkp IC4gLTQ5NSkgKDQ5NSAuIDQ5NikpIG5pbCAoMjMzNDUgMTExMTUgNzg5MTM2IDY1OTAwMCkg MCBuaWxdKSAoKDQ4NiAuIDQ5NSkpIG5pbCAoMjMzNDUgMTExMTUgNzg5MTQwIDYwNjAwMCkg MCBuaWxdKSAoKDQ4NSAuIDQ4NikpIG5pbCAoMjMzNDUgMTExMTUgNzg5MTQzIDIwNzAwMCkg MCBuaWxdKSAoKCMoIl8iIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stZnVuY3Rp b24tbmFtZS1mYWNlKSkgLiAtNDg1KSAodW5kby10cmVlLWlkMjk5MyAuIC0xKSA0ODYpIG5p bCAoMjMzNDUgMTExMTUgNzg5MTQ3IDM0ODAwMCkgMCBuaWxdKSAoKDQ3NSAuIDQ4NikgKCMo ImYiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2sta2V5d29yZC1mYWNlKSkgLiAt NDc1KSAodW5kby10cmVlLWlkMjk5NCAuIC0xKSAoNDczIC4gNDc2KSkgbmlsICgyMzM0NSAx MTExNSA3ODkxNTMgMjg4MDAwKSAwIG5pbF0pICgoIygiZyIgMCAxIChmb250aWZpZWQgdCkp IC4gLTQ3MykgKHVuZG8tdHJlZS1pZDI5OTUgLiAtMSkgKCMoImUiIDAgMSAoZm9udGlmaWVk IHQpKSAuIC00NzQpICh1bmRvLXRyZWUtaWQyOTk2IC4gLTEpIDQ3NSkgbmlsICgyMzM0NSAx MTExNSA3ODkxNjAgODcyMDAwKSAwIG5pbF0pICgoNDczIC4gNDc1KSkgbmlsICgyMzM0NSAx MTExNSA3ODkxNjQgNDA3MDAwKSAwIG5pbF0pICgoNDcyIC4gNDczKSkgbmlsICgyMzM0NSAx MTExNSA3ODkxNjcgMCkgMCBuaWxdKSAoKDQ3MSAuIDQ3MikgKHQgMjMzNDUgMTEwMDQgMjUz OTUyIDY4MDAwMCkgNDE0KSBuaWwgKDIzMzQ1IDExMTE1IDc4OTE3MCA1MjMwMDApIDAgbmls XSkgKCgzMzA5IC4gMzMxMCkpIG5pbCAoMjMzNDUgMTEwMDQgMjQzNTg3IDQwMDAwKSAwIG5p bF0pICgoIygiKSIgMCAxIChmb250aWZpZWQgdCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMt ZGVwdGgtMS1mYWNlKSkpIC4gLTMzMDkpICh1bmRvLXRyZWUtaWQyODkyIC4gMSkgKHVuZG8t dHJlZS1pZDI4OTMgLiAtMSkgKHVuZG8tdHJlZS1pZDI4OTQgLiAtMSkgKHVuZG8tdHJlZS1p ZDI4OTUgLiAxKSAodW5kby10cmVlLWlkMjg5NiAuIDEpICh1bmRvLXRyZWUtaWQyODk3IC4g MSkgKHVuZG8tdHJlZS1pZDI4OTggLiAxKSAodW5kby10cmVlLWlkMjg5OSAuIDEpICh1bmRv LXRyZWUtaWQyOTAwIC4gMSkgKHVuZG8tdHJlZS1pZDI5MDEgLiAtMSkgKHVuZG8tdHJlZS1p ZDI5MDIgLiAtMSkgKHVuZG8tdHJlZS1pZDI5MDMgLiAtMSkgKCMoIlQiIDAgMSAoZm9udGlm aWVkIHQpKSAuIC0zMzEwKSAodW5kby10cmVlLWlkMjkwNCAuIC0xKSAodW5kby10cmVlLWlk MjkwNSAuIC0xKSAodW5kby10cmVlLWlkMjkwNiAuIC0xKSAodW5kby10cmVlLWlkMjkwNyAu IC0xKSAoIygiTyIgMCAxIChmb250aWZpZWQgdCkpIC4gLTMzMTEpICh1bmRvLXRyZWUtaWQy OTA4IC4gLTEpICh1bmRvLXRyZWUtaWQyOTA5IC4gLTEpICh1bmRvLXRyZWUtaWQyOTEwIC4g LTEpICh1bmRvLXRyZWUtaWQyOTExIC4gLTEpICgjKCJUIiAwIDEgKGZvbnRpZmllZCB0KSkg LiAtMzMxMikgKHVuZG8tdHJlZS1pZDI5MTIgLiAtMSkgKHVuZG8tdHJlZS1pZDI5MTMgLiAt MSkgKHVuZG8tdHJlZS1pZDI5MTQgLiAtMSkgKHVuZG8tdHJlZS1pZDI5MTUgLiAtMSkgKCMo IkEiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC0zMzEzKSAodW5kby10cmVlLWlkMjkxNiAuIC0x KSAodW5kby10cmVlLWlkMjkxNyAuIC0xKSAodW5kby10cmVlLWlkMjkxOCAuIC0xKSAodW5k by10cmVlLWlkMjkxOSAuIC0xKSAoIygiTCIgMCAxIChmb250aWZpZWQgdCkpIC4gLTMzMTQp ICh1bmRvLXRyZWUtaWQyOTIwIC4gLTEpICh1bmRvLXRyZWUtaWQyOTIxIC4gLTEpICh1bmRv LXRyZWUtaWQyOTIyIC4gLTEpICh1bmRvLXRyZWUtaWQyOTIzIC4gLTEpICgjKCJfIiAwIDEg KGZvbnRpZmllZCB0KSkgLiAtMzMxNSkgKHVuZG8tdHJlZS1pZDI5MjQgLiAtMSkgKHVuZG8t dHJlZS1pZDI5MjUgLiAtMSkgKHVuZG8tdHJlZS1pZDI5MjYgLiAtMSkgKHVuZG8tdHJlZS1p ZDI5MjcgLiAtMSkgKCMoIkEiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC0zMzE2KSAodW5kby10 cmVlLWlkMjkyOCAuIC0xKSAodW5kby10cmVlLWlkMjkyOSAuIC0xKSAodW5kby10cmVlLWlk MjkzMCAuIC0xKSAodW5kby10cmVlLWlkMjkzMSAuIC0xKSAoIygiViIgMCAxIChmb250aWZp ZWQgdCkpIC4gLTMzMTcpICh1bmRvLXRyZWUtaWQyOTMyIC4gLTEpICh1bmRvLXRyZWUtaWQy OTMzIC4gLTEpICh1bmRvLXRyZWUtaWQyOTM0IC4gLTEpICh1bmRvLXRyZWUtaWQyOTM1IC4g LTEpICgjKCJBIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtMzMxOCkgKHVuZG8tdHJlZS1pZDI5 MzYgLiAtMSkgKHVuZG8tdHJlZS1pZDI5MzcgLiAtMSkgKHVuZG8tdHJlZS1pZDI5MzggLiAt MSkgKHVuZG8tdHJlZS1pZDI5MzkgLiAtMSkgKCMoIkkiIDAgMSAoZm9udGlmaWVkIHQpKSAu IC0zMzE5KSAodW5kby10cmVlLWlkMjk0MCAuIC0xKSAodW5kby10cmVlLWlkMjk0MSAuIC0x KSAodW5kby10cmVlLWlkMjk0MiAuIC0xKSAodW5kby10cmVlLWlkMjk0MyAuIC0xKSAoIygi TCIgMCAxIChmb250aWZpZWQgdCkpIC4gLTMzMjApICh1bmRvLXRyZWUtaWQyOTQ0IC4gLTEp ICh1bmRvLXRyZWUtaWQyOTQ1IC4gLTEpICh1bmRvLXRyZWUtaWQyOTQ2IC4gLTEpICh1bmRv LXRyZWUtaWQyOTQ3IC4gLTEpICgjKCJBIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtMzMyMSkg KHVuZG8tdHJlZS1pZDI5NDggLiAtMSkgKHVuZG8tdHJlZS1pZDI5NDkgLiAtMSkgKHVuZG8t dHJlZS1pZDI5NTAgLiAtMSkgKHVuZG8tdHJlZS1pZDI5NTEgLiAtMSkgKCMoIkIiIDAgMSAo Zm9udGlmaWVkIG5pbCkpIC4gLTMzMjIpICh1bmRvLXRyZWUtaWQyOTUyIC4gLTEpICh1bmRv LXRyZWUtaWQyOTUzIC4gLTEpICh1bmRvLXRyZWUtaWQyOTU0IC4gLTEpICh1bmRvLXRyZWUt aWQyOTU1IC4gLTEpICgjKCJMIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtMzMyMykgKHVuZG8t dHJlZS1pZDI5NTYgLiAtMSkgKHVuZG8tdHJlZS1pZDI5NTcgLiAtMSkgKHVuZG8tdHJlZS1p ZDI5NTggLiAtMSkgKHVuZG8tdHJlZS1pZDI5NTkgLiAtMSkgKCMoIkUiIDAgMSAoZm9udGlm aWVkIHQpKSAuIC0zMzI0KSAodW5kby10cmVlLWlkMjk2MCAuIC0xKSAodW5kby10cmVlLWlk Mjk2MSAuIC0xKSAzMzI1KSBuaWwgKDIzMzQ1IDExMDA0IDI0MzcxMyAxNDYwMDApIDAgbmls XSkgKCgzMjkwIC4gMzMwOSkgKCMoIk5VTUJFUiIgMCA2IChmb250aWZpZWQgdCkpIC4gLTMy OTApICh1bmRvLXRyZWUtaWQyOTYyIC4gLTYpICh1bmRvLXRyZWUtaWQyOTYzIC4gLTYpIDMy OTYpIG5pbCAoMjMzNDUgMTEwMDQgMjQzNzQzIDc1MDAwMCkgMCBuaWxdKSAoKDMyOTAgLiAz Mjk2KSkgbmlsICgyMzM0NSAxMTAwNCAyNDM3NDcgNjg2MDAwKSAwIG5pbF0pICgoIygibiIg MCAxIChmb250aWZpZWQgdCkpIC4gLTMyOTApICh1bmRvLXRyZWUtaWQyOTY0IC4gLTEpIDMy OTEpIG5pbCAoMjMzNDUgMTEwMDQgMjQzNzUxIDczMzAwMCkgMCBuaWxdKSAoKDMyOTAgLiAz MjkxKSkgbmlsICgyMzM0NSAxMTAwNCAyNDM3NTQgMjg5MDAwKSAwIG5pbF0pICgoIygiKSIg MCAxIChmb250aWZpZWQgbmlsIGZhY2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0xLWZh Y2UpKSkgLiAzMjkxKSAodW5kby10cmVlLWlkMjk2NSAuIC0xKSAodW5kby10cmVlLWlkMjk2 NiAuIDEpICh1bmRvLXRyZWUtaWQyOTY3IC4gLTEpICgzMjkwIC4gMzI5MSkgKDMyODkgLiAz MjkxKSAoIygiKCIgMCAxIChmb250aWZpZWQgbmlsKSkgLiAtMzI4OSkgKHVuZG8tdHJlZS1p ZDI5NjggLiAtMSkgKDMyNzUgLiAzMjkwKSkgbmlsICgyMzM0NSAxMTAwNCAyNDM3NjQgNjQz MDAwKSAwIG5pbF0pICgoMzI3MSAuIDMyNzUpKSBuaWwgKDIzMzQ1IDExMDA0IDI0Mzc2OSAx OTAwMCkgMCBuaWxdIFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwg KFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwg KFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwg KFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwg KFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwg KFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgKFtuaWwgbmlsICgo IygiRSIgMCAxIChmb250aWZpZWQgdCkpIC4gMTA1NSkgKHVuZG8tdHJlZS1pZDM4OSAuIC0x KSAodW5kby10cmVlLWlkMzkxIC4gMSkgKHVuZG8tdHJlZS1pZDM5MyAuIDEpICh1bmRvLXRy ZWUtaWQzOTUgLiAxKSAodW5kby10cmVlLWlkMzk3IC4gMSkgKHVuZG8tdHJlZS1pZDM5OSAu IDEpICh1bmRvLXRyZWUtaWQ0MDEgLiAxKSAodW5kby10cmVlLWlkNDAzIC4gMSkgKHVuZG8t dHJlZS1pZDQwNSAuIDEpICh1bmRvLXRyZWUtaWQ0MDcgLiAxKSAodW5kby10cmVlLWlkNDA5 IC4gMSkgKHVuZG8tdHJlZS1pZDQxMSAuIDEpICh1bmRvLXRyZWUtaWQ0MTMgLiAxKSAodW5k by10cmVlLWlkNDE1IC4gMSkgKHVuZG8tdHJlZS1pZDQxNyAuIDEpICh1bmRvLXRyZWUtaWQ0 MTkgLiAxKSAodW5kby10cmVlLWlkNDIxIC4gMSkgKHVuZG8tdHJlZS1pZDQyMyAuIDEpICh1 bmRvLXRyZWUtaWQ0MjUgLiAxKSAodW5kby10cmVlLWlkNDI3IC4gMSkgKHVuZG8tdHJlZS1p ZDQyOSAuIDEpICh1bmRvLXRyZWUtaWQ0MzEgLiAxKSAodW5kby10cmVlLWlkNDMzIC4gMSkg KHVuZG8tdHJlZS1pZDQzNSAuIDEpICh1bmRvLXRyZWUtaWQ0MzcgLiAxKSAodW5kby10cmVl LWlkNDM5IC4gMSkgKHVuZG8tdHJlZS1pZDQ0MSAuIDEpICh1bmRvLXRyZWUtaWQ0NDMgLiAx KSAodW5kby10cmVlLWlkNDQ1IC4gMSkgKHVuZG8tdHJlZS1pZDQ0NyAuIDEpICh1bmRvLXRy ZWUtaWQ0NDkgLiAxKSAodW5kby10cmVlLWlkNDUxIC4gMSkgKHVuZG8tdHJlZS1pZDQ1MyAu IDEpICh1bmRvLXRyZWUtaWQ0NTUgLiAxKSAodW5kby10cmVlLWlkNDU3IC4gMSkgKHVuZG8t dHJlZS1pZDQ1OSAuIDEpICh1bmRvLXRyZWUtaWQ0NjEgLiAxKSAodW5kby10cmVlLWlkNDYz IC4gMSkgKHVuZG8tdHJlZS1pZDQ2NSAuIDEpICh1bmRvLXRyZWUtaWQ0NjcgLiAxKSAodW5k by10cmVlLWlkNDY5IC4gMSkgKHVuZG8tdHJlZS1pZDQ3MSAuIDEpICh1bmRvLXRyZWUtaWQ0 NzMgLiAxKSAodW5kby10cmVlLWlkNDc1IC4gMSkgKHVuZG8tdHJlZS1pZDQ3NyAuIDEpICh1 bmRvLXRyZWUtaWQ0NzkgLiAxKSAodW5kby10cmVlLWlkNDgxIC4gMSkgKHVuZG8tdHJlZS1p ZDQ4MyAuIDEpICh1bmRvLXRyZWUtaWQ0ODUgLiAxKSAodW5kby10cmVlLWlkNDg3IC4gMSkg KHVuZG8tdHJlZS1pZDQ4OSAuIDEpICh1bmRvLXRyZWUtaWQ0OTEgLiAxKSAodW5kby10cmVl LWlkNDkzIC4gMSkgKHVuZG8tdHJlZS1pZDQ5NSAuIDEpICh1bmRvLXRyZWUtaWQ0OTcgLiAx KSAodW5kby10cmVlLWlkNDk5IC4gMSkgKHVuZG8tdHJlZS1pZDUwMSAuIDEpICh1bmRvLXRy ZWUtaWQ1MDMgLiAxKSAodW5kby10cmVlLWlkNTA1IC4gMSkpICgoMTA1NSAuIDEwNTYpICh0 IDIzMzQ1IDEwOTEzIDQ5NDc1MCAzMzUwMDApKSAoMjMzNDUgMTA5MTMgNDc5NTA5IDU4NzAw MCkgMCBuaWxdKSAoKCMoIkwiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDEwNTUpICh1bmRvLXRy ZWUtaWQ1MDcgLiAxKSAodW5kby10cmVlLWlkNTA5IC4gMSkgKHVuZG8tdHJlZS1pZDUxMSAu IDEpICh1bmRvLXRyZWUtaWQ1MTMgLiAxKSAodW5kby10cmVlLWlkNTE1IC4gMSkgKHVuZG8t dHJlZS1pZDUxNyAuIDEpICh1bmRvLXRyZWUtaWQ1MTkgLiAxKSAodW5kby10cmVlLWlkNTIx IC4gMSkgKHVuZG8tdHJlZS1pZDUyMyAuIDEpICh1bmRvLXRyZWUtaWQ1MjUgLiAxKSAodW5k by10cmVlLWlkNTI3IC4gMSkgKHVuZG8tdHJlZS1pZDUyOSAuIDEpICh1bmRvLXRyZWUtaWQ1 MzEgLiAxKSAodW5kby10cmVlLWlkNTMzIC4gMSkgKHVuZG8tdHJlZS1pZDUzNSAuIDEpICh1 bmRvLXRyZWUtaWQ1MzcgLiAxKSAodW5kby10cmVlLWlkNTM5IC4gMSkgKHVuZG8tdHJlZS1p ZDU0MSAuIDEpICh1bmRvLXRyZWUtaWQ1NDMgLiAxKSAodW5kby10cmVlLWlkNTQ1IC4gMSkg KHVuZG8tdHJlZS1pZDU0NyAuIDEpICh1bmRvLXRyZWUtaWQ1NDkgLiAxKSAodW5kby10cmVl LWlkNTUxIC4gMSkgKHVuZG8tdHJlZS1pZDU1MyAuIDEpICh1bmRvLXRyZWUtaWQ1NTUgLiAx KSAodW5kby10cmVlLWlkNTU3IC4gMSkgKHVuZG8tdHJlZS1pZDU1OSAuIDEpICh1bmRvLXRy ZWUtaWQ1NjEgLiAxKSAodW5kby10cmVlLWlkNTYzIC4gMSkgKHVuZG8tdHJlZS1pZDU2NSAu IDEpICh1bmRvLXRyZWUtaWQ1NjcgLiAxKSAodW5kby10cmVlLWlkNTY5IC4gMSkgKHVuZG8t dHJlZS1pZDU3MSAuIDEpICh1bmRvLXRyZWUtaWQ1NzMgLiAxKSAodW5kby10cmVlLWlkNTc1 IC4gMSkgKHVuZG8tdHJlZS1pZDU3NyAuIDEpICh1bmRvLXRyZWUtaWQ1NzkgLiAxKSAodW5k by10cmVlLWlkNTgxIC4gMSkgKHVuZG8tdHJlZS1pZDU4MyAuIDEpICh1bmRvLXRyZWUtaWQ1 ODUgLiAxKSAodW5kby10cmVlLWlkNTg3IC4gMSkgKHVuZG8tdHJlZS1pZDU4OSAuIDEpICh1 bmRvLXRyZWUtaWQ1OTEgLiAxKSAodW5kby10cmVlLWlkNTkzIC4gMSkgKHVuZG8tdHJlZS1p ZDU5NSAuIDEpICh1bmRvLXRyZWUtaWQ1OTcgLiAxKSAodW5kby10cmVlLWlkNTk5IC4gMSkg KHVuZG8tdHJlZS1pZDYwMSAuIDEpICh1bmRvLXRyZWUtaWQ2MDMgLiAxKSAodW5kby10cmVl LWlkNjA1IC4gMSkgKHVuZG8tdHJlZS1pZDYwNyAuIDEpICh1bmRvLXRyZWUtaWQ2MDkgLiAx KSAodW5kby10cmVlLWlkNjExIC4gMSkgKHVuZG8tdHJlZS1pZDYxMyAuIDEpICh1bmRvLXRy ZWUtaWQ2MTUgLiAxKSAodW5kby10cmVlLWlkNjE3IC4gMSkpICgoMTA1NSAuIDEwNTYpKSAo MjMzNDUgMTA5MTUgMzc2MzIyIDMzMzAwMCkgMCBuaWxdKSAoKCMoIkIiIDAgMSAoZm9udGlm aWVkIHQpKSAuIDEwNTUpICh1bmRvLXRyZWUtaWQ2MjAgLiAxKSAodW5kby10cmVlLWlkNjIy IC4gMSkgKHVuZG8tdHJlZS1pZDYyNCAuIDEpICh1bmRvLXRyZWUtaWQ2MjYgLiAxKSAodW5k by10cmVlLWlkNjI4IC4gMSkgKHVuZG8tdHJlZS1pZDYzMCAuIDEpICh1bmRvLXRyZWUtaWQ2 MzIgLiAxKSAodW5kby10cmVlLWlkNjM0IC4gMSkgKHVuZG8tdHJlZS1pZDYzNiAuIDEpICh1 bmRvLXRyZWUtaWQ2MzggLiAxKSAodW5kby10cmVlLWlkNjQwIC4gMSkgKHVuZG8tdHJlZS1p ZDY0MiAuIDEpICh1bmRvLXRyZWUtaWQ2NDQgLiAxKSAodW5kby10cmVlLWlkNjQ2IC4gMSkg KHVuZG8tdHJlZS1pZDY0OCAuIDEpICh1bmRvLXRyZWUtaWQ2NTAgLiAxKSAodW5kby10cmVl LWlkNjUyIC4gMSkgKHVuZG8tdHJlZS1pZDY1NCAuIDEpICh1bmRvLXRyZWUtaWQ2NTYgLiAx KSAodW5kby10cmVlLWlkNjU4IC4gMSkgKHVuZG8tdHJlZS1pZDY2MCAuIDEpICh1bmRvLXRy ZWUtaWQ2NjIgLiAxKSAodW5kby10cmVlLWlkNjY0IC4gMSkgKHVuZG8tdHJlZS1pZDY2NiAu IDEpICh1bmRvLXRyZWUtaWQ2NjggLiAxKSAodW5kby10cmVlLWlkNjcwIC4gMSkgKHVuZG8t dHJlZS1pZDY3MiAuIDEpICh1bmRvLXRyZWUtaWQ2NzQgLiAxKSAodW5kby10cmVlLWlkNjc2 IC4gMSkgKHVuZG8tdHJlZS1pZDY3OCAuIDEpICh1bmRvLXRyZWUtaWQ2ODAgLiAxKSAodW5k by10cmVlLWlkNjgyIC4gMSkgKHVuZG8tdHJlZS1pZDY4NCAuIDEpICh1bmRvLXRyZWUtaWQ2 ODYgLiAxKSAodW5kby10cmVlLWlkNjg4IC4gMSkgKHVuZG8tdHJlZS1pZDY5MCAuIDEpICh1 bmRvLXRyZWUtaWQ2OTIgLiAxKSAodW5kby10cmVlLWlkNjk0IC4gMSkgKHVuZG8tdHJlZS1p ZDY5NiAuIDEpICh1bmRvLXRyZWUtaWQ2OTggLiAxKSAodW5kby10cmVlLWlkNzAwIC4gMSkg KHVuZG8tdHJlZS1pZDcwMiAuIDEpICh1bmRvLXRyZWUtaWQ3MDQgLiAxKSAodW5kby10cmVl LWlkNzA2IC4gMSkgKHVuZG8tdHJlZS1pZDcwOCAuIDEpICh1bmRvLXRyZWUtaWQ3MTAgLiAx KSAodW5kby10cmVlLWlkNzEyIC4gMSkgKHVuZG8tdHJlZS1pZDcxNCAuIDEpICh1bmRvLXRy ZWUtaWQ3MTYgLiAxKSAodW5kby10cmVlLWlkNzE4IC4gMSkgKHVuZG8tdHJlZS1pZDcyMCAu IDEpICh1bmRvLXRyZWUtaWQ3MjIgLiAxKSAodW5kby10cmVlLWlkNzI0IC4gMSkgKHVuZG8t dHJlZS1pZDcyNiAuIDEpICh1bmRvLXRyZWUtaWQ3MjggLiAxKSkgKCgxMDU1IC4gMTA1Nikp ICgyMzM0NSAxMDkxNSA1ODI4ODYgMzI0MDAwKSAwIG5pbF0pICgoIygiQSIgMCAxIChmb250 aWZpZWQgdCkpIC4gMTA1NSkgKHVuZG8tdHJlZS1pZDczMSAuIDEpICh1bmRvLXRyZWUtaWQ3 MzMgLiAxKSAodW5kby10cmVlLWlkNzM1IC4gMSkgKHVuZG8tdHJlZS1pZDczNyAuIDEpICh1 bmRvLXRyZWUtaWQ3MzkgLiAxKSAodW5kby10cmVlLWlkNzQxIC4gMSkgKHVuZG8tdHJlZS1p ZDc0MyAuIDEpICh1bmRvLXRyZWUtaWQ3NDUgLiAxKSAodW5kby10cmVlLWlkNzQ3IC4gMSkg KHVuZG8tdHJlZS1pZDc0OSAuIDEpICh1bmRvLXRyZWUtaWQ3NTEgLiAxKSAodW5kby10cmVl LWlkNzUzIC4gMSkgKHVuZG8tdHJlZS1pZDc1NSAuIDEpICh1bmRvLXRyZWUtaWQ3NTcgLiAx KSAodW5kby10cmVlLWlkNzU5IC4gMSkgKHVuZG8tdHJlZS1pZDc2MSAuIDEpICh1bmRvLXRy ZWUtaWQ3NjMgLiAxKSAodW5kby10cmVlLWlkNzY1IC4gMSkgKHVuZG8tdHJlZS1pZDc2NyAu IDEpICh1bmRvLXRyZWUtaWQ3NjkgLiAxKSAodW5kby10cmVlLWlkNzcxIC4gMSkgKHVuZG8t dHJlZS1pZDc3MyAuIDEpICh1bmRvLXRyZWUtaWQ3NzUgLiAxKSAodW5kby10cmVlLWlkNzc3 IC4gMSkgKHVuZG8tdHJlZS1pZDc3OSAuIDEpICh1bmRvLXRyZWUtaWQ3ODEgLiAxKSAodW5k by10cmVlLWlkNzgzIC4gMSkgKHVuZG8tdHJlZS1pZDc4NSAuIDEpICh1bmRvLXRyZWUtaWQ3 ODcgLiAxKSAodW5kby10cmVlLWlkNzg5IC4gMSkgKHVuZG8tdHJlZS1pZDc5MSAuIDEpICh1 bmRvLXRyZWUtaWQ3OTMgLiAxKSAodW5kby10cmVlLWlkNzk1IC4gMSkgKHVuZG8tdHJlZS1p ZDc5NyAuIDEpICh1bmRvLXRyZWUtaWQ3OTkgLiAxKSAodW5kby10cmVlLWlkODAxIC4gMSkg KHVuZG8tdHJlZS1pZDgwMyAuIDEpICh1bmRvLXRyZWUtaWQ4MDUgLiAxKSAodW5kby10cmVl LWlkODA3IC4gMSkgKHVuZG8tdHJlZS1pZDgwOSAuIDEpICh1bmRvLXRyZWUtaWQ4MTEgLiAx KSAodW5kby10cmVlLWlkODEzIC4gMSkgKHVuZG8tdHJlZS1pZDgxNSAuIDEpICh1bmRvLXRy ZWUtaWQ4MTcgLiAxKSAodW5kby10cmVlLWlkODE5IC4gMSkgKHVuZG8tdHJlZS1pZDgyMSAu IDEpICh1bmRvLXRyZWUtaWQ4MjMgLiAxKSAodW5kby10cmVlLWlkODI1IC4gMSkgKHVuZG8t dHJlZS1pZDgyNyAuIDEpICh1bmRvLXRyZWUtaWQ4MjkgLiAxKSAodW5kby10cmVlLWlkODMx IC4gMSkgKHVuZG8tdHJlZS1pZDgzMyAuIDEpICh1bmRvLXRyZWUtaWQ4MzUgLiAxKSAodW5k by10cmVlLWlkODM3IC4gMSkpICgoMTA1NSAuIDEwNTYpKSAoMjMzNDUgMTA5MTUgNzU5NTQy IDc3NzAwMCkgMCBuaWxdKSAoKCMoIkwiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDEwNTUpICh1 bmRvLXRyZWUtaWQ4NDAgLiAxKSAodW5kby10cmVlLWlkODQyIC4gMSkgKHVuZG8tdHJlZS1p ZDg0NCAuIDEpICh1bmRvLXRyZWUtaWQ4NDYgLiAxKSAodW5kby10cmVlLWlkODQ4IC4gMSkg KHVuZG8tdHJlZS1pZDg1MCAuIDEpICh1bmRvLXRyZWUtaWQ4NTIgLiAxKSAodW5kby10cmVl LWlkODU0IC4gMSkgKHVuZG8tdHJlZS1pZDg1NiAuIDEpICh1bmRvLXRyZWUtaWQ4NTggLiAx KSAodW5kby10cmVlLWlkODYwIC4gMSkgKHVuZG8tdHJlZS1pZDg2MiAuIDEpICh1bmRvLXRy ZWUtaWQ4NjQgLiAxKSAodW5kby10cmVlLWlkODY2IC4gMSkgKHVuZG8tdHJlZS1pZDg2OCAu IDEpICh1bmRvLXRyZWUtaWQ4NzAgLiAxKSAodW5kby10cmVlLWlkODcyIC4gMSkgKHVuZG8t dHJlZS1pZDg3NCAuIDEpICh1bmRvLXRyZWUtaWQ4NzYgLiAxKSAodW5kby10cmVlLWlkODc4 IC4gMSkgKHVuZG8tdHJlZS1pZDg4MCAuIDEpICh1bmRvLXRyZWUtaWQ4ODIgLiAxKSAodW5k by10cmVlLWlkODg0IC4gMSkgKHVuZG8tdHJlZS1pZDg4NiAuIDEpICh1bmRvLXRyZWUtaWQ4 ODggLiAxKSAodW5kby10cmVlLWlkODkwIC4gMSkgKHVuZG8tdHJlZS1pZDg5MiAuIDEpICh1 bmRvLXRyZWUtaWQ4OTQgLiAxKSAodW5kby10cmVlLWlkODk2IC4gMSkgKHVuZG8tdHJlZS1p ZDg5OCAuIDEpICh1bmRvLXRyZWUtaWQ5MDAgLiAxKSAodW5kby10cmVlLWlkOTAyIC4gMSkg KHVuZG8tdHJlZS1pZDkwNCAuIDEpICh1bmRvLXRyZWUtaWQ5MDYgLiAxKSAodW5kby10cmVl LWlkOTA4IC4gMSkgKHVuZG8tdHJlZS1pZDkxMCAuIDEpICh1bmRvLXRyZWUtaWQ5MTIgLiAx KSAodW5kby10cmVlLWlkOTE0IC4gMSkgKHVuZG8tdHJlZS1pZDkxNiAuIDEpICh1bmRvLXRy ZWUtaWQ5MTggLiAxKSAodW5kby10cmVlLWlkOTIwIC4gMSkgKHVuZG8tdHJlZS1pZDkyMiAu IDEpICh1bmRvLXRyZWUtaWQ5MjQgLiAxKSAodW5kby10cmVlLWlkOTI2IC4gMSkgKHVuZG8t dHJlZS1pZDkyOCAuIDEpICh1bmRvLXRyZWUtaWQ5MzAgLiAxKSAodW5kby10cmVlLWlkOTMy IC4gMSkgKHVuZG8tdHJlZS1pZDkzNCAuIDEpICh1bmRvLXRyZWUtaWQ5MzYgLiAxKSAodW5k by10cmVlLWlkOTM4IC4gMSkgKHVuZG8tdHJlZS1pZDk0MCAuIDEpICh1bmRvLXRyZWUtaWQ5 NDIgLiAxKSAodW5kby10cmVlLWlkOTQ0IC4gMSkpICgoMTA1NSAuIDEwNTYpKSAoMjMzNDUg MTA5MTUgOTExNzQ3IDM5NjAwMCkgMCBuaWxdKSAoKCMoIkkiIDAgMSAoZm9udGlmaWVkIHQp KSAuIDEwNTUpICh1bmRvLXRyZWUtaWQ5NDcgLiAxKSAodW5kby10cmVlLWlkOTQ5IC4gMSkg KHVuZG8tdHJlZS1pZDk1MSAuIDEpICh1bmRvLXRyZWUtaWQ5NTMgLiAxKSAodW5kby10cmVl LWlkOTU1IC4gMSkgKHVuZG8tdHJlZS1pZDk1NyAuIDEpICh1bmRvLXRyZWUtaWQ5NTkgLiAx KSAodW5kby10cmVlLWlkOTYxIC4gMSkgKHVuZG8tdHJlZS1pZDk2MyAuIDEpICh1bmRvLXRy ZWUtaWQ5NjUgLiAxKSAodW5kby10cmVlLWlkOTY3IC4gMSkgKHVuZG8tdHJlZS1pZDk2OSAu IDEpICh1bmRvLXRyZWUtaWQ5NzEgLiAxKSAodW5kby10cmVlLWlkOTczIC4gMSkgKHVuZG8t dHJlZS1pZDk3NSAuIDEpICh1bmRvLXRyZWUtaWQ5NzcgLiAxKSAodW5kby10cmVlLWlkOTc5 IC4gMSkgKHVuZG8tdHJlZS1pZDk4MSAuIDEpICh1bmRvLXRyZWUtaWQ5ODMgLiAxKSAodW5k by10cmVlLWlkOTg1IC4gMSkgKHVuZG8tdHJlZS1pZDk4NyAuIDEpICh1bmRvLXRyZWUtaWQ5 ODkgLiAxKSAodW5kby10cmVlLWlkOTkxIC4gMSkgKHVuZG8tdHJlZS1pZDk5MyAuIDEpICh1 bmRvLXRyZWUtaWQ5OTUgLiAxKSAodW5kby10cmVlLWlkOTk3IC4gMSkgKHVuZG8tdHJlZS1p ZDk5OSAuIDEpICh1bmRvLXRyZWUtaWQxMDAxIC4gMSkgKHVuZG8tdHJlZS1pZDEwMDMgLiAx KSAodW5kby10cmVlLWlkMTAwNSAuIDEpICh1bmRvLXRyZWUtaWQxMDA3IC4gMSkgKHVuZG8t dHJlZS1pZDEwMDkgLiAxKSAodW5kby10cmVlLWlkMTAxMSAuIDEpICh1bmRvLXRyZWUtaWQx MDEzIC4gMSkgKHVuZG8tdHJlZS1pZDEwMTUgLiAxKSAodW5kby10cmVlLWlkMTAxNyAuIDEp ICh1bmRvLXRyZWUtaWQxMDE5IC4gMSkgKHVuZG8tdHJlZS1pZDEwMjEgLiAxKSAodW5kby10 cmVlLWlkMTAyMyAuIDEpICh1bmRvLXRyZWUtaWQxMDI1IC4gMSkgKHVuZG8tdHJlZS1pZDEw MjcgLiAxKSAodW5kby10cmVlLWlkMTAyOSAuIDEpICh1bmRvLXRyZWUtaWQxMDMxIC4gMSkg KHVuZG8tdHJlZS1pZDEwMzMgLiAxKSAodW5kby10cmVlLWlkMTAzNSAuIDEpICh1bmRvLXRy ZWUtaWQxMDM3IC4gMSkgKHVuZG8tdHJlZS1pZDEwMzkgLiAxKSAodW5kby10cmVlLWlkMTA0 MSAuIDEpICh1bmRvLXRyZWUtaWQxMDQzIC4gMSkgKHVuZG8tdHJlZS1pZDEwNDUgLiAxKSAo dW5kby10cmVlLWlkMTA0NyAuIDEpICh1bmRvLXRyZWUtaWQxMDQ5IC4gMSkpICgoMTA1NSAu IDEwNTYpKSAoMjMzNDUgMTA5MTYgNTU1NzEgNDUxMDAwKSAwIG5pbF0pICgoIygiQSIgMCAx IChmb250aWZpZWQgdCkpIC4gMTA1NSkgKHVuZG8tdHJlZS1pZDEwNTIgLiAxKSAodW5kby10 cmVlLWlkMTA1NCAuIDEpICh1bmRvLXRyZWUtaWQxMDU2IC4gMSkgKHVuZG8tdHJlZS1pZDEw NTggLiAxKSAodW5kby10cmVlLWlkMTA2MCAuIDEpICh1bmRvLXRyZWUtaWQxMDYyIC4gMSkg KHVuZG8tdHJlZS1pZDEwNjQgLiAxKSAodW5kby10cmVlLWlkMTA2NiAuIDEpICh1bmRvLXRy ZWUtaWQxMDY4IC4gMSkgKHVuZG8tdHJlZS1pZDEwNzAgLiAxKSAodW5kby10cmVlLWlkMTA3 MiAuIDEpICh1bmRvLXRyZWUtaWQxMDc0IC4gMSkgKHVuZG8tdHJlZS1pZDEwNzYgLiAxKSAo dW5kby10cmVlLWlkMTA3OCAuIDEpICh1bmRvLXRyZWUtaWQxMDgwIC4gMSkgKHVuZG8tdHJl ZS1pZDEwODIgLiAxKSAodW5kby10cmVlLWlkMTA4NCAuIDEpICh1bmRvLXRyZWUtaWQxMDg2 IC4gMSkgKHVuZG8tdHJlZS1pZDEwODggLiAxKSAodW5kby10cmVlLWlkMTA5MCAuIDEpICh1 bmRvLXRyZWUtaWQxMDkyIC4gMSkgKHVuZG8tdHJlZS1pZDEwOTQgLiAxKSAodW5kby10cmVl LWlkMTA5NiAuIDEpICh1bmRvLXRyZWUtaWQxMDk4IC4gMSkgKHVuZG8tdHJlZS1pZDExMDAg LiAxKSAodW5kby10cmVlLWlkMTEwMiAuIDEpICh1bmRvLXRyZWUtaWQxMTA0IC4gMSkgKHVu ZG8tdHJlZS1pZDExMDYgLiAxKSAodW5kby10cmVlLWlkMTEwOCAuIDEpICh1bmRvLXRyZWUt aWQxMTEwIC4gMSkgKHVuZG8tdHJlZS1pZDExMTIgLiAxKSAodW5kby10cmVlLWlkMTExNCAu IDEpICh1bmRvLXRyZWUtaWQxMTE2IC4gMSkgKHVuZG8tdHJlZS1pZDExMTggLiAxKSAodW5k by10cmVlLWlkMTEyMCAuIDEpICh1bmRvLXRyZWUtaWQxMTIyIC4gMSkgKHVuZG8tdHJlZS1p ZDExMjQgLiAxKSAodW5kby10cmVlLWlkMTEyNiAuIDEpICh1bmRvLXRyZWUtaWQxMTI4IC4g MSkgKHVuZG8tdHJlZS1pZDExMzAgLiAxKSAodW5kby10cmVlLWlkMTEzMiAuIDEpICh1bmRv LXRyZWUtaWQxMTM0IC4gMSkgKHVuZG8tdHJlZS1pZDExMzYgLiAxKSAodW5kby10cmVlLWlk MTEzOCAuIDEpICh1bmRvLXRyZWUtaWQxMTQwIC4gMSkgKHVuZG8tdHJlZS1pZDExNDIgLiAx KSAodW5kby10cmVlLWlkMTE0NCAuIDEpICh1bmRvLXRyZWUtaWQxMTQ2IC4gMSkgKHVuZG8t dHJlZS1pZDExNDggLiAxKSAodW5kby10cmVlLWlkMTE1MCAuIDEpICh1bmRvLXRyZWUtaWQx MTUyIC4gMSkpICgoMTA1NSAuIDEwNTYpKSAoMjMzNDUgMTA5MTYgMjE1NDQ4IDQ5OTAwMCkg MCBuaWxdKSAoKCMoIlYiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDEwNTUpICh1bmRvLXRyZWUt aWQxMTU1IC4gMSkgKHVuZG8tdHJlZS1pZDExNTcgLiAxKSAodW5kby10cmVlLWlkMTE1OSAu IDEpICh1bmRvLXRyZWUtaWQxMTYxIC4gMSkgKHVuZG8tdHJlZS1pZDExNjMgLiAxKSAodW5k by10cmVlLWlkMTE2NSAuIDEpICh1bmRvLXRyZWUtaWQxMTY3IC4gMSkgKHVuZG8tdHJlZS1p ZDExNjkgLiAxKSAodW5kby10cmVlLWlkMTE3MSAuIDEpICh1bmRvLXRyZWUtaWQxMTczIC4g MSkgKHVuZG8tdHJlZS1pZDExNzUgLiAxKSAodW5kby10cmVlLWlkMTE3NyAuIDEpICh1bmRv LXRyZWUtaWQxMTc5IC4gMSkgKHVuZG8tdHJlZS1pZDExODEgLiAxKSAodW5kby10cmVlLWlk MTE4MyAuIDEpICh1bmRvLXRyZWUtaWQxMTg1IC4gMSkgKHVuZG8tdHJlZS1pZDExODcgLiAx KSAodW5kby10cmVlLWlkMTE4OSAuIDEpICh1bmRvLXRyZWUtaWQxMTkxIC4gMSkgKHVuZG8t dHJlZS1pZDExOTMgLiAxKSAodW5kby10cmVlLWlkMTE5NSAuIDEpICh1bmRvLXRyZWUtaWQx MTk3IC4gMSkgKHVuZG8tdHJlZS1pZDExOTkgLiAxKSAodW5kby10cmVlLWlkMTIwMSAuIDEp ICh1bmRvLXRyZWUtaWQxMjAzIC4gMSkgKHVuZG8tdHJlZS1pZDEyMDUgLiAxKSAodW5kby10 cmVlLWlkMTIwNyAuIDEpICh1bmRvLXRyZWUtaWQxMjA5IC4gMSkgKHVuZG8tdHJlZS1pZDEy MTEgLiAxKSAodW5kby10cmVlLWlkMTIxMyAuIDEpICh1bmRvLXRyZWUtaWQxMjE1IC4gMSkg KHVuZG8tdHJlZS1pZDEyMTcgLiAxKSAodW5kby10cmVlLWlkMTIxOSAuIDEpICh1bmRvLXRy ZWUtaWQxMjIxIC4gMSkgKHVuZG8tdHJlZS1pZDEyMjMgLiAxKSAodW5kby10cmVlLWlkMTIy NSAuIDEpICh1bmRvLXRyZWUtaWQxMjI3IC4gMSkgKHVuZG8tdHJlZS1pZDEyMjkgLiAxKSAo dW5kby10cmVlLWlkMTIzMSAuIDEpICh1bmRvLXRyZWUtaWQxMjMzIC4gMSkgKHVuZG8tdHJl ZS1pZDEyMzUgLiAxKSAodW5kby10cmVlLWlkMTIzNyAuIDEpICh1bmRvLXRyZWUtaWQxMjM5 IC4gMSkgKHVuZG8tdHJlZS1pZDEyNDEgLiAxKSAodW5kby10cmVlLWlkMTI0MyAuIDEpICh1 bmRvLXRyZWUtaWQxMjQ1IC4gMSkgKHVuZG8tdHJlZS1pZDEyNDcgLiAxKSAodW5kby10cmVl LWlkMTI0OSAuIDEpICh1bmRvLXRyZWUtaWQxMjUxIC4gMSkgKHVuZG8tdHJlZS1pZDEyNTMg LiAxKSkgKCgxMDU1IC4gMTA1NikpICgyMzM0NSAxMDkxNiAzMTkyNjggMjQ1MDAwKSAwIG5p bF0pICgoIygiQSIgMCAxIChmb250aWZpZWQgdCkpIC4gMTA1NSkgKHVuZG8tdHJlZS1pZDEy NTYgLiAxKSAodW5kby10cmVlLWlkMTI1OCAuIDEpICh1bmRvLXRyZWUtaWQxMjYwIC4gMSkg KHVuZG8tdHJlZS1pZDEyNjIgLiAxKSAodW5kby10cmVlLWlkMTI2NCAuIDEpICh1bmRvLXRy ZWUtaWQxMjY2IC4gMSkgKHVuZG8tdHJlZS1pZDEyNjggLiAxKSAodW5kby10cmVlLWlkMTI3 MCAuIDEpICh1bmRvLXRyZWUtaWQxMjcyIC4gMSkgKHVuZG8tdHJlZS1pZDEyNzQgLiAxKSAo dW5kby10cmVlLWlkMTI3NiAuIDEpICh1bmRvLXRyZWUtaWQxMjc4IC4gMSkgKHVuZG8tdHJl ZS1pZDEyODAgLiAxKSAodW5kby10cmVlLWlkMTI4MiAuIDEpICh1bmRvLXRyZWUtaWQxMjg0 IC4gMSkgKHVuZG8tdHJlZS1pZDEyODYgLiAxKSAodW5kby10cmVlLWlkMTI4OCAuIDEpICh1 bmRvLXRyZWUtaWQxMjkwIC4gMSkgKHVuZG8tdHJlZS1pZDEyOTIgLiAxKSAodW5kby10cmVl LWlkMTI5NCAuIDEpICh1bmRvLXRyZWUtaWQxMjk2IC4gMSkgKHVuZG8tdHJlZS1pZDEyOTgg LiAxKSAodW5kby10cmVlLWlkMTMwMCAuIDEpICh1bmRvLXRyZWUtaWQxMzAyIC4gMSkgKHVu ZG8tdHJlZS1pZDEzMDQgLiAxKSAodW5kby10cmVlLWlkMTMwNiAuIDEpICh1bmRvLXRyZWUt aWQxMzA4IC4gMSkgKHVuZG8tdHJlZS1pZDEzMTAgLiAxKSAodW5kby10cmVlLWlkMTMxMiAu IDEpICh1bmRvLXRyZWUtaWQxMzE0IC4gMSkgKHVuZG8tdHJlZS1pZDEzMTYgLiAxKSAodW5k by10cmVlLWlkMTMxOCAuIDEpICh1bmRvLXRyZWUtaWQxMzIwIC4gMSkgKHVuZG8tdHJlZS1p ZDEzMjIgLiAxKSAodW5kby10cmVlLWlkMTMyNCAuIDEpICh1bmRvLXRyZWUtaWQxMzI2IC4g MSkgKHVuZG8tdHJlZS1pZDEzMjggLiAxKSAodW5kby10cmVlLWlkMTMzMCAuIDEpICh1bmRv LXRyZWUtaWQxMzMyIC4gMSkgKHVuZG8tdHJlZS1pZDEzMzQgLiAxKSAodW5kby10cmVlLWlk MTMzNiAuIDEpICh1bmRvLXRyZWUtaWQxMzM4IC4gMSkgKHVuZG8tdHJlZS1pZDEzNDAgLiAx KSAodW5kby10cmVlLWlkMTM0MiAuIDEpICh1bmRvLXRyZWUtaWQxMzQ0IC4gMSkgKHVuZG8t dHJlZS1pZDEzNDYgLiAxKSAodW5kby10cmVlLWlkMTM0OCAuIDEpICh1bmRvLXRyZWUtaWQx MzUwIC4gMSkgKHVuZG8tdHJlZS1pZDEzNTIgLiAxKSkgKCgxMDU1IC4gMTA1NikpICgyMzM0 NSAxMDkxNiA0NTU0MTYgNDk3MDAwKSAwIG5pbF0pICgoIygiXyIgMCAxIChmb250aWZpZWQg dCkpIC4gMTA1NSkgKHVuZG8tdHJlZS1pZDEzNTUgLiAxKSAodW5kby10cmVlLWlkMTM1NyAu IDEpICh1bmRvLXRyZWUtaWQxMzU5IC4gMSkgKHVuZG8tdHJlZS1pZDEzNjEgLiAxKSAodW5k by10cmVlLWlkMTM2MyAuIDEpICh1bmRvLXRyZWUtaWQxMzY1IC4gMSkgKHVuZG8tdHJlZS1p ZDEzNjcgLiAxKSAodW5kby10cmVlLWlkMTM2OSAuIDEpICh1bmRvLXRyZWUtaWQxMzcxIC4g MSkgKHVuZG8tdHJlZS1pZDEzNzMgLiAxKSAodW5kby10cmVlLWlkMTM3NSAuIDEpICh1bmRv LXRyZWUtaWQxMzc3IC4gMSkgKHVuZG8tdHJlZS1pZDEzNzkgLiAxKSAodW5kby10cmVlLWlk MTM4MSAuIDEpICh1bmRvLXRyZWUtaWQxMzgzIC4gMSkgKHVuZG8tdHJlZS1pZDEzODUgLiAx KSAodW5kby10cmVlLWlkMTM4NyAuIDEpICh1bmRvLXRyZWUtaWQxMzg5IC4gMSkgKHVuZG8t dHJlZS1pZDEzOTEgLiAxKSAodW5kby10cmVlLWlkMTM5MyAuIDEpICh1bmRvLXRyZWUtaWQx Mzk1IC4gMSkgKHVuZG8tdHJlZS1pZDEzOTcgLiAxKSAodW5kby10cmVlLWlkMTM5OSAuIDEp ICh1bmRvLXRyZWUtaWQxNDAxIC4gMSkgKHVuZG8tdHJlZS1pZDE0MDMgLiAxKSAodW5kby10 cmVlLWlkMTQwNSAuIDEpICh1bmRvLXRyZWUtaWQxNDA3IC4gMSkgKHVuZG8tdHJlZS1pZDE0 MDkgLiAxKSAodW5kby10cmVlLWlkMTQxMSAuIDEpICh1bmRvLXRyZWUtaWQxNDEzIC4gMSkg KHVuZG8tdHJlZS1pZDE0MTUgLiAxKSAodW5kby10cmVlLWlkMTQxNyAuIDEpICh1bmRvLXRy ZWUtaWQxNDE5IC4gMSkgKHVuZG8tdHJlZS1pZDE0MjEgLiAxKSAodW5kby10cmVlLWlkMTQy MyAuIDEpICh1bmRvLXRyZWUtaWQxNDI1IC4gMSkgKHVuZG8tdHJlZS1pZDE0MjcgLiAxKSAo dW5kby10cmVlLWlkMTQyOSAuIDEpICh1bmRvLXRyZWUtaWQxNDMxIC4gMSkgKHVuZG8tdHJl ZS1pZDE0MzMgLiAxKSAodW5kby10cmVlLWlkMTQzNSAuIDEpICh1bmRvLXRyZWUtaWQxNDM3 IC4gMSkgKHVuZG8tdHJlZS1pZDE0MzkgLiAxKSAodW5kby10cmVlLWlkMTQ0MSAuIDEpICh1 bmRvLXRyZWUtaWQxNDQzIC4gMSkgKHVuZG8tdHJlZS1pZDE0NDUgLiAxKSAodW5kby10cmVl LWlkMTQ0NyAuIDEpICh1bmRvLXRyZWUtaWQxNDQ5IC4gMSkpICgoMTA1NSAuIDEwNTYpKSAo MjMzNDUgMTA5MTYgNTg4OTE5IDgzMDAwKSAwIG5pbF0pICgoIygiTCIgMCAxIChmb250aWZp ZWQgdCkpIC4gMTA1NSkgKHVuZG8tdHJlZS1pZDE0NTIgLiAxKSAodW5kby10cmVlLWlkMTQ1 NCAuIDEpICh1bmRvLXRyZWUtaWQxNDU2IC4gMSkgKHVuZG8tdHJlZS1pZDE0NTggLiAxKSAo dW5kby10cmVlLWlkMTQ2MCAuIDEpICh1bmRvLXRyZWUtaWQxNDYyIC4gMSkgKHVuZG8tdHJl ZS1pZDE0NjQgLiAxKSAodW5kby10cmVlLWlkMTQ2NiAuIDEpICh1bmRvLXRyZWUtaWQxNDY4 IC4gMSkgKHVuZG8tdHJlZS1pZDE0NzAgLiAxKSAodW5kby10cmVlLWlkMTQ3MiAuIDEpICh1 bmRvLXRyZWUtaWQxNDc0IC4gMSkgKHVuZG8tdHJlZS1pZDE0NzYgLiAxKSAodW5kby10cmVl LWlkMTQ3OCAuIDEpICh1bmRvLXRyZWUtaWQxNDgwIC4gMSkgKHVuZG8tdHJlZS1pZDE0ODIg LiAxKSAodW5kby10cmVlLWlkMTQ4NCAuIDEpICh1bmRvLXRyZWUtaWQxNDg2IC4gMSkgKHVu ZG8tdHJlZS1pZDE0ODggLiAxKSAodW5kby10cmVlLWlkMTQ5MCAuIDEpICh1bmRvLXRyZWUt aWQxNDkyIC4gMSkgKHVuZG8tdHJlZS1pZDE0OTQgLiAxKSAodW5kby10cmVlLWlkMTQ5NiAu IDEpICh1bmRvLXRyZWUtaWQxNDk4IC4gMSkgKHVuZG8tdHJlZS1pZDE1MDAgLiAxKSAodW5k by10cmVlLWlkMTUwMiAuIDEpICh1bmRvLXRyZWUtaWQxNTA0IC4gMSkgKHVuZG8tdHJlZS1p ZDE1MDYgLiAxKSAodW5kby10cmVlLWlkMTUwOCAuIDEpICh1bmRvLXRyZWUtaWQxNTEwIC4g MSkgKHVuZG8tdHJlZS1pZDE1MTIgLiAxKSAodW5kby10cmVlLWlkMTUxNCAuIDEpICh1bmRv LXRyZWUtaWQxNTE2IC4gMSkgKHVuZG8tdHJlZS1pZDE1MTggLiAxKSAodW5kby10cmVlLWlk MTUyMCAuIDEpICh1bmRvLXRyZWUtaWQxNTIyIC4gMSkgKHVuZG8tdHJlZS1pZDE1MjQgLiAx KSAodW5kby10cmVlLWlkMTUyNiAuIDEpICh1bmRvLXRyZWUtaWQxNTI4IC4gMSkgKHVuZG8t dHJlZS1pZDE1MzAgLiAxKSAodW5kby10cmVlLWlkMTUzMiAuIDEpICh1bmRvLXRyZWUtaWQx NTM0IC4gMSkgKHVuZG8tdHJlZS1pZDE1MzYgLiAxKSAodW5kby10cmVlLWlkMTUzOCAuIDEp ICh1bmRvLXRyZWUtaWQxNTQwIC4gMSkgKHVuZG8tdHJlZS1pZDE1NDIgLiAxKSAodW5kby10 cmVlLWlkMTU0NCAuIDEpKSAoKDEwNTUgLiAxMDU2KSkgKDIzMzQ1IDEwOTE2IDczNTI2NSA5 ODQwMDApIDAgbmlsXSkgKCgjKCJBIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAxMDU1KSAodW5k by10cmVlLWlkMTU0NyAuIDEpICh1bmRvLXRyZWUtaWQxNTQ5IC4gMSkgKHVuZG8tdHJlZS1p ZDE1NTEgLiAxKSAodW5kby10cmVlLWlkMTU1MyAuIDEpICh1bmRvLXRyZWUtaWQxNTU1IC4g MSkgKHVuZG8tdHJlZS1pZDE1NTcgLiAxKSAodW5kby10cmVlLWlkMTU1OSAuIDEpICh1bmRv LXRyZWUtaWQxNTYxIC4gMSkgKHVuZG8tdHJlZS1pZDE1NjMgLiAxKSAodW5kby10cmVlLWlk MTU2NSAuIDEpICh1bmRvLXRyZWUtaWQxNTY3IC4gMSkgKHVuZG8tdHJlZS1pZDE1NjkgLiAx KSAodW5kby10cmVlLWlkMTU3MSAuIDEpICh1bmRvLXRyZWUtaWQxNTczIC4gMSkgKHVuZG8t dHJlZS1pZDE1NzUgLiAxKSAodW5kby10cmVlLWlkMTU3NyAuIDEpICh1bmRvLXRyZWUtaWQx NTc5IC4gMSkgKHVuZG8tdHJlZS1pZDE1ODEgLiAxKSAodW5kby10cmVlLWlkMTU4MyAuIDEp ICh1bmRvLXRyZWUtaWQxNTg1IC4gMSkgKHVuZG8tdHJlZS1pZDE1ODcgLiAxKSAodW5kby10 cmVlLWlkMTU4OSAuIDEpICh1bmRvLXRyZWUtaWQxNTkxIC4gMSkgKHVuZG8tdHJlZS1pZDE1 OTMgLiAxKSAodW5kby10cmVlLWlkMTU5NSAuIDEpICh1bmRvLXRyZWUtaWQxNTk3IC4gMSkg KHVuZG8tdHJlZS1pZDE1OTkgLiAxKSAodW5kby10cmVlLWlkMTYwMSAuIDEpICh1bmRvLXRy ZWUtaWQxNjAzIC4gMSkgKHVuZG8tdHJlZS1pZDE2MDUgLiAxKSAodW5kby10cmVlLWlkMTYw NyAuIDEpICh1bmRvLXRyZWUtaWQxNjA5IC4gMSkgKHVuZG8tdHJlZS1pZDE2MTEgLiAxKSAo dW5kby10cmVlLWlkMTYxMyAuIDEpICh1bmRvLXRyZWUtaWQxNjE1IC4gMSkgKHVuZG8tdHJl ZS1pZDE2MTcgLiAxKSAodW5kby10cmVlLWlkMTYxOSAuIDEpICh1bmRvLXRyZWUtaWQxNjIx IC4gMSkgKHVuZG8tdHJlZS1pZDE2MjMgLiAxKSAodW5kby10cmVlLWlkMTYyNSAuIDEpICh1 bmRvLXRyZWUtaWQxNjI3IC4gMSkgKHVuZG8tdHJlZS1pZDE2MjkgLiAxKSAodW5kby10cmVl LWlkMTYzMSAuIDEpICh1bmRvLXRyZWUtaWQxNjMzIC4gMSkgKHVuZG8tdHJlZS1pZDE2MzUg LiAxKSAodW5kby10cmVlLWlkMTYzNyAuIDEpKSAoKDEwNTUgLiAxMDU2KSkgKDIzMzQ1IDEw OTE2IDg3OTIwNiA0NjEwMDApIDAgbmlsXSkgKCgjKCJUIiAwIDEgKGZvbnRpZmllZCB0KSkg LiAxMDU1KSAodW5kby10cmVlLWlkMTY0MCAuIDEpICh1bmRvLXRyZWUtaWQxNjQyIC4gMSkg KHVuZG8tdHJlZS1pZDE2NDQgLiAxKSAodW5kby10cmVlLWlkMTY0NiAuIDEpICh1bmRvLXRy ZWUtaWQxNjQ4IC4gMSkgKHVuZG8tdHJlZS1pZDE2NTAgLiAxKSAodW5kby10cmVlLWlkMTY1 MiAuIDEpICh1bmRvLXRyZWUtaWQxNjU0IC4gMSkgKHVuZG8tdHJlZS1pZDE2NTYgLiAxKSAo dW5kby10cmVlLWlkMTY1OCAuIDEpICh1bmRvLXRyZWUtaWQxNjYwIC4gMSkgKHVuZG8tdHJl ZS1pZDE2NjIgLiAxKSAodW5kby10cmVlLWlkMTY2NCAuIDEpICh1bmRvLXRyZWUtaWQxNjY2 IC4gMSkgKHVuZG8tdHJlZS1pZDE2NjggLiAxKSAodW5kby10cmVlLWlkMTY3MCAuIDEpICh1 bmRvLXRyZWUtaWQxNjcyIC4gMSkgKHVuZG8tdHJlZS1pZDE2NzQgLiAxKSAodW5kby10cmVl LWlkMTY3NiAuIDEpICh1bmRvLXRyZWUtaWQxNjc4IC4gMSkgKHVuZG8tdHJlZS1pZDE2ODAg LiAxKSAodW5kby10cmVlLWlkMTY4MiAuIDEpICh1bmRvLXRyZWUtaWQxNjg0IC4gMSkgKHVu ZG8tdHJlZS1pZDE2ODYgLiAxKSAodW5kby10cmVlLWlkMTY4OCAuIDEpICh1bmRvLXRyZWUt aWQxNjkwIC4gMSkgKHVuZG8tdHJlZS1pZDE2OTIgLiAxKSAodW5kby10cmVlLWlkMTY5NCAu IDEpICh1bmRvLXRyZWUtaWQxNjk2IC4gMSkgKHVuZG8tdHJlZS1pZDE2OTggLiAxKSAodW5k by10cmVlLWlkMTcwMCAuIDEpICh1bmRvLXRyZWUtaWQxNzAyIC4gMSkgKHVuZG8tdHJlZS1p ZDE3MDQgLiAxKSAodW5kby10cmVlLWlkMTcwNiAuIDEpICh1bmRvLXRyZWUtaWQxNzA4IC4g MSkgKHVuZG8tdHJlZS1pZDE3MTAgLiAxKSAodW5kby10cmVlLWlkMTcxMiAuIDEpICh1bmRv LXRyZWUtaWQxNzE0IC4gMSkgKHVuZG8tdHJlZS1pZDE3MTYgLiAxKSAodW5kby10cmVlLWlk MTcxOCAuIDEpICh1bmRvLXRyZWUtaWQxNzIwIC4gMSkgKHVuZG8tdHJlZS1pZDE3MjIgLiAx KSAodW5kby10cmVlLWlkMTcyNCAuIDEpICh1bmRvLXRyZWUtaWQxNzI2IC4gMSkgKHVuZG8t dHJlZS1pZDE3MjggLiAxKSkgKCgxMDU1IC4gMTA1NikpICgyMzM0NSAxMDkxNyA0NzE4MCA4 NTEwMDApIDAgbmlsXSkgKCgjKCJPIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAxMDU1KSAodW5k by10cmVlLWlkMTczMSAuIDEpICh1bmRvLXRyZWUtaWQxNzMzIC4gMSkgKHVuZG8tdHJlZS1p ZDE3MzUgLiAxKSAodW5kby10cmVlLWlkMTczNyAuIDEpICh1bmRvLXRyZWUtaWQxNzM5IC4g MSkgKHVuZG8tdHJlZS1pZDE3NDEgLiAxKSAodW5kby10cmVlLWlkMTc0MyAuIDEpICh1bmRv LXRyZWUtaWQxNzQ1IC4gMSkgKHVuZG8tdHJlZS1pZDE3NDcgLiAxKSAodW5kby10cmVlLWlk MTc0OSAuIDEpICh1bmRvLXRyZWUtaWQxNzUxIC4gMSkgKHVuZG8tdHJlZS1pZDE3NTMgLiAx KSAodW5kby10cmVlLWlkMTc1NSAuIDEpICh1bmRvLXRyZWUtaWQxNzU3IC4gMSkgKHVuZG8t dHJlZS1pZDE3NTkgLiAxKSAodW5kby10cmVlLWlkMTc2MSAuIDEpICh1bmRvLXRyZWUtaWQx NzYzIC4gMSkgKHVuZG8tdHJlZS1pZDE3NjUgLiAxKSAodW5kby10cmVlLWlkMTc2NyAuIDEp ICh1bmRvLXRyZWUtaWQxNzY5IC4gMSkgKHVuZG8tdHJlZS1pZDE3NzEgLiAxKSAodW5kby10 cmVlLWlkMTc3MyAuIDEpICh1bmRvLXRyZWUtaWQxNzc1IC4gMSkgKHVuZG8tdHJlZS1pZDE3 NzcgLiAxKSAodW5kby10cmVlLWlkMTc3OSAuIDEpICh1bmRvLXRyZWUtaWQxNzgxIC4gMSkg KHVuZG8tdHJlZS1pZDE3ODMgLiAxKSAodW5kby10cmVlLWlkMTc4NSAuIDEpICh1bmRvLXRy ZWUtaWQxNzg3IC4gMSkgKHVuZG8tdHJlZS1pZDE3ODkgLiAxKSAodW5kby10cmVlLWlkMTc5 MSAuIDEpICh1bmRvLXRyZWUtaWQxNzkzIC4gMSkgKHVuZG8tdHJlZS1pZDE3OTUgLiAxKSAo dW5kby10cmVlLWlkMTc5NyAuIDEpICh1bmRvLXRyZWUtaWQxNzk5IC4gMSkgKHVuZG8tdHJl ZS1pZDE4MDEgLiAxKSAodW5kby10cmVlLWlkMTgwMyAuIDEpICh1bmRvLXRyZWUtaWQxODA1 IC4gMSkgKHVuZG8tdHJlZS1pZDE4MDcgLiAxKSAodW5kby10cmVlLWlkMTgwOSAuIDEpICh1 bmRvLXRyZWUtaWQxODExIC4gMSkgKHVuZG8tdHJlZS1pZDE4MTMgLiAxKSAodW5kby10cmVl LWlkMTgxNSAuIDEpICh1bmRvLXRyZWUtaWQxODE3IC4gMSkpICgoMTA1NSAuIDEwNTYpKSAo MjMzNDUgMTA5MTcgMjQ3Mzg5IDYxOTAwMCkgMCBuaWxdKSAoKCMoIlQiIDAgMSAoZm9udGlm aWVkIHQpKSAuIDEwNTUpICh1bmRvLXRyZWUtaWQxODIwIC4gMSkgKHVuZG8tdHJlZS1pZDE4 MjIgLiAxKSAodW5kby10cmVlLWlkMTgyNCAuIDEpICh1bmRvLXRyZWUtaWQxODI2IC4gMSkg KHVuZG8tdHJlZS1pZDE4MjggLiAxKSAodW5kby10cmVlLWlkMTgzMCAuIDEpICh1bmRvLXRy ZWUtaWQxODMyIC4gMSkgKHVuZG8tdHJlZS1pZDE4MzQgLiAxKSAodW5kby10cmVlLWlkMTgz NiAuIDEpICh1bmRvLXRyZWUtaWQxODM4IC4gMSkgKHVuZG8tdHJlZS1pZDE4NDAgLiAxKSAo dW5kby10cmVlLWlkMTg0MiAuIDEpICh1bmRvLXRyZWUtaWQxODQ0IC4gMSkgKHVuZG8tdHJl ZS1pZDE4NDYgLiAxKSAodW5kby10cmVlLWlkMTg0OCAuIDEpICh1bmRvLXRyZWUtaWQxODUw IC4gMSkgKHVuZG8tdHJlZS1pZDE4NTIgLiAxKSAodW5kby10cmVlLWlkMTg1NCAuIDEpICh1 bmRvLXRyZWUtaWQxODU2IC4gMSkgKHVuZG8tdHJlZS1pZDE4NTggLiAxKSAodW5kby10cmVl LWlkMTg2MCAuIDEpICh1bmRvLXRyZWUtaWQxODYyIC4gMSkgKHVuZG8tdHJlZS1pZDE4NjQg LiAxKSAodW5kby10cmVlLWlkMTg2NiAuIDEpICh1bmRvLXRyZWUtaWQxODY4IC4gMSkgKHVu ZG8tdHJlZS1pZDE4NzAgLiAxKSAodW5kby10cmVlLWlkMTg3MiAuIDEpICh1bmRvLXRyZWUt aWQxODc0IC4gMSkgKHVuZG8tdHJlZS1pZDE4NzYgLiAxKSAodW5kby10cmVlLWlkMTg3OCAu IDEpICh1bmRvLXRyZWUtaWQxODgwIC4gMSkgKHVuZG8tdHJlZS1pZDE4ODIgLiAxKSAodW5k by10cmVlLWlkMTg4NCAuIDEpICh1bmRvLXRyZWUtaWQxODg2IC4gMSkgKHVuZG8tdHJlZS1p ZDE4ODggLiAxKSAodW5kby10cmVlLWlkMTg5MCAuIDEpICh1bmRvLXRyZWUtaWQxODkyIC4g MSkgKHVuZG8tdHJlZS1pZDE4OTQgLiAxKSAodW5kby10cmVlLWlkMTg5NiAuIDEpICh1bmRv LXRyZWUtaWQxODk4IC4gMSkgKHVuZG8tdHJlZS1pZDE5MDAgLiAxKSAodW5kby10cmVlLWlk MTkwMiAuIDEpKSAoKDEwNTUgLiAxMDU2KSkgKDIzMzQ1IDEwOTE3IDQ0NzI1OCA3MDAwMDAp IDAgbmlsXSkgKCgjKCI9IiAwIDEgKGZvbnRpZmllZCB0KSkgLiAxMDU1KSAodW5kby10cmVl LWlkMTkwNSAuIDEpICh1bmRvLXRyZWUtaWQxOTA3IC4gMSkgKHVuZG8tdHJlZS1pZDE5MDkg LiAxKSAodW5kby10cmVlLWlkMTkxMSAuIDEpICh1bmRvLXRyZWUtaWQxOTEzIC4gMSkgKHVu ZG8tdHJlZS1pZDE5MTUgLiAxKSAodW5kby10cmVlLWlkMTkxNyAuIDEpICh1bmRvLXRyZWUt aWQxOTE5IC4gMSkgKHVuZG8tdHJlZS1pZDE5MjEgLiAxKSAodW5kby10cmVlLWlkMTkyMyAu IDEpICh1bmRvLXRyZWUtaWQxOTI1IC4gMSkgKHVuZG8tdHJlZS1pZDE5MjcgLiAxKSAodW5k by10cmVlLWlkMTkyOSAuIDEpICh1bmRvLXRyZWUtaWQxOTMxIC4gMSkgKHVuZG8tdHJlZS1p ZDE5MzMgLiAxKSAodW5kby10cmVlLWlkMTkzNSAuIDEpICh1bmRvLXRyZWUtaWQxOTM3IC4g MSkgKHVuZG8tdHJlZS1pZDE5MzkgLiAxKSAodW5kby10cmVlLWlkMTk0MSAuIDEpICh1bmRv LXRyZWUtaWQxOTQzIC4gMSkgKHVuZG8tdHJlZS1pZDE5NDUgLiAxKSAodW5kby10cmVlLWlk MTk0NyAuIDEpICh1bmRvLXRyZWUtaWQxOTQ5IC4gMSkgKHVuZG8tdHJlZS1pZDE5NTEgLiAx KSAodW5kby10cmVlLWlkMTk1MyAuIDEpICh1bmRvLXRyZWUtaWQxOTU1IC4gMSkgKHVuZG8t dHJlZS1pZDE5NTcgLiAxKSAodW5kby10cmVlLWlkMTk1OSAuIDEpICh1bmRvLXRyZWUtaWQx OTYxIC4gMSkgKHVuZG8tdHJlZS1pZDE5NjMgLiAxKSAodW5kby10cmVlLWlkMTk2NSAuIDEp ICh1bmRvLXRyZWUtaWQxOTY3IC4gMSkgKHVuZG8tdHJlZS1pZDE5NjkgLiAxKSAodW5kby10 cmVlLWlkMTk3MSAuIDEpICh1bmRvLXRyZWUtaWQxOTczIC4gMSkgKHVuZG8tdHJlZS1pZDE5 NzUgLiAxKSAodW5kby10cmVlLWlkMTk3NyAuIDEpICh1bmRvLXRyZWUtaWQxOTc5IC4gMSkg KHVuZG8tdHJlZS1pZDE5ODEgLiAxKSAodW5kby10cmVlLWlkMTk4MyAuIDEpKSAoKDEwNTUg LiAxMDU2KSkgKDIzMzQ1IDEwOTE3IDYyMzY0NiA2NzcwMDApIDAgbmlsXSkgKCgjKCJ0IiAw IDEgKGZvbnRpZmllZCB0KSkgLiAxMDU1KSAodW5kby10cmVlLWlkMTk4NCAuIC0xKSAodW5k by10cmVlLWlkMTk4NiAuIDEpICh1bmRvLXRyZWUtaWQxOTg4IC4gMSkgKHVuZG8tdHJlZS1p ZDE5OTAgLiAxKSAodW5kby10cmVlLWlkMTk5MiAuIDEpICh1bmRvLXRyZWUtaWQxOTk0IC4g MSkgKHVuZG8tdHJlZS1pZDE5OTYgLiAxKSAodW5kby10cmVlLWlkMTk5OCAuIDEpICh1bmRv LXRyZWUtaWQyMDAwIC4gMSkgKHVuZG8tdHJlZS1pZDIwMDIgLiAxKSAodW5kby10cmVlLWlk MjAwNCAuIDEpICh1bmRvLXRyZWUtaWQyMDA2IC4gMSkgKHVuZG8tdHJlZS1pZDIwMDggLiAx KSAodW5kby10cmVlLWlkMjAxMCAuIDEpICh1bmRvLXRyZWUtaWQyMDEyIC4gMSkgKHVuZG8t dHJlZS1pZDIwMTQgLiAxKSAodW5kby10cmVlLWlkMjAxNiAuIDEpICh1bmRvLXRyZWUtaWQy MDE4IC4gMSkgKHVuZG8tdHJlZS1pZDIwMjAgLiAxKSAodW5kby10cmVlLWlkMjAyMiAuIDEp ICh1bmRvLXRyZWUtaWQyMDI0IC4gMSkgKHVuZG8tdHJlZS1pZDIwMjYgLiAxKSAodW5kby10 cmVlLWlkMjAyOCAuIDEpICh1bmRvLXRyZWUtaWQyMDMwIC4gMSkgKHVuZG8tdHJlZS1pZDIw MzIgLiAxKSAodW5kby10cmVlLWlkMjAzNCAuIDEpICh1bmRvLXRyZWUtaWQyMDM2IC4gMSkg KHVuZG8tdHJlZS1pZDIwMzggLiAxKSAodW5kby10cmVlLWlkMjA0MCAuIDEpICh1bmRvLXRy ZWUtaWQyMDQyIC4gMSkgKHVuZG8tdHJlZS1pZDIwNDQgLiAxKSAodW5kby10cmVlLWlkMjA0 NiAuIDEpICh1bmRvLXRyZWUtaWQyMDQ4IC4gMSkgKHVuZG8tdHJlZS1pZDIwNTAgLiAxKSAo dW5kby10cmVlLWlkMjA1MiAuIDEpICh1bmRvLXRyZWUtaWQyMDU0IC4gMSkgKHVuZG8tdHJl ZS1pZDIwNTYgLiAxKSkgKCgxMDU1IC4gMTA1NikpICgyMzM0NSAxMDkxNyA4NDc2MDMgNjA5 MDAwKSAwIG5pbF0pICgoIygibiIgMCAxIChmb250aWZpZWQgdCkpIC4gMTA1NSkgKHVuZG8t dHJlZS1pZDIwNTkgLiAxKSAodW5kby10cmVlLWlkMjA2MSAuIDEpICh1bmRvLXRyZWUtaWQy MDYzIC4gMSkgKHVuZG8tdHJlZS1pZDIwNjUgLiAxKSAodW5kby10cmVlLWlkMjA2NyAuIDEp ICh1bmRvLXRyZWUtaWQyMDY5IC4gMSkgKHVuZG8tdHJlZS1pZDIwNzEgLiAxKSAodW5kby10 cmVlLWlkMjA3MyAuIDEpICh1bmRvLXRyZWUtaWQyMDc1IC4gMSkgKHVuZG8tdHJlZS1pZDIw NzcgLiAxKSAodW5kby10cmVlLWlkMjA3OSAuIDEpICh1bmRvLXRyZWUtaWQyMDgxIC4gMSkg KHVuZG8tdHJlZS1pZDIwODMgLiAxKSAodW5kby10cmVlLWlkMjA4NSAuIDEpICh1bmRvLXRy ZWUtaWQyMDg3IC4gMSkgKHVuZG8tdHJlZS1pZDIwODkgLiAxKSAodW5kby10cmVlLWlkMjA5 MSAuIDEpICh1bmRvLXRyZWUtaWQyMDkzIC4gMSkgKHVuZG8tdHJlZS1pZDIwOTUgLiAxKSAo dW5kby10cmVlLWlkMjA5NyAuIDEpICh1bmRvLXRyZWUtaWQyMDk5IC4gMSkgKHVuZG8tdHJl ZS1pZDIxMDEgLiAxKSAodW5kby10cmVlLWlkMjEwMyAuIDEpICh1bmRvLXRyZWUtaWQyMTA1 IC4gMSkgKHVuZG8tdHJlZS1pZDIxMDcgLiAxKSAodW5kby10cmVlLWlkMjEwOSAuIDEpICh1 bmRvLXRyZWUtaWQyMTExIC4gMSkgKHVuZG8tdHJlZS1pZDIxMTMgLiAxKSAodW5kby10cmVl LWlkMjExNSAuIDEpICh1bmRvLXRyZWUtaWQyMTE3IC4gMSkgKHVuZG8tdHJlZS1pZDIxMTkg LiAxKSAodW5kby10cmVlLWlkMjEyMSAuIDEpICh1bmRvLXRyZWUtaWQyMTIzIC4gMSkpICgo MTA1NSAuIDEwNTYpKSAoMjMzNDUgMTA5MTggMTM1NjQ4IDExNjAwMCkgMCBuaWxdKSAoKCMo ImkiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDEwNTUpICh1bmRvLXRyZWUtaWQyMTI2IC4gMSkg KHVuZG8tdHJlZS1pZDIxMjggLiAxKSAodW5kby10cmVlLWlkMjEzMCAuIDEpICh1bmRvLXRy ZWUtaWQyMTMyIC4gMSkgKHVuZG8tdHJlZS1pZDIxMzQgLiAxKSAodW5kby10cmVlLWlkMjEz NiAuIDEpICh1bmRvLXRyZWUtaWQyMTM4IC4gMSkgKHVuZG8tdHJlZS1pZDIxNDAgLiAxKSAo dW5kby10cmVlLWlkMjE0MiAuIDEpICh1bmRvLXRyZWUtaWQyMTQ0IC4gMSkgKHVuZG8tdHJl ZS1pZDIxNDYgLiAxKSAodW5kby10cmVlLWlkMjE0OCAuIDEpICh1bmRvLXRyZWUtaWQyMTUw IC4gMSkgKHVuZG8tdHJlZS1pZDIxNTIgLiAxKSAodW5kby10cmVlLWlkMjE1NCAuIDEpICh1 bmRvLXRyZWUtaWQyMTU2IC4gMSkgKHVuZG8tdHJlZS1pZDIxNTggLiAxKSAodW5kby10cmVl LWlkMjE2MCAuIDEpICh1bmRvLXRyZWUtaWQyMTYyIC4gMSkgKHVuZG8tdHJlZS1pZDIxNjQg LiAxKSAodW5kby10cmVlLWlkMjE2NiAuIDEpICh1bmRvLXRyZWUtaWQyMTY4IC4gMSkgKHVu ZG8tdHJlZS1pZDIxNzAgLiAxKSAodW5kby10cmVlLWlkMjE3MiAuIDEpICh1bmRvLXRyZWUt aWQyMTc0IC4gMSkgKHVuZG8tdHJlZS1pZDIxNzYgLiAxKSAodW5kby10cmVlLWlkMjE3OCAu IDEpICh1bmRvLXRyZWUtaWQyMTgwIC4gMSkgKHVuZG8tdHJlZS1pZDIxODIgLiAxKSAodW5k by10cmVlLWlkMjE4NCAuIDEpKSAoKDEwNTUgLiAxMDU2KSkgKDIzMzQ1IDEwOTE4IDM1MTE4 MCA2MzYwMDApIDAgbmlsXSkgKCgjKCJhIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAxMDU1KSAo dW5kby10cmVlLWlkMjE4NyAuIDEpICh1bmRvLXRyZWUtaWQyMTg5IC4gMSkgKHVuZG8tdHJl ZS1pZDIxOTEgLiAxKSAodW5kby10cmVlLWlkMjE5MyAuIDEpICh1bmRvLXRyZWUtaWQyMTk1 IC4gMSkgKHVuZG8tdHJlZS1pZDIxOTcgLiAxKSAodW5kby10cmVlLWlkMjE5OSAuIDEpICh1 bmRvLXRyZWUtaWQyMjAxIC4gMSkgKHVuZG8tdHJlZS1pZDIyMDMgLiAxKSAodW5kby10cmVl LWlkMjIwNSAuIDEpICh1bmRvLXRyZWUtaWQyMjA3IC4gMSkgKHVuZG8tdHJlZS1pZDIyMDkg LiAxKSAodW5kby10cmVlLWlkMjIxMSAuIDEpICh1bmRvLXRyZWUtaWQyMjEzIC4gMSkgKHVu ZG8tdHJlZS1pZDIyMTUgLiAxKSAodW5kby10cmVlLWlkMjIxNyAuIDEpICh1bmRvLXRyZWUt aWQyMjE5IC4gMSkgKHVuZG8tdHJlZS1pZDIyMjEgLiAxKSAodW5kby10cmVlLWlkMjIyMyAu IDEpICh1bmRvLXRyZWUtaWQyMjI1IC4gMSkgKHVuZG8tdHJlZS1pZDIyMjcgLiAxKSAodW5k by10cmVlLWlkMjIyOSAuIDEpICh1bmRvLXRyZWUtaWQyMjMxIC4gMSkgKHVuZG8tdHJlZS1p ZDIyMzMgLiAxKSAodW5kby10cmVlLWlkMjIzNSAuIDEpICh1bmRvLXRyZWUtaWQyMjM3IC4g MSkgKHVuZG8tdHJlZS1pZDIyMzkgLiAxKSkgKCgxMDU1IC4gMTA1NikpICgyMzM0NSAxMDkx OCA1NDM2NDYgMjgwMDApIDAgbmlsXSkgKCgjKCJyIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAx MDU1KSAodW5kby10cmVlLWlkMjI0MiAuIDEpICh1bmRvLXRyZWUtaWQyMjQ0IC4gMSkgKHVu ZG8tdHJlZS1pZDIyNDYgLiAxKSAodW5kby10cmVlLWlkMjI0OCAuIDEpICh1bmRvLXRyZWUt aWQyMjUwIC4gMSkgKHVuZG8tdHJlZS1pZDIyNTIgLiAxKSAodW5kby10cmVlLWlkMjI1NCAu IDEpICh1bmRvLXRyZWUtaWQyMjU2IC4gMSkgKHVuZG8tdHJlZS1pZDIyNTggLiAxKSAodW5k by10cmVlLWlkMjI2MCAuIDEpICh1bmRvLXRyZWUtaWQyMjYyIC4gMSkgKHVuZG8tdHJlZS1p ZDIyNjQgLiAxKSAodW5kby10cmVlLWlkMjI2NiAuIDEpICh1bmRvLXRyZWUtaWQyMjY4IC4g MSkgKHVuZG8tdHJlZS1pZDIyNzAgLiAxKSAodW5kby10cmVlLWlkMjI3MiAuIDEpICh1bmRv LXRyZWUtaWQyMjc0IC4gMSkgKHVuZG8tdHJlZS1pZDIyNzYgLiAxKSAodW5kby10cmVlLWlk MjI3OCAuIDEpICh1bmRvLXRyZWUtaWQyMjgwIC4gMSkgKHVuZG8tdHJlZS1pZDIyODIgLiAx KSAodW5kby10cmVlLWlkMjI4NCAuIDEpICh1bmRvLXRyZWUtaWQyMjg2IC4gMSkgKHVuZG8t dHJlZS1pZDIyODggLiAxKSkgKCgxMDU1IC4gMTA1NikpICgyMzM0NSAxMDkxOCA3MTk1NTkg MjczMDAwKSAwIG5pbF0pICgoIygidCIgMCAxIChmb250aWZpZWQgdCkpIC4gMTA1NSkgKHVu ZG8tdHJlZS1pZDIyOTEgLiAxKSAodW5kby10cmVlLWlkMjI5MyAuIDEpICh1bmRvLXRyZWUt aWQyMjk1IC4gMSkgKHVuZG8tdHJlZS1pZDIyOTcgLiAxKSAodW5kby10cmVlLWlkMjI5OSAu IDEpICh1bmRvLXRyZWUtaWQyMzAxIC4gMSkgKHVuZG8tdHJlZS1pZDIzMDMgLiAxKSAodW5k by10cmVlLWlkMjMwNSAuIDEpICh1bmRvLXRyZWUtaWQyMzA3IC4gMSkgKHVuZG8tdHJlZS1p ZDIzMDkgLiAxKSAodW5kby10cmVlLWlkMjMxMSAuIDEpICh1bmRvLXRyZWUtaWQyMzEzIC4g MSkgKHVuZG8tdHJlZS1pZDIzMTUgLiAxKSAodW5kby10cmVlLWlkMjMxNyAuIDEpICh1bmRv LXRyZWUtaWQyMzE5IC4gMSkgKHVuZG8tdHJlZS1pZDIzMjEgLiAxKSAodW5kby10cmVlLWlk MjMyMyAuIDEpICh1bmRvLXRyZWUtaWQyMzI1IC4gMSkgKHVuZG8tdHJlZS1pZDIzMjcgLiAx KSAodW5kby10cmVlLWlkMjMyOSAuIDEpICh1bmRvLXRyZWUtaWQyMzMxIC4gMSkpICgoMTA1 NSAuIDEwNTYpKSAoMjMzNDUgMTA5MTggODk1Nzg0IDY2MTAwMCkgMCBuaWxdKSAoKCMoInMi IDAgMSAoZm9udGlmaWVkIHQpKSAuIDEwNTUpICh1bmRvLXRyZWUtaWQyMzM0IC4gMSkgKHVu ZG8tdHJlZS1pZDIzMzYgLiAxKSAodW5kby10cmVlLWlkMjMzOCAuIDEpICh1bmRvLXRyZWUt aWQyMzQwIC4gMSkgKHVuZG8tdHJlZS1pZDIzNDIgLiAxKSAodW5kby10cmVlLWlkMjM0NCAu IDEpICh1bmRvLXRyZWUtaWQyMzQ2IC4gMSkgKHVuZG8tdHJlZS1pZDIzNDggLiAxKSAodW5k by10cmVlLWlkMjM1MCAuIDEpICh1bmRvLXRyZWUtaWQyMzUyIC4gMSkgKHVuZG8tdHJlZS1p ZDIzNTQgLiAxKSAodW5kby10cmVlLWlkMjM1NiAuIDEpICh1bmRvLXRyZWUtaWQyMzU4IC4g MSkgKHVuZG8tdHJlZS1pZDIzNjAgLiAxKSAodW5kby10cmVlLWlkMjM2MiAuIDEpICh1bmRv LXRyZWUtaWQyMzY0IC4gMSkgKHVuZG8tdHJlZS1pZDIzNjYgLiAxKSAodW5kby10cmVlLWlk MjM2OCAuIDEpKSAoKDEwNTUgLiAxMDU2KSkgKDIzMzQ1IDEwOTE5IDcwNjYwIDQ1NzAwMCkg MCBuaWxdKSAoKCMoIm4iIDAgMSAoZm9udGlmaWVkIHQpKSAuIDEwNTUpICh1bmRvLXRyZWUt aWQyMzcxIC4gMSkgKHVuZG8tdHJlZS1pZDIzNzMgLiAxKSAodW5kby10cmVlLWlkMjM3NSAu IDEpICh1bmRvLXRyZWUtaWQyMzc3IC4gMSkgKHVuZG8tdHJlZS1pZDIzNzkgLiAxKSAodW5k by10cmVlLWlkMjM4MSAuIDEpICh1bmRvLXRyZWUtaWQyMzgzIC4gMSkgKHVuZG8tdHJlZS1p ZDIzODUgLiAxKSAodW5kby10cmVlLWlkMjM4NyAuIDEpICh1bmRvLXRyZWUtaWQyMzg5IC4g MSkgKHVuZG8tdHJlZS1pZDIzOTEgLiAxKSAodW5kby10cmVlLWlkMjM5MyAuIDEpICh1bmRv LXRyZWUtaWQyMzk1IC4gMSkgKHVuZG8tdHJlZS1pZDIzOTcgLiAxKSAodW5kby10cmVlLWlk MjM5OSAuIDEpKSAoKDEwNTUgLiAxMDU2KSkgKDIzMzQ1IDEwOTE5IDI0NzczNiAzNTAwMCkg MCBuaWxdKSAoKCMoIm8iIDAgMSAoZm9udGlmaWVkIHQpKSAuIDEwNTUpICh1bmRvLXRyZWUt aWQyNDAyIC4gMSkgKHVuZG8tdHJlZS1pZDI0MDQgLiAxKSAodW5kby10cmVlLWlkMjQwNiAu IDEpICh1bmRvLXRyZWUtaWQyNDA4IC4gMSkgKHVuZG8tdHJlZS1pZDI0MTAgLiAxKSAodW5k by10cmVlLWlkMjQxMiAuIDEpICh1bmRvLXRyZWUtaWQyNDE0IC4gMSkgKHVuZG8tdHJlZS1p ZDI0MTYgLiAxKSAodW5kby10cmVlLWlkMjQxOCAuIDEpICh1bmRvLXRyZWUtaWQyNDIwIC4g MSkgKHVuZG8tdHJlZS1pZDI0MjIgLiAxKSAodW5kby10cmVlLWlkMjQyNCAuIDEpKSAoKDEw NTUgLiAxMDU2KSkgKDIzMzQ1IDEwOTE5IDQwODEzOSAyNTAwMDApIDAgbmlsXSkgKCgjKCJj IiAwIDEgKGZvbnRpZmllZCB0KSkgLiAxMDU1KSAodW5kby10cmVlLWlkMjQyNyAuIDEpICh1 bmRvLXRyZWUtaWQyNDI5IC4gMSkgKHVuZG8tdHJlZS1pZDI0MzEgLiAxKSAodW5kby10cmVl LWlkMjQzMyAuIDEpICh1bmRvLXRyZWUtaWQyNDM1IC4gMSkgKHVuZG8tdHJlZS1pZDI0Mzcg LiAxKSAodW5kby10cmVlLWlkMjQzOSAuIDEpICh1bmRvLXRyZWUtaWQyNDQxIC4gMSkgKHVu ZG8tdHJlZS1pZDI0NDMgLiAxKSkgKCgxMDU1IC4gMTA1NikpICgyMzM0NSAxMDkxOSA1Njc1 NTQgNTU0MDAwKSAwIG5pbF0pICgoIygiICIgMCAxIChmb250aWZpZWQgdCkpIC4gMTA1NSkg KHVuZG8tdHJlZS1pZDI0NDUgLiAtMSkgKHVuZG8tdHJlZS1pZDI0NDcgLiAxKSAodW5kby10 cmVlLWlkMjQ0OSAuIDEpICh1bmRvLXRyZWUtaWQyNDUxIC4gMSkgKHVuZG8tdHJlZS1pZDI0 NTMgLiAxKSAodW5kby10cmVlLWlkMjQ1NSAuIDEpICh1bmRvLXRyZWUtaWQyNDU3IC4gMSkp ICgoMTA1NSAuIDEwNTYpKSAoMjMzNDUgMTA5MTkgNzE5MDYyIDYzMDAwMCkgMCBuaWxdKSAo KCMoIiwiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDEwNTUpICh1bmRvLXRyZWUtaWQyNDYwIC4g MSkgKHVuZG8tdHJlZS1pZDI0NjIgLiAxKSkgKCgxMDU1IC4gMTA1NikpICgyMzM0NSAxMDkx OSA4ODg1ODggNTAwMDApIDAgbmlsXSkgKCgjKCIgIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAx MTAzKSAodW5kby10cmVlLWlkMjQ2NCAuIDEpICh1bmRvLXRyZWUtaWQyNDY2IC4gMSkgKHVu ZG8tdHJlZS1pZDI0NjggLiAxKSAodW5kby10cmVlLWlkMjQ3MCAuIDEpICh1bmRvLXRyZWUt aWQyNDcyIC4gMSkgKHVuZG8tdHJlZS1pZDI0NzQgLiAxKSAodW5kby10cmVlLWlkMjQ3NiAu IDEpICh1bmRvLXRyZWUtaWQyNDc4IC4gMSkgKHVuZG8tdHJlZS1pZDI0ODAgLiAxKSAodW5k by10cmVlLWlkMjQ4MiAuIDEpICh1bmRvLXRyZWUtaWQyNDg0IC4gMSkgKHVuZG8tdHJlZS1p ZDI0ODYgLiAxKSAodW5kby10cmVlLWlkMjQ4OCAuIDEpICh1bmRvLXRyZWUtaWQyNDkwIC4g MSkgKHVuZG8tdHJlZS1pZDI0OTIgLiAxKSAodW5kby10cmVlLWlkMjQ5NCAuIDEpICh1bmRv LXRyZWUtaWQyNDk2IC4gMSkgKHVuZG8tdHJlZS1pZDI0OTggLiAxKSAodW5kby10cmVlLWlk MjUwMCAuIDEpKSAoKDExMDMgLiAxMTA0KSkgKDIzMzQ1IDEwOTIwIDQ3Mjk3IDk0NjAwMCkg MCBuaWxdKSAoKCMoIj0iIDAgMSAoZm9udGlmaWVkIHQpKSAuIDExMDMpICh1bmRvLXRyZWUt aWQyNTAxIC4gMSkgKHVuZG8tdHJlZS1pZDI1MDMgLiAxKSAodW5kby10cmVlLWlkMjUwNSAu IDEpICh1bmRvLXRyZWUtaWQyNTA3IC4gMSkgKHVuZG8tdHJlZS1pZDI1MDkgLiAxKSAodW5k by10cmVlLWlkMjUxMSAuIDEpICh1bmRvLXRyZWUtaWQyNTEzIC4gMSkgKHVuZG8tdHJlZS1p ZDI1MTUgLiAxKSAodW5kby10cmVlLWlkMjUxNyAuIDEpICh1bmRvLXRyZWUtaWQyNTE5IC4g MSkgKHVuZG8tdHJlZS1pZDI1MjEgLiAxKSAodW5kby10cmVlLWlkMjUyMyAuIDEpICh1bmRv LXRyZWUtaWQyNTI1IC4gMSkgKHVuZG8tdHJlZS1pZDI1MjcgLiAxKSAodW5kby10cmVlLWlk MjUyOSAuIDEpICh1bmRvLXRyZWUtaWQyNTMxIC4gMSkgKHVuZG8tdHJlZS1pZDI1MzMgLiAx KSAodW5kby10cmVlLWlkMjUzNSAuIDEpKSAoKDExMDMgLiAxMTA0KSkgKDIzMzQ1IDEwOTIw IDIwNzMzMCAxNzkwMDApIDAgbmlsXSkgKCgjKCIgIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAx MTAzKSAodW5kby10cmVlLWlkMjUzNiAuIDEpICh1bmRvLXRyZWUtaWQyNTM4IC4gMSkgKHVu ZG8tdHJlZS1pZDI1NDAgLiAxKSAodW5kby10cmVlLWlkMjU0MiAuIDEpICh1bmRvLXRyZWUt aWQyNTQ0IC4gMSkgKHVuZG8tdHJlZS1pZDI1NDYgLiAxKSAodW5kby10cmVlLWlkMjU0OCAu IDEpICh1bmRvLXRyZWUtaWQyNTUwIC4gMSkgKHVuZG8tdHJlZS1pZDI1NTIgLiAxKSAodW5k by10cmVlLWlkMjU1NCAuIDEpICh1bmRvLXRyZWUtaWQyNTU2IC4gMSkgKHVuZG8tdHJlZS1p ZDI1NTggLiAxKSAodW5kby10cmVlLWlkMjU2MCAuIDEpICh1bmRvLXRyZWUtaWQyNTYyIC4g MSkgKHVuZG8tdHJlZS1pZDI1NjQgLiAxKSAodW5kby10cmVlLWlkMjU2NiAuIDEpICh1bmRv LXRyZWUtaWQyNTY4IC4gMSkpICgoMTEwMyAuIDExMDQpKSAoMjMzNDUgMTA5MjAgMzkxMjE2 IDkyOTAwMCkgMCBuaWxdKSAoKCMoIkUiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxv Y2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiAxMTAzKSAodW5kby10cmVlLWlkMjU2OSAuIDEp ICh1bmRvLXRyZWUtaWQyNTcxIC4gMSkgKHVuZG8tdHJlZS1pZDI1NzMgLiAxKSAodW5kby10 cmVlLWlkMjU3NSAuIDEpICh1bmRvLXRyZWUtaWQyNTc3IC4gMSkgKHVuZG8tdHJlZS1pZDI1 NzkgLiAxKSAodW5kby10cmVlLWlkMjU4MSAuIDEpICh1bmRvLXRyZWUtaWQyNTgzIC4gMSkg KHVuZG8tdHJlZS1pZDI1ODUgLiAxKSAodW5kby10cmVlLWlkMjU4NyAuIDEpICh1bmRvLXRy ZWUtaWQyNTg5IC4gMSkgKHVuZG8tdHJlZS1pZDI1OTEgLiAxKSAodW5kby10cmVlLWlkMjU5 MyAuIDEpICh1bmRvLXRyZWUtaWQyNTk1IC4gMSkgKHVuZG8tdHJlZS1pZDI1OTcgLiAxKSAo dW5kby10cmVlLWlkMjU5OSAuIDEpKSAoKDExMDMgLiAxMTA0KSkgKDIzMzQ1IDEwOTIwIDk2 NTkyNSA2MzIwMDApIDAgbmlsXSkgKCgjKCJMIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9u dC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpIC4gMTEwMykgKHVuZG8tdHJlZS1pZDI2MDEg LiAxKSAodW5kby10cmVlLWlkMjYwMyAuIDEpICh1bmRvLXRyZWUtaWQyNjA1IC4gMSkgKHVu ZG8tdHJlZS1pZDI2MDcgLiAxKSAodW5kby10cmVlLWlkMjYwOSAuIDEpICh1bmRvLXRyZWUt aWQyNjExIC4gMSkgKHVuZG8tdHJlZS1pZDI2MTMgLiAxKSAodW5kby10cmVlLWlkMjYxNSAu IDEpICh1bmRvLXRyZWUtaWQyNjE3IC4gMSkgKHVuZG8tdHJlZS1pZDI2MTkgLiAxKSAodW5k by10cmVlLWlkMjYyMSAuIDEpICh1bmRvLXRyZWUtaWQyNjIzIC4gMSkgKHVuZG8tdHJlZS1p ZDI2MjUgLiAxKSAodW5kby10cmVlLWlkMjYyNyAuIDEpICh1bmRvLXRyZWUtaWQyNjI5IC4g MSkpICgoMTEwMyAuIDExMDQpKSAoMjMzNDUgMTA5MjEgNTkzOTAgMzg0MDAwKSAwIG5pbF0p ICgoIygiQiIgMCAxIChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1l LWZhY2UpKSAuIDExMDMpICh1bmRvLXRyZWUtaWQyNjMwIC4gMSkgKHVuZG8tdHJlZS1pZDI2 MzIgLiAxKSAodW5kby10cmVlLWlkMjYzNCAuIDEpICh1bmRvLXRyZWUtaWQyNjM2IC4gMSkg KHVuZG8tdHJlZS1pZDI2MzggLiAxKSAodW5kby10cmVlLWlkMjY0MCAuIDEpICh1bmRvLXRy ZWUtaWQyNjQyIC4gMSkgKHVuZG8tdHJlZS1pZDI2NDQgLiAxKSAodW5kby10cmVlLWlkMjY0 NiAuIDEpICh1bmRvLXRyZWUtaWQyNjQ4IC4gMSkgKHVuZG8tdHJlZS1pZDI2NTAgLiAxKSAo dW5kby10cmVlLWlkMjY1MiAuIDEpICh1bmRvLXRyZWUtaWQyNjU0IC4gMSkgKHVuZG8tdHJl ZS1pZDI2NTYgLiAxKSkgKCgxMTAzIC4gMTEwNCkpICgyMzM0NSAxMDkyMSAyOTEzODUgOTIx MDAwKSAwIG5pbF0pICgoIygiQSIgMCAxIChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9jay12 YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDExMDMpICh1bmRvLXRyZWUtaWQyNjU3IC4gMSkgKHVu ZG8tdHJlZS1pZDI2NTkgLiAxKSAodW5kby10cmVlLWlkMjY2MSAuIDEpICh1bmRvLXRyZWUt aWQyNjYzIC4gMSkgKHVuZG8tdHJlZS1pZDI2NjUgLiAxKSAodW5kby10cmVlLWlkMjY2NyAu IDEpICh1bmRvLXRyZWUtaWQyNjY5IC4gMSkgKHVuZG8tdHJlZS1pZDI2NzEgLiAxKSAodW5k by10cmVlLWlkMjY3MyAuIDEpICh1bmRvLXRyZWUtaWQyNjc1IC4gMSkgKHVuZG8tdHJlZS1p ZDI2NzcgLiAxKSAodW5kby10cmVlLWlkMjY3OSAuIDEpICh1bmRvLXRyZWUtaWQyNjgxIC4g MSkpICgoMTEwMyAuIDExMDQpKSAoMjMzNDUgMTA5MjEgNTkwODMwIDc5ODAwMCkgMCBuaWxd KSAoKCMoIkwiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFt ZS1mYWNlKSkgLiAxMTAzKSAodW5kby10cmVlLWlkMjY4MiAuIDEpICh1bmRvLXRyZWUtaWQy Njg0IC4gMSkgKHVuZG8tdHJlZS1pZDI2ODYgLiAxKSAodW5kby10cmVlLWlkMjY4OCAuIDEp ICh1bmRvLXRyZWUtaWQyNjkwIC4gMSkgKHVuZG8tdHJlZS1pZDI2OTIgLiAxKSAodW5kby10 cmVlLWlkMjY5NCAuIDEpICh1bmRvLXRyZWUtaWQyNjk2IC4gMSkgKHVuZG8tdHJlZS1pZDI2 OTggLiAxKSAodW5kby10cmVlLWlkMjcwMCAuIDEpICh1bmRvLXRyZWUtaWQyNzAyIC4gMSkg KHVuZG8tdHJlZS1pZDI3MDQgLiAxKSkgKCgxMTAzIC4gMTEwNCkpICgyMzM0NSAxMDkyMSA3 ODM0NjAgNDg5MDAwKSAwIG5pbF0pICgoIygiSSIgMCAxIChmb250aWZpZWQgdCBmYWNlIGZv bnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDExMDMpICh1bmRvLXRyZWUtaWQyNzA1 IC4gMSkgKHVuZG8tdHJlZS1pZDI3MDcgLiAxKSAodW5kby10cmVlLWlkMjcwOSAuIDEpICh1 bmRvLXRyZWUtaWQyNzExIC4gMSkgKHVuZG8tdHJlZS1pZDI3MTMgLiAxKSAodW5kby10cmVl LWlkMjcxNSAuIDEpICh1bmRvLXRyZWUtaWQyNzE3IC4gMSkgKHVuZG8tdHJlZS1pZDI3MTkg LiAxKSAodW5kby10cmVlLWlkMjcyMSAuIDEpICh1bmRvLXRyZWUtaWQyNzIzIC4gMSkgKHVu ZG8tdHJlZS1pZDI3MjUgLiAxKSkgKCgxMTAzIC4gMTEwNCkpICgyMzM0NSAxMDkyMSA5Mjgx NzUgODAwMDApIDAgbmlsXSkgKCgjKCJBIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1s b2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpIC4gMTEwMykgKHVuZG8tdHJlZS1pZDI3MjYgLiAx KSAodW5kby10cmVlLWlkMjcyOCAuIDEpICh1bmRvLXRyZWUtaWQyNzMwIC4gMSkgKHVuZG8t dHJlZS1pZDI3MzIgLiAxKSAodW5kby10cmVlLWlkMjczNCAuIDEpICh1bmRvLXRyZWUtaWQy NzM2IC4gMSkgKHVuZG8tdHJlZS1pZDI3MzggLiAxKSAodW5kby10cmVlLWlkMjc0MCAuIDEp ICh1bmRvLXRyZWUtaWQyNzQyIC4gMSkgKHVuZG8tdHJlZS1pZDI3NDQgLiAxKSkgKCgxMTAz IC4gMTEwNCkpICgyMzM0NSAxMDkyMiA4NzI0MiA1MjcwMDApIDAgbmlsXSkgKCgjKCJWIiAw IDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpIC4g MTEwMykgKHVuZG8tdHJlZS1pZDI3NDUgLiAxKSAodW5kby10cmVlLWlkMjc0NyAuIDEpICh1 bmRvLXRyZWUtaWQyNzQ5IC4gMSkgKHVuZG8tdHJlZS1pZDI3NTEgLiAxKSAodW5kby10cmVl LWlkMjc1MyAuIDEpICh1bmRvLXRyZWUtaWQyNzU1IC4gMSkgKHVuZG8tdHJlZS1pZDI3NTcg LiAxKSAodW5kby10cmVlLWlkMjc1OSAuIDEpICh1bmRvLXRyZWUtaWQyNzYxIC4gMSkpICgo MTEwMyAuIDExMDQpKSAoMjMzNDUgMTA5MjIgMjM5NzI2IDM2MDAwMCkgMCBuaWxdKSAoKCMo IkEiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNl KSkgLiAxMTAzKSAodW5kby10cmVlLWlkMjc2MiAuIDEpICh1bmRvLXRyZWUtaWQyNzY0IC4g MSkgKHVuZG8tdHJlZS1pZDI3NjYgLiAxKSAodW5kby10cmVlLWlkMjc2OCAuIDEpICh1bmRv LXRyZWUtaWQyNzcwIC4gMSkgKHVuZG8tdHJlZS1pZDI3NzIgLiAxKSAodW5kby10cmVlLWlk Mjc3NCAuIDEpICh1bmRvLXRyZWUtaWQyNzc2IC4gMSkpICgoMTEwMyAuIDExMDQpKSAoMjMz NDUgMTA5MjIgMzk5NjIwIDYwMjAwMCkgMCBuaWxdKSAoKCMoIl8iIDAgMSAoZm9udGlmaWVk IHQgZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiAxMTAzKSAodW5kby10 cmVlLWlkMjc3NyAuIDEpICh1bmRvLXRyZWUtaWQyNzc5IC4gMSkgKHVuZG8tdHJlZS1pZDI3 ODEgLiAxKSAodW5kby10cmVlLWlkMjc4MyAuIDEpICh1bmRvLXRyZWUtaWQyNzg1IC4gMSkg KHVuZG8tdHJlZS1pZDI3ODcgLiAxKSAodW5kby10cmVlLWlkMjc4OSAuIDEpKSAoKDExMDMg LiAxMTA0KSkgKDIzMzQ1IDEwOTIyIDU1MTEwOCA0MTAwMCkgMCBuaWxdKSAoKCMoIkwiIDAg MSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiAx MTAzKSAodW5kby10cmVlLWlkMjc5MCAuIDEpICh1bmRvLXRyZWUtaWQyNzkyIC4gMSkgKHVu ZG8tdHJlZS1pZDI3OTQgLiAxKSAodW5kby10cmVlLWlkMjc5NiAuIDEpICh1bmRvLXRyZWUt aWQyNzk4IC4gMSkgKHVuZG8tdHJlZS1pZDI4MDAgLiAxKSkgKCgxMTAzIC4gMTEwNCkpICgy MzM0NSAxMDkyMiA3MTE2MzYgNjU1MDAwKSAwIG5pbF0pICgoIygiQSIgMCAxIChmb250aWZp ZWQgdCBmYWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDExMDMpICh1bmRv LXRyZWUtaWQyODAxIC4gMSkgKHVuZG8tdHJlZS1pZDI4MDMgLiAxKSAodW5kby10cmVlLWlk MjgwNSAuIDEpICh1bmRvLXRyZWUtaWQyODA3IC4gMSkgKHVuZG8tdHJlZS1pZDI4MDkgLiAx KSkgKCgxMTAzIC4gMTEwNCkpICgyMzM0NSAxMDkyMiA4NjM0MDkgNjI4MDAwKSAwIG5pbF0p ICgoIygiVCIgMCAxIChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1l LWZhY2UpKSAuIDExMDMpICh1bmRvLXRyZWUtaWQyODEwIC4gMSkgKHVuZG8tdHJlZS1pZDI4 MTIgLiAxKSAodW5kby10cmVlLWlkMjgxNCAuIDEpICh1bmRvLXRyZWUtaWQyODE2IC4gMSkp ICgoMTEwMyAuIDExMDQpKSAoMjMzNDUgMTA5MjMgMTU1MzkgNTY1MDAwKSAwIG5pbF0pICgo IygiTyIgMCAxIChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZh Y2UpKSAuIDExMDMpICh1bmRvLXRyZWUtaWQyODE3IC4gMSkgKHVuZG8tdHJlZS1pZDI4MTkg LiAxKSAodW5kby10cmVlLWlkMjgyMSAuIDEpKSAoKDExMDMgLiAxMTA0KSkgKDIzMzQ1IDEw OTIzIDE1OTMzOCA0MjYwMDApIDAgbmlsXSkgKCgjKCJUIiAwIDEgKGZvbnRpZmllZCB0IGZh Y2UgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpIC4gMTEwMykgKHVuZG8tdHJlZS1p ZDI4MjIgLiAxKSAodW5kby10cmVlLWlkMjgyNCAuIDEpKSAoKDExMDMgLiAxMTA0KSkgKDIz MzQ1IDEwOTIzIDM1MTQxOCA4MjkwMDApIDAgbmlsXSkgKCgxMDkwIC4gMTEwMykpICgoIygi Y29uc3RyYWludCA9ICIgMCAxMCAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlKSAxMCAxMyAoZm9udGlmaWVkIHQpKSAuIDEwOTApICh1bmRvLXRyZWUt aWQyODQwIC4gLTEzKSAodW5kby10cmVlLWlkMjg0MSAuIC0xMykpICgyMzM0NSAxMDkyMyA1 NTE1MTkgNTk1MDAwKSAwIG5pbF0pICgxMTEzKSAobmlsIHVuZG8tdHJlZS1jYW5hcnkpICgy MzM0NSAxMDkyMyA3MzU3MjYgNjU3MDAwKSAwIG5pbF0pICgoMTA4NiAuIDEwOTApKSAoKCMo IiAgICAiIDAgNCAoZm9udGlmaWVkIHQpKSAuIDEwODYpICh1bmRvLXRyZWUtaWQyODQyIC4g LTQpKSAoMjMzNDUgMTA5MjMgOTI2MjYxIDE2NzAwMCkgMCBuaWxdKSAoKG5pbCByZWFyLW5v bnN0aWNreSBuaWwgMTA4NSAuIDEwODYpICgjKCIKIiAwIDEgKGZvbnRpZmllZCBuaWwpKSAu IC0xMTE5KSAodW5kby10cmVlLWlkMjgyNSAuIC0xKSAoMTA4NSAuIDExMjApIDEwODMpICgo IygiClRPVEFMX0FWQUlMQUJMRSA9IFsxMDAsIDIwMCwgMzAwXQoiIDAgMSAoZm9udGlmaWVk IG5pbCByZWFyLW5vbnN0aWNreSBuaWwpIDEgMiAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDIgMyAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDMgNCAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDQgNSAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDUgNiAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDYgNyAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDcgOCAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDggOSAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDkgMTAgKGZvbnRpZmllZCBuaWwgZmFjZSBmb250 LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSAxMCAxMSAoZm9udGlmaWVkIG5pbCBmYWNlIGZv bnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDExIDEyIChmb250aWZpZWQgbmlsIGZhY2Ug Zm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkgMTIgMTMgKGZvbnRpZmllZCBuaWwgZmFj ZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSAxMyAxNCAoZm9udGlmaWVkIG5pbCBm YWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDE0IDE1IChmb250aWZpZWQgbmls IGZhY2UgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkgMTUgMTYgKGZvbnRpZmllZCBu aWwgZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSAxNiAxNyAoZm9udGlmaWVk IG5pbCkgMTcgMTggKGZvbnRpZmllZCBuaWwpIDE4IDE5IChmb250aWZpZWQgbmlsKSAxOSAy MCAoZm9udGlmaWVkIG5pbCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNl KSkgMjAgMjMgKGZvbnRpZmllZCBuaWwgZmFjZSBoaWdobGlnaHQtbnVtYmVycy1udW1iZXIp IDIzIDI1IChmb250aWZpZWQgbmlsKSAyNSAyOCAoZm9udGlmaWVkIG5pbCBmYWNlIGhpZ2hs aWdodC1udW1iZXJzLW51bWJlcikgMjggMzAgKGZvbnRpZmllZCBuaWwpIDMwIDMzIChmb250 aWZpZWQgbmlsIGZhY2UgaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSAzMyAzNCAoZm9udGlm aWVkIG5pbCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlKSkgMzQgMzUg KGZvbnRpZmllZCBuaWwpKSAuIDEwODUpICh1bmRvLXRyZWUtaWQyODQzIC4gLTM0KSAodW5k by10cmVlLWlkMjg0NCAuIDM0KSAodW5kby10cmVlLWlkMjg0NSAuIC0xKSAodW5kby10cmVl LWlkMjg0NiAuIC0zNCkgKHVuZG8tdHJlZS1pZDI4NDcgLiAtMSkgKHVuZG8tdHJlZS1pZDI4 NDggLiAtMSkgKHVuZG8tdHJlZS1pZDI4NDkgLiAxNykgKHVuZG8tdHJlZS1pZDI4NTAgLiAx OCkgKHVuZG8tdHJlZS1pZDI4NTEgLiAxOCkgKHVuZG8tdHJlZS1pZDI4NTIgLiAxOSkgKHVu ZG8tdHJlZS1pZDI4NTMgLiAxOSkgKHVuZG8tdHJlZS1pZDI4NTQgLiAyMCkgKHVuZG8tdHJl ZS1pZDI4NTUgLiAyMCkgKHVuZG8tdHJlZS1pZDI4NTYgLiAyMSkgKHVuZG8tdHJlZS1pZDI4 NTcgLiAyMSkgKHVuZG8tdHJlZS1pZDI4NTggLiAyMikgKHVuZG8tdHJlZS1pZDI4NTkgLiAy MikgKHVuZG8tdHJlZS1pZDI4NjAgLiAyMykgKHVuZG8tdHJlZS1pZDI4NjEgLiAyMykgKHVu ZG8tdHJlZS1pZDI4NjIgLiAyNCkgKHVuZG8tdHJlZS1pZDI4NjMgLiAyNCkgKHVuZG8tdHJl ZS1pZDI4NjQgLiAyNSkgKHVuZG8tdHJlZS1pZDI4NjUgLiAyNSkgKHVuZG8tdHJlZS1pZDI4 NjYgLiAyNikgKHVuZG8tdHJlZS1pZDI4NjcgLiAyNikgKHVuZG8tdHJlZS1pZDI4NjggLiAy NykgKHVuZG8tdHJlZS1pZDI4NjkgLiAyNykgKHVuZG8tdHJlZS1pZDI4NzAgLiAyOCkgKHVu ZG8tdHJlZS1pZDI4NzEgLiAyOCkgKHVuZG8tdHJlZS1pZDI4NzIgLiAyOSkgKHVuZG8tdHJl ZS1pZDI4NzMgLiAyOSkgKHVuZG8tdHJlZS1pZDI4NzQgLiAzMCkgKHVuZG8tdHJlZS1pZDI4 NzUgLiAzMCkgKHVuZG8tdHJlZS1pZDI4NzYgLiAzMSkgKHVuZG8tdHJlZS1pZDI4NzcgLiAz MSkgKHVuZG8tdHJlZS1pZDI4NzggLiAzMikgKHVuZG8tdHJlZS1pZDI4NzkgLiAzMikgKHVu ZG8tdHJlZS1pZDI4ODAgLiAzMykgKHVuZG8tdHJlZS1pZDI4ODEgLiAzMykgKHVuZG8tdHJl ZS1pZDI4ODIgLiAzNCkgKHVuZG8tdHJlZS1pZDI4ODMgLiAzNCkgKHVuZG8tdHJlZS1pZDI4 ODQgLiAzNCkgKHVuZG8tdHJlZS1pZDI4ODUgLiAzNCkgKHVuZG8tdHJlZS1pZDI4ODYgLiAx MSkgKHVuZG8tdHJlZS1pZDI4ODcgLiAzNCkgKHVuZG8tdHJlZS1pZDI4ODggLiAzNCkgKHVu ZG8tdHJlZS1pZDI4ODkgLiAxMSkgKHVuZG8tdHJlZS1pZDI4OTAgLiAtMSkgKHVuZG8tdHJl ZS1pZDI4OTEgLiAtMTYpICgxMTE5IC4gMTEyMCkgKG5pbCByZWFyLW5vbnN0aWNreSB0IDEw ODUgLiAxMDg2KSkgKDIzMzQ1IDEwOTI0IDQ4NDkyOCA0NTQwMDApIDAgbmlsXSkgKCgjKCJU T1RBTF9BVkFJTEFCTEUgPSBbMTAwLCAyMDAsIDMwMF0KIiAwIDE1IChmb250aWZpZWQgdCBm YWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpIDE1IDE4IChmb250aWZpZWQgdCkg MTggMTkgKGZvbnRpZmllZCB0IGZhY2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0xLWZh Y2UpKSAxOSAyMiAoZm9udGlmaWVkIHQgZmFjZSBoaWdobGlnaHQtbnVtYmVycy1udW1iZXIp IDIyIDI0IChmb250aWZpZWQgdCkgMjQgMjcgKGZvbnRpZmllZCB0IGZhY2UgaGlnaGxpZ2h0 LW51bWJlcnMtbnVtYmVyKSAyNyAyOSAoZm9udGlmaWVkIHQpIDI5IDMyIChmb250aWZpZWQg dCBmYWNlIGhpZ2hsaWdodC1udW1iZXJzLW51bWJlcikgMzIgMzMgKGZvbnRpZmllZCB0IGZh Y2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0xLWZhY2UpKSAzMyAzNCAoZm9udGlmaWVk IHQpKSAuIDEwNCkgKHVuZG8tdHJlZS1pZDI4MjYgLiAtMzQpICh1bmRvLXRyZWUtaWQyODI3 IC4gMTApICh1bmRvLXRyZWUtaWQyODI4IC4gLTI0KSAodW5kby10cmVlLWlkMjgyOSAuIDEw KSAodW5kby10cmVlLWlkMjgzMCAuIDEwKSAodW5kby10cmVlLWlkMjgzMSAuIDE5KSAodW5k by10cmVlLWlkMjgzMiAuIDEwKSAodW5kby10cmVlLWlkMjgzMyAuIC0xNSkgKHVuZG8tdHJl ZS1pZDI4MzQgLiAxOSkgKHVuZG8tdHJlZS1pZDI4MzUgLiAxOSkgKHVuZG8tdHJlZS1pZDI4 MzYgLiAtNCkgMTA4KSAoKDEwNCAuIDEzOCkpICgyMzM0NSAxMDkyNSA1MTI5NiA1ODAwMCkg MCBuaWxdKSAoKDI4NSAuIDI4OSkpIG5pbCAoMjMzNDUgMTA5MjcgNzkxNzMgODgwMDAwKSAw IG5pbF0pICgobmlsIHJlYXItbm9uc3RpY2t5IG5pbCAyODQgLiAyODUpICgjKCIKIiAwIDEg KGZvbnRpZmllZCBuaWwpKSAuIC0zMDMpICh1bmRvLXRyZWUtaWQyODM3IC4gLTEpICgyODQg LiAzMDQpIDI1MSkgbmlsICgyMzM0NSAxMDkxMyA0ODUyODcgMTkzMDAwKSAwIG5pbF0pICgo IygiTElNSVQgPSBbNCwgNSwgMTBdCiIgMCA1IChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9j ay12YXJpYWJsZS1uYW1lLWZhY2UpIDUgOCAoZm9udGlmaWVkIHQpIDggOSAoZm9udGlmaWVk IHQgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTEtZmFjZSkpIDkgMTAgKGZvbnRp ZmllZCB0IGZhY2UgaGlnaGxpZ2h0LW51bWJlcnMtbnVtYmVyKSAxMCAxMiAoZm9udGlmaWVk IHQpIDEyIDEzIChmb250aWZpZWQgdCBmYWNlIGhpZ2hsaWdodC1udW1iZXJzLW51bWJlcikg MTMgMTUgKGZvbnRpZmllZCB0KSAxNSAxNyAoZm9udGlmaWVkIHQgZmFjZSBoaWdobGlnaHQt bnVtYmVycy1udW1iZXIpIDE3IDE4IChmb250aWZpZWQgdCBmYWNlIChyYWluYm93LWRlbGlt aXRlcnMtZGVwdGgtMS1mYWNlKSkgMTggMTkgKGZvbnRpZmllZCB0KSkgLiAxMzgpICh1bmRv LXRyZWUtaWQyODM4IC4gLTE5KSAodW5kby10cmVlLWlkMjgzOSAuIC0xOCkgMTU2ICh0IDIz MzQ1IDEwODQ2IDMyODc2NiAyNzYwMDApKSBuaWwgKDIzMzQ1IDEwOTEzIDQ4NTI5NSAyMzEw MDApIDAgbmlsXSkgKCgxMDEgLiAxMDMpKSBuaWwgKDIzMzQ1IDEwODQ2IDMxNzMxNCAyOTIw MDApIDAgbmlsXSkgKCgjKCIzIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgaGlnaGxpZ2h0LW51 bWJlcnMtbnVtYmVyKSkgLiAxMDEpICh1bmRvLXRyZWUtaWQzODggLiAtMSkgKHQgMjMzNDUg MTA0MTUgOTA1NTIwIDQ4MjAwMCkpIG5pbCAoMjMzNDUgMTA4NDYgMzE3MzYyIDk4MzAwMCkg MCBuaWxdKSAoKDQ3NzUgLiA0NzgzKSkgbmlsICgyMzM0NSAxMDQxNSA4OTAxNTcgNDQ1MDAw KSAwIG5pbF0pICgoNDcyNCAuIDQ3MzIpICh0IDIzMzQ1IDEwMzY2IDczMjA2MSA2MDUwMDAp KSBuaWwgKDIzMzQ1IDEwNDE1IDg5MDE3OSA0NDYwMDApIDAgbmlsXSkgKCg0NjYzIC4gNDY2 NSkpIG5pbCAoMjMzNDUgMTAzNjYgNzEwMzM1IDIxMjAwMCkgMCBuaWxdKSAoKCMoIm4iIDAg MSAoZm9udGlmaWVkIHQpKSAuIDQ2NjMpICh1bmRvLXRyZWUtaWQzNjAgLiAxKSAodW5kby10 cmVlLWlkMzYxIC4gMSkgKHVuZG8tdHJlZS1pZDM2MiAuIDEpKSBuaWwgKDIzMzQ1IDEwMzY2 IDcxMDQ1OCAxNjkwMDApIDAgbmlsXSkgKCgjKCJpIiAwIDEgKGZvbnRpZmllZCB0KSkgLiA0 NjYzKSAodW5kby10cmVlLWlkMzYzIC4gMSkpIG5pbCAoMjMzNDUgMTAzNjYgNzEwNDc5IDgx OTAwMCkgMCBuaWxdKSAoKDQ2MzIgLiA0NjM0KSkgbmlsICgyMzM0NSAxMDM2NiA3MTA0OTEg NjQ2MDAwKSAwIG5pbF0pICgoIygieCIgMCAxIChmb250aWZpZWQgdCkpIC4gNDYzMikgKHVu ZG8tdHJlZS1pZDM2NCAuIDEpICh1bmRvLXRyZWUtaWQzNjUgLiAxKSAodW5kby10cmVlLWlk MzY2IC4gMSkgKHVuZG8tdHJlZS1pZDM2NyAuIDEpICh1bmRvLXRyZWUtaWQzNjggLiAxKSkg bmlsICgyMzM0NSAxMDM2NiA3MTA1NjEgNjIwMDAwKSAwIG5pbF0pICgoIygiYSIgMCAxIChm b250aWZpZWQgdCkpIC4gNDYzMikgKHVuZG8tdHJlZS1pZDM2OSAuIDEpKSBuaWwgKDIzMzQ1 IDEwMzY2IDcxMDU3OSA1MTkwMDApIDAgbmlsXSkgKCg0NTI5IC4gNDUzMSkpIG5pbCAoMjMz NDUgMTAzNjYgNzEwNTg5IDY5NDAwMCkgMCBuaWxdKSAoKCMoIm0iIDAgMSAoZm9udGlmaWVk IHQpKSAuIC00NTI5KSAodW5kby10cmVlLWlkMzcwIC4gLTEpICh1bmRvLXRyZWUtaWQzNzEg LiAtMSkgKHVuZG8tdHJlZS1pZDM3MiAuIDEpIDQ1MzApIG5pbCAoMjMzNDUgMTAzNjYgNzEw NjE5IDYzODAwMCkgMCBuaWxdKSAoKDQ1MjkgLiA0NTMwKSkgbmlsICgyMzM0NSAxMDM2NiA3 MTA2MjkgOTQ3MDAwKSAwIG5pbF0pICgoIygieCIgMCAxIChmb250aWZpZWQgdCkpIC4gNDUy OSkgKHVuZG8tdHJlZS1pZDM3MyAuIDEpICh1bmRvLXRyZWUtaWQzNzQgLiAxKSAodW5kby10 cmVlLWlkMzc1IC4gMSkgKHVuZG8tdHJlZS1pZDM3NiAuIDEpICh1bmRvLXRyZWUtaWQzNzcg LiAxKSkgbmlsICgyMzM0NSAxMDM2NiA3MTA2NzEgNjAwMCkgMCBuaWxdKSAoKCMoImEiIDAg MSAoZm9udGlmaWVkIHQpKSAuIDQ1MjkpICh1bmRvLXRyZWUtaWQzNzggLiAxKSkgbmlsICgy MzM0NSAxMDM2NiA3MTA2ODggOTQ1MDAwKSAwIG5pbF0pICgoNDU1NyAuIDQ1NTgpKSBuaWwg KDIzMzQ1IDEwMzY2IDcxMDcwNCA0OTYwMDApIDAgbmlsXSkgKCgjKCJuIiAwIDEgKGZvbnRp ZmllZCB0KSkgLiAtNDU1NykgKHVuZG8tdHJlZS1pZDM3OSAuIC0xKSAodW5kby10cmVlLWlk MzgwIC4gLTEpICh1bmRvLXRyZWUtaWQzODEgLiAxKSA0NTU4KSBuaWwgKDIzMzQ1IDEwMzY2 IDcxMDczMyA2NTMwMDApIDAgbmlsXSkgKCg0NTU2IC4gNDU1OCkpIG5pbCAoMjMzNDUgMTAz NjYgNzEwNzQ1IDUzODAwMCkgMCBuaWxdKSAoKCMoIm4iIDAgMSAoZm9udGlmaWVkIHQpKSAu IDQ1NTYpICh1bmRvLXRyZWUtaWQzODIgLiAxKSAodW5kby10cmVlLWlkMzgzIC4gMSkgKHVu ZG8tdHJlZS1pZDM4NCAuIDEpICh1bmRvLXRyZWUtaWQzODUgLiAxKSAodW5kby10cmVlLWlk Mzg2IC4gMSkpIG5pbCAoMjMzNDUgMTAzNjYgNzEwNzg4IDk4NTAwMCkgMCBuaWxdKSAoKCMo ImkiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQ1NTYpICh1bmRvLXRyZWUtaWQzODcgLiAxKSAo dCAyMzM0NSAxMDI5NCAzNTg0MDkgMTIzMDAwKSkgbmlsICgyMzM0NSAxMDM2NiA3MTA4MDkg NjE5MDAwKSAwIG5pbF0pICgoNDQ0MCAuIDQ0NDEpICgjKCIvIiAwIDEgKGZvbnRpZmllZCB0 KSkgLiA0NDQwKSAodW5kby10cmVlLWlkMzU2IC4gMSkpIG5pbCAoMjMzNDUgMTAyOTQgMzUz NzQ2IDI3MDAwMCkgMCBuaWxdKSAoKDQzMzEgLiA0MzMyKSAoIygiLyIgMCAxIChmb250aWZp ZWQgdCkpIC4gNDMzMSkgKHVuZG8tdHJlZS1pZDM1NyAuIDEpKSBuaWwgKDIzMzQ1IDEwMjk0 IDM1Mzc1NCA1NTIwMDApIDAgbmlsXSkgKCg0MjIyIC4gNDIyMykgKCMoIi8iIDAgMSAoZm9u dGlmaWVkIHQpKSAuIDQyMjIpICh1bmRvLXRyZWUtaWQzNTggLiAxKSkgbmlsICgyMzM0NSAx MDI5NCAzNTM3NTggODg3MDAwKSAwIG5pbF0pICgoNDEwMSAuIDQxMDIpICgjKCIvIiAwIDEg KGZvbnRpZmllZCB0KSkgLiA0MTAxKSAodW5kby10cmVlLWlkMzU5IC4gMSkgKHQgMjMzNDUg MTAyMzYgNjE4NDAwIDQ2MDAwMCkpIG5pbCAoMjMzNDUgMTAyOTQgMzUzNzYzIDI1MDAwMCkg MCBuaWxdKSAoKCMoIiAgICBwcmludCh0eXBlKG1pbl9scF9kb21pbmFudF9yZXNvdXJjZSkp CiIgMCAzIChmb250aWZpZWQgdCkgMyA0IChmb250aWZpZWQgdCByZWFyLW5vbnN0aWNreSB0 KSA0IDkgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkgOSAxMCAo Zm9udGlmaWVkIHQgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTEtZmFjZSkpIDEw IDE0IChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9jay1idWlsdGluLWZhY2UpIDE0IDE1IChm b250aWZpZWQgdCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMi1mYWNlKSkgMTUg MzkgKGZvbnRpZmllZCB0KSAzOSA0MCAoZm9udGlmaWVkIHQgZmFjZSAocmFpbmJvdy1kZWxp bWl0ZXJzLWRlcHRoLTItZmFjZSkpIDQwIDQxIChmb250aWZpZWQgdCBmYWNlIChyYWluYm93 LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlKSkgNDEgNDIgKGZvbnRpZmllZCB0KSkgLiA0NDc5 KSAodW5kby10cmVlLWlkMjkwIC4gLTE4KSAodW5kby10cmVlLWlkMjkxIC4gLTQxKSAodW5k by10cmVlLWlkMjkyIC4gLTIyKSAodW5kby10cmVlLWlkMjkzIC4gMjQpICh1bmRvLXRyZWUt aWQyOTQgLiAyNCkgKHVuZG8tdHJlZS1pZDI5NSAuIC0xOCkgKHVuZG8tdHJlZS1pZDI5NiAu IC0xOCkgKHVuZG8tdHJlZS1pZDI5NyAuIC00MSkgKHVuZG8tdHJlZS1pZDI5OCAuIC0xOCkg KHVuZG8tdHJlZS1pZDI5OSAuIC0xOCkgKHVuZG8tdHJlZS1pZDMwMCAuIC0xOCkgKHVuZG8t dHJlZS1pZDMwMSAuIC0xOCkgKHVuZG8tdHJlZS1pZDMwMiAuIDI0KSAodW5kby10cmVlLWlk MzAzIC4gMjQpICh1bmRvLXRyZWUtaWQzMDQgLiAyNCkgKHVuZG8tdHJlZS1pZDMwNSAuIDI0 KSAodW5kby10cmVlLWlkMzA2IC4gLTE4KSAodW5kby10cmVlLWlkMzA3IC4gLTE4KSAodW5k by10cmVlLWlkMzA4IC4gLTE4KSAodW5kby10cmVlLWlkMzA5IC4gMjApICh1bmRvLXRyZWUt aWQzMTAgLiAyNCkgKHVuZG8tdHJlZS1pZDMxMSAuIC0yMikgKHVuZG8tdHJlZS1pZDMxMiAu IDIwKSAodW5kby10cmVlLWlkMzEzIC4gMjApICh1bmRvLXRyZWUtaWQzMTQgLiAyMCkgKHVu ZG8tdHJlZS1pZDMxNSAuIDIwKSAodW5kby10cmVlLWlkMzE2IC4gLTIyKSAodW5kby10cmVl LWlkMzE3IC4gLTIyKSAodW5kby10cmVlLWlkMzE4IC4gLTQpICh1bmRvLXRyZWUtaWQzMTkg LiAyMCkgKHVuZG8tdHJlZS1pZDMyMCAuIDIwKSAodW5kby10cmVlLWlkMzIxIC4gLTIyKSAo dW5kby10cmVlLWlkMzIyIC4gMjApICh1bmRvLXRyZWUtaWQzMjMgLiAtNDIpICh1bmRvLXRy ZWUtaWQzMjQgLiAxKSAodW5kby10cmVlLWlkMzI1IC4gLTQwKSAodW5kby10cmVlLWlkMzI2 IC4gLTQxKSAodW5kby10cmVlLWlkMzI3IC4gLTQwKSAodW5kby10cmVlLWlkMzI4IC4gLTQx KSAodW5kby10cmVlLWlkMzI5IC4gLTQwKSAodW5kby10cmVlLWlkMzMwIC4gLTQxKSAodW5k by10cmVlLWlkMzMxIC4gLTQwKSAodW5kby10cmVlLWlkMzMyIC4gLTQxKSAodW5kby10cmVl LWlkMzMzIC4gLTQwKSAodW5kby10cmVlLWlkMzM0IC4gLTQxKSAodW5kby10cmVlLWlkMzM1 IC4gLTQwKSAodW5kby10cmVlLWlkMzM2IC4gLTQxKSAodW5kby10cmVlLWlkMzM3IC4gLTM5 KSAodW5kby10cmVlLWlkMzM4IC4gLTQwKSAodW5kby10cmVlLWlkMzM5IC4gLTE0KSAodW5k by10cmVlLWlkMzQwIC4gLTE1KSAodW5kby10cmVlLWlkMzQxIC4gLTkpICh1bmRvLXRyZWUt aWQzNDIgLiAtMTApICh1bmRvLXRyZWUtaWQzNDMgLiAzMykgKHVuZG8tdHJlZS1pZDM0NCAu IC0xMCkgKHVuZG8tdHJlZS1pZDM0NSAuIDIpICh1bmRvLXRyZWUtaWQzNDYgLiAtNDEpICh1 bmRvLXRyZWUtaWQzNDcgLiA0MikgKHVuZG8tdHJlZS1pZDM0OCAuIDEpICh1bmRvLXRyZWUt aWQzNDkgLiAtNDEpICh1bmRvLXRyZWUtaWQzNTAgLiAzOCkgKHVuZG8tdHJlZS1pZDM1MSAu IDQyKSA0NDgzKSBuaWwgKDIzMzQ1IDEwMjM2IDYxMDU5NyA0ODUwMDApIDAgbmlsXSkgKCgj KCIgICAgcHJpbnQodHlwZShtYXhfbHBfZG9taW5hbnRfcmVzb3VyY2UpKQoiIDAgNCAoZm9u dGlmaWVkIHQpIDQgOSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2sta2V5d29yZC1mYWNl KSA5IDEwIChmb250aWZpZWQgdCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1m YWNlKSkgMTAgMTQgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkg MTQgMTUgKGZvbnRpZmllZCB0IGZhY2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0yLWZh Y2UpKSAxNSAzOSAoZm9udGlmaWVkIHQpIDM5IDQwIChmb250aWZpZWQgdCBmYWNlIChyYWlu Ym93LWRlbGltaXRlcnMtZGVwdGgtMi1mYWNlKSkgNDAgNDEgKGZvbnRpZmllZCB0IGZhY2Ug KHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0xLWZhY2UpKSA0MSA0MiAoZm9udGlmaWVkIHQp KSAuIDQ0NzkpICh1bmRvLXRyZWUtaWQzNTIgLiAtNDIpICh1bmRvLXRyZWUtaWQzNTMgLiAt NDEpICh1bmRvLXRyZWUtaWQzNTQgLiAtNDIpICh1bmRvLXRyZWUtaWQzNTUgLiAxKSA0NTIw ICh0IDIzMzQ1IDEwMjM0IDIxODM5OSA3NTMwMDApKSBuaWwgKDIzMzQ1IDEwMjM2IDYxMDYy MiAzODEwMDApIDAgbmlsXSkgKCg0Nzc1IC4gNDc3NikpIG5pbCAoMjMzNDUgMTAyMzQgMjEx NDkwIDQ3MTAwMCkgMCBuaWxdKSAoKCMoIikiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSAocmFp bmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSkpKSAuIDQ3MTUpICh1bmRvLXRyZWUtaWQy NjEgLiAxKSAodW5kby10cmVlLWlkMjYyIC4gMSkgKHVuZG8tdHJlZS1pZDI2MyAuIC0xKSAo dW5kby10cmVlLWlkMjY0IC4gLTEpICh1bmRvLXRyZWUtaWQyNjUgLiAtMSkgKHVuZG8tdHJl ZS1pZDI2NiAuIDEpICh1bmRvLXRyZWUtaWQyNjcgLiAxKSAodW5kby10cmVlLWlkMjY4IC4g MSkgKHVuZG8tdHJlZS1pZDI2OSAuIDEpICh1bmRvLXRyZWUtaWQyNzAgLiAtMSkpIG5pbCAo MjMzNDUgMTAyMzQgMjExNTMwIDExNjAwMCkgMCBuaWxdKSAoKDQ3MTQgLiA0NzE2KSAoIygi KCIgMCAxIChmb250aWZpZWQgbmlsKSkgLiAtNDcxNCkgKHVuZG8tdHJlZS1pZDI3MSAuIC0x KSAodW5kby10cmVlLWlkMjcyIC4gLTEpICh1bmRvLXRyZWUtaWQyNzMgLiAtMSkgKDQ3MTQg LiA0NzE1KSkgbmlsICgyMzM0NSAxMDIzNCAyMTE1NDEgNDMwMDAwKSAwIG5pbF0pICg0NzY4 KSBuaWwgKDIzMzQ1IDEwMjM0IDIxMTU0NCA5ODUwMDApIDAgbmlsXSkgKCg0NjY0IC4gNDY2 NSkpIG5pbCAoMjMzNDUgMTAyMzQgMjExNTQ3IDEzNTAwMCkgMCBuaWxdKSAoKCMoIikiIDAg MSAoZm9udGlmaWVkIHQgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRoLTItZmFjZSkp KSAuIDQ2MTIpICh1bmRvLXRyZWUtaWQyNzQgLiAxKSAodW5kby10cmVlLWlkMjc1IC4gMSkg KHVuZG8tdHJlZS1pZDI3NiAuIC0xKSAodW5kby10cmVlLWlkMjc3IC4gLTEpICh1bmRvLXRy ZWUtaWQyNzggLiAtMSkgKHVuZG8tdHJlZS1pZDI3OSAuIDEpICh1bmRvLXRyZWUtaWQyODAg LiAxKSAodW5kby10cmVlLWlkMjgxIC4gMSkgKHVuZG8tdHJlZS1pZDI4MiAuIDEpICh1bmRv LXRyZWUtaWQyODMgLiAxKSAodW5kby10cmVlLWlkMjg0IC4gMSkgKHVuZG8tdHJlZS1pZDI4 NSAuIC0xKSAodW5kby10cmVlLWlkMjg2IC4gLTEpKSBuaWwgKDIzMzQ1IDEwMjM0IDIxMTU2 OCA1MzYwMDApIDAgbmlsXSkgKCg0NjExIC4gNDYxMykgKCMoIigiIDAgMSAoZm9udGlmaWVk IG5pbCkpIC4gLTQ2MTEpICh1bmRvLXRyZWUtaWQyODcgLiAtMSkgKHVuZG8tdHJlZS1pZDI4 OCAuIC0xKSAodW5kby10cmVlLWlkMjg5IC4gLTEpICg0NjExIC4gNDYxMikgKHQgMjMzNDUg MTAxNjYgOTQ4NjQwIDIzOTAwMCkpIG5pbCAoMjMzNDUgMTAyMzQgMjExNTc4IDMwMzAwMCkg MCBuaWxdKSAoKDQ1MzcgLiA0NTM5KSkgbmlsICgyMzM0NSAxMDE2NiA5NDI3NDMgMzI3MDAw KSAwIG5pbF0pICgoIygieCIgMCAxIChmb250aWZpZWQgdCkpIC4gNDUzNykgKHVuZG8tdHJl ZS1pZDI1NCAuIDEpICh1bmRvLXRyZWUtaWQyNTUgLiAxKSAodW5kby10cmVlLWlkMjU2IC4g MSkpIG5pbCAoMjMzNDUgMTAxNjYgOTQyNzc1IDQwNzAwMCkgMCBuaWxdKSAoKCMoImEiIDAg MSAoZm9udGlmaWVkIHQpKSAuIDQ1MzcpICh1bmRvLXRyZWUtaWQyNTcgLiAxKSkgbmlsICgy MzM0NSAxMDE2NiA5NDI3ODEgMTU1MDAwKSAwIG5pbF0pICgobmlsIHJlYXItbm9uc3RpY2t5 IG5pbCA0NTI0IC4gNDUyNSkgKCMoIgoiIDAgMSAoZm9udGlmaWVkIG5pbCkpIC4gLTQ1NjIp ICh1bmRvLXRyZWUtaWQyNTggLiAtMSkgKDQ1MjAgLiA0NTYzKSA0NTE4KSBuaWwgKDIzMzQ1 IDEwMTY2IDk0Mjc4NyA4MTAwMDApIDAgbmlsXSkgKCg0NDk0IC4gNDUxOCkgKCMoIm1heF9s cF9kb21pIiAwIDExIChmb250aWZpZWQgdCkpIC4gLTQ0OTQpICh1bmRvLXRyZWUtaWQyNTkg LiAtMTEpICh1bmRvLXRyZWUtaWQyNjAgLiAtMTEpIDQ1MDUpIG5pbCAoMjMzNDUgMTAxNjYg OTQyNzk0IDUxMDAwMCkgMCBuaWxdKSAoKDQ1MDQgLiA0NTA1KSkgbmlsICgyMzM0NSAxMDE2 NiA5NDI3OTcgNTAwMDAwKSAwIG5pbF0pICgoNDQ5NCAuIDQ1MDQpICg0NDkzIC4gNDQ5NSkg KCMoIigiIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlIGZvbnQtbG9jay1idWlsdGluLWZhY2Up KSAuIC00NDkzKSAoNDQ4OSAuIDQ0OTQpICg0NDg4IC4gNDQ5MCkgKCMoIigiIDAgMSAoZm9u dGlmaWVkIG5pbCBmYWNlIGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSAuIC00NDg4KSAoNDQ4 MyAuIDQ0ODkpKSBuaWwgKDIzMzQ1IDEwMTY2IDk0MjgwMyA4OTUwMDApIDAgbmlsXSkgKCg0 NDc4IC4gNDQ4MykgKHQgMjMzNDUgMTAwNDggNjg4NzE3IDE2NTAwMCkgNDQ2NSkgbmlsICgy MzM0NSAxMDE2NiA5NDI4MDcgOTk0MDAwKSAwIG5pbF0pICgoNDU5OCAuIDQ2MDYpICgjKCJm IiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkgLiAtNDU5 OCkgKHVuZG8tdHJlZS1pZDI1MSAuIC0xKSAoNDU5NyAuIDQ1OTkpKSBuaWwgKDIzMzQ1IDEw MDQ4IDY3MjQyNCA5MDQwMDApIDAgbmlsXSkgKCg0NDkzIC4gNDUwMSkgKCMoImYiIDAgMSAo Zm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stc3RyaW5nLWZhY2UpKSAuIC00NDkzKSAodW5k by10cmVlLWlkMjUyIC4gLTEpICh1bmRvLXRyZWUtaWQyNTMgLiAtMSkgKDQ0OTIgLiA0NDk0 KSAodCAyMzM0NSAxMDAzOSA3MTk5MSA1MTEwMDApKSBuaWwgKDIzMzQ1IDEwMDQ4IDY3MjQ1 NSAxNjkwMDApIDAgbmlsXSkgKCgjKCIgIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1s b2NrLXN0cmluZy1mYWNlKSkgLiA0NTg5KSAodW5kby10cmVlLWlkMTI4IC4gMSkgKHVuZG8t dHJlZS1pZDEyOSAuIDEpICh1bmRvLXRyZWUtaWQxMzAgLiAxKSAodW5kby10cmVlLWlkMTMx IC4gMSkgKHVuZG8tdHJlZS1pZDEzMiAuIDEpICh1bmRvLXRyZWUtaWQxMzMgLiAxKSAodW5k by10cmVlLWlkMTM0IC4gMSkgKHVuZG8tdHJlZS1pZDEzNSAuIDEpICh1bmRvLXRyZWUtaWQx MzYgLiAxKSAodW5kby10cmVlLWlkMTM3IC4gMSkgKHVuZG8tdHJlZS1pZDEzOCAuIDEpICh1 bmRvLXRyZWUtaWQxMzkgLiAxKSAodW5kby10cmVlLWlkMTQwIC4gMSkgKHVuZG8tdHJlZS1p ZDE0MSAuIDEpICh1bmRvLXRyZWUtaWQxNDIgLiAxKSAodW5kby10cmVlLWlkMTQzIC4gMSkg KHVuZG8tdHJlZS1pZDE0NCAuIDEpICh1bmRvLXRyZWUtaWQxNDUgLiAxKSAodW5kby10cmVl LWlkMTQ2IC4gMSkgKHVuZG8tdHJlZS1pZDE0NyAuIDEpICh1bmRvLXRyZWUtaWQxNDggLiAx KSAodW5kby10cmVlLWlkMTQ5IC4gMSkgKHVuZG8tdHJlZS1pZDE1MCAuIDEpICh1bmRvLXRy ZWUtaWQxNTEgLiAxKSAodW5kby10cmVlLWlkMTUyIC4gMSkgKHVuZG8tdHJlZS1pZDE1MyAu IDEpICh1bmRvLXRyZWUtaWQxNTQgLiAxKSAodW5kby10cmVlLWlkMTU1IC4gMSkgKHVuZG8t dHJlZS1pZDE1NiAuIDEpKSBuaWwgKDIzMzQ1IDEwMDM5IDY0MDUwIDc4MDAwMCkgMCBuaWxd KSAoKCMoIiAiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stc3RyaW5nLWZhY2Up KSAuIDQ1ODkpICh1bmRvLXRyZWUtaWQxNTcgLiAxKSAodW5kby10cmVlLWlkMTU4IC4gMSkg KHVuZG8tdHJlZS1pZDE1OSAuIDEpICh1bmRvLXRyZWUtaWQxNjAgLiAxKSAodW5kby10cmVl LWlkMTYxIC4gMSkgKHVuZG8tdHJlZS1pZDE2MiAuIDEpICh1bmRvLXRyZWUtaWQxNjMgLiAx KSAodW5kby10cmVlLWlkMTY0IC4gMSkgKHVuZG8tdHJlZS1pZDE2NSAuIDEpICh1bmRvLXRy ZWUtaWQxNjYgLiAxKSAodW5kby10cmVlLWlkMTY3IC4gMSkgKHVuZG8tdHJlZS1pZDE2OCAu IDEpICh1bmRvLXRyZWUtaWQxNjkgLiAxKSAodW5kby10cmVlLWlkMTcwIC4gMSkgKHVuZG8t dHJlZS1pZDE3MSAuIDEpICh1bmRvLXRyZWUtaWQxNzIgLiAxKSAodW5kby10cmVlLWlkMTcz IC4gMSkgKHVuZG8tdHJlZS1pZDE3NCAuIDEpICh1bmRvLXRyZWUtaWQxNzUgLiAxKSAodW5k by10cmVlLWlkMTc2IC4gMSkgKHVuZG8tdHJlZS1pZDE3NyAuIDEpICh1bmRvLXRyZWUtaWQx NzggLiAxKSAodW5kby10cmVlLWlkMTc5IC4gMSkgKHVuZG8tdHJlZS1pZDE4MCAuIDEpICh1 bmRvLXRyZWUtaWQxODEgLiAxKSAodW5kby10cmVlLWlkMTgyIC4gMSkgKHVuZG8tdHJlZS1p ZDE4MyAuIDEpKSBuaWwgKDIzMzQ1IDEwMDM5IDY0MDkwIDE2NjAwMCkgMCBuaWxdKSAoKCMo IiAiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stc3RyaW5nLWZhY2UpKSAuIDQ1 ODkpICh1bmRvLXRyZWUtaWQxODQgLiAxKSAodW5kby10cmVlLWlkMTg1IC4gMSkgKHVuZG8t dHJlZS1pZDE4NiAuIDEpICh1bmRvLXRyZWUtaWQxODcgLiAxKSAodW5kby10cmVlLWlkMTg4 IC4gMSkgKHVuZG8tdHJlZS1pZDE4OSAuIDEpICh1bmRvLXRyZWUtaWQxOTAgLiAxKSAodW5k by10cmVlLWlkMTkxIC4gMSkgKHVuZG8tdHJlZS1pZDE5MiAuIDEpICh1bmRvLXRyZWUtaWQx OTMgLiAxKSAodW5kby10cmVlLWlkMTk0IC4gMSkgKHVuZG8tdHJlZS1pZDE5NSAuIDEpICh1 bmRvLXRyZWUtaWQxOTYgLiAxKSAodW5kby10cmVlLWlkMTk3IC4gMSkgKHVuZG8tdHJlZS1p ZDE5OCAuIDEpICh1bmRvLXRyZWUtaWQxOTkgLiAxKSAodW5kby10cmVlLWlkMjAwIC4gMSkg KHVuZG8tdHJlZS1pZDIwMSAuIDEpICh1bmRvLXRyZWUtaWQyMDIgLiAxKSAodW5kby10cmVl LWlkMjAzIC4gMSkgKHVuZG8tdHJlZS1pZDIwNCAuIDEpICh1bmRvLXRyZWUtaWQyMDUgLiAx KSAodW5kby10cmVlLWlkMjA2IC4gMSkgKHVuZG8tdHJlZS1pZDIwNyAuIDEpICh1bmRvLXRy ZWUtaWQyMDggLiAxKSkgbmlsICgyMzM0NSAxMDAzOSA2NDI5NyA2MTIwMDApIDAgbmlsXSkg KCgjKCIgIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkg LiA0NTg5KSAodW5kby10cmVlLWlkMjA5IC4gMSkgKHVuZG8tdHJlZS1pZDIxMCAuIDEpICh1 bmRvLXRyZWUtaWQyMTEgLiAxKSAodW5kby10cmVlLWlkMjEyIC4gMSkgKHVuZG8tdHJlZS1p ZDIxMyAuIDEpICh1bmRvLXRyZWUtaWQyMTQgLiAxKSAodW5kby10cmVlLWlkMjE1IC4gMSkg KHVuZG8tdHJlZS1pZDIxNiAuIDEpICh1bmRvLXRyZWUtaWQyMTcgLiAxKSAodW5kby10cmVl LWlkMjE4IC4gMSkgKHVuZG8tdHJlZS1pZDIxOSAuIDEpICh1bmRvLXRyZWUtaWQyMjAgLiAx KSAodW5kby10cmVlLWlkMjIxIC4gMSkgKHVuZG8tdHJlZS1pZDIyMiAuIDEpICh1bmRvLXRy ZWUtaWQyMjMgLiAxKSAodW5kby10cmVlLWlkMjI0IC4gMSkgKHVuZG8tdHJlZS1pZDIyNSAu IDEpICh1bmRvLXRyZWUtaWQyMjYgLiAxKSAodW5kby10cmVlLWlkMjI3IC4gMSkgKHVuZG8t dHJlZS1pZDIyOCAuIDEpICh1bmRvLXRyZWUtaWQyMjkgLiAxKSAodW5kby10cmVlLWlkMjMw IC4gMSkgKHVuZG8tdHJlZS1pZDIzMSAuIDEpKSBuaWwgKDIzMzQ1IDEwMDM5IDY0MzI4IDI0 MDAwMCkgMCBuaWxdKSAoKDQ1ODQgLiA0NTg5KSkgbmlsICgyMzM0NSAxMDAzOSA2NDMzMyA3 MzAwMCkgMCBuaWxdKSAoKDQ1ODIgLiA0NTg0KSkgbmlsICgyMzM0NSAxMDAzOSA2NDMzNSA5 NjkwMDApIDAgbmlsXSkgKCgjKCI6IiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1sb2Nr LXN0cmluZy1mYWNlKSkgLiA0NTgyKSAodW5kby10cmVlLWlkMjMyIC4gMSkgKHVuZG8tdHJl ZS1pZDIzMyAuIDEpICh1bmRvLXRyZWUtaWQyMzQgLiAxKSAodW5kby10cmVlLWlkMjM1IC4g MSkgKHVuZG8tdHJlZS1pZDIzNiAuIDEpICh1bmRvLXRyZWUtaWQyMzcgLiAxKSAodW5kby10 cmVlLWlkMjM4IC4gMSkgKHVuZG8tdHJlZS1pZDIzOSAuIDEpICh1bmRvLXRyZWUtaWQyNDAg LiAxKSkgbmlsICgyMzM0NSAxMDAzOSA2NDM0OCA0MzMwMDApIDAgbmlsXSkgKCgjKCJwIiAw IDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkgLiA0NTgyKSAo dW5kby10cmVlLWlkMjQxIC4gMSkgKHVuZG8tdHJlZS1pZDI0MiAuIDEpICh1bmRvLXRyZWUt aWQyNDMgLiAxKSAodW5kby10cmVlLWlkMjQ0IC4gMSkgKHVuZG8tdHJlZS1pZDI0NSAuIDEp ICh1bmRvLXRyZWUtaWQyNDYgLiAxKSAodW5kby10cmVlLWlkMjQ3IC4gMSkpIG5pbCAoMjMz NDUgMTAwMzkgNjQzNTggNzkwMDApIDAgbmlsXSkgKCgjKCJsIiAwIDEgKGZvbnRpZmllZCB0 IGZhY2UgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkgLiA0NTgyKSAodW5kby10cmVlLWlkMjQ4 IC4gMSkgKHVuZG8tdHJlZS1pZDI0OSAuIDEpICh1bmRvLXRyZWUtaWQyNTAgLiAxKSAodCAy MzM0NSAxMDAyOSA2Njg3NDMgODgwMDAwKSkgbmlsICgyMzM0NSAxMDAzOSA2NDM2MyA5MzAw MDApIDAgbmlsXSkgKCg0NjAwIC4gNDYxMCkgKCMoIiAiIDAgMSAoZm9udGlmaWVkIG5pbCkp IC4gNDYwMCkgKDQ1OTkgLiA0NjAwKSkgbmlsICgyMzM0NSAxMDAyOSA2NTQ2NjggMzU2MDAw KSAwIG5pbF0pICgoIygiICIgMCAxIChmb250aWZpZWQgdCkpIC4gNDUwNykgKHVuZG8tdHJl ZS1pZDkxIC4gLTEpICh1bmRvLXRyZWUtaWQ5MiAuIC0xKSkgbmlsICgyMzM0NSAxMDAyOSA2 NTQ3MTQgODY4MDAwKSAwIG5pbF0pICgoIygiXFwiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQ1 MDgpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NDcyMyA2NTMwMDApIDAgbmlsXSkgKCg0NTA5IC4g NDUyMCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU0NzI5IDY3MjAwMCkgMCBuaWxdKSAoKDQ1MDgg LiA0NTA5KSkgbmlsICgyMzM0NSAxMDAyOSA2NTQ3MzQgNDQzMDAwKSAwIG5pbF0pICgoNDYy NSAuIDQ2MzEpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NDczOSA1NDQwMDApIDAgbmlsXSkgKCgj KCJwIiAwIDEgKGZvbnRpZmllZCB0KSkgLiA0NjI1KSkgbmlsICgyMzM0NSAxMDAyOSA2NTQ3 NDQgNzQxMDAwKSAwIG5pbF0pICgoIygibCIgMCAxIChmb250aWZpZWQgdCkpIC4gNDYyNSkp IG5pbCAoMjMzNDUgMTAwMjkgNjU0NzQ5IDY5ODAwMCkgMCBuaWxdKSAoKDQ1OTQgLiA0NjAw KSkgbmlsICgyMzM0NSAxMDAyOSA2NTQ3NTYgMTIwMDApIDAgbmlsXSkgKCgjKCJwIiAwIDEg KGZvbnRpZmllZCB0KSkgLiA0NTk0KSkgbmlsICgyMzM0NSAxMDAyOSA2NTQ3NjAgODk4MDAw KSAwIG5pbF0pICgoIygibCIgMCAxIChmb250aWZpZWQgdCkpIC4gNDU5NCkpIG5pbCAoMjMz NDUgMTAwMjkgNjU0NzY2IDE1MDAwMCkgMCBuaWxdKSAoKCMoIgoiIDAgMSAoZm9udGlmaWVk IHQpKSAuIDQ1NjEpICh1bmRvLXRyZWUtaWQ5MyAuIC0xKSAodW5kby10cmVlLWlkOTQgLiAt MSkpIG5pbCAoMjMzNDUgMTAwMjkgNjU0Nzc5IDM3NjAwMCkgMCBuaWxdKSAoKG5pbCByZWFy LW5vbnN0aWNreSBuaWwgNDU2NSAuIDQ1NjYpICgjKCIKIiAwIDEgKGZvbnRpZmllZCBuaWwp KSAuIC00NjQzKSAoNDU2MSAuIDQ2NDQpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NDc4OCAxNDAw MDApIDAgbmlsXSkgKCgjKCIgICAgIiAwIDQgKGZvbnRpZmllZCB0KSkgLiAtNDU2MSkgKHVu ZG8tdHJlZS1pZDk1IC4gLTQpIDQ1NjUpIG5pbCAoMjMzNDUgMTAwMjkgNjU0ODU0IDIzODAw MCkgMCBuaWxdKSAoKDQ1NjAgLiA0NTY1KSA0NTU5KSBuaWwgKDIzMzQ1IDEwMDI5IDY1NDg2 MiA3MTAwMCkgMCBuaWxdKSAoKDQ1MzUgLiA0NTU5KSAoIygibWluX2xwIiAwIDYgKGZvbnRp ZmllZCB0KSkgLiAtNDUzNSkgKHVuZG8tdHJlZS1pZDk2IC4gLTYpIDQ1NDEpIG5pbCAoMjMz NDUgMTAwMjkgNjU0ODc1IDcyMjAwMCkgMCBuaWxdKSAoKDQ1MzIgLiA0NTQxKSkgbmlsICgy MzM0NSAxMDAyOSA2NTQ4ODIgOTIzMDAwKSAwIG5pbF0pICgoIygiICIgMCAxIChmb250aWZp ZWQgdCkpIC4gLTQ1MzIpICh1bmRvLXRyZWUtaWQ5NyAuIC0xKSAoIygiLyIgMCAxIChmb250 aWZpZWQgdCkpIC4gLTQ1MzMpICh1bmRvLXRyZWUtaWQ5OCAuIC0xKSAoIygiICIgMCAxIChm b250aWZpZWQgdCkpIC4gLTQ1MzQpICh1bmRvLXRyZWUtaWQ5OSAuIC0xKSA0NTM1KSBuaWwg KDIzMzQ1IDEwMDI5IDY1NDkwMSAzMzEwMDApIDAgbmlsXSkgKCg0NTMyIC4gNDUzNSkpIG5p bCAoMjMzNDUgMTAwMjkgNjU0OTExIDQzMDAwKSAwIG5pbF0pICgoNDUwOCAuIDQ1MzIpICgj KCJtYXhfbHBfZCIgMCA4IChmb250aWZpZWQgdCkpIC4gLTQ1MDgpICh1bmRvLXRyZWUtaWQx MDAgLiAtOCkgNDUxNikgbmlsICgyMzM0NSAxMDAyOSA2NTQ5MjIgODMwMDApIDAgbmlsXSkg KCg0NTE0IC4gNDUxNikpIG5pbCAoMjMzNDUgMTAwMjkgNjU0OTI5IDQ0MDAwKSAwIG5pbF0p ICgoNDUwOCAuIDQ1MTQpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NDkzNCAxOTYwMDApIDAgbmls XSkgKCgjKCIoIiAwIDEgKGZvbnRpZmllZCBuaWwgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJz LWRlcHRoLTItZmFjZSkpKSAuIC00NTA4KSAodW5kby10cmVlLWlkMTAxIC4gLTEpICh1bmRv LXRyZWUtaWQxMDIgLiAxKSAodW5kby10cmVlLWlkMTAzIC4gLTEpICh1bmRvLXRyZWUtaWQx MDQgLiAtMSkgKCMoIikiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSAocmFpbmJvdy1kZWxpbWl0 ZXJzLWRlcHRoLTItZmFjZSkpKSAuIDQ1MDkpICh1bmRvLXRyZWUtaWQxMDUgLiAxKSAodW5k by10cmVlLWlkMTA2IC4gLTEpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTAxNiAxOTYwMDApIDAg bmlsXSkgKCg0NTA4IC4gNDUxMCkgKCMoIigiIDAgMSAoZm9udGlmaWVkIG5pbCkpIC4gLTQ1 MDgpICg0NTA1IC4gNDUwOSkgKCMoIlwiIiAwIDEgKGZvbnRpZmllZCBuaWwgZmFjZSBmb250 LWxvY2stc3RyaW5nLWZhY2Ugc3ludGF4LXRhYmxlICMyPSgxNSkpKSAuIDQ1MDUpICg0NTAz IC4gNDUwNSkgKCMoImYiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxvY2stc3RyaW5n LWZhY2UpKSAuIC00NTAzKSAodW5kby10cmVlLWlkMTA3IC4gLTEpICg0NDk4IC4gNDUwNCkp IG5pbCAoMjMzNDUgMTAwMjkgNjU1MDY5IDE2NzAwMCkgMCBuaWxdKSAoKDQ0OTAgLiA0NDk4 KSAoNDQ4OSAuIDQ0OTEpICgjKCJcIiIgMCAxIChmb250aWZpZWQgbmlsIGZhY2UgKHJhaW5i b3ctZGVsaW1pdGVycy1kZXB0aC0xLWZhY2UpIHN5bnRheC10YWJsZSAjMiMpKSAuIC00NDg5 KSAoNDQ4OSAuIDQ0OTApICg0NDg4IC4gNDQ5MCkgKCMoIigiIDAgMSAoZm9udGlmaWVkIG5p bCBmYWNlIGZvbnQtbG9jay1rZXl3b3JkLWZhY2UpKSAuIC00NDg4KSAoNDQ4OCAuIDQ0ODkp KSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTA4OSAzMjgwMDApIDAgbmlsXSkgKCgjKCIgIiAwIDEg KGZvbnRpZmllZCB0KSkgLiAtNDQ4OCkgKHVuZG8tdHJlZS1pZDEwOCAuIC0xKSAodW5kby10 cmVlLWlkMTA5IC4gLTEpICh1bmRvLXRyZWUtaWQxMTAgLiAtMSkgKCMoIigiIDAgMSAoZm9u dGlmaWVkIG5pbCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlKSkpIC4g LTQ0ODkpICh1bmRvLXRyZWUtaWQxMTEgLiAtMSkgKHVuZG8tdHJlZS1pZDExMiAuIDEpICh1 bmRvLXRyZWUtaWQxMTMgLiAtMSkgKHVuZG8tdHJlZS1pZDExNCAuIC0xKSAoIygiKSIgMCAx IChmb250aWZpZWQgdCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgtMS1mYWNlKSkp IC4gNDQ5MCkgKHVuZG8tdHJlZS1pZDExNSAuIDEpICh1bmRvLXRyZWUtaWQxMTYgLiAtMSkg KCMoIlwiIiAwIDEgKGZvbnRpZmllZCBuaWwgc3ludGF4LXRhYmxlICMyIyBmYWNlIGZvbnQt bG9jay1zdHJpbmctZmFjZSkpIC4gLTQ0OTApICh1bmRvLXRyZWUtaWQxMTcgLiAtMSkgKCMo IlwiIiAwIDEgKGZvbnRpZmllZCB0IHN5bnRheC10YWJsZSAjMiMgZmFjZSBmb250LWxvY2st c3RyaW5nLWZhY2UpKSAuIDQ0OTEpICgjKCJsIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9u dC1sb2NrLXN0cmluZy1mYWNlKSkgLiAtNDQ5MSkgKHVuZG8tdHJlZS1pZDExOCAuIC0xKSAo IygicCIgMCAxIChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9jay1zdHJpbmctZmFjZSkpIC4g LTQ0OTIpICh1bmRvLXRyZWUtaWQxMTkgLiAtMSkgNDQ5MykgbmlsICgyMzM0NSAxMDAyOSA2 NTUxNDMgNzg4MDAwKSAwIG5pbF0pICgoNDQ5MSAuIDQ0OTMpICg0NDkwIC4gNDQ5MikgKCMo IlwiIiAwIDEgKGZvbnRpZmllZCBuaWwgZmFjZSAocmFpbmJvdy1kZWxpbWl0ZXJzLWRlcHRo LTEtZmFjZSkgc3ludGF4LXRhYmxlICMyIykpIC4gLTQ0OTApICg0NDkwIC4gNDQ5MSkgKDQ0 ODkgLiA0NDkxKSAoIygiKCIgMCAxIChmb250aWZpZWQgbmlsKSkgLiAtNDQ4OSkgKDQ0ODMg LiA0NDkwKSkgbmlsICgyMzM0NSAxMDAyOSA2NTUxNjUgNDgzMDAwKSAwIG5pbF0pICgoNDQ3 OCAuIDQ0ODMpIDQ0NjUpIG5pbCAoMjMzNDUgMTAwMjkgNjU1MTc0IDc4MDAwKSAwIG5pbF0p ICgobmlsIHJlYXItbm9uc3RpY2t5IG5pbCA0NDgyIC4gNDQ4MykgKCMoIgoiIDAgMSAoZm9u dGlmaWVkIG5pbCkpIC4gLTQ0OTYpICg0NDc4IC4gNDQ5NykpIG5pbCAoMjMzNDUgMTAwMjkg NjU1MTgxIDIyOTAwMCkgMCBuaWxdKSAoKDQ0MzAgLiA0NDMxKSAoIygiICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAwIDM5IChmb250aWZpZWQgbmlsKSkgLiA0 NDMwKSAoIygiCiIgMCAxIChmb250aWZpZWQgdCkpIC4gLTQ0MzApICh1bmRvLXRyZWUtaWQx MjAgLiAtMSkgNDQwMSkgbmlsICgyMzM0NSAxMDAyOSA2NTUxOTMgOTk4MDAwKSAwIG5pbF0p ICgoNDM4OCAuIDQ0MDEpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTIwMSA3NzYwMDApIDAgbmls XSkgKCg0Mzg3IC4gNDM4OCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1MjA2IDM1MjAwMCkgMCBu aWxdKSAoKDQzMjEgLiA0MzIyKSAoIygiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIiAwIDM5IChmb250aWZpZWQgbmlsKSkgLiA0MzIxKSAoIygiCiIgMCAxIChm b250aWZpZWQgdCkpIC4gLTQzMjEpICh1bmRvLXRyZWUtaWQxMjEgLiAtMSkgNDI5Mikgbmls ICgyMzM0NSAxMDAyOSA2NTUyMjcgMzc1MDAwKSAwIG5pbF0pICgoNDI3OSAuIDQyOTIpKSBu aWwgKDIzMzQ1IDEwMDI5IDY1NTIzNCA0NTEwMDApIDAgbmlsXSkgKCg0Mjc4IC4gNDI3OSkp IG5pbCAoMjMzNDUgMTAwMjkgNjU1MjM5IDE3MjAwMCkgMCBuaWxdKSAoKDQyMDggLiA0MjA5 KSAoIygiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgMCA0 MyAoZm9udGlmaWVkIG5pbCkpIC4gNDIwOCkgKCMoIgoiIDAgMSAoZm9udGlmaWVkIHQpKSAu IC00MjA4KSAodW5kby10cmVlLWlkMTIyIC4gLTEpIDQxNzUpIG5pbCAoMjMzNDUgMTAwMjkg NjU1MjUwIDk0OTAwMCkgMCBuaWxdKSAoKDQxNjIgLiA0MTc1KSkgbmlsICgyMzM0NSAxMDAy OSA2NTUyNTggMjAwMDApIDAgbmlsXSkgKCg0MTYxIC4gNDE2MikpIG5pbCAoMjMzNDUgMTAw MjkgNjU1MjYyIDU0MTAwMCkgMCBuaWxdKSAoKDQwODcgLiA0MDg4KSAoIygiICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgMCA0MyAoZm9udGlmaWVkIG5p bCkpIC4gNDA4NykgKCMoIgoiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC00MDg3KSAodW5kby10 cmVlLWlkMTIzIC4gLTEpIDQwNTQpIG5pbCAoMjMzNDUgMTAwMjkgNjU1MjczIDU3NjAwMCkg MCBuaWxdKSAoKDQwNDEgLiA0MDU0KSkgbmlsICgyMzM0NSAxMDAyOSA2NTUyODAgMzQxMDAw KSAwIG5pbF0pICgoNDA0MCAuIDQwNDEpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTI4NSA1NTgw MDApIDAgbmlsXSkgKCg0NDc4IC4gNDQ4MCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1MjkxIDU4 NzAwMCkgMCBuaWxdKSAoKCMoInkiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQ0NzgpKSBuaWwg KDIzMzQ1IDEwMDI5IDY1NTI5NiA0ODgwMDApIDAgbmlsXSkgKCgjKCJkIiAwIDEgKGZvbnRp ZmllZCB0KSkgLiA0NDc4KSkgbmlsICgyMzM0NSAxMDAyOSA2NTUzMDEgODkxMDAwKSAwIG5p bF0pICgoIygiZSIgMCAxIChmb250aWZpZWQgdCkpIC4gNDQ3OCkpIG5pbCAoMjMzNDUgMTAw MjkgNjU1MzA3IDM4ODAwMCkgMCBuaWxdKSAoKCMoImUiIDAgMSAoZm9udGlmaWVkIHQpKSAu IDQ0NzgpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTMxMyA0MzcwMDApIDAgbmlsXSkgKCgjKCJy IiAwIDEgKGZvbnRpZmllZCB0KSkgLiA0NDc4KSkgbmlsICgyMzM0NSAxMDAyOSA2NTUzMTkg MjcxMDAwKSAwIG5pbF0pICgoIygiZyIgMCAxIChmb250aWZpZWQgdCkpIC4gNDQ3OCkpIG5p bCAoMjMzNDUgMTAwMjkgNjU1MzI0IDk0ODAwMCkgMCBuaWxdKSAoKDQzNDQgLiA0MzQ2KSkg bmlsICgyMzM0NSAxMDAyOSA2NTUzMzAgOTYyMDAwKSAwIG5pbF0pICgoIygieSIgMCAxIChm b250aWZpZWQgdCkpIC4gNDM0NCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1MzM1IDUxODAwMCkg MCBuaWxdKSAoKCMoImQiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQzNDQpKSBuaWwgKDIzMzQ1 IDEwMDI5IDY1NTM0MSAzMDEwMDApIDAgbmlsXSkgKCgjKCJlIiAwIDEgKGZvbnRpZmllZCB0 KSkgLiA0MzQ0KSkgbmlsICgyMzM0NSAxMDAyOSA2NTUzNDYgODY5MDAwKSAwIG5pbF0pICgo IygiZSIgMCAxIChmb250aWZpZWQgdCkpIC4gNDM0NCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1 MzUyIDU3NzAwMCkgMCBuaWxdKSAoKCMoInIiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQzNDQp KSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTM1NyA3NTkwMDApIDAgbmlsXSkgKCgjKCJnIiAwIDEg KGZvbnRpZmllZCB0KSkgLiA0MzQ0KSkgbmlsICgyMzM0NSAxMDAyOSA2NTUzNjIgNzYwMDAw KSAwIG5pbF0pICgoIygiICAgICIgMCA0IChmb250aWZpZWQgdCkpIC4gLTQ1NDcpIDQ1NTMp IG5pbCAoMjMzNDUgMTAwMjkgNjU1MzY4IDUzNDAwMCkgMCBuaWxdKSAoKCMoIiAgICAiIDAg NCAoZm9udGlmaWVkIHQpKSAuIC00NDA5KSA0NDE5KSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTM3 NSA0MTQwMDApIDAgbmlsXSkgKCg0NTU5IC4gNDU2MSkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1 MzgxIDIwMDApIDAgbmlsXSkgKCgjKCJ5IiAwIDEgKGZvbnRpZmllZCB0KSkgLiA0NTU5KSkg bmlsICgyMzM0NSAxMDAyOSA2NTUzODYgNTQwMDApIDAgbmlsXSkgKCgjKCJkIiAwIDEgKGZv bnRpZmllZCB0KSkgLiA0NTU5KSkgbmlsICgyMzM0NSAxMDAyOSA2NTUzOTEgODUyMDAwKSAw IG5pbF0pICgoIygiZSIgMCAxIChmb250aWZpZWQgdCkpIC4gNDU1OSkpIG5pbCAoMjMzNDUg MTAwMjkgNjU1Mzk2IDY4ODAwMCkgMCBuaWxdKSAoKCMoImUiIDAgMSAoZm9udGlmaWVkIHQp KSAuIDQ1NTkpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTQwMSA1MjQwMDApIDAgbmlsXSkgKCgj KCJyIiAwIDEgKGZvbnRpZmllZCB0KSkgLiA0NTU5KSkgbmlsICgyMzM0NSAxMDAyOSA2NTU0 MDcgNTg4MDAwKSAwIG5pbF0pICgoIygiZyIgMCAxIChmb250aWZpZWQgdCkpIC4gNDU1OSkp IG5pbCAoMjMzNDUgMTAwMjkgNjU1NDEzIDM3NjAwMCkgMCBuaWxdKSAoKDQ0MTcgLiA0NDE5 KSkgbmlsICgyMzM0NSAxMDAyOSA2NTU0MTkgMjE1MDAwKSAwIG5pbF0pICgoIygieSIgMCAx IChmb250aWZpZWQgdCkpIC4gNDQxNykpIG5pbCAoMjMzNDUgMTAwMjkgNjU1NDI0IDcxNzAw MCkgMCBuaWxdKSAoKCMoImQiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQ0MTcpKSBuaWwgKDIz MzQ1IDEwMDI5IDY1NTQyOSA5NDkwMDApIDAgbmlsXSkgKCgjKCJlIiAwIDEgKGZvbnRpZmll ZCB0KSkgLiA0NDE3KSkgbmlsICgyMzM0NSAxMDAyOSA2NTU0MzcgMTIxMDAwKSAwIG5pbF0p ICgoIygiZSIgMCAxIChmb250aWZpZWQgdCkpIC4gNDQxNykpIG5pbCAoMjMzNDUgMTAwMjkg NjU1NDQyIDc0NDAwMCkgMCBuaWxdKSAoKCMoInIiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQ0 MTcpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTQ0OCA0MTcwMDApIDAgbmlsXSkgKCgjKCJnIiAw IDEgKGZvbnRpZmllZCB0KSkgLiA0NDE3KSkgbmlsICgyMzM0NSAxMDAyOSA2NTU0NTQgMzUw MDAwKSAwIG5pbF0pICgoNDQ1OSAuIDQ0NjEpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTQ2MCAy NzkwMDApIDAgbmlsXSkgKCgjKCJ5IiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1sb2Nr LXZhcmlhYmxlLW5hbWUtZmFjZSkpIC4gNDQ1OSkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1NDY1 IDMyMDAwMCkgMCBuaWxdKSAoKCMoImQiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250LWxv Y2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiA0NDU5KSkgbmlsICgyMzM0NSAxMDAyOSA2NTU0 NzAgNDIyMDAwKSAwIG5pbF0pICgoIygiZSIgMCAxIChmb250aWZpZWQgdCBmYWNlIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDQ0NTkpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1 NTQ3NiAyNjEwMDApIDAgbmlsXSkgKCgjKCJlIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9u dC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpIC4gNDQ1OSkpIG5pbCAoMjMzNDUgMTAwMjkg NjU1NDgxIDMyNzAwMCkgMCBuaWxdKSAoKCMoInIiIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBm b250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiA0NDU5KSkgbmlsICgyMzM0NSAxMDAy OSA2NTU0ODYgMzI0MDAwKSAwIG5pbF0pICgoIygiZyIgMCAxIChmb250aWZpZWQgdCBmYWNl IGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDQ0NTkpKSBuaWwgKDIzMzQ1IDEw MDI5IDY1NTQ5MSA2ODYwMDApIDAgbmlsXSkgKCg0MzEzIC4gNDMxNSkpIG5pbCAoMjMzNDUg MTAwMjkgNjU1NDk3IDQ5NDAwMCkgMCBuaWxdKSAoKCMoInkiIDAgMSAoZm9udGlmaWVkIHQg ZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiA0MzEzKSkgbmlsICgyMzM0 NSAxMDAyOSA2NTU1MDIgNDg1MDAwKSAwIG5pbF0pICgoIygiZCIgMCAxIChmb250aWZpZWQg dCBmYWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDQzMTMpKSBuaWwgKDIz MzQ1IDEwMDI5IDY1NTUwOCA4MDAwKSAwIG5pbF0pICgoIygiZSIgMCAxIChmb250aWZpZWQg dCBmYWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDQzMTMpKSBuaWwgKDIz MzQ1IDEwMDI5IDY1NTUxMyA0NTYwMDApIDAgbmlsXSkgKCgjKCJlIiAwIDEgKGZvbnRpZmll ZCB0IGZhY2UgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpIC4gNDMxMykpIG5pbCAo MjMzNDUgMTAwMjkgNjU1NTE4IDc4MzAwMCkgMCBuaWxdKSAoKCMoInIiIDAgMSAoZm9udGlm aWVkIHQgZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiA0MzEzKSkgbmls ICgyMzM0NSAxMDAyOSA2NTU1MjQgMTY1MDAwKSAwIG5pbF0pICgoIygiZyIgMCAxIChmb250 aWZpZWQgdCBmYWNlIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDQzMTMpKSBu aWwgKDIzMzQ1IDEwMDI5IDY1NTUyOCA5NDEwMDApIDAgbmlsXSkgKChuaWwgcmVhci1ub25z dGlja3kgbmlsIDQzMDggLiA0MzA5KSAoIygiCiIgMCAxIChmb250aWZpZWQgbmlsKSkgLiAt NDYwMCkgKDQzMDAgLiA0NjAxKSA0MjcwKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTUzOCAzOTMw MDApIDAgbmlsXSkgKCg0MTk0IC4gNDE5NykpIG5pbCAoMjMzNDUgMTAwMjkgNjU1NTQ0IDg0 ODAwMCkgMCBuaWxdKSAoKCMoIngiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQxOTQpKSBuaWwg KDIzMzQ1IDEwMDI5IDY1NTU0OSA4ODkwMDApIDAgbmlsXSkgKCgjKCJhIiAwIDEgKGZvbnRp ZmllZCB0KSkgLiA0MTk0KSkgbmlsICgyMzM0NSAxMDAyOSA2NTU1NTQgNzQwMDAwKSAwIG5p bF0pICgoIygibSIgMCAxIChmb250aWZpZWQgdCkpIC4gNDE5NCkpIG5pbCAoMjMzNDUgMTAw MjkgNjU1NTYwIDQwODAwMCkgMCBuaWxdKSAoKDQxOTAgLiA0MTkzKSkgbmlsICgyMzM0NSAx MDAyOSA2NTU1NjYgODIzMDAwKSAwIG5pbF0pICgoIygieCIgMCAxIChmb250aWZpZWQgdCkp IC4gNDE5MCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1NTcyIDE3MDAwMCkgMCBuaWxdKSAoKCMo ImEiIDAgMSAoZm9udGlmaWVkIHQpKSAuIDQxOTApKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTU3 NyA5MDgwMDApIDAgbmlsXSkgKCgjKCJtIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1s b2NrLWJ1aWx0aW4tZmFjZSkpIC4gNDE5MCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1NTgyIDk4 MDAwMCkgMCBuaWxdKSAoKDQxNTkgLiA0MTYyKSkgbmlsICgyMzM0NSAxMDAyOSA2NTU1ODcg NzkxMDAwKSAwIG5pbF0pICgoIygieCIgMCAxIChmb250aWZpZWQgdCBmYWNlIGZvbnQtbG9j ay12YXJpYWJsZS1uYW1lLWZhY2UpKSAuIDQxNTkpKSBuaWwgKDIzMzQ1IDEwMDI5IDY1NTU5 MiAzMjEwMDApIDAgbmlsXSkgKCgjKCJhIiAwIDEgKGZvbnRpZmllZCB0IGZhY2UgZm9udC1s b2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpIC4gNDE1OSkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1 NTk3IDkwNDAwMCkgMCBuaWxdKSAoKCMoIm0iIDAgMSAoZm9udGlmaWVkIHQgZmFjZSBmb250 LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiA0MTU5KSkgbmlsICgyMzM0NSAxMDAyOSA2 NTU2MDMgNDAyMDAwKSAwIG5pbF0pICgobmlsIHJlYXItbm9uc3RpY2t5IG5pbCA0MTU4IC4g NDE1OSkgKCMoIgoiIDAgMSAoZm9udGlmaWVkIG5pbCkpIC4gLTQzMDApICg0MTUwIC4gNDMw MSkgNDExNykgbmlsICgyMzM0NSAxMDAyOSA2NTU2MTMgODgxMDAwKSAwIG5pbF0pICgoNDA3 NCAuIDQxMTcpICgjKCIgIiAwIDEgKGZvbnRpZmllZCBuaWwpKSAuIDQwNzQpICg0MDczIC4g NDA3NCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1NjIyIDUxMTAwMCkgMCBuaWxdKSAoKCMoIlxc IiAwIDEgKGZvbnRpZmllZCB0KSkgLiA0MDM3KSkgbmlsICgyMzM0NSAxMDAyOSA2NTU2Mjgg OTkxMDAwKSAwIG5pbF0pICgoIygiICIgMCAxIChmb250aWZpZWQgdCkpIC4gNDAzNykpIG5p bCAoMjMzNDUgMTAwMjkgNjU1NjM0IDYwNDAwMCkgMCBuaWxdKSAoKDQwMzkgLiA0MDQwKSAo IygiICAgICAgICAgICAgIiAwIDEyIChmb250aWZpZWQgbmlsKSkgLiA0MDM5KSAoIygiCiIg MCAxIChmb250aWZpZWQgdCkpIC4gLTQwMzkpICh1bmRvLXRyZWUtaWQxMjQgLiAtMSkgNDAz OCkgbmlsICgyMzM0NSAxMDAyOSA2NTU2NDcgNTI4MDAwKSAwIG5pbF0pICgoIygiXSIgMCAx IChmb250aWZpZWQgbmlsIGZhY2UgKHJhaW5ib3ctZGVsaW1pdGVycy1kZXB0aC0yLWZhY2Up KSkgLiA0MTIwKSAodW5kby10cmVlLWlkMTI1IC4gMSkgKHVuZG8tdHJlZS1pZDEyNiAuIC0x KSAoNDExOCAuIDQxMjApICg0MTE3IC4gNDExOSkgKCMoIlsiIDAgMSAoZm9udGlmaWVkIG5p bCkpIC4gLTQxMTcpICg0MTAxIC4gNDExOCkpIG5pbCAoMjMzNDUgMTAwMjkgNjU1NjY2IDk0 ODAwMCkgMCBuaWxdKSAoKCMoIi8iIDAgMSAoZm9udGlmaWVkIHQpKSAuIC00MTAxKSAodW5k by10cmVlLWlkMTI3IC4gLTEpIDQxMDIpIG5pbCAoMjMzNDUgMTAwMjkgNjU1Njc5IDQzNjAw MCkgMCBuaWxdKSAoKDQxMDEgLiA0MTAyKSkgbmlsICgyMzM0NSAxMDAyOSA2NTU2ODUgNjQw MDApIDAgbmlsXSkgKCg0MDM5IC4gNDA1MikpIG5pbCAoMjMzNDUgMTAwMjkgNjU1Njg5IDQ3 OTAwMCkgMCBuaWxdKSAoKDQwMzggLiA0MDM5KSkgbmlsICgyMzM0NSAxMDAyOSA2NTU2OTMg OTkwMDAwKSAwIG5pbF0gW25pbCBuaWwgKCg0MDczIC4gNDExNykgKCMoIiAiIDAgMSAoZm9u dGlmaWVkIHQpKSAuIDQwNzMpICh1bmRvLXRyZWUtaWQ4MiAuIC0xKSAodW5kby10cmVlLWlk ODMgLiAtMSkgNDA3NCkgKCg0MDczIC4gNDA3NCkgKCMoIgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIiAwIDQ0IChmb250aWZpZWQgdCkpIC4gNDA3Mykg KHVuZG8tdHJlZS1pZDg4IC4gLTQ0KSAodW5kby10cmVlLWlkODkgLiAtMSkgKHVuZG8tdHJl ZS1pZDkwIC4gLTQ0KSkgKDIzMzQ1IDk4MzggNTI0ODg3IDI0NzAwMCkgMCBuaWxdKSAoKCMo Il0iIDAgMSAoZm9udGlmaWVkIG5pbCBmYWNlIChyYWluYm93LWRlbGltaXRlcnMtZGVwdGgt Mi1mYWNlKSkpIC4gNDA4NykgKHVuZG8tdHJlZS1pZDg0IC4gMSkgKHVuZG8tdHJlZS1pZDg1 IC4gLTEpICh1bmRvLXRyZWUtaWQ4NiAuIC0xKSAoNDA4NSAuIDQwODcpICg0MDg0IC4gNDA4 NikgKCMoIlsiIDAgMSAoZm9udGlmaWVkIG5pbCkpIC4gLTQwODQpICh1bmRvLXRyZWUtaWQ4 NyAuIC0xKSAoNDA3NCAuIDQwODUpKSBuaWwgKDIzMzQ1IDk4MzggNTI1MTAwIDU4NjAwMCkg MCBuaWxdKSAoKDQwNDkgLiA0MDU1KSkgbmlsICgyMzM0NSA5ODM4IDUyNDkwNSAyNDcwMDAp IDAgbmlsXSkgKCg0MDQ4IC4gNDA0OSkpIG5pbCAoMjMzNDUgOTgzOCA1MjQ5MDcgNjA1MDAw KSAwIG5pbF0pICgoNDAxMyAuIDQwMjApICh0IDIzMzQ1IDk4MjEgNDkwMzQ0IDIwNjAwMCkp IG5pbCAoMjMzNDUgOTgzOCA1MjQ5MTAgNTAwMDApIDAgbmlsXSkgKCgzODI5IC4gMzgzMikp IG5pbCAoMjMzNDUgOTgyMSA0NzcxMDMgNjQ5MDAwKSAwIG5pbF0pICgoMzc5NiAuIDM3OTkp KSBuaWwgKDIzMzQ1IDk4MjEgNDc3MTI0IDc5MDAwKSAwIG5pbF0pICgoMzc1NyAuIDM3NjQp KSBuaWwgKDIzMzQ1IDk4MjEgNDc3MTMxIDY1NjAwMCkgMCBuaWxdKSAoKDM3MjAgLiAzNzI3 KSkgbmlsICgyMzM0NSA5ODIxIDQ3NzEzNyAxOTMwMDApIDAgbmlsXSkgKChuaWwgcmVhci1u b25zdGlja3kgbmlsIDM3NzcgLiAzNzc4KSAoIygiCiIgMCAxIChmb250aWZpZWQgbmlsKSkg LiAtMzgzNSkgKHVuZG8tdHJlZS1pZDcyIC4gLTEpICgzNzczIC4gMzgzNikgMzc0Nikgbmls ICgyMzM0NSA5ODIxIDQ3NzE2NSA3NjYwMDApIDAgbmlsXSkgKCgzOTc2IC4gMzk3OCkpIG5p bCAoMjMzNDUgOTgyMSA0NzcxNzQgNTEwMDAwKSAwIG5pbF0pICgoMzk1NSAuIDM5NzYpICgj KCJtYXhfZG9taSIgMCA4IChmb250aWZpZWQgdCkpIC4gLTM5NTUpICh1bmRvLXRyZWUtaWQ3 MyAuIC04KSAzOTYzKSBuaWwgKDIzMzQ1IDk4MjEgNDc3MTg2IDQwMTAwMCkgMCBuaWxdKSAo KDM5NTcgLiAzOTYzKSkgbmlsICgyMzM0NSA5ODIxIDQ3NzE5MyAzMzYwMDApIDAgbmlsXSkg KCgzOTU1IC4gMzk1NykgKDM5NTQgLiAzOTU2KSAoIygiKCIgMCAxIChmb250aWZpZWQgbmls IGZhY2UgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpIC4gLTM5NTQpICgzOTQ5IC4gMzk1NSkp IG5pbCAoMjMzNDUgOTgyMSA0NzcyMDIgNTg2MDAwKSAwIG5pbF0pICgoIygiICIgMCAxIChm b250aWZpZWQgdCkpIC4gLTM5NDkpICh1bmRvLXRyZWUtaWQ3NCAuIC0xKSAzOTUwKSBuaWwg KDIzMzQ1IDk4MjEgNDc3MjEzIDQ5MDAwMCkgMCBuaWxdKSAoKDM5NDQgLiAzOTUwKSkgbmls ICgyMzM0NSA5ODIxIDQ3NzIyMCA5NDcwMDApIDAgbmlsXSkgKCgjKCJ1IiAwIDEgKGZvbnRp ZmllZCB0KSkgLiAtMzk0NCkgKHVuZG8tdHJlZS1pZDc1IC4gLTEpIDM5NDUpIG5pbCAoMjMz NDUgOTgyMSA0NzcyMzAgNjY4MDAwKSAwIG5pbF0pICgoMzc2NCAuIDM3NjUpKSBuaWwgKDIz MzQ1IDk4MjEgNDc3MjM2IDE1NTAwMCkgMCBuaWxdKSAoKCMoInIiIDAgMSAoZm9udGlmaWVk IHQgZmFjZSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkgLiAtMzc2NSkgKHVuZG8t dHJlZS1pZDc2IC4gLTEpIDM3NjYpIG5pbCAoMjMzNDUgOTgyMSA0NzcyNDQgOTk1MDAwKSAw IG5pbF0pICgoMzc2NSAuIDM3NjYpKSBuaWwgKDIzMzQ1IDk4MjEgNDc3MjUwIDg4ODAwMCkg MCBuaWxdKSAoKDM3MzQgLiAzNzM1KSkgbmlsICgyMzM0NSA5ODIxIDQ3NzI1NSA2MDMwMDAp IDAgbmlsXSkgKCgjKCJyIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtMzk0MykgKHVuZG8tdHJl ZS1pZDc3IC4gLTEpICgjKCJjIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtMzk0NCkgKHVuZG8t dHJlZS1pZDc4IC4gLTEpIDM5NDUpIG5pbCAoMjMzNDUgOTgyMSA0NzcyNjkgNDI5MDAwKSAw IG5pbF0pICgoMzk0MiAuIDM5NDUpKSBuaWwgKDIzMzQ1IDk4MjEgNDc3Mjc2IDg0MDAwMCkg MCBuaWxdKSAoKCMoInUiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC0zOTQyKSAodW5kby10cmVl LWlkNzkgLiAtMSkgKCMoInIiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC0zOTQzKSAodW5kby10 cmVlLWlkODAgLiAtMSkgMzk0NCkgbmlsICgyMzM0NSA5ODIxIDQ3NzI5MCAxMTQwMDApIDAg bmlsXSkgKCgzOTI3IC4gMzk0NCkpIG5pbCAoMjMzNDUgOTgyMSA0NzcyOTcgNTEwMDAwKSAw IG5pbF0pICgoIygicyIgMCAxIChmb250aWZpZWQgdCkpIC4gLTM5MjcpICh1bmRvLXRyZWUt aWQ4MSAuIC0xKSAzOTI4KSBuaWwgKDIzMzQ1IDk4MjEgNDc3MzEzIDM4NTAwMCkgMCBuaWxd KSAoKDM5MjUgLiAzOTI4KSkgbmlsICgyMzM0NSA5ODIxIDQ3NzMxOSA3MzkwMDApIDAgbmls XSkgKCgzOTE2IC4gMzkyNSkgKHQgMjMzNDUgOTc3MiAyMjU0MDYgNDg4MDAwKSAzODc2KSBu aWwgKDIzMzQ1IDk4MjEgNDc3MzI3IDQzMTAwMCkgMCBuaWxdKSAoKDM3NjYgLiAzNzcxKSkg bmlsICgyMzM0NSA5NzcyIDIyMDEzMSAxODAwMCkgMCBuaWxdKSAoKDM3NDUgLiAzNzY2KSkg bmlsICgyMzM0NSA5NzcyIDIyMDE0NSA1NTMwMDApIDAgbmlsXSkgKCgzNzQwIC4gMzc0NSkp IG5pbCAoMjMzNDUgOTc3MiAyMjAxNTAgMTM1MDAwKSAwIG5pbF0pICgoMzczNiAuIDM3NDAp KSBuaWwgKDIzMzQ1IDk3NzIgMjIwMTU0IDEwMzAwMCkgMCBuaWxdKSAoKDM3MjkgLiAzNzM2 KSkgbmlsICgyMzM0NSA5NzcyIDIyMDE1NyA5NDkwMDApIDAgbmlsXSkgKCgjKCJyIiAwIDEg KGZvbnRpZmllZCB0KSkgLiAtMzcyOSkgKHVuZG8tdHJlZS1pZDYyIC4gLTEpICh1bmRvLXRy ZWUtaWQ2MyAuIC0xKSAoIygiYSIgMCAxIChmb250aWZpZWQgdCkpIC4gLTM3MzApICh1bmRv LXRyZWUtaWQ2NCAuIC0xKSAodW5kby10cmVlLWlkNjUgLiAtMSkgKCMoInQiIDAgMSAoZm9u dGlmaWVkIHQpKSAuIC0zNzMxKSAodW5kby10cmVlLWlkNjYgLiAtMSkgKHVuZG8tdHJlZS1p ZDY3IC4gLTEpICgjKCJpIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtMzczMikgKHVuZG8tdHJl ZS1pZDY4IC4gLTEpICh1bmRvLXRyZWUtaWQ2OSAuIC0xKSAoIygibyIgMCAxIChmb250aWZp ZWQgdCkpIC4gLTM3MzMpICh1bmRvLXRyZWUtaWQ3MCAuIC0xKSAodW5kby10cmVlLWlkNzEg LiAtMSkgMzczNCkgbmlsICgyMzM0NSA5NzcyIDIyMDIwMyAzNDcwMDApIDAgbmlsXSkgKCgz NzE2IC4gMzczNCkpIG5pbCAoMjMzNDUgOTc3MiAyMjAyMTMgNjAxMDAwKSAwIG5pbF0pICgo MzcxMSAuIDM3MTYpICh0IDIzMzQ1IDg3NDMgNjkwNiAzNjIwMDApIDM3MTEpIG5pbCAoMjMz NDUgOTc3MiAyMjAyMTggMjc3MDAwKSAwIG5pbF0pICgoIygiLCIgMCAxIChmb250aWZpZWQg dCkpIC4gLTYxKSAodW5kby10cmVlLWlkMCAuIC0xKSAodW5kby10cmVlLWlkMSAuIC0xKSAo dW5kby10cmVlLWlkMiAuIC0xKSAodW5kby10cmVlLWlkMyAuIC0xKSAoIygiICIgMCAxIChm b250aWZpZWQgdCkpIC4gLTYyKSAodW5kby10cmVlLWlkNCAuIC0xKSAodW5kby10cmVlLWlk NSAuIC0xKSAodW5kby10cmVlLWlkNiAuIC0xKSAodW5kby10cmVlLWlkNyAuIC0xKSAoIygi RCIgMCAxIChmb250aWZpZWQgdCkpIC4gLTYzKSAodW5kby10cmVlLWlkOCAuIC0xKSAodW5k by10cmVlLWlkOSAuIC0xKSAodW5kby10cmVlLWlkMTAgLiAtMSkgKHVuZG8tdHJlZS1pZDEx IC4gLTEpICgjKCJpIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtNjQpICh1bmRvLXRyZWUtaWQx MiAuIC0xKSAodW5kby10cmVlLWlkMTMgLiAtMSkgKHVuZG8tdHJlZS1pZDE0IC4gLTEpICh1 bmRvLXRyZWUtaWQxNSAuIC0xKSAoIygiYyIgMCAxIChmb250aWZpZWQgdCkpIC4gLTY1KSAo dW5kby10cmVlLWlkMTYgLiAtMSkgKHVuZG8tdHJlZS1pZDE3IC4gLTEpICh1bmRvLXRyZWUt aWQxOCAuIC0xKSAodW5kby10cmVlLWlkMTkgLiAtMSkgKCMoInQiIDAgMSAoZm9udGlmaWVk IHQpKSAuIC02NikgKHVuZG8tdHJlZS1pZDIwIC4gLTEpICh1bmRvLXRyZWUtaWQyMSAuIC0x KSAodW5kby10cmVlLWlkMjIgLiAtMSkgKHVuZG8tdHJlZS1pZDIzIC4gLTEpICgjKCIsIiAw IDEgKGZvbnRpZmllZCB0KSkgLiAtNjcpICh1bmRvLXRyZWUtaWQyNCAuIC0xKSAodW5kby10 cmVlLWlkMjUgLiAtMSkgKHVuZG8tdHJlZS1pZDI2IC4gLTEpICh1bmRvLXRyZWUtaWQyNyAu IC0xKSAoIygiICIgMCAxIChmb250aWZpZWQgdCkpIC4gLTY4KSAodW5kby10cmVlLWlkMjgg LiAtMSkgKHVuZG8tdHJlZS1pZDI5IC4gLTEpICh1bmRvLXRyZWUtaWQzMCAuIC0xKSAodW5k by10cmVlLWlkMzEgLiAtMSkgKCMoIkMiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC02OSkgKHVu ZG8tdHJlZS1pZDMyIC4gLTEpICh1bmRvLXRyZWUtaWQzMyAuIC0xKSAodW5kby10cmVlLWlk MzQgLiAtMSkgKHVuZG8tdHJlZS1pZDM1IC4gLTEpICgjKCJhIiAwIDEgKGZvbnRpZmllZCB0 KSkgLiAtNzApICh1bmRvLXRyZWUtaWQzNiAuIC0xKSAodW5kby10cmVlLWlkMzcgLiAtMSkg KHVuZG8tdHJlZS1pZDM4IC4gLTEpICh1bmRvLXRyZWUtaWQzOSAuIC0xKSAoIygibCIgMCAx IChmb250aWZpZWQgdCkpIC4gLTcxKSAodW5kby10cmVlLWlkNDAgLiAtMSkgKHVuZG8tdHJl ZS1pZDQxIC4gLTEpICh1bmRvLXRyZWUtaWQ0MiAuIC0xKSAodW5kby10cmVlLWlkNDMgLiAt MSkgKCMoImwiIDAgMSAoZm9udGlmaWVkIHQpKSAuIC03MikgKHVuZG8tdHJlZS1pZDQ0IC4g LTEpICh1bmRvLXRyZWUtaWQ0NSAuIC0xKSAodW5kby10cmVlLWlkNDYgLiAtMSkgKHVuZG8t dHJlZS1pZDQ3IC4gLTEpICgjKCJhIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtNzMpICh1bmRv LXRyZWUtaWQ0OCAuIC0xKSAodW5kby10cmVlLWlkNDkgLiAtMSkgKHVuZG8tdHJlZS1pZDUw IC4gLTEpICh1bmRvLXRyZWUtaWQ1MSAuIC0xKSAoIygiYiIgMCAxIChmb250aWZpZWQgdCkp IC4gLTc0KSAodW5kby10cmVlLWlkNTIgLiAtMSkgKHVuZG8tdHJlZS1pZDUzIC4gLTEpICh1 bmRvLXRyZWUtaWQ1NCAuIC0xKSAodW5kby10cmVlLWlkNTUgLiAtMSkgKCMoImwiIDAgMSAo Zm9udGlmaWVkIHQpKSAuIC03NSkgKHVuZG8tdHJlZS1pZDU2IC4gLTEpICh1bmRvLXRyZWUt aWQ1NyAuIC0xKSAodW5kby10cmVlLWlkNTggLiAtMSkgKHVuZG8tdHJlZS1pZDU5IC4gLTEp ICgjKCJlIiAwIDEgKGZvbnRpZmllZCB0KSkgLiAtNzYpICh1bmRvLXRyZWUtaWQ2MCAuIC0x KSAodW5kby10cmVlLWlkNjEgLiAtMSkgNzcgKHQgMjMzNDEgNDE5MTAgNzc0NjE2IDYyMDAw MCkpIG5pbCAoMjMzNDUgODc0MiA5ODYwMTUgNzA1MDAwKSAwIG5pbF0pIG5pbCBuaWwgKDIz MzQ1IDg3NDIgOTg2MDYxIDgwMDAwKSAwIG5pbF0gIzMjIDIyMzM3IDM1MCBuaWwp --------------8BBD5ADCBD0CCA404C75C2F4-- From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 11 17:49:01 2018 Received: (at control) by debbugs.gnu.org; 11 Jul 2018 21:49:01 +0000 Received: from localhost ([127.0.0.1]:56001 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fdMyr-0004za-FH for submit@debbugs.gnu.org; Wed, 11 Jul 2018 17:49:01 -0400 Received: from mail-io0-f171.google.com ([209.85.223.171]:41606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fdMyq-0004zK-AN; Wed, 11 Jul 2018 17:49:00 -0400 Received: by mail-io0-f171.google.com with SMTP id q9-v6so25824926ioj.8; Wed, 11 Jul 2018 14:49:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-transfer-encoding; bh=Q64ui9h5Nrlxuq6azB+nl0TlQsGhH6UI3Tx9tzEGQ9M=; b=DRSbdUpjF31Pg8HXtPVyDm+NlbSSeHHEtWgqV8WbnZALkTrJJHeI2E0l4q/fGz2gql OezuWantdAO6e9OBG8/vcrbLuIgKVR8vqXybVit/lauhb00ZvxfGWv8sIghmmHE1JUBM 7dkgf/zK9/A7oMMKgIVShPgU+GbFycmqLFI8F2gSTODwgFhD0BJCIQgSmdEHsN7wlhoM ZMQBJ/sHUYlekrvxkskVunNogDk3Y3RrG0sqOvGGgMcUdoM0OQ+wLrTB6v4GjGKdlvo+ 6gWMHwxHxQOXCkSBNWkjb2YSf0TJSkwLgllmf6pqIn2yj+Kn4lCPi1FtoxoSaLpJ6CT2 aqkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=Q64ui9h5Nrlxuq6azB+nl0TlQsGhH6UI3Tx9tzEGQ9M=; b=oec9HKTJwecHsupUYkiJVYCVe8zvFd30fr3+jZVOanZHw7yCgAruudfZYlkiek+DD3 ACIc8BriwuEgFOvUKW1DTTYKt3T84ocZpPKlPByDcBRWAGHeSgaryLEYhFu46gjqHNoV Jfk1yKHCTplNNHzPvCYCmlLuy8+YLpiCOEGBXL9CgQHMvWbTVFzZbYE7HEsbg41xQpws dPjjKd1H/cakXQ7fVZkBGf6dNJun7okli2t4YRDNSfhaTxP8GISj/QKvztC8aRdWLc/1 vlzITvofNwONWwT2m+8Wx4dGJGgZIPqvqDgwGKaf7PnDbRIh6cvp3LLGD62Sq80xWUct ECvA== X-Gm-Message-State: AOUpUlEISCDKzVw+41oBK6FOs3zkN5LuZ1PQpHl9qZLeavti7bPKauyX fFsTDYPcFrBoZXtD1iaNJKcjtQ== X-Google-Smtp-Source: AAOMgpeHC6rZ2j5uHmNI+1/rDB93pTZDH91s85LdXwbne07a8YMra+5xXPd57e6YnefSAzeR29mBJw== X-Received: by 2002:a6b:1e86:: with SMTP id e128-v6mr2423058ioe.97.1531345734677; Wed, 11 Jul 2018 14:48:54 -0700 (PDT) Received: from zebian (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id g26-v6sm263407iti.0.2018.07.11.14.48.53 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 11 Jul 2018 14:48:54 -0700 (PDT) From: Noam Postavsky To: Sheng Yang (=?utf-8?B?5p2o5Zyj?=) Subject: Re: bug#31995: 26.1; Condition-case failed to catch error References: <0af47dad-c396-7e0d-04e2-ba029a5a37d8@gmail.com> Date: Wed, 11 Jul 2018 17:48:53 -0400 In-Reply-To: <0af47dad-c396-7e0d-04e2-ba029a5a37d8@gmail.com> ("Sheng Yang \=\?utf-8\?B\?KOadqAnlnKMpIidz\?\= message of "Thu, 28 Jun 2018 09:54:41 -0700") Message-ID: <87d0vtbfzu.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control Cc: 31995@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) retitle 31995 Condition-case can't catch C stack overflow tags 31995 + wontfix quit Sheng Yang (=E6=9D=A8=E5=9C=A3) writes: > It seems that the function call ~(read (current-buffer))~ causes C stack > overflow. Though I personally believe the undo-tree file is not > corrupted, I assume this error should be caught by condition-case even > if the file to read is indeed corrupted. The file is not corrupted, it's just that the recursion goes too deep during reading. However, I don't think condition-case can reasonably catch C stack overflow. As it is, recovering from C stack overflow at all is a bit controversial, which is why we have the attempt-stack-overflow-recovery variable which you can set to nil in order to reliably segfault instead. From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 12 01:46:31 2018 Received: (at 31995) by debbugs.gnu.org; 12 Jul 2018 05:46:31 +0000 Received: from localhost ([127.0.0.1]:56244 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fdUQx-0003RA-3q for submit@debbugs.gnu.org; Thu, 12 Jul 2018 01:46:31 -0400 Received: from mail-pf0-f181.google.com ([209.85.192.181]:43674) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fdUQw-0003Qy-23 for 31995@debbugs.gnu.org; Thu, 12 Jul 2018 01:46:30 -0400 Received: by mail-pf0-f181.google.com with SMTP id y8-v6so19910761pfm.10 for <31995@debbugs.gnu.org>; Wed, 11 Jul 2018 22:46:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=9Dzloywzy/xzRp0LdkUQCXOSB99jEiYOzBkTmewWES8=; b=nY67f3bFVqCPoulQ8D2MlFTrnxsezX3pR4waKuZC33rRp1YOQAPub2ymryNkWcSEYq A757IOA0k7KqTjxqTr7U4M7iRo1fvE+OmkQZa0BUR6WErROHgeYmizBVlwMzfmOvL32i Ogzmh6QZrwPF7haDPvPjkOnoLb8vuOB6yCJ4jqCnsjiJ24MUPKvBpcp7peSngV16EmzE UnUAC5S7enHbODK4IkSxovFElR1APg7htSC/+0/0j7eT4GfcjdJu/H15gfbRvGszsun6 K04JXlkkE4eNT0A1py5HeNvCqNFcga9qbcN0SMbNmuz6A8uNDEMOGdQAyPmhuopRpIed l1Hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language; bh=9Dzloywzy/xzRp0LdkUQCXOSB99jEiYOzBkTmewWES8=; b=q+fo6yw84mML2JcBnBwc+Je73UXJXy5nFuPmd19SpRZFwxF1+OTJeSefjDubNsc7JF mH8LaPOlwlT9WSAD8Y27z/mB7d609ld+UmNw/oa/hTtD9ipJb1cXy6MjsMAnFErIazhf HJpcbBtAQCMNlZnaRWkE9xNbQ4Z6jybRuB4hAy1fLTZczI/dfZrXd/xvaDG0zzF/vy30 gWBtjbo2a3hyJ0TDoHf5lcco76QuzmDRSYCz+8aJEfsEcfTebncaMz2BaLeTO/rsit+B Rn4dGZ9RFGYJ5x0WAWjO9AhH3Lmy70uUNL9S7ElEpnkdIP+RwofjBE/mehbxrllJNG/O +zpg== X-Gm-Message-State: AOUpUlHwWEEw4n1m0lL3nSUCr/ozVzL2bgbaROmjl55F8zdfQ5LeTsc/ vDuGBoYgiOQDVTAWuIn1c/W1bPeN X-Google-Smtp-Source: AAOMgpelR/JNxsiNBEi57apYoT+y458ehLQhiCY6YBi5nkhfrtQW6s8J0HIr9StgTTbGf0/tjaf8Gg== X-Received: by 2002:a63:8648:: with SMTP id x69-v6mr821769pgd.172.1531374383848; Wed, 11 Jul 2018 22:46:23 -0700 (PDT) Received: from [10.30.1.10] (ip-5-36-244-173.west.us.northamericancoax.com. [173.244.36.5]) by smtp.googlemail.com with ESMTPSA id p3-v6sm7205589pfo.130.2018.07.11.22.46.22 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Jul 2018 22:46:22 -0700 (PDT) Subject: Re: bug#31995: 26.1; Condition-case failed to catch error To: Noam Postavsky References: <0af47dad-c396-7e0d-04e2-ba029a5a37d8@gmail.com> <87d0vtbfzu.fsf@gmail.com> From: =?UTF-8?B?U2hlbmcgWWFuZyAo5p2o5ZyjKQ==?= Openpgp: preference=signencrypt Autocrypt: addr=yangsheng6810@gmail.com; prefer-encrypt=mutual; keydata= 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 DhX8HQ== Message-ID: <53dc622c-b09f-2251-0a9f-854f55a5642d@gmail.com> Date: Wed, 11 Jul 2018 22:46:21 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <87d0vtbfzu.fsf@gmail.com> Content-Type: multipart/alternative; boundary="------------6580C1F44FCA929A3F861D46" Content-Language: en-US X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 31995 Cc: 31995@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) This is a multi-part message in MIME format. --------------6580C1F44FCA929A3F861D46 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable condition-case was able to catch C stack overflow before commit f0a1e9ec. I understand that recovering from C stack overflow is magical and can be tricky, but emacs is capable of this thanks to all of your efforts. The only part missing is re-throwing this as a lisp exception, which should not be as hard as recovering from C stack overflow. Here is why this feature can be important. When we open a file, find-file-hook will call many functions, including but not limited to undo-tree. These functions read additional files (undo-tree, project file, dir-local, etc.) and perform tasks. To guard against file corruption and other problems, all reads are wrapped in some try-catch clause. However, the trust in these try-catch clauses are let down, and a single file corruption (or a file that can cause C stack overflow) ruins the whole process of loading file with a mysterious message of"Recovered from C stack overflow". I don't think this is acceptable. =46rom a lisp programmer's perspective, if exceptions should occur, they should be caught. This is exactly the behavior that condition-case and other try-catch clause promise. I am not an expert in C, debugging the C part of emacs can be painful for me. Therefore I bisected and found the offending commits (see my original bug report). Hope this can help you pin point the problem and fix the bug. On 07/11/2018 02:48 PM, Noam Postavsky wrote: > retitle 31995 Condition-case can't catch C stack overflow > tags 31995 + wontfix > quit > > Sheng Yang (=E6=9D=A8=E5=9C=A3) writes: > >> It seems that the function call ~(read (current-buffer))~ causes C sta= ck >> overflow. Though I personally believe the undo-tree file is not >> corrupted, I assume this error should be caught by condition-case even= >> if the file to read is indeed corrupted. > The file is not corrupted, it's just that the recursion goes too deep > during reading. However, I don't think condition-case can reasonably > catch C stack overflow. As it is, recovering from C stack overflow at > all is a bit controversial, which is why we have the > attempt-stack-overflow-recovery variable which you can set to nil in > order to reliably segfault instead. --=20 Sheng Yang(=E6=9D=A8=E5=9C=A3) PhD student Computer Science Department University of Maryland, College Park E-mail:yangsheng6810@gmail.com --------------6580C1F44FCA929A3F861D46 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit
condition-case was able to catch C stack overflow before commit f0a1e9ec. I understand that recovering from C stack overflow is magical and can be tricky, but emacs is capable of this thanks to all of your efforts. The only part missing is re-throwing this as a lisp exception, which should not be as hard as recovering from C stack overflow.

Here is why this feature can be important. When we open a file, find-file-hook will call many functions, including but not limited to undo-tree. These functions read additional files (undo-tree, project file, dir-local, etc.) and perform tasks. To guard against file corruption and other problems, all reads are wrapped in some try-catch clause. However, the trust in these try-catch clauses are let down, and a single file corruption (or a file that can cause C stack overflow) ruins the whole process of loading file with a mysterious message of"Recovered from C stack overflow". I don't think this is acceptable.

From a lisp programmer's perspective, if exceptions should occur, they should be caught. This is exactly the behavior that condition-case and other try-catch clause promise.

I am not an expert in C, debugging the C part of emacs can be painful for me. Therefore I bisected and found the offending commits (see my original bug report). Hope this can help you pin point the problem and fix the bug.

On 07/11/2018 02:48 PM, Noam Postavsky wrote:
retitle 31995 Condition-case can't catch C stack overflow
tags 31995 + wontfix
quit

Sheng Yang (杨圣) <yangsheng6810@gmail.com> writes:

It seems that the function call ~(read (current-buffer))~ causes C stack
overflow. Though I personally believe the undo-tree file is not
corrupted, I assume this error should be caught by condition-case even
if the file to read is indeed corrupted.
The file is not corrupted, it's just that the recursion goes too deep
during reading.  However, I don't think condition-case can reasonably
catch C stack overflow.  As it is, recovering from C stack overflow at
all is a bit controversial, which is why we have the
attempt-stack-overflow-recovery variable which you can set to nil in
order to reliably segfault instead.

-- 
Sheng Yang(杨圣)
PhD student
Computer Science Department
University of Maryland, College Park
E-mail:yangsheng6810@gmail.com
--------------6580C1F44FCA929A3F861D46-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 12 20:29:55 2018 Received: (at 31995) by debbugs.gnu.org; 13 Jul 2018 00:29:55 +0000 Received: from localhost ([127.0.0.1]:57545 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fdly7-0004bb-Cw for submit@debbugs.gnu.org; Thu, 12 Jul 2018 20:29:55 -0400 Received: from mail-pl0-f47.google.com ([209.85.160.47]:41978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fdly5-0004bJ-FO for 31995@debbugs.gnu.org; Thu, 12 Jul 2018 20:29:54 -0400 Received: by mail-pl0-f47.google.com with SMTP id w8-v6so11385844ply.8 for <31995@debbugs.gnu.org>; Thu, 12 Jul 2018 17:29:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:from:to:cc:references:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=AHYvLs1uirPUDIFOQ80FyXNdhQvVSnwEtnITVF0+IPs=; b=qS7qjhC2riXBzI5hFOG65d1PbLFzJAdFCTdrNQpHKO2Yp5gF2AOyTMN2JYQhtx/Y4E Cts/MPxyN4sS26Tt7Ef7r9ilI7giCJ5FP79WrcRFfHpDq8fkgzMG7RT6VFCxxvAcaFUN JspzHfy9zteSAOrqHkrHPOGjp7QBOKhfclWPLzs2F1iDrNxceEq7bY8w9UaqnupEcbKz L6rz/VeOuOlb/5UjXL3VGefaiv2fgCBJou2zuw4mr1mI3/81mdw3TAHEwEu3qHAAaUh2 hQb+QPlZq4zSH/IhC2Qnicl5Z/9slQle1fmmvpWWzY5zaooTrMkco6AgrEbTbofL/F2Q KU1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language; bh=AHYvLs1uirPUDIFOQ80FyXNdhQvVSnwEtnITVF0+IPs=; b=bWwocb/DZVQpm6X0Uixy2271V9+JNpvWwNzUqTTId1Qx/d3kewuX0edWZxsaVrckOo yK4+WgI25icw/LI16YSfSncPIKbpZD8Y4Z2UTu87Nm9Qd5bMXviNN1dJk35b00gO2i/M YwzmzSkSliaUpQQM6C313zq1zqDTl9AtVQH+Pta8k5swfmy2N5czokYL66i4YQDLyjeW L0i9/bngwctwXa8PVdxVB9dU00JvH9bXkBY8lVWdZZbCJXc25OTyiI8wCAxmNAU2KLDm lcZnMwI1jPjcUkkTWXQoVSLe/VsearchgW504bBG5DWbm7SoqQi7jwN05JzenHU2EwT1 U6Xg== X-Gm-Message-State: AOUpUlHZwMlGW0ZS4Id4xTX87YY9eqap7eatv6dHogtat+SZRqazkI9b P3SLdSQNdOFETyLkJoSRkRg= X-Google-Smtp-Source: AAOMgpfstLXpjryxLZ+baummy1A+qKCVD+KkT8SHqCtW3RTyvzBqymdZKFUjlHnFtLX2oQZBXVquMQ== X-Received: by 2002:a17:902:d711:: with SMTP id w17-v6mr4075434ply.200.1531441787661; Thu, 12 Jul 2018 17:29:47 -0700 (PDT) Received: from [10.31.1.34] (ip-17-36-244-173.west.us.northamericancoax.com. [173.244.36.17]) by smtp.googlemail.com with ESMTPSA id r71-v6sm59241318pfg.43.2018.07.12.17.29.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Jul 2018 17:29:46 -0700 (PDT) Subject: Re: bug#31995: 26.1; Condition-case failed to catch error From: =?UTF-8?B?U2hlbmcgWWFuZyAo5p2o5ZyjKQ==?= To: Noam Postavsky References: <0af47dad-c396-7e0d-04e2-ba029a5a37d8@gmail.com> <87d0vtbfzu.fsf@gmail.com> <53dc622c-b09f-2251-0a9f-854f55a5642d@gmail.com> Openpgp: preference=signencrypt Autocrypt: addr=yangsheng6810@gmail.com; prefer-encrypt=mutual; keydata= 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 DhX8HQ== Message-ID: <6be07045-d79a-26a9-cd63-e2c294cd0187@gmail.com> Date: Thu, 12 Jul 2018 17:29:44 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <53dc622c-b09f-2251-0a9f-854f55a5642d@gmail.com> Content-Type: multipart/alternative; boundary="------------34611D2D2442FB65E4ED3C9C" Content-Language: en-US X-Spam-Score: 0.4 (/) X-Debbugs-Envelope-To: 31995 Cc: Paul Eggert , 31995@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.6 (/) This is a multi-part message in MIME format. --------------34611D2D2442FB65E4ED3C9C Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable @Paul Eggert: I am cc-ing you because you are the author of commit f0a1e9ec and may be more familiar with this topic. Please ignore my previous email, I thought condition-case WAS able to catch C stack overflow before commit f0a1e9ec, but it seems not the case, or at least not related to this bug. After some code reading and debugging, I find the problem: in commit f0a1e9ec, the read_buffer for read1 is moved from a static variable to an array stackbuf of size MAX_ALLOCA located on stack. MAX_ALLOCA is defined to be 16 * 1024. So every recursion of read1 will eat up 16KB of stack, and thousands of recursions (not uncommon for a deeply nested structure) quickly use up whole stack and cause stack overflow. One solution is to make stackbuf much smaller. I set it to 16, and this bug disappeared. Though 16 may be too aggressive, 16 * 1024 is way too big for a stack-based buffer in a function that may recur thousands of times. To make things worse, the buffer is totally a waste of space when read1 is dealing with everything ("[", "]", "(", ")", "#", "=3D", numbers= , etc.) other than the name of a symbol (usually tens of characters) or a string, which is the only case when we would need a really long buffer. A conservative choice would be a number higher than 40 or 80, making the buffer long enough to hold any symbol, as people usually do not have symbol longer than the one of half the width of a terminal. A more aggressive choice is to totally remove the buffer and only allocate it on heap. This comes at a cost of possible slow down because memory allocation on heap is usually slower than on stack. The reason why this was not the case before commit f0a1e9ec is that this buffer is reused by every recursion of read1, and is not a problem. As a reference, MAX_ALLOCA is defined in src/lisp.h for SAFE_ALLOCA, which allocate memory on stack if its size is less than MAX_ALLOCA, and allocate memory on heap otherwise. The usage for SAFE_ALLOCA and a preparation macro USE_SAFE_ALLOCA seems pretty complicated and I am not able to figure out. On 07/11/2018 10:46 PM, Sheng Yang (=E6=9D=A8=E5=9C=A3) wrote: > condition-case was able to catch C stack overflow before commit > f0a1e9ec. I understand that recovering from C stack overflow is > magical and can be tricky, but emacs is capable of this thanks to all > of your efforts. The only part missing is re-throwing this as a lisp > exception, which should not be as hard as recovering from C stack > overflow. > > Here is why this feature can be important. When we open a file, > find-file-hook will call many functions, including but not limited to > undo-tree. These functions read additional files (undo-tree, project > file, dir-local, etc.) and perform tasks. To guard against file > corruption and other problems, all reads are wrapped in some try-catch > clause. However, the trust in these try-catch clauses are let down, > and a single file corruption (or a file that can cause C stack > overflow) ruins the whole process of loading file with a mysterious > message of"Recovered from C stack overflow". I don't think this is > acceptable. > > From a lisp programmer's perspective, if exceptions should occur, they > should be caught. This is exactly the behavior that condition-case and > other try-catch clause promise. > > I am not an expert in C, debugging the C part of emacs can be painful > for me. Therefore I bisected and found the offending commits (see my > original bug report). Hope this can help you pin point the problem and > fix the bug. > > On 07/11/2018 02:48 PM, Noam Postavsky wrote: >> retitle 31995 Condition-case can't catch C stack overflow >> tags 31995 + wontfix >> quit >> >> Sheng Yang (=E6=9D=A8=E5=9C=A3) writes: >> >>> It seems that the function call ~(read (current-buffer))~ causes C st= ack >>> overflow. Though I personally believe the undo-tree file is not >>> corrupted, I assume this error should be caught by condition-case eve= n >>> if the file to read is indeed corrupted. >> The file is not corrupted, it's just that the recursion goes too deep >> during reading. However, I don't think condition-case can reasonably >> catch C stack overflow. As it is, recovering from C stack overflow at= >> all is a bit controversial, which is why we have the >> attempt-stack-overflow-recovery variable which you can set to nil in >> order to reliably segfault instead. > > --=20 > Sheng Yang(=E6=9D=A8=E5=9C=A3) > PhD student > Computer Science Department > University of Maryland, College Park > E-mail:yangsheng6810@gmail.com --=20 Sheng Yang(=E6=9D=A8=E5=9C=A3) PhD student Computer Science Department University of Maryland, College Park E-mail:yangsheng6810@gmail.com --------------34611D2D2442FB65E4ED3C9C Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit
@Paul Eggert: I am cc-ing you because you are the author of commit f0a1e9ec and may be more familiar with this topic.

Please ignore my previous email, I thought condition-case WAS able to catch C stack overflow before commit f0a1e9ec, but it seems not the case, or at least not related to this bug.

After some code reading and debugging, I find the problem: in commit f0a1e9ec, the read_buffer for read1 is moved from a static variable to an array stackbuf of size MAX_ALLOCA located on stack. MAX_ALLOCA is defined to be 16 * 1024. So every recursion of read1 will eat up 16KB of stack, and thousands of recursions (not uncommon for a deeply nested structure) quickly use up whole stack and cause stack overflow.

One solution is to make stackbuf much smaller. I set it to 16, and this bug disappeared. Though 16 may be too aggressive, 16 * 1024 is way too big for a stack-based buffer in a function that may recur thousands of times. To make things worse, the buffer is totally a waste of space when read1 is dealing with everything ("[", "]", "(", ")", "#", "=", numbers, etc.) other than the name of a symbol (usually tens of characters) or a string, which is the only case when we would need a really long buffer. A conservative choice would be a number higher than 40 or 80, making the buffer long enough to hold any symbol, as people usually do not have symbol longer than the one of half the width of a terminal. A more aggressive choice is to totally remove the buffer and only allocate it on heap. This comes at a cost of possible slow down because memory allocation on heap is usually slower than on stack. The reason why this was not the case before commit f0a1e9ec is that this buffer is reused by every recursion of read1, and is not a problem.

As a reference, MAX_ALLOCA is defined in src/lisp.h for SAFE_ALLOCA, which allocate memory on stack if its size is less than MAX_ALLOCA, and allocate memory on heap otherwise. The usage for SAFE_ALLOCA and a preparation macro USE_SAFE_ALLOCA seems pretty complicated and I am not able to figure out.

On 07/11/2018 10:46 PM, Sheng Yang (杨圣) wrote:
condition-case was able to catch C stack overflow before commit f0a1e9ec. I understand that recovering from C stack overflow is magical and can be tricky, but emacs is capable of this thanks to all of your efforts. The only part missing is re-throwing this as a lisp exception, which should not be as hard as recovering from C stack overflow.

Here is why this feature can be important. When we open a file, find-file-hook will call many functions, including but not limited to undo-tree. These functions read additional files (undo-tree, project file, dir-local, etc.) and perform tasks. To guard against file corruption and other problems, all reads are wrapped in some try-catch clause. However, the trust in these try-catch clauses are let down, and a single file corruption (or a file that can cause C stack overflow) ruins the whole process of loading file with a mysterious message of"Recovered from C stack overflow". I don't think this is acceptable.

From a lisp programmer's perspective, if exceptions should occur, they should be caught. This is exactly the behavior that condition-case and other try-catch clause promise.

I am not an expert in C, debugging the C part of emacs can be painful for me. Therefore I bisected and found the offending commits (see my original bug report). Hope this can help you pin point the problem and fix the bug.

On 07/11/2018 02:48 PM, Noam Postavsky wrote:
retitle 31995 Condition-case can't catch C stack overflow
tags 31995 + wontfix
quit

Sheng Yang (杨圣) <yangsheng6810@gmail.com> writes:

It seems that the function call ~(read (current-buffer))~ causes C stack
overflow. Though I personally believe the undo-tree file is not
corrupted, I assume this error should be caught by condition-case even
if the file to read is indeed corrupted.
The file is not corrupted, it's just that the recursion goes too deep
during reading.  However, I don't think condition-case can reasonably
catch C stack overflow.  As it is, recovering from C stack overflow at
all is a bit controversial, which is why we have the
attempt-stack-overflow-recovery variable which you can set to nil in
order to reliably segfault instead.

-- 
Sheng Yang(杨圣)
PhD student
Computer Science Department
University of Maryland, College Park
E-mail:yangsheng6810@gmail.com

-- 
Sheng Yang(杨圣)
PhD student
Computer Science Department
University of Maryland, College Park
E-mail:yangsheng6810@gmail.com
--------------34611D2D2442FB65E4ED3C9C-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jul 12 23:43:49 2018 Received: (at 31995) by debbugs.gnu.org; 13 Jul 2018 03:43:49 +0000 Received: from localhost ([127.0.0.1]:57580 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fdozk-0002i1-ST for submit@debbugs.gnu.org; Thu, 12 Jul 2018 23:43:49 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]:42130) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fdozj-0002ho-6e for 31995@debbugs.gnu.org; Thu, 12 Jul 2018 23:43:47 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id CEEAB1607CC; Thu, 12 Jul 2018 20:43:40 -0700 (PDT) Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id vUz2wEL6Qxul; Thu, 12 Jul 2018 20:43:40 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 131CA160780; Thu, 12 Jul 2018 20:43:40 -0700 (PDT) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id hATTIvTAjKcM; Thu, 12 Jul 2018 20:43:39 -0700 (PDT) Received: from [192.168.0.8] (ip72-206-6-38.fv.ks.cox.net [72.206.6.38]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id ACB3A1607CC; Thu, 12 Jul 2018 20:43:39 -0700 (PDT) Subject: Re: bug#31995: 26.1; Condition-case failed to catch error To: =?UTF-8?B?U2hlbmcgWWFuZyAo5p2o5ZyjKQ==?= , Noam Postavsky References: <0af47dad-c396-7e0d-04e2-ba029a5a37d8@gmail.com> <87d0vtbfzu.fsf@gmail.com> <53dc622c-b09f-2251-0a9f-854f55a5642d@gmail.com> <6be07045-d79a-26a9-cd63-e2c294cd0187@gmail.com> From: Paul Eggert Message-ID: Date: Thu, 12 Jul 2018 22:43:38 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <6be07045-d79a-26a9-cd63-e2c294cd0187@gmail.com> Content-Type: multipart/mixed; boundary="------------033DD5704881EC34D7E1AFDB" Content-Language: en-US X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 31995 Cc: 31995@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) This is a multi-part message in MIME format. --------------033DD5704881EC34D7E1AFDB Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 07/12/2018 07:29 PM, Sheng Yang (=E6=9D=A8=E5=9C=A3) wrote: > the buffer is totally a waste of space when read1 is dealing with > everything ("[", "]", "(", ")", "#", "=3D", numbers, etc.) other than > the name of a symbol (usually tens of characters) or a string Thanks for reporting this. I attempted to work around the immediate problem by installing the attached into the emacs-26 branch. Although this doesn't address the overall problem of stack overflow, that is less pressing. --------------033DD5704881EC34D7E1AFDB Content-Type: text/x-patch; name="0001-Lessen-stack-consumption-in-recursive-read1.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-Lessen-stack-consumption-in-recursive-read1.patch" >From b38b91a83491b6812e8267d0247355f0e8e3e189 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 12 Jul 2018 20:23:07 -0700 Subject: [PATCH] Lessen stack consumption in recursive read1 * src/lread.c (read1): Shrink local buffer size from MAX_ALLOCA to 128 (Bug#31995). --- src/lread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lread.c b/src/lread.c index 72523c057f..d5ba48a170 100644 --- a/src/lread.c +++ b/src/lread.c @@ -2677,7 +2677,7 @@ read1 (Lisp_Object readcharfun, int *pch, bool first_in_list) int c; bool uninterned_symbol = false; bool multibyte; - char stackbuf[MAX_ALLOCA]; + char stackbuf[128]; /* Small, as read1 is recursive (Bug#31995). */ current_thread->stack_top = stackbuf; *pch = 0; -- 2.17.1 --------------033DD5704881EC34D7E1AFDB-- From debbugs-submit-bounces@debbugs.gnu.org Thu Jun 27 18:44:30 2019 Received: (at control) by debbugs.gnu.org; 27 Jun 2019 22:44:30 +0000 Received: from localhost ([127.0.0.1]:40006 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hgd82-0007v0-Cc for submit@debbugs.gnu.org; Thu, 27 Jun 2019 18:44:30 -0400 Received: from quimby.gnus.org ([80.91.231.51]:50800) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hgd80-0007us-Fs for control@debbugs.gnu.org; Thu, 27 Jun 2019 18:44:28 -0400 Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=stories) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hgd7x-0002va-Tw for control@debbugs.gnu.org; Fri, 28 Jun 2019 00:44:27 +0200 Date: Fri, 28 Jun 2019 00:44:25 +0200 Message-Id: To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #31995 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 31995 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) close 31995 quit From unknown Sun Jun 15 08:14:00 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 26 Jul 2019 11:24:10 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator