;ELC ;;; Compiled ;;; in Emacs version 28.0.50 ;;; with all optimizations. (byte-code "\300\301!\210\302\303\304\"\210\302\305\304\"\210\302\306\304\"\207" [require tramp autoload prop-match-beginning "text-property-search" prop-match-end text-property-search-forward] 3) #@45 Method name for crypted remote directories. (defconst tramp-crypt-method "crypt" (#$ . 284)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \210\300\314\302\303\315DD\316\306\307\310\311\312\313& \210\300\317\302\303\320DD\321\306\307\310\311\312\322& \207" [custom-declare-variable tramp-crypt-encfs-program funcall function #[0 "\300\207" [#1="encfs"] 1 #1#] "Name of the encfs program." :group tramp :version "28.1" :type string tramp-crypt-encfsctl-program #[0 "\300\207" [#2="encfsctl"] 1 #2#] "Name of the encfsctl program." tramp-crypt-encfs-option #[0 "\300\207" [#3="--standard"] 1 #3#] "Configuration option for encfs.\nThis could be either \"--standard\" or \"--paranoia\". The file\nname IV chaining mode mode will always be disabled when\ninitializing a new crypted remote directory." (choice (const "--standard") (const "--paranoia"))] 10) #@47 Non-nil when encryption support is available. (defvar tramp-crypt-enabled nil (#$ . 1162)) (byte-code "\302!\302\207" [tramp-crypt-encfs-program tramp-crypt-enabled executable-find] 2) #@138 A predicate for Tramp interactive commands. They are completed by "M-x TAB" only when encryption support is enabled. (fn SYMBOL BUFFER) (defalias 'tramp-crypt-command-completion-p #[514 "\205\f\302=?\206\f \207" [tramp-crypt-enabled tramp-crypt-directories tramp-crypt-remove-directory] 4 (#$ . 1356)]) #@32 Encfs configuration file name. (defconst tramp-crypt-encfs-config ".encfs6.xml" (#$ . 1670)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313& \207" [custom-declare-variable tramp-crypt-save-encfs-config-remote funcall function #[0 "\300\207" [t] 1] "Whether to keep the encfs configuration file in the crypted remote directory." :group tramp :version "28.1" :type boolean] 10) #@37 List of crypted remote directories. (defvar tramp-crypt-directories nil (#$ . 2068)) #@130 Return the crypted remote directory NAME belongs to. If NAME doesn't belong to a crypted remote directory, retun nil. (fn NAME) (defalias 'tramp-crypt-file-name-p #[257 "\3042M\205L\211;\205L\211\305\211?\205 \306\307\310!\")\266\202?\205L\311\n\"?\205L \211\205J\211@\306\312\313!!\"\203C\314\304\"\210A\266\202\202,\2620\207" [tramp-crypt-enabled file-name-handler-alist tramp-crypt-encfs-config tramp-crypt-directories crypt-file-name-p nil string-prefix-p "/:" file-local-name string-suffix-p file-name-as-directory expand-file-name throw] 8 (#$ . 2160)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-crypt-file-name-p speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@125 Alist of handler functions for crypt method. Operations not mentioned here will be handled by the default Emacs primitives. (defconst tramp-crypt-file-name-handler-alist '((access-file . tramp-crypt-handle-access-file) (add-name-to-file . tramp-handle-add-name-to-file) (copy-directory . tramp-handle-copy-directory) (copy-file . tramp-crypt-handle-copy-file) (delete-directory . tramp-crypt-handle-delete-directory) (delete-file . tramp-crypt-handle-delete-file) (directory-files . tramp-crypt-handle-directory-files) (directory-files-and-attributes . tramp-handle-directory-files-and-attributes) (dired-compress-file . ignore) (dired-uncache . tramp-handle-dired-uncache) (exec-path . ignore) (file-accessible-directory-p . tramp-handle-file-accessible-directory-p) (file-acl . ignore) (file-attributes . tramp-crypt-handle-file-attributes) (file-directory-p . tramp-handle-file-directory-p) (file-equal-p . tramp-handle-file-equal-p) (file-executable-p . tramp-crypt-handle-file-executable-p) (file-exists-p . tramp-handle-file-exists-p) (file-in-directory-p . tramp-handle-file-in-directory-p) (file-local-copy . tramp-handle-file-local-copy) (file-modes . tramp-handle-file-modes) (file-name-all-completions . tramp-crypt-handle-file-name-all-completions) (file-name-case-insensitive-p . ignore) (file-name-completion . tramp-handle-file-name-completion) (file-newer-than-file-p . tramp-handle-file-newer-than-file-p) (file-notify-add-watch . ignore) (file-notify-rm-watch . ignore) (file-notify-valid-p . ignore) (file-ownership-preserved-p . tramp-crypt-handle-file-ownership-preserved-p) (file-readable-p . tramp-crypt-handle-file-readable-p) (file-regular-p . tramp-handle-file-regular-p) (file-selinux-context . ignore) (file-symlink-p . tramp-handle-file-symlink-p) (file-system-info . tramp-crypt-handle-file-system-info) (file-writable-p . tramp-crypt-handle-file-writable-p) (find-backup-file-name . tramp-handle-find-backup-file-name) (insert-directory . tramp-crypt-handle-insert-directory) (load . tramp-handle-load) (make-auto-save-file-name . tramp-handle-make-auto-save-file-name) (make-directory . tramp-crypt-handle-make-directory) (make-directory-internal . ignore) (make-nearby-temp-file . tramp-handle-make-nearby-temp-file) (make-process . ignore) (make-symbolic-link . tramp-handle-make-symbolic-link) (process-file . ignore) (rename-file . tramp-crypt-handle-rename-file) (set-file-acl . ignore) (set-file-modes . tramp-crypt-handle-set-file-modes) (set-file-selinux-context . ignore) (set-file-times . tramp-crypt-handle-set-file-times) (set-visited-file-modtime . tramp-handle-set-visited-file-modtime) (shell-command . ignore) (start-file-process . ignore) (temporary-file-directory . tramp-handle-temporary-file-directory) (tramp-set-file-uid-gid . tramp-crypt-handle-set-file-uid-gid) (unhandled-file-name-directory . ignore) (vc-registered . ignore) (verify-visited-file-modtime . tramp-handle-verify-visited-file-modtime) (write-region . tramp-handle-write-region)) (#$ . 2897)) #@96 Like `tramp-file-name-for-operation', but for crypted remote files. (fn OPERATION &rest ARGS) (defalias 'tramp-crypt-file-name-for-operation #[385 "\304\305#\211\3062S\205R\211;\205R\211\307\211?\205 \310\311\312!\")\266\202?\205R\313\n\"?\205R \211\205P\211@\310\314\315!!\"\203I\316\306\"\210A\266\202\2022\2620\262\204h\304\305\317\320\321N@\322\"AB#\262\207" [tramp-crypt-enabled file-name-handler-alist tramp-crypt-encfs-config tramp-crypt-directories apply tramp-file-name-for-operation crypt-file-name-p nil string-prefix-p "/:" file-local-name string-suffix-p file-name-as-directory expand-file-name throw eval temporary-file-directory standard-value t] 11 (#$ . 5917)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-crypt-file-name-for-operation speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@169 Invoke normal file name handler for OPERATION. First arg specifies the OPERATION, second arg ARGS is a list of arguments to pass to the OPERATION. (fn OPERATION ARGS) (defalias 'tramp-crypt-run-real-handler #[514 "\302=\205 B\303\"*\207" [inhibit-file-name-operation inhibit-file-name-handlers tramp-crypt-file-name-handler apply] 5 (#$ . 6792)]) #@173 Invoke the crypted remote file related OPERATION. First arg specifies the OPERATION, second arg is a list of arguments to pass to the OPERATION. (fn OPERATION &rest ARGS) (defalias 'tramp-crypt-file-name-handler #[385 "\305\306#\211\205`\211\3072W\205V\211;\205V\211\310\211?\205 \311\312\313!\")\266\202?\205V\314\n\"?\205V \211\205T\211@\311\315\316!!\"\203M\317\307\"\210A\266\202\2026\2620\262\205`\320\f\"\211\203r\321 \322\323\"\216\305A\")\207\324\"\207" [tramp-crypt-enabled file-name-handler-alist tramp-crypt-encfs-config tramp-crypt-directories tramp-crypt-file-name-handler-alist apply tramp-crypt-file-name-for-operation crypt-file-name-p nil string-prefix-p "/:" file-local-name string-suffix-p file-name-as-directory expand-file-name throw assoc match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] tramp-crypt-run-real-handler] 11 (#$ . 7156)]) #@59 Add crypt file name handler to `file-name-handler-alist'. (defalias 'tramp-register-crypt-file-name-handler #[0 "\205 \205\303\304\n\305B\"\210\306\305\307\310#\207" [tramp-crypt-enabled tramp-crypt-directories tramp-file-name-regexp add-to-list file-name-handler-alist tramp-crypt-file-name-handler put safe-magic t] 4 (#$ . 8085)]) (byte-code "\301 \210\302\303\304\305\306\"#\207" [tramp-crypt-file-name-handler-alist tramp-register-file-name-handlers put tramp-crypt-file-name-handler operations mapcar car] 6) #@54 Return the encfs config file name for VEC. (fn VEC) (defalias 'tramp-crypt-config-file-name #[257 "\303\304\242>\204\305\306\307D\"\210\3108 Q\n\"\207" [cl-struct-tramp-file-name-tags tramp-crypt-encfs-config user-emacs-directory expand-file-name "tramp-" signal wrong-type-argument tramp-file-name 4] 7 (#$ . 8612)]) #@173 Maybe open a connection VEC. Does not do anything if a connection is already open, but re-opens the connection if a previous connection has died for some reason. (fn VEC) (defalias 'tramp-crypt-maybe-open-connection #[257 "\306\307!!\204'\310\311\312!\313\307!\314\315\316\317\320\315\321\315&\f\322\323#\210\324\325\"\266\325\315\326\n\327!\"\330!\331!?\2055 \203N\331!\203N\332\333\334$\2025\335\336\337N@\315\"\340\341\342\343\326 \335\336\337N@\315\"\"\344\315\"#\266\202!\340\345\342\343\326 \335\336\337N@\315\"\"\344\315\"#\266\202!\346\347@#\210\350\351\315\"r\211q\210\352\353\"\216\354\355!\356\357\327\n!\"\"c\210\360edA\325\307\f!\325B\361\f\f& \362U\203\326\3631\325\364C!\205\320C 0\210\202\326\210*\210\350\365\315\"\352\366\"\216r\211q\210\367\326\n\"!\210\370\371\325\372#\203\372\373\374!\210)r\211q\210\375\325\211\325\362%\210*\266\376A\325\211\211\377&\210\201D\201E\"\210\201D!\210 \2052\332\333\334$)\266\202*\207" [tramp-crypt-enabled non-essential tramp-crypt-encfs-config tramp-crypt-save-encfs-config-remote default-directory tramp-temp-name-prefix get-buffer-process tramp-get-connection-buffer make-network-process :name tramp-get-connection-name :buffer :server t :host local :service :noquery process-put vector set-process-query-on-exit-flag nil expand-file-name tramp-crypt-get-remote-dir tramp-crypt-config-file-name file-exists-p copy-file ok keep eval temporary-file-directory standard-value file-name-as-directory " .crypt" dir-flag make-temp-file file-name-extension " .nocrypt" tramp-set-connection-property "first-password-request" generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] tramp-read-passwd tramp-get-connection-process format "New EncFS Password for %s " tramp-call-process-region "--extpass=cat" 0 (error) functionp " *temp file*" #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] insert-file-contents search-forward "1" noerror replace-match "0" write-region tramp-call-process "--unmount" tramp-cache-read-persistent-data tramp-crypt-encfs-program tramp-crypt-encfs-option tramp-password-save-function delete-directory recursive] 18 (#$ . 8944)]) #@139 Send encfsctl command to connection VEC. ARGS are the arguments. It returns t if ran successful, and nil otherwise. (fn VEC &rest ARGS) (defalias 'tramp-crypt-send-command #[385 "\305!\210r\306!q\210\307 \210\310\311!\210)\312\313\314\"r\211q\210\315\316\"\216\314\317\320\321N@\314\"\322\323\324!\"\325\311\"\326\327\n#\210\330\331!\322\332\333 !\"\"c\210\334\335ed\336\311\306\f!\311\n  @\337 A& \340U\205y\3411w\342\f!\205r\f 0\210\202x\210\314*\266\202*\207" [non-essential default-directory tramp-cache-read-persistent-data tramp-crypt-encfsctl-program tramp-password-save-function tramp-crypt-maybe-open-connection tramp-get-connection-buffer erase-buffer set-buffer-multibyte nil generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \302\300!\207" [V0 buffer-name kill-buffer] 2] eval temporary-file-directory standard-value format "ENCFS6_CONFIG=%s" tramp-crypt-config-file-name delq tramp-set-connection-property "first-password-request" tramp-read-passwd tramp-get-connection-process "EncFS Password for %s " tramp-crypt-get-remote-dir apply tramp-call-process-region "env" "--extpass=cat" 0 (error) functionp] 19 (#$ . 11257)]) #@179 Return encrypted / decrypted NAME if NAME belongs to a crypted directory. OP must be `encrypt' or `decrypt'. Raise an error if this fails. Otherwise, return NAME. (fn OP NAME) (defalias 'tramp-crypt-do-encrypt-or-decrypt-file-name #[514 "\305\211\3062P\205O\211;\205O\211\307\211?\205 \310\311\312!\")\266\202?\205O\313\n\"?\205O \211\205M\211@\310\314\315!!\"\203F\316\306\"\210A\266\202\202/\2620\262\211\205\\GS\307O\211\205c\317!\211\203%\320!\203q\314\202r\321\322\230?\205 \323!\203\343\324\325\n!\326P\f$\211\f=\203\335\327 \330=\203\236\331\202\237\332\333\334\335N@\305\"$\204\300\336\337\340 \330=\203\273\341\202\274\342 %\210r\343!q\210eb\210e\344 {)\262\345\325 !\326P$\210\211\262\202 \327\330=\203\360\331\202\361\332\333\334\335N@\305\"$\204\336\337\340\n\330=\203 \341\202\342\n%\210r\343!q\210eb\210e\344 {)P!\202&)\207" [tramp-crypt-enabled file-name-handler-alist tramp-crypt-encfs-config tramp-crypt-directories tramp-cache-undefined t crypt-file-name-p nil string-prefix-p "/:" file-local-name string-suffix-p file-name-as-directory expand-file-name throw tramp-crypt-dissect-file-name directory-name-p identity "/" file-name-absolute-p tramp-get-file-property symbol-name "-file-name" tramp-crypt-send-command encrypt "encode" "decode" eval temporary-file-directory standard-value tramp-error file-error "%s of file name %s failed." "Encoding" "Decoding" tramp-get-connection-buffer point-at-eol tramp-set-file-property] 14 (#$ . 12438)]) #@98 Return encrypted NAME if NAME belongs to a crypted directory. Otherwise, return NAME. (fn NAME) (defalias 'tramp-crypt-encrypt-file-name #[257 "\300\301\"\207" [tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 4 (#$ . 13987)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-crypt-encrypt-file-name speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@98 Return decrypted NAME if NAME belongs to a crypted directory. Otherwise, return NAME. (fn NAME) (defalias 'tramp-crypt-decrypt-file-name #[257 "\300\301\"\207" [tramp-crypt-do-encrypt-or-decrypt-file-name decrypt] 4 (#$ . 14381)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-crypt-decrypt-file-name speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@282 Encrypt / decrypt file INFILE to OUTFILE according to crypted directory ROOT. Both files must be local files. OP must be `encrypt' or `decrypt'. If OP ist `decrypt', the basename of INFILE must be an encrypted file name. Raise an error if this fails. (fn OP ROOT INFILE OUTFILE) (defalias 'tramp-crypt-do-encrypt-or-decrypt-file #[1028 "\306\3072P\205O\211;\205O\211\310\211?\205 \311\312\313!\")\266\202?\205O\314\n\"?\205O \211\205M\211@\311\315\316!!\"\203F\317\307\"\210A\266\202\202/\2620\262\211\205Y\320!\211\205\257\321=\203g\322\202h\f\323=\203s\322\202t \324\325\323=\205\201\326\327!\330\331\n!P%\204\243\332\333\334 \323=\203\236\335\202\237\336%\210r\337!q\210\340\310\211#+)\207" [tramp-crypt-enabled file-name-handler-alist tramp-crypt-encfs-config tramp-crypt-directories coding-system-for-read coding-system-for-write t crypt-file-name-p nil string-prefix-p "/:" file-local-name string-suffix-p file-name-as-directory expand-file-name throw tramp-crypt-dissect-file-name decrypt binary encrypt tramp-crypt-send-command "cat" "--reverse" file-name-directory "/" file-name-nondirectory tramp-error file-error "%s of file %s failed." "Encrypting" "Decrypting" tramp-get-connection-buffer write-region] 14 (#$ . 14776)]) #@141 Encrypt file INFILE to OUTFILE according to crypted directory ROOT. See `tramp-crypt-do-encrypt-or-decrypt-file'. (fn ROOT INFILE OUTFILE) (defalias 'tramp-crypt-encrypt-file #[771 "\300\301$\207" [tramp-crypt-do-encrypt-or-decrypt-file encrypt] 8 (#$ . 16070)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-crypt-encrypt-file speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@141 Decrypt file INFILE to OUTFILE according to crypted directory ROOT. See `tramp-crypt-do-encrypt-or-decrypt-file'. (fn ROOT INFILE OUTFILE) (defalias 'tramp-crypt-decrypt-file #[771 "\300\301$\207" [tramp-crypt-do-encrypt-or-decrypt-file decrypt] 8 (#$ . 16494)]) (byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put tramp-crypt-decrypt-file speed -1 put byte-optimizer byte-compile-inline-expand] 5) #@224 Mark remote directory NAME for encryption. Files in that directory and all subdirectories will be encrypted before copying to, and decrypted after copying from that directory. File names will be also encrypted. (fn NAME) (defalias 'tramp-crypt-add-directory #[257 "\204 \303\304\305\"\210\306!\203\307!\204\303\304\310#\210\211\304\211?\205# \311\312\313!\")\266\202\2036\303\304\314#\210\315\316!!\262\211\n\235\204G\211\nB\317 \207" [tramp-crypt-enabled file-name-handler-alist tramp-crypt-directories tramp-user-error nil "Feature is not enabled." tramp-tramp-file-p file-directory-p "%s must be an existing remote directory." string-prefix-p "/:" file-local-name "%s must not be quoted." file-name-as-directory expand-file-name tramp-register-file-name-handlers] 7 (#$ . 16918) "DRemote directory name: "]) (byte-code "\300\301\302\303#\300\207" [function-put tramp-crypt-add-directory completion-predicate tramp-crypt-command-completion-p] 4) #@151 Unmark remote directory NAME for encryption. Existing files in that directory and its subdirectories will be kept in their encrypted form. (fn NAME) (defalias 'tramp-crypt-remove-directory #[257 "\204 \304\305\306\"\210\307\310!!\262\211 \235\205.\311\n\312\305 #\"\205.\313\314!\205.\311 \"\315 \207" [tramp-crypt-enabled tramp-crypt-directories tramp-crypt-encfs-config directory-files-no-dot-files-regexp tramp-user-error nil "Feature is not enabled." file-name-as-directory expand-file-name delete directory-files yes-or-no-p "There exist encrypted files, do you want to continue? " tramp-register-file-name-handlers] 7 (#$ . 17893) "DRemote directory name: "]) (byte-code "\300\301\302\303#\300\207" [function-put tramp-crypt-remove-directory completion-predicate tramp-crypt-command-completion-p] 4) #@196 Return a `tramp-file-name' structure for NAME. The structure consists of the `tramp-crypt-method' method, the local user name, the hexlified directory NAME as host, and the localname. (fn NAME) (defalias 'tramp-crypt-dissect-file-name #[257 "\305 \306\307\"\216\3102U\205T\211;\205T\211\311\211?\205 \312\313\314!\")\266\202?\205T\315\n\"?\205T \211\205R\211@\312\316\317!!\"\203K\320\310\"\210A\266\202\2024\2620\262\211\203k\321\322\f\323\324 \325\326!&\202p\327\311\330#\262)\207" [tramp-crypt-enabled file-name-handler-alist tramp-crypt-encfs-config tramp-crypt-directories tramp-crypt-method match-data make-closure #[0 "\301\300\302\"\207" [V0 set-match-data evaporate] 3] crypt-file-name-p nil string-prefix-p "/:" file-local-name string-suffix-p file-name-as-directory expand-file-name throw make-tramp-file-name :method :user user-login-name :host url-hexify-string tramp-user-error "Not a crypted remote directory: \"%s\""] 11 (#$ . 18717)]) #@81 Return the name of the crypted remote directory to be used for encfs. (fn VEC) (defalias 'tramp-crypt-get-remote-dir #[257 "\301\242>\204\302\303\304D\"\210\3058!\207" [cl-struct-tramp-file-name-tags url-unhex-string signal wrong-type-argument tramp-file-name 4] 6 (#$ . 19706)]) #@59 Like `access-file' for Tramp files. (fn FILENAME STRING) (defalias 'tramp-crypt-handle-access-file #[514 "\302\303\"\262\304!\305P\306\3071\310\"0\202N\211@\311=\203F\211A@;\203FA@\306\312\313#)\266\203\203F\211A\314A@#\240\210\315@A\"\262)\207" [tramp-crypt-enabled inhibit-changing-match-data tramp-crypt-do-encrypt-or-decrypt-file-name encrypt regexp-quote "\\'" nil (error) access-file file-missing t string-match replace-regexp-in-string signal] 12 (#$ . 19999)]) #@843 Copy or rename a remote file. OP must be `copy' or `rename' and indicates the operation to perform. FILENAME specifies the file to copy or rename, NEWNAME is the name of the new file (for copy) or the new name of the file (for rename). OK-IF-ALREADY-EXISTS means don't barf if NEWNAME exists already. KEEP-DATE means to make sure that NEWNAME has the same timestamp as FILENAME. PRESERVE-UID-GID, when non-nil, instructs to keep the uid and gid if both files are on the same host. PRESERVE-EXTENDED-ATTRIBUTES is ignored. This function is invoked by `tramp-crypt-handle-copy-file' and `tramp-crypt-handle-rename-file'. It is an error if OP is neither of `copy' and `rename'. FILENAME and NEWNAME must be absolute file names. (fn OP FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID PRESERVE-EXTENDED-ATTRIBUTES) (defalias 'tramp-crypt-do-copy-or-rename-file #[1795 "C\306>\204\307\310 \"\210\211\311\242!\240\210\211\242\3122e\205d\211;\205d\211\313\211?\205- \314\315\316!\")\266\202?\205d\317\n\"?\205d \211\205b\211@\314\320\321!!\"\203[\322\312\"\210A\266\202\202D\2620\262\3122\266\205\265\211;\205\265\211\313\211?\205~ \314\315\316!\")\266\202?\205\265\317\n\"?\205\265 \211\205\263\211@\314\320\321!!\"\203\254\322\312\"\210A\266\202\202\225\2620\262\242\323\324\"\262\323\324\"\262 \325=\203\323\326\202\324\327\330\242!\203\370\331\242\f \332$\210\f\333=\203<\334\242\335\"\210\202<\336\203\242\202 !\211\242\f>\204\337\340\341D\"\210\211A@\242\f>\204%\337\340\341D\"\210\3428\242\f>\2046\337\340\341D\"\210\3438\242\f>\204H\337\340\341D\"\210\3448\242\f>\204Z\337\340\341D\"\210\3458\242\f>\204l\337\340\341D\"\210\3468\242\f>\204\200\337\340\341 D\"\210\3478\350\242!\204\251\242\351\352N\203\241\353 #\266\202\251\353 \354$\266\204\275\350!\203\275\353\355#\210\330!\203\324\356!\204\324\353\357\360$\210@\204\336A\203\363\f\203 \203\f\f\230\203\313\325=\203\f\361  &\210\202\362  #\210)\266\202< \242\363\364\321B\365\366\367N@\332\"\"\370\332\"#\266\202\321\371 !\"\321\371 !\"\313\203s\203s\325=\203g\361&\210\202\350\362#\210\202\350\203\256\325=\203\220\361\332&\210\202\227\362\332#\210\372\373$\266\362#\210\202\350\203\350\325=\203\314\361\242\332&\210\202\324\362\242\332#\210\372\324$\266\362#\210\334\335\"\210)\266 \202<\374\375\376\377 \242$C\201E1\316CX\205\310\343X\203ND\204N\201F\201G\374U\203,\201H\202I\201IU\203:\201H\202I\342U\203F\201J\202I\201KP#\210C\344Y\205\310\374C\201IU\203\234\201L1\233r\201M!\203w\201N!\202\201O\201P\"q\210\201QP\262\201R\201S C\"\211\262)0\210\202\234\210\201M!\203\256\201T\201U\"\262)\242\f>\205\310\201F\201V\376\201W\"P$0\266\202\320\266\201XCD?\205\363\374C\343^X\205\363\201Y\376\377\f\242$\313\211#\211\205\201Z\343\201[\201\\$\262\201]\201^&\216D\206 \211D\203] \203]\230\203]\313\325=\203P\361  &\210\202Y\362  #\210)\2022\242\363\364\321B\365\366\367N@\332\"\"\370\332\"#\266\202\321\371!\"\321\371!\"\313\203\265\203\265\325=\203\251\361&\210\202*\362#\210\202*\203\360\325=\203\322\361\332&\210\202\331\362\332#\210\372\373$\266\362#\210\202*\203*\325=\203\361\242\332&\210\202\362\242\332#\210\372\324$\266\362#\210\334\335\"\210)\266)\201_\240\210)\266\n\203\323\f\333=\203\323\336\242!\211\242\f>\204Z\337\340\341D\"\210\211A@\242\f>\204k\337\340\341D\"\210\3428\242\f>\204|\337\340\341D\"\210\3438\242\f>\204\216\337\340\341D\"\210\3448\242\f>\204\240\337\340\341D\"\210\3458\242\f>\204\262\337\340\341D\"\210\3468\242\f>\204\306\337\340\341 D\"\210\3478\201`\"\266 \205b\336 !\211\242\f>\204\351\337\340\341D\"\210\211A@\242\f>\204\372\337\340\341D\"\210\3428\242\f>\204 \337\340\341D\"\210\3438\242\f>\204\337\340\341D\"\210\3448\242\f>\204/\337\340\341D\"\210\3458\242\f>\204A\337\340\341D\"\210\3468\242\f>\204U\337\340\341 D\"\210\3478\201`\"\266\210\207" [tramp-crypt-enabled file-name-handler-alist tramp-crypt-encfs-config tramp-crypt-directories cl-struct-tramp-file-name-tags tramp-file-missing (copy rename) error "Unknown operation `%s', must be `copy' or `rename'" file-truename crypt-file-name-p nil string-prefix-p "/:" file-local-name string-suffix-p file-name-as-directory expand-file-name throw tramp-crypt-do-encrypt-or-decrypt-file-name encrypt copy "Copying" "Renaming" file-directory-p copy-directory t rename delete-directory recursive tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p file-missing error-conditions tramp-error "No such file or directory: %s" file-already-exists directory-name-p file-error "File is a directory %s" copy-file rename-file dir make-temp-file eval temporary-file-directory standard-value file-name-extension file-name-nondirectory tramp-crypt-do-encrypt-or-decrypt-file decrypt 0 "%s..." format #1="%s %s to %s" noninteractive inhibit-message tramp-temp-name-prefix tramp-verbose tramp-inhibit-progress-reporter #2=(error) apply message #3="" 1 #4="Warning: " #5="Tramp: " #6=(error) processp process-buffer tramp-get-connection-buffer dont-create #7="\n%s" append buffer-string process-get vector tramp-debug-message #8="(%d) # " "failed" make-progress-reporter run-at-time 0.1 tramp-progress-reporter-update make-closure #[0 "\305\203\306\305!\210\303\307\310\311\312\302\300\242\301$\304\242D\3131\260\"X\205\256\314X\203Q#\204Q\315\316\307U\2037\317\202L\320U\203A\317\202L\321U\203K\322\202L\323P#\210\"\324Y\205\256\307\"\320U\203\215\3251\214r\326!\203r\327!\202v\330\331\"q\210\332P\262\333\334 C\"\211\262)0\210\202\215\210\326!\203\231\335\336\"\262)\242$>\205\256\315\337\311\340\"P$0\207\266\341\207" [V0 V1 V2 V3 V4 V5 cancel-timer 0 "%s...%s" format #1# #2# 3 apply message #3# 1 2 #4# #5# 4 #6# processp process-buffer tramp-get-connection-buffer dont-create #7# append buffer-string process-get vector tramp-debug-message #8# nil tramp-verbose tramp-inhibit-progress-reporter cl-struct-tramp-file-name-tags] 10] "done" tramp-flush-file-properties] 34 (#$ . 20502)]) #@145 Like `copy-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID PRESERVE-EXTENDED-ATTRIBUTES) (defalias 'tramp-crypt-handle-copy-file #[1538 "\300!\262\300!\262\301!\204\301!\203)\302\303&\207\304\305\257\"\207" [expand-file-name tramp-tramp-file-p tramp-crypt-do-copy-or-rename-file copy tramp-run-real-handler copy-file] 14 (#$ . 27083)]) #@84 Like `delete-directory' for Tramp files. (fn DIRECTORY &optional RECURSIVE TRASH) (defalias 'tramp-crypt-handle-delete-directory #[769 "\302\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204$\304\305\306D\"\210\3078\242>\2045\304\305\306D\"\210\3108\242>\204G\304\305\306D\"\210\3118\242>\204Y\304\305\306D\"\210\3128\242>\204k\304\305\306D\"\210\3138\242>\204\304\305\306 D\"\210\3148\315\"\210\316\317 \320\321\"\262 \")\207" [cl-struct-tramp-file-name-tags tramp-crypt-enabled tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-directory-properties nil delete-directory tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 16 (#$ . 27517)]) #@68 Like `delete-file' for Tramp files. (fn FILENAME &optional TRASH) (defalias 'tramp-crypt-handle-delete-file #[513 "\302\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204$\304\305\306D\"\210\3078\242>\2045\304\305\306D\"\210\3108\242>\204G\304\305\306D\"\210\3118\242>\204Y\304\305\306D\"\210\3128\242>\204k\304\305\306D\"\210\3138\242>\204\304\305\306 D\"\210\3148\315\"\210\316\317\n\320\321\"\262!)\207" [cl-struct-tramp-file-name-tags tramp-crypt-enabled tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties nil delete-file tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 15 (#$ . 28278)]) #@91 Like `directory-files' for Tramp files. (fn DIRECTORY &optional FULL MATCH NOSORT COUNT) (defalias 'tramp-crypt-handle-directory-files #[1281 "C\302\242!\204'\303\242!\242\304\305N\203\306#\266\202'\306\307$\266\310\242!\205\215\211\311\312\242!!\240\210\313\314\242\315\316\"\262\317\"\320\321\"\262\203]\322\313\320\323\324\n#\"\"\262\204j\320\323\325\"\"\262\204t\326\327\"\262\330!\203\211\331V\203\211\332\211GZ\"\262)\211\262\207" [tramp-file-missing tramp-crypt-enabled file-exists-p tramp-dissect-file-name file-missing error-conditions tramp-error "No such file or directory: %s" file-directory-p file-name-as-directory expand-file-name nil directory-files tramp-crypt-do-encrypt-or-decrypt-file-name encrypt full mapcar #[257 "\211\300\301\"\207" [tramp-crypt-do-encrypt-or-decrypt-file-name decrypt] 5 "\n\n(fn X)"] delq make-closure #[257 "\301\300\242G\303O\303\304\305#)\266\203\205\211\207" [V0 V1 inhibit-changing-match-data nil t string-match] 8 "\n\n(fn X)"] #[257 "\301\302\303\300\242!P\304#\207" [V0 replace-regexp-in-string "^" regexp-quote ""] 5 "\n\n(fn X)"] sort string< natnump 0 nbutlast] 14 (#$ . 29006)]) #@76 Like `file-attributes' for Tramp files. (fn FILENAME &optional ID-FORMAT) (defalias 'tramp-crypt-handle-file-attributes #[513 "\301\302\303\304\"\262\")\207" [tramp-crypt-enabled nil file-attributes tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 7 (#$ . 30205)]) #@58 Like `file-executable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-crypt-handle-file-executable-p #[257 "\301\302\303\304\"\262!)\207" [tramp-crypt-enabled nil file-executable-p tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 6 (#$ . 30486)]) #@76 Like `file-name-all-completions' for Tramp files. (fn FILENAME DIRECTORY) (defalias 'tramp-crypt-handle-file-name-all-completions #[514 "\302\303\211\304!\211\305\306\"\262\307\310\311#\312\313\"\"*\266\202\"\207" [completion-regexp-list tramp-crypt-enabled all-completions nil file-name-as-directory tramp-crypt-do-encrypt-or-decrypt-file-name encrypt mapcar make-closure #[257 "\301P\302\303\"\262\300G\304O\207" [V0 V1 tramp-crypt-do-encrypt-or-decrypt-file-name decrypt nil] 5 "\n\n(fn X)"] file-name-all-completions ""] 12 (#$ . 30751)]) #@56 Like `file-readable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-crypt-handle-file-readable-p #[257 "\301\302\303\304\"\262!)\207" [tramp-crypt-enabled nil file-readable-p tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 6 (#$ . 31313)]) #@83 Like `file-ownership-preserved-p' for Tramp files. (fn FILENAME &optional GROUP) (defalias 'tramp-crypt-handle-file-ownership-preserved-p #[513 "\301\302\303\304\"\262\")\207" [tramp-crypt-enabled nil file-ownership-preserved-p tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 7 (#$ . 31572)]) #@57 Like `file-system-info' for Tramp files. (fn FILENAME) (defalias 'tramp-crypt-handle-file-system-info #[257 "\301\302\303!\205\303\304\305\"\262!)\207" [tramp-crypt-enabled nil functionp file-system-info tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 6 (#$ . 31882)]) #@56 Like `file-writable-p' for Tramp files. (fn FILENAME) (defalias 'tramp-crypt-handle-file-writable-p #[257 "\301\302\303\304\"\262!)\207" [tramp-crypt-enabled nil file-writable-p tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 6 (#$ . 32169)]) #@129 Like `insert-directory' for Tramp files. WILDCARD is not supported. (fn FILENAME SWITCHES &optional WILDCARD FULL-DIRECTORY-P) (defalias 'tramp-crypt-handle-insert-directory #[1026 "\302\303\304\305#\205\252\306\307\310\311\"\262$\210\312!\211\310\311\"\262\306\211eb\210\313\314\315\211#\211\262\205\247\316! >\204@\317\320\321D\"\210\322H\316! >\204R\317\320\321D\"\210\323H{\262\324!\203h\211\310\325\"\262\202uP\310\325\"\262G\306O\262\316! >\204\206\317\320\321D\"\210\322H\316! >\204\230\317\320\321D\"\210\323H|\210\326\314\315#c\210\202&\266\204)\207" [tramp-crypt-enabled cl-struct-prop-match-tags load "text-property-search" noerror nomessage nil tramp-handle-insert-directory tramp-crypt-do-encrypt-or-decrypt-file-name encrypt file-name-as-directory text-property-search-forward dired-filename t type-of signal wrong-type-argument prop-match 1 2 file-name-absolute-p decrypt propertize] 13 (#$ . 32429)]) #@68 Like `make-directory' for Tramp files. (fn DIR &optional PARENTS) (defalias 'tramp-crypt-handle-make-directory #[513 "\302\303!!\211\242>\204\304\305\306D\"\210\211A@\242>\204$\304\305\306D\"\210\3078\242>\2045\304\305\306D\"\210\3108\242>\204G\304\305\306D\"\210\3118\242>\204Y\304\305\306D\"\210\3128\242>\204k\304\305\306D\"\210\3138\242>\204\304\305\306 D\"\210\3148\204\227\315\n!\203\227\316\317\f#\210\320\321\n\322\323\"\262\n\"\210)\324\n\203\263\325\202\266\326!\"\207" [cl-struct-tramp-file-name-tags tramp-crypt-enabled tramp-dissect-file-name expand-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 file-exists-p tramp-error file-already-exists nil make-directory tramp-crypt-do-encrypt-or-decrypt-file-name encrypt tramp-flush-directory-properties "/" file-name-directory] 15 (#$ . 33396)]) #@91 Like `rename-file' for Tramp files. (fn FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS) (defalias 'tramp-crypt-handle-rename-file #[770 "\300!\262\300!\262\301!\204\301!\203 \302\303\304\305&\207\306\307E\"\207" [expand-file-name tramp-tramp-file-p tramp-crypt-do-copy-or-rename-file rename keep-date preserve-uid-gid tramp-run-real-handler rename-file] 10 (#$ . 34285)]) #@75 Like `set-file-modes' for Tramp files. (fn FILENAME MODE &optional FLAG) (defalias 'tramp-crypt-handle-set-file-modes #[770 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138\314\"\210\315\316 \317\320\"\262  #)\207" [cl-struct-tramp-file-name-tags tramp-crypt-enabled tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties nil tramp-compat-set-file-modes tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 16 (#$ . 34681)]) #@75 Like `set-file-times' for Tramp files. (fn FILENAME &optional TIME FLAG) (defalias 'tramp-crypt-handle-set-file-times #[769 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138\314\"\210\315\316 \317\320\"\262  #)\207" [cl-struct-tramp-file-name-tags tramp-crypt-enabled tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties nil tramp-compat-set-file-times tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 16 (#$ . 35417)]) #@81 Like `tramp-set-file-uid-gid' for Tramp files. (fn FILENAME &optional UID GID) (defalias 'tramp-crypt-handle-set-file-uid-gid #[769 "\302!\211\242>\204\303\304\305D\"\210\211A@\242>\204\"\303\304\305D\"\210\3068\242>\2043\303\304\305D\"\210\3078\242>\204E\303\304\305D\"\210\3108\242>\204W\303\304\305D\"\210\3118\242>\204i\303\304\305D\"\210\3128\242>\204}\303\304\305 D\"\210\3138\314\"\210\315\316 \317\320\"\262  #)\207" [cl-struct-tramp-file-name-tags tramp-crypt-enabled tramp-dissect-file-name signal wrong-type-argument tramp-file-name 2 3 4 5 6 7 tramp-flush-file-properties nil tramp-set-file-uid-gid tramp-crypt-do-encrypt-or-decrypt-file-name encrypt] 16 (#$ . 36153)]) (byte-code "\300\301\302\"\210\303\304!\207" [add-hook tramp-unload-hook #[0 "\300\301\302\"\207" [unload-feature tramp-crypt force] 3] provide tramp-crypt] 3)