;ELC   
;;; Compiled
;;; in Emacs version 30.2
;;; with all optimizations.


#@55 Return a list of keys in HASH-TABLE.

(fn HASH-TABLE)#@21 

(fn K --CL-VAR--)#@44 

(fn SUFFIX STRING &optional IGNORE-CASE)#@32 This version of `use-package'.
(byte-code "\301\302!\210\301\303!\210\301\304!\210\305\306\307\310\211$\210\311\306!\210\312\306\"\313\306\310\314\315\316\317\320\321\322&	\207" [custom-enabled-themes require bytecomp cl-lib tabulated-list custom-declare-theme use-package use-package-theme nil enable-theme remq custom-declare-group "A `use-package' declaration for simplifying your `.emacs'." :group initialization :link (custom-manual "(use-package) Top") :version "29.1"] 10)
(defconst use-package-version "2.4.5" (#$ . 215))#@579 The set of valid keywords, in the order they are processed in.
The order of this list is *very important*, so it is only
advisable to insert new keywords, never to delete or reorder
them.  Further, attention should be paid to the NEWS.md if the
default order ever changes, as they may have subtle effects on
the semantics of `use-package' declarations and may necessitate
changing where you had inserted a new keyword earlier.

Note that `:disabled' is special in this list, as it causes
nothing at all to happen, even if the rest of the `use-package'
declaration is incorrect.#@2 #@342 Unless `:demand' is used, keywords in this list imply deferred loading.
The reason keywords like `:hook' are not in this list is that
they only imply deferred loading if they reference actual
function symbols that can be autoloaded from the module; whereas
the default keywords provided here always defer loading unless
otherwise requested.#@164 If non-nil, warn instead of signaling error for unknown keywords.
The unknown keyword and its associated arguments will be ignored
in the `use-package' expansion.#@129 If non-nil, use a custom theme to avoid saving :custom
variables twice (once in the Custom file, once in the use-package
call).#@303 Whether to report about loading and configuration details.
If you customize this, then you should require the `use-package'
feature in files that use `use-package', even if these files only
contain compiled expansions of the macros.  If you don't do so,
then the expanded macros do their job silently.#@128 If non-nil, check that package exists before executing its `:init' block.
This check is performed by calling `locate-library'.#@113 If non-nil, assume `:defer t' unless `:demand' is used.
See also `use-package-defaults', which uses this value.#@113 If non-nil, assume `:demand t' unless `:defer' is used.
See also `use-package-defaults', which uses this value.#@1009 Default values for specified `use-package' keywords.
Each entry in the alist is a list of three elements:
The first element is the `use-package' keyword.

The second is a form that can be evaluated to get the default
value.  It can also be a function that will receive the name of
the `use-package' declaration and the keyword plist given to
`use-package', in normalized form.  The value it returns should
also be in normalized form (which is sometimes *not* what one
would normally write in a `use-package' declaration, so use
caution).

The third element is a form that can be evaluated to determine
whether or not to assign a default value; if it evaluates to nil,
then the default value is not assigned even if the keyword is not
present in the `use-package' form.  This third element may also be
a function, in which case it receives the name of the package (as
a symbol) and a list of keywords (in normalized form).  It should
return nil or non-nil depending on whether defaulting should be
attempted.#@350 Alist of keys and the functions used to merge multiple values.
For example, if the following form is provided:

  (use-package foo :if pred1 :if pred2)

Then based on the above defaults, the merged result will be:

  (use-package foo :if (and pred1 pred2))

This is done so that, at the stage of invoking handlers, each
handler is called only once.#@10 

(fn K)#@124 Text append to the name of hooks mentioned by :hook.
Set to nil if you don't want this to happen; it's only a
convenience.#@143 Minimal load time that will be reported.
Note that `use-package-verbose' has to be set to a non-nil value
for anything to be reported at all.#@824 If non-nil, add hooks to the `:init' and `:config' sections.
In particular, for a given package `foo', the following hooks
become available:

  `use-package--foo--pre-init-hook'
  `use-package--foo--post-init-hook'
  `use-package--foo--pre-config-hook'
  `use-package--foo--post-config-hook'

This way, you can add to these hooks before evaluation of a
`use-package` declaration, and exercise some control over what
happens.

NOTE: These hooks are run even if the user does not specify an
`:init' or `:config' block, and they will happen at the regular
time when initialization and configuration would have been
performed.

NOTE: If the `pre-init' hook return a nil value, that block's
user-supplied configuration is not evaluated, so be certain to
return t if you only wish to add behavior to what the user had
specified.#@525 If non-nil, make the expanded code as minimal as possible.
This disables:

  - Printing to the *Messages* buffer of slowly-evaluating forms
  - Capturing of load errors (normally redisplayed as warnings)
  - Conditional loading of packages (load failures become errors)

The main advantage to this variable is that, if you know your
configuration works, it will make the byte-compiled file as
minimal as possible.  It can also help with reading macro-expanded
definitions, to understand the main intent of what's happening.#@161 Sexp providing regexp for finding `use-package' forms in user files.
This is used by `use-package-jump-to-package-form' and
`use-package-enable-imenu-support'.#@227 If non-nil, cause imenu to see `use-package' declarations.
This is done by adjusting `lisp-imenu-generic-expression' to
include support for finding `use-package' and `require' forms.

Must be set before loading `use-package'.#@18 

(fn SYM VALUE)
(byte-code "\301\300\302\303\304DD\305\306\307\310\311\312\313&	\210\301\314\302\303\315DD\316\306\317\310\311\312\320&	\210\301\321\302\303\322DD\323\306\324\310\311\312\320&	\210\301\325\302\303\326DD\327\306\324\310\311\312\320&	\210\301\330\302\303\331DD\332\306\333\310\311\312\320&	\210\301\334\302\303\335DD\336\306\324\310\311\312\320&	\210\301\337\302\303\340DD\341\306\324\310\311\312\320&	\210\301\342\302\303\343DD\344\306\324\310\311\312\320&	\210\301\345\302\303\346DD\347\306\350\310\311\312\313&	\210\301\351\302\303\352DD\353\306\354\355\356\357\360\361\362\363\"\364\"BBB\365BBD\310\311\312\320&	\210\301\366\302\303\367DD\370\306\371\310\311\312\320&	\210\301\372\302\303\373DD\374\306\375\310\311\312\320&	\210\301\376\302\303\377DD\201@ \306\324\310\311\312\320&	\210\301\201A \302\303\201B DD\201C \306\324\310\311\312\320&	\210\301\201D \302\303\201E DD\201F \306\201G \310\311\312\320&	\210\301\201H \302\303\201I DD\201J \306\324\201K \201L \310\311\312\320&\207" [use-package-keywords custom-declare-variable funcall function #[0 "\300\207" [(:pin :ensure :disabled :load-path :requires :defines :functions :preface :if :when :unless :vc :no-require :catch :after :custom :custom-face :bind :bind* :bind-keymap :bind-keymap* :interpreter :mode :magic :magic-fallback :hook :commands :autoload :init :defer :demand :load :config :diminish :delight)] 1 (#$ . 1335)] (#$ . 753) :type (repeat symbol) :group use-package :version "31.1" use-package-deferring-keywords #[0 "\300\207" [(:bind-keymap :bind-keymap* :commands :autoload)] 1 (#$ . 1335)] (#$ . 1342) (repeat symbol) "29.1" use-package-ignore-unknown-keywords #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 1689) boolean use-package-use-theme #[0 "\300\207" [t] 1 (#$ . 1335)] (#$ . 1858) use-package-verbose #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 1992) (choice (const :tag "Quiet, without catching errors" errors) (const :tag "Quiet" nil) (const :tag "Verbose" t) (const :tag "Debug" debug)) use-package-check-before-init #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 2300) use-package-always-defer #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 2433) use-package-always-demand #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 2551) use-package-defaults #[0 "\300\207" [((:config '(t) t) (:init nil t) (:catch t (lambda (name args) (not use-package-expand-minimally))) (:defer use-package-always-defer (lambda (name args) (and use-package-always-defer (not (plist-member args :defer)) (not (plist-member args :demand))))) (:demand use-package-always-demand (lambda (name args) (and use-package-always-demand (not (plist-member args :defer)) (not (plist-member args :demand))))) (:ensure (list use-package-always-ensure) (lambda (name args) (and use-package-always-ensure (not (plist-member args :load-path))))) (:pin use-package-always-pin use-package-always-pin))] 1 (#$ . 1335)] (#$ . 2670) (repeat (list (symbol :tag "Keyword") (choice :tag "Default value" sexp function) (choice :tag "Enable if non-nil" sexp function))) use-package-merge-key-alist #[0 "\300\207" [((:if lambda (new old) `(and ,new ,old)) (:after lambda (new old) `(:all ,new ,old)) (:defer lambda (new old) old) (:bind lambda (new old) (append new (list :break) old)))] 1 (#$ . 1335)] (#$ . 3684) repeat cons choice :tag "Keyword" append mapcar #[257 "\300D\207" [const] 3 (#$ . 4038)] ((const :tag "Any" t)) (function) use-package-hook-name-suffix #[0 "\300\207" ["-hook"] 1 (#$ . 1335)] (#$ . 4053) (choice string (const :tag "No suffix" nil)) use-package-minimum-reported-time #[0 "\300\207" [0.1] 1 (#$ . 1335)] (#$ . 4182) number use-package-inject-hooks #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 4330) use-package-expand-minimally #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 5159) use-package-form-regexp-eval #[0 "\300\301\302BB\207" [concat "^\\s-*(\\(\\(?:requir\\|use-packag\\)e\\)\\s-+\\(" ((or (bound-and-true-p lisp-mode-symbol-regexp) "\\(?:\\sw\\|\\s_\\|\\\\.\\)+") "\\)")] 3 (#$ . 1335)] (#$ . 5689) sexp use-package-enable-imenu-support #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 5855) :set #[514 "\301\302\203 \303\304\305\306\307BBBE\202! \310\311\312\305\306\313BBB\314BBE\"\210\315\"\207" [use-package-form-regexp-eval eval-after-load lisp-mode add-to-list 'lisp-imenu-generic-expression list "Packages" (2) setq lisp-imenu-generic-expression remove (2) (lisp-imenu-generic-expression) set-default] 11 (#$ . 6086)]] 14)
(defconst use-package-font-lock-keywords '(("(\\(use-package\\)\\_>[ 	']*\\(\\(?:\\sw\\|\\s_\\)+\\)?" (1 font-lock-keyword-face) (2 font-lock-constant-face nil t))))#@289 If non-nil, compute statistics concerned `use-package' declarations.
View the statistical report using `use-package-report'.  Note that
if this option is enabled, you must require `use-package' in your
user init file at loadup time, or you will see errors concerning
undefined variables.#@402 Prefer the newest commit over the latest release.
By default, much like GNU ELPA and NonGNU ELPA, the `:vc' keyword
tracks the latest stable release of a package.  If this option is
non-nil, the latest commit is preferred instead.  This has the
same effect as specifying `:rev :newest' in every invocation of
`:vc'.

Note that always tracking a package's latest commit might lead to
stability issues.#@126 Treat every package as though it had specified using `:ensure SEXP'.
See also `use-package-defaults', which uses this value.#@122 Treat every package as though it had specified using `:pin SYM'.
See also `use-package-defaults', which uses this value.#@596 Function that ensures a package is installed.
This function is called with three arguments: the name of the
package declared in the `use-package' form; the arguments passed
to all `:ensure' keywords (always a list, even if only one); and
the current `state' plist created by previous handlers.

Note that this function is called whenever `:ensure' is provided,
even if it is nil.  It is up to the function to decide on the
semantics of the various values for `:ensure'.

This function should return non-nil if the package is installed.

The default value uses package.el to install the package.
(byte-code "\302\301\303\304#\210\305W\203 \306\307	\"\210\310\311\312\313\314DD\315\316\317\320\321\322\323&	\210\310\324\312\313\325DD\326\316\317\322\304\320\321&	\210\310\327\312\313\330DD\331\316\332\322\323&\210\310\333\312\313\334DD\335\316\336\322\323&\210\310\337\312\313\340DD\341\316\342\322\323&\207" [emacs-major-version use-package-font-lock-keywords make-obsolete-variable lisp-el-font-lock-keywords "30.1" 26 font-lock-add-keywords emacs-lisp-mode custom-declare-variable use-package-compute-statistics funcall function #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 10658) :type boolean :group use-package :version "29.1" use-package-vc-prefer-newest #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 10952) use-package-always-ensure #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 11359) sexp use-package-always-pin #[0 "\300\207" [nil] 1 (#$ . 1335)] (#$ . 11490) symbol use-package-ensure-function #[0 "\300\207" [use-package-ensure-elpa] 1 (#$ . 1335)] (#$ . 11617) (choice (const :tag "package.el" use-package-ensure-elpa) (function :tag "Custom"))] 10)
(defvar use-package-statistics (make-hash-table))#@80 Report MSG as an error, so the user knows it came from this package.

(fn MSG)
(defalias 'use-package-error #[257 "\300\301\"\207" [error "use-package: %s"] 4 (#$ . 13329)])#@91 Delete all empty lists from ELEMS (nil or (list nil)), and append them.

(fn &rest ELEMS)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-error speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-concat #[128 "\300\301\302\303\302\303C\"\"\"\207" [apply append delete nil] 8 (#$ . 13509)])#@12 

(fn SYM)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-concat speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-non-nil-symbolp #[257 "\211\205 \2119\207" [] 2 (#$ . 13866)])#@126 If STRING-OR-SYMBOL is already a symbol, return it.
Otherwise convert it to a symbol and return that.

(fn STRING-OR-SYMBOL)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-non-nil-symbolp speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-as-symbol #[257 "\2119\203 \207\300!\207" [intern] 3 (#$ . 14114)])#@126 If STRING-OR-SYMBOL is already a string, return it.
Otherwise convert it to a string and return that.

(fn STRING-OR-SYMBOL)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-as-symbol speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-as-string #[257 "\211;\203 \207\300!\207" [symbol-name] 3 (#$ . 14491)])#@52 Return t if RE is some regexp-like thing.

(fn RE)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-as-string speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-regex-p #[257 "\211<\203\f \211@\300=\206 \211;\207" [rx] 3 (#$ . 14866)])#@79 Given some regexp-like thing in RE, resolve to a regular expression.

(fn RE)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-regex-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-normalize-regex #[257 "\211<\203 \211@\300=\203 \301!\207\211;\203 \207\302\303\"\207" [rx eval error "Not recognized as regular expression: %s"] 4 (#$ . 15168)])#@162 Return non-nil if X is a cons satisfying the given predicates.
CAR-PRED and CDR-PRED are applied to X's `car' and `cdr',
respectively.

(fn X CAR-PRED CDR-PRED)
(defalias 'use-package-is-pair #[771 ":\205 @!\205 \211A!\207" [] 5 (#$ . 15588)])#@160 If STRING-OR-SYMBOL ends in `-mode' (or its name does), return
it as a symbol.  Otherwise, return it as a symbol with `-mode'
appended.

(fn STRING-OR-SYMBOL)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-is-pair speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-as-mode #[257 "\211\211;\204 \300!\262\301\302\303\"\203 \202 \304P!\207" [symbol-name intern string-match "-mode\\'" "-mode"] 6 (#$ . 15844)])#@205 Return a form which will load or require NAME.
It does the right thing no matter if NAME is a string or symbol.
Argument NOERROR means to indicate load failures as a warning.

(fn NAME &optional NOERROR)
(defalias 'use-package-load-name #[513 ";\203\n \300E\207\301\302D\303F\207" [load require quote nil] 6 (#$ . 16329)])#@170 Wrap pre/post hook injections around the given BODY for KEYWORD.
The BODY is a list of forms, so `((foo))' if only `foo' is being called.

(fn NAME-STRING KEYWORD BODY)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-load-name speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-hook-injector #[771 "\204 \207\301\302\"\303\304O\305\306\307\310\311\312\313\260!DD\314\315\307\310\311\316\n\313\260!DDC\"BBC\207" [use-package-inject-hooks format "%s" 1 nil when run-hook-with-args-until-failure quote intern "use-package--" "--pre-" "-hook" append run-hooks "--post-"] 16 (#$ . 16663)])#@86 BODY is a list of forms, so `((foo))' if only `foo' is being called.

(fn TEXT BODY)
(defalias 'use-package-with-elapsed-timer #[514 "\203 \207\303\304!\305\301!\203D 	\203D \306\307BC\310\311E\312\313!\306\314\315\316\317\nEDDC\320\321\314\nE\310\322\323BBB\310\324EFEEFC\207\210\207" [use-package-expand-minimally use-package-verbose use-package-minimum-reported-time make-symbol "now" boundp let ((current-time)) message "%s..." prog1 macroexp-progn elapsed float-time time-subtract (current-time) if > "%s...done (%.3fs)" (elapsed) "%s...done"] 16 (#$ . 17327)])#@39 

(fn NAME &optional NO-REQUIRE BODY)
(byte-code "\300\301\302\303#\304\301\302\303#\207" [function-put use-package-with-elapsed-timer lisp-indent-function 1 put] 5)
(defalias 'use-package-require #[769 "\2032 ?\205# \301;\203 \302E\266\202\202\" \303\304D\301F\266\202CD\305\306\307\301\307\301C\"\"\"\207\2037 \207\310\311\312\"\313\314\315;\203O \302E\266\202\202X \303\304D\301F\266\202D\316\317\311\320\304DE\321BBBBBBC\"\207" [use-package-expand-minimally nil load require quote apply append delete use-package-with-elapsed-timer format "Loading package %s" if not t display-warning 'use-package "Cannot load %s" (:error)] 13 (#$ . 17911)])#@97 Delete PROPERTY from PLIST.
This is in contrast to merely setting it to 0.

(fn PLIST PROPERTY)
(defalias 'use-package-plist-delete #[514 "\300\203 @=\204 \301@A@#\262AA\262\202 \207" [nil plist-put] 7 (#$ . 18587)])
(defalias 'use-package-plist-delete-first #[514 "\300\203+ @=\203 \211AA\244\262\300\262\202 \211@A@D\244\262AA\262\202 \207" [nil] 6 (#$ . 18587)])#@93 Add a VALUE for PROPERTY to PLIST, if it does not already exist.

(fn PLIST PROPERTY VALUE)
(defalias 'use-package-plist-maybe-put #[771 "\300\"\203	 \207\301#\207" [plist-member plist-put] 7 (#$ . 18984)])#@87 Cons VALUE onto the head of the list at PROPERTY in PLIST.

(fn PLIST PROPERTY VALUE)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-plist-maybe-put speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-plist-cons #[771 "\300\301\"B#\207" [plist-put plist-get] 10 (#$ . 19202)])#@90 Append VALUE onto the front of the list at PROPERTY in PLIST.

(fn PLIST PROPERTY VALUE)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-plist-cons speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-plist-append #[771 "\300\301\302\"\"#\207" [plist-put append plist-get] 11 (#$ . 19552)])#@16 

(fn PRED XS)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-plist-append speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-split-list #[514 "\300C\300C\300\211\2036 \211@\203 C\244\266\2022 !\203, \301\262C\244\266\2022 C\244\266A\202 \210AAB\207" [nil t] 9 (#$ . 19914)])#@16 

(fn KEY LST)
(defalias 'use-package-split-list-at-keys #[514 "\211\205 \300\301\302\"\"\211@\303AA\"B\262\207" [use-package-split-list apply-partially eq use-package-split-list-at-keys] 7 (#$ . 20276)])#@382 Repeatedly split a list according to PRED.
Split XS every time PRED returns t.  Keep the delimiters, and
arrange the result in an alist.  For example:

  (use-package-split-when #\='keywordp \='(:a 1 :b 2 3 4 :c 5))
  ;; => \='((:a 1) (:b 2 3 4) (:c 5))

  (use-package-split-when (lambda (x) (> x 2)) \='(10 1 3 2 4 -1 8 9))
  ;; => \='((10 1) (3 2) (4 -1) (8) (9))

(fn PRED XS)
(defalias 'use-package-split-when #[514 "\300!?\2051 @!\203 \211@AB\202 \301\"\211\242\243\301\"\211\242\243B\302	\"B\266\206\207" [seq-empty-p use-package-split-list use-package-split-when] 12 (#$ . 20493)])#@16 

(fn KEYWORD)
(defalias 'use-package-keyword-index #[257 "\3012) \302\303:\203% \210\211@\211=\203 \304\301\"\210T\262A\262\202 \266\3030\207" [use-package-keywords --cl-block-outer-- 0 nil throw] 7 (#$ . 21104)])#@202 Given a pseudo-plist, normalize it to a regular plist.
The normalized key/value pairs from input are added to PLIST,
extending any keys already present.

(fn NAME INPUT &optional PLIST MERGE-FUNCTION)
(defalias 'use-package-normalize-plist #[1026 "\204 \207@\302\303A\"\211@A\304\305\306!P!\307!\205& \211	#\310\311\">\203^ \312$\262	\313	\314\f\"\203[ \n\n\315\"#\202\\ #\207	\203q \316\317\"\210\312$\207\211\320\321\"\207" [use-package-keywords use-package-ignore-unknown-keywords use-package-split-list keywordp intern-soft "use-package-normalize/" symbol-name functionp format "Unrecognized keyword: %s" use-package-normalize-plist plist-put plist-member plist-get display-warning use-package error "use-package: %s"] 20 (#$ . 21336)])#@18 

(fn NAME ARGS)
(defalias 'use-package-unalias-keywords #[514 "\300\301\302#\262\303\304\305\"\211\262\203% \306\305\"\262\307\301\310DD\"\262\202 \210\207" [cl-nsubstitute :if :when nil plist-get :unless use-package-plist-delete-first append not] 8 (#$ . 22131)])#@20 

(fn KEY NEW OLD)
(defalias 'use-package-merge-keys #[771 "\236\211\203 \211A\"\207\301\"\207" [use-package-merge-key-alist append] 7 (#$ . 22412)])#@14 

(fn PLIST)#@12 

(fn L R)
(defalias 'use-package-sort-keywords #[257 "\300\203 @A@BB\262AA\262\202 \300\301\302\"\237\211\2031 \211@\211@ABB\262\210A\202 \210\207" [nil sort #[514 "\300@!\300@!W\207" [use-package-keyword-index] 5 (#$ . 22592)]] 8 (#$ . 22574)])#@12 

(fn VAR)#@11 

(fn FN)
(defalias 'use-package-normalize-keywords #[514 ";\203 \304!\202\f \305!\306\307\"\262\310\"\262\311\312\313$\262\211\203\204 \211@\3148\211\203B \315!\203B \211\"\262\202G \316!\262\203 @A@\211\203e \315!\203e \211		\"\262\202j \316!\262\317\"\203v \266\202} \320#\266\203\262\210A\202$ \210\312\203\274 \321@!\203\264 \322\323\305@!P!\315!\203\263 \324\325\326@A@#\"\"\262\210AA\262\202\207 \211\203\320 \320\327\330\324\331\327\"\"!#\262\266\332\301!\203@	\203@\333\325\334\331\335\"\"\325\336\337\"\331\340\"\"\341\342\343\344\"\n\345=\205\346\343\347\n\"D\331\350\"?\205\351\352\353\fDD\354\355BBEFDCE\356\324\357\312\357\312C\"\"\"\262\320\324\331\"\"#\266\203\262\317\360\"\204\203\317\361\"\204\203\331\362\"\363\232\204\203\211;\204b\305!\262C\325\364\331\362\"\"\232\204\203\365\366\325\367\317\"\"\"\203\203\324\370\"\262\317\362\"\203\227\317\350\"\203\227\371\350\"\262\331\362\"\204\266\331\361\"\204\266\331\350\"\204\266\324\362CD\"\262\372!\207" [use-package-defaults byte-compile-current-file use-package-verbose use-package-deferring-keywords intern symbol-name delq elisp--witness--lisp use-package-unalias-keywords use-package-normalize-plist nil use-package-merge-keys 2 functionp eval plist-member plist-put keywordp intern-soft "use-package-autoloads/" append mapcar car :commands delete-dups plist-get boundp :preface #[257 "\300D\207" [defvar] 3 (#$ . 22860)] :defines make-closure #[257 "\301\300E\207" [V0 declare-function] 4 (#$ . 22876)] :functions eval-when-compile with-demoted-errors format "Cannot load %s: %%S" debug message "Compiling package %s" :no-require unless featurep quote load (nil t) apply delete :demand :defer :load (t) use-package-as-string cl-some identity apply-partially (:defer t) use-package-plist-delete use-package-sort-keywords] 17 (#$ . 22131)])#@614 Process the next keyword in the free-form property list PLIST.
The values in the PLIST have each been normalized by the function
use-package-normalize/KEYWORD (minus the colon).

STATE is a property list that the function may modify and/or
query.  This is useful if a package defines multiple keywords and
wishes them to have some kind of stateful interaction.

Unless the KEYWORD being processed intends to ignore remaining
keywords, it must call this function recursively, passing in the
plist with its keyword and argument removed, and passing in the
next value for the STATE.

(fn NAME PLIST &optional STATE)
(defalias 'use-package-process-keywords #[770 "\205A @A@AA\300!\204 \301\302\"\303\304\"\266\305\306!P\307!\310!\2037 \211\n%\207\301\311\"\303\304\"\266\206\207" [keywordp format "%s is not a keyword" error "use-package: %s" "use-package-handler/" symbol-name intern functionp "Keyword handler not defined: %s"] 14 (#$ . 24828)])#@426 Insert ELEM into the list XS.
If ANCHOR is also a keyword, place the new KEYWORD before that
one.
If AFTER is non-nil, insert KEYWORD either at the end of the
keywords list, or after the ANCHOR if one has been provided.
If TEST is non-nil, it is the test used to compare ELEM to list
elements.  The default is `eq'.
The modified list is returned.  The original list is not modified.

(fn ELEM XS &optional ANCHOR AFTER TEST)
(byte-code "\300\301\302\303#\304\301\302\305#\207" [function-put use-package-process-keywords lisp-indent-function 1 put defun] 5)
(defalias 'use-package-list-insert #[1282 "\300\211\203@ \211@\206 \301\"\2036 \203' \211B\262B\262\210\202< B\262\211B\262\210\202< \211B\262\210A\202 \210\203G \237\207\203P B\237\207\237B\207" [nil eq] 11 (#$ . 25801)])#@86 Call F on the first member of ARGS if it has exactly one element.

(fn LABEL ARGS F)
(defalias 'use-package-only-one #[771 "<\203 A<\203 G\300U\203 \211@\"\207\301P\302\303\"\207" [1 " wants exactly one argument" error "use-package: %s"] 7 (#$ . 26614)])#@182 Call F on the first element of ARGS if it has one element, or all of ARGS.
If ALLOW-EMPTY is non-nil, it's OK for ARGS to be an empty list.

(fn LABEL ARGS F &optional ALLOW-EMPTY)
(byte-code "\300\301\302\303#\304\301\302\305#\207" [function-put use-package-only-one lisp-indent-function 1 put defun] 5)
(defalias 'use-package-as-one #[1027 "\203 <\203% A<\202 \211\203% G\300U\203  @\"\207\"\207\301P\302\303\"\207" [1 " wants a non-empty list" error "use-package: %s"] 8 (#$ . 26885)])#@93 Ensure the macro-expansion of F applied to ARG evaluates ARG
no more than once.

(fn F ARG)
(byte-code "\300\301\302\303#\304\301\302\305#\207" [function-put use-package-as-one lisp-indent-function 1 put defun] 5)
(defalias 'use-package-memoize #[514 "\300\301!\300\302!\300\303!\304\305BB\304\306BB\304\307\310\311\312\n\n\313\314\257FEDE\315DC!BBB\207" [cl-gentemp "use-package--loaded" "use-package--result" "use-package--next" defvar (nil) (nil) function lambda nil if setq t funcall] 20 (#$ . 27393)])#@87 Normalize the Lisp value given by ARG.
The argument LABEL is ignored.

(fn LABEL ARG)
(defalias 'use-package-normalize-value #[514 "\211\300\267\202\n \301\207\302\207\211\211\205 \2119\262\203 \303\304DD\207\305!\203( \306\307DD\207\207" [#s(hash-table test eq purecopy t data (nil 6 t 8)) nil t symbol-value quote functionp funcall function] 5 (#$ . 27920)])#@65 Normalize a list of symbols.

(fn LABEL ARG &optional RECURSED)#@10 

(fn X)
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-normalize-value speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-normalize-symbols #[770 "\211\205 \2119\262\203 C\207\211\204& <\203& A<\203& \300\301\302\"\"\207\303P\304\305\"\207" [mapcar make-closure #[257 "\301\300\302#@\207" [V0 use-package-normalize-symbols t] 5 (#$ . 28361)] " wants a symbol, or list of symbols" error "use-package: %s"] 7 (#$ . 28292)])#@26 

(fn NAME KEYWORD ARGS)
(defalias 'use-package-normalize-symlist #[771 "\300\301!\302#\207" [use-package-as-one symbol-name use-package-normalize-symbols] 7 (#$ . 28863)])#@46 Normalize a list of symbols.

(fn LABEL ARG)
(defalias 'use-package-normalize-recursive-symbols #[514 "\211\211\205 \2119\262\203 \207\211<\203  \211A<\203  \300\301\302\"\"\207\303P\304\305\"\207" [mapcar make-closure #[257 "\301\300\"\207" [V0 use-package-normalize-recursive-symbols] 4 (#$ . 28361)] " wants a symbol, or nested list of symbols" error "use-package: %s"] 6 (#$ . 29043)])
(defalias 'use-package-normalize-recursive-symlist #[771 "\300\301!\302#\207" [use-package-as-one symbol-name use-package-normalize-recursive-symbols] 7 (#$ . 28863)])#@74 Normalize a list of filesystem paths.

(fn LABEL ARG &optional RECURSED)
(defalias 'use-package-normalize-paths #[770 "\203! \211\205 \2119\262\204 \301!\203! \302\"\303\304!\"\207;\2036 \305!\2030 \2024 \306\"C\207\211\204M <\203M A<\203M \307\310\311\"\"\207\312P\313\314\"\207" [user-emacs-directory functionp #[514 "\211\300\267\202\n \301\207\302\207\211\211\205 \2119\262\203 \303\304DD\207\305!\203( \306\307DD\207\207" [#s(hash-table test eq purecopy t data (nil 6 t 8)) nil t symbol-value quote functionp funcall function] 5 (#$ . 27920)] use-package-normalize-paths eval file-name-absolute-p expand-file-name mapcar make-closure #[257 "\301\300\302#@\207" [V0 use-package-normalize-paths t] 5 (#$ . 28361)] " wants a directory path, or list of paths" error "use-package: %s"] 8 (#$ . 29616)])
(defalias 'use-package-normalize-predicate #[771 "\211\204 \300\207\301\302!\303#\207" [t use-package-only-one symbol-name use-package-normalize-value] 7 (#$ . 28863)])#@71 Given a list of forms, return it wrapped in `progn'.

(fn LABEL ARGS)#@13 

(fn FORM)
(defalias 'use-package-normalize-form #[514 "\211@<\204 \300P\301\302\"\266\303\304\"\207" [" wants a sexp or list of sexps" error "use-package: %s" mapcar #[257 "\211:\203 \211@\300>\203 \301!\207\207" [(use-package bind-key bind-key* unbind-key bind-keys bind-keys*) macroexpand] 3 (#$ . 30699)]] 6 (#$ . 30624)])
(defalias 'use-package-normalize-forms #[771 "\300\301!\"\207" [use-package-normalize-form symbol-name] 6 (#$ . 28863)])#@219 Normalize a list of pairs.
KEY-PRED and VAL-PRED are predicates recognizing valid keys and
values, respectively.
If RECURSED is non-nil, recurse into sublists.

(fn KEY-PRED VAL-PRED NAME LABEL ARG &optional RECURSED)
(defalias 'use-package-normalize-pairs #[1541 "!\203 \2119\204 \300!\262BC\207:\205* @!\205* \211A!\266\203\2032 C\207\211\204T <\203T A<\203T \301C\302\303\304	&\"\207\207" [intern nil mapcar make-closure #[257 "\305\304\303\302\301\306&\211<\203 \307\300\242!\204 @\300\240\210\207" [V0 V1 V2 V3 V4 use-package-normalize-pairs t keywordp] 8 (#$ . 28361)]] 15 (#$ . 31164)])#@275 A predicate that recognizes functional constructions:
  nil
  sym
  \='sym
  (quote sym)
  #\='sym
  (function sym)
  (lambda () ...)
  \='(lambda () ...)
  (quote (lambda () ...))
  #\='(lambda () ...)
  (function (lambda () ...))

(fn V &optional BINDING ADDITIONAL-PRED)
(defalias 'use-package-recognize-function #[769 "\203	 9\202 \211\205 \2119\262\206F <\203/ @\300>\203/ A@\211\205* \2119\262\206F \2039 \301!\202< \302!\206F \211\205F \211!\207" ['function commandp functionp] 5 (#$ . 31800)])#@97 Reduce functional constructions to one of two normal forms:
  sym
  #\='(lambda () ...)

(fn V)
(defalias 'use-package-normalize-function #[257 "\2119\203 \207\211<\203$ \211@\300>\203$ \211A@\211\205 \2119\262\203$ \211A@\207\211:\2031 \211@\301=\2031 \207\211<\203J \211@\302>\203J \211A@@\301=\203J \211A@\207\207" ['function lambda 'function] 3 (#$ . 32321)])#@81 Map over ARGS of the form ((_ . F) ...), normalizing functional F's.

(fn ARGS)
(defalias 'use-package-normalize-commands #[257 "\300\301\"\207" [mapcar #[257 "\211:\203 \211@\300A!B\207\207" [use-package-normalize-function] 4 (#$ . 28361)]] 4 (#$ . 32693)])#@99 Normalize arguments for keywords which add regexp/mode pairs to an alist.

(fn NAME KEYWORD ARGS)
(defalias 'use-package-normalize-mode #[771 "\300\301!\302\303\304\305	$#\207" [use-package-as-one symbol-name apply-partially use-package-normalize-pairs use-package-regex-p use-package-recognize-function] 11 (#$ . 32960)])
(defalias 'use-package-autoloads-mode #[771 "\300\301\302\303\"\"\207" [mapcar #[257 "\211A\300B\207" [command] 3 (#$ . 28361)] cl-remove-if-not #[257 "\211:\205 \211A\211\205 \2119\262\207" [] 3 (#$ . 28361)]] 8 (#$ . 28863)])#@91 Handle keywords which add regexp/mode pairs to an alist.

(fn NAME ALIST ARGS REST STATE)#@14 

(fn THING)
(defalias 'use-package-handle-mode #[1285 "\300#\301\302\303\"\304!\"D\305\306\307\310\307\310C\"\"\"\207" [use-package-process-keywords mapcar make-closure #[257 "\301\302\300D\302\303@!ABDE\207" [V0 add-to-list quote use-package-normalize-regex] 6 (#$ . 33618)] use-package-normalize-commands apply append delete nil] 13 (#$ . 33523)])#@72 Reset statistics for `use-package'.
See also `use-package-statistics'.
(defalias 'use-package-reset-statistics #[0 "\301 \211\207" [use-package-statistics make-hash-table] 2 (#$ . 33985) nil])#@74 Return loading configuration status of PACKAGE statistics.

(fn PACKAGE)
(defalias 'use-package-statistics-status #[257 "\300\301\"\203	 \302\207\300\303\"\203 \304\207\300\305\"\203 \306\207\300\307\"\205# \310\207" [gethash :config "Configured" :init "Initialized" :preface "Prefaced" :use-package "Declared"] 4 (#$ . 34184)])#@101 Return the date when PACKAGE's status last changed.
The date is returned as a string.

(fn PACKAGE)
(defalias 'use-package-statistics-last-event #[257 "\300\301\"\206 \300\302\"\206 \300\303\"\206 \300\304\"\207" [gethash :config :init :preface :use-package] 4 (#$ . 34525)])#@60 Return the time is took for PACKAGE to load.

(fn PACKAGE)
(defalias 'use-package-statistics-time #[257 "\300\301\302\303\304#!\301\302\305\306#!\301\302\307\310#!\301\302\311\312#!$\207" [+ float-time gethash :config-secs (0 0 0 0) :init-secs (0 0 0 0) :preface-secs (0 0 0 0) :use-package-secs (0 0 0 0)] 10 (#$ . 34813)])#@132 Return information about PACKAGE.

The information is formatted in a way suitable for
`use-package-statistics-mode'.

(fn PACKAGE)
(defalias 'use-package-statistics-convert #[257 "\301\"\302\303!\304!\305\306\307!\"\310\311\312!\"$D\207" [use-package-statistics gethash vector symbol-name use-package-statistics-status format-time-string "%H:%M:%S.%6N" use-package-statistics-last-event format "%.2f" use-package-statistics-time] 11 (#$ . 35150)])#@479 Show current statistics gathered about `use-package' declarations.
In the table that's generated, the status field has the following
meaning:
  Configured        :config has been processed (the package is loaded!)
  Initialized       :init has been processed (load status unknown)
  Prefaced          :preface has been processed
  Declared          the use-package declaration was seen

Customize the user option `use-package-compute-statistics' to
enable gathering statistics.
(defalias 'use-package-report #[0 "\303C\304\305\306\"\"\210\262\242\211\204! 	\203 \307\310!\210\202! \307\311!\210r\312\313!q\210\314\315\"\316 \210\317 \210\320p!)\207" [use-package-statistics use-package-compute-statistics tabulated-list-entries nil maphash make-closure #[514 "\300\300\242B\240\207" [V0] 5 "\n\n(fn K _)"] user-error "No use-package statistics available" "Customize `use-package-compute-statistics' to enable reporting" get-buffer-create "*use-package statistics*" mapcar use-package-statistics-convert use-package-statistics-mode tabulated-list-print display-buffer] 6 (#$ . 35613) nil])
(defvar use-package-statistics-status-order '(("Declared" . 0) ("Prefaced" . 1) ("Initialized" . 2) ("Configured" . 3)))
(defvar use-package-statistics-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [use-package-statistics-mode-hook variable-documentation put "Hook run after entering `use-package-statistics-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp use-package-statistics-mode-map definition-name use-package-statistics-mode] 4)
(defvar use-package-statistics-mode-map (make-sparse-keymap))#@300 Show current statistics gathered about `use-package' declarations.

In addition to any hooks its parent mode `tabulated-list-mode' might
have run, this mode runs the hook `use-package-statistics-mode-hook',
as the final or penultimate step during initialization.

\{use-package-statistics-mode-map}
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\320\321!\203t \321\311\322\"\210\202z \303\311\323\322#\210\313\207" [use-package-statistics-mode-abbrev-table use-package-statistics-mode-map variable-documentation put purecopy "Keymap for `use-package-statistics-mode'." boundp use-package-statistics-mode-syntax-table definition-name use-package-statistics-mode defvar-1 nil make-syntax-table "Syntax table for `use-package-statistics-mode'." define-abbrev-table "Abbrev table for `use-package-statistics-mode'." fboundp derived-mode-set-parent tabulated-list-mode derived-mode-parent] 5)
(defalias 'use-package-statistics-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R =\204R \326\325C#\210\327!\210\330\f!\210\331\332 \333 )\210\334\335!\207" [delay-mode-hooks major-mode mode-name use-package-statistics-mode-map use-package-statistics-mode-syntax-table use-package-statistics-mode-abbrev-table make-local-variable t tabulated-list-mode use-package-statistics-mode "use-package statistics" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table [("Package" 25 t) ("Status" 13 (lambda (a b) (< (assoc-default (use-package-statistics-status (gethash (car a) use-package-statistics)) use-package-statistics-status-order) (assoc-default (use-package-statistics-status (gethash (car b) use-package-statistics)) use-package-statistics-status-order)))) ("Last Event" 23 (lambda (a b) (< (float-time (use-package-statistics-last-event (gethash (car a) use-package-statistics))) (float-time (use-package-statistics-last-event (gethash (car b) use-package-statistics)))))) ("Time" 10 (lambda (a b) (< (use-package-statistics-time (gethash (car a) use-package-statistics)) (use-package-statistics-time (gethash (car b) use-package-statistics)))))] ("Time" . t) tabulated-list-init-header run-mode-hooks use-package-statistics-mode-hook local-abbrev-table tabulated-list-format tabulated-list-sort-key] 5 (#$ . 37372)])#@27 

(fn KEYWORD NAME AFTER)
(defalias 'use-package-statistics-gather #[771 "\301\302 #\205 \301\303 #\304\303 #\210\203, \304\305\306!\307P!\310\303 \"#\210\304#\207" [use-package-statistics gethash make-hash-table current-time puthash intern symbol-name "-secs" time-subtract] 10 (#$ . 40162)])#@25 

(fn NAME KEYWORD ARG)
(defalias 'use-package-normalize/:disabled #[771 "\300\207" ["Do nothing, return nil."] 4 (#$ . 40477)])#@36 

(fn NAME KEYWORD ARG REST STATE)
(defalias 'use-package-handler/:disabled #[1285 "\300#\207" [use-package-process-keywords] 9 (#$ . 40611)])
(defalias 'use-package-normalize-test #[771 "\300\301!\302#\207" [use-package-only-one symbol-name use-package-normalize-value] 7 (#$ . 28863)])#@37 

(fn NAME KEYWORD PRED REST STATE)
(defalias 'use-package-normalize/:if 'use-package-normalize-test)
(defalias 'use-package-handler/:if #[1285 "\300#\301BBC\207" [use-package-process-keywords when] 9 (#$ . 40909)])
(byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\302\"\207" [defalias use-package-normalize/:when use-package-normalize-test use-package-handler/:when use-package-handler/:if use-package-normalize/:unless] 3)
(defalias 'use-package-handler/:unless #[1285 "\300#\301BBC\207" [use-package-process-keywords unless] 9 (#$ . 40909)])#@41 

(fn NAME KEYWORD REQUIRES REST STATE)
(defalias 'use-package-normalize/:requires 'use-package-normalize-symlist)
(defalias 'use-package-handler/:requires #[1285 "\300#\204\n \207\301G\302V\203! \303\304\305\306\307\310\nDEED\202( \311\310@DDBBC\207" [use-package-process-keywords when 1 not member nil mapcar #'featurep quote featurep] 14 (#$ . 41477)])
(defalias 'use-package-normalize/:load-path #[771 "\300\301!\302#\207" [use-package-as-one symbol-name use-package-normalize-paths] 7 (#$ . 28863)])#@13 

(fn PATH)
(defalias 'use-package-handler/:load-path #[1285 "\300\301\302##\303\304\"D\305\306\307\310\307\310C\"\"\"\207" [use-package-process-keywords plist-put :load-path mapcar #[257 "\300\301\302ED\207" [eval-and-compile add-to-list 'load-path] 5 (#$ . 41998)] apply append delete nil] 14 (#$ . 40611)])
(defalias 'use-package-normalize/:no-require 'use-package-normalize-predicate)
(defalias 'use-package-handler/:no-require #[1285 "\300#\207" [use-package-process-keywords] 9 (#$ . 40611)])
(defalias 'use-package-normalize/:defines 'use-package-normalize-symlist)
(defalias 'use-package-handler/:defines #[1285 "\300#\207" [use-package-process-keywords] 9 (#$ . 40611)])
(defalias 'use-package-normalize/:functions 'use-package-normalize-symlist)
(defalias 'use-package-handler/:functions #[1285 "\300#\207" [use-package-process-keywords] 9 (#$ . 40611)])
(defalias 'use-package-normalize/:preface 'use-package-normalize-forms)
(defalias 'use-package-handler/:preface #[1285 "\301#\205 \302\303\304D\305BBBC\205 \306BC\205, \302\303\304D\307BBBCF\310\311\312\313\312\313C\"\"\"\207" [use-package-compute-statistics use-package-process-keywords use-package-statistics-gather :preface quote (nil) eval-and-compile (t) apply append delete nil] 14 (#$ . 40611)])#@21 

(fn KEYWORD BODY)
(defvar use-package--hush-function #[514 "\207" [] 3 (#$ . 43306)])#@29 

(fn CONTEXT KEYWORD BODY)
(defalias 'use-package-hush #[771 "\300\301\302!\303\304\305BBBDFC\207" [condition-case-unless-debug err macroexp-progn error funcall (err)] 11 (#$ . 43399)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put use-package-hush speed -1 put byte-optimizer byte-compile-inline-expand] 5)
(defalias 'use-package-normalize/:catch #[771 "\211\204 \301\207\302\303!#\207" [use-package--hush-function t use-package-only-one symbol-name] 7 (#$ . 28863)])
(defalias 'use-package-handler/:catch #[1285 "\303\304!\305\267\202T \306#\207\307\310\311\312\313\314\315\316\317D\320BBBDC\321\322=\2059 \323\324\325\326\327\314	F\330BBBB\331B\332\"BBEDE\333\334\"\211\306	#\")B\207\335!\203r \307E\333\334\"\211\306	#\")B\207\336\337\340\"\207" [use-package-verbose use-package--form use-package--hush-function cl-gentemp "use-package--warning" #s(hash-table test eq purecopy t data (nil 9 t 16)) use-package-process-keywords defvar function lambda (keyword err) let msg format "%s/%s: %s" quote (keyword (error-message-string err)) append debug with-current-buffer (get-buffer-create "*use-package*") (goto-char (point-max)) insert "-----\n" ((emacs-lisp-mode)) ((setq msg (concat msg " (see the *use-package* buffer)"))) ((display-warning 'use-package msg :error)) apply-partially use-package-hush functionp "The :catch keyword expects 't' or a function" error "use-package: %s"] 22 (#$ . 40611)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias use-package-normalize/:interpreter use-package-normalize-mode use-package-autoloads/:interpreter use-package-autoloads-mode] 3)
(defalias 'use-package-handler/:interpreter #[1285 "\300\301%\207" [use-package-handle-mode interpreter-mode-alist] 11 (#$ . 40611)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias use-package-normalize/:mode use-package-normalize-mode use-package-autoloads/:mode use-package-autoloads-mode] 3)
(defalias 'use-package-handler/:mode #[1285 "\300\301%\207" [use-package-handle-mode auto-mode-alist] 11 (#$ . 40611)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias use-package-normalize/:magic use-package-normalize-mode use-package-autoloads/:magic use-package-autoloads-mode] 3)
(defalias 'use-package-handler/:magic #[1285 "\300\301%\207" [use-package-handle-mode magic-mode-alist] 11 (#$ . 40611)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [defalias use-package-normalize/:magic-fallback use-package-normalize-mode use-package-autoloads/:magic-fallback use-package-autoloads-mode] 3)
(defalias 'use-package-handler/:magic-fallback #[1285 "\300\301%\207" [use-package-handle-mode magic-fallback-mode-alist] 11 (#$ . 40611)])#@18 

(fn LABEL ARG)
(defalias 'use-package-normalize/:hook #[771 "\300\301!\302\303\"#\207" [use-package-as-one symbol-name make-closure #[514 "\211\211\205 \2119\262\204 \211:\204 \301P\302\303\"\266\304\305\306\307\310\311\300!\"\203* \300\2021 \312\311\300!\310P!%\207" [V0 " a <symbol> or (<symbol or list of symbols> . <symbol or function>) or list of these" error "use-package: %s" use-package-normalize-pairs #[257 "\211\211\205 \2119\262\2067 \211\2057 \300\211\2037 \2037 :\2032 @\211\205& \2119\262\2032 A\262\202 \210\301\202 \207" [t nil] 4 (#$ . 4038)] use-package-recognize-function string-suffix-p "-mode" symbol-name intern] 9 (#$ . 46134)]] 9 (#$ . 28863)])#@78 Generate use-package custom keyword code.

(fn NAME KEYWORD ARGS REST STATE)#@12 

(fn DEF)
(defalias 'use-package-autoloads/:hook 'use-package-autoloads-mode)
(defalias 'use-package-handler/:hook #[1285 "\300#\301\302\303!\"D\304\305\306\307\306\307C\"\"\"\207" [use-package-process-keywords cl-mapcan #[257 "\211@A\211\205 \300\301\302\"\303!\"\207" [mapcar make-closure #[257 "\302!\303!\203 \304\305\"\204 \306\307D\310\300DE\207\306\307\311	P!D\310\300DE\207" [V0 use-package-hook-name-suffix symbol-name boundp string-suffix-p "-mode" add-hook quote function intern] 7 (#$ . 13866)] use-package-hook-handler-normalize-mode-symbols] 7 (#$ . 46916)] use-package-normalize-commands apply append delete nil] 13 (#$ . 46834)])#@59 Ensure that `SYMS' turns into a list of modes.

(fn SYMS)
(defalias 'use-package-hook-handler-normalize-mode-symbols #[257 "\211\211\205 \2119\262\203 C\207\207" [] 3 (#$ . 47586)])#@16 

(fn COMMAND)
(defalias 'use-package-normalize/:commands 'use-package-normalize-symlist)
(defalias 'use-package-handler/:commands #[1285 "\211;\204 \300!\262\301\302\303#\304!\"\262\305#D\306\307\310\311\310\311C\"\"\"\207" [symbol-name cl-mapcan make-closure #[257 "\2119\2051 \303\304\301\305\"?\205 \306\307\310DD\311\312D\300\313BBBEC\314\302!\2050 \n\2050 \315\316\300EDC\"\207" [V0 V1 byte-compile-current-file append plist-get :demand unless fboundp quote autoload function (nil t) boundp eval-when-compile declare-function] 8 (#$ . 47776)] delete-dups use-package-process-keywords apply append delete nil] 13 (#$ . 40611)])
(defalias 'use-package-normalize/:autoload 'use-package-normalize/:commands)
(defalias 'use-package-handler/:autoload #[1285 "\211;\204 \300!\262\301\302\303#\304!\"\262\305#D\306\307\310\311\310\311C\"\"\"\207" [symbol-name cl-mapcan make-closure #[257 "\2119\205. \303\304\301\305\"?\205 \306\307\310DD\311\312D\300EEC\313\302!\205- \n\205- \314\315\300EDC\"\207" [V0 V1 byte-compile-current-file append plist-get :demand unless fboundp quote autoload function boundp eval-when-compile declare-function] 7 (#$ . 47776)] delete-dups use-package-process-keywords apply append delete nil] 13 (#$ . 40611)])
(defalias 'use-package-normalize/:defer 'use-package-normalize-predicate)
(defalias 'use-package-handler/:defer #[1285 "\300#\247\205# \301\302\303\304\n\2119\204 \305!\262D\306BBBBBC\203+ \204/ \202; \307\304D\304\310!DECD\311\312\313\302\313\302C\"\"\"\207" [use-package-process-keywords run-with-idle-timer nil #'require quote intern (nil t) eval-after-load macroexp-progn apply append delete] 14 (#$ . 40611)])
(defalias 'use-package-normalize/:after #[771 "\300#\262\211:\203 \207C\207" [use-package-normalize-recursive-symlist] 7 (#$ . 28863)])#@79 Count the number of time the body would appear in the result.

(fn FEATURES*)
(defalias 'use-package-after-count-uses #[257 "\211\211\205 \2119\262\203 \300\207\211:\2031 \211@\301>\2031 \302A\211\203/ \211@\303!\\\262\210A\202 \210\207\211:\203F \211@\304>\203F \305\306\307\303A\"\"\207\211<\205P \303\310B!\207" [1 (:or :any) 0 use-package-after-count-uses (:and :all) apply max mapcar :all] 7 (#$ . 49631)])#@177 Generate `eval-after-load' statements to represents FEATURES*.
FEATURES* is a list containing keywords `:and' and `:all', where
no keyword implies `:all'.

(fn FEATURES* BODY)
(defalias 'use-package-require-after-load #[514 "\211C\211\205	 \2119\262\203 \300\301D\301\302\242!DEC\207:\2030 @\303>\2030 \304\305\306\"A\"\207:\203T @\307>\203T A\211\203Q \211@\310\242\"\240\266A\202> \210\242\207<\205` \310\311B\242\"\207" [eval-after-load quote macroexp-progn (:or :any) cl-mapcan make-closure #[257 "\301\300\242\"\207" [V0 use-package-require-after-load] 4 (#$ . 28361)] (:and :all) use-package-require-after-load :all] 9 (#$ . 50059)])
(defalias 'use-package-handler/:after #[1285 "\300#\301!\211\203 \204 \207\211\302X\203 \303\"\207\304\305\303\"\306!\"\207" [use-package-process-keywords use-package-after-count-uses 1 use-package-require-after-load use-package-memoize apply-partially macroexp-progn] 11 (#$ . 40611)])
(defalias 'use-package-normalize/:demand 'use-package-normalize-predicate)
(defalias 'use-package-handler/:demand #[1285 "\300#\207" [use-package-process-keywords] 9 (#$ . 40611)])#@63 Normalize use-package custom keyword.

(fn NAME KEYWORD ARGS)
(defalias 'use-package-normalize/:custom #[771 "\300\301!\302#\207" [use-package-as-one symbol-name #[514 "\211<\204 \300P\301\302\"\266\211@\211\205 \2119\262\203 C\207\207" [" a (<symbol> <value> [comment]) or list of these" error "use-package: %s"] 6 (#$ . 46134)]] 7 (#$ . 51209)])
(defalias 'use-package-handler/:custom #[1285 "\301\300!\203 \203 \302\303\304\305\306\307\310\311\f\"	\"BBFC\202' \307\310\312\"\"\313#D\314\315\316\317\316\317C\"\"\"\207" [use-package-use-theme boundp let ((custom--inhibit-theme-enable nil)) (unless (memq 'use-package custom-known-themes) (deftheme use-package) (enable-theme 'use-package) (setq custom-enabled-themes (remq 'use-package custom-enabled-themes))) custom-theme-set-variables 'use-package mapcar make-closure #[257 "\211@A@\3018\211\203 \211;\204 \302\303\300\"\262\304\305\211\257D\207" [V0 2 format "Customized with use-package %s" quote nil] 10 (#$ . 46916)] #[257 "\211@A@\3018\211\203 \211;\204 \302\303\300\"\262\304\305DF\207" [V0 2 format "Customized with use-package %s" customize-set-variable quote] 8 (#$ . 46916)] use-package-process-keywords apply append delete nil] 14 (#$ . 46834)])#@74 Normalize use-package custom-face keyword.

(fn NAME-SYMBOL KEYWORD ARG)
(defalias 'use-package-normalize/:custom-face #[771 "\300\301\"<\204 \211\302\303\"\266\211\203D \211@\211<\204# \302\303\"\266\211@A@\2037 \211\2037 G\304V\203> \302\303\"\266\266A\202 \210\207" [format "%s wants a (<symbol> <face-spec> [spec-type]) or list of these" error "use-package: %s" 3] 12 (#$ . 52467)])#@83 Generate use-package custom-face keyword code.

(fn NAME KEYWORD ARGS REST STATE)
(defalias 'use-package-handler/:custom-face #[1285 "\300\301\"\302#D\303\304\305\306\305\306C\"\"\"\207" [mapcar #[257 "\300\301\302\303\304D\305BBE\306\307@D\310BBE\207" [progn apply #'face-spec-set append backquote ('(face-defface-spec)) put quote ('face-modified t)] 7 (#$ . 46916)] use-package-process-keywords apply append delete nil] 13 (#$ . 52877)])
(defalias 'use-package-normalize/:init 'use-package-normalize-forms)
(defalias 'use-package-handler/:init #[1285 "\205 \303\304\305D\306BBBC\307\211;\204 \310!\262\304#\211\205B 	\304\n\203@ \311\312\n\211;\2048 \310!\262DBBC\202A \"\262\313#\205Y \303\304\305\nD\314BBBCF\315\316\317\320\317\320C\"\"\"\207" [use-package-compute-statistics use-package--hush-function use-package-check-before-init use-package-statistics-gather :init quote (nil) use-package-hook-injector symbol-name when locate-library use-package-process-keywords (t) apply append delete nil] 14 (#$ . 40611)])
(defalias 'use-package-normalize/:load #[771 "\300#\262\211:\203 \207C\207" [use-package-normalize-recursive-symlist] 7 (#$ . 28863)])
(defalias 'use-package-handler/:load #[1285 "\300#\211\203# \211@\301\302=\203 \202 \303#\262\210A\202 \210\207" [use-package-process-keywords use-package-require t nil] 12 (#$ . 40611)])
(defalias 'use-package-normalize/:config 'use-package-normalize-forms)
(defalias 'use-package-handler/:config #[1285 "\303#\2119\204 \304!\262\205 \305\306\307	D\310BBBC\203) \311\232\2031 	\2041 \202V \312\313\314\"\n\306\315\316!\306\f#\317CE\320\321\322\323\322\323C\"\"\"\262\"\"\205e \305\306\307D\324BBBCE\320\321\322\323\322\323C\"\"\"\207" [use-package-compute-statistics use-package-inject-hooks use-package--hush-function use-package-process-keywords intern use-package-statistics-gather :config quote (nil) (t) use-package-with-elapsed-timer format "Configuring package %s" use-package-hook-injector symbol-name t apply append delete nil (t)] 20 (#$ . 40611)])#@311 Install a package with `package-vc.el'.
ARG is a list of the form (NAME OPTIONS REVISION), as returned by
`use-package-normalize--vc-arg'.  If LOCAL-PATH is non-nil, call
`package-vc-install-from-checkout'; otherwise, indicating a
remote host, call `package-vc-install' instead.

(fn ARG &optional LOCAL-PATH)
(defalias 'use-package-vc-install #[513 "\242\243\211\242\243\211\242\243\203 B\202 \300!?\2051 \203- \301\302	!\"\207\303\"\207" [package-installed-p package-vc-install-from-checkout symbol-name package-vc-install] 13 (#$ . 54977)])#@749 Generate code to install package NAME, or do so directly.
When the use-package declaration is part of a byte-compiled file,
install the package during compilation; otherwise, add it to the
macro expansion and wait until runtime.  The remaining arguments
are as follows:

_KEYWORD is ignored.

ARG is the normalized input to the `:vc' keyword, as returned by
the `use-package-normalize/:vc' function.

REST is a plist of other (following) keywords and their
arguments, each having already been normalized by the respective
function.

STATE is a plist of any state that keywords processed before
`:vc' (see `use-package-keywords') may have accumulated.

Also see the Info node `(use-package) Creating an extension'.

(fn NAME KEYWORD ARG REST STATE)
(defalias 'use-package-handler/:vc #[1285 "\301#\302\303\"@\304\300!\203 \203 \305\"\210\202' \305\306DEB\262\207" [byte-compile-current-file use-package-process-keywords plist-get :load-path boundp use-package-vc-install quote] 10 (#$ . 55546)])#@88 Valid keywords for the `:vc' keyword.
See Info node `(emacs)Fetching Package Sources'.
(defconst use-package-vc-valid-keywords '(:url :branch :lisp-dir :main-file :vc-backend :rev :shell-command :make :ignored-files) (#$ . 56561))#@414 Normalize possible arguments to the `:vc' keyword.
ARG is a cons-cell of approximately the form that
`package-vc-selected-packages' accepts, plus an additional `:rev'
keyword.  If `:rev' is not given, it defaults to `:last-release'.

Returns a list (NAME SPEC REV), where (NAME . SPEC) is compliant
with `package-vc-selected-packages' and REV is a (possibly nil,
indicating the latest commit) revision.

(fn ARG)#@10 

(fn S)#@54 

(fn --CL-ENSURE-STRING-- --CL-ENSURE-SYMBOL-- K V)#@11 

(fn EL)
(defalias 'use-package-normalize--vc-arg #[257 "\301\302\303\242\243\211;\203 D\207\304\305\"\211\306\211:\203? \210@\211A\262\242\262\235\2048 \307\310#\311\312\"\266A\262\202 \266\306\211\211:\203\203 @\262\211A\262\242\262\313=\204| 	\f\f\314\315\"\203s @\202u $D\237\244\262A\262\202F \266\203\237\313\316\313\"@$E\207" [use-package-vc-valid-keywords #[257 "\211\203\n \211;\203\n \207\300!\207" [symbol-name] 3 (#$ . 57216)] #[257 "\211\203 \211;\203 \300!\207\207" [intern] 3 (#$ . 57216)] #[1028 "\301\267\202' \211\302\267\202 ?\205* \303\207\303\207\304\207!\207!\207\211<\203% \207C\207!\207" [use-package-vc-prefer-newest #s(hash-table test eq purecopy t data (:rev 6 :vc-backend 27 :ignored-files 31)) #s(hash-table test eq purecopy t data (nil 12 :last-release 19 :newest 21)) :last-release nil] 6 (#$ . 57230)] use-package-split-when #[257 "\301\"\207" [use-package-vc-valid-keywords seq-contains-p] 4 (#$ . 57288)] nil format "Keyword :vc received unknown argument: %s. Supported keywords are: %s" error "use-package: %s" :rev length= 1 alist-get] 20 (#$ . 56798)])#@380 Normalize possible arguments to the `:vc' keyword.
NAME is the name of the `use-package' declaration, _KEYWORD is
ignored, and ARGS it a list of arguments given to the `:vc'
keyword, the cdr of which is ignored.

See `use-package-normalize--vc-arg' for most of the actual
normalization work.  Also see the Info
node `(use-package) Creating an extension'.

(fn NAME KEYWORD ARGS)
(defalias 'use-package-normalize/:vc #[771 "\211@\211\300>\203 C\207\2119\203 C\207\211;\203 D\207\211:\203u \211\242\301!\203P \243\211<\2036 \302B!\2079\204A \303\304\305\"\207\211;\203J \302!\207\303\304\305\"\207\2119\203o \243\211<\203` \302!\207\211;\203i \302!\207\303\304\305\"\207\303\304\305\"\207\303\304\305\"\207" [(t nil) keywordp use-package-normalize--vc-arg "Unrecognized argument to :vc. The keyword wants an argument of nil, t, a name of a package, or a cons-cell as accepted by `package-vc-selected-packages', where  the accepted plist is augmented by a `:rev' keyword." error "use-package: %s"] 10 (#$ . 58452)])
(defalias 'use-package-core '(macro . #[514 "\300\301\302ED\303\304\305\306\307\310\311\312\313\314\fDEDD\315BBB\316BBBDD\317BB\207" [let* args* use-package-normalize-keywords use-package--form if (eq use-package-verbose 'debug) concat "\n\n" pp-to-string \` use-package (\, name) \,@ ("\n  -->\n\n" (pp-to-string `(use-package ,name ,@args*)) "\n  ==>\n\n" (pp-to-string (macroexp-progn (let ((use-package-verbose 'errors) (use-package-expand-minimally t)) (use-package-process-keywords name args* (and (plist-get args* :demand) (list :demand t))))))) ("") ((use-package-process-keywords name args* (and (plist-get args* :demand) (list :demand t))))] 15 (#$ . 22131)]))#@3601 Declare an Emacs package by specifying a group of configuration options.

For the full documentation, see Info node `(use-package) top'.
Usage:

  (use-package package-name
     [:keyword [option]]...)

:init            Code to run before PACKAGE-NAME has been loaded.
:config          Code to run after PACKAGE-NAME has been loaded.  Note that
                 if loading is deferred for any reason, this code does not
                 execute until the lazy load has occurred.
:preface         Code to be run before everything except `:disabled'; this
                 can be used to define functions for use in `:if', or that
                 should be seen by the byte-compiler.

:mode            Form to be added to `auto-mode-alist'.
:magic           Form to be added to `magic-mode-alist'.
:magic-fallback  Form to be added to `magic-fallback-mode-alist'.
:interpreter     Form to be added to `interpreter-mode-alist'.

:commands        Define autoloads for commands defined by the package.
                 This is useful if the package is being lazily loaded,
                 and you wish to conditionally call functions in your
                 `:init' block that are defined in the package.
:autoload        Similar to `:commands', but used for non-interactive functions.
:hook            Specify hook(s) to attach this package to.

:bind            Bind keys, and define autoloads for the bound commands.
:bind*           Bind keys, and define autoloads for the bound commands,
                 *overriding all minor mode bindings*.
:bind-keymap     Bind a key prefix to an auto-loaded keymap defined in the
                 package.  This is like `:bind', but for keymaps.
:bind-keymap*    Like `:bind-keymap', but overrides all minor mode bindings

:defer           Defer loading of a package -- this is implied when using
                 `:commands', `:bind', `:bind*', `:mode', `:magic', `:hook',
                 `:magic-fallback', or `:interpreter'.  This can be an integer,
                 to force loading after N seconds of idle time, if the package
                 has not already been loaded.
:demand          Prevent the automatic deferred loading introduced by constructs
                 such as `:bind' (see `:defer' for the complete list).

:after           Delay the effect of the use-package declaration
                 until after the named libraries have loaded.
                 Before they have been loaded, no other keyword
                 has any effect at all, and once they have been
                 loaded it is as if `:after' was not specified.

:if EXPR         Initialize and load only if EXPR evaluates to a non-nil value.
:disabled        The package is ignored completely if this keyword is present.
:defines         Declare certain variables to silence the byte-compiler.
:functions       Declare certain functions to silence the byte-compiler.
:load-path       Add to the `load-path' before attempting to load the package.
:diminish        Support for diminish.el (if installed).
:delight         Support for delight.el (if installed).
:custom          Call `customize-set-variable' on each variable
                 definition without modifying the Emacs `custom-file'.
                 (compare with `custom-set-variables').
:custom-face     Call `face-spec-set' with each face definition.
:ensure          Loads the package using package.el if necessary.
:pin             Pin the package to an archive.
:vc              Install the package directly from a version control system
                 (using `package-vc.el').

(fn NAME &rest ARGS)
(defalias 'use-package '(macro . #[385 ";\203\n \304\305\"\210:\203 @\306=\203 \304\307\310A@!\"\2109\204, \311\312\313\314E\"\210\315>?\205$\316\205B \317\320\306D\321BBBC	\322=\203\234 \323\"	\324=\203\206 \325\326\327BB!\330\326\327	BB!\331\326\316\322\332\333\f	\334\335\"\205} \335\332D#*!!\260\202\207 \336\333\334\335\"\205\225 \335\332D#)\262\202\3371\365 \323\"	\324=\203\336 \325\326\327BB!\330\326\327	BB!\331\326\316\322\332\333\f	\334\335\"\205\325 \335\332D#*!!\260\202\337 \336\333\334\335\"\205\355 \335\332D#)\2620\202\340\327\341\342\343!#\344#\266\345\205\317\320\306D\346BBBCE\347\350\351\345\351\345C\"\"\"\262!\207" [use-package-compute-statistics use-package-verbose use-package-expand-minimally use-package--form user-error "String where there should be a symbol.  Try this instead: `(use-package %s ...)'" quote "Quoted symbol where it should be unquoted.  Try this instead: `(use-package %s ...)'" symbol-name signal wrong-type-argument symbol name :disabled macroexp-progn use-package-statistics-gather :use-package (nil) errors use-package-normalize-keywords debug "\n\n" pp-to-string use-package "\n  -->\n\n" "\n  ==>\n\n" t use-package-process-keywords plist-get :demand "" (debug error) display-warning format "Failed to parse package %s: %s" error-message-string :error nil (t) apply append delete] 18 (#$ . 60167)]))
(byte-code "\300\301\302\303#\304\305!\207" [function-put use-package lisp-indent-function defun provide use-package-core] 4)
