%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµù Õ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream

nadelinn - rinduu

Command :

ikan Uploader :
Directory :  /usr/share/emacs/25.2/lisp/net/
Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 
Current File : //usr/share/emacs/25.2/lisp/net/tramp.elc
;ELC
;;; Compiled
;;; in Emacs version 25.2.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\306\310\311\312\313\314&\210\315\316\317\320\306\303\321\322&\210\315\323\324\325\306\303\321\326&\210\327\330!\203:\315\331\304\332\306\303\321\333&\210\315\334\304\335\306\303\321\336&\210\315\337\340\341\306\303\321\342&\210\315\343\344\345\306\303\321\346&\210\315\347\350\351\313\352\306\303\321\353&	\207" [require tramp-compat custom-declare-group tramp nil "Edit remote files with a combination of ssh, scp, etc." :group files comm :link (custom-manual "(tramp)Top") :version "22.1" custom-declare-variable tramp-mode t "Whether Tramp is enabled.\nIf it is set to nil, all remote file names are used literally." :type boolean tramp-verbose 3 "Verbosity level for Tramp messages.\nAny level x includes messages for all levels 1 .. x-1.  The levels are\n\n 0  silent (no tramp messages at all)\n 1  errors\n 2  warnings\n 3  connection to remote hosts (default level)\n 4  activities\n 5  internal\n 6  sent and received strings\n 7  file caching\n 8  connection properties\n 9  test commands\n10  traces (huge)." integer boundp backup-directory-alist tramp-backup-directory-alist "Alist of filename patterns and backup directory names.\nEach element looks like (REGEXP . DIRECTORY), with the same meaning like\nin `backup-directory-alist'.  If a Tramp file is backed up, and DIRECTORY\nis a local file name, the backup directory is prepended with Tramp file\nname prefix (method, user, host) of file.\n\n(setq tramp-backup-directory-alist backup-directory-alist)\n\ngives the same backup policy for Tramp files on their hosts like the\npolicy for local files." (repeat (cons (regexp :tag "Regexp matching filename") (directory :tag "Backup directory name"))) tramp-auto-save-directory "Put auto-save files in this directory, if set.\nThe idea is to use a local directory so that auto-saving is faster.\nThis setting has precedence over `auto-save-file-name-transforms'." (choice (const :tag "Use default" nil) (directory :tag "Auto save directory name")) tramp-encoding-shell (if (memq system-type '(windows-nt)) (getenv "COMSPEC") "/bin/sh") "Use this program for encoding and decoding commands on the local host.\nThis shell is used to execute the encoding and decoding command on the\nlocal host, so if you want to use `~' in those commands, you should\nchoose a shell here which groks tilde expansion.  `/bin/sh' normally\ndoes not understand tilde expansion.\n\nFor encoding and decoding, commands like the following are executed:\n\n    /bin/sh -c COMMAND < INPUT > OUTPUT\n\nThis variable can be used to change the \"/bin/sh\" part.  See the\nvariable `tramp-encoding-command-switch' for the \"-c\" part.\n\nIf the shell must be forced to be interactive, see\n`tramp-encoding-command-interactive'.\n\nNote that this variable is not used for remote commands.  There are\nmechanisms in tramp.el which automatically determine the right shell to\nuse for the remote host." (file :must-match t) tramp-encoding-command-switch (if (string-match "cmd\\.exe" (or tramp-encoding-shell #1="")) "/c" "-c") "Use this switch together with `tramp-encoding-shell' for local commands.\nSee the variable `tramp-encoding-shell' for more information." string tramp-encoding-command-interactive (unless (string-match "cmd\\.exe" (or tramp-encoding-shell #1#)) "-i") "Use this switch together with `tramp-encoding-shell' for interactive shells.\nSee the variable `tramp-encoding-shell' for more information." "24.1" (choice (const nil) string)] 12)
#@6124 Alist of methods for remote files.
This is a list of entries of the form (NAME PARAM1 PARAM2 ...).
Each NAME stands for a remote access method.  Each PARAM is a
pair of the form (KEY VALUE).  The following KEYs are defined:
  * `tramp-remote-shell'
    This specifies the shell to use on the remote host.  This
    MUST be a Bourne-like shell.  It is normally not necessary to
    set this to any value other than "/bin/sh": Tramp wants to
    use a shell which groks tilde expansion, but it can search
    for it.  Also note that "/bin/sh" exists on all Unixen,
    this might not be true for the value that you decide to use.
    You Have Been Warned.
  * `tramp-remote-shell-login'
    This specifies the arguments to let `tramp-remote-shell' run
    as a login shell.  It defaults to ("-l"), but some shells,
    like ksh, require another argument.  See
    `tramp-connection-properties' for a way to overwrite the
    default value.
  * `tramp-remote-shell-args'
    For implementation of `shell-command', this specifies the
    arguments to let `tramp-remote-shell' run a single command.
  * `tramp-login-program'
    This specifies the name of the program to use for logging in to the
    remote host.  This may be the name of rsh or a workalike program,
    or the name of telnet or a workalike, or the name of su or a workalike.
  * `tramp-login-args'
    This specifies the list of arguments to pass to the above
    mentioned program.  Please note that this is a list of list of arguments,
    that is, normally you don't want to put "-a -b" or "-f foo"
    here.  Instead, you want a list ("-a" "-b"), or ("-f" "foo").
    There are some patterns: "%h" in this list is replaced by the host
    name, "%u" is replaced by the user name, "%p" is replaced by the
    port number, and "%%" can be used to obtain a literal percent character.
    If a list containing "%h", "%u" or "%p" is unchanged during
    expansion (i.e. no host or no user specified), this list is not used as
    argument.  By this, arguments like ("-l" "%u") are optional.
    "%t" is replaced by the temporary file name produced with
    `tramp-make-tramp-temp-file'.  "%k" indicates the keep-date
    parameter of a program, if exists.  "%c" adds additional
    `tramp-ssh-controlmaster-options' options for the first hop.
  * `tramp-login-env'
     A list of environment variables and their values, which will
     be set when calling `tramp-login-program'.
  * `tramp-async-args'
    When an asynchronous process is started, we know already that
    the connection works.  Therefore, we can pass additional
    parameters to suppress diagnostic messages, in order not to
    tamper the process output.
  * `tramp-copy-program'
    This specifies the name of the program to use for remotely copying
    the file; this might be the absolute filename of scp or the name of
    a workalike program.  It is always applied on the local host.
  * `tramp-copy-args'
    This specifies the list of parameters to pass to the above mentioned
    program, the hints for `tramp-login-args' also apply here.
  * `tramp-copy-env'
     A list of environment variables and their values, which will
     be set when calling `tramp-copy-program'.
  * `tramp-remote-copy-program'
    The listener program to be applied on remote side, if needed.
  * `tramp-remote-copy-args'
    The list of parameters to pass to the listener program, the hints
    for `tramp-login-args' also apply here.  Additionally, "%r" could
    be used here and in `tramp-copy-args'.  It denotes a randomly
    chosen port for the remote listener.
  * `tramp-copy-keep-date'
    This specifies whether the copying program when the preserves the
    timestamp of the original file.
  * `tramp-copy-keep-tmpfile'
    This specifies whether a temporary local file shall be kept
    for optimization reasons (useful for "rsync" methods).
  * `tramp-copy-recursive'
    Whether the operation copies directories recursively.
  * `tramp-default-port'
    The default port of a method is needed in case of gateway connections.
    Additionally, it is used as indication which method is prepared for
    passing gateways.
  * `tramp-gw-args'
    As the attribute name says, additional arguments are specified here
    when a method is applied via a gateway.
  * `tramp-tmpdir'
    A directory on the remote host for temporary files.  If not
    specified, "/tmp" is taken as default.
  * `tramp-connection-timeout'
    This is the maximum time to be spent for establishing a connection.
    In general, the global default value shall be used, but for
    some methods, like "su" or "sudo", a shorter timeout
    might be desirable.

What does all this mean?  Well, you should specify `tramp-login-program'
for all methods; this program is used to log in to the remote site.  Then,
there are two ways to actually transfer the files between the local and the
remote side.  One way is using an additional scp-like program.  If you want
to do this, set `tramp-copy-program' in the method.

Another possibility for file transfer is inline transfer, i.e. the
file is passed through the same buffer used by `tramp-login-program'.  In
this case, the file contents need to be protected since the
`tramp-login-program' might use escape codes or the connection might not
be eight-bit clean.  Therefore, file contents are encoded for transit.
See the variables `tramp-local-coding-commands' and
`tramp-remote-coding-commands' for details.

So, to summarize: if the method is an out-of-band method, then you
must specify `tramp-copy-program' and `tramp-copy-args'.  If it is an
inline method, then these two parameters should be nil.  Methods which
are fit for gateways must have `tramp-default-port' at least.

Notes:

When using `su' or `sudo' the phrase "open connection to a remote
host" sounds strange, but it is used nevertheless, for consistency.
No connection is opened to a remote host, but `su' or `sudo' is
started on the local host.  You should specify a remote host
`localhost' or the name of the local host.  Another host name is
useful only in combination with `tramp-default-proxies-alist'.
(defvar tramp-methods nil (#$ . 3911))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\210\300\314\311\315\304\305\306\316&\210\300\317\311\320\304\305\306\321&\210\300\322\323\324\304\305\306\307&\210\300\325\311\326\304\305\327\330\306\331&	\210\300\332\311\333\304\305\306\334&\210\300\335\311\336\304\305\327\337\306\340&	\210\300\341\342\343\327\337\304\305\306\344&	\207" [custom-declare-variable tramp-default-method (cond ((and (eq system-type 'windows-nt) (executable-find "pscp")) (if (or (fboundp 'password-read) (fboundp 'auth-source-user-or-password) (fboundp 'auth-source-search) (tramp-compat-process-running-p "Pageant")) "pscp" "plink")) ((executable-find "scp") (if (or (fboundp 'password-read) (fboundp 'auth-source-user-or-password) (fboundp 'auth-source-search) (getenv "SSH_AUTH_SOCK") (getenv "SSH_AGENT_PID")) "scp" "ssh")) (t "ftp")) "Default method to use for transferring files.\nSee `tramp-methods' for possibilities.\nAlso see `tramp-default-method-alist'." :group tramp :type string tramp-default-method-alist nil "Default method to use for specific host/user pairs.\nThis is an alist of items (HOST USER METHOD).  The first matching item\nspecifies the method to use for a file name which does not specify a\nmethod.  HOST and USER are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-method' takes effect.\n\nIf the file name does not specify the user, lookup is done using the\nempty string for the user name.\n\nSee `tramp-methods' for a list of possibilities for METHOD." (repeat (list (choice :tag "Host regexp" regexp sexp) (choice :tag "User regexp" regexp sexp) (choice :tag "Method name" string (const nil)))) tramp-default-user "Default user to use for transferring files.\nIt is nil by default; otherwise settings in configuration files like\n\"~/.ssh/config\" would be overwritten.  Also see `tramp-default-user-alist'.\n\nThis variable is regarded as obsolete, and will be removed soon." (choice (const nil) string) tramp-default-user-alist "Default user to use for specific method/host pairs.\nThis is an alist of items (METHOD HOST USER).  The first matching item\nspecifies the user to use for a file name which does not specify a\nuser.  METHOD and USER are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-user' takes effect.\n\nIf the file name does not specify the method, lookup is done using the\nempty string for the method name." (repeat (list (choice :tag "Method regexp" regexp sexp) (choice :tag "  Host regexp" regexp sexp) (choice :tag "    User name" string (const nil)))) tramp-default-host (system-name) "Default host to use for transferring files.\nUseful for su and sudo methods mostly." tramp-default-host-alist "Default host to use for specific method/user pairs.\nThis is an alist of items (METHOD USER HOST).  The first matching item\nspecifies the host to use for a file name which does not specify a\nhost.  METHOD and HOST are regular expressions or nil, which is\ninterpreted as a regular expression which always matches.  If no entry\nmatches, the variable `tramp-default-host' takes effect.\n\nIf the file name does not specify the method, lookup is done using the\nempty string for the method name." :version "24.4" (repeat (list (choice :tag "Method regexp" regexp sexp) (choice :tag "  User regexp" regexp sexp) (choice :tag "    Host name" string (const nil)))) tramp-default-proxies-alist "Route to be followed for specific host/user pairs.\nThis is an alist of items (HOST USER PROXY).  The first matching\nitem specifies the proxy to be passed for a file name located on\na remote target matching USER@HOST.  HOST and USER are regular\nexpressions.  PROXY must be a Tramp filename without a localname\npart.  Method and user name on PROXY are optional, which is\ninterpreted with the default values.  PROXY can contain the\npatterns %h and %u, which are replaced by the strings matching\nHOST or USER, respectively.\n\nHOST, USER or PROXY could also be Lisp forms, which will be\nevaluated.  The result must be a string or nil, which is\ninterpreted as a regular expression which always matches." (repeat (list (choice :tag "Host regexp" regexp sexp) (choice :tag "User regexp" regexp sexp) (choice :tag " Proxy name" string (const nil)))) tramp-save-ad-hoc-proxies "Whether to save ad-hoc proxies persistently." "24.3" boolean tramp-restricted-shell-hosts-alist (when (memq system-type '(windows-nt)) (list (concat "\\`" (regexp-quote (system-name)) "\\'"))) "List of hosts, which run a restricted shell.\nThis is a list of regular expressions, which denote hosts running\na registered shell like \"rbash\".  Those hosts can be used as\nproxies only, see `tramp-default-proxies-alist'.  If the local\nhost runs a registered shell, it shall be added to this list, too." (repeat (regexp :tag "Host regexp"))] 10)
#@46 Host names which are regarded as local host.
(defconst tramp-local-host-regexp (byte-code "\300\301\302\303\304 \305\306\257\307\"\310Q\207" ["\\`" regexp-opt "localhost" "localhost6" system-name "127.0.0.1" "::1" t "\\'"] 7) (#$ . 15071))
#@955 Alist of methods for remote files.
This is a list of entries of the form (NAME PAIR1 PAIR2 ...).
Each NAME stands for a remote access method.  Each PAIR is of the form
(FUNCTION FILE).  FUNCTION is responsible to extract user names and host
names from FILE for completion.  The following predefined FUNCTIONs exists:

 * `tramp-parse-rhosts'      for "~/.rhosts" like files,
 * `tramp-parse-shosts'      for "~/.ssh/known_hosts" like files,
 * `tramp-parse-sconfig'     for "~/.ssh/config" like files,
 * `tramp-parse-shostkeys'   for "~/.ssh2/hostkeys/*" like files,
 * `tramp-parse-sknownhosts' for "~/.ssh2/knownhosts/*" like files,
 * `tramp-parse-hosts'       for "/etc/hosts" like files,
 * `tramp-parse-passwd'      for "/etc/passwd" like files.
 * `tramp-parse-netrc'       for "~/.netrc" like files.
 * `tramp-parse-putty'       for PuTTY registered sessions.

FUNCTION can also be a user defined function.  For more details see
the info pages.
(defvar tramp-completion-function-alist nil (#$ . 15319))
#@44 String marker to surround echoed commands.
(defconst tramp-echo-mark-marker "_echo" (#$ . 16337))
#@44 String length of `tramp-echo-mark-marker'.
(defconst tramp-echo-mark-marker-length (length tramp-echo-mark-marker) (#$ . 16441))
#@437 String mark to be transmitted around shell commands.
Used to separate their echo from the output they produce.  This
will only be used if we cannot disable remote echo via stty.
This string must have no effect on the remote shell except for
producing some echo which can later be detected by
`tramp-echoed-echo-mark-regexp'.  Using `tramp-echo-mark-marker',
followed by an equal number of backspaces to erase them will
usually suffice.
(defconst tramp-echo-mark (byte-code "\302	\303\"P\207" [tramp-echo-mark-marker tramp-echo-mark-marker-length make-string 8] 4) (#$ . 16577))
#@79 Regexp which matches `tramp-echo-mark' as it gets echoed by
the remote shell.
(defconst tramp-echoed-echo-mark-regexp (format "%s\\(\\( \\)?\\)\\{%d\\}" tramp-echo-mark-marker tramp-echo-mark-marker-length) (#$ . 17162))
(byte-code "\300\301\302\303\304\305\306\307\310\311&	\210\300\312\313\314\306\307\310\311&\210\300\315\316\317\306\307\310\320&\210\300\321\322\323\306\307\310\320&\210\300\324\325\326\304\327\306\307\310\320&	\210\300\330\331\332\306\307\310\320&\210\300\333\334\335\306\307\310\320&\210\300\336\337\340\306\307\310\320&\210\300\341\342\343\306\307\310\320&\210\300\344\345\346\306\307\310\320&\210\300\347\350\351\306\307\310\320&\210\300\352\353\354\306\307\310\320&\207" [custom-declare-variable tramp-local-end-of-line (if (memq system-type '(windows-nt)) "
\n" "\n") "String used for end of line in local processes." :version "24.1" :group tramp :type string tramp-rsh-end-of-line "\n" "String used for end of line in rsh connections.\nI don't think this ever needs to be changed, so please tell me about it\nif you need to change this." tramp-login-prompt-regexp ".*\\(user\\|login\\)\\( .*\\)?: *" "Regexp matching login-like prompts.\nThe regexp should match at end of buffer.\n\nSometimes the prompt is reported to look like \"login as:\"." regexp tramp-shell-prompt-pattern (concat (if (featurep 'xemacs) #1="" "\\(?:^\\|
\\)") "[^]#$%>\n]*#?[]#$%>] *\\(\\[[0-9;]*[a-zA-Z] *\\)*") "Regexp to match prompts from remote shell.\nNormally, Tramp expects you to configure `shell-prompt-pattern'\ncorrectly, but sometimes it happens that you are connecting to a\nremote host which sends a different kind of shell prompt.  Therefore,\nTramp recognizes things matched by `shell-prompt-pattern' as prompt,\nand also things matched by this variable.  The default value of this\nvariable is similar to the default value of `shell-prompt-pattern',\nwhich should work well in many cases.\n\nThis regexp must match both `tramp-initial-end-of-output' and\n`tramp-end-of-output'." tramp-password-prompt-regexp (format "^.*\\(%s\\).*:? *" (if (boundp 'password-word-equivalents) (regexp-opt (symbol-value 'password-word-equivalents)) "password\\|passphrase")) "Regexp matching password-like prompts.\nThe regexp should match at end of buffer.\n\nThe `sudo' program appears to insert a `^@' character into the prompt." "24.4" tramp-wrong-passwd-regexp (concat "^.*" (regexp-opt '("Permission denied" "Login incorrect" "Login Incorrect" "Connection refused" "Connection closed" "Timeout, server not responding." "Sorry, try again." "Name or service not known" "Host key verification failed." "No supported authentication methods left to try!") t) ".*" "\\|" "^.*\\(" "Received signal [0-9]+" "\\).*") "Regexp matching a `login failed' message.\nThe regexp should match at end of buffer." tramp-yesno-prompt-regexp (concat (regexp-opt '("Are you sure you want to continue connecting (yes/no)?") t) "\\s-*") "Regular expression matching all yes/no queries which need to be confirmed.\nThe confirmation should be done with yes or no.\nThe regexp should match at end of buffer.\nSee also `tramp-yn-prompt-regexp'." tramp-yn-prompt-regexp (concat (regexp-opt '("Store key in cache? (y/n)" "Update cached key? (y/n, Return cancels connection)") t) "\\s-*") "Regular expression matching all y/n queries which need to be confirmed.\nThe confirmation should be done with y or n.\nThe regexp should match at end of buffer.\nSee also `tramp-yesno-prompt-regexp'." tramp-terminal-prompt-regexp (concat "\\(" "TERM = (.*)" "\\|" "Terminal type\\? \\[.*\\]" "\\)\\s-*") "Regular expression matching all terminal setting prompts.\nThe regexp should match at end of buffer.\nThe answer will be provided by `tramp-action-terminal', which see." tramp-operation-not-permitted-regexp (concat "\\(" "preserving times.*" "\\|" "set mode" "\\)" ":\\s-*" (regexp-opt '("Operation not permitted") t)) "Regular expression matching keep-date problems in (s)cp operations.\nCopying has been performed successfully already, so this message can\nbe ignored safely." tramp-copy-failed-regexp (concat "\\(.+: " (regexp-opt '("Permission denied" "not a regular file" "is a directory" "No such file or directory") t) "\\)\\s-*") "Regular expression matching copy problems in (s)cp operations." tramp-process-alive-regexp #1# "Regular expression indicating a process has finished.\nIn fact this expression is empty by intention, it will be used only to\ncheck regularly the status of the associated process.\nThe answer will be provided by `tramp-action-process-alive',\n`tramp-action-out-of-band', which see."] 10)
#@317 Prefix to use for temporary files.
If this is a relative file name (such as "tramp."), it is considered
relative to the directory name returned by the function
`tramp-compat-temporary-file-directory' (which see).  It may also be an
absolute file name; don't forget to include a prefix for the filename
part, though.
(defconst tramp-temp-name-prefix "tramp." (#$ . 21778))
#@102 Buffer name for a temporary buffer.
It shall be used in combination with `generate-new-buffer-name'.
(defconst tramp-temp-buffer-name " *tramp temp*" (#$ . 22157))
#@82 File name of a persistent local temporary file.
Useful for "rsync" like methods.
(defvar tramp-temp-buffer-file-name nil (#$ . 22327))
(byte-code "\300\301!\210\302\301\303\304#\210\305\306\307\310\311\312\313\314\315\316\317\320\321\322BBB\323BB&	\207" [make-variable-buffer-local tramp-temp-buffer-file-name put permanent-local t custom-declare-variable tramp-syntax (if (featurep 'xemacs) 'sep 'ftp) "Tramp filename syntax to be used.\n\nIt can have the following values:\n\n  `ftp' -- Ange-FTP respective EFS like syntax (GNU Emacs default)\n  `sep' -- Syntax as defined for XEmacs." :group tramp :version "24.4" :type choice const :tag "Ange-FTP" (ftp) ((const :tag "XEmacs" sep))] 14)
#@95 String matching the very beginning of Tramp file names.
Used in `tramp-make-tramp-file-name'.
(defconst tramp-prefix-format (byte-code "\301\232\203\302\207\303\232\203\304\207\305\306!\207" [tramp-syntax ftp "/" sep "/[" error "Wrong `tramp-syntax' defined"] 2) (#$ . 23024))
#@123 Regexp matching the very beginning of Tramp file names.
Should always start with "^". Derived from `tramp-prefix-format'.
(defconst tramp-prefix-regexp (byte-code "\301\302!P\207" [tramp-prefix-format "^" regexp-quote] 3) (#$ . 23314))
#@38 Regexp matching methods identifiers.
(defconst tramp-method-regexp "[a-zA-Z_0-9-]+" (#$ . 23557))
#@104 String matching delimiter between method and user or host names.
Used in `tramp-make-tramp-file-name'.
(defconst tramp-postfix-method-format (byte-code "\301\232\203\302\207\303\232\203\304\207\305\306!\207" [tramp-syntax ftp ":" sep "/" error "Wrong `tramp-syntax' defined"] 2) (#$ . 23662))
#@110 Regexp matching delimiter between method and user or host names.
Derived from `tramp-postfix-method-format'.
(defconst tramp-postfix-method-regexp (regexp-quote tramp-postfix-method-format) (#$ . 23968))
#@29 Regexp matching user names.
(defconst tramp-user-regexp "[^/|: 	]+" (#$ . 24178))
#@58 String matching delimiter between user and domain names.
(defconst tramp-prefix-domain-format "%" (#$ . 24266))
#@101 Regexp matching delimiter between user and domain names.
Derived from `tramp-prefix-domain-format'.
(defconst tramp-prefix-domain-regexp (regexp-quote tramp-prefix-domain-format) (#$ . 24385))
#@31 Regexp matching domain names.
(defconst tramp-domain-regexp "[-a-zA-Z0-9_.]+" (#$ . 24584))
#@47 Regexp matching user names with domain names.
(defconst tramp-user-with-domain-regexp (concat #1="\\(" tramp-user-regexp #2="\\)" tramp-prefix-domain-regexp #1# tramp-domain-regexp #2#) (#$ . 24682))
#@94 String matching delimiter between user and host names.
Used in `tramp-make-tramp-file-name'.
(defconst tramp-postfix-user-format "@" (#$ . 24888))
#@98 Regexp matching delimiter between user and host names.
Derived from `tramp-postfix-user-format'.
(defconst tramp-postfix-user-regexp (regexp-quote tramp-postfix-user-format) (#$ . 25041))
#@29 Regexp matching host names.
(defconst tramp-host-regexp "[a-zA-Z0-9_.-]+" (#$ . 25235))
#@89 String matching left hand side of IPv6 addresses.
Used in `tramp-make-tramp-file-name'.
(defconst tramp-prefix-ipv6-format (byte-code "\301\232\203\302\207\303\232\203\304\207\305\306!\207" [tramp-syntax ftp "[" sep "" error "Wrong `tramp-syntax' defined"] 2) (#$ . 25329))
#@92 Regexp matching left hand side of IPv6 addresses.
Derived from `tramp-prefix-ipv6-format'.
(defconst tramp-prefix-ipv6-regexp (regexp-quote tramp-prefix-ipv6-format) (#$ . 25615))
#@33 Regexp matching IPv6 addresses.
(defconst tramp-ipv6-regexp "\\(?:\\(?:[a-zA-Z0-9]+\\)?:\\)+[a-zA-Z0-9.]+" (#$ . 25801))
#@90 String matching right hand side of IPv6 addresses.
Used in `tramp-make-tramp-file-name'.
(defconst tramp-postfix-ipv6-format (byte-code "\301\232\203\302\207\303\232\203\304\207\305\306!\207" [tramp-syntax ftp "]" sep "" error "Wrong `tramp-syntax' defined"] 2) (#$ . 25928))
#@94 Regexp matching right hand side of IPv6 addresses.
Derived from `tramp-postfix-ipv6-format'.
(defconst tramp-postfix-ipv6-regexp (regexp-quote tramp-postfix-ipv6-format) (#$ . 26216))
#@64 String matching delimiter between host names and port numbers.
(defconst tramp-prefix-port-format (byte-code "\301\232\203\302\207\303\232\203\302\207\304\305!\207" [tramp-syntax ftp "#" sep error "Wrong `tramp-syntax' defined"] 2) (#$ . 26406))
#@105 Regexp matching delimiter between host names and port numbers.
Derived from `tramp-prefix-port-format'.
(defconst tramp-prefix-port-regexp (regexp-quote tramp-prefix-port-format) (#$ . 26665))
#@31 Regexp matching port numbers.
(defconst tramp-port-regexp "[0-9]+" (#$ . 26864))
#@47 Regexp matching host names with port numbers.
(defconst tramp-host-with-port-regexp (concat #1="\\(" tramp-host-regexp #2="\\)" tramp-prefix-port-regexp #1# tramp-port-regexp #2#) (#$ . 26951))
#@57 String matching delimiter after ad-hoc hop definitions.
(defconst tramp-postfix-hop-format "|" (#$ . 27151))
#@98 Regexp matching delimiter after ad-hoc hop definitions.
Derived from `tramp-postfix-hop-format'.
(defconst tramp-postfix-hop-regexp (regexp-quote tramp-postfix-hop-format) (#$ . 27266))
#@100 String matching delimiter between host names and localnames.
Used in `tramp-make-tramp-file-name'.
(defconst tramp-postfix-host-format (byte-code "\301\232\203\302\207\303\232\203\304\207\305\306!\207" [tramp-syntax ftp ":" sep "]" error "Wrong `tramp-syntax' defined"] 2) (#$ . 27459))
#@104 Regexp matching delimiter between host names and localnames.
Derived from `tramp-postfix-host-format'.
(defconst tramp-postfix-host-regexp (regexp-quote tramp-postfix-host-format) (#$ . 27759))
#@29 Regexp matching localnames.
(defconst tramp-localname-regexp ".*$" (#$ . 27959))
#@75 Regular expression matching a Tramp file name between prefix and postfix.
(defconst tramp-remote-file-name-spec-regexp (byte-code "\306\307\310	\311\306\307\n\310\311\307\306\f\312
\306\311\f\310\306
\311\211\260\207" [tramp-method-regexp tramp-postfix-method-regexp tramp-user-regexp tramp-postfix-user-regexp tramp-host-regexp tramp-prefix-ipv6-regexp "\\(?:" "\\(" "\\)" "\\)?" "\\|" tramp-ipv6-regexp tramp-postfix-ipv6-regexp tramp-prefix-port-regexp tramp-port-regexp] 27) (#$ . 28046))
#@821 List of six elements (REGEXP METHOD USER HOST FILE HOP), detailing the Tramp file name structure.

The first element REGEXP is a regular expression matching a Tramp file
name.  The regex should contain parentheses around the method name,
the user name, the host name, and the file name parts.

The second element METHOD is a number, saying which pair of
parentheses matches the method name.  The third element USER is
similar, but for the user name.  The fourth element HOST is similar,
but for the host name.  The fifth element FILE is for the file name.
The last element HOP is the ad-hoc hop definition, which could be a
cascade of several hops.

These numbers are passed directly to `match-string', which see.  That
means the opening parentheses are counted to identify the pair.

See also `tramp-file-name-regexp'.
(defconst tramp-file-name-structure (byte-code "\305\306	\n\307\310	\305\f\311\260\f\312\313\314\315\316\257\207" [tramp-prefix-regexp tramp-remote-file-name-spec-regexp tramp-postfix-hop-regexp tramp-postfix-host-regexp tramp-localname-regexp "\\(" "\\(?:" "\\)+" "\\)?" "\\)" 5 6 7 8 1] 12) (#$ . 28555))
#@240 Value for `tramp-file-name-regexp' for unified remoting.
Emacs (not XEmacs) uses a unified filename syntax for Ange-FTP and
Tramp.  See `tramp-file-name-structure' for more explanations.

On W32 systems, the volume letter must be ignored.
(defconst tramp-file-name-regexp-unified (byte-code "\301>\203\302\207\303\207" [system-type (cygwin windows-nt) "\\`/\\(\\[.*\\]\\|[^/|:]\\{2,\\}[^/|]*\\):" "\\`/[^/|:][^/|]*:"] 2) (#$ . 29692))
#@172 Value for `tramp-file-name-regexp' for separate remoting.
XEmacs uses a separate filename syntax for Tramp and EFS.
See `tramp-file-name-structure' for more explanations.
(defconst tramp-file-name-regexp-separate "\\`/\\[.*\\]" (#$ . 30137))
#@736 Regular expression matching file names handled by Tramp.
This regexp should match Tramp file names but no other file names.
When tramp.el is loaded, this regular expression is prepended to
`file-name-handler-alist', and that is searched sequentially.  Thus,
if the Tramp entry appears rather early in the `file-name-handler-alist'
and is a bit too general, then some files might be considered Tramp
files which are not really Tramp files.

Please note that the entry in `file-name-handler-alist' is made when
this file (tramp.el) is loaded.  This means that this variable must be set
before loading tramp.el.  Alternatively, `file-name-handler-alist' can be
updated after changing this variable.

Also see `tramp-file-name-structure'.
(defconst tramp-file-name-regexp (byte-code "\303\232\203	\207\304\232\203\n\207\305\306!\207" [tramp-syntax tramp-file-name-regexp-unified tramp-file-name-regexp-separate ftp sep error "Wrong `tramp-syntax' defined"] 2) (#$ . 30386))
#@241 Value for `tramp-completion-file-name-regexp' for unified remoting.
GNU Emacs uses a unified filename syntax for Tramp and Ange-FTP.
See `tramp-file-name-structure' for more explanations.

On W32 systems, the volume letter must be ignored.
(defconst tramp-completion-file-name-regexp-unified (byte-code "\301>\203\302\207\303\207" [system-type (cygwin windows-nt) "\\`/[^/]\\{2,\\}\\'" "\\`/[^/]*\\'"] 2) (#$ . 31369))
#@183 Value for `tramp-completion-file-name-regexp' for separate remoting.
XEmacs uses a separate filename syntax for Tramp and EFS.
See `tramp-file-name-structure' for more explanations.
(defconst tramp-completion-file-name-regexp-separate "\\`/\\([[][^]]*\\)?\\'" (#$ . 31798))
#@421 Regular expression matching file names handled by Tramp completion.
This regexp should match partial Tramp file names only.

Please note that the entry in `file-name-handler-alist' is made when
this file (tramp.el) is loaded.  This means that this variable must be set
before loading tramp.el.  Alternatively, `file-name-handler-alist' can be
updated after changing this variable.

Also see `tramp-file-name-structure'.
(defconst tramp-completion-file-name-regexp (byte-code "\303\232\203	\207\304\232\203\n\207\305\306!\207" [tramp-syntax tramp-completion-file-name-regexp-unified tramp-completion-file-name-regexp-separate ftp sep error "Wrong `tramp-syntax' defined"] 2) (#$ . 32079))
(byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\305\306\313&\210\300\314\315\316\304\305\317\320\306\321&	\210\300\322\323\324\304\305\317\320\306\325&	\210\300\326\327\330\304\305\306\331&\207" [custom-declare-variable tramp-chunksize (when (and (not (featurep 'xemacs)) (memq system-type '(hpux))) 500) "If non-nil, chunksize for sending input to local process.\nIt is necessary only on systems which have a buggy `process-send-string'\nimplementation.  The necessity, whether this variable must be set, can be\nchecked via the following code:\n\n  (with-temp-buffer\n    (let* ((user \"xxx\") (host \"yyy\")\n           (init 0) (step 50)\n           (sent init) (received init))\n      (while (= sent received)\n        (setq sent (+ sent step))\n        (erase-buffer)\n        (let ((proc (start-process (buffer-name) (current-buffer)\n                                   \"ssh\" \"-l\" user host \"wc\" \"-c\")))\n          (when (memq (process-status proc) \\='(run open))\n            (process-send-string proc (make-string sent ?\\ ))\n            (process-send-eof proc)\n            (process-send-eof proc))\n          (while (not (progn (goto-char (point-min))\n                             (re-search-forward \"\\\\w+\" (point-max) t)))\n            (accept-process-output proc 1))\n          (when (memq (process-status proc) \\='(run open))\n            (setq received (string-to-number (match-string 0)))\n            (delete-process proc)\n            (message \"Bytes sent: %s\\tBytes received: %s\" sent received)\n            (sit-for 0))))\n      (if (> sent (+ init step))\n          (message \"You should set `tramp-chunksize' to a maximum of %s\"\n                   (- sent step))\n        (message \"Test does not work\")\n        (display-buffer (current-buffer))\n        (sit-for 30))))\n\nIn the Emacs normally running Tramp, evaluate the above code\n(replace \"xxx\" and \"yyy\" by the remote user and host name,\nrespectively).  You can do this, for example, by pasting it into\nthe `*scratch*' buffer and then hitting C-j with the cursor after the\nlast closing parenthesis.  Note that it works only if you have configured\n\"ssh\" to run without password query, see ssh-agent(1).\n\nYou will see the number of bytes sent successfully to the remote host.\nIf that number exceeds 1000, you can stop the execution by hitting\nC-g, because your Emacs is likely clean.\n\nWhen it is necessary to set `tramp-chunksize', you might consider to\nuse an out-of-the-band method (like \"scp\") instead of an internal one\n(like \"ssh\"), because setting `tramp-chunksize' to non-nil decreases\nperformance.\n\nIf your Emacs is buggy, the code stops and gives you an indication\nabout the value `tramp-chunksize' should be set.  Maybe you could just\nexperiment a bit, e.g. changing the values of `init' and `step'\nin the third line of the code.\n\nPlease raise a bug report via \"M-x tramp-bug\" if your system needs\nthis variable to be set as well." :group tramp :type (choice (const nil) integer) tramp-process-connection-type t "Overrides `process-connection-type' for connections from Tramp.\nTramp binds `process-connection-type' to the value given here before\nopening a connection to a remote host." (choice (const nil) (const t) (const pty)) tramp-connection-timeout 60 "Defines the max time to wait for establishing a connection (in seconds).\nThis can be overwritten for different connection types in `tramp-methods'.\n\nThe timeout does not include the time reading a password." :version "24.4" integer tramp-connection-min-time-diff 5 "Defines seconds between two consecutive connection attempts.\nThis is necessary as self defense mechanism, in order to avoid\nyo-yo connection attempts when the remote host is unavailable.\n\nA value of 0 or nil suppresses this check.  This might be\nnecessary, when several out-of-order copy operations are\nperformed, or when several asynchronous processes will be started\nin a short time frame.  In those cases it is recommended to\nlet-bind this variable." (choice (const nil) integer) tramp-completion-reread-directory-timeout 10 "Defines seconds since last remote command before rereading a directory.\nA remote directory might have changed its contents.  In order to\nmake it visible during file name completion in the minibuffer,\nTramp flushes its cache and rereads the directory contents when\nmore than `tramp-completion-reread-directory-timeout' seconds\nhave been gone since last remote command execution.  A value of t\nwould require an immediate reread during filename completion, nil\nmeans to use always cached values for the directory contents." (choice (const nil) (const t) integer)] 10)
#@44 Connection method for this *tramp* buffer.
(defvar tramp-current-method nil (#$ . 37485))
#@44 Remote login name for this *tramp* buffer.
(defvar tramp-current-user nil (#$ . 37581))
#@38 Remote host for this *tramp* buffer.
(defvar tramp-current-host nil (#$ . 37675))
#@28 Last connection timestamp.
(defvar tramp-current-connection nil (#$ . 37763))
#@212 Alist of completion handler functions.
Used for file names matching `tramp-file-name-regexp'. Operations
not mentioned here will be handled by Tramp's file name handler
functions, or the normal Emacs functions.
(defconst tramp-completion-file-name-handler-alist '((file-name-all-completions . tramp-completion-handle-file-name-all-completions) (file-name-completion . tramp-completion-handle-file-name-completion)) (#$ . 37848))
#@173 Alist of elements (FUNCTION . HANDLER) for foreign methods handled specially.
If (FUNCTION FILENAME) returns non-nil, then all I/O on that file is done by
calling HANDLER.
(defvar tramp-foreign-file-name-handler-alist nil (#$ . 38284))
#@23 Signal a pilot error.
(defalias 'tramp-user-error #[(vec-or-proc format &rest args) "\303\304\305\306!\203
\306\202\307	\n%\207" [vec-or-proc format args apply tramp-error fboundp user-error error] 6 (#$ . 38526)])
(put 'tramp-user-error 'byte-optimizer 'byte-compile-inline-expand)
#@190 Return the method parameter PARAM.
If VEC is a vector, check first in connection properties.
Afterwards, check in `tramp-methods'.  If the `tramp-methods'
entry does not exist, return nil.
(defalias 'tramp-get-method-parameter #[(vec param) "\305\306\307\310!#\311\n	\"\203\312\n	\313#\202)\314\314\315\n!\"\"\211\205(\fA@))\207" [param hash-entry vec tramp-methods methods-entry tramp-compat-replace-regexp-in-string "^tramp-" "" symbol-name tramp-connection-property-p tramp-get-connection-property nil assoc tramp-file-name-method] 6 (#$ . 38820)])
#@39 Check, whether VEC is a Tramp object.
(defalias 'tramp-file-name-p #[(vec) "\301!\205\nG\302U\207" [vec vectorp 5] 2 (#$ . 39387)])
#@33 Return method component of VEC.
(defalias 'tramp-file-name-method #[(vec) "\301!\205	\302H\207" [vec tramp-file-name-p 0] 2 (#$ . 39528)])
#@31 Return user component of VEC.
(defalias 'tramp-file-name-user #[(vec) "\301!\205	\302H\207" [vec tramp-file-name-p 1] 2 (#$ . 39676)])
#@31 Return host component of VEC.
(defalias 'tramp-file-name-host #[(vec) "\301!\205	\302H\207" [vec tramp-file-name-p 2] 2 (#$ . 39820)])
#@36 Return localname component of VEC.
(defalias 'tramp-file-name-localname #[(vec) "\301!\205	\302H\207" [vec tramp-file-name-p 3] 2 (#$ . 39964)])
#@30 Return hop component of VEC.
(defalias 'tramp-file-name-hop #[(vec) "\301!\205	\302H\207" [vec tramp-file-name-p 4] 2 (#$ . 40118)])
#@45 Return the user name of VEC without domain.
(defalias 'tramp-file-name-real-user #[(vec) "\304 \305\216\306	!\211;\203\307\n\"\203\310\311\n\"\202\n+\207" [save-match-data-internal vec user tramp-user-with-domain-regexp match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] tramp-file-name-user string-match match-string 1] 4 (#$ . 40260)])
#@32 Return the domain name of VEC.
(defalias 'tramp-file-name-domain #[(vec) "\304 \305\216\306	!\211;\205\307\n\"\205\310\311\n\"+\207" [save-match-data-internal vec user tramp-user-with-domain-regexp match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] tramp-file-name-user string-match match-string 2] 4 (#$ . 40652)])
#@43 Return the host name of VEC without port.
(defalias 'tramp-file-name-real-host #[(vec) "\304 \305\216\306	!\211;\203\307\n\"\203\310\311\n\"\202\n+\207" [save-match-data-internal vec host tramp-host-with-port-regexp match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] tramp-file-name-host string-match match-string 1] 4 (#$ . 41020)])
#@32 Return the port number of VEC.
(defalias 'tramp-file-name-port #[(vec) "\305 \306\216\307	!\310	!\n;\203\"\311\f\n\"\203\"\312\313\314\n\"!\206&\315	\316\",\207" [save-match-data-internal vec host method tramp-host-with-port-regexp match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] tramp-file-name-method tramp-file-name-host string-match string-to-number match-string 2 tramp-get-method-parameter tramp-default-port] 4 (#$ . 41408)])
#@59 Return t if NAME is a string with Tramp file name syntax.
(defalias 'tramp-tramp-file-p #[(name) "\303 \304\216	;\205\305\n	\"*\207" [save-match-data-internal name tramp-file-name-regexp match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match] 3 (#$ . 41895)])
#@19 Obsolete methods.
(defconst tramp-obsolete-methods '("ssh1" "ssh2" "scp1" "scp2" "scpc" "rsyncc" "plink1") (#$ . 42212))
#@56 Which methods the user has been warned to be obsolete.
(defvar tramp-warned-obsolete-methods nil (#$ . 42339))
#@177 Return the right method string to use.
This is METHOD, if non-nil. Otherwise, do a lookup in
`tramp-default-method-alist'.  It maps also obsolete methods to
their replacement.
(defalias 'tramp-find-method #[(method user host) "\206G	\306\211\f\203@\f\211A\242\307\n@\206\310
\206 \310\"\203\n\307\nA@\206,\310\2062\310\"\203\n\311\n8\306\211\204+\206G\211\235\203\257 \235\204\250!\203j\312\313\211\314\315O#\210\202\231\316\317\320\211\314\315O#!\204\231\306\321C\"#\322\323#\324\325!\203\221\325\202\222\326\"%+\210 \235\204\250 B \314\315O\204\276\203\276\327\330!\204\303\202\325\331\330!\204\317\327\330!\205\325\330\332\333#)\207" [method tramp-default-method-alist item lmethod choices host nil string-match "" 2 warn "Method %s is obsolete, using %s" 0 -1 y-or-n-p format "Method \"%s\" is obsolete, use \"%s\"? " "Method \"%s\" not supported" apply tramp-error fboundp user-error error functionp propertize subrp tramp-default t user tramp-default-method result tramp-obsolete-methods tramp-warned-obsolete-methods noninteractive args vec-or-proc] 8 (#$ . 42457)])
#@118 Return the right user string to use.
This is USER, if non-nil. Otherwise, do a lookup in
`tramp-default-user-alist'.
(defalias 'tramp-find-user #[(method user host) "\206G	\306\211\f\203@\f\211A\242\307\n@\206\310
\206 \310\"\203\n\307\nA@\206,\310\2062\310\"\203\n\311\n8\306\211\204+\206G\204X\203X\312\313!\204]\202o\314\313!\204i\312\313!\205o\313\315\316#)\207" [user tramp-default-user-alist item luser choices method nil string-match "" 2 functionp propertize subrp tramp-default t host tramp-default-user result] 5 (#$ . 43617)])
#@103 Return the right host string to use.
This is HOST, if non-nil. Otherwise, it is `tramp-default-host'.
(defalias 'tramp-find-host #[(method user host) "G\306V\203\206N	\307\211\f\203G\f\211A\242\310\n@\206\"\311
\206'\311\"\203\310\nA@\2063\311\2069\311\"\203\312\n8\307\211\204+\206N\f\207" [host tramp-default-host-alist item lhost choices method 0 nil string-match "" 2 user tramp-default-host] 4 (#$ . 44202)])
#@36 Check method and host name of VEC.
(defalias 'tramp-check-proper-method-and-host #[(vec) "\306!\307!\310!\311\312	\"\211\203?
\n\235\204?\313!\210\314
C\315\316\317\320!\2037\320\2028\321%+\210\322\232\205\213\205\213
\203V\323\324\325
#\205\213\f\203b\323\324\325\f#\205\213\n\235\205\213\313!\210\326C\315\316\317\320!\203\204\320\202\205\321%+,\207" [vec tramp-methods methods host user method tramp-file-name-method tramp-file-name-user tramp-file-name-host mapcar car tramp-cleanup-connection "Unknown method \"%s\"" apply tramp-error fboundp user-error error ftp get-text-property 0 tramp-default "Host name must not match method \"%s\"" args format vec-or-proc tramp-syntax] 7 (#$ . 44650)])
#@240 Return a `tramp-file-name' structure.
The structure consists of remote method, remote user, remote host,
localname (file name on remote host) and hop.  If NODEFAULT is
non-nil, the file name parts are not expanded to their default
values.
(defalias 'tramp-dissect-file-name #[(name &optional nodefault) "\306 \307\216\310	@\n\"\211\204+\311\312\nC\313\314\315\316!\203%\316\202&\317
\f%+\210\320	A@\n\"\320\321	8\n\"\320\322	8\n\"\320\323	8\n\"\320\324	8\n\" !\203|\310\"\"\203j\325\326\311\327$\310#\"\203|\325\326\311\327$$\203\220\330! %\202\256\330\331! #\332! #\333! #%.\207" [save-match-data-internal tramp-file-name-structure name match args format match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match nil "Not a Tramp file name: \"%s\"" apply tramp-error fboundp user-error error match-string 2 3 4 5 replace-match "" t vector tramp-find-method tramp-find-user tramp-find-host vec-or-proc hop localname host user method tramp-prefix-ipv6-regexp tramp-postfix-ipv6-regexp nodefault] 8 (#$ . 45409)])
#@39 A name for the connection buffer VEC.
(defalias 'tramp-buffer-name #[(vec) "\304!\305!\306!\nG\307U\204\310\311\n	$\202!\310\312	#+\207" [vec host user method tramp-file-name-method tramp-file-name-user tramp-file-name-real-host 0 format "*tramp/%s %s@%s*" "*tramp/%s %s*"] 5 (#$ . 46538)])
#@113 Constructs a Tramp file name from METHOD, USER, HOST and LOCALNAME.
When not nil, an optional HOP is prepended.
(defalias 'tramp-make-tramp-file-name #[(method user host localname &optional hop) "	\nG\306U?\205
\nP\fG\306U?\205\f
P\2052\307	\"\2030\nQ\2022\f
\205;
\260\207" [tramp-prefix-format hop method tramp-postfix-method-format user tramp-postfix-user-format 0 string-match host tramp-ipv6-regexp tramp-prefix-ipv6-format tramp-postfix-ipv6-format tramp-postfix-host-format localname] 7 (#$ . 46847)])
#@206 Constructs a Tramp file name from METHOD, USER, HOST and LOCALNAME.
It must not be a complete Tramp file name, but as long as there are
necessary only.  This function will be used in file name completion.
(defalias 'tramp-completion-make-tramp-file-name #[(method user host localname) "	G\306U?\205\f	\nPG\306U?\205\fP
G\306U?\2054\307
\"\2030	
\nQ\2021
P\f\205;\f\260\207" [tramp-prefix-format method tramp-postfix-method-format user tramp-postfix-user-format host 0 string-match tramp-ipv6-regexp tramp-prefix-ipv6-format tramp-postfix-ipv6-format tramp-postfix-host-format localname] 6 (#$ . 47388)])
#@47 Get the connection buffer to be used for VEC.
(defalias 'tramp-get-buffer #[(vec) "\303\304!!\206!r\305\304!!q\210\306\307\310!\311!\312!\313$p)\207" [vec buffer-undo-list default-directory get-buffer tramp-buffer-name get-buffer-create t tramp-make-tramp-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host "/"] 5 (#$ . 48017)])
#@150 Get the connection buffer to be used for VEC.
In case a second asynchronous communication has been started, it is different
from `tramp-get-buffer'.
(defalias 'tramp-get-connection-buffer #[(vec) "\301\302\303#\206\304!\207" [vec tramp-get-connection-property "process-buffer" nil tramp-get-buffer] 4 (#$ . 48385)])
#@145 Get the connection name to be used for VEC.
In case a second asynchronous communication has been started, it is different
from the default one.
(defalias 'tramp-get-connection-name #[(vec) "\301\302\303#\206\304!\207" [vec tramp-get-connection-property "process-name" nil tramp-buffer-name] 4 (#$ . 48712)])
#@148 Get the connection process to be used for VEC.
In case a second asynchronous communication has been started, it is different
from the default one.
(defalias 'tramp-get-connection-process #[(vec) "\301\302!!\207" [vec get-process tramp-get-connection-name] 3 (#$ . 49031)])
#@38 A name for the debug buffer for VEC.
(defalias 'tramp-debug-buffer-name #[(vec) "\304!\305!\306!\nG\307U\204\310\311\n	$\202!\310\312	#+\207" [vec host user method tramp-file-name-method tramp-file-name-user tramp-file-name-real-host 0 format "*debug tramp/%s %s@%s*" "*debug tramp/%s %s*"] 5 (#$ . 49311)])
#@62 Used for highlighting Tramp debug buffers in `outline-mode'.
(defconst tramp-debug-outline-regexp "[0-9]+:[0-9]+:[0-9]+\\.[0-9]+ [a-z0-9-]+ (\\([0-9]+\\)) #" (#$ . 49636))
#@181 Return the depth to which a statement is nested in the outline.
Point must be at the beginning of a header line.

The outline level is equal to the verbosity of the Tramp message.
(defalias 'tramp-debug-outline-level #[nil "\300\301\302!!T\207" [string-to-number match-string 1] 3 (#$ . 49815)])
#@31 Get the debug buffer for VEC.
(defalias 'tramp-get-debug-buffer #[(vec) "r\306\307!!q\210o\203\250\310\311\312!\210\313\314\315!\203#\316\315\317N@!\206\222\320\321!\203:\322\321!\2045\323\321!\205\222\321 \202\222\324\325!\211\205E\326!)\203Q\327\324\325!!\202\222\324\330!\211\205\\\326!)\203h\327\324\330!!\202\222\324\331!\211\205s\326!)\203\327\324\331!!\202\222\332\333!\203\213\327\333!\202\222\334\335!\210\327\336!)\f#\337 \210*\340\305!\210\f\340\341!\210\342!p)\207" [vec buffer-undo-list file-name-handler-alist d tramp-debug-outline-regexp outline-regexp get-buffer-create tramp-debug-buffer-name t require outline nil boundp temporary-file-directory eval standard-value fboundp temp-directory subrp functionp getenv "TEMP" file-directory-p file-name-as-directory "TMP" "TMPDIR" file-exists-p "c:/temp" message "Neither `temporary-file-directory' nor `temp-directory' is defined -- using /tmp." "/tmp" outline-mode make-local-variable outline-level tramp-debug-outline-level default-directory] 3 (#$ . 50117)])
#@162 Append message to debug buffer.
Message is formatted with FMT-STRING as control string and the remaining
ARGUMENTS to actually emit the message (if applicable).
(defalias 'tramp-debug-message #[(vec fmt-string &rest arguments) "r\306!q\210db\210o\203%\307\310\311	\n$c\210\312Y\203%\307\313\314\315!\316 #c\210n\204,\317c\210\320 \321\322\f\"c\210\307\323\324\f8\"c\210)\325\326\211 !
\204\327!!A@\211 \204\\\330\211\202G 9\203w\331 !\332\333
\"\203u\332\334
\"\203w\326!T!\202F\307\335
\"c\210+\336\337\"##c)\207" [vec emacs-version tramp-version tramp-verbose now fn tramp-get-debug-buffer format ";; %sEmacs: %s Tramp: %s -*- mode: outline; -*-" "GNU " 10 "\n;; Location: %s Git: %s" locate-library "tramp" tramp-repository-get-version "\n" current-time format-time-string "%T." "%06d " 2 1 nil backtrace-frame "" symbol-name string-match "^tramp" "^\\(tramp-\\(?:backtrace\\|co\\(?:mpat-\\(?:condition-case-unless-debug\\|funcall\\|with-temp-message\\)\\|ndition-case-unless-debug\\)\\|debug-message\\|error\\(?:-with-buffer\\)?\\|message\\|user-error\\)\\)$" "%s " apply format-message btf btn fmt-string arguments] 6 (#$ . 51180)])
(put 'tramp-debug-message 'byte-optimizer 'byte-compile-inline-expand)
#@162 Show Tramp message in the minibuffer.
This variable is used to disable messages from `tramp-error'.
The messages are visible anyway, because an error is raised.
(defvar tramp-message-show-message t (#$ . 52424))
#@541 Emit a message depending on verbosity level.
VEC-OR-PROC identifies the Tramp buffer to use.  It can be either a
vector or a process.  LEVEL says to be quiet if `tramp-verbose' is
less than LEVEL.  The message is emitted only if `tramp-verbose' is
greater than or equal to LEVEL.

The message is also logged into the debug buffer when `tramp-verbose'
is greater than or equal 4.

Calls functions `message' and `tramp-debug-message' with FMT-STRING as
control string and the remaining ARGUMENTS to actually emit the message (if
applicable).
(defalias 'tramp-message #[(vec-or-proc level fmt-string &rest arguments) "\3061\210	X\205\206\307 \310\216\203?\311X\203?\312\313\314U\203%\315\202:\316U\203/\315\202:\317U\2039\320\202:\321\fP
#\210	\322Y\205\205\323!\203W\314\324\325\326#)\316U\203r\314r\327!q\210\f\330P\331
\332 C\"*\333!\205\205\312\334\335\336\"\fP
$*0\207\210\326\207" [level tramp-verbose save-match-data-internal tramp-message-show-message fmt-string arguments (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message format "(%d) # " vec-or-proc] 6 (#$ . 52643)])
(put 'tramp-message 'byte-optimizer 'byte-compile-inline-expand)
#@146 Dump a backtrace into the debug buffer.
If VEC-OR-PROC is nil, the buffer *debug tramp* is used.  This
function is meant for debugging purposes.
(defalias 'tramp-backtrace #[(&optional vec-or-proc) "\203\253\306\307\310\311\312!!\313\216	\314 \210)r	q\210\315 +C\3161\247\f
X\205\243\317 ,\320\216-\203b\f\321X\203b\322\323\f\324U\203H\325\202]\f\326U\203R\325\202]\f\327U\203\\\330\202]\331P\n#\210
\332Y\205\242\333!\203w\324\334\335\336#)\f\326U\203\221\324r\337!q\210\307P\340\n\315 C\"*\341!\205\242\322\342\343\344\f\"P\n$*0\202\251\210\336,\207
\306Y\205\346./r\310\345!q\210p\346 \210/.\336\21101\347\2112\34734\350 \210\351\352!\210+\2115\314 \3535!\210+\207" [vec-or-proc standard-output arguments fmt-string level tramp-verbose 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil tramp-get-connection-buffer append vectorp tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show save-match-data-internal tramp-message-show-message default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf] 7 (#$ . 54062)])
(put 'tramp-backtrace 'byte-optimizer 'byte-compile-inline-expand)
#@190 Emit an error.
VEC-OR-PROC identifies the connection to use, SIGNAL is the
signal identifier to be raised, remaining arguments passed to
`tramp-message'.  Finally, signal SIGNAL is raised.
(defalias 'tramp-error #[(vec-or-proc signal fmt-string &rest arguments) "\306	\211\203\264	\307\310\311\312\313!!\314\216\n\315 \210)r\nq\210\316 +C\3171\256
1X\205\252\320 2\321\216\203f
\322X\203f\323\324
\325U\203L\326\202a
\327U\203V\326\202a
\330U\203`\331\202a\332\fP#\2101\333Y\205\251\334	!\203}\3251\335	\336\306#)
\327U\203\230\3251r\337	!q\210\f\310P\340\316 C\"*\341	!\205\251\323\342	\343\344
\"\fP$*0\202\260\210\306,\202\3601\307Y\205\36034r\311\345!q\210p\346 \21043\306\21156\347\2117\34789\350 \210\351\352!\210+\211:\315 \353:!\210+)\210	\203\230	\327\354\3550\211\356N\323\357\f#E!C\3171\224
1X\205\220\320 2\321\216\203L
\322X\203L\323\324
\325U\2032\326\202G
\327U\203<\326\202G
\330U\203F\331\202G\332\fP#\2101\333Y\205\217\334	!\203c\3251\335	\336\306#)
\327U\203~\3251r\337	!q\210\f\310P\340\316 C\"*\341	!\205\217\323\342	\343\344
\"\fP$*0\202\226\210\306,\210\3600\323\357\f#C\")\207" [tramp-message-show-message vec-or-proc standard-output arguments fmt-string level nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer append vectorp tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal tramp-verbose save-match-data-internal default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf] 11 (#$ . 55682)])
(put 'tramp-error 'byte-optimizer 'byte-compile-inline-expand)
#@168 Emit an error, and show BUF.
If BUF is nil, show the connection buf.  Wait for 30", or until
an input event arrives.  The other arguments are passed to `tramp-error'.
(defalias 'tramp-error-with-buffer #[(buf vec-or-proc signal fmt-string &rest arguments) "\306 \307\216\310	!\203	\206$\311\n!\203\312\n!\206$\313\n!\205$\314\n!\313\n!\203/\n\206;	\205;r	q\210\315!)\316\216\317\320\n
%-\207" [#1=#:wconfig buf vec-or-proc default-directory vec signal current-window-configuration #[nil "\301!\207" [#1# set-window-configuration] 2] bufferp processp process-buffer vectorp tramp-get-connection-buffer tramp-dissect-file-name #[nil "\203,	\203,\n\306U\204,\307 \204,\310 \203,\311\312\313\f
#\210\314!\210\315 \210\316\317!\210)\320\321\322\"\323\"@\232\205@\324 \241\207" [buf tramp-message-show-message tramp-verbose enable-recursive-minibuffers fmt-string arguments 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 butlast append nil 2 current-time vec tramp-current-connection] 4] apply tramp-error fmt-string arguments] 6 (#$ . 57829)])
(put 'tramp-error-with-buffer 'byte-optimizer 'byte-compile-inline-expand)
#@707 Parse a Tramp filename and make components available in the body.

First arg FILENAME is evaluated and dissected into its components.
Second arg VAR is a symbol.  It is used as a variable name to hold
the filename structure.  It is also used as a prefix for the variables
holding the components.  For example, if VAR is the symbol `foo', then
`foo' will be bound to the whole structure, `foo-method' will be bound to
the method component, and so on for `foo-user', `foo-host', `foo-localname',
`foo-hop'.

Remaining args are Lisp expressions to be evaluated (inside an implicit
`progn').

If VAR is nil, then we bind `v' to the structure and `method', `user',
`host', `localname', `hop' to the components.
(defalias 'with-parsed-tramp-file-name '(macro . #[(filename var &rest body) "\304\305\306\"\307	\206\310\311\nDDB\312\304\313\"B)BBB\207" [bindings var filename body mapcar #[(elem) "\203\302\303\304	#!\202	\302\303\305	\"!\206\306DD\207" [var elem intern format "%s-%s" "tramp-file-name-%s" v] 5] (method user host localname hop) let* v tramp-dissect-file-name ignore car] 6 (#$ . 59034)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-parsed-tramp-file-name lisp-indent-function 2 edebug-form-spec (form symbolp body) tramp-compat-font-lock-add-keywords emacs-lisp-mode ("\\<with-parsed-tramp-file-name\\>")] 4)
(defalias 'tramp-progress-reporter-update #[(reporter &optional value) "A\211\304H\305\n\306 \206\307\"\2053\310\311!\204\312\311!\2053\211\247\203-\211@Y\2051\313\"\266\202*\207" [reporter parameters message value 3 string-match current-message "" subrp progress-reporter-update functionp progress-reporter-do-update] 6])
#@162 Executes BODY, spinning a progress reporter with MESSAGE.
If LEVEL does not fit for visible messages, there are only traces
without a visible progress reporter.
(defalias 'with-tramp-progress-reporter '(macro . #[(vec level message &rest body) "\304\305	\306\n\257\307\310\311\312\313\314\315	\316BBE\317\307\320\321\322\nEDC\323BBDEDD\324\325\304B\326BB\327\305	\330\n\331BBBBBFEE\207" [vec level message body progn tramp-message "%s..." let (cookie "failed") tm when and tramp-message-show-message <= ((min tramp-verbose 3)) ignore-errors pr tramp-compat-funcall #'make-progress-reporter ((when pr (run-at-time 3 0.1 #'tramp-progress-reporter-update pr))) unwind-protect prog1 ((setq cookie "done")) (if tm (tramp-compat-funcall 'cancel-timer tm)) "%s...%s" (cookie)] 13 (#$ . 60755)]))
(byte-code "\300\301\302\303#\210\304\301\305\306#\210\307\310\311\"\207" [function-put with-tramp-progress-reporter lisp-indent-function 3 put edebug-form-spec t tramp-compat-font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-progress-reporter\\>")] 4)
#@141 Check in Tramp cache for PROPERTY, otherwise execute BODY and set cache.
FILE must be a local file name on a connection identified via VEC.
(defalias 'with-tramp-file-property '(macro . #[(vec file property &rest body) "\304\305D\306\307\310	\n\311BBBBDC\312\313\314\307\315BE\316	\n\317BBBBF\320BBBBBB\207" [file vec property body if file-name-absolute-p let value tramp-get-file-property ('undef) when (eq value 'undef) setq progn tramp-set-file-property (value) (value)] 12 (#$ . 61813)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-tramp-file-property lisp-indent-function 3 edebug-form-spec t tramp-compat-font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-file-property\\>")] 4)
#@72 Check in Tramp for property PROPERTY, otherwise executes BODY and set.
(defalias 'with-tramp-connection-property '(macro . #[(key property &rest body) "\303\304\305	\306BBBDC\307\310\311\304\312\nBE\313	\314BBBF\315BBB\207" [key property body let value tramp-get-connection-property ('undef) when (eq value 'undef) setq progn tramp-set-connection-property (value) (value)] 9 (#$ . 62554)]))
(byte-code "\300\301\302\303#\210\300\301\304\305#\210\306\307\310\"\207" [put with-tramp-connection-property lisp-indent-function 2 edebug-form-spec t tramp-compat-font-lock-add-keywords emacs-lisp-mode ("\\<with-tramp-connection-property\\>")] 4)
#@313 Cut off unnecessary drive letter from file NAME.
The functions `tramp-*-handle-expand-file-name' call `expand-file-name'
locally on a remote file name.  When the local system is a W32 system
but the remote system is Unix, this introduces a superfluous drive
letter into the file name.  This function removes it.
(defalias 'tramp-drop-volume-letter #[(name) "\302 \303\216\304\305	\"\203\306\307\310\311	$\202	*\207" [save-match-data-internal name match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match "\\`[a-zA-Z]:/" replace-match "/" nil t] 5 (#$ . 63203)])
#@468 Sets the list of completion functions for METHOD.
FUNCTION-LIST is a list of entries of the form (FUNCTION FILE).
The FUNCTION is intended to parse FILE according its syntax.
It might be a predefined FUNCTION, or a user defined FUNCTION.
For the list of predefined FUNCTIONs see `tramp-completion-function-alist'.

Example:

    (tramp-set-completion-function
     "ssh"
     \='((tramp-parse-sconfig "/etc/ssh_config")
       (tramp-parse-sconfig "~/.ssh/config")))
(defalias 'tramp-set-completion-function #[(method function-list) "\211\306\307\f\"\f\"	\203k	@	A\235\203!	\306	@	A\"\241\210\310	@@!\203^\311\312	@A@\"\203K
\313>\203^\314	\315\316\211\211\317	@A@&\320U\202[\311\321	@A@\"\204d\322	@A@!\204d\306	@\n\"	A\211\204\n\205\205\nB\211\f\235\203~\f\202\204\fB\211)*\207" [function-list v r method tramp-completion-function-alist system-type delete assoc functionp string-match "^HKEY_CURRENT_USER" (cygwin windows-nt) tramp-call-process "reg" nil "query" 0 "^_[[:alpha:]]+\\._[[:alpha:]]+$" file-exists-p #1=#:x] 9 (#$ . 63823)])
#@117 Returns a list of completion functions for METHOD.
For definition of that list see `tramp-set-completion-function'.
(defalias 'tramp-get-completion-function #[(method) "\302D\303	\"AB\207" [method tramp-completion-function-alist tramp-parse-connection-properties assoc] 4 (#$ . 64897)])
(make-variable-buffer-local 'tramp-rfn-eshadow-overlay)
#@161 Set up a minibuffer for `file-name-shadow-mode'.
Adds another overlay hiding filename parts according to Tramp's
special handling of `substitute-in-file-name'.
(defalias 'tramp-rfn-eshadow-setup-minibuffer #[nil "\302J\205u\303\304!\204\305\304!\205/\304\303\306!\204\305\306!\205 \306 \303\306!\204,\305\306!\205.\306 \"\303\307!\204<\305\307!\205@\307\310J!	\205t	@\311=\204i\303\312!\204X\305\312!\203A\312	\211A\242	\211A\242#\210\202A	A\211\211A\210\202A)\207" [tramp-rfn-eshadow-overlay props minibuffer-completing-file-name subrp make-overlay functionp minibuffer-prompt-end overlay-properties rfn-eshadow-overlay field overlay-put] 6 (#$ . 65249)])
(byte-code "\300\301!\203\302\301\303\"\210\302\304\305\"\210\300\207" [boundp rfn-eshadow-setup-minibuffer-hook add-hook tramp-rfn-eshadow-setup-minibuffer tramp-unload-hook #[nil "\300\301\302\"\207" [remove-hook rfn-eshadow-setup-minibuffer-hook tramp-rfn-eshadow-setup-minibuffer] 3]] 3)
(defconst tramp-rfn-eshadow-update-overlay-regexp (format "[^%s/~]*\\(/\\|~\\)" tramp-postfix-host-format))
#@249 Update `rfn-eshadow-overlay' to cover shadowed part of minibuffer input.
This is intended to be used as a minibuffer `post-command-hook' for
`file-name-shadow-mode'; the minibuffer should have already
been set up by `rfn-eshadow-setup-minibuffer'.
(defalias 'tramp-rfn-eshadow-update-overlay #[nil "\3061y\307\310!\204\311\310!\203\310\312J!\206%\307\313!\204#\311\313!\205%\313 \314\315\307\316!\2045\311\316!\2059\316	d\"!\205v\212\214\317\n\320 	#\206I	Td}\210\321\211\n\307\322!\204`\311\322!\203g\322\ndd#\210\307\323!\204s\311\323!\205u\323 -*0\207\210\321\207" [non-essential end tramp-rfn-eshadow-update-overlay-regexp tramp-rfn-eshadow-overlay file-name-handler-alist rfn-eshadow-update-overlay-hook (error) subrp overlay-end functionp rfn-eshadow-overlay minibuffer-prompt-end t tramp-tramp-file-p buffer-substring-no-properties string-match buffer-string nil move-overlay rfn-eshadow-update-overlay] 4 (#$ . 66339)])
(byte-code "\300\301!\203\302\301\303\"\210\302\304\305\"\210\300\207" [boundp rfn-eshadow-update-overlay-hook add-hook tramp-rfn-eshadow-update-overlay tramp-unload-hook #[nil "\300\301\302\"\207" [remove-hook rfn-eshadow-update-overlay-hook tramp-rfn-eshadow-update-overlay] 3]] 3)
#@31 Keeps virtual inodes numbers.
(defvar tramp-inodes 0 (#$ . 67582))
#@31 Keeps virtual device numbers.
(defvar tramp-devices 0 (#$ . 67655))
#@166 Return file modes of FILENAME as integer.
If the file modes of FILENAME cannot be determined, return the
value of `default-file-modes', without execute permissions.
(defalias 'tramp-default-file-modes #[(filename) "\301!\206
\302\303 \304\305!\"\207" [filename file-modes logand default-file-modes tramp-compat-octal-to-decimal "0666"] 4 (#$ . 67730)])
#@91 Replace environment variables in FILENAME.
Return the string with the replaced variables.
(defalias 'tramp-replace-environment-variables #[(filename) "\3031\304\305!\204\306\305!\205\305\307\"0\202\210\202\206S\310 \311\216\312\313\"\211\203Q\n\314U\204<\nSH\315=\204Q\316\317\320\"!\203Q\321\322\317\314\"!\323\324$+\207" [filename save-match-data-internal idx (error) subrp substitute-env-vars functionp only-defined match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match "$\\(\\w+\\)" 0 36 getenv match-string 1 replace-match substitute-in-file-name t nil] 6 (#$ . 68091)])
(byte-code "\300\301!\203\302\303\304\"\210\300\207" [fboundp minibuffer-electric-separator mapc #[(x) "\301\302\303\304\305\306\"!\307BB\310BBB!\210\301\311\312\313\314\315\316D\317\316\304\305\306\"!DF\320\316DDFE!\207" [x eval defadvice around intern format "tramp-advice-%s" (activate) ("Invoke `substitute-in-file-name' for Tramp files." (if (and (symbol-value 'minibuffer-electric-file-name-behavior) (tramp-tramp-file-p (buffer-substring))) (let ((s (concat (buffer-substring (point-min) (point)) (string last-command-char)))) (delete-region (point-min) (point)) (insert (substitute-in-file-name s)) (setq ad-return-value last-command-char)) ad-do-it)) add-hook 'tramp-unload-hook lambda nil ad-remove-advice quote 'around ad-activate] 13] (minibuffer-electric-separator minibuffer-electric-tilde)] 3)
#@311 Like `find-operation-coding-system' for Tramp filenames.
Tramp's `insert-file-contents' and `write-region' work over
temporary file names.  If `file-coding-system-alist' contains an
expression, which matches more than the file name suffix, the
coding system might not be determined.  This function repairs it.
(defalias 'tramp-find-file-name-coding-system-alist #[(filename tmpname) "\306	\306\211\2037@\211:\2030\307\n@\f\"\2030\310
!\nAB\211\n\235\204/\311\nC\")A\211\204\n\306+\207" [result file-coding-system-alist elt --dolist-tail-- filename tmpname nil string-match regexp-quote append #1=#:x] 4 (#$ . 69564)])
#@143 Invoke normal file name handler for OPERATION.
First arg specifies the OPERATION, second arg is a list of arguments to
pass to the OPERATION.
(defalias 'tramp-run-real-handler #[(operation args) "\304\305\306\307\310	=\205\f\nBBBBB	\311	\"*\207" [inhibit-file-name-operation operation inhibit-file-name-handlers args tramp-file-name-handler tramp-vc-file-name-handler tramp-completion-file-name-handler cygwin-mount-name-hook-function cygwin-mount-map-drive-hook-function apply] 7 (#$ . 70208)])
#@144 Invoke `tramp-file-name-handler' for OPERATION.
First arg specifies the OPERATION, second arg is a list of arguments to
pass to the OPERATION.
(defalias 'tramp-completion-run-real-handler #[(operation args) "\304\305\306	=\205\n\nBBB	\307	\"*\207" [inhibit-file-name-operation operation inhibit-file-name-handlers args tramp-completion-file-name-handler cygwin-mount-name-hook-function cygwin-mount-map-drive-hook-function apply] 5 (#$ . 70716)])
#@110 Return file name related to OPERATION file primitive.
ARGS are the arguments OPERATION has been called with.
(defalias 'tramp-file-name-for-operation #[(operation &rest args) "\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377\257<\235\203V\201@	@!\203O	@\207\201A	@!\207\201B\201C\201A\201D\201E\201F\201G\201H\201I\201J\201K\201L\201M\201N\201O\257\235\203\270\201P \201Q\216\201R	@!\203\241	@\202\266\201R	A@!\203\261	A@\202\266\201Sp!*\207\201T=\203\306\201U	8\207\201V\201W\201X\201YF\235\203\354\201S\201Z	@!\203\351	@\202\352p!\207\201[\201\\\201]\201^\201_\201`\257\235\203\207\201a\201bD\235\203(\201c	@!\2050r\201d	@!q\210)\207\201e\201f\"\207" [operation args save-match-data-internal default-directory access-file byte-compiler-base-file-name delete-directory delete-file diff-latest-backup-file directory-file-name directory-files directory-files-and-attributes dired-compress-file dired-uncache file-accessible-directory-p file-attributes file-directory-p file-executable-p file-exists-p file-local-copy file-modes file-name-as-directory file-name-directory file-name-nondirectory file-name-sans-versions file-ownership-preserved-p file-readable-p file-regular-p file-remote-p file-symlink-p file-truename file-writable-p find-backup-file-name find-file-noselect get-file-buffer insert-directory insert-file-contents load make-directory make-directory-internal set-file-modes substitute-in-file-name unhandled-file-name-directory vc-registered set-file-times file-acl file-notify-add-watch file-selinux-context set-file-acl set-file-selinux-context abbreviate-file-name create-file-buffer dired-file-modtime dired-make-compressed-filename dired-recursive-delete-directory dired-set-file-modtime dired-shell-unhandle-file-name dired-uucode-file insert-file-contents-literally make-temp-name recover-file vm-imap-check-mail vm-pop-check-mail vm-spool-check-mail file-name-absolute-p expand-file-name add-name-to-file copy-file file-name-all-completions file-name-completion file-newer-than-file-p make-symbolic-link rename-file copy-directory file-equal-p file-in-directory-p dired-make-relative-symlink vm-imap-move-mail vm-pop-move-mail vm-spool-move-mail match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] tramp-tramp-file-p buffer-file-name write-region 2 set-visited-file-modtime verify-visited-file-modtime make-auto-save-file-name backup-buffer bufferp dired-call-process shell-command process-file start-file-process dired-print-file dired-shell-call-process file-notify-rm-watch file-notify-valid-p processp process-buffer error "unknown file I/O primitive: %s"] 61 (#$ . 71175)])
#@45 Return foreign file name handler if exists.
(defalias 'tramp-find-foreign-file-name-handler #[(filename) "\306!\205P\307\310\"	\311\211\312
!\2045\313
!\2045\314
!\203/\314
!\315\316\"\235\2035\317 ?\205O\f\203N\f@\fA@!\2035\311A\2025\n,\207" [filename tramp-foreign-file-name-handler-alist res elt handler v tramp-tramp-file-p tramp-dissect-file-name t nil tramp-file-name-method tramp-file-name-user tramp-file-name-host mapcar car tramp-completion-mode-p tramp-methods] 4 (#$ . 74081)])
#@48 Like `debug-on-error' but used Tramp internal.
(defvar tramp-debug-on-error nil (#$ . 74601))
#@64 Like `condition-case-unless-debug' but `tramp-debug-on-error'.
(defalias 'tramp-condition-case-unless-debug '(macro . #[(var bodyform &rest handlers) "\303\304\305	\nBBBE\207" [var bodyform handlers let ((debug-on-error tramp-debug-on-error)) tramp-compat-condition-case-unless-debug] 6 (#$ . 74701)]))
#@110 Invoke Tramp file name handler.
Falls back to normal file name handler if no Tramp file name handler exists.
(defalias 'tramp-file-name-handler #[(operation &rest args) "\203\334\306 \307\216\310\311\312\n#!\313 \314\f!@\315\f!A\316A!B\317A!C\320A!D\321A!E\322A!F@\203\323GH\3231\220\3241\273@K\325I\211J<\203\366J@\326=\203\366\325K\327\330!\203t\331\330\332N@!\206\351\333\334!\203\213\335\334!\204\206\336\334!\205\351\334 \202\351\337\340!\211L\205\230\341L!)\203\244\342\337\340!!\202\351\337\343!\211L\205\261\341L!)\203\275\342\337\343!!\202\351\337\344!\211L\205\312\341L!)\203\326\342\337\344!!\202\351\345\346!\203\342\342\346!\202\351\347\350!\210\342\351!)M\352JA@\353\354#\210)\3552\3562\311@\n#00\211I\355=\203\325A\357\360\nBCNOPQ\3611\310PRX\205\304\306 \362\216S\203fP\363X\203f\311\347P\364U\203H\365\202_P\366U\203S\365\202_P\367U\203^\370\202_\371OPN#\210R\372Y\205\303\373Q!\203\200\364R\374Q\375\325#Q)P\366U\203\245\364Rr\376Q!q\210O\377PO\201UN\201V C\"N*\201WQ!\205\303\311\201XQ\201Y\201ZP\"OPN$*0\202\312\210\325,\210\201[\n\"\202\265I\356=\203\263\325SA\366\201\\\nBCNOPQ\3611\233PRX\205\227\306 \362\216S\2039P\363X\2039\311\347P\364U\203\365\2022P\366U\203&\365\2022P\367U\2031\370\2022\371OPN#\210R\372Y\205\226\373Q!\203S\364R\374Q\375\325#Q)P\366U\203x\364Rr\376Q!q\210O\377PO\201UN\201V C\"N*\201WQ!\205\226\311\201XQ\201Y\201ZP\"OPN$*0\202\235\210\325,\210\201]A\201^\"\210\201[\n\")\202\265I*00\202\3170T\325SA\366\201_\nBCNOPQ\3611}PRX\205y\306 \362\216S\203P\363X\203\311\347P\364U\203\375\365\202P\366U\203\365\202P\367U\203\370\202\371OPN#\210R\372Y\205x\373Q!\2035\364R\374Q\375\325#Q)P\366U\203Z\364Rr\376Q!q\210O\377PO\201UN\201V C\"N*\201WQ!\205x\311\201XQ\201Y\201ZP\"OPN$*0\202\210\325,\210)\201`T@TA\")\202\317T
\203\254EG\364U\203\254\n\201a>\203\254\201^\202\316
\203\304EG\364U\203\304\n\201b>\203\304\f\202\316\201`T@TA\"))\202\331\201[\n\".\207\201[\n\"\207" [tramp-mode save-match-data-internal operation args filename completion match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] tramp-replace-environment-variables apply tramp-file-name-for-operation tramp-completion-mode-p tramp-find-foreign-file-name-handler tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop (debug error) (debug debug quit) nil autoload boundp temporary-file-directory eval standard-value fboundp temp-directory subrp functionp getenv "TEMP" file-directory-p file-name-as-directory "TMP" "TMPDIR" file-exists-p "c:/temp" message "Neither `temporary-file-directory' nor `temp-directory' is defined -- using /tmp." "/tmp" load noerror nomessage non-essential suppress 5 "Non-essential received in operation %s" (error) #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" foreign v method user host localname hop tramp-debug-on-error debug-on-error result sf file-name-handler-alist d default-directory arguments fmt-string level vec-or-proc tramp-verbose tramp-message-show-message err append buffer-string vectorp tramp-debug-message format "(%d) # " tramp-run-real-handler "Suppress received in operation %s" tramp-cleanup-connection t "Interrupt received in operation %s" signal (file-exists-p file-directory-p) (expand-file-name file-name-as-directory)] 7 (#$ . 75012)])
#@146 If non-nil, then Tramp is currently busy.
Together with `tramp-locker', this implements a locking mechanism
preventing reentrant calls of Tramp.
(defvar tramp-locked nil (#$ . 78767))
#@148 If non-nil, then a caller has locked Tramp.
Together with `tramp-locked', this implements a locking mechanism
preventing reentrant calls of Tramp.
(defvar tramp-locker nil (#$ . 78958))
#@121 Invoke Tramp file name completion handler.
Falls back to normal file name handler if no Tramp file name handler exists.
(defalias 'tramp-completion-file-name-handler #[(operation &rest args) "\306\307	\"\n\203B\f\203B
\310=\2042\311\312!\2042\313\314!\203&\314J\2042\311\315!\2042\311\316!\203B\317 \320\216\321\nA\"*\202G\322\"*\207" [operation tramp-completion-file-name-handler-alist fn directory-sep-char tramp-mode tramp-syntax 47 assoc sep featurep tramp boundp partial-completion-mode ido icicles match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] apply tramp-completion-run-real-handler save-match-data-internal args] 4 (#$ . 79151)])
#@54 Load Tramp file name handler, and perform OPERATION.
(defalias 'tramp-autoload-file-name-handler #[(operation &rest args) "\303\304\305\306\307#\210)\310	\n\"\207" [default-directory operation args "/" load "tramp" nil t apply] 4 (#$ . 79858)])
#@76 Add Tramp file name handlers to `file-name-handler-alist' during autoload.
(defalias 'tramp-register-autoload-file-name-handlers #[nil "\302\303\304B\"\210\305\304\306\307#\210\302\303	\310B\"\210\305\310\306\307#\207" [tramp-file-name-regexp tramp-completion-file-name-regexp add-to-list file-name-handler-alist tramp-autoload-file-name-handler put safe-magic t tramp-completion-file-name-handler] 4 (#$ . 80110)])
(tramp-register-autoload-file-name-handlers)
#@60 Add Tramp file name handlers to `file-name-handler-alist'.
(defalias 'tramp-register-file-name-handlers #[nil "\306\307\211\203	@\310\n\"\311\n\")	A\211\204*\312\302\f\313B\"\210\314\313\315\316#\210\312\302
\317B\"\210\314\317\315\316#\210\320\307\211\205_	@\321\n\"\211\203V\322\n\"B)	A\211\204@\307*\207" [fnh --dolist-tail-- file-name-handler-alist a1 tramp-file-name-regexp tramp-completion-file-name-regexp (tramp-file-name-handler tramp-completion-file-name-handler tramp-autoload-file-name-handler) nil rassq delq add-to-list tramp-file-name-handler put safe-magic t tramp-completion-file-name-handler (epa-file-handler jka-compr-handler) rassoc delete entry] 5 (#$ . 80578)])
(byte-code "\300\301\302 \"\207" [eval-after-load tramp tramp-register-file-name-handlers] 3)
#@52 Check, whether OPERATION runs a file name handler.
(defalias 'tramp-exists-file-name-handler #[(operation &rest args) "\3061\307\211\n\f\307\310BC\311\f\"\f\232-0\207\210\312\207" [buffer-file-name default-directory file-name-handler-alist fnha operation check-file-name-operation (error) "/" #[(operation &rest args) "	\232\203	\207\n\305	\f\")\207" [check-file-name-operation operation fnha file-name-handler-alist args apply] 3 "Returns OPERATION if it is the one to be checked."] apply nil args] 4 (#$ . 81390)])
(defalias 'tramp-unload-file-name-handlers #[nil "\301\302\303\"\301\302\304\"\"\"\211\207" [file-name-handler-alist delete rassoc tramp-file-name-handler tramp-completion-file-name-handler] 6])
(add-hook 'tramp-unload-hook 'tramp-unload-file-name-handlers)
#@345 If non-nil, external packages signal that they are in file name completion.

This is necessary, because Tramp uses a heuristic depending on last
input event.  This fails when external packages use other characters
but <TAB>, <SPACE> or ?\? for file name completion.  This variable
should never be set globally, the intention is to let-bind it.
(defvar tramp-completion-mode nil (#$ . 82189))
#@69 Check, whether method / user name / host name completion is active.
(defalias 'tramp-completion-mode-p #[nil "\302\303!\203\303J\2061\2061	\304\232\2061\305	!\2051	\306\232\2061\307	!?\2051	\310\232\2061	\311\232\207" [tramp-completion-mode last-input-event boundp non-essential tab natnump 9 event-modifiers 63 32] 2 (#$ . 82587)])
#@175 Check, whether it is possible to connect the remote host w/o side-effects.
This is true, if either the remote host is already connected, or if we are
not in completion mode.
(defalias 'tramp-connectable-p #[(filename) "\306!\205A\307!\310	!\311	!\312	!\313	!\314	!\315 ?\206?\316\317	!\211\205>\320!\205>\321!\322>*.\207" [filename v method user host localname tramp-tramp-file-p tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-completion-mode-p 0 tramp-get-connection-process processp process-status (run open) hop tramp-verbose p] 3 (#$ . 82937)])
#@59 Like `file-name-all-completions' for partial Tramp files.
(defalias 'tramp-completion-handle-file-name-all-completions #[(filename directory) "\306\307	\"!\310\211\211\311%\312\211&'\313\314\260
\"\203,\315\316
\"\317\320\310\211
\316%\321
!\310(\211)\203\237)@(\322(!*\323(!+\324(!,\325(!-\326*+,#.+/\3100-\204\224+\204u,\203\214\327\330\331.!\"\210\332\333\334\335\3100\"\"\"\202\224\332\336.!\".)A\211)\2048*\310(\211)\203\344)@\211(\203\333\311%(\"\210\3171\fP\310\211($\211(\306	!G\310O\2112\n\235\204\3322\nB))A\211)\204\252*\332\n\3371\340\341
!\203\366\342\202\367\343\344	DC#0\202\210\310\",\207" [filename directory result1 result hop fullname tramp-drop-volume-letter expand-file-name nil string-match "\\(" "\\)+" "\\)" match-string 1 replace-match "" tramp-completion-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-find-method mapc #[(x) "\302	@	A@!\"\211\207" [all-user-hosts x append] 4] tramp-get-completion-function append mapcar #[(x) "\304	\n@A@%\207" [method user host x tramp-get-completion-user-host] 6] delq tramp-get-completion-methods (error) apply tramp-connectable-p tramp-completion-run-real-handler tramp-run-real-handler file-name-all-completions tramp-prefix-regexp tramp-remote-file-name-spec-regexp tramp-postfix-hop-regexp elt --dolist-tail-- method user host localname m tramp-current-user all-user-hosts tramp-prefix-format #1=#:x] 9 (#$ . 83608)])
#@46 Like `file-name-completion' for Tramp files.
(defalias 'tramp-completion-handle-file-name-completion #[(filename directory &optional predicate) "\303\304\305\306	\"\"\n\205\307\310	\"!\205\311#\207" [filename directory predicate try-completion mapcar list file-name-all-completions tramp-connectable-p expand-file-name #[(x) "\303	@\n\"!\207" [predicate x directory expand-file-name] 4]] 7 (#$ . 85148)])
#@110 Returns a list of `tramp-file-name' structures.
They are collected by `tramp-completion-dissect-file-name1'.
(defalias 'tramp-completion-dissect-file-name #[(name) "\306\307\310\311\nG\312U\203\202\n\"
\313	\314\260\315\306\211\211\257
\313	\314\260\306\315\306\211\257
\313	\314\260\306\211\315\306\257
\313\f	\314\260\306\211\315\306\257
\313\316\313	\314\260	\306\315\317\306\257
\313\316\313\f	\314\260\n\306\315\317\306\257
\313\316\313	\314\260	\315\317\306\211\257 
\313\316\313	\314\260	\315\306\317\306\257!
\313\316\313\f	\314\260\n\315\306\317\306\257\"
\313\316\313\316\313	\314\260
\315\317\320\306\257#
\313\316\313\316\313\f	\314\260\315\317\320\306\257$\321\322 !\"#$%\257\f\"\210\323\306\".\207" [result x-nil tramp-postfix-ipv6-format tramp-postfix-host-format tramp-completion-ipv6-regexp tramp-prefix-regexp nil "\\|\\(\\)" format "[^%s]*" 0 "\\(" "\\)$" 1 "\\)" 2 3 mapc #[(structure) "\304	\"\211\235\203\202\nB\211)\207" [structure name #1=#:x result tramp-completion-dissect-file-name1] 4] delq tramp-method-regexp tramp-completion-file-name-structure1 tramp-user-regexp tramp-completion-file-name-structure2 tramp-host-regexp tramp-completion-file-name-structure3 tramp-prefix-ipv6-regexp tramp-completion-file-name-structure4 tramp-postfix-user-regexp tramp-completion-file-name-structure5 tramp-completion-file-name-structure6 tramp-postfix-method-regexp tramp-completion-file-name-structure7 tramp-completion-file-name-structure8 tramp-completion-file-name-structure9 tramp-completion-file-name-structure10 tramp-completion-file-name-structure11 tramp-file-name-structure] 14 (#$ . 85568)])
#@166 Returns a `tramp-file-name' structure matching STRUCTURE.
The structure consists of remote method, remote user,
remote host and localname (filename on remote host).
(defalias 'tramp-completion-dissect-file-name1 #[(structure name) "\306 \307\216\310	@\n\"\205K	A@\205\311	A@\n\"\312	8\205%\311\312	8\n\"\313	8\2051\311\313	8\n\"\314	8\205=\311\314	8\n\"\315
\f\316%,*\207" [save-match-data-internal structure name localname host user match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match match-string 2 3 4 vector nil method] 6 (#$ . 87323)])
#@52 Returns all method completions for PARTIAL-METHOD.
(defalias 'tramp-get-completion-methods #[(partial-method) "\301\302\301\303\"\"\207" [tramp-methods mapcar #[(method) "\205\302\303\304	!P\"\205\305\306\211\211$\207" [method partial-method string-match "^" regexp-quote tramp-completion-make-tramp-file-name nil] 5] car] 5 (#$ . 87936)])
#@129 Returns the most expanded string for user and host name completion.
PARTIAL-USER must match USER, PARTIAL-HOST must match HOST.
(defalias 'tramp-get-completion-user-host #[(method partial-user partial-host user host) "\203-	\203-\n\203&\305\306\307	!P\n\"\203&\206\230\203&\202e\310\211\202e\203G\310\203B\305\306\307!P\"\204e\310\202e	\203a\310\n\203\\\305\306\307	!P\n\"\204e\310\202e\310\211G\nG\\\311U?\205v\312\f\n\310$\207" [partial-user partial-host host user method string-match "^" regexp-quote nil 0 tramp-completion-make-tramp-file-name] 6 (#$ . 88291)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-group #[(regexp match-level skip-regexp) "\304\305	\306 \307#\203\304\310\n!D\304w\311V\204\312y\210)\207" [result regexp match-level skip-regexp nil re-search-forward point-at-eol t match-string 0 1] 4 (#$ . 88901)])
#@76 Return a list of (user host) tuples allowed to access.
User is always nil.
(defalias 'tramp-parse-file #[(filename function) "\306\307\310!\203\311\310\312N@!\206\200\313\314!\203(\315\314!\204#\316\314!\205\200\314 \202\200\317\320!\211\2053\321	!)\203?\322\317\320!!\202\200\317\323!\211\205J\321	!)\203V\322\317\323!!\202\200\317\324!\211\205a\321	!)\203m\322\317\324!!\202\200\325\326!\203y\322\326!\202\200\327\330!\210\322\331!)\332!\205\253\333\334!r\fq\210\335\216\336!\210eb\210\306m\204\250 
B\202\233
\237,)\207" [file-name-handler-alist d default-directory filename #1=#:temp-buffer #2=#:--cl-var-- nil boundp temporary-file-directory eval standard-value fboundp temp-directory subrp functionp getenv "TEMP" file-directory-p file-name-as-directory "TMP" "TMPDIR" file-exists-p "c:/temp" message "Neither `temporary-file-directory' nor `temp-directory' is defined -- using /tmp." "/tmp" file-readable-p generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] insert-file-contents function] 3 (#$ . 89222)])
#@88 Return a list of (user host) tuples allowed to access.
Either user or host may be nil.
(defalias 'tramp-parse-rhosts #[(filename) "\301\302\"\207" [filename tramp-parse-file tramp-parse-rhosts-group] 3 (#$ . 90317)])
#@79 Return a (user host) tuple allowed to access.
Either user or host may be nil.
(defalias 'tramp-parse-rhosts-group #[nil "\304\305\306\307\310	\306\311\260\312\n\313 \314#\203 \315\316\317!\316\320!D!\320y\210*\207" [tramp-host-regexp tramp-user-regexp regexp result nil "^\\(" "\\)" "\\([ 	]+" "\\(" "\\)?" re-search-forward point-at-eol t append match-string 3 1] 9 (#$ . 90541)])
#@76 Return a list of (user host) tuples allowed to access.
User is always nil.
(defalias 'tramp-parse-shosts #[(filename) "\301\302\"\207" [filename tramp-parse-file tramp-parse-shosts-group] 3 (#$ . 90936)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-shosts-group #[nil "\301\302\303Q\304\305#\207" [tramp-host-regexp tramp-parse-group "^\\(" "\\)" 1 ","] 4 (#$ . 91148)])
#@76 Return a list of (user host) tuples allowed to access.
User is always nil.
(defalias 'tramp-parse-sconfig #[(filename) "\301\302\"\207" [filename tramp-parse-file tramp-parse-sconfig-group] 3 (#$ . 91366)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-sconfig-group #[nil "\301\302\303\304R\305\306#\207" [tramp-host-regexp tramp-parse-group "^[ 	]*Host[ 	]+" "\\(" "\\)" 1 ","] 5 (#$ . 91580)])
#@76 Return a list of (user host) tuples allowed to access.
User is always nil.
(defalias 'tramp-parse-shostkeys-sknownhosts #[(dirname regexp) "\306\307\310!\203\311\310\312N@!\206\200\313\314!\203(\315\314!\204#\316\314!\205\200\314 \202\200\317\320!\211\2053\321	!)\203?\322\317\320!!\202\200\317\323!\211\205J\321	!)\203V\322\317\323!!\202\200\317\324!\211\205a\321	!)\203m\322\317\324!!\202\200\325\326!\203y\322\326!\202\200\327\330!\210\322\331!)\321!\205\213\332!\211\306\211 
:\203\301
@\333\334\"\204\272\333!\"\203\272\306\335\336\"D B 
A\211\202\225 \237-\207" [file-name-handler-alist d default-directory dirname files #1=#:--cl-var-- nil boundp temporary-file-directory eval standard-value fboundp temp-directory subrp functionp getenv "TEMP" file-directory-p file-name-as-directory "TMP" "TMPDIR" file-exists-p "c:/temp" message "Neither `temporary-file-directory' nor `temp-directory' is defined -- using /tmp." "/tmp" directory-files string-match "^\\.\\.?$" match-string 1 f #2=#:--cl-var-- regexp] 5 (#$ . 91820)])
#@76 Return a list of (user host) tuples allowed to access.
User is always nil.
(defalias 'tramp-parse-shostkeys #[(dirname) "\302\303	\304Q\"\207" [dirname tramp-host-regexp tramp-parse-shostkeys-sknownhosts "^key_[0-9]+_\\(" "\\)\\.pub$"] 5 (#$ . 92903)])
#@76 Return a list of (user host) tuples allowed to access.
User is always nil.
(defalias 'tramp-parse-sknownhosts #[(dirname) "\302\303	\304Q\"\207" [dirname tramp-host-regexp tramp-parse-shostkeys-sknownhosts "^\\(" "\\)\\.ssh-\\(dss\\|rsa\\)\\.pub$"] 5 (#$ . 93163)])
#@76 Return a list of (user host) tuples allowed to access.
User is always nil.
(defalias 'tramp-parse-hosts #[(filename) "\301\302\"\207" [filename tramp-parse-file tramp-parse-hosts-group] 3 (#$ . 93436)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-hosts-group #[nil "\302\303\304	\305\260\306\307#\207" [tramp-ipv6-regexp tramp-host-regexp tramp-parse-group "^\\(" "\\|" "\\)" 1 " 	"] 6 (#$ . 93646)])
#@84 Return a list of (user host) tuples allowed to access.
Host is always "localhost".
(defalias 'tramp-parse-passwd #[(filename) "G\302U\203	\303\207\304	\305\"\207" [tramp-current-user filename 0 (("root" nil)) tramp-parse-file tramp-parse-passwd-group] 3 (#$ . 93897)])
#@75 Return a (user host) tuple allowed to access.
Host is always "localhost".
(defalias 'tramp-parse-passwd-group #[nil "\303\304\305Q\306	\307 \310#\203\311\312!\313D\312y\210\n*\207" [tramp-user-regexp regexp result nil "^\\(" "\\):" re-search-forward point-at-eol t match-string 1 "localhost"] 4 (#$ . 94174)])
#@73 Return a list of (user host) tuples allowed to access.
User may be nil.
(defalias 'tramp-parse-netrc #[(filename) "\301\302\"\207" [filename tramp-parse-file tramp-parse-netrc-group] 3 (#$ . 94496)])
#@64 Return a (user host) tuple allowed to access.
User may be nil.
(defalias 'tramp-parse-netrc-group #[nil "\304\305\306\307\310\306	\307\311\260	\312\n\313 \314#\203\315\316!\315\317!D\317y\210*\207" [tramp-host-regexp tramp-user-regexp regexp result nil "^[ 	]*machine[ 	]+" "\\(" "\\)" "\\([ 	]+login[ 	]+" "\\)?" re-search-forward point-at-eol t match-string 3 1] 10 (#$ . 94703)])
#@76 Return a list of (user host) tuples allowed to access.
User is always nil.
(defalias 'tramp-parse-putty #[(registry-or-dirname) "\305>\2036\306\307!r	q\210\310\216\311\312\313\312\314\312\315\n&\316U\2054eb\210\312m\2041\317\n!B\202$\237)+\207\320\n\321\f\322Q\"\207" [system-type #1=#:temp-buffer registry-or-dirname #2=#:--cl-var-- tramp-host-regexp (windows-nt) generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] tramp-call-process nil "reg" t "query" 0 tramp-parse-putty-group tramp-parse-shostkeys-sknownhosts "^\\(" "\\)$"] 8 (#$ . 95099)])
#@67 Return a (user host) tuple allowed to access.
User is always nil.
(defalias 'tramp-parse-putty-group #[(registry) "\303\304!\305P\306	\307 \310#\203\303\311\312!D\312y\210\n*\207" [registry regexp result nil regexp-quote "\\\\\\(.+\\)" re-search-forward point-at-eol t match-string 1] 4 (#$ . 95706)])
#@71 Normal hook to be run at the end of `tramp-*-handle-file-local-copy'.
(defvar tramp-handle-file-local-copy-hook nil (#$ . 96020))
#@68 Normal hook to be run at the end of `tramp-*-handle-write-region'.
(defvar tramp-handle-write-region-hook nil (#$ . 96156))
#@45 Like `directory-file-name' for Tramp files.
(defalias 'tramp-handle-directory-file-name #[(directory) "\306!\307	!\310	!\311	!\312	!\313	!
G\314U\2047
\211GSH\315=\2037
\316\230\2047\314\317O\2028.\207" [directory v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop 0 47 "/" -1 hop] 3 (#$ . 96286)])
#@41 Like `directory-files' for Tramp files.
(defalias 'tramp-handle-directory-files #[(directory &optional full match nosort files-only) "\306!\205c\307\310!!\311\312\"\237\313\211\203U\314\211A\242!\f\203-\315\f	\"\203
\203C
\316\232\203=\317	!\204C\306	!\203\203N	P\202O	\nB\202\203^\n\202b\320\n\321\"+\207" [directory item result temp match files-only file-directory-p file-name-as-directory expand-file-name file-name-all-completions "" nil directory-file-name string-match t file-regular-p sort string< full nosort] 3 (#$ . 96719)])
#@56 Like `directory-files-and-attributes' for Tramp files.
(defalias 'tramp-handle-directory-files-and-attributes #[(directory &optional full match nosort id-format) "\304\305\306	\n$\"\207" [directory full match nosort mapcar #[(x) "\304	\203\n\202\305\n\"\"B\207" [x full directory id-format tramp-compat-file-attributes expand-file-name] 5] directory-files] 7 (#$ . 97293)])
#@39 Like `dired-uncache' for Tramp files.
(defalias 'tramp-handle-dired-uncache #[(dir &optional dir-p) "\306\204\307	!\203	\202\310	!!\311\n!\312\n!\313\n!\314\n!\315\n!\316\n\".\207" [dir-p dir v method user host tramp-dissect-file-name file-directory-p file-name-directory tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-flush-directory-property localname hop] 3 (#$ . 97682)])
#@53 Like `file-accessible-directory-p' for Tramp files.
(defalias 'tramp-handle-file-accessible-directory-p #[(filename) "\301!\205	\302!\207" [filename file-directory-p file-readable-p] 2 (#$ . 98152)])
#@39 Like `file-equalp-p' for Tramp files.
(defalias 'tramp-handle-file-equal-p #[(filename1 filename2) "\302\303!!\302\303	!!\230\205\304\305	D\"\207" [filename1 filename2 file-remote-p expand-file-name tramp-run-real-handler file-equal-p] 4 (#$ . 98361)])
#@39 Like `file-exists-p' for Tramp files.
(defalias 'tramp-handle-file-exists-p #[(filename) "\301!??\207" [filename file-attributes] 2 (#$ . 98624)])
#@45 Like `file-in-directory-p' for Tramp files.
(defalias 'tramp-handle-file-in-directory-p #[(filename directory) "\302\303!!\302\303	!!\230\205\304\305	D\"\207" [filename directory file-remote-p expand-file-name tramp-run-real-handler file-in-directory-p] 4 (#$ . 98778)])
#@36 Like `file-modes' for Tramp files.
(defalias 'tramp-handle-file-modes #[(filename) "\302!\206\303	!\205\304\305\306	!8!)\207" [filename truename file-truename file-exists-p tramp-mode-string-to-int 8 file-attributes] 4 (#$ . 99059)])
#@57 Like `file-name-as-directory' but aware of Tramp files.
(defalias 'tramp-handle-file-name-as-directory #[(file) "\302\303\"\304\305	!\306	!\307	!\310\311\312	!\206\313C\"\314	!%)\207" [file v tramp-dissect-file-name t tramp-make-tramp-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-run-real-handler file-name-as-directory tramp-file-name-localname "" tramp-file-name-hop] 8 (#$ . 99306)])
#@46 Like `file-name-completion' for Tramp files.
(defalias 'tramp-handle-file-name-completion #[(filename directory &optional predicate) "\303!\204\304\305\"\210\306	\307\310\311	\"\"\n\205\312#\207" [directory filename predicate tramp-tramp-file-p error "tramp-handle-file-name-completion invoked on non-tramp directory `%s'" try-completion mapcar list file-name-all-completions #[(x) "\303	@\n\"!\207" [predicate x directory expand-file-name] 4]] 7 (#$ . 99739)])
#@54 Like `file-name-directory' but aware of Tramp files.
(defalias 'tramp-handle-file-name-directory #[(file) "\302\303\"\304\305	!\306	!\307	!\310\311\312	!\206\313C\"\314	!%)\207" [file v tramp-dissect-file-name t tramp-make-tramp-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-run-real-handler file-name-directory tramp-file-name-localname "" tramp-file-name-hop] 8 (#$ . 100215)])
#@57 Like `file-name-nondirectory' but aware of Tramp files.
(defalias 'tramp-handle-file-name-nondirectory #[(file) "\306!\307	!\310	!\311	!\312	!\313	!\314\315
C\".\207" [file v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-run-real-handler file-name-nondirectory hop] 3 (#$ . 100640)])
#@48 Like `file-newer-than-file-p' for Tramp files.
(defalias 'tramp-handle-file-newer-than-file-p #[(file1 file2) "\302!\204\303\207\302	!\204\304\207\305\306\307	!8\306\307!8\"\207" [file1 file2 file-exists-p nil t time-less-p 5 file-attributes] 5 (#$ . 101061)])
#@40 Like `file-regular-p' for Tramp files.
(defalias 'tramp-handle-file-regular-p #[(filename) "\301!\205\302\303!8\304H\305=\207" [filename file-exists-p 8 file-attributes 0 45] 3 (#$ . 101334)])
#@39 Like `file-remote-p' for Tramp files.
(defalias 'tramp-handle-file-remote-p #[(filename &optional identification connected) "\306^\307	!\205\240\310	!\311\n!\211\205)\312!\205)\313!\314>\205)\315\316\317#\310\f\2035\320	!\2026	!\321\n!\322\n!\323\n!\324\n!\325\n!\203Y\f\205\236\305=\203d
\202\236\326=\203p\202\236\327=\203|\202\236\330=\203\210\202\236\331=\203\224\202\236\332
\333%.	)\207" [tramp-verbose filename v p c method 3 tramp-tramp-file-p tramp-dissect-file-name tramp-get-connection-process processp process-status (run open) tramp-get-connection-property "connected" nil expand-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop user host localname hop tramp-make-tramp-file-name "" connected identification] 7 (#$ . 101537)])
#@40 Like `file-symlink-p' for Tramp files.
(defalias 'tramp-handle-file-symlink-p #[(filename) "\306!\307	!\310	!\311	!\312	!\313	!\314!@\211;\2057\315!\2035\316\n\f$\2027.\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-attributes file-name-absolute-p tramp-make-tramp-file-name hop x] 6 (#$ . 102417)])
#@47 Like `find-backup-file-name' for Tramp files.
(defalias 'tramp-handle-find-backup-file-name #[(filename) "\306!\307	!\310	!\311	!\312	!\313	!\314\315!\205.\316J\203,\317\320\316J\"\202.\315J\314\321!\205C\322J\203A\317\323\322J\"\202C\321J
\324\325C\".\207" [filename v method user host localname tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop boundp backup-directory-alist tramp-backup-directory-alist mapcar #[(x) "@A;\203 \304A!\203 \305A!\204 \306	\nA$\202\"AB\207" [x method user host file-name-absolute-p tramp-file-name-p tramp-make-tramp-file-name] 6] bkup-backup-directory-info tramp-bkup-backup-directory-info #[(x) "@CA@;\203%\304A@!\203%\305A@!\204%\306	\nA@$\202(A@C\244AA\244\207" [x method user host file-name-absolute-p tramp-file-name-p tramp-make-tramp-file-name] 6] tramp-run-real-handler find-backup-file-name hop] 4 (#$ . 102882)])
#@42 Like `insert-directory' for Tramp files.
(defalias 'tramp-handle-insert-directory #[(filename switches &optional wildcard full-directory-p) "\204\306\307	!G\310U\203\n\204\311P\312\313	!!\314!\315!\316!@\317!A\320!B\310\321\322\323	\"CCDEF\3241\343EGX\205\337\325 H\326\216I\203\215E\327X\203\215\330\331E\310U\203o\306\202\206E\332U\203z\306\202\206E\333U\203\205\334\202\206\335DPC#\210G\336Y\205\336\337F!\203\247\310G\340F\341\342#F)E\332U\203\310\310Gr\343F!q\210D\344PD\345C\346 C\"C*\347F!\205\336\330\350F\322\351E\"DPC$*0\202\345\210\342,\210\352I\205 \310G\327^X\205 \3531\354\355!\204\356\355!\205\f\355\322\323	\"!\211J\205\357\327\360\361J$)0\202 \210\342KL\362\216\363\364!\210\342\211MN\365\366	O\nF\"\210\367\370\"?\205}\212eb\210\371`\372 \373\374$\211M\205|M\375M\372 \373\374$\206b\372 |\210\376 \372 U\203v`\342y\210`|\210\202F\342y\210\202F)*\377L.	\207" [switches filename full-directory-p v method user #4="" file-name-nondirectory 0 "F" tramp-dissect-file-name expand-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop "%s..." format #1="Opening directory %s" #2=(error) match-data #3=#[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 1 2 #5="Warning: " #6="Tramp: " 4 processp tramp-get-connection-property #7="vector" nil tramp-get-connection-buffer #8="\n%s" append buffer-string vectorp tramp-debug-message #9="(%d) # " "failed" (error) subrp make-progress-reporter functionp run-at-time 0.1 tramp-progress-reporter-update #[nil "\203\306\307!\204\310\307!\203\307!\210	\311\312\313\314\n\"D$%\3151\272$&X\205\266\316 '\317\216(\203j$\320X\203j\321\322$\311U\203N\323\202e$\324U\203Y\323\202e$\325U\203d\326\202e\327
P\f#\210&\330Y\205\265\331%!\203\204\311&\332%\333\334#%)$\324U\203\241\311&r\335%!q\210
\336P\337\f\340 C\"*\341%!\205\265\321\342%\313\343$\"
P\f$*0\202\274\210\334,\207" [tm v filename cookie arguments fmt-string subrp cancel-timer functionp 0 "%s...%s" format #1# #2# match-data #3# 3 apply message #4# 1 2 #5# #6# 4 processp tramp-get-connection-property #7# nil tramp-get-connection-buffer #8# append buffer-string vectorp tramp-debug-message #9# level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message] 6] require ls-lisp tramp-run-real-handler insert-directory string-match "l" text-property-not-all point-at-eol dired-filename t text-property-any point-at-bol "done" host localname hop arguments fmt-string level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message pr tm cookie start ls-lisp-use-insert-directory-program wildcard] 7 (#$ . 103871)])
#@46 Like `insert-file-contents' for Tramp files.
(defalias 'tramp-handle-insert-file-contents #[(filename &optional visit beg end replace) "\306 \210\307!\310\211\211\311!\312\f!\313\f!@\314\f!A\315\f!B\316\f!C\317\216\320!\204(\f\321\322CDE<F\310GF\211F\203F\323\324\325\326\327!!H\330\216HH\331 \210)rHq\210\332 +CDEIF\3331IJX\205\n\334 K\335\216G\203\270I\336X\203\270\337\340I\341U\203\232\342\202\261I\343U\203\245\342\202\261I\344U\203\260\345\202\261\346EPD#\210J\347Y\205	\350F!\203\322\341J\351F\352\310#F)I\343U\203\363\341Jr\353F!q\210E\324PE\354D\332 C\"D*\355F!\205	\337\356F\357\360I\"EPD$*0\202\210\310,\202QJ\323Y\205QLMr\325\361!q\210p\362 \210ML\310\211NO\363\211P\363QR\364 \210\365\366!\210+\211SH\331 \367S!\210+)\210F\203F\343\370\371<\211\372N\337\373ED#E!CDEIF\3331IJX\205\334 K\335\216G\203\275I\336X\203\275\337\340I\341U\203\237\342\202\266I\343U\203\252\342\202\266I\344U\203\265\345\202\266\346EPD#\210J\347Y\205\350F!\203\327\341J\351F\352\310#F)I\343U\203\370\341Jr\353F!q\210E\324PE\354D\332 C\"D*\355F!\205\337\356F\357\360I\"EPD$*0\202\210\310,\210\374<\337\373ED#C\"-\210\202\225\f\336\375\373\376\"CDEIF\3331\327IJX\205\323\334 K\335\216G\203\201I\336X\203\201\337\340I\341U\203c\342\202zI\343U\203n\342\202zI\344U\203y\345\202z\346EPD#\210J\347Y\205\322\350F!\203\233\341J\351F\352\310#F)I\343U\203\274\341Jr\353F!q\210E\324PE\354D\332 C\"D*\355F!\205\322\337\356F\357\360I\"EPD$*0\202\331\210\310,\210\377G\205&\336J\336^X\205&\201`1$\201a\201b!\204\201c\201b!\205\f\201b\373\376\"!\211T\205\201d\336\201e\201fT$)0\202&\210\310UV\201g\216\201h1d\201i\f!\203a\310W\201jB!)\203a\201k\201lBXYZ[\257\"\211\202`Y\204kZ\203\350\201m\f\201n\"\203\350\201o\f!\201a\201p!\204\220\201c\201p!\203\337\201p\fY\203\264Z\203\264\357\201qY\201rB!ZYZ	%\202\335Y\203\312\357\201sY\201rB!	$\202\335Z\205\335\357\201tZ\201rB!	$\"\210\310\211\\Y\310Z]\201l=\205\364\201u]	;\203\f\201u\201v
@A	$!\202'\\;\203\"\201w\\\201x#\210\\\202'\201u!)\201y\n\201z\201{!\"\210	\204H\201m\f\201|\"\203H\n\\\201}\n\"^\201l\nXYZ[%\211)0\202\216_\201~\201\201\200\310\374\201\201_@D\201\201_ADEE\310\363$\210\374_@_A\")\210\201\202V+)\307!A@.	D\207" [filename remote-copy local-copy result v method barf-if-buffer-read-only expand-file-name nil tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop #[nil "\203	\306	!?\307 \210\310\311!\210\f;\203$
\204 \f\204$\312\f!\210
;\2054\312\313

$!\207" [visit filename buffer-file-name buffer-read-only local-copy remote-copy file-writable-p set-visited-file-modtime set-buffer-modified-p nil delete-file tramp-make-tramp-file-name tramp-temp-buffer-file-name method user host] 6] file-exists-p file-error "File `%s' not found on remote host" 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string #4=(error) match-data #5=#[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 #6="" 1 2 #7="Warning: " #8="Tramp: " 4 processp tramp-get-connection-property #9="vector" tramp-get-connection-buffer append vectorp tramp-debug-message format #10="(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal "%s..." #3="Inserting `%s'" "failed" user host localname hop arguments fmt-string vec-or-proc tramp-message-show-message standard-output level tramp-verbose save-match-data-internal default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf pr tm cookie file-name-handler-alist visit beg end replace tramp-temp-buffer-file-name inhibit-file-name-operation file-coding-system-alist err (error) subrp make-progress-reporter functionp run-at-time 0.1 tramp-progress-reporter-update #[nil "\203\306\307!\204\310\307!\203\307!\210	\311\312\313\314\n\"D%&\3151\272%'X\205\266\316 (\317\216)\203j%\311X\203j\320\321%\322U\203N\323\202e%\324U\203Y\323\202e%\325U\203d\326\202e\327
P\f#\210'\330Y\205\265\331&!\203\204\322'\332&\333\334#&)%\324U\203\241\322'r\335&!q\210
\336P\337\f\340 C\"*\341&!\205\265\320\342&\343\344%\"
P\f$*0\202\274\210\334,\207" [tm v filename cookie arguments fmt-string subrp cancel-timer functionp 3 "%s...%s" format-message #3# #4# match-data #5# apply message 0 #6# 1 2 #7# #8# 4 processp tramp-get-connection-property #9# nil tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message format #10# level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message] 6] (error) tramp-local-host-p file-readable-p tramp-run-real-handler insert-file-contents tramp-get-method-parameter tramp-login-program tramp-make-tramp-temp-file tramp-send-command "dd bs=1 skip=%d if=%s count=%d of=%s" tramp-shell-quote-argument "dd bs=1 skip=%d if=%s of=%s" "dd bs=1 count=%d if=%s of=%s" file-local-copy tramp-make-tramp-file-name copy-file ok set-file-modes tramp-compat-octal-to-decimal "0600" tramp-copy-keep-tmpfile tramp-find-file-name-coding-system-alist add-hook find-file-not-found-functions lambda quote "done"] 11 (#$ . 106697)])
#@30 Like `load' for Tramp files.
(defalias 'tramp-handle-load #[(file &optional noerror nomessage nosuffix must-suffix) "\306\307!!\310	!\311	!\312	!\313	!\314	!@A\204;\315\316P!\203/\316P\202;\315\317P!\203;\317PB\203A\320!\204A\321\322\"\204A	\323\324CCD?E\325FE\211E\2030E\326\327\330\331\332!!G\333\216GG\334 \210)rGq\210\335 +CCDHE\3361*HIX\205&\337 J\340\216F\203\324H\341X\203\324\342\343H\344U\203\266\345\202\315H\346U\203\301\345\202\315H\347U\203\314\350\202\315\351DPC#\210I\352Y\205%\353E!\203\356\344I\354E\355\325#E)H\346U\203\344Ir\356E!q\210D\327PD\357C\335 C\"C*\360E!\205%\342\361E\362\363H\"DPC$*0\202,\210\325,\202mI\326Y\205mKLr\330\364!q\210p\365 \210LK\325\211MN\366\211O\366PQ\367 \210\370\371!\210+\211RG\334 \372R!\210+)\210E\2033E\346\373\374?\211\375N\342\376DC#E!CCDHE\3361/HIX\205+\337 J\340\216F\203\331H\341X\203\331\342\343H\344U\203\273\345\202\322H\346U\203\306\345\202\322H\347U\203\321\350\202\322\351DPC#\210I\352Y\205*\353E!\203\363\344I\354E\355\325#E)H\346U\203\344Ir\356E!q\210D\327PD\357C\335 C\"C*\360E!\205*\342\361E\362\363H\"DPC$*0\2021\210\325,\210\377?\342\376DC#C\"-\210S\204B\315!\204B	\323\201YCCD?E\325FE\211E\2031E\326\327\330\331\332!!G\333\216GG\334 \210)rGq\210\335 +CCDHE\3361+HIX\205'\337 J\340\216F\203\325H\341X\203\325\342\343H\344U\203\267\345\202\316H\346U\203\302\345\202\316H\347U\203\315\350\202\316\351DPC#\210I\352Y\205&\353E!\203\357\344I\354E\355\325#E)H\346U\203\344Ir\356E!q\210D\327PD\357C\335 C\"C*\360E!\205&\342\361E\362\363H\"DPC$*0\202-\210\325,\202nI\326Y\205nKLr\330\364!q\210p\365 \210LK\325\211MN\366\211O\366PQ\367 \210\370\371!\210+\211RG\334 \372R!\210+)\210E\2034E\346\373\374?\211\375N\342\376DC#E!CCDHE\33610HIX\205,\337 J\340\216F\203\332H\341X\203\332\342\343H\344U\203\274\345\202\323H\346U\203\307\345\202\323H\347U\203\322\350\202\323\351DPC#\210I\352Y\205+\353E!\203\364\344I\354E\355\325#E)H\346U\203\344Ir\356E!q\210D\327PD\357C\335 C\"C*\360E!\205+\342\361E\362\363H\"DPC$*0\2022\210\325,\210\377?\342\376DC#C\"-\210\315!\205|T?F	\344\201Z\362\201[\"CCDHE\3361HIX\205\374\337 J\340\216F\203\252H\341X\203\252\342\343H\344U\203\214\345\202\243H\346U\203\227\345\202\243H\347U\203\242\350\202\243\351DPC#\210I\352Y\205\373\353E!\203\304\344I\354E\355\325#E)H\346U\203\345\344Ir\356E!q\210D\327PD\357C\335 C\"C*\360E!\205\373\342\361E\362\363H\"DPC$*0\202\210\325,\210\201\\F\205S\344I\341^X\205S\201]1Q\201^\201_!\204/\201`\201_!\2059\201_\362\201[\"!\211U\205L\201a\341\201b\201cU$)0\202S\210\325VW\201d\216\201e!X\201f\216\201gXS\366AB%\210*\201hW,\366.\207" [file v method user host localname tramp-dissect-file-name expand-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-exists-p ".elc" ".el" file-name-directory string-match "\\.elc?\\'" file-error "File `%s' does not include a `.el' or `.elc' suffix" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string #4=(error) match-data #5=#[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 #6="" 1 2 #7="Warning: " #8="Tramp: " 4 processp tramp-get-connection-property #9="vector" tramp-get-connection-buffer append vectorp tramp-debug-message format #10="(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal hop nosuffix must-suffix arguments fmt-string vec-or-proc tramp-message-show-message standard-output level tramp-verbose save-match-data-internal default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf noerror nomessage pr tm cookie local-copy "Cannot load nonexistent file `%s'" "%s..." #3="Loading %s" "failed" (error) subrp make-progress-reporter functionp run-at-time 0.1 tramp-progress-reporter-update #[nil "\203\306\307!\204\310\307!\203\307!\210	\311\312\313\314\n\"D$%\3151\272$&X\205\266\316 '\317\216(\203j$\320X\203j\321\322$\311U\203N\323\202e$\324U\203Y\323\202e$\325U\203d\326\202e\327
P\f#\210&\330Y\205\265\331%!\203\204\311&\332%\333\334#%)$\324U\203\241\311&r\335%!q\210
\336P\337\f\340 C\"*\341%!\205\265\321\342%\313\343$\"
P\f$*0\202\274\210\334,\207" [tm v file cookie arguments fmt-string subrp cancel-timer functionp 0 "%s...%s" format #3# #4# match-data #5# 3 apply message #6# 1 2 #7# #8# 4 processp tramp-get-connection-property #9# nil tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message #10# level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message] 6] file-local-copy #[nil "\301!\207" [local-copy delete-file] 2] tramp-compat-load "done"] 11 (#$ . 112374)])
#@44 Like `make-symbolic-link' for Tramp files.
(defalias 'tramp-handle-make-symbolic-link #[(filename linkname &optional _ok-if-already-exists) "\306\307!\203\202\f	!\310\n!\311\n!\312\n!\313\n!:\314\n!;\n\315\316\317<=9>\317?>\211>\203>\320\321\322\323\324!!@\325\216@@\326 \210)r@q\210\327 +C<=A>\3301ABX\205\374\331 C\332\216?\203\252A\333X\203\252\334\335A\336U\203\214\337\202\243A\340U\203\227\337\202\243A\341U\203\242\342\202\243\343=P<#\210B\344Y\205\373\345>!\203\304\336B\346>\347\317#>)A\340U\203\345\336Br\350>!q\210=\321P=\351<\327 C\"<*\352>!\205\373\334\353>\354\355A\"=P<$*0\202\210\317,\202CB\320Y\205CDEr\322\356!q\210p\357 \210ED\317\211FG\360\211H\360IJ\361 \210\362\363!\210+\211K@\326 \364K!\210+)\210>\203	>\340\365\3669\211\367N\334\370=<#E!C<=A>\3301ABX\205\331 C\332\216?\203\257A\333X\203\257\334\335A\336U\203\221\337\202\250A\340U\203\234\337\202\250A\341U\203\247\342\202\250\343=P<#\210B\344Y\205\345>!\203\311\336B\346>\347\317#>)A\340U\203\352\336Br\350>!q\210=\321P=\351<\327 C\"<*\352>!\205\334\353>\354\355A\"=P<$*0\202\210\317,\210\3719\334\370=<#C\".\207" [filename linkname v method user host tramp-dissect-file-name tramp-tramp-file-p tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-error "make-symbolic-link not supported" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer append vectorp tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal localname hop arguments fmt-string vec-or-proc tramp-message-show-message standard-output level tramp-verbose save-match-data-internal default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf] 10 (#$ . 117657)])
#@39 Like `shell-command' for Tramp files.
(defalias 'tramp-handle-shell-command #[(command &optional output-buffer error-buffer) "\306\307\"\310\311\312\n!\313\"\311\312\n!\314\"B\315	OC\"\316\317
!\203&
\202F
;\2031\320
!\202F
\203;\321p\202F\320	\203D\322\202E\323!\317;!\203S;\202];;\205]\320;!;	\204\226;\203\226\312\n!<\324<!=\325<!>\326<!?\327<!@\330<!A
\331<!.D\202\227
B\332
!\211C\203\332\333\334!\203\274\3351\264\336C!0\202\270\210\202\332\210\202\332C\337\316DE\340\341E\342\343!\203\323\343\202\324\344D%+\210\f\203\351\345 \210\346\316\321\"\210\202\364r
q\210\316F\347 \210)\f\204&	\250\203&\340\350\351B$\211Cr
q\210\352
\353\"\210\354G\355 \210\356C\357\"\210\360C\361\"\210)\202\206\340\362@\316B\316A&B<\203Lr;q\210\363BA@!\210)\364BA@!\210\f\203^\365\321!\366 `p\223\210b\210\202\206r
q\210deV)\203\206\367\370!\203\202\371\370!\204{\367\370!\203\206\370
!\210\202\206\372
!\210.\207" [command asynchronous default-directory args current-buffer-p output-buffer string-match "[ 	]*&[ 	]*\\'" append tramp-get-method-parameter tramp-dissect-file-name tramp-remote-shell tramp-remote-shell-args 0 nil bufferp get-buffer-create t "*Async Shell Command*" "*Shell Command Output*" tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop tramp-make-tramp-temp-file get-buffer-process yes-or-no-p "A command is running.  Kill it? " (error) kill-process "Shell command in progress" apply tramp-error fboundp user-error error barf-if-buffer-read-only push-mark erase-buffer start-file-process "*Async Shell*" display-buffer (nil (allow-no-window . t)) (":%s") shell-mode set-process-sentinel shell-command-sentinel set-process-filter comint-output-filter process-file insert-file-contents delete-file mark mark-marker functionp display-message-or-buffer subrp pop-to-buffer error-buffer v method user host localname hop buffer p format vec-or-proc buffer-read-only mode-line-process] 8 (#$ . 120043)])
#@107 Like `substitute-in-file-name' for Tramp files.
"//" and "/~" substitute only in the local filename part.
(defalias 'tramp-handle-substitute-in-file-name #[(filename) "\306!\307!\310	!\311	!\312	!\313	!\314	!
;\203?\315\316
\"\203?\317!\320\321\322\211
$P\315\323\"\203?\324P\322\325\326C\".\207" [filename v method user host localname tramp-replace-environment-variables tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop string-match ".+?/\\(/\\|~\\)" file-remote-p replace-match "\\1" nil "~$" "/" tramp-run-real-handler substitute-in-file-name hop process-environment] 6 (#$ . 122100)])
#@55 Like `unhandled-file-name-directory' for Tramp files.
(defalias 'tramp-handle-unhandled-file-name-directory #[(_filename) "\301W\205\302\207" [emacs-major-version 23 "/"] 2 (#$ . 122803)])
#@50 Like `set-visited-file-modtime' for Tramp files.
(defalias 'tramp-handle-set-visited-file-modtime #[(&optional time-list) "\302 \204\303\304\305 \"\210\204\306\307\310\302 !8\206\311)\312\232?\205)\313\314C\"\207" [time-list remote-file-name-inhibit-cache buffer-file-name error "Can't set-visited-file-modtime: buffer `%s' not visiting a file" buffer-name t 5 file-attributes (-1 65535) (0 0) tramp-run-real-handler set-visited-file-modtime] 3 (#$ . 123001)])
#@305 Like `verify-visited-file-modtime' for Tramp files.
At the time `verify-visited-file-modtime' calls this function, we
already know that the buffer is visiting a file and that
`visited-file-modtime' does not return 0.  Do not call this
function directly, unless those two cases are already taken care
of.
(defalias 'tramp-handle-verify-visited-file-modtime #[(&optional buf) "r\206pq\210\306 \211\203\307 \310=\204\311\312	\313\314$\204#\315\202\210\316	!\317\n!\320\n!\321\n!\322\n!\323\n!\315\324	!\3258\307  \203y\326\232\204y\327\330 A:\204p @ AD\202r \"!\331W\202\206\203\202\315\202\206 \332\232.\n*\207" [buf f v method user host buffer-file-name visited-file-modtime 0 tramp-file-name-handler file-remote-p nil connected t tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-attributes 5 (0 0) abs tramp-time-diff 2 (-1 65535) localname hop remote-file-name-inhibit-cache attr modtime mt] 6 (#$ . 123481)])
#@47 Like `file-notify-add-watch' for Tramp files.
(defalias 'tramp-handle-file-notify-add-watch #[(filename _flags _callback) "\306!\307!\310	!\311	!\312	!\313	!\314	!:	\315\316C;<9=\317>=\211=\203=\320\321\322\323\324!!?\325\216??\326 \210)r?q\210\327 +C;<@=\3301\372@AX\205\366\331 B\332\216>\203\244@\333X\203\244\334\335@\336U\203\206\337\202\235@\340U\203\221\337\202\235@\341U\203\234\342\202\235\343<P;#\210A\344Y\205\365\345=!\203\276\336A\346=\347\317#=)@\340U\203\337\336Ar\350=!q\210<\321P<\351;\327 C\";*\352=!\205\365\334\353=\354\355@\"<P;$*0\202\374\210\317,\202=A\320Y\205=CDr\322\356!q\210p\357 \210DC\317\211EF\360\211G\360HI\361 \210\362\363!\210+\211J?\326 \364J!\210+)\210=\203=\340\365\3669\211\367N\334\370<;#E!C;<@=\3301\377@AX\205\373\331 B\332\216>\203\251@\333X\203\251\334\335@\336U\203\213\337\202\242@\340U\203\226\337\202\242@\341U\203\241\342\202\242\343<P;#\210A\344Y\205\372\345=!\203\303\336A\346=\347\317#=)@\340U\203\344\336Ar\350=!q\210<\321P<\351;\327 C\";*\352=!\205\372\334\353=\354\355@\"<P;$*0\202\210\317,\210\3719\334\370<;#C\".\207" [filename v method user host localname expand-file-name tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop file-notify-error "File notification not supported for `%s'" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer append vectorp tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message signal hop arguments fmt-string vec-or-proc tramp-message-show-message standard-output level tramp-verbose save-match-data-internal default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf] 10 (#$ . 124536)])
#@46 Like `file-notify-rm-watch' for Tramp files.
(defalias 'tramp-handle-file-notify-rm-watch #[(proc) "\306!\204\306\307\310C\311\f\211\203\317\f\312\313\314\315\316!!5\317\21655\320 \210)r5q\210\321 +C6\3221\31167X\205\305\323 8\324\216
\2036\325X\203\326\3276\330U\203c\331\202z6\332U\203n\331\202z6\333U\203y\334\202z\335\nP	#\2107\336Y\205\304\306\f!\203\226\3307\337\f\340\311#)6\332U\203\262\3307r\341\f!q\210\n\313P\342	\321 C\"*\343\f!\205\304\326\344\f\345\3466\"\nP	$*0\202\313\210\311,\202\f7\312Y\205\f9:r\314\347!q\210p\350 \210:9\311\211;<\351\211=\351>?\352 \210\353\354!\210+\211@5\320 \355@!\210+)\210\f\203\273\f\332\356\357\211\360N\326\361\n	#E!C6\3221\26767X\205\263\323 8\324\216
\203m6\325X\203m\326\3276\330U\203Q\331\202h6\332U\203\\\331\202h6\333U\203g\334\202h\335\nP	#\2107\336Y\205\262\306\f!\203\204\3307\337\f\340\311#)6\332U\203\240\3307r\341\f!q\210\n\313P\342	\321 C\"*\343\f!\205\262\326\344\f\345\3466\"\nP	$*0\202\271\210\311,\210\303\326\361\n	#C\"-\210\362\363C6\3221`67X\205\\\323 8\324\216
\2036\325X\203\326\3276\330U\203\372\331\2026\332U\203\331\2026\333U\203\334\202\335\nP	#\2107\336Y\205[\306\f!\203-\3307\337\f\340\311#)6\332U\203I\3307r\341\f!q\210\n\313P\342	\321 C\"*\343\f!\205[\326\344\f\345\3466\"\nP	$*0\202b\210\311,\210\364!\207" [proc arguments fmt-string signal vec-or-proc tramp-message-show-message processp file-notify-error "Not a valid descriptor %S" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 tramp-get-connection-property "vector" tramp-get-connection-buffer append vectorp tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message 6 "Kill %S" delete-process standard-output level tramp-verbose save-match-data-internal default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf] 10 (#$ . 126904)])
#@45 Like `file-notify-valid-p' for Tramp files.
(defalias 'tramp-handle-file-notify-valid-p #[(proc) "\205#\302!\205#\303!\304>\205#r\305!q\210\306\307	!\310\311\"P!)\207" [proc default-directory processp process-status (run open) process-buffer file-exists-p file-remote-p tramp-compat-process-get watch-name] 5 (#$ . 129308)])
#@22 Send the login name.
(defalias 'tramp-action-login #[(_proc vec) ";\204.\306	\307\310#\211\310=\203+\311 \312\216\313\314\315	!!\210\316\317\320!!+\321	\307\n#\210\n)r\315	!q\210	\322\323\324 C+,-\3251\334,.X\205\330\326 /\327\2160\203\211,\330X\203\211\331\332,\320U\203l\333\202\203,\334U\203w\333\202\203,\335U\203\202\336\202\203\337+P
#\210.\340Y\205\327\341-!\203\243\320.\306-\342\343#-),\334U\203\302\320.r\315-!q\210+\323P+\344
\324 C\"*\345-!\205\327\331\346-\347\350,\"+P
$*0\202\336\210\343,\210)	\330\351C+,-\3251\210,.X\205\204\326 /\327\2160\2035,\330X\2035\331\332,\320U\203\333\202/,\334U\203#\333\202/,\335U\203.\336\202/\337+P
#\210.\340Y\205\203\341-!\203O\320.\306-\342\343#-),\334U\203n\320.r\315-!q\210+\323P+\344
\324 C\"*\345-!\205\203\331\346-\347\350,\"+P
$*0\202\212\210\343,\210\352	1P\"\207" [tramp-current-user vec value #1=#:wconfig enable-recursive-minibuffers arguments tramp-get-connection-property "login-as" undef current-window-configuration #[nil "\301!\207" [#1# set-window-configuration] 2] t pop-to-buffer tramp-get-connection-buffer read-string match-string 0 tramp-set-connection-property 6 "\n%s" buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp "vector" nil append vectorp tramp-debug-message format "(%d) # " "Sending login name `%s'" tramp-send-string fmt-string level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message tramp-local-end-of-line] 7 (#$ . 129647)])
#@32 Query the user for a password.
(defalias 'tramp-action-password #[(proc vec) "r\306!q\210\307\211\310\311\312#\204\313!\210eb\210\314\f\"\210\315\316\317\320!C()*\3211\307)+X\205\303\322 ,\323\216-\203t)\315X\203t\324\325)\326U\203W\327\202n)\320U\203b\327\202n)\330U\203m\331\202n\332(P
#\210+\333Y\205\302\334*!\203\216\326+\310*\335\312#*))\320U\203\255\326+r\336*!q\210(\337P(\340
\341 C\"*\342*!\205\302\324\343*\344\345)\"(P
$*0\202\311\210\312,\210\346\347!.P\"\210dd}+\207" [proc case-fold-search enable-recursive-minibuffers vec tramp-password-prompt-regexp arguments process-buffer t tramp-get-connection-property "first-password-request" nil tramp-clear-passwd tramp-check-for-regexp 3 "Sending %s" match-string 1 (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] apply message 0 "" 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message format "(%d) # " process-send-string tramp-read-passwd fmt-string level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message tramp-local-end-of-line] 6 (#$ . 131309)])
#@41 Signal success in finding shell prompt.
(defalias 'tramp-action-succeed #[(_proc _vec) "\300\301\302\"\207" [throw tramp-action ok] 3 (#$ . 132533)])
#@27 Signal permission denied.
(defalias 'tramp-action-permission-denied #[(proc _vec) "\301!\210\302\303\304\"\207" [proc kill-process throw tramp-action permission-denied] 3 (#$ . 132689)])
#@143 Ask the user for confirmation using `yes-or-no-p'.
Send "yes" to remote process on confirmation, abort otherwise.
See also `tramp-action-yn'.
(defalias 'tramp-action-yesno #[(proc vec) "\306 \307\216\310\311 \312\216\313\314!!\210*\315\316\317!!\204$\320\f!\210\321\322\323\"\210r\314!q\210\324\325\326 C-./\3271\321.0X\205\315\311 \330\2161\203~.\331X\203~\332\333.\317U\203a\334\202x.\335U\203l\334\202x.\336U\203w\337\202x\340-P
#\2100\341Y\205\314\342/!\203\230\3170\343/\344\345#/).\335U\203\267\3170r\314/!q\210-\325P-\346
\326 C\"*\347/!\205\314\332\350/\351\352.\"-P
$*0\202\323\210\345,\210)\353\3542P\"+\207" [#1=#:wconfig enable-recursive-minibuffers save-match-data-internal vec proc arguments current-window-configuration #[nil "\301!\207" [#1# set-window-configuration] 2] t match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] pop-to-buffer tramp-get-connection-buffer yes-or-no-p match-string 0 kill-process throw tramp-action permission-denied 6 "\n%s" buffer-string (error) #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil append vectorp tramp-debug-message format "(%d) # " tramp-send-string "yes" fmt-string level vec-or-proc tramp-verbose tramp-message-show-message tramp-local-end-of-line] 6 (#$ . 132884)])
#@141 Ask the user for confirmation using `y-or-n-p'.
Send "y" to remote process on confirmation, abort otherwise.
See also `tramp-action-yesno'.
(defalias 'tramp-action-yn #[(proc vec) "\306 \307\216\310\311 \312\216\313\314!!\210*\315\316\317!!\204$\320\f!\210\321\322\323\"\210r\314!q\210\324\325\326 C-./\3271\321.0X\205\315\311 \330\2161\203~.\331X\203~\332\333.\317U\203a\334\202x.\335U\203l\334\202x.\336U\203w\337\202x\340-P
#\2100\341Y\205\314\342/!\203\230\3170\343/\344\345#/).\335U\203\267\3170r\314/!q\210-\325P-\346
\326 C\"*\347/!\205\314\332\350/\351\352.\"-P
$*0\202\323\210\345,\210)\353\3542P\"+\207" [#1=#:wconfig enable-recursive-minibuffers save-match-data-internal vec proc arguments current-window-configuration #[nil "\301!\207" [#1# set-window-configuration] 2] t match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] pop-to-buffer tramp-get-connection-buffer y-or-n-p match-string 0 kill-process throw tramp-action permission-denied 6 "\n%s" buffer-string (error) #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil append vectorp tramp-debug-message format "(%d) # " tramp-send-string "y" fmt-string level vec-or-proc tramp-verbose tramp-message-show-message tramp-local-end-of-line] 6 (#$ . 134340)])
#@114 Tell the remote host which terminal type to use.
The terminal type can be configured with `tramp-terminal-type'.
(defalias 'tramp-action-terminal #[(_proc vec) "\306\307	C\3101\223\f#X\205\217\311 $\312\216%\203K\f\313X\203K\314\315\f\316U\2031\317\202F\f\320U\203;\317\202F\f\321U\203E\322\202F\323P\n#\210#\324Y\205\216\325
!\203b\316#\326
\327\330#)\f\320U\203}\316#r\331
!q\210\332P\333\n\334 C\"*\335
!\205\216\314\336
\337\340\f\"P\n$*0\202\225\210\330,\210r\331!q\210\341\332\334 C\31011\f#X\205-\311 $\312\216%\203\351\f\313X\203\351\314\315\f\316U\203\317\317\202\344\f\320U\203\331\317\202\344\f\321U\203\343\322\202\344\323P\n#\210#\324Y\205,\325
!\203\316#\326
\327\330#)\f\320U\203\316#r\331
!q\210\332P\333\n\334 C\"*\335
!\205,\314\336
\337\340\f\"P\n$*0\2023\210\330,\210)\342	&P\"\207" [vec tramp-terminal-type arguments fmt-string level vec-or-proc 5 "Setting `%s' as terminal type." (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" nil tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message format "(%d) # " 6 tramp-send-string tramp-verbose save-match-data-internal tramp-message-show-message tramp-local-end-of-line] 6 (#$ . 135786)])
#@40 Check, whether a process has finished.
(defalias 'tramp-action-process-alive #[(proc _vec) "\301!\302>?\205
\303\304\305\"\207" [proc process-status (run open) throw tramp-action process-died] 3 (#$ . 137192)])
#@50 Check, whether an out-of-band copy has finished.
(defalias 'tramp-action-out-of-band #[(proc vec) "\306\307\"\210\310!\311>\203\260\312!\313U\203\260	\314\315\316\3171\247\f1X\205\243\320 2\321\2163\203_\f\314X\203_\322\323\f\313U\203E\324\202Z\f\325U\203O\324\202Z\f\326U\203Y\327\202Z\330P\n#\2101\331Y\205\242\332
!\203v\3131\333
\334\316#)\f\325U\203\221\3131r\335
!q\210\336P\337\n\340 C\"*\341
!\205\242\322\342
\343\344\f\"P\n$*0\202\251\210\316,\210\345\346\347\"\207\310!\350>\203\300\312!\313U\203\310\310!\351>\203\251r\352!q\210eb\210\3534\316\354#\203
	\355\356\316\3171l\f1X\205h\320 2\321\2163\203$\f\314X\203$\322\323\f\313U\203\n\324\202\f\325U\203\324\202\f\326U\203\327\202\330P\n#\2101\331Y\205g\332
!\203;\3131\333
\334\316#)\f\325U\203V\3131r\335
!q\210\336P\337\n\340 C\"*\341
!\205g\322\342
\343\344\f\"P\n$*0\202n\210\316,\210	\314\315\316\3171\f1X\205\376\320 2\321\2163\203\272\f\314X\203\272\322\323\f\313U\203\240\324\202\265\f\325U\203\252\324\202\265\f\326U\203\264\327\202\265\330P\n#\2101\331Y\205\375\332
!\203\321\3131\333
\334\316#)\f\325U\203\354\3131r\335
!q\210\336P\337\n\340 C\"*\341
!\205\375\322\342
\343\344\f\"P\n$*0\202\210\316,\210\345\346\347\"\202\247	\314\357\316\3171\237\f1X\205\233\320 2\321\2163\203W\f\314X\203W\322\323\f\313U\203=\324\202R\f\325U\203G\324\202R\f\326U\203Q\327\202R\330P\n#\2101\331Y\205\232\332
!\203n\3131\333
\334\316#)\f\325U\203\211\3131r\335
!q\210\336P\337\n\340 C\"*\341
!\205\232\322\342
\343\344\f\"P\n$*0\202\241\210\316,\210\345\346\360\")\207\316\207" [proc vec arguments fmt-string level vec-or-proc tramp-accept-process-output 0.1 process-status (stop exit) process-exit-status 0 3 "Process has finished." nil (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] apply message "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message format "(%d) # " throw tramp-action ok (stop exit) (signal) process-buffer re-search-forward t 5 "'set mode' error ignored." "Process has died." process-died tramp-verbose save-match-data-internal tramp-message-show-message tramp-operation-not-permitted-regexp] 6 (#$ . 137411)])
#@56 Wait for output from the shell and perform one action.
(defalias 'tramp-process-one-action #[(proc vec actions) "\306\307\211\211\211\211\f\204\244\310'\311\"\210(\203\f\211A\242\312\313\n@J\"\nA@)\314\315	C*+,-\3161\333,.X\205\327\317 /\320\2160\203\205,\321X\203\205\322\323,\324U\203g\325\202~,\311U\203r\325\202~,\326U\203}\327\202~\330+P*#\210.\331Y\205\326\332-!\203\237\324.\333-\334\307#-),\311U\203\300\324.r\335-!q\210+\336P+\337*\340 C\"**\341-!\205\326\322\342-\312\343,\"+P*$*0\202\335\210\307,\210\344'	\"\203)\314\345\346!C*+,-\3161\226,.X\205\222\317 /\320\2160\203@,\321X\203@\322\323,\324U\203\"\325\2029,\311U\203-\325\2029,\326U\2038\327\2029\330+P*#\210.\331Y\205\221\332-!\203Z\324.\333-\334\307#-),\311U\203{\324.r\335-!q\210+\336P+\337*\340 C\"**\341-!\205\221\322\342-\312\343,\"+P*$*0\202\230\210\307,\210')\"\202\f.\207" [action pattern item todo found case-fold-search t nil tramp-accept-process-output 1 format "\\(%s\\)\\'" 5 "Looking for regexp \"%s\" from remote shell" (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message "(%d) # " tramp-check-for-regexp "Call `%s'" symbol-name proc actions vec arguments fmt-string level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message] 6 (#$ . 139815)])
#@189 Perform ACTIONS until success or TIMEOUT.
PROC and VEC indicate the remote connection to be used.  POS, if
set, is the starting point of the region to be deleted in the
connection buffer.
(defalias 'tramp-process-actions #[(proc vec pos actions &optional timeout) "\306\307\310	\n\311$!\312\313#\210\214\314\315\316C@A\3171\260@BX\205\254\320 C\321\216D\203`@\314X\203`\322\323@\324U\203D\311\202[@\325U\203O\311\202[@\326U\203Z\327\202[\330
P\f#\210B\331Y\205\253\332A!\203z\324B\333A\334\335#A)@\325U\203\227\324Br\336A!q\210
\337P\340\f\341 C\"*\342A!\205\253\322\343A\344\345@\"
P\f$*0\202\262\210\335,\210\346D\205\352\314B\314^X\205\352\3471\350\350\351!\204\323\352\351!\205\326\351\316!\211E\205\343\353\314\354\355E$)0\202\352\210\335FG\356\216\335H5\2035\3572&\3605\335\361#\211IJBJ\362\216H?\205$\3632\364KL#0\211H\202+0\211M\357=\2031\365H)\202LH\204L\3632F\364KL#0\211H\203:r\336K!q\210~\210K\366\337\341 C@A\3171\371@BX\205\365\320 C\321\216D\203\251@\314X\203\251\322\323@\324U\203\215\311\202\244@\325U\203\230\311\202\244@\326U\203\243\327\202\244\330
P\f#\210B\331Y\205\364\332A!\203\303\324B\333A\334\335#A)@\325U\203\340\324Br\336A!q\210
\337P\340\f\341 C\"*\342A!\205\364\322\343A\344\345@\"
P\f$*0\202\373\210\335,\210)H\367=\204\262\370K!\210\371!\210\336K!K\372H\373=\203 \374\202EH\375=\203-\376\377!\202EH\365=\203B\201T\201U\336K!\"\202E\201V\335NAO\201W P\201X\216\201YO!\203fO\206\201\332A!\203v\201ZA!\206\201\342A!\205\201\336A!O\342A!\203\217A\206\236O\205\236rOq\210\307Q!)K\201[\216\322\201\\AN
\f%.\n\210)R\247\205\310r\336K!q\210\335SR`|*\201]G,\207" [tramp-current-method tramp-current-user tramp-current-host proc arguments fmt-string tramp-set-connection-property tramp-dissect-file-name tramp-make-tramp-file-name #4="" "first-password-request" t 3 "%s..." #1="Waiting for prompts from remote shell" #2=(error) match-data #3=#[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] apply message 0 1 2 #5="Warning: " #6="Tramp: " 4 processp tramp-get-connection-property #7="vector" nil tramp-get-connection-buffer #8="\n%s" append buffer-string vectorp tramp-debug-message format #9="(%d) # " "failed" (error) subrp make-progress-reporter functionp run-at-time 0.1 tramp-progress-reporter-update #[nil "\203\306\307!\204\310\307!\203\307!\210	\311\312\313\nD$\3141\257
%X\205\253\315 &\316\216'\203a
\311X\203a\317\320
\321U\203G\322\202\\
\323U\203Q\322\202\\
\324U\203[\325\202\\\326\fP#\210%\327Y\205\252\330$!\203{\321%\331$\332\333#$)
\323U\203\227\321%r\334$!q\210\f\335P\336\337 C\"*\340$!\205\252\317\341$\342\343
\"\fP$*0\202\261\210\333,\207" [tm proc cookie arguments fmt-string level subrp cancel-timer functionp 3 "%s...%s" #1# #2# match-data #3# apply message 0 #4# 1 2 #5# #6# 4 processp tramp-get-connection-property #7# nil tramp-get-connection-buffer #8# append buffer-string vectorp tramp-debug-message format #9# vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message] 6] #10=#:timeout run-with-timer #[nil "\300\301\211\"\207" [throw #10#] 3] #[nil "\301!\207" [-with-timeout-timer- cancel-timer] 2] tramp-action tramp-process-one-action timeout 6 ok tramp-clear-passwd delete-process file-error permission-denied "Permission denied" process-died substitute-command-keys "Tramp failed to connect.  If this happens repeatedly, try\n    `\\[tramp-cleanup-this-connection]'" level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message pr tm cookie exit -with-timeout-timer- with-timeout-timers vec actions -with-timeout-value- signal buf #11=#:wconfig default-directory pos buffer-read-only format-message "Timeout reached, see buffer `%s' for details" "Login failed" current-window-configuration #[nil "\301!\207" [#11# set-window-configuration] 2] bufferp process-buffer #[nil "\203,	\203,\n\306U\204,\307 \204,\310 \203,\311\312\313\f
#\210\314!\210\315 \210\316\317!\210)\320\321\322\"\323\"@\232\205@\324 \241\207" [buf tramp-message-show-message tramp-verbose enable-recursive-minibuffers fmt-string arguments 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 butlast append nil 2 current-time vec tramp-current-connection] 4] tramp-error "done"] 8 (#$ . 141421)])
#@155 Like `accept-process-output' for Tramp processes.
This is needed in order to hide `last-coding-system-used', which is set
for process communication also.
(defalias 'tramp-accept-process-output #[(&optional proc timeout timeout-msecs) "r\306!q\210\307\310\311#?\205\311\211\31228\313\f\206\314\311\315#\211*B*\316\216\317\f+\2055\320$+0\210\321\322\323!\324 F,-./\3251\353.0X\205\347\326 1\327\2162\203\225.\330X\203\225\331\332.\333U\203w\334\202\216.\314U\203\202\334\202\216.\335U\203\215\336\202\216\337-P,#\2100\340Y\205\346\341/!\203\257\3330\307/\342\311#/).\314U\203\320\3330r\343/!q\210-\344P-\345,\324 C\",*\346/!\205\346\331\347/\350\351.\"-P,$*0\202\355\210\311.\207" [proc last-coding-system-used buffer-read-only p timeout -with-timeout-timer- process-buffer tramp-get-connection-property "gateway" nil #1=#:timeout run-with-timer 1 #[nil "\300\301\211\"\207" [throw #1#] 3] #[nil "\301!\207" [-with-timeout-timer- cancel-timer] 2] accept-process-output t 10 "%s %s %s\n%s" process-status buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer "\n%s" append vectorp tramp-debug-message format "(%d) # " with-timeout-timers timeout-msecs arguments fmt-string level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message] 8 (#$ . 145923)])
#@96 Check, whether REGEXP is contained in process buffer of PROC.
Erase echoed commands if exists.
(defalias 'tramp-check-for-regexp #[(proc regexp) "r\306!q\210eb\210\307\310\311#\203\322\312	\311\313#\203\322\314\224\312	\311\313#\203\321\315\310\311#\210\316\317\311,\3201\303
-X\205\277\321 .\322\216/\203u
\323X\203u\324\325
\314U\203[\326\202p
\327U\203e\326\202p
\330U\203o\331\202p\332\fP#\210-\333Y\205\276\334,!\203\217\314-\307,\335\311#,)
\327U\203\253\314-r\336,!q\210\f\337P\340\341 C\"*\342,!\205\276\324\343,\344\345
\"\fP$*0\202\305\210\311,\210\327y\210\n`|\210eb\210)\307\310\311#\203\n\346\347!\204\346\350\347!\205\360\3470\3141dS^#\346\351!\204\374\350\351!\205\351ee1\\d^\"\230?\205db\210\3521\3532\311\313#0\202\210\311)\207" [proc tramp-echoed-echo-mark-regexp begin arguments fmt-string level process-buffer tramp-get-connection-property "check-remote-echo" nil re-search-forward t 0 tramp-set-connection-property 5 "echo-mark found" (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message format "(%d) # " subrp substring-no-properties functionp buffer-substring-no-properties (error) re-search-backward vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message tramp-echo-mark-marker tramp-echo-mark-marker-length regexp] 6 (#$ . 147423)])
#@213 Wait for a REGEXP to appear from process PROC within TIMEOUT seconds.
Expects the output of PROC to be sent to the current buffer.  Returns
the string that matched, or nil.  Waits indefinitely if TIMEOUT is
nil.
(defalias 'tramp-wait-for-regexp #[(proc timeout regexp) "r\306!q\210\307	\"\310 \f\203\274\204?\311\310 \n\"\fW\203?\3122\270\313\f\314\315#\211@B@\316\216?\205\266\317\320\"\210\321!\322>\204\255\314\323\324\314ABCDE\325 F\326\216\327E!\203eE\206~\330D!\203s\306D!\206~\331D!\205~\332D!E\331D!\203\214D\206\233E\205\233rEq\210\333G!)H\334\216\335\336DCBA%.\n\210\307	\"\211\2023+0\210\202\204?\317\320\"\210\321!\337>\2046\314\323\324\314ABCDE\325 F\326\216\327E!\203\356E\206\330D!\203\374\306D!\206\331D!\205\332D!E\331D!\203D\206$E\205$rEq\210\333G!)H\334\216\335\336DCBA%.\n\210\307	\"\211\203\300\340\341\342 CABID\3431\354IJX\205\350\344 K\345\216L\203\226I\346X\203\226\335\347I\350U\203x\351\202\217I\320U\203\203\351\202\217I\352U\203\216\353\202\217\354BPA#\210J\355Y\205\347\330D!\203\260\350J\356D\357\314#D)I\320U\203\321\350Jr\332D!q\210B\341PB\360A\342 C\"A*\331D!\205\347\335\361D\362\363I\"BPA$*0\202\356\210\314,\210\204\f\203\323\364	\fDABCD\314LD\211D\203\334D\365\341\366\367\370!!M\371\216MM\372 \210)rMq\210\342 +CABID\3431\326IJX\205\322\344 K\345\216L\203\200I\346X\203\200\335\347I\350U\203b\351\202yI\320U\203m\351\202yI\352U\203x\353\202y\354BPA#\210J\355Y\205\321\330D!\203\232\350J\356D\357\314#D)I\320U\203\273\350Jr\332D!q\210B\341PB\360A\342 C\"A*\331D!\205\321\335\361D\362\363I\"BPA$*0\202\330\210\314,\202J\365Y\205GNr\366\373!q\210p\374 \210NG\314\211OP\375\211Q\375RS\376 \210\377\201U!\210+\211TM\372 \201VT!\210+)\210D\203\353D\320\201W\201XC\211\201YN\335\201ZBA#E!CABID\3431\347IJX\205\343\344 K\345\216L\203\221I\346X\203\221\335\347I\350U\203s\351\202\212I\320U\203~\351\202\212I\352U\203\211\353\202\212\354BPA#\210J\355Y\205\342\330D!\203\253\350J\356D\357\314#D)I\320U\203\314\350Jr\332D!q\210B\341PB\360A\342 C\"A*\331D!\205\342\335\361D\362\363I\"BPA$*0\202\351\210\314,\210\201CC\335\201ZBA#C\"-\210\202\323\201[	CABCD\314LD\211D\203\345D\365\341\366\367\370!!M\371\216MM\372 \210)rMq\210\342 +CABID\3431\337IJX\205\333\344 K\345\216L\203\211I\346X\203\211\335\347I\350U\203k\351\202\202I\320U\203v\351\202\202I\352U\203\201\353\202\202\354BPA#\210J\355Y\205\332\330D!\203\243\350J\356D\357\314#D)I\320U\203\304\350Jr\332D!q\210B\341PB\360A\342 C\"A*\331D!\205\332\335\361D\362\363I\"BPA$*0\202\341\210\314,\202&J\365Y\205&GNr\366\373!q\210p\374 \210NG\314\211OP\375\211Q\375RS\376 \210\377\201U!\210+\211TM\372 \201VT!\210+)\210D\203\364D\320\201W\201XC\211\201YN\335\201ZBA#E!CABID\3431\360IJX\205\354\344 K\345\216L\203\232I\346X\203\232\335\347I\350U\203|\351\202\223I\320U\203\207\351\202\223I\352U\203\222\353\202\223\354BPA#\210J\355Y\205\353\330D!\203\264\350J\356D\357\314#D)I\320U\203\325\350Jr\332D!q\210B\341PB\360A\342 C\"A*\331D!\205\353\335\361D\362\363I\"BPA$*0\202\362\210\314,\210\201CC\335\201ZBA#C\"-\210+\207" [proc regexp start-time found timeout -with-timeout-timer- process-buffer tramp-check-for-regexp current-time tramp-time-diff #1=#:timeout run-with-timer nil #[nil "\300\301\211\"\207" [throw #1#] 3] #[nil "\301!\207" [-with-timeout-timer- cancel-timer] 2] tramp-accept-process-output 1 process-status (run open) file-error "Process has died" current-window-configuration #[nil "\301!\207" [#2=#:wconfig set-window-configuration] 2] bufferp processp vectorp tramp-get-connection-buffer tramp-dissect-file-name #[nil "\203,	\203,\n\306U\204,\307 \204,\310 \203,\311\312\313\f
#\210\314!\210\315 \210\316\317!\210)\320\321\322\"\323\"@\232\205@\324 \241\207" [buf tramp-message-show-message tramp-verbose enable-recursive-minibuffers fmt-string arguments 0 tramp-completion-mode-p current-message t apply message pop-to-buffer discard-input sit-for 30 butlast append nil 2 current-time vec tramp-current-connection] 4] apply tramp-error (run open) 6 "\n%s" buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 message 0 "" 2 "Warning: " "Tramp: " 4 tramp-get-connection-property "vector" append tramp-debug-message format "(%d) # " "[[Regexp `%s' not found in %d secs]]" 10 get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks with-timeout-timers arguments fmt-string signal vec-or-proc buf #2# default-directory vec level tramp-verbose save-match-data-internal tramp-message-show-message standard-output #3=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #4=#:buf temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message "[[Regexp `%s' not found]]"] 11 (#$ . 148966)])
#@246 Send the STRING via connection VEC.

The STRING is expected to use Unix line-endings, but the lines sent to
the remote host use line-endings as defined in the variable
`tramp-rsh-end-of-line'.  The communication buffer is erased before sending.
(defalias 'tramp-send-string #[(vec string) "\306!\307	\310\311#	\204\344\312\313\311>\311?>\211>\203\343>\314\315\316\317\320!!@\321\216@@\322 \210)r@q\210\323 +CA>\3241\335ABX\205\331\325 C\326\216?\203\215A\327X\203\215\330\331A\332U\203q\333\202\210A\334U\203|\333\202\210A\335U\203\207\336\202\210\337\fP#\210B\340Y\205\330\341>!\203\247\332B\307>\342\311#>)A\334U\203\304\332Br\343>!q\210\f\315P\344\323 C\"*\345>!\205\330\330\346>\347\350A\"\fP$*0\202\337\210\311,\202 B\314Y\205 DEr\316\351!q\210p\352 \210ED\311\211FG\353\211H\353IJ\354 \210\355\356!\210+\211K@\322 \357K!\210+)\210>\203\331>\334\360\361
\211\362N\330\363\f#E!CA>\3241\325ABX\205\321\325 C\326\216?\203\205A\327X\203\205\330\331A\332U\203i\333\202\200A\334U\203t\333\202\200A\335U\203\336\202\200\337\fP#\210B\340Y\205\320\341>!\203\237\332B\307>\342\311#>)A\334U\203\274\332Br\343>!q\210\f\315P\344\323 C\"*\345>!\205\320\330\346>\347\350A\"\fP$*0\202\327\210\311,\210\305
\330\363\f#C\"-\210\364	\365\366 #\210\314\360LCA>\3241\216ABX\205\212\325 C\326\216?\203>A\327X\203>\330\331A\332U\203\"\333\2029A\334U\203-\333\2029A\335U\2038\336\2029\337\fP#\210B\340Y\205\211\341>!\203X\332B\307>\342\311#>)A\334U\203u\332Br\343>!q\210\f\315P\344\323 C\"*\345>!\205\211\330\346>\347\350A\"\fP$*0\202\220\210\311,\210r\343!q\210\311Fed|\210)\367\370\371L\372\"M#\211L\333\230\204\304L\373\311OM\230\204\304LMPL\n\203\247\n\332U\204\247\332LGN\211ONW\205\243\314\374O\211\n\\N^DA>\3241\206ABX\205\202\325 C\326\216?\2036A\327X\2036\330\331A\332U\203\333\2021A\334U\203%\333\2021A\335U\2030\336\2021\337\fP#\210B\340Y\205\201\341>!\203P\332B\307>\342\311#>)A\334U\203m\332Br\343>!q\210\f\315P\344\323 C\"*\345>!\205\201\330\346>\347\350A\"\fP$*0\202\210\210\311,\210\375	LO\211\n\\N^O\"\210O\n\\\211O\202\327*\202\254\375	L\"+\207" [vec p chunksize arguments fmt-string signal tramp-get-connection-process tramp-get-connection-property "chunksize" nil file-error "Can't send string to remote host -- not logged in" 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer append vectorp tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message format-message tramp-set-connection-property "last-cmd-time" current-time mapconcat identity tramp-compat-split-string "\n" -1 "Sending chunk from %s to %s" process-send-string vec-or-proc tramp-message-show-message standard-output level tramp-verbose save-match-data-internal default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf string tramp-rsh-end-of-line end pos] 11 (#$ . 154295)])
#@76 Returns the virtual inode number.
If it doesn't exist, generate a new one.
(defalias 'tramp-get-inode #[(vec) "\303\304!!\203(\305\304!\306\307$\211\307=\203%\nT\211\310\304!\306	$\210	)\207\nT\211\207" [vec value tramp-inodes file-name-absolute-p tramp-file-name-localname tramp-get-file-property "inode" undef tramp-set-file-property] 6 (#$ . 157798)])
#@77 Returns the virtual device number.
If it doesn't exist, generate a new one.
(defalias 'tramp-get-device #[(vec) "\303\304!\305\306#\211\306=\203\307\nT\211B\310\304!\305	#\210	)\207" [vec value tramp-devices tramp-get-connection-property tramp-get-connection-process "device" undef -1 tramp-set-connection-property] 5 (#$ . 158170)])
#@464 Check, whether the remote parts of FILE1 and FILE2 are identical.
The check depends on method, user and host name of the files.  If
one of the components is missing, the default values are used.
The local file name parts of FILE1 and FILE2 are not taken into
account.

Example:

  (tramp-equal-remote "/ssh::/etc" "/<your host name>:/home")

would yield t.  On the other hand, the following check results in nil:

  (tramp-equal-remote "/sudo::/etc" "/su::/etc")
(defalias 'tramp-equal-remote #[(file1 file2) "\302!\205\302	!\205\303!\303	!\230\207" [file1 file2 tramp-tramp-file-p file-remote-p] 3 (#$ . 158518)])
#@70 Converts a ten-letter `drwxrwxrwx'-style mode string into mode bits.
(defalias 'tramp-mode-string-to-int #[(mode-string) "\306	\307!\262\211\310H\n\311H\n\312H\n\313H8\n\314H9\n\315H:\n\316H;\n\317H<\n\320H=\321 >\322\216\323\324\325\"\203G\326\327!\202V\324\330\"\203R\331\202V\332\333\"\324\f\334\"\203c\326\335!\202r\324\f\330\"\203n\331\202r\332\336\f\"\324
\337\"\203\326\340!\202\250\324
\341\"\203\214\326\342!\202\250\324
\343\"\203\231\326\344!\202\250\324
\330\"\203\244\331\202\250\332\345
\"\3248\325\"\203\266\326\346!\202\307\3248\330\"\203\302\331\202\307\332\3478\"\3249\334\"\203\325\326\350!\202\346\3249\330\"\203\341\331\202\346\332\3519\"\324:\337\"\203\364\326\352!\202!\324:\341\"\203\326\353!\202!\324:\343\"\203\326\354!\202!\324:\330\"\203\331\202!\332\355:\"\324;\325\"\203/\326\356!\202@\324;\330\"\203;\331\202@\332\357;\"\324<\334\"\203N\326\360!\202_\324<\330\"\203Z\331\202_\332\361<\"\324=\337\"\203m\326\362!\202\232\324=\363\"\203{\326\364!\202\232\324=\365\"\203\211\326\366!\202\232\324=\330\"\203\225\331\202\232\332\367=\"&	.
\207" [case-fold-search mode-string mode-chars owner-read owner-write owner-execute-or-setid nil vconcat 1 2 3 4 5 6 7 8 9 match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] logior char-equal 114 tramp-compat-octal-to-decimal "00400" 45 0 error "Second char `%c' must be one of `r-'" 119 "00200" "Third char `%c' must be one of `w-'" 120 "00100" 83 "04000" 115 "04100" "Fourth char `%c' must be one of `xsS-'" "00040" "Fifth char `%c' must be one of `r-'" "00020" "Sixth char `%c' must be one of `w-'" "00010" "02000" "02010" "Seventh char `%c' must be one of `xsS-'" "00004" "Eighth char `%c' must be one of `r-'" "00002" "Ninth char `%c' must be one of `w-'" "00001" 84 "01000" 116 "01001" "Tenth char `%c' must be one of `xtT-'" group-read group-write group-execute-or-setid other-read other-write other-execute-or-sticky save-match-data-internal] 13 (#$ . 159145)])
#@118 A list of file types returned from the `stat' system call.
This is used to map a mode number to a permission string.
(defconst tramp-file-mode-type-map '((0 . "-") (1 . "p") (2 . "c") (3 . "m") (4 . "d") (5 . "?") (6 . "b") (7 . "?") (8 . "-") (9 . "n") (10 . "l") (11 . "?") (12 . "s") (13 . "D") (14 . "w")) (#$ . 161217))
#@69 Turn an integer representing a file mode into an ls(1)-like string.
(defalias 'tramp-file-mode-from-int #[(mode) "\306\307\310\311\"\312\"	\"A\307\310\313\"\314\"\307\310\315\"\314\"\307\310\316\"\314\"\307\310\317\"\320\"\316V\307\310\317\"\321\"\316V\307\310\317\"\322\"\316V\323\f\324#\323\324#\323
\n\325#
R.\207" [mode tramp-file-mode-type-map sticky sgid suid other assoc logand lsh -12 15 -6 7 -3 0 -9 4 2 1 tramp-file-mode-permissions "s" "t" group user type] 10 (#$ . 161548)])
#@99 Convert a permission bitset into a string.
This is used internally by `tramp-file-mode-from-int'.
(defalias 'tramp-file-mode-permissions #[(perm suid suid-text) "\306\307\"\310V\306\311\"\310V\306\312\"\310V\211\203\313\202\314\n\203&\315\202'\314\f\2033	\2033
\206E\f\203<
\226\206E	\203D\316\202E\314Q+\207" [perm x w r suid suid-text logand 4 0 2 1 "r" "-" "w" "x"] 6 (#$ . 162075)])
(defalias 'tramp-get-local-uid #[(id-format) "\301\232\203	\302 \207\303 \207" [id-format integer user-uid user-login-name] 2])
(defalias 'tramp-get-local-gid #[(id-format) "\301\302!\203\303\232\203\304\302!\204\305\302!\205!\302 \207\306\307\310\"8\207" [id-format fboundp group-gid integer subrp functionp 3 tramp-compat-file-attributes "~/"] 4])
(defalias 'tramp-get-local-locale #[(&optional vec) "\306\307\310\311#\211\311=\203\312\307\313\314!rq\210\315\216\f\316>\204S\317\307\310\307\320\307\321&\322U\203S\n\203Seb\210\323\324\325\326\n@!\"\327 \"\203L\n@\307\211\202/\nA\211\2042+
\203\f
\330\331	\206`\332C0123\333124X\205\334 5\335\2166\203\2622\336X\203\262\337\3402\322U\203\224\341\202\2532\342U\203\237\341\202\2532\343U\203\252\344\202\253\3451P0#\2104\346Y\205\3473!\203\314\3224\3063\350\307#3)2\342U\203\355\3224r\3513!q\2101\352P1\3530\327 C\"0*\3543!\205\337\3553\324\3562\"1P0$*0\202\n\210\307,\210	\206\332*\357\307\310#\210)\207" [value locale candidates #1=#:temp-buffer system-type vec tramp-get-connection-property nil "locale" undef ("en_US.utf8" "C.utf8" "en_US.UTF-8") generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1# buffer-name kill-buffer] 2] (windows-nt) tramp-call-process t "-a" 0 string-match format "^%s
?$" regexp-quote buffer-string 7 "locale %s" "C" (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message "" 1 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer "\n%s" append vectorp tramp-debug-message "(%d) # " tramp-set-connection-property arguments fmt-string level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message] 8])
#@119 Check `file-attributes' caches for VEC.
Return t if according to the cache access type ACCESS is known to
be granted.
(defalias 'tramp-check-cached-permissions #[(vec access) "\306\307=\203\310\202\311=\203\312\202\313=\205\314\315\306\211\203\266\f@\n\206\256\316
\317
!\320P\306$\206P\321\322\323
!\324
!\325
!\317
!\326
!%\327!\"\330
\331P\306#\330
\332P\306#\211 \205\255 @\333=\204w @?\205\255\334 8	\335\\H=\206\255\334 8	H=\203\231\312 8\232\206\255\334 8	\314\\H=\205\255\314 8\232+\fA\211\204&\306\n,\207" [access offset result suffix --dolist-tail-- vec nil 114 1 119 2 120 3 ("string" "integer") tramp-get-file-property tramp-file-name-localname "file-attributes-" tramp-compat-file-attributes tramp-make-tramp-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-hop intern tramp-get-connection-property "uid-" "gid-" t 8 6 remote-gid remote-uid file-attr] 9 (#$ . 164266)])
#@59 Return t if this points to the local host, nil otherwise.
(defalias 'tramp-local-host-p #[(vec) "\305!\211;\205\277\306\n	\"\205\277\307\310\"\205\277\311\312\313!\314!	\315\316\317!\2031\320\317\321N@!\206\240\322\323!\203H\324\323!\204C\325\323!\205\240\323 \202\240\326\327!\211\205S\330\f!)\203_\331\326\327!!\202\240\326\332!\211\205j\330\f!)\203v\331\326\332!!\202\240\326\333!\211\205\201\330\f!)\203\215\331\326\333!!\202\240\334\335!\203\231\331\335!\202\240\336\337!\210\331\340!)$!\205\277\341 \342U\206\277\324\343!\204\271\325\343!\205\275\343\344\"\342U)\207" [vec host tramp-local-host-regexp file-name-handler-alist d tramp-file-name-host string-match tramp-get-method-parameter tramp-login-program file-writable-p tramp-make-tramp-file-name tramp-file-name-method tramp-file-name-user nil boundp temporary-file-directory eval standard-value fboundp temp-directory subrp functionp getenv "TEMP" file-directory-p file-name-as-directory "TMP" "TMPDIR" file-exists-p "c:/temp" message "Neither `temporary-file-directory' nor `temp-directory' is defined -- using /tmp." "/tmp" user-uid 0 tramp-get-remote-uid integer] 9 (#$ . 165252)])
#@76 Return directory for temporary files on the remote host identified by VEC.
(defalias 'tramp-get-remote-tmpdir #[(vec) "\306\307\310\311#!\203\312\310\313#\210\314\315!\316!\317!\320\321\"\206\"\322$\307\310\313#\211\313=\203%\323	!\203D\324	!\203D\325\306	\326#\206\327\330	C@\331A@\211@\203@\332\333\334\335\336!!B\337\216BB\340 \210)rBq\210\341 +CC@\3421CDX\205\343 E\344\216A\203\304C\345X\203\304\346\347C\350U\203\250\311\202\277C\351U\203\263\311\202\277C\352U\203\276\353\202\277\354\fP#\210D\355Y\205\356@!\203\336\350D\307@\357\331#@)C\351U\203\373\350Dr\360@!q\210\f\333P\361\341 C\"*\362@!\205\346\363@\364\365C\"\fP$*0\202\210\331,\202WD\332Y\205WFGr\334\366!q\210p\367 \210GF\331\211HI\370\211J\370KL\371 \210\372\373!\210+\211MB\340 \374M!\210+)\210@\203@\351\375\376
\211\377N\346\201N\f#E!CC@\3421CDX\205\n\343 E\344\216A\203\276C\345X\203\276\346\347C\350U\203\242\311\202\271C\351U\203\255\311\202\271C\352U\203\270\353\202\271\354\fP#\210D\355Y\205	\356@!\203\330\350D\307@\357\331#@)C\351U\203\365\350Dr\360@!q\210\f\333P\361\341 C\"*\362@!\205	\346\363@\364\365C\"\fP$*0\202\210\331,\210\305
\346\201N\f#C\"-\312\310\n#\210)	)\207" [vec dir value arguments fmt-string signal file-remote-p tramp-get-connection-property "tmpdir" "" tramp-set-connection-property undef tramp-make-tramp-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-get-method-parameter tramp-tmpdir "/tmp" file-directory-p file-writable-p tramp-file-name-handler localname file-error "Directory %s not accessible" nil 10 "\n%s" get-buffer-create generate-new-buffer-name " *string-output*" #[nil "\301!\207" [standard-output kill-buffer] 2] backtrace buffer-string (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 1 2 "Warning: " "Tramp: " 4 processp "vector" tramp-get-connection-buffer append vectorp tramp-debug-message format "(%d) # " "*debug tramp*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook internal-temp-output-buffer-show "%s" error-message-string error-message vec-or-proc tramp-message-show-message standard-output level tramp-verbose save-match-data-internal default-directory #1=#:old-dir buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only #2=#:buf format-message] 11 (#$ . 166440)])
#@108 Create a temporary file on the remote host identified by VEC.
Return the local name of the temporary file.
(defalias 'tramp-make-tramp-temp-file #[(vec) "\306\307	!\"\310\n\204+\311!\312\n!\203\310\211\202\n\313\n!\210\314\n\315\316!\"\210\202	\317\n!\320\f!\321\f!\322\f!\323\f!\324\f!.\207" [tramp-temp-name-prefix vec result prefix v method expand-file-name tramp-get-remote-tmpdir nil make-temp-name file-exists-p set-file-times set-file-modes tramp-compat-octal-to-decimal "0700" tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop user host localname hop] 5 (#$ . 168959)])
#@51 Remove temporary files related to current buffer.
(defalias 'tramp-delete-temp-file-function #[nil ";\205\3011\302!0\207\210\303\207" [tramp-temp-buffer-file-name (error) delete-file nil] 2 (#$ . 169652)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [add-hook kill-buffer-hook tramp-delete-temp-file-function tramp-unload-hook #[nil "\300\301\302\"\207" [remove-hook kill-buffer-hook tramp-delete-temp-file-function] 3]] 3)
#@156 Like `make-auto-save-file-name' for Tramp files.
Returns a file name in `tramp-auto-save-directory' for autosaving
this file, if that variable is non-nil.
(defalias 'tramp-handle-make-auto-save-file-name #[nil ";\203	\304!\203\305!\204\306\307\"\210;\203'\310!\203'\311\202(	?\2055\312\303!\2055\303J\204=\n\202E\304\313\314\302 \"\"\315\316!\204U\317\316\320\"\202a\321\316!\210\317\316\320\"\322\316!\210+\207" [tramp-auto-save-directory system-type buffer-file-name auto-save-file-name-transforms expand-file-name file-exists-p make-directory t file-remote-p not-windows boundp tramp-subst-strs-in-string (("_" . "|") ("/" . "_a") (":" . "_b") ("|" . "__") ("[" . "_l") ("]" . "_r")) ad-is-active make-auto-save-file-name tramp-run-real-handler nil ad-deactivate ad-activate] 6 (#$ . 170095)])
(byte-code "\300\301!\204\302\301\303\304\305$\210\306\301\305\"\210\307\310\311\"\210\305\207" [tramp-exists-file-name-handler make-auto-save-file-name ad-add-advice (tramp-advice-make-auto-save-file-name nil t (advice lambda nil "Invoke `tramp-*-handle-make-auto-save-file-name' for Tramp files." (if (tramp-tramp-file-p (buffer-file-name)) (setq ad-return-value (tramp-file-name-handler 'make-auto-save-file-name)) ad-do-it))) around nil ad-activate add-hook tramp-unload-hook #[nil "\300\301\302\303#\210\304\301!\207" [ad-remove-advice make-auto-save-file-name around tramp-advice-make-auto-save-file-name ad-activate] 4]] 5)
#@72 Set permissions of autosaved remote files to the original permissions.
(defalias 'tramp-set-auto-save-file-modes #[nil "\302 \303!\2052\304 \2052	;\2052	\232?\2052\305	!\204&\306\307\310	#\210\311	\312!\2061\313\314!\")\207" [bfn buffer-auto-save-file-name buffer-file-name tramp-tramp-file-p buffer-modified-p file-exists-p write-region "" nil set-file-modes file-modes tramp-compat-octal-to-decimal "0600"] 4 (#$ . 171559)])
(byte-code "\300\301\302\"\210\300\303\304\"\207" [add-hook auto-save-hook tramp-set-auto-save-file-modes tramp-unload-hook #[nil "\300\301\302\"\207" [remove-hook auto-save-hook tramp-set-auto-save-file-modes] 3]] 3)
#@103 Replace all occurrences of the string FROM with TO in STRING.
ALIST is of the form ((FROM . TO) ...).
(defalias 'tramp-subst-strs-in-string #[(alist string) "\306 \307\216	\203,	@\211@\nA\310\311!
\"\203%\312\f\313\211
$\202	A+\202
*\207" [save-match-data-internal alist pr from to string match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] string-match regexp-quote replace-match t] 6 (#$ . 172221)])
#@201 Calls `call-process' on the local host.
It always returns a return code.  The Lisp error raised when
PROGRAM is nil is trapped also, returning 1.  Furthermore, traces
are written with verbosity of 6.
(defalias 'tramp-call-process #[(vec program &optional infile destination display &rest args) "\206\306	\n\307\211%\f\310=\203p\202\f\307\2110\311\3121\313\3142\315#3\fF4567\3161\32168X\205\315\317 9\320\216:\203{6\321X\203{\322\3236\324U\203]\325\202t6\326U\203h\325\202t6\327U\203s\330\202t\3315P4#\2108\332Y\205\314\3337!\203\225\3248\3347\335\307#7)6\326U\203\266\3248r\3367!q\2105\337P5\3404\341 C\"4*\3427!\205\314\322\3437\344\3456\"5P4$*0\202\323\210\307,\210\3461\307\347\350!;r;q\210\351\216\322\35213\f\206\360\310<2&\211;\203\353\354
C\"\210r\355\f!\203
\f\202pq\2100\311\356
\341 D4567\3161\27768X\205\273\317 9\320\216:\203i6\321X\203i\322\3236\324U\203K\325\202b6\326U\203V\325\202b6\327U\203a\330\202b\3315P4#\2108\332Y\205\272\3337!\203\203\3248\3347\335\307#7)6\326U\203\244\3248r\3367!q\2105\337P5\3404\341 C\"4*\3427!\205\272\322\3437\344\3456\"5P4$*0\202\301\210\307.0\202=\3260\311\356
\357=!D4567\3161|68X\205x\317 9\320\216:\203&6\321X\203&\322\3236\324U\203\325\2026\326U\203\325\2026\327U\203\330\202\3315P4#\2108\332Y\205w\3337!\203@\3248\3347\335\307#7)6\326U\203a\3248r\3367!q\2105\337P5\3404\341 C\"4*\3427!\205w\322\3437\344\3456\"5P4$*0\202~\210\307-\210
+\207" [vec tramp-current-method tramp-current-user tramp-current-host destination result vector nil t 6 "`%s %s' %s %s" mapconcat identity " " (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message format "(%d) # " (error) generate-new-buffer " *temp*" #[nil "\301!\205	\302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] call-process signal file-error bufferp "%d\n%s" error-message-string v program args infile arguments fmt-string level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message #1# display err] 9 (#$ . 172681)])
#@208 Calls `call-process-region' on the local host.
It always returns a return code.  The Lisp error raised when
PROGRAM is nil is trapped also, returning 1.  Furthermore, traces
are written with verbosity of 6.
(defalias 'tramp-call-process-region #[(vec start end program &optional delete buffer display &rest args) "\206\306	\n\307\211%\f\310=\203p\202\f\307\211.\311\312/\313\3140\315#123\f\2574567\3161\32668X\205\322\317 9\320\216:\203\2006\321X\203\200\322\3236\324U\203b\325\202y6\326U\203m\325\202y6\327U\203x\330\202y\3315P4#\2108\332Y\205\321\3337!\203\232\3248\3347\335\307#7)6\326U\203\273\3248r\3367!q\2105\337P5\3404\341 C\"4*\3427!\205\321\322\3437\344\3456\"5P4$*0\202\330\210\307,\210\3461y\322\34712/3\f;0&\211;\203\373\350\351
C\"\210r\352\f!\203\f\202pq\210
\324U\203\302.\311\353
C4567\3161\27468X\205\270\317 9\320\216:\203f6\321X\203f\322\3236\324U\203H\325\202_6\326U\203S\325\202_6\327U\203^\330\202_\3315P4#\2108\332Y\205\267\3337!\203\200\3248\3347\335\307#7)6\326U\203\241\3248r\3367!q\2105\337P5\3404\341 C\"4*\3427!\205\267\322\3437\344\3456\"5P4$*0\202\276\210\307,\202t.\311\354
\341 D4567\3161q68X\205m\317 9\320\216:\2036\321X\203\322\3236\324U\203\375\325\2026\326U\203\325\2026\327U\203\330\202\3315P4#\2108\332Y\205l\3337!\2035\3248\3347\335\307#7)6\326U\203V\3248r\3367!q\2105\337P5\3404\341 C\"4*\3427!\205l\322\3437\344\3456\"5P4$*0\202s\210\307,)0\2021<\326.\311\354
\355<!D4567\3161.68X\205*\317 9\320\216:\203\3306\321X\203\330\322\3236\324U\203\272\325\202\3216\326U\203\305\325\202\3216\327U\203\320\330\202\321\3315P4#\2108\332Y\205)\3337!\203\362\3248\3347\335\307#7)6\326U\203\3248r\3367!q\2105\337P5\3404\341 C\"4*\3427!\205)\322\3437\344\3456\"5P4$*0\2020\210\307-\210
+\207" [vec tramp-current-method tramp-current-user tramp-current-host buffer result vector nil t 6 "`%s %s' %s %s %s %s" mapconcat identity " " (error) match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] 3 apply message 0 "" 1 2 "Warning: " "Tramp: " 4 processp tramp-get-connection-property "vector" tramp-get-connection-buffer "\n%s" append buffer-string vectorp tramp-debug-message format "(%d) # " (error) call-process-region signal file-error bufferp "%d" "%d\n%s" error-message-string v program args start end delete arguments fmt-string level vec-or-proc tramp-verbose save-match-data-internal tramp-message-show-message display err] 10 (#$ . 175042)])
#@138 Read a password from user (compat function).
Consults the auth-source package.
Invokes `password-read' if available, `read-passwd' else.
(defalias 'tramp-read-passwd #[(proc &optional prompt) "\306\307	\n\310$
\206%r\311.!q\210\312./\"\210\313\314\315\316\317!!\f#)0\320\321!\205;\322\321!\2049\320\321!\205;\321 1\323\21123\324\216\325\f!4\3264!5\3274!6\3304!7\3314!8\3324!9\3331\320\334\335!\205\314\3364\337\323#\205\314\340\341!\203\273\322\341!\204\215\320\341!\205\234\341\342\317\343\n\206\226\306\344\345	&2\3462@\347\"3\3203!\203\2633 \202\2653\2113\202\314\322\350!\204\307\320\350!\205\314\350\351	#0\202\324\210\202\327\206\f\320\352!\203\322\352!\204\351\320\352!\205\356\3520\f\":\322\353!\204\374\320\353!\203\353\f:\"\210:)\206\f\3540!\3554\337\323#\210.
\207" [case-fold-search tramp-current-method tramp-current-user tramp-current-host key prompt t tramp-make-tramp-file-name "" process-buffer tramp-check-for-regexp format "%s for %s " capitalize match-string 1 functionp with-timeout-suspend subrp nil #[nil "\301\302!\205\303\302!\204\301\302!\205\302!\207" [stimers functionp with-timeout-unsuspend subrp] 2] tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop (error) boundp auth-sources tramp-get-connection-property "first-password-request" fboundp auth-source-search :max :user :host :port plist-get :secret auth-source-user-or-password "password" password-read password-cache-add read-passwd tramp-set-connection-property proc tramp-password-prompt-regexp pw-prompt stimers auth-info auth-passwd v method user host localname hop password] 10 (#$ . 177695)])
#@53 Clear password cache for connection related to VEC.
(defalias 'tramp-clear-passwd #[(vec) "\305!\211\203\306\307\n\310\311P\f	#P!!\210)\312\313!\204#\314\313!\2051\313\315\316!\317!\320!\321$!\207" [vec hop tramp-prefix-format tramp-postfix-hop-regexp tramp-postfix-host-format tramp-file-name-hop tramp-clear-passwd tramp-dissect-file-name tramp-compat-replace-regexp-in-string "$" subrp password-cache-remove functionp tramp-make-tramp-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host ""] 8 (#$ . 179441)])
#@36 Evaluated by "(days-to-time 183)".
(defconst tramp-half-a-year '(241 17024) (#$ . 179992))
#@40 Alist mapping month names to integers.
(defconst tramp-parse-time-months '(("jan" . 1) ("feb" . 2) ("mar" . 3) ("apr" . 4) ("may" . 5) ("jun" . 6) ("jul" . 7) ("aug" . 8) ("sep" . 9) ("oct" . 10) ("nov" . 11) ("dec" . 12)) (#$ . 180089))
#@129 Return the difference between the two times, in seconds.
T1 and T2 are time values (as returned by `current-time' for example).
(defalias 'tramp-time-diff #[(t1 t2) "\303\304!\203+\303\305!\203+\306\305!\204\307\305!\205\241\305\306\304!\204%\307\304!\205)\304	\"!\207\303\304!\203V\303\310!\203V\306\310!\204C\307\310!\205\241\310\306\304!\204P\307\304!\205T\304	\"!\207\303\311!\203\211\306\311!\204h\307\311!\205\241\311G\312W\203w\313\314\"\202x	G\312W\203\206\313	\315\"\202\207	\"\207\316	\"\317\n@\320_\nA@\321\n8\206\235\322\323\245#)\207" [t1 t2 time fboundp subtract-time float-time subrp functionp time-to-seconds itimer-time-difference 3 append (0) (0) time-subtract + 65536.0 2 0 1000000.0] 5 (#$ . 180334)])
#@91 Similar to `shell-quote-argument', but groks newlines.
Only works for Bourne-like shells.
(defalias 'tramp-shell-quote-argument #[(s) "\306\307 \310\216\311\n!\312\313\314\"!\211G\315Y\203'
\316\315O\317\230\203'
\320\321O\322\f
\"\203;\323\313\324\"\325\211
$\202'
-\207" [system-type save-match-data-internal s tramp-rsh-end-of-line nl result not-windows match-data #[nil "\301\302\"\207" [save-match-data-internal set-match-data evaporate] 3] shell-quote-argument regexp-quote format "\\%s" 2 0 "\\~" 1 nil string-match replace-match "'%s'" t] 6 (#$ . 181090)])
#@76 Set `eshell-path-env' to $PATH of the host related to `default-directory'.
(defalias 'tramp-eshell-directory-change #[nil "\306!\2037\307!\310	!\311	!\312	!\313	!\314	!\315\316\317\320	!\321\322#\2060\317	\321\322#\323#.\202:\324\325!\211\207" [default-directory v method user host localname tramp-tramp-file-p tramp-dissect-file-name tramp-file-name-method tramp-file-name-user tramp-file-name-host tramp-file-name-localname tramp-file-name-hop mapconcat identity tramp-get-connection-property tramp-get-connection-process "remote-path" nil ":" getenv "PATH" hop eshell-path-env] 6 (#$ . 181674)])
(eval-after-load "esh-util" #[nil "\300 \210\301\302\300\"\210\301\303\304\"\207" [tramp-eshell-directory-change add-hook eshell-directory-change-hook tramp-unload-hook #[nil "\300\301\302\"\207" [remove-hook eshell-directory-change-hook tramp-eshell-directory-change] 3]] 3])
#@42 Discard Tramp from loading remote files.
(defalias 'tramp-unload-tramp #[nil "\300\301!\204\f\302\301!\203\301 \210\3031\304\305\306\"0\207\210\307\207" [subrp tramp-ftp-enable-ange-ftp functionp (error) unload-feature tramp force nil] 3 (#$ . 182571) nil])
(provide 'tramp)

Kontol Shell Bypass