diff --git a/main.c b/main.c index fddcae5..ea158aa 100644 --- a/main.c +++ b/main.c @@ -25,6 +25,7 @@ #include "enter.h" #include "kvlist.h" #include "util.h" +#include "path.h" enum { OPTION_VERSION = 128, @@ -53,15 +54,7 @@ enum { OPTION_LIMIT_STACK, _OPTION_LIMIT_END = OPTION_LIMIT_STACK, OPTION_LIMIT_NO_COPY, - OPTION_SHARE_CGROUP, - OPTION_SHARE_IPC, - OPTION_SHARE_MNT, - OPTION_SHARE_NET, - OPTION_SHARE_PID, - OPTION_SHARE_TIME, - OPTION_SHARE_USER, - OPTION_SHARE_UTS, - OPTION_SHARE_ALL, + OPTION_SHARE, OPTION_ARGV0, OPTION_HOSTNAME, OPTION_DOMAIN, @@ -80,42 +73,62 @@ enum { OPTION_NO_LOOPBACK_SETUP, OPTION_NO_INIT, OPTION_NO_ENV, - OPTION_SHARE_DEPRECATED, }; -/* Usage is generated from usage.txt. Note that the array is not null-terminated, - I couldn't find a way to convince xxd to do that for me, so instead - I just replace the last newline with a NUL and print an extra newline - from the usage function. */ -extern unsigned char usage_txt[]; -extern unsigned int usage_txt_len; - -static void process_share_deprecated(struct entry_settings *opts, const char *optarg) +static void process_nslist_entry(const char **out, const char *share, const char *path, int multiple) { - for (const char *share = strtok((char *) optarg, ","); share; share = strtok(NULL, ",")) { - int found = 0; - if (!strcmp(share, "network")) { - share = "net"; - } - if (!strcmp(share, "mount")) { - share = "mnt"; - } - for (enum nstype ns = 0; ns < MAX_NS; ns++) { - if (!strcmp(share, ns_name(ns))) { - opts->shares[ns] = SHARE_WITH_PARENT; - found = 1; - } - } - if (!found) { - fprintf(stderr, "namespace `%s` does not exist.\n", share); - fprintf(stderr, "valid namespaces are: "); - for (enum nstype ns = 0; ns < MAX_NS; ns++) { - fprintf(stderr, "%s%s", ns == 0 ? "" : ", ", ns_name(ns)); + if (!strcmp(share, "network")) { + share = "net"; + } + if (!strcmp(share, "mount")) { + share = "mnt"; + } + for (enum nstype ns = 0; ns < MAX_NS; ns++) { + if (!strcmp(share, ns_name(ns))) { + if (path) { + if (multiple) { + out[ns] = strdup(makepath("%s/%s", path, ns_name(ns))); + } else { + out[ns] = path; + } + } else { + out[ns] = SHARE_WITH_PARENT; } - fprintf(stderr, ".\n"); - exit(1); + return; } } + fprintf(stderr, "namespace `%s` does not exist.\n", share); + fprintf(stderr, "valid namespaces are: "); + for (enum nstype ns = 0; ns < MAX_NS; ns++) { + fprintf(stderr, "%s%s", ns == 0 ? "" : ", ", ns_name(ns)); + } + fprintf(stderr, ".\n"); + exit(2); +} + +static void process_share(const char **out, const char *optarg) +{ + char *nsnames = strtok((char *) optarg, "="); + char *path = strtok(NULL, ""); + + /* Specifying a standalone path means that all namespaces should be entered + from the nsfs files relative to that directory path. */ + char all_namespaces[] = "cgroup,ipc,mnt,net,pid,time,user,uts"; + if (nsnames[0] == '/' || nsnames[0] == '.') { + path = nsnames; + nsnames = all_namespaces; + } + if (strcmp(nsnames, "all") == 0) { + nsnames = all_namespaces; + } + + size_t nsnames_len = strlen(nsnames); + const char *share = strtok(nsnames, ","); + bool multiple = share + strlen(share) != nsnames + nsnames_len; + + for (; share; share = strtok(NULL, ",")) { + process_nslist_entry(out, share, path, multiple); + } } static void handle_limit_arg(int option_num, struct entry_settings *opts, char *arg) @@ -160,6 +173,13 @@ static void handle_limit_arg(int option_num, struct entry_settings *opts, char * int usage(int error, char *argv0) { + /* Usage is generated from usage.txt. Note that the array is not null-terminated, + I couldn't find a way to convince xxd to do that for me, so instead + I just replace the last newline with a NUL and print an extra newline + from the usage function. */ + extern unsigned char usage_txt[]; + extern unsigned int usage_txt_len; + usage_txt[usage_txt_len - 1] = 0; FILE *out = error ? stderr : stdout; fprintf(out, (char *) usage_txt, argv0); @@ -205,15 +225,7 @@ int main(int argc, char *argv[], char *envp[]) { "limit-rttime", required_argument, NULL, OPTION_LIMIT_RTTIME }, { "limit-sigpending", required_argument, NULL, OPTION_LIMIT_SIGPENDING}, { "limit-stack", required_argument, NULL, OPTION_LIMIT_STACK }, - { "share-cgroup", optional_argument, NULL, OPTION_SHARE_CGROUP }, - { "share-ipc", optional_argument, NULL, OPTION_SHARE_IPC }, - { "share-mnt", optional_argument, NULL, OPTION_SHARE_MNT }, - { "share-net", optional_argument, NULL, OPTION_SHARE_NET }, - { "share-pid", optional_argument, NULL, OPTION_SHARE_PID }, - { "share-time", optional_argument, NULL, OPTION_SHARE_TIME }, - { "share-user", optional_argument, NULL, OPTION_SHARE_USER }, - { "share-uts", optional_argument, NULL, OPTION_SHARE_UTS }, - { "share-all", optional_argument, NULL, OPTION_SHARE_ALL }, + { "share", required_argument, NULL, OPTION_SHARE }, { "argv0", required_argument, NULL, OPTION_ARGV0 }, { "hostname", required_argument, NULL, OPTION_HOSTNAME }, { "domainname", required_argument, NULL, OPTION_DOMAIN }, @@ -236,9 +248,6 @@ int main(int argc, char *argv[], char *envp[]) { "no-init", no_argument, NULL, OPTION_NO_INIT }, { "no-env", no_argument, NULL, OPTION_NO_ENV }, - /* Deprecated flags */ - { "share", required_argument, NULL, OPTION_SHARE_DEPRECATED }, - { 0, 0, 0, 0 } }; @@ -350,34 +359,10 @@ int main(int argc, char *argv[], char *envp[]) opts.no_copy_hard_limits = 1; break; - case OPTION_SHARE_CGROUP: - case OPTION_SHARE_IPC: - case OPTION_SHARE_MNT: - case OPTION_SHARE_NET: - case OPTION_SHARE_PID: - case OPTION_SHARE_TIME: - case OPTION_SHARE_USER: - case OPTION_SHARE_UTS: - opts.shares[c - OPTION_SHARE_CGROUP] = optarg ? optarg : SHARE_WITH_PARENT; + case OPTION_SHARE: + process_share(opts.shares, optarg); break; - case OPTION_SHARE_ALL: - for (enum nstype ns = 0; ns < MAX_NS; ns++) { - char buf[PATH_MAX]; - if (optarg) { - snprintf(buf, sizeof(buf), "%s/%s", optarg, ns_name(ns)); - buf[sizeof(buf) - 1] = 0; - opts.shares[ns] = strdup(buf); - } else { - opts.shares[ns] = SHARE_WITH_PARENT; - } - } - break; - - case OPTION_SHARE_DEPRECATED: - process_share_deprecated(&opts, optarg); - break; - case OPTION_ARGV0: argv0 = optarg; break; diff --git a/man/bst.1.scd b/man/bst.1.scd index d3d9b3a..d35da70 100644 --- a/man/bst.1.scd +++ b/man/bst.1.scd @@ -32,13 +32,22 @@ _VAR=value_ before the executable to run. Run _executable_ with the specified value for _argv[0]_. By default, _argv[0]_ is _executable_ itself. -\--share-[=] +\--share [=]++ +\--share [=]++ +\--share Share the specified namespaces with the namespace anchored by **, which can be a file like /proc/[pid]/ns/mnt, or a bind-mount of that file, or a file created by _bst --persist=_**. If no *=* is given, then share the given namespace with the process invoking bst. + Multiple namespaces may be specified in a comma-separated list. If more + than one namespace is specified, and a target path is specified, it is + interpreted as a directory name in which to find the eponymous nsfs files. + + _--share_ can also take a lone directory path, in which case all namespaces + are presumed to be shared from their respective nsfs files under that path. + Available namespaces are: - *cgroup* (since Linux 4.6) - *ipc* (since Linux 2.6.19) @@ -49,14 +58,17 @@ _VAR=value_ before the executable to run. - *uts* (since Linux 2.6.19) - *user* (since Linux 3.8) - All namespaces are unshared by default; _e.g.,_ if _--share-mnt_ + A special value of *all* can also be used to signify to share all + namespaces. + + All namespaces are unshared by default; _e.g.,_ if _--share mnt_ is not given, then the child process runs in a new (unshared) mount namespace initialized as a copy of bst's parent's mount namespace. \--persist Persist all namespaces of the new process into files in the - given directory, allowing re-entry via _--share-\*=_ even after bst + given directory, allowing re-entry via _--share _ even after bst exits (but note that pid namespaces whose init died cannot be re-entered). The files are named the same as the namespace files in /proc/[pid]/ns. @@ -172,7 +184,7 @@ _VAR=value_ before the executable to run. all allotted sub[ug]ids for the current [UG]ID as written in _/etc/sub[ug]id_ (see *subuid*(5), *subgid*(5)). - You cannot use this option with _--share-user_. + You cannot use this option with _--share=user_. \--nic [name=],[type=][,[options]] Create a network interface in the inner process' network namespace. diff --git a/ns.c b/ns.c index 1cbed35..e4db2f1 100644 --- a/ns.c +++ b/ns.c @@ -78,8 +78,8 @@ void opts_to_nsactions(const char *shares[], enum nsaction *nsactions) /* If the nsfd refers to the same namespace as the one we are currently in, treat as for SHARE_WITH_PARENT. - We want to give semantics to --share-=/proc/self/ns/ - being the same as --share-. */ + We want to give semantics to --share =/proc/self/ns/ + being the same as --share . */ if (is_nsfd_current(nsactions[ns], ns_name(ns))) { close(nsactions[ns]); nsactions[ns] = NSACTION_SHARE_WITH_PARENT; diff --git a/test/bst.t b/test/bst.t index a083bb9..3989478 100755 --- a/test/bst.t +++ b/test/bst.t @@ -17,21 +17,21 @@ Testing that we are in our own namespaces by default Testing namespace sharing - $ [ "$(bst --share-all readlink /proc/self/ns/user)" = "$(readlink /proc/self/ns/user)" ] - $ [ "$(bst --share-cgroup readlink /proc/self/ns/cgroup)" = "$(readlink /proc/self/ns/cgroup)" ] - $ [ "$(bst --share-ipc readlink /proc/self/ns/ipc)" = "$(readlink /proc/self/ns/ipc)" ] - $ [ "$(bst --share-mnt readlink /proc/self/ns/mnt)" = "$(readlink /proc/self/ns/mnt)" ] - $ [ "$(bst --share-net readlink /proc/self/ns/net)" = "$(readlink /proc/self/ns/net)" ] - $ [ "$(bst --share-uts readlink /proc/self/ns/uts)" = "$(readlink /proc/self/ns/uts)" ] - $ [ "$(bst --share-pid readlink /proc/self/ns/pid)" = "$(readlink /proc/self/ns/pid)" ] - $ [ "$(bst --share-all ls -l /proc/self/ns)" = "$(ls -l /proc/self/ns)" ] + $ bst sh -c '[ "$(bst --share user readlink /proc/self/ns/user)" = "$(readlink /proc/self/ns/user)" ]' + $ [ "$(bst --share cgroup readlink /proc/self/ns/cgroup)" = "$(readlink /proc/self/ns/cgroup)" ] + $ [ "$(bst --share ipc readlink /proc/self/ns/ipc)" = "$(readlink /proc/self/ns/ipc)" ] + $ [ "$(bst --share mnt readlink /proc/self/ns/mnt)" = "$(readlink /proc/self/ns/mnt)" ] + $ [ "$(bst --share net readlink /proc/self/ns/net)" = "$(readlink /proc/self/ns/net)" ] + $ [ "$(bst --share uts readlink /proc/self/ns/uts)" = "$(readlink /proc/self/ns/uts)" ] + $ [ "$(bst --share pid readlink /proc/self/ns/pid)" = "$(readlink /proc/self/ns/pid)" ] + $ [ "$(bst --share all ls -l /proc/self/ns)" = "$(ls -l /proc/self/ns)" ] Testing uid/gid/groups semantics $ bst id | sed -e 's/,65534([^)]*)//' uid=0(root) gid=0(root) groups=0(root) - $ [ "$(bst --share-all id)" = "$(id)" ] + $ [ "$(bst --share all id)" = "$(id)" ] $ bst --workdir=/ --uid=1 --gid=2 --groups=3,4 sh -c 'id -u; id -g; id -G' 1 @@ -95,7 +95,7 @@ Testing exit code handling $ bst sh -c "exit 17" [17] - $ bst --share-pid sh -c 'kill -9 $$' + $ bst --share pid sh -c 'kill -9 $$' [137] Testing --argv0 @@ -114,13 +114,13 @@ Testing hostname semantics $ bst --hostname foobar uname -n foobar - $ bst --share-uts --hostname foobar false + $ bst --share uts --hostname foobar false bst: attempted to set host or domain names on the host UTS namespace. [1] Testing persistence - $ mkdir -p foo bar; trap 'bst-unpersist foo && rmdir foo bar' EXIT; bst --persist=foo sh -c 'mount -t tmpfs none bar && echo hello > bar/greeting' && [ ! -f bar/greeting ] && bst --share-mnt=foo/mnt --share-user=foo/user sh -c '[ "$(cat '"$PWD"'/bar/greeting)" = "hello" ]' + $ mkdir -p foo bar; trap 'bst-unpersist foo && rmdir foo bar' EXIT; bst --persist=foo sh -c 'mount -t tmpfs none bar && echo hello > bar/greeting' && [ ! -f bar/greeting ] && bst --share mnt,user=foo sh -c '[ "$(cat '"$PWD"'/bar/greeting)" = "hello" ]' Testing --limit-core / general tests $ bst --limit-core=0 test/print_limits core diff --git a/usage.c b/usage.c index dc0139a..7c5c0d5 100644 --- a/usage.c +++ b/usage.c @@ -54,335 +54,285 @@ unsigned char usage_txt[] = { 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x61, 0x72, 0x67, 0x76, 0x5b, 0x30, 0x5d, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x3c, 0x65, 0x78, 0x65, 0x3e, 0x29, 0x2e, - 0x0a, 0x09, 0x2d, 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2d, 0x63, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x5b, 0x3d, 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, - 0x5d, 0x20, 0x53, 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x73, 0x66, 0x69, - 0x6c, 0x65, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, - 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x09, 0x2d, - 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2d, 0x69, 0x70, 0x63, 0x5b, 0x3d, - 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x5d, 0x20, 0x20, 0x20, 0x20, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x70, 0x63, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, - 0x6e, 0x20, 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2d, 0x6d, 0x6e, 0x74, 0x5b, 0x3d, 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, - 0x5d, 0x20, 0x20, 0x20, 0x20, 0x53, 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x73, - 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x3a, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, - 0x09, 0x2d, 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2d, 0x6e, 0x65, 0x74, - 0x5b, 0x3d, 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x5d, 0x20, 0x20, 0x20, - 0x20, 0x53, 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, - 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x73, 0x66, 0x69, - 0x6c, 0x65, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, - 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x09, 0x2d, - 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2d, 0x70, 0x69, 0x64, 0x5b, 0x3d, - 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x5d, 0x20, 0x20, 0x20, 0x20, 0x53, - 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x69, 0x64, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, - 0x6e, 0x20, 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, - 0x2d, 0x74, 0x69, 0x6d, 0x65, 0x5b, 0x3d, 0x6e, 0x73, 0x66, 0x69, 0x6c, - 0x65, 0x5d, 0x20, 0x20, 0x20, 0x53, 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x73, 0x66, - 0x69, 0x6c, 0x65, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x3a, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x09, - 0x2d, 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2d, 0x75, 0x73, 0x65, 0x72, - 0x5b, 0x3d, 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x5d, 0x20, 0x20, 0x20, - 0x53, 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, - 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x73, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x73, 0x68, 0x61, - 0x72, 0x65, 0x2d, 0x75, 0x74, 0x73, 0x5b, 0x3d, 0x6e, 0x73, 0x66, 0x69, - 0x6c, 0x65, 0x5d, 0x20, 0x20, 0x20, 0x20, 0x53, 0x68, 0x61, 0x72, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x74, 0x73, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x73, - 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x3a, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, - 0x09, 0x2d, 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x2d, 0x61, 0x6c, 0x6c, - 0x5b, 0x3d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x5d, - 0x20, 0x53, 0x68, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x79, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, - 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x09, 0x2d, - 0x2d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x20, 0x3c, 0x64, 0x69, - 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x3e, 0x3a, 0x20, 0x20, 0x42, - 0x69, 0x6e, 0x64, 0x2d, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x70, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x3c, 0x64, - 0x69, 0x72, 0x3e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x2d, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x77, 0x6f, 0x72, - 0x6b, 0x64, 0x69, 0x72, 0x20, 0x3c, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x79, 0x3e, 0x3a, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x20, - 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x0a, 0x09, - 0x2d, 0x2d, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x3c, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2c, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2c, 0x74, - 0x79, 0x70, 0x65, 0x2c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3e, - 0x3a, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x0a, 0x09, 0x2d, 0x2d, 0x73, 0x68, 0x61, 0x72, 0x65, 0x20, 0x3c, 0x6e, + 0x73, 0x2c, 0x2e, 0x2e, 0x2e, 0x3e, 0x5b, 0x3d, 0x64, 0x69, 0x72, 0x5d, + 0x20, 0x20, 0x53, 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x20, 0x75, 0x73, 0x69, + 0x6e, 0x67, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x6e, 0x73, + 0x66, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x2e, 0x0a, 0x09, 0x2d, - 0x2d, 0x75, 0x69, 0x64, 0x20, 0x3c, 0x75, 0x69, 0x64, 0x3e, 0x3a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, - 0x65, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x49, 0x44, 0x2e, 0x0a, - 0x09, 0x2d, 0x2d, 0x67, 0x69, 0x64, 0x20, 0x3c, 0x67, 0x69, 0x64, 0x3e, - 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x53, 0x65, 0x74, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x49, - 0x44, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x20, 0x3c, 0x67, 0x69, 0x64, 0x2c, 0x67, 0x69, 0x64, 0x2c, 0x2e, 0x2e, - 0x2e, 0x3e, 0x3a, 0x20, 0x53, 0x65, 0x74, 0x20, 0x61, 0x64, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x20, 0x3c, - 0x61, 0x72, 0x63, 0x68, 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3c, 0x68, 0x6f, 0x73, 0x74, 0x3e, - 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x3c, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x3e, - 0x3a, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, - 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x0a, - 0x09, 0x2d, 0x2d, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x3c, 0x6e, 0x61, 0x6d, - 0x65, 0x3e, 0x3d, 0x3c, 0x73, 0x3e, 0x5b, 0x2e, 0x6e, 0x73, 0x5d, 0x3a, - 0x20, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x20, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x0a, 0x09, - 0x2d, 0x2d, 0x69, 0x6e, 0x69, 0x74, 0x3d, 0x3c, 0x69, 0x6e, 0x69, 0x74, - 0x2d, 0x61, 0x72, 0x67, 0x76, 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x55, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x20, - 0x70, 0x61, 0x74, 0x68, 0x20, 0x61, 0x73, 0x20, 0x69, 0x6e, 0x69, 0x74, - 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x09, 0x2d, - 0x2d, 0x73, 0x65, 0x74, 0x75, 0x70, 0x3d, 0x3c, 0x63, 0x6d, 0x64, 0x6c, - 0x69, 0x6e, 0x65, 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, - 0x75, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, 0x65, 0x74, 0x75, 0x70, 0x20, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, - 0x73, 0x68, 0x20, 0x2d, 0x65, 0x75, 0x63, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, - 0x73, 0x65, 0x74, 0x75, 0x70, 0x2d, 0x65, 0x78, 0x65, 0x3d, 0x3c, 0x70, - 0x61, 0x74, 0x68, 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x75, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x73, 0x65, 0x74, 0x75, 0x70, 0x20, 0x65, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x09, 0x2d, - 0x2d, 0x75, 0x69, 0x64, 0x2d, 0x6d, 0x61, 0x70, 0x3d, 0x3c, 0x6d, 0x61, - 0x70, 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, - 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x20, 0x75, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x70, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, - 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, - 0x67, 0x69, 0x64, 0x2d, 0x6d, 0x61, 0x70, 0x3d, 0x3c, 0x6d, 0x61, 0x70, - 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x73, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x67, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x70, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6e, - 0x69, 0x63, 0x20, 0x3c, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x74, 0x79, 0x70, - 0x65, 0x2c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3e, 0x3a, 0x0a, - 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x2e, 0x0a, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x2d, 0x61, 0x73, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, - 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x20, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x20, 0x3c, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x79, 0x3e, 0x3a, 0x20, 0x20, 0x42, 0x69, 0x6e, 0x64, 0x2d, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x20, + 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x3c, 0x64, 0x69, 0x72, 0x3e, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x72, 0x65, 0x2d, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, + 0x0a, 0x09, 0x2d, 0x2d, 0x77, 0x6f, 0x72, 0x6b, 0x64, 0x69, 0x72, 0x20, + 0x3c, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x3e, 0x3a, + 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x74, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x20, 0x3c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x2c, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3e, 0x3a, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x6f, + 0x75, 0x6e, 0x74, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6f, + 0x76, 0x65, 0x72, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x62, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x75, 0x69, 0x64, 0x20, + 0x3c, 0x75, 0x69, 0x64, 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x20, 0x49, 0x44, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x67, 0x69, + 0x64, 0x20, 0x3c, 0x67, 0x69, 0x64, 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, - 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x41, 0x53, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, - 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x63, 0x6f, 0x72, - 0x65, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, - 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, - 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x49, 0x44, 0x2e, 0x0a, 0x09, 0x2d, + 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x3c, 0x67, 0x69, 0x64, + 0x2c, 0x67, 0x69, 0x64, 0x2c, 0x2e, 0x2e, 0x2e, 0x3e, 0x3a, 0x20, 0x53, + 0x65, 0x74, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x0a, 0x09, 0x2d, + 0x2d, 0x61, 0x72, 0x63, 0x68, 0x20, 0x3c, 0x61, 0x72, 0x63, 0x68, 0x3e, + 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, + 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, + 0x0a, 0x09, 0x2d, 0x2d, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, + 0x20, 0x3c, 0x68, 0x6f, 0x73, 0x74, 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x6f, + 0x73, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3c, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x3e, 0x3a, 0x20, 0x20, 0x53, 0x65, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x74, 0x69, + 0x6d, 0x65, 0x20, 0x3c, 0x6e, 0x61, 0x6d, 0x65, 0x3e, 0x3d, 0x3c, 0x73, + 0x3e, 0x5b, 0x2e, 0x6e, 0x73, 0x5d, 0x3a, 0x20, 0x53, 0x65, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x63, + 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x69, 0x6e, 0x69, + 0x74, 0x3d, 0x3c, 0x69, 0x6e, 0x69, 0x74, 0x2d, 0x61, 0x72, 0x67, 0x76, + 0x3e, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x73, 0x65, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x20, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, + 0x61, 0x73, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x73, 0x65, 0x74, 0x75, + 0x70, 0x3d, 0x3c, 0x63, 0x6d, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x3e, 0x3a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, + 0x73, 0x65, 0x74, 0x75, 0x70, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x68, 0x20, 0x2d, 0x65, + 0x75, 0x63, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x73, 0x65, 0x74, 0x75, 0x70, + 0x2d, 0x65, 0x78, 0x65, 0x3d, 0x3c, 0x70, 0x61, 0x74, 0x68, 0x3e, 0x3a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, + 0x65, 0x74, 0x75, 0x70, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x75, 0x69, 0x64, 0x2d, + 0x6d, 0x61, 0x70, 0x3d, 0x3c, 0x6d, 0x61, 0x70, 0x3e, 0x3a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x73, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, + 0x75, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x67, 0x69, 0x64, 0x2d, 0x6d, + 0x61, 0x70, 0x3d, 0x3c, 0x6d, 0x61, 0x70, 0x3e, 0x3a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x55, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x67, + 0x69, 0x64, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6e, 0x69, 0x63, 0x20, 0x3c, 0x6e, + 0x61, 0x6d, 0x65, 0x2c, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x3e, 0x3a, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, - 0x4d, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x52, 0x45, 0x20, 0x74, 0x6f, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, - 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x63, 0x70, 0x75, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x0a, 0x0a, + 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x61, 0x73, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, - 0x54, 0x5f, 0x43, 0x50, 0x55, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x20, 0x28, 0x3c, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, - 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, - 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x54, 0x5f, 0x41, 0x53, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x2d, 0x66, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x28, 0x3c, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, - 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, - 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6d, 0x69, 0x74, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x20, 0x28, 0x3c, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, + 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, - 0x46, 0x53, 0x49, 0x5a, 0x45, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x20, 0x28, - 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, - 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, - 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, - 0x5f, 0x4c, 0x4f, 0x43, 0x4b, 0x53, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x6d, 0x65, 0x6d, 0x6c, 0x6f, 0x63, - 0x6b, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, - 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, - 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x43, + 0x4f, 0x52, 0x45, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x2d, 0x63, 0x70, 0x75, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, + 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, + 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x43, 0x50, 0x55, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, + 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, + 0x64, 0x61, 0x74, 0x61, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, + 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, - 0x4d, 0x49, 0x54, 0x5f, 0x4d, 0x45, 0x4d, 0x4c, 0x4f, 0x43, 0x4b, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, + 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, - 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x6d, - 0x73, 0x67, 0x71, 0x75, 0x65, 0x75, 0x65, 0x20, 0x28, 0x3c, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, - 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, - 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4d, 0x53, - 0x47, 0x51, 0x55, 0x45, 0x55, 0x45, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x6e, 0x69, 0x63, 0x65, 0x20, 0x28, - 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, - 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, - 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x66, + 0x73, 0x69, 0x7a, 0x65, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, + 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, - 0x5f, 0x4e, 0x49, 0x43, 0x45, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, - 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x6e, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x20, - 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, - 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, - 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, + 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x46, 0x53, 0x49, 0x5a, 0x45, + 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, + 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, + 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, + 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, - 0x54, 0x5f, 0x4e, 0x4f, 0x46, 0x49, 0x4c, 0x45, 0x20, 0x74, 0x6f, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, - 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x6e, 0x70, 0x72, 0x6f, - 0x63, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, - 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, - 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, + 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x4b, + 0x53, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, + 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x2d, 0x6d, 0x65, 0x6d, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x28, 0x3c, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, + 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, - 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x50, 0x52, 0x4f, 0x43, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, - 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x72, 0x73, 0x73, - 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, - 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, - 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, - 0x49, 0x54, 0x5f, 0x52, 0x53, 0x53, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, + 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4d, + 0x45, 0x4d, 0x4c, 0x4f, 0x43, 0x4b, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, - 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x72, 0x74, 0x70, 0x72, 0x69, 0x6f, - 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, - 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, - 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x6d, 0x73, 0x67, 0x71, 0x75, 0x65, + 0x75, 0x65, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, + 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, + 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, - 0x49, 0x54, 0x5f, 0x52, 0x54, 0x50, 0x52, 0x49, 0x4f, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, - 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x72, 0x74, 0x74, - 0x69, 0x6d, 0x65, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, - 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, - 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, + 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4d, 0x53, 0x47, 0x51, 0x55, 0x45, 0x55, + 0x45, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, + 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x2d, 0x6e, 0x69, 0x63, 0x65, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, + 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, - 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x54, 0x54, 0x49, 0x4d, 0x45, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, + 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x49, 0x43, 0x45, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, - 0x73, 0x69, 0x67, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x28, + 0x6e, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, + 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, + 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4e, 0x4f, 0x46, + 0x49, 0x4c, 0x45, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x2d, 0x6e, 0x70, 0x72, 0x6f, 0x63, 0x20, 0x28, 0x3c, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, + 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x4e, + 0x50, 0x52, 0x4f, 0x43, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x2d, 0x72, 0x73, 0x73, 0x20, 0x28, 0x3c, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, + 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, + 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x53, + 0x53, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, + 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x2d, 0x72, 0x74, 0x70, 0x72, 0x69, 0x6f, 0x20, 0x28, 0x3c, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, + 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, + 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x52, 0x54, + 0x50, 0x52, 0x49, 0x4f, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x2d, 0x72, 0x74, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, - 0x5f, 0x53, 0x49, 0x47, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x20, - 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, - 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, - 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, + 0x5f, 0x52, 0x54, 0x54, 0x49, 0x4d, 0x45, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, + 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x73, 0x69, 0x67, 0x70, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, + 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, - 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, - 0x29, 0x2e, 0x0a, 0x0a, 0x09, 0x2d, 0x2d, 0x6e, 0x6f, 0x2d, 0x63, 0x6f, - 0x70, 0x79, 0x2d, 0x68, 0x61, 0x72, 0x64, 0x2d, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x73, 0x3a, 0x20, 0x20, 0x44, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x63, - 0x6f, 0x70, 0x79, 0x20, 0x68, 0x61, 0x72, 0x64, 0x20, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6e, 0x6f, 0x2d, 0x66, 0x61, 0x6b, 0x65, - 0x2d, 0x64, 0x65, 0x76, 0x74, 0x6d, 0x70, 0x66, 0x73, 0x3a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x44, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x20, 0x64, 0x65, 0x76, 0x74, 0x6d, 0x70, 0x66, - 0x73, 0x20, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x20, 0x66, 0x61, 0x6b, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x73, 0x2e, - 0x0a, 0x09, 0x2d, 0x2d, 0x6e, 0x6f, 0x2d, 0x64, 0x65, 0x72, 0x61, 0x6e, - 0x64, 0x6f, 0x6d, 0x69, 0x7a, 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x44, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x74, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63, - 0x65, 0x20, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, - 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x09, 0x2d, - 0x2d, 0x6e, 0x6f, 0x2d, 0x70, 0x72, 0x6f, 0x63, 0x2d, 0x72, 0x65, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, - 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x2f, 0x70, 0x72, 0x6f, 0x63, 0x20, 0x69, 0x6e, 0x20, 0x70, - 0x69, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x73, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6e, 0x6f, 0x2d, 0x6c, 0x6f, 0x6f, - 0x70, 0x62, 0x61, 0x63, 0x6b, 0x2d, 0x73, 0x65, 0x74, 0x75, 0x70, 0x3a, - 0x20, 0x20, 0x20, 0x20, 0x44, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x62, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x20, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x75, 0x70, 0x20, - 0x69, 0x6e, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x09, - 0x2d, 0x2d, 0x6e, 0x6f, 0x2d, 0x65, 0x6e, 0x76, 0x3a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, + 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, 0x54, 0x5f, 0x53, 0x49, 0x47, 0x50, + 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, + 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x20, + 0x28, 0x3c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3e, 0x29, 0x7c, 0x28, 0x3c, + 0x68, 0x61, 0x72, 0x64, 0x3e, 0x3a, 0x3c, 0x73, 0x6f, 0x66, 0x74, 0x3e, + 0x29, 0x0a, 0x09, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x43, 0x6c, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, - 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x62, 0x65, - 0x66, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x2e, 0x0a + 0x20, 0x20, 0x20, 0x53, 0x65, 0x74, 0x20, 0x52, 0x4c, 0x49, 0x4d, 0x49, + 0x54, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x28, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x09, + 0x2d, 0x2d, 0x6e, 0x6f, 0x2d, 0x63, 0x6f, 0x70, 0x79, 0x2d, 0x68, 0x61, + 0x72, 0x64, 0x2d, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x3a, 0x20, 0x20, + 0x44, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x68, + 0x61, 0x72, 0x64, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x6f, 0x66, 0x74, + 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, + 0x6e, 0x6f, 0x2d, 0x66, 0x61, 0x6b, 0x65, 0x2d, 0x64, 0x65, 0x76, 0x74, + 0x6d, 0x70, 0x66, 0x73, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x6f, + 0x6e, 0x27, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20, + 0x64, 0x65, 0x76, 0x74, 0x6d, 0x70, 0x66, 0x73, 0x20, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x66, 0x61, 0x6b, + 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x73, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6e, + 0x6f, 0x2d, 0x64, 0x65, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x69, 0x7a, + 0x65, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x6f, 0x6e, + 0x27, 0x74, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, + 0x6f, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63, 0x65, 0x20, 0x72, 0x61, 0x6e, + 0x64, 0x6f, 0x6d, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6e, 0x6f, 0x2d, 0x70, + 0x72, 0x6f, 0x63, 0x2d, 0x72, 0x65, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x3a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x44, 0x6f, 0x6e, 0x27, 0x74, 0x20, + 0x72, 0x65, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x2f, 0x70, 0x72, + 0x6f, 0x63, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x69, 0x64, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x09, 0x2d, + 0x2d, 0x6e, 0x6f, 0x2d, 0x6c, 0x6f, 0x6f, 0x70, 0x62, 0x61, 0x63, 0x6b, + 0x2d, 0x73, 0x65, 0x74, 0x75, 0x70, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x44, + 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x62, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x20, 0x75, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, + 0x61, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x09, 0x2d, 0x2d, 0x6e, 0x6f, 0x2d, + 0x65, 0x6e, 0x76, 0x3a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x43, 0x6c, 0x65, 0x61, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, + 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, + 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a }; -unsigned int usage_txt_len = 4529; +unsigned int usage_txt_len = 3936; diff --git a/usage.txt b/usage.txt index 97fcebc..f16cc67 100644 --- a/usage.txt +++ b/usage.txt @@ -13,15 +13,8 @@ Options: -r, --root : Set root directory. --argv0 : Set argv[0] (defaults to ). - --share-cgroup[=nsfile] Share the cgroup namespace in nsfile (default: parent). - --share-ipc[=nsfile] Share the ipc namespace in nsfile (default: parent). - --share-mnt[=nsfile] Share the mount namespace in nsfile (default: parent). - --share-net[=nsfile] Share the network namespace in nsfile (default: parent). - --share-pid[=nsfile] Share the pid namespace in nsfile (default: parent). - --share-time[=nsfile] Share the time namespace in nsfile (default: parent). - --share-user[=nsfile] Share the user namespace in nsfile (default: parent). - --share-uts[=nsfile] Share the uts namespace in nsfile (default: parent). - --share-all[=directory] Share all namespaces in the directory (default: parent). + --share [=dir] Share the specified namespaces using target nsfs files + (default: parent). --persist : Bind-mount process namespaces into for re-entry. --workdir : Set current work directory. --mount :