From 2bb2db0638ad481da76a726683d09bfc9e365d36 Mon Sep 17 00:00:00 2001 From: Marcus Kammer <2262664-marcus-kammer@users.noreply.gitlab.com> Date: Thu, 12 Dec 2019 17:30:29 +0100 Subject: [PATCH] Update packages --- bundle/custom.el | 4 +- elpa/archives/gnu/archive-contents | 2 +- elpa/dashboard-20191210.1041/banners/1.txt | 8 + elpa/dashboard-20191210.1041/banners/2.txt | 6 + elpa/dashboard-20191210.1041/banners/3.txt | 8 + .../dashboard-20191210.1041/banners/emacs.png | Bin 0 -> 43759 bytes elpa/dashboard-20191210.1041/banners/logo.png | Bin 0 -> 32305 bytes .../dashboard-autoloads.el | 41 ++ elpa/dashboard-20191210.1041/dashboard-pkg.el | 13 + .../dashboard-widgets.el | 675 ++++++++++++++++++ .../dashboard-widgets.elc | Bin 0 -> 26001 bytes elpa/dashboard-20191210.1041/dashboard.el | 254 +++++++ elpa/dashboard-20191210.1041/dashboard.elc | Bin 0 -> 7636 bytes elpa/dashboard-readme.txt | 2 + .../leuven-dark-theme.el | 0 .../leuven-theme-autoloads.el | 0 .../leuven-theme-pkg.el | 2 +- .../leuven-theme.el | 5 +- .../page-break-lines-autoloads.el | 89 +++ .../page-break-lines-pkg.el | 2 + .../page-break-lines.el | 185 +++++ .../page-break-lines.elc | Bin 0 -> 9964 bytes elpa/request-20191127.1554/request-pkg.el | 2 - .../request-autoloads.el | 0 elpa/request-20191211.2051/request-pkg.el | 2 + .../request.el | 58 +- .../request.elc | Bin 67257 -> 68379 bytes init.el | 2 +- 28 files changed, 1327 insertions(+), 33 deletions(-) create mode 100644 elpa/dashboard-20191210.1041/banners/1.txt create mode 100644 elpa/dashboard-20191210.1041/banners/2.txt create mode 100644 elpa/dashboard-20191210.1041/banners/3.txt create mode 100644 elpa/dashboard-20191210.1041/banners/emacs.png create mode 100644 elpa/dashboard-20191210.1041/banners/logo.png create mode 100644 elpa/dashboard-20191210.1041/dashboard-autoloads.el create mode 100644 elpa/dashboard-20191210.1041/dashboard-pkg.el create mode 100644 elpa/dashboard-20191210.1041/dashboard-widgets.el create mode 100644 elpa/dashboard-20191210.1041/dashboard-widgets.elc create mode 100644 elpa/dashboard-20191210.1041/dashboard.el create mode 100644 elpa/dashboard-20191210.1041/dashboard.elc create mode 100644 elpa/dashboard-readme.txt rename elpa/{leuven-theme-20190831.1008 => leuven-theme-20191211.1608}/leuven-dark-theme.el (100%) rename elpa/{leuven-theme-20190831.1008 => leuven-theme-20191211.1608}/leuven-theme-autoloads.el (100%) rename elpa/{leuven-theme-20190831.1008 => leuven-theme-20191211.1608}/leuven-theme-pkg.el (84%) rename elpa/{leuven-theme-20190831.1008 => leuven-theme-20191211.1608}/leuven-theme.el (99%) create mode 100644 elpa/page-break-lines-20190519.2238/page-break-lines-autoloads.el create mode 100644 elpa/page-break-lines-20190519.2238/page-break-lines-pkg.el create mode 100644 elpa/page-break-lines-20190519.2238/page-break-lines.el create mode 100644 elpa/page-break-lines-20190519.2238/page-break-lines.elc delete mode 100644 elpa/request-20191127.1554/request-pkg.el rename elpa/{request-20191127.1554 => request-20191211.2051}/request-autoloads.el (100%) create mode 100644 elpa/request-20191211.2051/request-pkg.el rename elpa/{request-20191127.1554 => request-20191211.2051}/request.el (96%) rename elpa/{request-20191127.1554 => request-20191211.2051}/request.elc (82%) diff --git a/bundle/custom.el b/bundle/custom.el index 1276ba31..7e4db48b 100644 --- a/bundle/custom.el +++ b/bundle/custom.el @@ -9,7 +9,7 @@ '(column-number-mode t) '(custom-safe-themes (quote - ("64d8237b42b3b01f1487a908836574a5e531ea5efab54b9afa19fb8fda471ab3" "4bdc0dfc53ae06323e031baf691f414babf13c9c9c35014dd07bb42c4db27c24" "d6c5b8dc6049f2e9dabdfcafa9ef2079352640e80dffe3e6cc07c0f89cbf9748" "fa2b58bb98b62c3b8cf3b6f02f058ef7827a8e497125de0254f56e373abee088" "fa2af0c40576f3bde32290d7f4e7aa865eb6bf7ebe31eb9e37c32aa6f4ae8d10" "e396098fd5bef4f0dd6cedd01ea48df1ecb0554d8be0d8a924fb1d926f02f90f" "acfac6b14461a344f97fad30e2362c26a3fe56a9f095653832d8fc029cb9d05c" "85d1dbf2fc0e5d30f236712b831fb24faf6052f3114964fdeadede8e1b329832" "4639288d273cbd3dc880992e6032f9c817f17c4a91f00f3872009a099f5b3f84" "14c848e2c4a0a11fcd118e2519078aa50bb6020f89035423b40fff421fb24fbd" "cdb4ffdecc682978da78700a461cdc77456c3a6df1c1803ae2dd55c59fa703e3" "9e31aff9afe3c20a33dd966b4c54c6a5151f07659362e4b06bde38ded5370dae" "24fc62afe2e5f0609e436aa2427b396adf9a958a8fa660edbaab5fb13c08aae6" "82358261c32ebedfee2ca0f87299f74008a2e5ba5c502bde7aaa15db20ee3731" "4515feff287a98863b7b7f762197a78a7c2bfb6ec93879e7284dff184419268c" default))) + ("bffa9739ce0752a37d9b1eee78fc00ba159748f50dc328af4be661484848e476" "64d8237b42b3b01f1487a908836574a5e531ea5efab54b9afa19fb8fda471ab3" "4bdc0dfc53ae06323e031baf691f414babf13c9c9c35014dd07bb42c4db27c24" "d6c5b8dc6049f2e9dabdfcafa9ef2079352640e80dffe3e6cc07c0f89cbf9748" "fa2b58bb98b62c3b8cf3b6f02f058ef7827a8e497125de0254f56e373abee088" "fa2af0c40576f3bde32290d7f4e7aa865eb6bf7ebe31eb9e37c32aa6f4ae8d10" "e396098fd5bef4f0dd6cedd01ea48df1ecb0554d8be0d8a924fb1d926f02f90f" "acfac6b14461a344f97fad30e2362c26a3fe56a9f095653832d8fc029cb9d05c" "85d1dbf2fc0e5d30f236712b831fb24faf6052f3114964fdeadede8e1b329832" "4639288d273cbd3dc880992e6032f9c817f17c4a91f00f3872009a099f5b3f84" "14c848e2c4a0a11fcd118e2519078aa50bb6020f89035423b40fff421fb24fbd" "cdb4ffdecc682978da78700a461cdc77456c3a6df1c1803ae2dd55c59fa703e3" "9e31aff9afe3c20a33dd966b4c54c6a5151f07659362e4b06bde38ded5370dae" "24fc62afe2e5f0609e436aa2427b396adf9a958a8fa660edbaab5fb13c08aae6" "82358261c32ebedfee2ca0f87299f74008a2e5ba5c502bde7aaa15db20ee3731" "4515feff287a98863b7b7f762197a78a7c2bfb6ec93879e7284dff184419268c" default))) '(default-frame-alist (quote ((fullscreen . maximized) @@ -84,7 +84,7 @@ '(package-enable-at-startup t) '(package-selected-packages (quote - (pickle poet-theme flymake-eslint json-mode elpy darkroom dockerfile-mode ein spacemacs-theme flucui-themes leuven-theme htmlize scss-mode berrys-theme web-mode python-docstring sphinx-doc sphinx-frontend sphinx-mode ox-nikola racket-mode slime gherkin-mode powershell typescript-mode ob-http ob-ipython ob-restclient nord-theme restclient request restclient-test yaml-mode magit))) + (dashboard pickle poet-theme flymake-eslint json-mode elpy darkroom dockerfile-mode ein spacemacs-theme flucui-themes leuven-theme htmlize scss-mode berrys-theme web-mode python-docstring sphinx-doc sphinx-frontend sphinx-mode ox-nikola racket-mode slime gherkin-mode powershell typescript-mode ob-http ob-ipython ob-restclient nord-theme restclient request restclient-test yaml-mode magit))) '(python-shell-interpreter "python3" t) '(register-preview-delay 2) '(register-separator 43) diff --git a/elpa/archives/gnu/archive-contents b/elpa/archives/gnu/archive-contents index b4dea52f..d8aaefff 100644 --- a/elpa/archives/gnu/archive-contents +++ b/elpa/archives/gnu/archive-contents @@ -1509,7 +1509,7 @@ ("Phillip Lord" . "phillip.lord@russet.org.uk")) (:url . "http://elpa.gnu.org/packages/persist.html"))]) (phps-mode . - [(0 3 21) + [(0 3 23) ((emacs (26))) "Major mode for PHP with Semantic integration" tar diff --git a/elpa/dashboard-20191210.1041/banners/1.txt b/elpa/dashboard-20191210.1041/banners/1.txt new file mode 100644 index 00000000..8bd71a72 --- /dev/null +++ b/elpa/dashboard-20191210.1041/banners/1.txt @@ -0,0 +1,8 @@ + +######## ## ## ### ###### ###### +## ### ### ## ## ## ## ## ## +## #### #### ## ## ## ## +###### ## ### ## ## ## ## ###### +## ## ## ######### ## ## +## ## ## ## ## ## ## ## ## +######## ## ## ## ## ###### ###### diff --git a/elpa/dashboard-20191210.1041/banners/2.txt b/elpa/dashboard-20191210.1041/banners/2.txt new file mode 100644 index 00000000..73b761ba --- /dev/null +++ b/elpa/dashboard-20191210.1041/banners/2.txt @@ -0,0 +1,6 @@ + _______ .___ ___. ___ ______ _______. +| ____|| \/ | / \ / | / | +| |__ | \ / | / ^ \ | ,----' | (----` +| __| | |\/| | / /_\ \ | | \ \ +| |____ | | | | / _____ \ | `----.----) | +|_______||__| |__| /__/ \__\ \______|_______/ diff --git a/elpa/dashboard-20191210.1041/banners/3.txt b/elpa/dashboard-20191210.1041/banners/3.txt new file mode 100644 index 00000000..3abfd824 --- /dev/null +++ b/elpa/dashboard-20191210.1041/banners/3.txt @@ -0,0 +1,8 @@ + _______ _____ ______ ________ ________ ________ +|\ ___ \ |\ _ \ _ \|\ __ \|\ ____\|\ ____\ +\ \ __/|\ \ \\\__\ \ \ \ \|\ \ \ \___|\ \ \___|_ + \ \ \_|/_\ \ \\|__| \ \ \ __ \ \ \ \ \_____ \ + \ \ \_|\ \ \ \ \ \ \ \ \ \ \ \ \____\|____|\ \ + \ \_______\ \__\ \ \__\ \__\ \__\ \_______\____\_\ \ + \|_______|\|__| \|__|\|__|\|__|\|_______|\_________\ + \|_________| diff --git a/elpa/dashboard-20191210.1041/banners/emacs.png b/elpa/dashboard-20191210.1041/banners/emacs.png new file mode 100644 index 0000000000000000000000000000000000000000..718b071189247cffc3dd1482d388dcbe35783196 GIT binary patch literal 43759 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 R@xcH9002ovPDHLkV1oEFC}RKs literal 0 HcmV?d00001 diff --git a/elpa/dashboard-20191210.1041/banners/logo.png b/elpa/dashboard-20191210.1041/banners/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c9de00c705e2f4f16d2dc36ba7a7952d88c865ab GIT binary patch literal 32305 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 Q_y7O^07*qoM6N<$f@+AI_y7O^ literal 0 HcmV?d00001 diff --git a/elpa/dashboard-20191210.1041/dashboard-autoloads.el b/elpa/dashboard-20191210.1041/dashboard-autoloads.el new file mode 100644 index 00000000..cc682f5d --- /dev/null +++ b/elpa/dashboard-20191210.1041/dashboard-autoloads.el @@ -0,0 +1,41 @@ +;;; dashboard-autoloads.el --- automatically extracted autoloads +;; +;;; Code: + +(add-to-list 'load-path (directory-file-name + (or (file-name-directory #$) (car load-path)))) + + +;;;### (autoloads nil "dashboard" "dashboard.el" (0 0 0 0)) +;;; Generated autoloads from dashboard.el + +(autoload 'dashboard-setup-startup-hook "dashboard" "\ +Setup post initialization hooks. +If a command line argument is provided, +assume a filename and skip displaying Dashboard. + +\(fn)" nil nil) + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "dashboard" '("dashboard-"))) + +;;;*** + +;;;### (autoloads nil "dashboard-widgets" "dashboard-widgets.el" +;;;;;; (0 0 0 0)) +;;; Generated autoloads from dashboard-widgets.el + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "dashboard-widgets" '("dashboard-" "recentf-list"))) + +;;;*** + +;;;### (autoloads nil nil ("dashboard-pkg.el") (0 0 0 0)) + +;;;*** + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; coding: utf-8 +;; End: +;;; dashboard-autoloads.el ends here diff --git a/elpa/dashboard-20191210.1041/dashboard-pkg.el b/elpa/dashboard-20191210.1041/dashboard-pkg.el new file mode 100644 index 00000000..a6f14a62 --- /dev/null +++ b/elpa/dashboard-20191210.1041/dashboard-pkg.el @@ -0,0 +1,13 @@ +(define-package "dashboard" "20191210.1041" "A startup screen extracted from Spacemacs" + '((emacs "25.3") + (page-break-lines "0.11")) + :keywords + '("startup" "screen" "tools" "dashboard") + :authors + '(("Rakan Al-Hneiti")) + :maintainer + '("Rakan Al-Hneiti") + :url "https://github.com/emacs-dashboard/emacs-dashboard") +;; Local Variables: +;; no-byte-compile: t +;; End: diff --git a/elpa/dashboard-20191210.1041/dashboard-widgets.el b/elpa/dashboard-20191210.1041/dashboard-widgets.el new file mode 100644 index 00000000..016b743a --- /dev/null +++ b/elpa/dashboard-20191210.1041/dashboard-widgets.el @@ -0,0 +1,675 @@ +;;; dashboard-widgets.el --- A startup screen extracted from Spacemacs -*- lexical-binding: t -*- + +;; Copyright (c) 2016-2019 Rakan Al-Hneiti & Contributors +;; +;; Author: Rakan Al-Hneiti +;; URL: https://github.com/emacs-dashboard/emacs-dashboard +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 +;; +;; Created: October 05, 2016 +;; Package-Version: 1.7.0-SNAPSHOT +;; Keywords: startup, screen, tools, dashboard +;; Package-Requires: ((emacs "25.3") (page-break-lines "0.11")) +;;; Commentary: + +;; An extensible Emacs dashboard, with sections for +;; bookmarks, projectile projects, org-agenda and more. + +;;; Code: + +;; Compiler pacifier +(declare-function all-the-icons-icon-for-dir "ext:all-the-icons.el") +(declare-function all-the-icons-icon-for-file "ext:all-the-icons.el") +(declare-function bookmark-get-filename "ext:bookmark.el") +(declare-function bookmark-all-names "ext:bookmark.el") +(declare-function calendar-date-compare "ext:calendar.el") +(declare-function projectile-cleanup-known-projects "ext:projectile.el") +(declare-function projectile-load-known-projects "ext:projectile.el") +(declare-function projectile-mode "ext:projectile.el") +(declare-function projectile-relevant-known-projects "ext:projectile.el") +(declare-function org-agenda-format-item "ext:org-agenda.el") +(declare-function org-compile-prefix-format "ext:org-agenda.el") +(declare-function org-entry-is-done-p "ext:org.el") +(declare-function org-get-category "ext:org.el") +(declare-function org-get-deadline-time "ext:org.el") +(declare-function org-get-heading "ext:org.el") +(declare-function org-get-scheduled-time "ext:org.el") +(declare-function org-get-tags "ext:org.el") +(declare-function org-map-entries "ext:org.el") +(declare-function org-outline-level "ext:org.el") +(defvar all-the-icons-dir-icon-alist) +(defvar package-activated-list) + +(defcustom dashboard-page-separator "\n\f\n" + "Separator to use between the different pages." + :type 'string + :group 'dashboard) + +(defcustom dashboard-image-banner-max-height 0 + "Maximum height of banner image. + +This setting applies only if Emacs is compiled with Imagemagick +support. When value is non-zero the image banner will be resized +to the specified height, with aspect ratio preserved." + :type 'integer + :group 'dashboard) + +(defcustom dashboard-image-banner-max-width 0 + "Maximum width of banner image. + +This setting applies if Emacs is compiled with Imagemagick +support. When value is non-zero the image banner will be resized +to the specified width, with aspect ratio preserved." + :type 'integer + :group 'dashboard) + +(defcustom dashboard-set-heading-icons nil + "When non nil, heading sections will have icons." + :type 'boolean + :group 'dashboard) + +(defcustom dashboard-set-file-icons nil + "When non nil, file lists will have icons." + :type 'boolean + :group 'dashboard) + +(defcustom dashboard-set-navigator nil + "When non nil, a navigator will be displayed under the banner." + :type 'boolean + :group 'dashboard) + +(defcustom dashboard-set-init-info t + "When non nil, init info will be displayed under the banner." + :type 'boolean + :group 'dashboard) + +(defcustom dashboard-set-footer t + "When non nil, a footer will be displayed at the bottom." + :type 'boolean + :group 'dashboard) + +(defcustom dashboard-show-shortcuts t + "Whether to show shortcut keys for each section." + :type 'boolean + :group 'dashboard) + +(defcustom dashboard-org-agenda-categories nil + "Specify the Categories to consider when using agenda in dashboard. +Example: +'(\"Tasks\" \"Habits\")" + :type 'list + :group 'dashboard) + +(defconst dashboard-banners-directory + (concat (file-name-directory + (locate-library "dashboard")) + "/banners/")) + +(defconst dashboard-banner-official-png + (expand-file-name (concat dashboard-banners-directory "emacs.png")) + "Emacs banner image.") + +(defconst dashboard-banner-logo-png + (expand-file-name (concat dashboard-banners-directory "logo.png")) + "Emacs banner image.") + +(defconst dashboard-banner-length 75 + "Width of a banner.") + +(defvar dashboard-banner-logo-title "Welcome to Emacs!" + "Specify the startup banner.") + +(defvar dashboard-navigator-buttons nil + "Specify the navigator buttons. +The format is: 'icon title help action face prefix suffix'. + +Example: +'((\"☆\" \"Star\" \"Show stars\" (lambda (&rest _) (show-stars)) 'warning \"[\" \"]\"))") + +(defvar dashboard-init-info + ;; Check if package.el was loaded and if package loading was enabled + (if (bound-and-true-p package-alist) + (format "%d packages loaded in %s" + (length package-activated-list) (emacs-init-time)) + (if (and (boundp 'straight--profile-cache) (hash-table-p straight--profile-cache)) + (format "%d packages loaded in %s" + (hash-table-size straight--profile-cache) (emacs-init-time)) + (format "Emacs started in %s" (emacs-init-time)))) + "Init info with packages loaded and init time.") + +(defvar dashboard-footer + (let ((list '("The one true editor, Emacs!" + "Who the hell uses VIM anyway? Go Evil!" + "Free as free speech, free as free Beer" + "Richard Stallman is proud of you" + "Happy coding!" + "Vi Vi Vi, the editor of the beast" + "Welcome to the church of Emacs" + "While any text editor can save your files,\ + only Emacs can save your soul" + "I showed you my source code, pls respond" + ))) + (nth (random (1- (1+ (length list)))) list)) + "A footer with some short message.") + +(defvar dashboard-footer-icon + (if (and (display-graphic-p) + (or (fboundp 'all-the-icons-fileicon) + (require 'all-the-icons nil 'noerror))) + (all-the-icons-fileicon "emacs" + :height 1.1 + :v-adjust -0.05 + :face 'font-lock-keyword-face) + (propertize ">" 'face 'dashboard-footer)) + "Footer's icon.") + +(defvar dashboard-startup-banner 'official + "Specify the startup banner. +Default value is `official', it displays +the Emacs logo. `logo' displays Emacs alternative logo. +An integer value is the index of text +banner. A string value must be a path to a .PNG file. +If the value is nil then no banner is displayed.") + +(defvar dashboard-buffer-last-width nil + "Previous width of dashboard-buffer.") + +(defvar dashboard-item-generators '((recents . dashboard-insert-recents) + (bookmarks . dashboard-insert-bookmarks) + (projects . dashboard-insert-projects) + (agenda . dashboard-insert-agenda) + (registers . dashboard-insert-registers))) + +(defvar dashboard-items '((recents . 5) + (bookmarks . 5) + (agenda . 5)) + "Association list of items to show in the startup buffer. +Will be of the form `(list-type . list-size)`. +If nil it is disabled. Possible values for list-type are: +`recents' `bookmarks' `projects' `agenda' `registers'") + +(defvar dashboard-items-default-length 20 + "Length used for startup lists with otherwise unspecified bounds. +Set to nil for unbounded.") + +(defvar dashboard-heading-icons '((recents . "history") + (bookmarks . "bookmark") + (agenda . "calendar") + (projects . "rocket") + (registers . "database")) + "Association list for the icons of the heading sections. +Will be of the form `(list-type . icon-name-string)`. +If nil it is disabled. Possible values for list-type are: +`recents' `bookmarks' `projects' `agenda' `registers'") + +(defvar recentf-list nil) + +;; +;; Faces +;; +(defface dashboard-text-banner + '((t (:inherit font-lock-keyword-face))) + "Face used for text banners." + :group 'dashboard) + +(defface dashboard-banner-logo-title + '((t :inherit default)) + "Face used for the banner title." + :group 'dashboard) + +(defface dashboard-navigator + '((t (:inherit font-lock-keyword-face))) + "Face used for the navigator." + :group 'dashboard) + +(defface dashboard-heading + '((t (:inherit font-lock-keyword-face))) + "Face used for widget headings." + :group 'dashboard) + +(defface dashboard-footer + '((t (:inherit font-lock-doc-face))) + "Face used for widget headings." + :group 'dashboard) + +(define-obsolete-face-alias + 'dashboard-text-banner-face 'dashboard-text-banner "1.2.6") +(define-obsolete-face-alias + 'dashboard-banner-logo-title-face 'dashboard-banner-logo-title "1.2.6") +(define-obsolete-face-alias + 'dashboard-heading-face 'dashboard-heading "1.2.6") + +;; +;; Generic widget helpers +;; +(defun dashboard-subseq (seq start end) + "Return the subsequence of SEQ from START to END.. +Uses `cl-subseq`, but accounts for end points greater than the size of the +list. +Return entire list if `END' is omitted." + (let ((len (length seq))) + (cl-subseq seq start (and (number-or-marker-p end) + (min len end))))) + +(defmacro dashboard-insert-shortcut (shortcut-char + search-label + &optional no-next-line) + "Insert a shortcut SHORTCUT-CHAR for a given SEARCH-LABEL. +Optionally, provide NO-NEXT-LINE to move the cursor forward a line." + `(progn + (eval-when-compile (defvar dashboard-mode-map)) + (let ((sym (make-symbol (format "Jump to \"%s\"" ,search-label)))) + (fset sym (lambda () + (interactive) + (unless (search-forward ,search-label (point-max) t) + (search-backward ,search-label (point-min) t)) + ,@(unless no-next-line + '((forward-line 1))) + (back-to-indentation))) + (eval-after-load 'dashboard + (define-key dashboard-mode-map ,shortcut-char sym))))) + +(defun dashboard-append (msg &optional _messagebuf) + "Append MSG to dashboard buffer. +If MESSAGEBUF is not nil then MSG is also written in message buffer." + (with-current-buffer (get-buffer-create "*dashboard*") + (goto-char (point-max)) + (let ((buffer-read-only nil)) + (insert msg)))) + +(defun dashboard-modify-heading-icons (alist) + "Append ALIST items to dashboard-heading-icons to modify icons." + (dolist (icon alist) + (add-to-list 'dashboard-heading-icons icon))) + +(defun dashboard-insert-page-break () + "Insert a page break line in dashboard buffer." + (dashboard-append dashboard-page-separator)) + +(defun dashboard-insert-heading (heading &optional shortcut) + "Insert a widget HEADING in dashboard buffer, adding SHORTCUT if provided." + (when (and (display-graphic-p) + dashboard-set-heading-icons) + ;; Try loading `all-the-icons' + (unless (require 'all-the-icons nil 'noerror) + (error "Package `all-the-icons' isn't installed")) + + (insert (cond + ((string-equal heading "Recent Files:") + (all-the-icons-octicon (cdr (assoc 'recents dashboard-heading-icons)) + :height 1.2 :v-adjust 0.0 :face 'dashboard-heading)) + ((string-equal heading "Bookmarks:") + (all-the-icons-octicon (cdr (assoc 'bookmarks dashboard-heading-icons)) + :height 1.2 :v-adjust 0.0 :face 'dashboard-heading)) + ((or (string-equal heading "Agenda for today:") + (string-equal heading "Agenda for the coming week:")) + (all-the-icons-octicon (cdr (assoc 'agenda dashboard-heading-icons)) + :height 1.2 :v-adjust 0.0 :face 'dashboard-heading)) + ((string-equal heading "Registers:") + (all-the-icons-octicon (cdr (assoc 'registers dashboard-heading-icons)) + :height 1.2 :v-adjust 0.0 :face 'dashboard-heading)) + ((string-equal heading "Projects:") + (all-the-icons-octicon (cdr (assoc 'projects dashboard-heading-icons)) + :height 1.2 :v-adjust 0.0 :face 'dashboard-heading)) + (t " "))) + (insert " ")) + + (insert (propertize heading 'face 'dashboard-heading)) + (if shortcut (insert (format " (%s)" shortcut)))) + +(defun dashboard-center-line (string) + "Center a STRING accoring to it's size." + (insert (make-string (max 0 (floor (/ (- dashboard-banner-length + (+ (length string) 1)) 2))) ?\ ))) + +;; +;; BANNER +;; +(defun dashboard-insert-ascii-banner-centered (file) + "Insert banner from FILE." + (let ((ascii-banner + (with-temp-buffer + (insert-file-contents file) + (let ((banner-width 0)) + (while (not (eobp)) + (let ((line-length (- (line-end-position) (line-beginning-position)))) + (if (< banner-width line-length) + (setq banner-width line-length))) + (forward-line 1)) + (goto-char 0) + (let ((margin + (max 0 (floor (/ (- dashboard-banner-length banner-width) 2))))) + (while (not (eobp)) + (insert (make-string margin ?\ )) + (forward-line 1)))) + (buffer-string)))) + (put-text-property 0 (length ascii-banner) 'face 'dashboard-text-banner ascii-banner) + (insert ascii-banner))) + +(defun dashboard-insert-image-banner (banner) + "Display an image BANNER." + (when (file-exists-p banner) + (let* ((title dashboard-banner-logo-title) + (spec + (if (image-type-available-p 'imagemagick) + (apply 'create-image banner 'imagemagick nil + (append (when (> dashboard-image-banner-max-width 0) + (list :max-width dashboard-image-banner-max-width)) + (when (> dashboard-image-banner-max-height 0) + (list :max-height dashboard-image-banner-max-height)))) + (create-image banner))) + (size (image-size spec)) + (width (car size)) + (left-margin (max 0 (floor (- dashboard-banner-length width) 2)))) + (goto-char (point-min)) + (insert "\n") + (insert (make-string left-margin ?\ )) + (insert-image spec) + (insert "\n\n") + (when title + (dashboard-center-line title) + (insert (format "%s\n\n" (propertize title 'face 'dashboard-banner-logo-title))))))) + +;; +;; INIT INFO +;; +(defun dashboard-insert-init-info () + "Insert init info when dashboard-set-init-info is t." + (when dashboard-set-init-info + (dashboard-center-line dashboard-init-info) + (insert + (propertize dashboard-init-info 'face 'font-lock-comment-face)))) + +(defun dashboard-get-banner-path (index) + "Return the full path to banner with index INDEX." + (concat dashboard-banners-directory (format "%d.txt" index))) + +(defun dashboard-choose-banner () + "Return the full path of a banner based on the dotfile value." + (when dashboard-startup-banner + (cond ((eq 'official dashboard-startup-banner) + (if (and (display-graphic-p) (image-type-available-p 'png)) + dashboard-banner-official-png + (dashboard-get-banner-path 1))) + ((eq 'logo dashboard-startup-banner) + (if (and (display-graphic-p) (image-type-available-p 'png)) + dashboard-banner-logo-png + (dashboard-get-banner-path 1))) + ((integerp dashboard-startup-banner) + (dashboard-get-banner-path dashboard-startup-banner)) + ((and dashboard-startup-banner + (image-type-available-p (intern (file-name-extension + dashboard-startup-banner))) + (display-graphic-p)) + (if (file-exists-p dashboard-startup-banner) + dashboard-startup-banner + (message (format "could not find banner %s" + dashboard-startup-banner)) + (dashboard-get-banner-path 1))) + (t (dashboard-get-banner-path 1))))) + +(defun dashboard-insert-banner () + "Insert Banner at the top of the dashboard." + (goto-char (point-max)) + (let ((banner (dashboard-choose-banner)) + (buffer-read-only nil)) + (progn + (when banner + (if (image-type-available-p (intern (file-name-extension banner))) + (dashboard-insert-image-banner banner) + (dashboard-insert-ascii-banner-centered banner)) + (dashboard-insert-navigator) + (dashboard-insert-init-info))))) + +(defun dashboard-insert-navigator () + "Insert Navigator of the dashboard." + (when (and dashboard-set-navigator dashboard-navigator-buttons) + (dolist (line dashboard-navigator-buttons) + (dolist (btn line) + (let* ((icon (car btn)) + (title (cadr btn)) + (help (or (cadr (cdr btn)) "")) + (action (or (cadr (cddr btn)) #'ignore)) + (face (or (cadr (cddr (cdr btn))) 'dashboard-navigator)) + (prefix (or (cadr (cddr (cddr btn))) (propertize "[" 'face face))) + (suffix (or (cadr (cddr (cddr (cdr btn)))) (propertize "]" 'face face)))) + (widget-create 'item + :tag (concat + (when icon + (propertize icon 'face `(:inherit + ,(get-text-property 0 'face icon) + :inherit + ,face))) + (when (and icon title + (not (string-equal icon "")) + (not (string-equal title ""))) + (propertize " " 'face 'variable-pitch)) + (when title (propertize title 'face face))) + :help-echo help + :action action + :button-face `(:underline nil) + :mouse-face 'highlight + :button-prefix prefix + :button-suffix suffix + :format "%[%t%]") + (insert " "))) + (let* ((width (current-column))) + (beginning-of-line) + (dashboard-center-line (make-string width ?\s)) + (end-of-line)) + (insert "\n")) + (insert "\n"))) + +(defmacro dashboard-insert-section (section-name list list-size shortcut action &rest widget-params) + "Add a section with SECTION-NAME and LIST of LIST-SIZE items to the dashboard. +SHORTCUT is the keyboard shortcut used to access the section. +ACTION is theaction taken when the user activates the widget button. +WIDGET-PARAMS are passed to the \"widget-create\" function." + `(progn + (dashboard-insert-heading ,section-name + (if (and ,list dashboard-show-shortcuts) ,shortcut)) + (if ,list + (when (dashboard-insert-section-list + ,section-name + (dashboard-subseq ,list 0 ,list-size) + ,action + ,@widget-params) + (dashboard-insert-shortcut ,shortcut ,section-name)) + (insert "\n --- No items ---")))) + +;; +;; Section list +;; +(defmacro dashboard-insert-section-list (section-name list action &rest rest) + "Insert into SECTION-NAME a LIST of items, expanding ACTION and passing REST to widget creation." + `(when (car ,list) + (mapc + (lambda (el) + (let ((tag ,@rest)) + (insert "\n ") + + (when (and (display-graphic-p) + dashboard-set-file-icons + (featurep 'all-the-icons)) + (let* ((path (car (last (split-string ,@rest " - ")))) + (icon (if (and (not (file-remote-p path)) + (file-directory-p path)) + (all-the-icons-icon-for-dir path nil "") + (cond + ((string-equal ,section-name "Agenda for today:") + (all-the-icons-octicon "primitive-dot" :height 1.0 :v-adjust 0.01)) + ((file-remote-p path) + (all-the-icons-octicon "radio-tower" :height 1.1 :v-adjust 0.01)) + (t (all-the-icons-icon-for-file (file-name-nondirectory path))))))) + (setq tag (concat icon " " ,@rest)))) + + (widget-create 'item + :tag tag + :action ,action + :button-face `(:underline nil) + :mouse-face 'highlight + :button-prefix "" + :button-suffix "" + :format "%[%t%]"))) + ,list))) + +;; Footer +(defun dashboard-insert-footer () + "Insert footer of dashboard." + (when dashboard-set-footer + (insert "\n") + (dashboard-center-line dashboard-footer) + (insert dashboard-footer-icon) + (insert " ") + (insert (propertize dashboard-footer 'face 'dashboard-footer)) + (insert "\n"))) + +;; +;; Recentf +;; +(defun dashboard-insert-recents (list-size) + "Add the list of LIST-SIZE items from recently edited files." + (recentf-mode) + (dashboard-insert-section + "Recent Files:" + recentf-list + list-size + "r" + `(lambda (&rest ignore) (find-file-existing ,el)) + (abbreviate-file-name el))) + +;; +;; Bookmarks +;; +(defun dashboard-insert-bookmarks (list-size) + "Add the list of LIST-SIZE items of bookmarks." + (require 'bookmark) + (dashboard-insert-section + "Bookmarks:" + (dashboard-subseq (bookmark-all-names) + 0 list-size) + list-size + "m" + `(lambda (&rest ignore) (bookmark-jump ,el)) + (let ((file (bookmark-get-filename el))) + (if file + (format "%s - %s" el (abbreviate-file-name file)) + el)))) + +;; +;; Projectile +;; +(defun dashboard-insert-projects (list-size) + "Add the list of LIST-SIZE items of projects." + (require 'projectile) + (projectile-cleanup-known-projects) + (projectile-load-known-projects) + (dashboard-insert-section + "Projects:" + (dashboard-subseq (projectile-relevant-known-projects) + 0 list-size) + list-size + "p" + `(lambda (&rest ignore) (projectile-switch-project-by-name ,el)) + (abbreviate-file-name el))) + +;; +;; Org Agenda +;; +(defun dashboard-timestamp-to-gregorian-date (timestamp) + "Convert TIMESTAMP to a gregorian date. + +The result can be used with functions like +`calendar-date-compare'." + (let ((decoded-timestamp (decode-time timestamp))) + (list (nth 4 decoded-timestamp) + (nth 3 decoded-timestamp) + (nth 5 decoded-timestamp)))) + +(defun dashboard-date-due-p (timestamp &optional due-date) + "Check if TIMESTAMP is today or in the past. + +If DUE-DATE is nil, compare TIMESTAMP to today; otherwise, +compare to the date in DUE-DATE. + +The time part of both TIMESTAMP and DUE-DATE is ignored, only the +date part is considered." + (unless due-date + (setq due-date (current-time))) + (setq due-date (time-add due-date 86400)) + (let* ((gregorian-date (dashboard-timestamp-to-gregorian-date timestamp)) + (gregorian-due-date (dashboard-timestamp-to-gregorian-date due-date))) + (calendar-date-compare (list gregorian-date) + (list gregorian-due-date)))) + +(defun dashboard-get-agenda () + "Get agenda items for today or for a week from now." + (org-compile-prefix-format 'agenda) + (let ((due-date nil)) + (if (and (boundp 'show-week-agenda-p) show-week-agenda-p) + (setq due-date (time-add (current-time) (* 86400 7))) + (setq due-date nil) + ) + (let* ((filtered-entries nil)) + (org-map-entries + (lambda () + (let* ((schedule-time (org-get-scheduled-time (point))) + (deadline-time (org-get-deadline-time (point))) + (item (org-agenda-format-item + (format-time-string "%Y-%m-%d" schedule-time) + (org-get-heading t t) + (org-outline-level) + (org-get-category) + (org-get-tags) + t)) + (loc (point)) + (file (buffer-file-name))) + (if (or (equal dashboard-org-agenda-categories nil) + (member (org-get-category) dashboard-org-agenda-categories)) + (when (and (not (org-entry-is-done-p)) + (or (and schedule-time (dashboard-date-due-p schedule-time due-date)) + (and deadline-time (dashboard-date-due-p deadline-time due-date)))) + (setq filtered-entries + (append filtered-entries + (list (list item schedule-time deadline-time loc file)))))))) + nil + 'agenda) + filtered-entries))) + +(defun dashboard-insert-agenda (list-size) + "Add the list of LIST-SIZE items of agenda." + (require 'org-agenda) + (require 'calendar) + (let ((agenda (dashboard-get-agenda))) + (dashboard-insert-section + (or (and (boundp 'show-week-agenda-p) show-week-agenda-p "Agenda for the coming week:") + "Agenda for today:") + agenda + list-size + "a" + `(lambda (&rest ignore) + (let ((buffer (find-file-other-window (nth 4 ',el)))) + (with-current-buffer buffer + (goto-char (nth 3 ',el))) + (switch-to-buffer buffer))) + (format "%s" (nth 0 el))))) + +;; +;; Registers +;; +(defun dashboard-insert-registers (list-size) + "Add the list of LIST-SIZE items of registers." + (require 'register) + (dashboard-insert-section + "Registers:" + register-alist + list-size + "e" + (lambda (&rest _ignore) (jump-to-register (car el))) + (format "%c - %s" (car el) (register-describe-oneline (car el))))) + +(provide 'dashboard-widgets) +;;; dashboard-widgets.el ends here diff --git a/elpa/dashboard-20191210.1041/dashboard-widgets.elc b/elpa/dashboard-20191210.1041/dashboard-widgets.elc new file mode 100644 index 0000000000000000000000000000000000000000..acf40eaf6ef1fd1efa3cb8f75a78d00ef65245af GIT binary patch literal 26001 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 literal 0 HcmV?d00001 diff --git a/elpa/dashboard-20191210.1041/dashboard.el b/elpa/dashboard-20191210.1041/dashboard.el new file mode 100644 index 00000000..b55f0ea2 --- /dev/null +++ b/elpa/dashboard-20191210.1041/dashboard.el @@ -0,0 +1,254 @@ +;;; dashboard.el --- A startup screen extracted from Spacemacs -*- lexical-binding: t -*- + +;; Copyright (c) 2016-2019 Rakan Al-Hneiti & Contributors +;; +;; Author: Rakan Al-Hneiti +;; URL: https://github.com/emacs-dashboard/emacs-dashboard +;; +;; This file is not part of GNU Emacs. +;; +;;; License: GPLv3 +;; +;; Created: October 05, 2016 +;; Package-Version: 1.7.0-SNAPSHOT +;; Keywords: startup, screen, tools, dashboard +;; Package-Requires: ((emacs "25.3") (page-break-lines "0.11")) +;;; Commentary: + +;; An extensible Emacs dashboard, with sections for +;; bookmarks, projectile projects, org-agenda and more. + +;;; Code: + +(require 'seq) +(require 'page-break-lines) +(require 'recentf) + +(require 'dashboard-widgets) + +;; Custom splash screen +(defvar dashboard-mode-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "C-p") 'dashboard-previous-line) + (define-key map (kbd "C-n") 'dashboard-next-line) + (define-key map (kbd "") 'dashboard-previous-line) + (define-key map (kbd "") 'dashboard-next-line) + (define-key map (kbd "k") 'dashboard-previous-line) + (define-key map (kbd "j") 'dashboard-next-line) + (define-key map [tab] 'widget-forward) + (define-key map (kbd "C-i") 'widget-forward) + (define-key map [backtab] 'widget-backward) + (define-key map (kbd "RET") 'dashboard-return) + (define-key map [down-mouse-1] 'widget-button-click) + (define-key map (kbd "g") #'dashboard-refresh-buffer) + (define-key map (kbd "}") #'dashboard-next-section) + (define-key map (kbd "{") #'dashboard-previous-section) + map) + "Keymap for dashboard mode.") + +(define-derived-mode dashboard-mode special-mode "Dashboard" + "Dashboard major mode for startup screen. +\\ +" + :group 'dashboard + :syntax-table nil + :abbrev-table nil + (whitespace-mode -1) + (linum-mode -1) + (page-break-lines-mode 1) + (setq inhibit-startup-screen t) + (setq buffer-read-only t + truncate-lines t)) + +(defgroup dashboard nil + "Extensible startup screen." + :group 'applications) + +(defcustom dashboard-center-content nil + "Whether to center content within the window." + :type 'boolean + :group 'dashboard) + +(defconst dashboard-buffer-name "*dashboard*" + "Dashboard's buffer name.") + +(defvar dashboard--section-starts nil + "List of section starting positions.") + +(defun dashboard-previous-section () + "Navigate back to previous section." + (interactive) + (let ((current-section-start nil) + (current-position (point)) + (previous-section-start nil)) + (dolist (elt dashboard--section-starts) + (when (and current-section-start + (not previous-section-start)) + (setq previous-section-start elt)) + (when (and (not current-section-start) + (< elt current-position)) + (setq current-section-start elt))) + (goto-char (if (eq current-position current-section-start) + previous-section-start + current-section-start)))) + +(defun dashboard-next-section () + "Navigate forward to next section." + (interactive) + (let ((current-position (point)) + (next-section-start nil) + (section-starts (reverse dashboard--section-starts))) + (dolist (elt section-starts) + (when (and (not next-section-start) + (> elt current-position)) + (setq next-section-start elt))) + (when next-section-start + (goto-char next-section-start)))) + +(defun dashboard-previous-line (arg) + "Move point up and position it at that line’s item. +Optional prefix ARG says how many lines to move; default is one line." + (interactive "^p") + (dashboard-next-line (- arg))) + +(defun dashboard-next-line (arg) + "Move point down and position it at that line’s item. +Optional prefix ARG says how many lines to move; default is one line." + ;; code heavily inspired by `dired-next-line' + (interactive "^p") + (let ((line-move-visual nil) + (goal-column nil)) + (line-move arg t)) + ;; We never want to move point into an invisible line. Dashboard doesn’t + ;; use invisible text currently but when it does we’re ready! + (while (and (invisible-p (point)) + (not (if (and arg (< arg 0)) (bobp) (eobp)))) + (forward-char (if (and arg (< arg 0)) -1 1))) + (beginning-of-line-text)) + +(defun dashboard-return () + "Hit return key in dashboard buffer." + (interactive) + (let ((start-ln (line-number-at-pos)) + (fd-cnt 0) + (diff-line nil) + (entry-pt nil)) + (save-excursion + (while (and (not diff-line) + (not (= (point) (point-min))) + (not (get-char-property (point) 'button)) + (not (= (point) (point-max)))) + (forward-char 1) + (setq fd-cnt (1+ fd-cnt)) + (unless (= start-ln (line-number-at-pos)) + (setq diff-line t))) + (unless (= (point) (point-max)) + (setq entry-pt (point)))) + (when (= fd-cnt 1) + (setq entry-pt (1- (point)))) + (if entry-pt + (widget-button-press entry-pt) + (call-interactively #'widget-button-press)))) + +(defun dashboard-maximum-section-length () + "For the just-inserted section, calculate the length of the longest line." + (let ((max-line-length 0)) + (save-excursion + (dashboard-previous-section) + (while (not (eobp)) + (setq max-line-length + (max max-line-length + (- (line-end-position) (line-beginning-position)))) + (forward-line))) + max-line-length)) + +(defun dashboard-insert-startupify-lists () + "Insert the list of widgets into the buffer." + (interactive) + (let ((buffer-exists (buffer-live-p (get-buffer dashboard-buffer-name))) + (recentf-is-on (recentf-enabled-p)) + (origial-recentf-list recentf-list) + (dashboard-num-recents (or (cdr (assoc 'recents dashboard-items)) 0)) + (max-line-length 0)) + ;; disable recentf mode, + ;; so we don't flood the recent files list with org mode files + ;; do this by making a copy of the part of the list we'll use + ;; let dashboard widgets change that + ;; then restore the orginal list afterwards + ;; (this avoids many saves/loads that would result from + ;; disabling/enabling recentf-mode) + (if recentf-is-on + (setq recentf-list (seq-take recentf-list dashboard-num-recents))) + (when (or (not (eq dashboard-buffer-last-width (window-width))) + (not buffer-exists)) + (setq dashboard-banner-length (window-width) + dashboard-buffer-last-width dashboard-banner-length) + (with-current-buffer (get-buffer-create dashboard-buffer-name) + (let ((buffer-read-only nil)) + (erase-buffer) + (dashboard-insert-banner) + (dashboard-insert-page-break) + (setq dashboard--section-starts nil) + (mapc (lambda (els) + (let* ((el (or (car-safe els) els)) + (list-size + (or (cdr-safe els) + dashboard-items-default-length)) + (item-generator + (cdr-safe (assoc el dashboard-item-generators)))) + (add-to-list 'dashboard--section-starts (point)) + (funcall item-generator list-size) + (setq max-line-length + (max max-line-length (dashboard-maximum-section-length))) + (dashboard-insert-page-break))) + dashboard-items) + (when dashboard-center-content + (goto-char (car (last dashboard--section-starts))) + (let ((margin (floor (/ (max (- (window-width) max-line-length) 0) 2)))) + (while (not (eobp)) + (and (not (eq ? (char-after))) + (insert (make-string margin ?\ ))) + (forward-line 1)))) + (dashboard-insert-footer)) + (dashboard-mode) + (goto-char (point-min)))) + (if recentf-is-on + (setq recentf-list origial-recentf-list)))) + +(add-hook 'window-setup-hook + (lambda () + (add-hook 'window-size-change-functions 'dashboard-resize-on-hook) + (dashboard-resize-on-hook))) + +(defun dashboard-refresh-buffer () + "Refresh buffer." + (interactive) + (kill-buffer dashboard-buffer-name) + (dashboard-insert-startupify-lists) + (switch-to-buffer dashboard-buffer-name)) + +(defun dashboard-resize-on-hook (&optional _) + "Re-render dashboard on window size change." + (let ((space-win (get-buffer-window dashboard-buffer-name)) + (frame-win (frame-selected-window))) + (when (and space-win + (not (window-minibuffer-p frame-win))) + (with-selected-window space-win + (dashboard-insert-startupify-lists))))) + +;;;###autoload +(defun dashboard-setup-startup-hook () + "Setup post initialization hooks. +If a command line argument is provided, +assume a filename and skip displaying Dashboard." + (when (< (length command-line-args) 2 ) + (add-hook 'after-init-hook (lambda () + ;; Display useful lists of items + (dashboard-insert-startupify-lists))) + (add-hook 'emacs-startup-hook '(lambda () + (switch-to-buffer "*dashboard*") + (goto-char (point-min)) + (redisplay))))) + +(provide 'dashboard) +;;; dashboard.el ends here diff --git a/elpa/dashboard-20191210.1041/dashboard.elc b/elpa/dashboard-20191210.1041/dashboard.elc new file mode 100644 index 0000000000000000000000000000000000000000..2e551e64245f117261302a2f6a2f99831184714f GIT binary patch literal 7636 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")) diff --git a/elpa/leuven-theme-20190831.1008/leuven-theme.el b/elpa/leuven-theme-20191211.1608/leuven-theme.el similarity index 99% rename from elpa/leuven-theme-20190831.1008/leuven-theme.el rename to elpa/leuven-theme-20191211.1608/leuven-theme.el index 2d1f7460..be04efef 100644 --- a/elpa/leuven-theme-20190831.1008/leuven-theme.el +++ b/elpa/leuven-theme-20191211.1608/leuven-theme.el @@ -4,7 +4,7 @@ ;; Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> ;; URL: https://github.com/fniessen/emacs-leuven-theme -;; Version: 20190831.1207 +;; Version: 20191211.1707 ;; Keywords: color theme ;; This file is part of GNU Emacs. @@ -364,10 +364,11 @@ more...") `(bbdb-field-name ((,class (:weight bold :foreground "steel blue")))) `(bbdb-field-value ((,class (:foreground "steel blue")))) `(bbdb-name ((,class (:underline t :foreground "#FF6633")))) - `(bmkp-light-fringe-autonamed ((,class (:foreground "#5A5A5A" :background "#D4D4D4")))) `(bmkp-light-autonamed ((,class (:background "#F0F0F0")))) + `(bmkp-light-fringe-autonamed ((,class (:foreground "#5A5A5A" :background "#D4D4D4")))) `(bmkp-light-fringe-non-autonamed ((,class (:foreground "#FFFFCC" :background "#01FFFB")))) ; default `(bmkp-light-non-autonamed ((,class (:background "#BFFFFE")))) + `(bmkp-no-local ((,class (:background "pink")))) `(browse-kill-ring-separator-face ((,class (:foreground "red")))) `(calendar-month-header ((,class (:weight bold :foreground "#4F4A3D" :background "#FFFFCC")))) `(calendar-today ((,class (:weight bold :foreground "#4F4A3D" :background "#FFFFCC")))) diff --git a/elpa/page-break-lines-20190519.2238/page-break-lines-autoloads.el b/elpa/page-break-lines-20190519.2238/page-break-lines-autoloads.el new file mode 100644 index 00000000..49e25534 --- /dev/null +++ b/elpa/page-break-lines-20190519.2238/page-break-lines-autoloads.el @@ -0,0 +1,89 @@ +;;; page-break-lines-autoloads.el --- automatically extracted autoloads +;; +;;; Code: + +(add-to-list 'load-path (directory-file-name + (or (file-name-directory #$) (car load-path)))) + + +;;;### (autoloads nil "page-break-lines" "page-break-lines.el" (0 +;;;;;; 0 0 0)) +;;; Generated autoloads from page-break-lines.el + +(defvar page-break-lines-char 9472 "\ +Character used to render page break lines.") + +(custom-autoload 'page-break-lines-char "page-break-lines" t) + +(defvar page-break-lines-lighter " PgLn" "\ +Mode-line indicator for `page-break-lines-mode'.") + +(custom-autoload 'page-break-lines-lighter "page-break-lines" t) + +(defvar page-break-lines-max-width nil "\ +If non-nil, maximum width (in characters) of page break indicator. +If nil, indicator will span the width of the frame.") + +(custom-autoload 'page-break-lines-max-width "page-break-lines" t) + +(defvar page-break-lines-modes '(emacs-lisp-mode lisp-mode scheme-mode compilation-mode outline-mode help-mode) "\ +Modes in which to enable `page-break-lines-mode'.") + +(custom-autoload 'page-break-lines-modes "page-break-lines" t) + +(defface page-break-lines '((t :inherit font-lock-comment-face :bold nil :italic nil)) "\ +Face used to colorize page break lines. +If using :bold or :italic, please ensure `page-break-lines-char' +is available in that variant of your font, otherwise it may be +displayed as a junk character." :group (quote page-break-lines)) + +(autoload 'page-break-lines-mode "page-break-lines" "\ +Toggle Page Break Lines mode. + +In Page Break mode, page breaks (^L characters) are displayed as a +horizontal line of `page-break-lines-char' characters. + +\(fn &optional ARG)" t nil) + +(define-obsolete-function-alias 'turn-on-page-break-lines-mode 'page-break-lines-mode) + +(autoload 'page-break-lines-mode-maybe "page-break-lines" "\ +Enable `page-break-lines-mode' in the current buffer if desired. +When `major-mode' is listed in `page-break-lines-modes', then +`page-break-lines-mode' will be enabled. + +\(fn)" nil nil) + +(defvar global-page-break-lines-mode nil "\ +Non-nil if Global Page-Break-Lines mode is enabled. +See the `global-page-break-lines-mode' command +for a description of this minor mode. +Setting this variable directly does not take effect; +either customize it (see the info node `Easy Customization') +or call the function `global-page-break-lines-mode'.") + +(custom-autoload 'global-page-break-lines-mode "page-break-lines" nil) + +(autoload 'global-page-break-lines-mode "page-break-lines" "\ +Toggle Page-Break-Lines mode in all buffers. +With prefix ARG, enable Global Page-Break-Lines mode if ARG is positive; +otherwise, disable it. If called from Lisp, enable the mode if +ARG is omitted or nil. + +Page-Break-Lines mode is enabled in all buffers where +`page-break-lines-mode-maybe' would do it. +See `page-break-lines-mode' for more information on Page-Break-Lines mode. + +\(fn &optional ARG)" t nil) + +(if (fboundp 'register-definition-prefixes) (register-definition-prefixes "page-break-lines" '("page-break-lines--update-display-table"))) + +;;;*** + +;; Local Variables: +;; version-control: never +;; no-byte-compile: t +;; no-update-autoloads: t +;; coding: utf-8 +;; End: +;;; page-break-lines-autoloads.el ends here diff --git a/elpa/page-break-lines-20190519.2238/page-break-lines-pkg.el b/elpa/page-break-lines-20190519.2238/page-break-lines-pkg.el new file mode 100644 index 00000000..8d71ac4f --- /dev/null +++ b/elpa/page-break-lines-20190519.2238/page-break-lines-pkg.el @@ -0,0 +1,2 @@ +;;; -*- no-byte-compile: t -*- +(define-package "page-break-lines" "20190519.2238" "Display ^L page breaks as tidy horizontal lines" '((emacs "24.4")) :commit "2e1d274e11071bb8daea4d6f4c0369c84466de7a" :keywords '("convenience" "faces") :authors '(("Steve Purcell" . "steve@sanityinc.com")) :maintainer '("Steve Purcell" . "steve@sanityinc.com") :url "https://github.com/purcell/page-break-lines") diff --git a/elpa/page-break-lines-20190519.2238/page-break-lines.el b/elpa/page-break-lines-20190519.2238/page-break-lines.el new file mode 100644 index 00000000..c096a7ef --- /dev/null +++ b/elpa/page-break-lines-20190519.2238/page-break-lines.el @@ -0,0 +1,185 @@ +;;; page-break-lines.el --- Display ^L page breaks as tidy horizontal lines + +;; Copyright (C) 2012-2015 Steve Purcell + +;; Author: Steve Purcell +;; URL: https://github.com/purcell/page-break-lines +;; Package-Version: 20190519.2238 +;; Package-X-Original-Version: 0 +;; Package-Requires: ((emacs "24.4")) +;; Keywords: convenience, faces + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; This library provides a global mode which displays form feed +;; characters as horizontal rules. + +;; Install from Melpa or Marmalade, or add to `load-path' and use +;; (require 'page-break-lines). + +;; Use `page-break-lines-mode' to enable the mode in specific buffers, +;; or customize `page-break-lines-modes' and enable the mode globally with +;; `global-page-break-lines-mode'. + +;; Issues and limitations: + +;; If `page-break-lines-char' is displayed at a different width to +;; regular characters, the rule may be either too short or too long: +;; rules may then wrap if `truncate-lines' is nil. On some systems, +;; Emacs may erroneously choose a different font for the page break +;; symbol, which choice can be overridden using code such as: + +;; (set-fontset-font "fontset-default" +;; (cons page-break-lines-char page-break-lines-char) +;; (face-attribute 'default :family)) + +;; Use `describe-char' on a page break char to determine whether this +;; is the case. + +;; Additionally, the use of `text-scale-increase' or +;; `text-scale-decrease' will cause the rule width to be incorrect, +;; because the reported window width (in characters) will continue to +;; be the width in the frame's default font, not the scaled font used to +;; display the rule. + +;; Adapted from code http://www.emacswiki.org/emacs/PageBreaks + +;;; Code: + +(defgroup page-break-lines nil + "Display ugly ^L page breaks as tidy horizontal lines." + :prefix "page-break-lines-" + :group 'faces) + +;;;###autoload +(defcustom page-break-lines-char ?─ + "Character used to render page break lines." + :type 'character + :group 'page-break-lines) + +;;;###autoload +(defcustom page-break-lines-lighter " PgLn" + "Mode-line indicator for `page-break-lines-mode'." + :type '(choice (const :tag "No lighter" "") string) + :group 'page-break-lines) + +;;;###autoload +(defcustom page-break-lines-max-width nil + "If non-nil, maximum width (in characters) of page break indicator. +If nil, indicator will span the width of the frame." + :type '(choice integer (const :tag "Full width" nil)) + :group 'page-break-lines) + +;;;###autoload +(defcustom page-break-lines-modes + '(emacs-lisp-mode lisp-mode scheme-mode compilation-mode outline-mode help-mode) + "Modes in which to enable `page-break-lines-mode'." + :type '(repeat symbol) + :group 'page-break-lines) + +;;;###autoload +(defface page-break-lines + '((t :inherit font-lock-comment-face :bold nil :italic nil)) + "Face used to colorize page break lines. +If using :bold or :italic, please ensure `page-break-lines-char' +is available in that variant of your font, otherwise it may be +displayed as a junk character." + :group 'page-break-lines) + + + +;;;###autoload +(define-minor-mode page-break-lines-mode + "Toggle Page Break Lines mode. + +In Page Break mode, page breaks (^L characters) are displayed as a +horizontal line of `page-break-lines-char' characters." + :lighter page-break-lines-lighter + :group 'page-break-lines + (page-break-lines--update-display-tables)) + +;;;###autoload +(define-obsolete-function-alias 'turn-on-page-break-lines-mode 'page-break-lines-mode) + +(dolist (hook '(window-configuration-change-hook + window-size-change-functions + after-setting-font-hook + display-line-numbers-mode-hook)) + (add-hook hook 'page-break-lines--update-display-tables)) + + + +(defun page-break-lines--update-display-table (window) + "Modify a display-table that displays page-breaks prettily. +If the buffer inside WINDOW has `page-break-lines-mode' enabled, +its display table will be modified as necessary." + (with-current-buffer (window-buffer window) + (with-selected-window window + (if page-break-lines-mode + (progn + (unless buffer-display-table + (setq buffer-display-table (make-display-table))) + (let ((default-height (face-attribute 'default :height nil 'default))) + (set-face-attribute 'page-break-lines nil :height default-height) + (let* ((cwidth (char-width page-break-lines-char)) + (wwidth-pix (- (window-width nil t) + (if (bound-and-true-p display-line-numbers) + (line-number-display-width t) + 0))) + (width (- (/ wwidth-pix (frame-char-width) cwidth) + (if (display-graphic-p) 0 1))) + (width (if page-break-lines-max-width + (min width page-break-lines-max-width) + width)) + (glyph (make-glyph-code page-break-lines-char 'page-break-lines)) + (new-display-entry (vconcat (make-list width glyph)))) + (unless (equal new-display-entry (elt buffer-display-table ?\^L)) + (aset buffer-display-table ?\^L new-display-entry))))) + (when (and (apply 'derived-mode-p page-break-lines-modes) + buffer-display-table) + (aset buffer-display-table ?\^L nil)))))) + +(defun page-break-lines--update-display-tables (&optional frame) + "Function called for updating display table in windows of FRAME." + (unless (minibufferp) + (mapc 'page-break-lines--update-display-table (window-list frame 'no-minibuffer)))) + + + +;;;###autoload +(defun page-break-lines-mode-maybe () + "Enable `page-break-lines-mode' in the current buffer if desired. +When `major-mode' is listed in `page-break-lines-modes', then +`page-break-lines-mode' will be enabled." + (if (and (not (minibufferp)) + (apply 'derived-mode-p page-break-lines-modes)) + (page-break-lines-mode 1))) + +;;;###autoload +(define-global-minor-mode global-page-break-lines-mode + page-break-lines-mode page-break-lines-mode-maybe + :require 'page-break-lines + :group 'page-break-lines) + + +(provide 'page-break-lines) + +;; Local Variables: +;; coding: utf-8 +;; checkdoc-minor-mode: t +;; End: + +;;; page-break-lines.el ends here diff --git a/elpa/page-break-lines-20190519.2238/page-break-lines.elc b/elpa/page-break-lines-20190519.2238/page-break-lines.elc new file mode 100644 index 0000000000000000000000000000000000000000..91fa9716b4a86dfd5146b6a6fbbe819b068635ea GIT binary patch literal 9964 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 EFN7Ycp8x;= literal 0 HcmV?d00001 diff --git a/elpa/request-20191127.1554/request-pkg.el b/elpa/request-20191127.1554/request-pkg.el deleted file mode 100644 index 47f03166..00000000 --- a/elpa/request-20191127.1554/request-pkg.el +++ /dev/null @@ -1,2 +0,0 @@ -;;; -*- no-byte-compile: t -*- -(define-package "request" "20191127.1554" "Compatible layer for URL request in Emacs" '((emacs "24.4")) :commit "7eff9e7cc2809f41be4d6b9f732e2b06adb42628" :authors '(("Takafumi Arakaki ")) :maintainer '("Takafumi Arakaki ") :url "https://github.com/tkf/emacs-request") diff --git a/elpa/request-20191127.1554/request-autoloads.el b/elpa/request-20191211.2051/request-autoloads.el similarity index 100% rename from elpa/request-20191127.1554/request-autoloads.el rename to elpa/request-20191211.2051/request-autoloads.el diff --git a/elpa/request-20191211.2051/request-pkg.el b/elpa/request-20191211.2051/request-pkg.el new file mode 100644 index 00000000..73508a3a --- /dev/null +++ b/elpa/request-20191211.2051/request-pkg.el @@ -0,0 +1,2 @@ +;;; -*- no-byte-compile: t -*- +(define-package "request" "20191211.2051" "Compatible layer for URL request in Emacs" '((emacs "24.4")) :commit "d2957086f5012e8a5dd5cfaedf8fec778f69e6e2" :authors '(("Takafumi Arakaki ")) :maintainer '("Takafumi Arakaki ") :url "https://github.com/tkf/emacs-request") diff --git a/elpa/request-20191127.1554/request.el b/elpa/request-20191211.2051/request.el similarity index 96% rename from elpa/request-20191127.1554/request.el rename to elpa/request-20191211.2051/request.el index 4149dc4f..2a27d8af 100644 --- a/elpa/request-20191127.1554/request.el +++ b/elpa/request-20191211.2051/request.el @@ -6,7 +6,7 @@ ;; Author: Takafumi Arakaki ;; URL: https://github.com/tkf/emacs-request -;; Package-Version: 20191127.1554 +;; Package-Version: 20191211.2051 ;; Package-Requires: ((emacs "24.4")) ;; Version: 0.3.2 @@ -632,6 +632,12 @@ then send to PARSER." (setf (request-response-data response) (if parser (funcall parser) (buffer-string)))))))) +(defsubst request-url-file-p (url) + "Return non-nil if URL looks like a file URL." + (let ((scheme (and (stringp url) (url-type (url-generic-parse-url url))))) + (and (stringp scheme) + (not (string-match-p "^http" scheme))))) + (cl-defun request--callback (buffer &key parser success error complete @@ -653,12 +659,8 @@ then send to PARSER." (data (request-response-data response)) (done-p (request-response-done-p response))) (let* ((response-url (request-response-url response)) - (scheme (and (stringp response-url) - (url-type (url-generic-parse-url response-url)))) - (curl-file-p (and (stringp scheme) - (not (string-match-p "^http" scheme)) - (eq (request-response--backend response) 'curl)))) - ;; curl does not add a header for say file:///foo/bar + (curl-file-p (and (eq (request-response--backend response) 'curl) + (request-url-file-p response-url)))) (unless curl-file-p (request--clean-header response) (request--cut-header response))) @@ -902,15 +904,15 @@ Currently it is used only for testing.") (cl-defun request--curl-command (url &key type data headers response files* unix-socket encoding &allow-other-keys - &aux - (cookie-jar (convert-standard-filename - (expand-file-name (request--curl-cookie-jar))))) + &aux (cookie-jar (convert-standard-filename + (expand-file-name (request--curl-cookie-jar))))) "BUG: Simultaneous requests are a known cause of cookie-jar corruption." (append - (list request-curl "--silent" "--include" - "--location" - "--cookie" cookie-jar "--cookie-jar" cookie-jar - "--write-out" request--curl-write-out-template) + (list request-curl + "--silent" "--location" + "--cookie" cookie-jar "--cookie-jar" cookie-jar) + (unless (request-url-file-p url) + (list "--include" "--write-out" request--curl-write-out-template)) request-curl-options (when (plist-get (request--curl-capabilities) :compression) (list "--compressed")) (when unix-socket (list "--unix-socket" unix-socket)) @@ -1058,11 +1060,12 @@ removed from the buffer before it is shown to the parser function. (process-put proc :request-response response) (set-process-coding-system proc 'no-conversion 'no-conversion) (set-process-query-on-exit-flag proc nil) - (set-process-sentinel proc 'request--curl-callback) - (when semaphore - (set-process-sentinel proc (lambda (&rest args) - (apply #'request--curl-callback args) - (apply semaphore args)))))) + (let ((callback-2 (apply-partially #'request--curl-callback url))) + (if semaphore + (set-process-sentinel proc (lambda (&rest args) + (apply callback-2 args) + (apply semaphore args))) + (set-process-sentinel proc callback-2))))) (defun request--curl-read-and-delete-tail-info () "Read a sexp at the end of buffer and remove it and preceding character. @@ -1104,11 +1107,13 @@ See \"set-cookie-av\" in http://www.ietf.org/rfc/rfc2965.txt") (when (looking-at-p "HTTP/1\\.[0-1] 200 Connection established") (delete-region (point) (progn (request--goto-next-body) (point))))) -(defun request--curl-preprocess () +(defun request--curl-preprocess (&optional url) "Pre-process current buffer before showing it to user." (let (history) (cl-destructuring-bind (&key num-redirects url-effective) - (request--curl-read-and-delete-tail-info) + (if (request-url-file-p url) + `(:num-redirects 0 :url-effective ,url) + (request--curl-read-and-delete-tail-info)) (goto-char (point-min)) (request--consume-100-continue) (request--consume-200-connection-established) @@ -1151,7 +1156,7 @@ START-URL is the URL requested." for response in (cdr history) do (setf (request-response-url response) url))) -(defun request--curl-callback (proc event) +(defun request--curl-callback (url proc event) (let* ((buffer (process-buffer proc)) (response (process-get proc :request-response)) (settings (request-response-settings response))) @@ -1168,7 +1173,7 @@ START-URL is the URL requested." (cl-destructuring-bind (&key code history error url-effective &allow-other-keys) (condition-case err (with-current-buffer buffer - (request--curl-preprocess)) + (request--curl-preprocess url)) ((debug error) (list :error err))) (request--curl-absolutify-location-history (plist-get settings :url) @@ -1205,7 +1210,12 @@ START-URL is the URL requested." settings) (let ((proc (get-buffer-process (request-response--buffer response)))) (auto-revert-set-timer) - (when auto-revert-use-notify (request-auto-revert-notify-rm-watch)) + (when auto-revert-use-notify + (if noninteractive + (dolist (buf (buffer-list)) + (with-current-buffer buf + (request-auto-revert-notify-rm-watch))) + (request-auto-revert-notify-rm-watch))) (with-local-quit (cl-loop with iter = 0 until (or (>= iter 10) finished) diff --git a/elpa/request-20191127.1554/request.elc b/elpa/request-20191211.2051/request.elc similarity index 82% rename from elpa/request-20191127.1554/request.elc rename to elpa/request-20191211.2051/request.elc index cbb4554a219f7c991b475d3789287da9a6174a7a..aa6f3a7be324d34c82d79c344d3086bbfa3e65f7 100644 GIT binary patch delta 4120 zcmai1Yiu0V72bJxYyu_@PV6{N>{&aIIMF6E_s+eu8%l6uCr!#L4J1&qK^S`+R#~sj z?m8j-z(S&`grJ39M4UKEi}(R8Nei7qR0Ng!kVq)>AzG07kOHmL2xyyN3%k@Tche^x#X6{OPNxk=oUuZZCkH(i{s~VJt7c-S=d2+a#A$zJryDF~w{QZkBquH*g6qO6ZnTertCCaFiUtG2d%dYSC z+;(TRI??0OjjJx+FO+s=#)hiHckXm^?(*KH?kbmuIi`NGq*b1G&t-S)t45jeiE3f2 za8Fcrllk!Y*aZ2ZP%0KmQ6{>3VyH9{cRae>oX5Ga()m&C0J?rk88hwMgJ4sh2jVJn zRi1}oN_(O1ygU~^t{+J99~VZtx%PSxV3|w<rb#T_`+t-(zi4!iUoYgN)zRkI{u* zOWenj1HIs4k`C-N<{n0(HiDFisq{N(KQv9}qF#i`V^z%0yV44p)(!F+2J@Q?xONeFY8=haq2P6s&oQvHa% zYRkdpMyU23?6LySRKJ-PHWS>`w!L?-)sSDES#2=o%`j8=YGg*3hDDxI&&{-~oNGCa z6oPq{le(?Q1255~osR25=cW`c90upk*qlo1 z0}u;d7e;yrX7%d&?zOC2$aFX+pwp!pggCyt)v(UNfd>OTe!Z>!I@7grgFVZ`IP!BT zzav@1OQBe*wl&oN4+sjq2pgS?DJ~jfcK{2Rh6olK>5DW(Y$tp` zRd5soXS4Bv^9vxhM8bhCJq+X`Ji-egmcZf~WS6eeyCEMydEj5XAwP&fHp)a&TYWrvyBN*TPNfH9X!Cv;XVoh0~~QViLIzxsm(Hz8bc4IzFUJ1e}KG)Y)Nk!B)=KXTyoED zLK1&4<+Kbsm)4cj0oEF9aQKrc_a}?-3L(q+k;B5ql-1B%TeEaDsHWKjbj}Jz;Is~0 zkuNFFncw;;eO#S<%T?_!OLh8Ni`0>qA5iO$Fa4C>zViR|cDE;k9z9%~9EsG(@ga5M zctQ1aU#51QXz93Pa&$B*Cwyjje1!NwWnZNljj25+{-UmXd8LY88EE!v+(39d$i>gS z@}>;{&&l}VpUpR{EYHPH{`^_f4tzfs=U@M=X=QyszVeNVVG9w+_&aYdYq$lmp-AR? z8pw~!kZ_@oJo;}wU`zp&5F)_FFw~h&LDoULTu<4`_z4*s1ROTPs>>=Ucs2jLy!oV}K$;aeZo=!f=3%E^ALG0(+=C^c=VY$byBVF8H3k}#Ne5FFsw6?Yhrox2TU-NGA z3W_nhLzg7*+^r2lJs^wZc2Y)N7W#b77ilNmm{=tl*(twJ6JcaPT}K_qJWjB?cxoas zhX^&NAoDAzu0hX}Bhd6U24hOi`0Yf zG^_NxUFuiw98>S#zfe8(?v6|9RVzKD?%enG8nz#ZFn-`qqh{Jie@}9iarfN!jk{&* z4Fm3m?HjJYi9U6Zsg0`tgGL7*I$`L?;pqVry%)F%gcg2-E=a(y)N9OdHp*rVzXf-k zbe|?gm#J^QKVl53xo3oN8=l=NI7dDE<+(l4h53((d(p;YsH`sWLa=;3S1QAfO%6GLl8cq zP8RrePze}VHzbF&9XC;`8FXAShr-$wF`)NR+DIrc2K*%PL{Npgsw4nu9f?u>*PJ#@ zb0@J(0aC#eMuL5$Jee)PjhGOm7o@7jR+-d91qTQm@B&-~$U%+QGH=PZP@F)9(-Fzv&!3(8o zR2~|x7WPDH?^&rH`EI*f{OwkC>g-FG)LK-rP^r4=)eo1(C;r`UDE75p)%o!PE69b4 zfBX$w29n1oKi+QHQgU%@jb%(5b{ORNu{UhvxX}rwsS|!V8p56efPYyzx@$73RQu-q E2d2GFg#Z8m delta 3192 zcmZ`*X>47^753b@zK-K2n8dLYo7nH!S?q)tX1R06CL}m^KnYtxENbC8oBd4OxG%}G zO+*W|TJ;Y<+CNj{Cb8W}C}JrB!j(uXprxonVF{E*B2`IgD`+dFB8!S*wNa{mGxxnT z=_2c0pV`hibIy0ZIR~HgfBHTDrKLYePE0KG#s%kVW5HA`1+R!@7?Nx(r6SpR>oFb1 zl82a<5q=uWif)WsW5F4I9OGzHEFwYdsH8?Kt45PpDuzS6xf>Fvl(uzXYXqh8=G36w zISyNXHXbY))9gxPEC@>0D0GNT_{eq6Fg&Za7Q)J`b4Dsvl3>Daj`$M0u01cPZiBN- z6fu^HmTk4$VHBHz>4gmpmtf(>t2eA8X6tml>E7Su-D}0hdgu0@t9K2RcLnCz{c9-G z#H=}3Z_e$XLt4z=_h+@Tkr0T4K)52rGg1(kEX^VyGD2Xb3Tn!(#X@s)&w&mi%r_6T zc#@bcQ_9Dkh}k>2oK%?H!GcNhjz(Uzs4!5-6-zrUM>AZ{!WjkZ0ZmOLqvu>){lacA0>h!n=4;$;WMa#cKjr)Wi zBG_O~O*If^zL*kTs7?E{s)Pk?msYNxM}sPxrfX;r08UIUq4@Hi3Ojk7lY1-N!ei#h zbPE|VA5PcR--2AjUu?XkBA64mx=i0?E>1Ul4^xCKBt>)g%uVoe%k<(!K&u}M8Eq(G z2scvNYV$3U&F^L!w79Hrb4Au^L$Y`}DFyDO7;STqZ=>`p)=ykjSW}9kI$*42A)%K` zguxz@clhSjndV!2Vdje9!s**8ctbjg!R;l3&E;+X%bND>t-K!J+%wZ`?mUDj#Xca{ zXufl()!XM=%qFiLdeAd16ZIy1s>S2N%$#M(<4;{6zU~q%*>`v|^*JQ7@32lTKC_be zLPsiD@!WBba%{Np{5j&wPT7^5exa693E|R_&nmGNnbR*kl05j6$oHd2>d7Z5S(|+D zS|c=fN^L%WeTMQ*X})K5~hHgA(9uuh+@I~5{CsfPLU%+EbvV|o2^Eaml6P(%0iIW z;RBMee5_OoBbZSZ3eXm@EOtefNpK_r_EJUx_en6xcq{(tWiS&Jt*yQIAfOsQs~&@( zW>HYvZ>5f_c0i+4_6V>C0qU3AO{>ZdI+wiEAJDkd3J)wNgq&vY-e|)`mId=|U{=9n z9R}BI4Ca;9TGjMMEXw=M$zw~`ORcWTl#Xa+TWN;6*xSMpHxPU9ir9z2g5DL?h6Q!z z_%G(0AAh{S9C$l2=iXbrWXIUxV7{0e92(B&`gacu6&}uwJUTL(|GN3$?ZZ_=h5q5O zfxOxMPKWvDJ6maCXxPN>e$Bl3bZAb#d#&-_J7b!T_s(OP_O@l2HJPxhi}7UF@smDE zg^A?WU)K@JLzVQMIO6%hj!G7MbPDytb#neUBg79ol}L8}c4g%TdwZ6K%3eZcFcH~T zKqJb!6g7>AYRCB!Y>B*Sz>Dz>70ct+ zd&lx4qq$uFSaCSlzkPUk$M*hRlQ$8vxYj-^;P3Qx25Fh+K5f1J|D5Q{gqfkj&Y>Mc zqq$;!`#^4YVfaz=$4}d+5S>ZYXFCbikxq(#T2DMClb8Q|AEljACDo^MWUk<{qpxFb zTemXZf7RyYH=4{R|EL*ndx&Ll5$60rS-3Y29YpJfZaVpl-0QZN?zcUOn+81dJ5rExktqq%3CIEu zAF$fSp^dA>4q*4D9!2)`h>4p?YZHfN=crQk(4W2;xIG>m)4c8aiDyW|#QW%rx}Uh#eB%%E z&DK|{&8e3bPUZ-C-5k5P>}aD$y2<1&N>)+(RX^PMXSfsUsxgHrB$Y)lT7^`FMzW}q