From 66faf3215cdab93787a799264da58a87dc2a116d Mon Sep 17 00:00:00 2001 From: Tinderbox User Date: Mon, 16 Nov 2020 21:13:58 +0000 Subject: [PATCH] prep 9.11.25 --- CHANGES | 2 + README | 4 + README.md | 4 + bin/check/named-checkconf.8 | 78 +-- bin/check/named-checkconf.html | 2 +- bin/check/named-checkzone.8 | 256 ++++++---- bin/check/named-checkzone.html | 2 +- bin/confgen/ddns-confgen.8 | 85 ++-- bin/confgen/ddns-confgen.html | 2 +- bin/confgen/rndc-confgen.8 | 111 +++-- bin/confgen/rndc-confgen.html | 2 +- bin/delv/delv.1 | 309 ++++++------ bin/delv/delv.html | 2 +- bin/dig/dig.1 | 611 ++++++++++++------------ bin/dig/dig.html | 2 +- bin/dig/host.1 | 176 +++---- bin/dig/host.html | 2 +- bin/dig/nslookup.1 | 257 +++++----- bin/dig/nslookup.html | 2 +- bin/dnssec/dnssec-dsfromkey.8 | 200 +++++--- bin/dnssec/dnssec-dsfromkey.html | 2 +- bin/dnssec/dnssec-importkey.8 | 117 +++-- bin/dnssec/dnssec-importkey.html | 2 +- bin/dnssec/dnssec-keyfromlabel.8 | 254 +++++----- bin/dnssec/dnssec-keyfromlabel.html | 2 +- bin/dnssec/dnssec-keygen.8 | 297 ++++++------ bin/dnssec/dnssec-keygen.html | 2 +- bin/dnssec/dnssec-revoke.8 | 78 +-- bin/dnssec/dnssec-revoke.html | 2 +- bin/dnssec/dnssec-settime.8 | 163 ++++--- bin/dnssec/dnssec-settime.html | 2 +- bin/dnssec/dnssec-signzone.8 | 396 ++++++++------- bin/dnssec/dnssec-signzone.html | 2 +- bin/dnssec/dnssec-verify.8 | 87 ++-- bin/dnssec/dnssec-verify.html | 2 +- bin/named/lwresd.8 | 166 ++++--- bin/named/lwresd.html | 2 +- bin/named/named.8 | 248 +++++----- bin/named/named.conf.5 | 73 +-- bin/named/named.conf.html | 2 +- bin/named/named.html | 2 +- bin/nsupdate/nsupdate.1 | 343 ++++++------- bin/nsupdate/nsupdate.html | 2 +- bin/pkcs11/pkcs11-destroy.8 | 66 +-- bin/pkcs11/pkcs11-destroy.html | 2 +- bin/pkcs11/pkcs11-keygen.8 | 91 ++-- bin/pkcs11/pkcs11-keygen.html | 2 +- bin/pkcs11/pkcs11-list.8 | 62 +-- bin/pkcs11/pkcs11-list.html | 2 +- bin/pkcs11/pkcs11-tokens.8 | 34 +- bin/pkcs11/pkcs11-tokens.html | 2 +- bin/python/dnssec-checkds.8 | 58 ++- bin/python/dnssec-checkds.html | 2 +- bin/python/dnssec-coverage.8 | 104 ++-- bin/python/dnssec-coverage.html | 2 +- bin/python/dnssec-keymgr.8 | 193 ++++---- bin/python/dnssec-keymgr.html | 2 +- bin/rndc/rndc.8 | 409 ++++++++-------- bin/rndc/rndc.conf.5 | 69 +-- bin/rndc/rndc.conf.html | 2 +- bin/rndc/rndc.html | 2 +- bin/tools/arpaname.1 | 19 +- bin/tools/arpaname.html | 2 +- bin/tools/dnstap-read.1 | 42 +- bin/tools/dnstap-read.html | 2 +- bin/tools/genrandom.8 | 41 +- bin/tools/genrandom.html | 2 +- bin/tools/isc-hmac-fixup.8 | 28 +- bin/tools/isc-hmac-fixup.html | 2 +- bin/tools/mdig.1 | 329 +++++++------ bin/tools/mdig.html | 6 +- bin/tools/named-journalprint.8 | 23 +- bin/tools/named-journalprint.html | 2 +- bin/tools/named-nzd2nzf.8 | 31 +- bin/tools/named-nzd2nzf.html | 2 +- bin/tools/named-rrchecker.1 | 35 +- bin/tools/named-rrchecker.html | 2 +- bin/tools/nsec3hash.8 | 48 +- bin/tools/nsec3hash.html | 2 +- doc/arm/Bv9ARM.ch01.html | 8 +- doc/arm/Bv9ARM.ch02.html | 4 +- doc/arm/Bv9ARM.ch03.html | 8 +- doc/arm/Bv9ARM.ch04.html | 4 +- doc/arm/Bv9ARM.ch05.html | 4 +- doc/arm/Bv9ARM.ch06.html | 48 +- doc/arm/Bv9ARM.ch07.html | 4 +- doc/arm/Bv9ARM.ch08.html | 4 +- doc/arm/Bv9ARM.ch09.html | 43 +- doc/arm/Bv9ARM.ch10.html | 4 +- doc/arm/Bv9ARM.ch11.html | 4 +- doc/arm/Bv9ARM.ch12.html | 4 +- doc/arm/Bv9ARM.ch13.html | 4 +- doc/arm/Bv9ARM.html | 9 +- doc/arm/Bv9ARM.pdf | Bin 1117752 -> 1117883 bytes doc/arm/man.arpaname.html | 4 +- doc/arm/man.ddns-confgen.html | 4 +- doc/arm/man.delv.html | 4 +- doc/arm/man.dig.html | 4 +- doc/arm/man.dnssec-checkds.html | 4 +- doc/arm/man.dnssec-coverage.html | 4 +- doc/arm/man.dnssec-dsfromkey.html | 4 +- doc/arm/man.dnssec-importkey.html | 4 +- doc/arm/man.dnssec-keyfromlabel.html | 4 +- doc/arm/man.dnssec-keygen.html | 4 +- doc/arm/man.dnssec-keymgr.html | 4 +- doc/arm/man.dnssec-revoke.html | 4 +- doc/arm/man.dnssec-settime.html | 4 +- doc/arm/man.dnssec-signzone.html | 4 +- doc/arm/man.dnssec-verify.html | 4 +- doc/arm/man.dnstap-read.html | 4 +- doc/arm/man.genrandom.html | 4 +- doc/arm/man.host.html | 4 +- doc/arm/man.isc-hmac-fixup.html | 4 +- doc/arm/man.lwresd.html | 4 +- doc/arm/man.mdig.html | 8 +- doc/arm/man.named-checkconf.html | 4 +- doc/arm/man.named-checkzone.html | 4 +- doc/arm/man.named-journalprint.html | 4 +- doc/arm/man.named-nzd2nzf.html | 4 +- doc/arm/man.named-rrchecker.html | 4 +- doc/arm/man.named.conf.html | 4 +- doc/arm/man.named.html | 4 +- doc/arm/man.nsec3hash.html | 4 +- doc/arm/man.nslookup.html | 4 +- doc/arm/man.nsupdate.html | 4 +- doc/arm/man.pkcs11-destroy.html | 4 +- doc/arm/man.pkcs11-keygen.html | 4 +- doc/arm/man.pkcs11-list.html | 4 +- doc/arm/man.pkcs11-tokens.html | 4 +- doc/arm/man.rndc-confgen.html | 4 +- doc/arm/man.rndc.conf.html | 4 +- doc/arm/man.rndc.html | 4 +- doc/arm/notes.html | 38 +- doc/arm/notes.pdf | Bin 146147 -> 146882 bytes doc/arm/notes.txt | 19 +- isc-config.sh.1 | 58 ++- isc-config.sh.html | 2 +- lib/dns/api | 2 +- lib/isc/api | 2 +- lib/lwres/man/lwres.3 | 65 +-- lib/lwres/man/lwres.html | 2 +- lib/lwres/man/lwres_buffer.3 | 47 +- lib/lwres/man/lwres_buffer.html | 2 +- lib/lwres/man/lwres_config.3 | 34 +- lib/lwres/man/lwres_config.html | 2 +- lib/lwres/man/lwres_context.3 | 35 +- lib/lwres/man/lwres_context.html | 2 +- lib/lwres/man/lwres_gabn.3 | 44 +- lib/lwres/man/lwres_gabn.html | 2 +- lib/lwres/man/lwres_gai_strerror.3 | 85 ++-- lib/lwres/man/lwres_gai_strerror.html | 2 +- lib/lwres/man/lwres_getaddrinfo.3 | 64 +-- lib/lwres/man/lwres_getaddrinfo.html | 2 +- lib/lwres/man/lwres_gethostent.3 | 100 ++-- lib/lwres/man/lwres_gethostent.html | 2 +- lib/lwres/man/lwres_getipnode.3 | 112 ++--- lib/lwres/man/lwres_getipnode.html | 2 +- lib/lwres/man/lwres_getnameinfo.3 | 60 +-- lib/lwres/man/lwres_getnameinfo.html | 2 +- lib/lwres/man/lwres_getrrsetbyname.3 | 66 +-- lib/lwres/man/lwres_getrrsetbyname.html | 2 +- lib/lwres/man/lwres_gnba.3 | 41 +- lib/lwres/man/lwres_gnba.html | 2 +- lib/lwres/man/lwres_hstrerror.3 | 51 +- lib/lwres/man/lwres_hstrerror.html | 2 +- lib/lwres/man/lwres_inetntop.3 | 21 +- lib/lwres/man/lwres_inetntop.html | 2 +- lib/lwres/man/lwres_noop.3 | 45 +- lib/lwres/man/lwres_noop.html | 2 +- lib/lwres/man/lwres_packet.3 | 104 ++-- lib/lwres/man/lwres_packet.html | 2 +- lib/lwres/man/lwres_resutil.3 | 35 +- lib/lwres/man/lwres_resutil.html | 2 +- version | 2 +- 174 files changed, 4129 insertions(+), 3422 deletions(-) diff --git a/CHANGES b/CHANGES index aeb287b7ff..2b3c67421f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ + --- 9.11.25 released --- + 5527. [bug] A NULL pointer dereference occurred when creating an NTA recheck query failed. [GL #2244] diff --git a/README b/README index 2b2aa9f474..bb86502f4a 100644 --- a/README +++ b/README @@ -356,6 +356,10 @@ BIND 9.11.24 BIND 9.11.24 is a maintenance release. +BIND 9.11.25 + +BIND 9.11.25 is a maintenance release. + Building BIND Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler, diff --git a/README.md b/README.md index a37348fc22..6f16887b6e 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,10 @@ BIND 9.11.23 is a maintenance release. BIND 9.11.24 is a maintenance release. +#### BIND 9.11.25 + +BIND 9.11.25 is a maintenance release. + ### Building BIND Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler, diff --git a/bin/check/named-checkconf.8 b/bin/check/named-checkconf.8 index 05eea8bb76..2eeddeddef 100644 --- a/bin/check/named-checkconf.8 +++ b/bin/check/named-checkconf.8 @@ -9,7 +9,7 @@ '\" t .\" Title: named-checkconf .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-01-10 .\" Manual: BIND9 .\" Source: ISC @@ -35,20 +35,24 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" named-checkconf \- named configuration file syntax checking tool -.SH "SYNOPSIS" -.HP \w'\fBnamed\-checkconf\fR\ 'u -\fBnamed\-checkconf\fR [\fB\-hjvz\fR] [\fB\-p\fR\ [\fB\-x\fR\ ]] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] {filename} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnamed\-checkconf\fR\ 'u + \fBnamed\-checkconf\fR + [\fB\-hjvz\fR] + [\fB\-p\fR\ [\fB\-x\fR\ ]] + [\fB\-t\ \fR\fB\fIdirectory\fR\fR] + {filename} + .SH "DESCRIPTION" + .PP \fBnamed\-checkconf\fR checks the syntax, but not the semantics, of a \fBnamed\fR configuration file\&. The file is parsed and checked for syntax errors, along with all files included by it\&. If no file is specified, /etc/named\&.conf is read by default\&. -.PP + .PP Note: files that \fBnamed\fR reads in separate parser contexts, such as @@ -62,67 +66,67 @@ to fail to run, even if was successful\&. \fBnamed\-checkconf\fR can be run on these files explicitly, however\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-h .RS 4 -Print the usage summary and exit\&. -.RE -.PP + Print the usage summary and exit\&. + .RE + .PP \-j .RS 4 -When loading a zonefile read the journal if it exists\&. -.RE -.PP + When loading a zonefile read the journal if it exists\&. + .RE + .PP \-p .RS 4 -Print out the + Print out the named\&.conf and included files in canonical form if no errors were detected\&. See also the \fB\-x\fR option\&. -.RE -.PP + .RE + .PP \-t \fIdirectory\fR .RS 4 -Chroot to + Chroot to directory so that include directives in the configuration file are processed as if run by a similarly chrooted \fBnamed\fR\&. -.RE -.PP + .RE + .PP \-v .RS 4 -Print the version of the + Print the version of the \fBnamed\-checkconf\fR program and exit\&. -.RE -.PP + .RE + .PP \-x .RS 4 -When printing the configuration files in canonical form, obscure shared secrets by replacing them with strings of question marks (\*(Aq?\*(Aq)\&. This allows the contents of + When printing the configuration files in canonical form, obscure shared secrets by replacing them with strings of question marks (\*(Aq?\*(Aq)\&. This allows the contents of named\&.conf and related files to be shared \(em for example, when submitting bug reports \(em without compromising private data\&. This option cannot be used without \fB\-p\fR\&. -.RE -.PP + .RE + .PP \-z .RS 4 -Perform a test load of all master zones found in + Perform a test load of all master zones found in named\&.conf\&. -.RE -.PP + .RE + .PP filename .RS 4 -The name of the configuration file to be checked\&. If not specified, it defaults to + The name of the configuration file to be checked\&. If not specified, it defaults to /etc/named\&.conf\&. -.RE -.SH "RETURN VALUES" -.PP + .RE + .SH "RETURN VALUES" + .PP \fBnamed\-checkconf\fR returns an exit status of 1 if errors were detected and 0 otherwise\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBnamed\fR(8), \fBnamed-checkzone\fR(8), BIND 9 Administrator Reference Manual\&. diff --git a/bin/check/named-checkconf.html b/bin/check/named-checkconf.html index 388ddc9461..b0f8107573 100644 --- a/bin/check/named-checkconf.html +++ b/bin/check/named-checkconf.html @@ -10,7 +10,7 @@ named-checkconf - +
diff --git a/bin/check/named-checkzone.8 b/bin/check/named-checkzone.8 index 21c15a1892..e2206b0efc 100644 --- a/bin/check/named-checkzone.8 +++ b/bin/check/named-checkzone.8 @@ -9,7 +9,7 @@ '\" t .\" Title: named-checkzone .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-02-19 .\" Manual: BIND9 .\" Source: ISC @@ -35,71 +35,123 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" named-checkzone, named-compilezone \- zone file validity checking or converting tool -.SH "SYNOPSIS" -.HP \w'\fBnamed\-checkzone\fR\ 'u -\fBnamed\-checkzone\fR [\fB\-d\fR] [\fB\-h\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-J\ \fR\fB\fIfilename\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-M\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-l\ \fR\fB\fIttl\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-o\ \fR\fB\fIfilename\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-S\ \fR\fB\fImode\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-T\ \fR\fB\fImode\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {zonename} {filename} -.HP \w'\fBnamed\-compilezone\fR\ 'u -\fBnamed\-compilezone\fR [\fB\-d\fR] [\fB\-j\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-C\ \fR\fB\fImode\fR\fR] [\fB\-f\ \fR\fB\fIformat\fR\fR] [\fB\-F\ \fR\fB\fIformat\fR\fR] [\fB\-J\ \fR\fB\fIfilename\fR\fR] [\fB\-i\ \fR\fB\fImode\fR\fR] [\fB\-k\ \fR\fB\fImode\fR\fR] [\fB\-m\ \fR\fB\fImode\fR\fR] [\fB\-n\ \fR\fB\fImode\fR\fR] [\fB\-l\ \fR\fB\fIttl\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-r\ \fR\fB\fImode\fR\fR] [\fB\-s\ \fR\fB\fIstyle\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-T\ \fR\fB\fImode\fR\fR] [\fB\-w\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-W\ \fR\fB\fImode\fR\fR] {\fB\-o\ \fR\fB\fIfilename\fR\fR} {zonename} {filename} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnamed\-checkzone\fR\ 'u + \fBnamed\-checkzone\fR + [\fB\-d\fR] + [\fB\-h\fR] + [\fB\-j\fR] + [\fB\-q\fR] + [\fB\-v\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-f\ \fR\fB\fIformat\fR\fR] + [\fB\-F\ \fR\fB\fIformat\fR\fR] + [\fB\-J\ \fR\fB\fIfilename\fR\fR] + [\fB\-i\ \fR\fB\fImode\fR\fR] + [\fB\-k\ \fR\fB\fImode\fR\fR] + [\fB\-m\ \fR\fB\fImode\fR\fR] + [\fB\-M\ \fR\fB\fImode\fR\fR] + [\fB\-n\ \fR\fB\fImode\fR\fR] + [\fB\-l\ \fR\fB\fIttl\fR\fR] + [\fB\-L\ \fR\fB\fIserial\fR\fR] + [\fB\-o\ \fR\fB\fIfilename\fR\fR] + [\fB\-r\ \fR\fB\fImode\fR\fR] + [\fB\-s\ \fR\fB\fIstyle\fR\fR] + [\fB\-S\ \fR\fB\fImode\fR\fR] + [\fB\-t\ \fR\fB\fIdirectory\fR\fR] + [\fB\-T\ \fR\fB\fImode\fR\fR] + [\fB\-w\ \fR\fB\fIdirectory\fR\fR] + [\fB\-D\fR] + [\fB\-W\ \fR\fB\fImode\fR\fR] + {zonename} + {filename} + .HP \w'\fBnamed\-compilezone\fR\ 'u + \fBnamed\-compilezone\fR + [\fB\-d\fR] + [\fB\-j\fR] + [\fB\-q\fR] + [\fB\-v\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-C\ \fR\fB\fImode\fR\fR] + [\fB\-f\ \fR\fB\fIformat\fR\fR] + [\fB\-F\ \fR\fB\fIformat\fR\fR] + [\fB\-J\ \fR\fB\fIfilename\fR\fR] + [\fB\-i\ \fR\fB\fImode\fR\fR] + [\fB\-k\ \fR\fB\fImode\fR\fR] + [\fB\-m\ \fR\fB\fImode\fR\fR] + [\fB\-n\ \fR\fB\fImode\fR\fR] + [\fB\-l\ \fR\fB\fIttl\fR\fR] + [\fB\-L\ \fR\fB\fIserial\fR\fR] + [\fB\-r\ \fR\fB\fImode\fR\fR] + [\fB\-s\ \fR\fB\fIstyle\fR\fR] + [\fB\-t\ \fR\fB\fIdirectory\fR\fR] + [\fB\-T\ \fR\fB\fImode\fR\fR] + [\fB\-w\ \fR\fB\fIdirectory\fR\fR] + [\fB\-D\fR] + [\fB\-W\ \fR\fB\fImode\fR\fR] + {\fB\-o\ \fR\fB\fIfilename\fR\fR} + {zonename} + {filename} + .SH "DESCRIPTION" + .PP \fBnamed\-checkzone\fR checks the syntax and integrity of a zone file\&. It performs the same checks as \fBnamed\fR does when loading a zone\&. This makes \fBnamed\-checkzone\fR useful for checking zone files before configuring them into a name server\&. -.PP + .PP \fBnamed\-compilezone\fR is similar to \fBnamed\-checkzone\fR, but it always dumps the zone contents to a specified file in a specified format\&. Additionally, it applies stricter check levels by default, since the dump output will be used as an actual zone file loaded by \fBnamed\fR\&. When manually specified otherwise, the check levels must at least be as strict as those specified in the \fBnamed\fR configuration file\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-d .RS 4 -Enable debugging\&. -.RE -.PP + Enable debugging\&. + .RE + .PP \-h .RS 4 -Print the usage summary and exit\&. -.RE -.PP + Print the usage summary and exit\&. + .RE + .PP \-q .RS 4 -Quiet mode \- exit code only\&. -.RE -.PP + Quiet mode \- exit code only\&. + .RE + .PP \-v .RS 4 -Print the version of the + Print the version of the \fBnamed\-checkzone\fR program and exit\&. -.RE -.PP + .RE + .PP \-j .RS 4 -When loading a zone file, read the journal if it exists\&. The journal file name is assumed to be the zone file name appended with the string + When loading a zone file, read the journal if it exists\&. The journal file name is assumed to be the zone file name appended with the string \&.jnl\&. -.RE -.PP + .RE + .PP \-J \fIfilename\fR .RS 4 -When loading the zone file read the journal from the given file, if it exists\&. (Implies \-j\&.) -.RE -.PP + When loading the zone file read the journal from the given file, if it exists\&. (Implies \-j\&.) + .RE + .PP \-c \fIclass\fR .RS 4 -Specify the class of the zone\&. If not specified, "IN" is assumed\&. -.RE -.PP + Specify the class of the zone\&. If not specified, "IN" is assumed\&. + .RE + .PP \-i \fImode\fR .RS 4 -Perform post\-load zone integrity checks\&. Possible modes are + Perform post\-load zone integrity checks\&. Possible modes are \fB"full"\fR (default), \fB"full\-sibling"\fR, @@ -108,25 +160,25 @@ Perform post\-load zone integrity checks\&. Possible modes are and \fB"none"\fR\&. .sp -Mode + Mode \fB"full"\fR checks that MX records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames)\&. Mode \fB"local"\fR only checks MX records which refer to in\-zone hostnames\&. .sp -Mode + Mode \fB"full"\fR checks that SRV records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames)\&. Mode \fB"local"\fR only checks SRV records which refer to in\-zone hostnames\&. .sp -Mode + Mode \fB"full"\fR checks that delegation NS records refer to A or AAAA record (both in\-zone and out\-of\-zone hostnames)\&. It also checks that glue address records in the zone match those advertised by the child\&. Mode \fB"local"\fR only checks NS records which refer to in\-zone hostnames or that some required glue exists, that is when the nameserver is in a child zone\&. .sp -Mode + Mode \fB"full\-sibling"\fR and \fB"local\-sibling"\fR @@ -136,26 +188,26 @@ and \fB"local"\fR respectively\&. .sp -Mode + Mode \fB"none"\fR disables the checks\&. -.RE -.PP + .RE + .PP \-f \fIformat\fR .RS 4 -Specify the format of the zone file\&. Possible formats are + Specify the format of the zone file\&. Possible formats are \fB"text"\fR (default), \fB"raw"\fR, and \fB"map"\fR\&. -.RE -.PP + .RE + .PP \-F \fIformat\fR .RS 4 -Specify the format of the output file specified\&. For + Specify the format of the output file specified\&. For \fBnamed\-checkzone\fR, this does not cause any effects unless it dumps the zone contents\&. .sp -Possible formats are + Possible formats are \fB"text"\fR (default), which is the standard textual representation of the zone, and \fB"map"\fR, @@ -165,11 +217,11 @@ Possible formats are \fB"raw=N"\fR specifies the format version of the raw zone file: if N is 0, the raw file can be read by any version of \fBnamed\fR; if N is 1, the file can be read by release 9\&.9\&.0 or higher; the default is 1\&. -.RE -.PP + .RE + .PP \-k \fImode\fR .RS 4 -Perform + Perform \fB"check\-names"\fR checks with the specified failure mode\&. Possible modes are \fB"fail"\fR @@ -179,42 +231,42 @@ checks with the specified failure mode\&. Possible modes are (default for \fBnamed\-checkzone\fR) and \fB"ignore"\fR\&. -.RE -.PP + .RE + .PP \-l \fIttl\fR .RS 4 -Sets a maximum permissible TTL for the input file\&. Any record with a TTL higher than this value will cause the zone to be rejected\&. This is similar to using the + Sets a maximum permissible TTL for the input file\&. Any record with a TTL higher than this value will cause the zone to be rejected\&. This is similar to using the \fBmax\-zone\-ttl\fR option in named\&.conf\&. -.RE -.PP + .RE + .PP \-L \fIserial\fR .RS 4 -When compiling a zone to "raw" or "map" format, set the "source serial" value in the header to the specified serial number\&. (This is expected to be used primarily for testing purposes\&.) -.RE -.PP + When compiling a zone to "raw" or "map" format, set the "source serial" value in the header to the specified serial number\&. (This is expected to be used primarily for testing purposes\&.) + .RE + .PP \-m \fImode\fR .RS 4 -Specify whether MX records should be checked to see if they are addresses\&. Possible modes are + Specify whether MX records should be checked to see if they are addresses\&. Possible modes are \fB"fail"\fR, \fB"warn"\fR (default) and \fB"ignore"\fR\&. -.RE -.PP + .RE + .PP \-M \fImode\fR .RS 4 -Check if a MX record refers to a CNAME\&. Possible modes are + Check if a MX record refers to a CNAME\&. Possible modes are \fB"fail"\fR, \fB"warn"\fR (default) and \fB"ignore"\fR\&. -.RE -.PP + .RE + .PP \-n \fImode\fR .RS 4 -Specify whether NS records should be checked to see if they are addresses\&. Possible modes are + Specify whether NS records should be checked to see if they are addresses\&. Possible modes are \fB"fail"\fR (default for \fBnamed\-compilezone\fR), @@ -222,100 +274,100 @@ Specify whether NS records should be checked to see if they are addresses\&. Pos (default for \fBnamed\-checkzone\fR) and \fB"ignore"\fR\&. -.RE -.PP + .RE + .PP \-o \fIfilename\fR .RS 4 -Write zone output to + Write zone output to filename\&. If filename is \- then write to standard out\&. This is mandatory for \fBnamed\-compilezone\fR\&. -.RE -.PP + .RE + .PP \-r \fImode\fR .RS 4 -Check for records that are treated as different by DNSSEC but are semantically equal in plain DNS\&. Possible modes are + Check for records that are treated as different by DNSSEC but are semantically equal in plain DNS\&. Possible modes are \fB"fail"\fR, \fB"warn"\fR (default) and \fB"ignore"\fR\&. -.RE -.PP + .RE + .PP \-s \fIstyle\fR .RS 4 -Specify the style of the dumped zone file\&. Possible styles are + Specify the style of the dumped zone file\&. Possible styles are \fB"full"\fR (default) and \fB"relative"\fR\&. The full format is most suitable for processing automatically by a separate script\&. On the other hand, the relative format is more human\-readable and is thus suitable for editing by hand\&. For \fBnamed\-checkzone\fR this does not cause any effects unless it dumps the zone contents\&. It also does not have any meaning if the output format is not text\&. -.RE -.PP + .RE + .PP \-S \fImode\fR .RS 4 -Check if a SRV record refers to a CNAME\&. Possible modes are + Check if a SRV record refers to a CNAME\&. Possible modes are \fB"fail"\fR, \fB"warn"\fR (default) and \fB"ignore"\fR\&. -.RE -.PP + .RE + .PP \-t \fIdirectory\fR .RS 4 -Chroot to + Chroot to directory so that include directives in the configuration file are processed as if run by a similarly chrooted \fBnamed\fR\&. -.RE -.PP + .RE + .PP \-T \fImode\fR .RS 4 -Check if Sender Policy Framework (SPF) records exist and issues a warning if an SPF\-formatted TXT record is not also present\&. Possible modes are + Check if Sender Policy Framework (SPF) records exist and issues a warning if an SPF\-formatted TXT record is not also present\&. Possible modes are \fB"warn"\fR (default), \fB"ignore"\fR\&. -.RE -.PP + .RE + .PP \-w \fIdirectory\fR .RS 4 -chdir to + chdir to directory so that relative filenames in master file $INCLUDE directives work\&. This is similar to the directory clause in named\&.conf\&. -.RE -.PP + .RE + .PP \-D .RS 4 -Dump zone file in canonical format\&. This is always enabled for + Dump zone file in canonical format\&. This is always enabled for \fBnamed\-compilezone\fR\&. -.RE -.PP + .RE + .PP \-W \fImode\fR .RS 4 -Specify whether to check for non\-terminal wildcards\&. Non\-terminal wildcards are almost always the result of a failure to understand the wildcard matching algorithm (RFC 1034)\&. Possible modes are + Specify whether to check for non\-terminal wildcards\&. Non\-terminal wildcards are almost always the result of a failure to understand the wildcard matching algorithm (RFC 1034)\&. Possible modes are \fB"warn"\fR (default) and \fB"ignore"\fR\&. -.RE -.PP + .RE + .PP zonename .RS 4 -The domain name of the zone being checked\&. -.RE -.PP + The domain name of the zone being checked\&. + .RE + .PP filename .RS 4 -The name of the zone file\&. -.RE -.SH "RETURN VALUES" -.PP + The name of the zone file\&. + .RE + .SH "RETURN VALUES" + .PP \fBnamed\-checkzone\fR returns an exit status of 1 if errors were detected and 0 otherwise\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBnamed\fR(8), \fBnamed-checkconf\fR(8), RFC 1035, diff --git a/bin/check/named-checkzone.html b/bin/check/named-checkzone.html index 5021689ef4..43b35e2cd6 100644 --- a/bin/check/named-checkzone.html +++ b/bin/check/named-checkzone.html @@ -10,7 +10,7 @@ named-checkzone - +
diff --git a/bin/confgen/ddns-confgen.8 b/bin/confgen/ddns-confgen.8 index fa29dc233c..d2a17e29eb 100644 --- a/bin/confgen/ddns-confgen.8 +++ b/bin/confgen/ddns-confgen.8 @@ -9,7 +9,7 @@ '\" t .\" Title: ddns-confgen .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-03-06 .\" Manual: BIND9 .\" Source: ISC @@ -35,26 +35,39 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" ddns-confgen \- ddns key generation tool -.SH "SYNOPSIS" -.HP \w'\fBtsig\-keygen\fR\ 'u -\fBtsig\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-h\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [name] -.HP \w'\fBddns\-confgen\fR\ 'u -\fBddns\-confgen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkeyname\fR\fR] [\fB\-q\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [\-s\ \fIname\fR | \-z\ \fIzone\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBtsig\-keygen\fR\ 'u + \fBtsig\-keygen\fR + [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] + [\fB\-h\fR] + [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] + [name] + .HP \w'\fBddns\-confgen\fR\ 'u + \fBddns\-confgen\fR + [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] + [\fB\-h\fR] + [\fB\-k\ \fR\fB\fIkeyname\fR\fR] + [\fB\-q\fR] + [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] + [ + | \-s\ \fIname\fR + | \-z\ \fIzone\fR + ] + .SH "DESCRIPTION" + .PP \fBtsig\-keygen\fR and \fBddns\-confgen\fR are invocation methods for a utility that generates keys for use in TSIG signing\&. The resulting keys can be used, for example, to secure dynamic DNS updates to a zone or for the \fBrndc\fR command channel\&. -.PP + .PP When run as \fBtsig\-keygen\fR, a domain name can be specified on the command line which will be used as the name of the generated key\&. If no name is specified, the default is \fBtsig\-key\fR\&. -.PP + .PP When run as \fBddns\-confgen\fR, the generated key is accompanied by configuration text and instructions that can be used with \fBnsupdate\fR @@ -65,7 +78,7 @@ when setting up dynamic DNS, including an example statement\&. (This usage similar to the \fBrndc\-confgen\fR command for setting up command channel security\&.) -.PP + .PP Note that \fBnamed\fR itself can configure a local DDNS key for use with @@ -75,21 +88,21 @@ itself can configure a local DDNS key for use with is only needed when a more elaborate configuration is required: for instance, if \fBnsupdate\fR is to be used from a remote system\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-a \fIalgorithm\fR .RS 4 -Specifies the algorithm to use for the TSIG key\&. Available choices are: hmac\-md5, hmac\-sha1, hmac\-sha224, hmac\-sha256, hmac\-sha384 and hmac\-sha512\&. The default is hmac\-sha256\&. Options are case\-insensitive, and the "hmac\-" prefix may be omitted\&. -.RE -.PP + Specifies the algorithm to use for the TSIG key\&. Available choices are: hmac\-md5, hmac\-sha1, hmac\-sha224, hmac\-sha256, hmac\-sha384 and hmac\-sha512\&. The default is hmac\-sha256\&. Options are case\-insensitive, and the "hmac\-" prefix may be omitted\&. + .RE + .PP \-h .RS 4 -Prints a short summary of options and arguments\&. -.RE -.PP + Prints a short summary of options and arguments\&. + .RE + .PP \-k \fIkeyname\fR .RS 4 -Specifies the key name of the DDNS authentication key\&. The default is + Specifies the key name of the DDNS authentication key\&. The default is \fBddns\-key\fR when neither the \fB\-s\fR @@ -100,29 +113,29 @@ option is specified; otherwise, the default is as a separate label followed by the argument of the option, e\&.g\&., \fBddns\-key\&.example\&.com\&.\fR The key name must have the format of a valid domain name, consisting of letters, digits, hyphens and periods\&. -.RE -.PP + .RE + .PP \-q .RS 4 -(\fBddns\-confgen\fR + (\fBddns\-confgen\fR only\&.) Quiet mode: Print only the key, with no explanatory text or usage examples; This is essentially identical to \fBtsig\-keygen\fR\&. -.RE -.PP + .RE + .PP \-r \fIrandomfile\fR .RS 4 -Specifies a source of random data for generating the authorization\&. If the operating system does not provide a + Specifies a source of random data for generating the authorization\&. If the operating system does not provide a /dev/random or equivalent device, the default source of randomness is keyboard input\&. randomdev specifies the name of a character device or file containing random data to be used instead of the default\&. The special value keyboard indicates that keyboard input should be used\&. -.RE -.PP + .RE + .PP \-s \fIname\fR .RS 4 -(\fBddns\-confgen\fR + (\fBddns\-confgen\fR only\&.) Generate configuration example to allow dynamic updates of a single hostname\&. The example \fBnamed\&.conf\fR text shows how to set an update policy for the specified @@ -130,11 +143,11 @@ text shows how to set an update policy for the specified using the "name" nametype\&. The default key name is ddns\-key\&.\fIname\fR\&. Note that the "self" nametype cannot be used, since the name to be updated may differ from the key name\&. This option cannot be used with the \fB\-z\fR option\&. -.RE -.PP + .RE + .PP \-z \fIzone\fR .RS 4 -(\fBddns\-confgen\fR + (\fBddns\-confgen\fR only\&.) Generate configuration example to allow dynamic updates of a zone: The example \fBnamed\&.conf\fR text shows how to set an update policy for the specified @@ -143,9 +156,9 @@ using the "zonesub" nametype, allowing updates to all subdomain names within tha \fIzone\fR\&. This option cannot be used with the \fB\-s\fR option\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP \fBnsupdate\fR(1), \fBnamed.conf\fR(5), \fBnamed\fR(8), diff --git a/bin/confgen/ddns-confgen.html b/bin/confgen/ddns-confgen.html index b8330bd75b..fbf723cb0f 100644 --- a/bin/confgen/ddns-confgen.html +++ b/bin/confgen/ddns-confgen.html @@ -10,7 +10,7 @@ ddns-confgen - +
diff --git a/bin/confgen/rndc-confgen.8 b/bin/confgen/rndc-confgen.8 index 70032ffa18..d8ca78b55b 100644 --- a/bin/confgen/rndc-confgen.8 +++ b/bin/confgen/rndc-confgen.8 @@ -9,7 +9,7 @@ '\" t .\" Title: rndc-confgen .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2013-03-14 .\" Manual: BIND9 .\" Source: ISC @@ -35,13 +35,24 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" rndc-confgen \- rndc key generation tool -.SH "SYNOPSIS" -.HP \w'\fBrndc\-confgen\fR\ 'u -\fBrndc\-confgen\fR [\fB\-a\fR] [\fB\-A\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-c\ \fR\fB\fIkeyfile\fR\fR] [\fB\-h\fR] [\fB\-k\ \fR\fB\fIkeyname\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] [\fB\-s\ \fR\fB\fIaddress\fR\fR] [\fB\-t\ \fR\fB\fIchrootdir\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBrndc\-confgen\fR\ 'u + \fBrndc\-confgen\fR + [\fB\-a\fR] + [\fB\-A\ \fR\fB\fIalgorithm\fR\fR] + [\fB\-b\ \fR\fB\fIkeysize\fR\fR] + [\fB\-c\ \fR\fB\fIkeyfile\fR\fR] + [\fB\-h\fR] + [\fB\-k\ \fR\fB\fIkeyname\fR\fR] + [\fB\-p\ \fR\fB\fIport\fR\fR] + [\fB\-r\ \fR\fB\fIrandomfile\fR\fR] + [\fB\-s\ \fR\fB\fIaddress\fR\fR] + [\fB\-t\ \fR\fB\fIchrootdir\fR\fR] + [\fB\-u\ \fR\fB\fIuser\fR\fR] + .SH "DESCRIPTION" + .PP \fBrndc\-confgen\fR generates configuration files for \fBrndc\fR\&. It can be used as a convenient alternative to writing the @@ -61,11 +72,11 @@ rndc\&.conf file and a \fBcontrols\fR statement altogether\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-a .RS 4 -Do automatic + Do automatic \fBrndc\fR configuration\&. This creates a file rndc\&.key @@ -87,7 +98,7 @@ to communicate with \fBnamed\fR on the local host with no further configuration\&. .sp -Running + Running \fBrndc\-confgen \-a\fR allows BIND 9 and \fBrndc\fR @@ -96,7 +107,7 @@ to be used as drop\-in replacements for BIND 8 and named\&.conf file\&. .sp -If a more elaborate configuration than that generated by + If a more elaborate configuration than that generated by \fBrndc\-confgen \-a\fR is required, for example if rndc is to be used remotely, you should run \fBrndc\-confgen\fR @@ -107,68 +118,68 @@ rndc\&.conf and named\&.conf as directed\&. -.RE -.PP + .RE + .PP \-A \fIalgorithm\fR .RS 4 -Specifies the algorithm to use for the TSIG key\&. Available choices are: hmac\-md5, hmac\-sha1, hmac\-sha224, hmac\-sha256, hmac\-sha384 and hmac\-sha512\&. The default is hmac\-md5 or if MD5 was disabled hmac\-sha256\&. -.RE -.PP + Specifies the algorithm to use for the TSIG key\&. Available choices are: hmac\-md5, hmac\-sha1, hmac\-sha224, hmac\-sha256, hmac\-sha384 and hmac\-sha512\&. The default is hmac\-md5 or if MD5 was disabled hmac\-sha256\&. + .RE + .PP \-b \fIkeysize\fR .RS 4 -Specifies the size of the authentication key in bits\&. Must be between 1 and 512 bits; the default is the hash size\&. -.RE -.PP + Specifies the size of the authentication key in bits\&. Must be between 1 and 512 bits; the default is the hash size\&. + .RE + .PP \-c \fIkeyfile\fR .RS 4 -Used with the + Used with the \fB\-a\fR option to specify an alternate location for rndc\&.key\&. -.RE -.PP + .RE + .PP \-h .RS 4 -Prints a short summary of the options and arguments to + Prints a short summary of the options and arguments to \fBrndc\-confgen\fR\&. -.RE -.PP + .RE + .PP \-k \fIkeyname\fR .RS 4 -Specifies the key name of the rndc authentication key\&. This must be a valid domain name\&. The default is + Specifies the key name of the rndc authentication key\&. This must be a valid domain name\&. The default is \fBrndc\-key\fR\&. -.RE -.PP + .RE + .PP \-p \fIport\fR .RS 4 -Specifies the command channel port where + Specifies the command channel port where \fBnamed\fR listens for connections from \fBrndc\fR\&. The default is 953\&. -.RE -.PP + .RE + .PP \-r \fIrandomfile\fR .RS 4 -Specifies a source of random data for generating the authorization\&. If the operating system does not provide a + Specifies a source of random data for generating the authorization\&. If the operating system does not provide a /dev/random or equivalent device, the default source of randomness is keyboard input\&. randomdev specifies the name of a character device or file containing random data to be used instead of the default\&. The special value keyboard indicates that keyboard input should be used\&. -.RE -.PP + .RE + .PP \-s \fIaddress\fR .RS 4 -Specifies the IP address where + Specifies the IP address where \fBnamed\fR listens for command channel connections from \fBrndc\fR\&. The default is the loopback address 127\&.0\&.0\&.1\&. -.RE -.PP + .RE + .PP \-t \fIchrootdir\fR .RS 4 -Used with the + Used with the \fB\-a\fR option to specify a directory where \fBnamed\fR @@ -176,26 +187,26 @@ will run chrooted\&. An additional copy of the rndc\&.key will be written relative to this directory so that it will be found by the chrooted \fBnamed\fR\&. -.RE -.PP + .RE + .PP \-u \fIuser\fR .RS 4 -Used with the + Used with the \fB\-a\fR option to set the owner of the rndc\&.key file generated\&. If \fB\-t\fR is also specified only the file in the chroot area has its owner changed\&. -.RE -.SH "EXAMPLES" -.PP + .RE + .SH "EXAMPLES" + .PP To allow \fBrndc\fR to be used with no manual configuration, run -.PP + .PP \fBrndc\-confgen \-a\fR -.PP + .PP To print a sample rndc\&.conf file and corresponding @@ -204,10 +215,10 @@ and \fBkey\fR statements to be manually inserted into named\&.conf, run -.PP + .PP \fBrndc\-confgen\fR -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBrndc\fR(8), \fBrndc.conf\fR(5), \fBnamed\fR(8), diff --git a/bin/confgen/rndc-confgen.html b/bin/confgen/rndc-confgen.html index c05c8a5704..46a5e20384 100644 --- a/bin/confgen/rndc-confgen.html +++ b/bin/confgen/rndc-confgen.html @@ -10,7 +10,7 @@ rndc-confgen - +
diff --git a/bin/delv/delv.1 b/bin/delv/delv.1 index 0326a6b92c..de1d902644 100644 --- a/bin/delv/delv.1 +++ b/bin/delv/delv.1 @@ -9,7 +9,7 @@ '\" t .\" Title: delv .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-04-23 .\" Manual: BIND9 .\" Source: ISC @@ -35,44 +35,67 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" delv \- DNS lookup and validation utility -.SH "SYNOPSIS" -.HP \w'\fBdelv\fR\ 'u -\fBdelv\fR [@server] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-a\ \fR\fB\fIanchor\-file\fR\fR] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIlevel\fR\fR] [\fB\-i\fR] [\fB\-m\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [name] [type] [class] [queryopt...] -.HP \w'\fBdelv\fR\ 'u -\fBdelv\fR [\fB\-h\fR] -.HP \w'\fBdelv\fR\ 'u -\fBdelv\fR [\fB\-v\fR] -.HP \w'\fBdelv\fR\ 'u -\fBdelv\fR [queryopt...] [query...] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdelv\fR\ 'u + \fBdelv\fR + [@server] + [ + | [\fB\-4\fR] + | [\fB\-6\fR] + ] + [\fB\-a\ \fR\fB\fIanchor\-file\fR\fR] + [\fB\-b\ \fR\fB\fIaddress\fR\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-d\ \fR\fB\fIlevel\fR\fR] + [\fB\-i\fR] + [\fB\-m\fR] + [\fB\-p\ \fR\fB\fIport#\fR\fR] + [\fB\-q\ \fR\fB\fIname\fR\fR] + [\fB\-t\ \fR\fB\fItype\fR\fR] + [\fB\-x\ \fR\fB\fIaddr\fR\fR] + [name] + [type] + [class] + [queryopt...] + .HP \w'\fBdelv\fR\ 'u + \fBdelv\fR + [\fB\-h\fR] + .HP \w'\fBdelv\fR\ 'u + \fBdelv\fR + [\fB\-v\fR] + .HP \w'\fBdelv\fR\ 'u + \fBdelv\fR + [queryopt...] + [query...] + .SH "DESCRIPTION" + .PP \fBdelv\fR is a tool for sending DNS queries and validating the results, using the same internal resolver and validator logic as \fBnamed\fR\&. -.PP + .PP \fBdelv\fR will send to a specified name server all queries needed to fetch and validate the requested data; this includes the original requested query, subsequent queries to follow CNAME or DNAME chains, and queries for DNSKEY, DS and DLV records to establish a chain of trust for DNSSEC validation\&. It does not perform iterative resolution, but simulates the behavior of a name server configured for DNSSEC validating and forwarding\&. -.PP + .PP By default, responses are validated using built\-in DNSSEC trust anchor for the root zone ("\&.")\&. Records returned by \fBdelv\fR are either fully validated or were not signed\&. If validation fails, an explanation of the failure is included in the output; the validation process can be traced in detail\&. Because \fBdelv\fR does not rely on an external server to carry out validation, it can be used to check the validity of DNS responses in environments where local name servers may not be trustworthy\&. -.PP + .PP Unless it is told to query a specific name server, \fBdelv\fR will try each of the servers listed in /etc/resolv\&.conf\&. If no usable server addresses are found, \fBdelv\fR will send queries to the localhost addresses (127\&.0\&.0\&.1 for IPv4, ::1 for IPv6)\&. -.PP + .PP When no command line arguments or options are given, \fBdelv\fR will perform an NS query for "\&." (the root zone)\&. -.SH "SIMPLE USAGE" -.PP + .SH "SIMPLE USAGE" + .PP A typical invocation of \fBdelv\fR looks like: @@ -88,10 +111,10 @@ looks like: .\} .sp where: -.PP + .PP \fBserver\fR .RS 4 -is the name or IP address of the name server to query\&. This can be an IPv4 address in dotted\-decimal notation or an IPv6 address in colon\-delimited notation\&. When the supplied + is the name or IP address of the name server to query\&. This can be an IPv4 address in dotted\-decimal notation or an IPv6 address in colon\-delimited notation\&. When the supplied \fIserver\fR argument is a hostname, \fBdelv\fR @@ -99,7 +122,7 @@ resolves that name before querying that name server (note, however, that this in \fInot\fR validated by DNSSEC)\&. .sp -If no + If no \fIserver\fR argument is provided, \fBdelv\fR @@ -111,39 +134,39 @@ or options are in use, then only addresses for the corresponding transport will be tried\&. If no usable addresses are found, \fBdelv\fR will send queries to the localhost addresses (127\&.0\&.0\&.1 for IPv4, ::1 for IPv6)\&. -.RE -.PP + .RE + .PP \fBname\fR .RS 4 -is the domain name to be looked up\&. -.RE -.PP + is the domain name to be looked up\&. + .RE + .PP \fBtype\fR .RS 4 -indicates what type of query is required \(em ANY, A, MX, etc\&. + indicates what type of query is required \(em ANY, A, MX, etc\&. \fItype\fR can be any valid query type\&. If no \fItype\fR argument is supplied, \fBdelv\fR will perform a lookup for an A record\&. -.RE -.SH "OPTIONS" -.PP + .RE + .SH "OPTIONS" + .PP \-a \fIanchor\-file\fR .RS 4 -Specifies a file from which to read DNSSEC trust anchors\&. The default is + Specifies a file from which to read DNSSEC trust anchors\&. The default is /etc/bind\&.keys, which is included with BIND 9 and contains one or more trust anchors for the root zone ("\&.")\&. .sp -Keys that do not match the root zone name are ignored\&. An alternate key name can be specified using the + Keys that do not match the root zone name are ignored\&. An alternate key name can be specified using the \fB+root=NAME\fR options\&. DNSSEC Lookaside Validation can also be turned on by using the \fB+dlv=NAME\fR to specify the name of a zone containing DLV records\&. .sp -Note: When reading the trust anchor file, + Note: When reading the trust anchor file, \fBdelv\fR treats \fBmanaged\-keys\fR @@ -160,24 +183,24 @@ is revoked and rolled over, it will be necessary to update /etc/bind\&.keys to use DNSSEC validation in \fBdelv\fR\&. -.RE -.PP + .RE + .PP \-b \fIaddress\fR .RS 4 -Sets the source IP address of the query to + Sets the source IP address of the query to \fIaddress\fR\&. This must be a valid address on one of the host\*(Aqs network interfaces or "0\&.0\&.0\&.0" or "::"\&. An optional source port may be specified by appending "#" -.RE -.PP + .RE + .PP \-c \fIclass\fR .RS 4 -Sets the query class for the requested data\&. Currently, only class "IN" is supported in + Sets the query class for the requested data\&. Currently, only class "IN" is supported in \fBdelv\fR and any other value is ignored\&. -.RE -.PP + .RE + .PP \-d \fIlevel\fR .RS 4 -Set the systemwide debug level to + Set the systemwide debug level to \fBlevel\fR\&. The allowed range is from 0 to 99\&. The default is 0 (no debugging)\&. Debugging traces from \fBdelv\fR become more verbose as the debug level increases\&. See the @@ -185,61 +208,61 @@ become more verbose as the debug level increases\&. See the \fB+rtrace\fR, and \fB+vtrace\fR options below for additional debugging details\&. -.RE -.PP + .RE + .PP \-h .RS 4 -Display the + Display the \fBdelv\fR help usage output and exit\&. -.RE -.PP + .RE + .PP \-i .RS 4 -Insecure mode\&. This disables internal DNSSEC validation\&. (Note, however, this does not set the CD bit on upstream queries\&. If the server being queried is performing DNSSEC validation, then it will not return invalid data; this can cause + Insecure mode\&. This disables internal DNSSEC validation\&. (Note, however, this does not set the CD bit on upstream queries\&. If the server being queried is performing DNSSEC validation, then it will not return invalid data; this can cause \fBdelv\fR to time out\&. When it is necessary to examine invalid data to debug a DNSSEC problem, use \fBdig +cd\fR\&.) -.RE -.PP + .RE + .PP \-m .RS 4 -Enables memory usage debugging\&. -.RE -.PP + Enables memory usage debugging\&. + .RE + .PP \-p \fIport#\fR .RS 4 -Specifies a destination port to use for queries instead of the standard DNS port number 53\&. This option would be used with a name server that has been configured to listen for queries on a non\-standard port number\&. -.RE -.PP + Specifies a destination port to use for queries instead of the standard DNS port number 53\&. This option would be used with a name server that has been configured to listen for queries on a non\-standard port number\&. + .RE + .PP \-q \fIname\fR .RS 4 -Sets the query name to + Sets the query name to \fIname\fR\&. While the query name can be specified without using the \fB\-q\fR, it is sometimes necessary to disambiguate names from types or classes (for example, when looking up the name "ns", which could be misinterpreted as the type NS, or "ch", which could be misinterpreted as class CH)\&. -.RE -.PP + .RE + .PP \-t \fItype\fR .RS 4 -Sets the query type to + Sets the query type to \fItype\fR, which can be any valid query type supported in BIND 9 except for zone transfer types AXFR and IXFR\&. As with \fB\-q\fR, this is useful to distinguish query name type or class when they are ambiguous\&. it is sometimes necessary to disambiguate names from types\&. .sp -The default query type is "A", unless the + The default query type is "A", unless the \fB\-x\fR option is supplied to indicate a reverse lookup, in which case it is "PTR"\&. -.RE -.PP + .RE + .PP \-v .RS 4 -Print the + Print the \fBdelv\fR version and exit\&. -.RE -.PP + .RE + .PP \-x \fIaddr\fR .RS 4 -Performs a reverse lookup, mapping an addresses to a name\&. + Performs a reverse lookup, mapping an addresses to a name\&. \fIaddr\fR is an IPv4 address in dotted\-decimal notation, or a colon\-delimited IPv6 address\&. When \fB\-x\fR @@ -252,108 +275,108 @@ arguments\&. automatically performs a lookup for a name like 11\&.12\&.13\&.10\&.in\-addr\&.arpa and sets the query type to PTR\&. IPv6 addresses are looked up using nibble format under the IP6\&.ARPA domain\&. -.RE -.PP + .RE + .PP \-4 .RS 4 -Forces + Forces \fBdelv\fR to only use IPv4\&. -.RE -.PP + .RE + .PP \-6 .RS 4 -Forces + Forces \fBdelv\fR to only use IPv6\&. -.RE -.SH "QUERY OPTIONS" -.PP + .RE + .SH "QUERY OPTIONS" + .PP \fBdelv\fR provides a number of query options which affect the way results are displayed, and in some cases the way lookups are performed\&. -.PP + .PP Each query option is identified by a keyword preceded by a plus sign (+)\&. Some keywords set or reset an option\&. These may be preceded by the string no to negate the meaning of that keyword\&. Other keywords assign values to options like the timeout interval\&. They have the form \fB+keyword=value\fR\&. The query options are: -.PP + .PP \fB+[no]cdflag\fR .RS 4 -Controls whether to set the CD (checking disabled) bit in queries sent by + Controls whether to set the CD (checking disabled) bit in queries sent by \fBdelv\fR\&. This may be useful when troubleshooting DNSSEC problems from behind a validating resolver\&. A validating resolver will block invalid responses, making it difficult to retrieve them for analysis\&. Setting the CD flag on queries will cause the resolver to return invalid responses, which \fBdelv\fR can then validate internally and report the errors in detail\&. -.RE -.PP + .RE + .PP \fB+[no]class\fR .RS 4 -Controls whether to display the CLASS when printing a record\&. The default is to display the CLASS\&. -.RE -.PP + Controls whether to display the CLASS when printing a record\&. The default is to display the CLASS\&. + .RE + .PP \fB+[no]ttl\fR .RS 4 -Controls whether to display the TTL when printing a record\&. The default is to display the TTL\&. -.RE -.PP + Controls whether to display the TTL when printing a record\&. The default is to display the TTL\&. + .RE + .PP \fB+[no]rtrace\fR .RS 4 -Toggle resolver fetch logging\&. This reports the name and type of each query sent by + Toggle resolver fetch logging\&. This reports the name and type of each query sent by \fBdelv\fR in the process of carrying out the resolution and validation process: this includes including the original query and all subsequent queries to follow CNAMEs and to establish a chain of trust for DNSSEC validation\&. .sp -This is equivalent to setting the debug level to 1 in the "resolver" logging category\&. Setting the systemwide debug level to 1 using the + This is equivalent to setting the debug level to 1 in the "resolver" logging category\&. Setting the systemwide debug level to 1 using the \fB\-d\fR option will product the same output (but will affect other logging categories as well)\&. -.RE -.PP + .RE + .PP \fB+[no]mtrace\fR .RS 4 -Toggle message logging\&. This produces a detailed dump of the responses received by + Toggle message logging\&. This produces a detailed dump of the responses received by \fBdelv\fR in the process of carrying out the resolution and validation process\&. .sp -This is equivalent to setting the debug level to 10 for the "packets" module of the "resolver" logging category\&. Setting the systemwide debug level to 10 using the + This is equivalent to setting the debug level to 10 for the "packets" module of the "resolver" logging category\&. Setting the systemwide debug level to 10 using the \fB\-d\fR option will produce the same output (but will affect other logging categories as well)\&. -.RE -.PP + .RE + .PP \fB+[no]vtrace\fR .RS 4 -Toggle validation logging\&. This shows the internal process of the validator as it determines whether an answer is validly signed, unsigned, or invalid\&. + Toggle validation logging\&. This shows the internal process of the validator as it determines whether an answer is validly signed, unsigned, or invalid\&. .sp -This is equivalent to setting the debug level to 3 for the "validator" module of the "dnssec" logging category\&. Setting the systemwide debug level to 3 using the + This is equivalent to setting the debug level to 3 for the "validator" module of the "dnssec" logging category\&. Setting the systemwide debug level to 3 using the \fB\-d\fR option will produce the same output (but will affect other logging categories as well)\&. -.RE -.PP + .RE + .PP \fB+[no]short\fR .RS 4 -Provide a terse answer\&. The default is to print the answer in a verbose form\&. -.RE -.PP + Provide a terse answer\&. The default is to print the answer in a verbose form\&. + .RE + .PP \fB+[no]comments\fR .RS 4 -Toggle the display of comment lines in the output\&. The default is to print comments\&. -.RE -.PP + Toggle the display of comment lines in the output\&. The default is to print comments\&. + .RE + .PP \fB+[no]rrcomments\fR .RS 4 -Toggle the display of per\-record comments in the output (for example, human\-readable key information about DNSKEY records)\&. The default is to print per\-record comments\&. -.RE -.PP + Toggle the display of per\-record comments in the output (for example, human\-readable key information about DNSKEY records)\&. The default is to print per\-record comments\&. + .RE + .PP \fB+[no]crypto\fR .RS 4 -Toggle the display of cryptographic fields in DNSSEC records\&. The contents of these field are unnecessary to debug most DNSSEC validation failures and removing them makes it easier to see the common failures\&. The default is to display the fields\&. When omitted they are replaced by the string "[omitted]" or in the DNSKEY case the key id is displayed as the replacement, e\&.g\&. "[ key id = value ]"\&. -.RE -.PP + Toggle the display of cryptographic fields in DNSSEC records\&. The contents of these field are unnecessary to debug most DNSSEC validation failures and removing them makes it easier to see the common failures\&. The default is to display the fields\&. When omitted they are replaced by the string "[omitted]" or in the DNSKEY case the key id is displayed as the replacement, e\&.g\&. "[ key id = value ]"\&. + .RE + .PP \fB+[no]trust\fR .RS 4 -Controls whether to display the trust level when printing a record\&. The default is to display the trust level\&. -.RE -.PP + Controls whether to display the trust level when printing a record\&. The default is to display the trust level\&. + .RE + .PP \fB+[no]split[=W]\fR .RS 4 -Split long hex\- or base64\-formatted fields in resource records into chunks of + Split long hex\- or base64\-formatted fields in resource records into chunks of \fIW\fR characters (where \fIW\fR @@ -362,27 +385,27 @@ is rounded up to the nearest multiple of 4)\&. or \fI+split=0\fR causes fields not to be split at all\&. The default is 56 characters, or 44 characters when multiline mode is active\&. -.RE -.PP + .RE + .PP \fB+[no]all\fR .RS 4 -Set or clear the display options + Set or clear the display options \fB+[no]comments\fR, \fB+[no]rrcomments\fR, and \fB+[no]trust\fR as a group\&. -.RE -.PP + .RE + .PP \fB+[no]multiline\fR .RS 4 -Print long records (such as RRSIG, DNSKEY, and SOA records) in a verbose multi\-line format with human\-readable comments\&. The default is to print each record on a single line, to facilitate machine parsing of the + Print long records (such as RRSIG, DNSKEY, and SOA records) in a verbose multi\-line format with human\-readable comments\&. The default is to print each record on a single line, to facilitate machine parsing of the \fBdelv\fR output\&. -.RE -.PP + .RE + .PP \fB+[no]dnssec\fR .RS 4 -Indicates whether to display RRSIG records in the + Indicates whether to display RRSIG records in the \fBdelv\fR output\&. The default is to do so\&. Note that (unlike in \fBdig\fR) this does @@ -393,38 +416,38 @@ or \fB+noroot\fR and \fB+nodlv\fR\&. -.RE -.PP + .RE + .PP \fB+[no]root[=ROOT]\fR .RS 4 -Indicates whether to perform conventional (non\-lookaside) DNSSEC validation, and if so, specifies the name of a trust anchor\&. The default is to validate using a trust anchor of "\&." (the root zone), for which there is a built\-in key\&. If specifying a different trust anchor, then + Indicates whether to perform conventional (non\-lookaside) DNSSEC validation, and if so, specifies the name of a trust anchor\&. The default is to validate using a trust anchor of "\&." (the root zone), for which there is a built\-in key\&. If specifying a different trust anchor, then \fB\-a\fR must be used to specify a file containing the key\&. -.RE -.PP + .RE + .PP \fB+[no]dlv[=DLV]\fR .RS 4 -Indicates whether to perform DNSSEC lookaside validation, and if so, specifies the name of the DLV trust anchor\&. The + Indicates whether to perform DNSSEC lookaside validation, and if so, specifies the name of the DLV trust anchor\&. The \fB\-a\fR option must also be used to specify a file containing the DLV key\&. -.RE -.PP + .RE + .PP \fB+[no]tcp\fR .RS 4 -Controls whether to use TCP when sending queries\&. The default is to use UDP unless a truncated response has been received\&. -.RE -.PP + Controls whether to use TCP when sending queries\&. The default is to use UDP unless a truncated response has been received\&. + .RE + .PP \fB+[no]unknownformat\fR .RS 4 -Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&. -.RE -.SH "FILES" -.PP + Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&. + .RE + .SH "FILES" + .PP /etc/bind\&.keys -.PP + .PP /etc/resolv\&.conf -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBdig\fR(1), \fBnamed\fR(8), RFC4034, diff --git a/bin/delv/delv.html b/bin/delv/delv.html index 01f24f24c0..ce31744f45 100644 --- a/bin/delv/delv.html +++ b/bin/delv/delv.html @@ -10,7 +10,7 @@ delv - +
diff --git a/bin/dig/dig.1 b/bin/dig/dig.1 index 6c8faeddf9..1b7d09a38e 100644 --- a/bin/dig/dig.1 +++ b/bin/dig/dig.1 @@ -9,7 +9,7 @@ '\" t .\" Title: dig .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-02-19 .\" Manual: BIND9 .\" Source: ISC @@ -35,23 +35,46 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dig \- DNS lookup utility -.SH "SYNOPSIS" -.HP \w'\fBdig\fR\ 'u -\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-m\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [name] [type] [class] [queryopt...] -.HP \w'\fBdig\fR\ 'u -\fBdig\fR [\fB\-h\fR] -.HP \w'\fBdig\fR\ 'u -\fBdig\fR [global\-queryopt...] [query...] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdig\fR\ 'u + \fBdig\fR + [@server] + [\fB\-b\ \fR\fB\fIaddress\fR\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-f\ \fR\fB\fIfilename\fR\fR] + [\fB\-k\ \fR\fB\fIfilename\fR\fR] + [\fB\-m\fR] + [\fB\-p\ \fR\fB\fIport#\fR\fR] + [\fB\-q\ \fR\fB\fIname\fR\fR] + [\fB\-t\ \fR\fB\fItype\fR\fR] + [\fB\-v\fR] + [\fB\-x\ \fR\fB\fIaddr\fR\fR] + [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] + [ + | [\fB\-4\fR] + | [\fB\-6\fR] + ] + [name] + [type] + [class] + [queryopt...] + .HP \w'\fBdig\fR\ 'u + \fBdig\fR + [\fB\-h\fR] + .HP \w'\fBdig\fR\ 'u + \fBdig\fR + [global\-queryopt...] + [query...] + .SH "DESCRIPTION" + .PP \fBdig\fR is a flexible tool for interrogating DNS name servers\&. It performs DNS lookups and displays the answers that are returned from the name server(s) that were queried\&. Most DNS administrators use \fBdig\fR to troubleshoot DNS problems because of its flexibility, ease of use and clarity of output\&. Other lookup tools tend to have less functionality than \fBdig\fR\&. -.PP + .PP Although \fBdig\fR is normally used with command\-line arguments, it also has a batch mode of operation for reading lookup requests from a file\&. A brief summary of its command\-line arguments and options is printed when the @@ -59,25 +82,25 @@ is normally used with command\-line arguments, it also has a batch mode of opera option is given\&. Unlike earlier versions, the BIND 9 implementation of \fBdig\fR allows multiple lookups to be issued from the command line\&. -.PP + .PP Unless it is told to query a specific name server, \fBdig\fR will try each of the servers listed in /etc/resolv\&.conf\&. If no usable server addresses are found, \fBdig\fR will send the query to the local host\&. -.PP + .PP When no command line arguments or options are given, \fBdig\fR will perform an NS query for "\&." (the root)\&. -.PP + .PP It is possible to set per\-user defaults for \fBdig\fR via ${HOME}/\&.digrc\&. This file is read and any options in it are applied before the command line arguments\&. The \fB\-r\fR option disables this feature, for scripts that need predictable behaviour\&. -.PP + .PP The IN and CH class names overlap with the IN and CH top level domain names\&. Either use the \fB\-t\fR and @@ -85,8 +108,8 @@ and options to specify the type and class, use the \fB\-q\fR the specify the domain name, or use "IN\&." and "CH\&." when looking up these top level domains\&. -.SH "SIMPLE USAGE" -.PP + .SH "SIMPLE USAGE" + .PP A typical invocation of \fBdig\fR looks like: @@ -102,16 +125,16 @@ looks like: .\} .sp where: -.PP + .PP \fBserver\fR .RS 4 -is the name or IP address of the name server to query\&. This can be an IPv4 address in dotted\-decimal notation or an IPv6 address in colon\-delimited notation\&. When the supplied + is the name or IP address of the name server to query\&. This can be an IPv4 address in dotted\-decimal notation or an IPv6 address in colon\-delimited notation\&. When the supplied \fIserver\fR argument is a hostname, \fBdig\fR resolves that name before querying that name server\&. .sp -If no + If no \fIserver\fR argument is provided, \fBdig\fR @@ -123,67 +146,67 @@ or options are in use, then only addresses for the corresponding transport will be tried\&. If no usable addresses are found, \fBdig\fR will send the query to the local host\&. The reply from the name server that responds is displayed\&. -.RE -.PP + .RE + .PP \fBname\fR .RS 4 -is the name of the resource record that is to be looked up\&. -.RE -.PP + is the name of the resource record that is to be looked up\&. + .RE + .PP \fBtype\fR .RS 4 -indicates what type of query is required \(em ANY, A, MX, SIG, etc\&. + indicates what type of query is required \(em ANY, A, MX, SIG, etc\&. \fItype\fR can be any valid query type\&. If no \fItype\fR argument is supplied, \fBdig\fR will perform a lookup for an A record\&. -.RE -.SH "OPTIONS" -.PP + .RE + .SH "OPTIONS" + .PP \-4 .RS 4 -Use IPv4 only\&. -.RE -.PP + Use IPv4 only\&. + .RE + .PP \-6 .RS 4 -Use IPv6 only\&. -.RE -.PP + Use IPv6 only\&. + .RE + .PP \-b \fIaddress\fR\fI[#port]\fR .RS 4 -Set the source IP address of the query\&. The + Set the source IP address of the query\&. The \fIaddress\fR must be a valid address on one of the host\*(Aqs network interfaces, or "0\&.0\&.0\&.0" or "::"\&. An optional port may be specified by appending "#" -.RE -.PP + .RE + .PP \-c \fIclass\fR .RS 4 -Set the query class\&. The default + Set the query class\&. The default \fIclass\fR is IN; other classes are HS for Hesiod records or CH for Chaosnet records\&. -.RE -.PP + .RE + .PP \-f \fIfile\fR .RS 4 -Batch mode: + Batch mode: \fBdig\fR reads a list of lookup requests to process from the given \fIfile\fR\&. Each line in the file should be organized in the same way they would be presented as queries to \fBdig\fR using the command\-line interface\&. -.RE -.PP + .RE + .PP \-i .RS 4 -Do reverse IPv6 lookups using the obsolete RFC 1886 IP6\&.INT domain, which is no longer in use\&. Obsolete bit string label queries (RFC 2874) are not attempted\&. -.RE -.PP + Do reverse IPv6 lookups using the obsolete RFC 1886 IP6\&.INT domain, which is no longer in use\&. Obsolete bit string label queries (RFC 2874) are not attempted\&. + .RE + .PP \-k \fIkeyfile\fR .RS 4 -Sign queries using TSIG using a key read from the given file\&. Key files can be generated using + Sign queries using TSIG using a key read from the given file\&. Key files can be generated using \fBtsig-keygen\fR(8)\&. When using TSIG authentication with \fBdig\fR, the name server that is queried needs to know the key and algorithm that is being used\&. In BIND, this is done by providing appropriate \fBkey\fR @@ -191,34 +214,34 @@ and \fBserver\fR statements in named\&.conf\&. -.RE -.PP + .RE + .PP \-m .RS 4 -Enable memory usage debugging\&. -.RE -.PP + Enable memory usage debugging\&. + .RE + .PP \-p \fIport\fR .RS 4 -Send the query to a non\-standard port on the server, instead of the default port 53\&. This option would be used to test a name server that has been configured to listen for queries on a non\-standard port number\&. -.RE -.PP + Send the query to a non\-standard port on the server, instead of the default port 53\&. This option would be used to test a name server that has been configured to listen for queries on a non\-standard port number\&. + .RE + .PP \-q \fIname\fR .RS 4 -The domain name to query\&. This is useful to distinguish the + The domain name to query\&. This is useful to distinguish the \fIname\fR from other arguments\&. -.RE -.PP + .RE + .PP \-r .RS 4 -Do not read options from + Do not read options from ${HOME}/\&.digrc\&. This is useful for scripts that need predictable behaviour\&. -.RE -.PP + .RE + .PP \-t \fItype\fR .RS 4 -The resource record type to query\&. It can be any valid query type\&. If it is a resource record type supported in BIND 9, it can be given by the type mnemonic (such as "NS" or "AAAA")\&. The default query type is "A", unless the + The resource record type to query\&. It can be any valid query type\&. If it is a resource record type supported in BIND 9, it can be given by the type mnemonic (such as "NS" or "AAAA")\&. The default query type is "A", unless the \fB\-x\fR option is supplied to indicate a reverse lookup\&. A zone transfer can be requested by specifying a type of AXFR\&. When an incremental zone transfer (IXFR) is required, set the \fItype\fR @@ -226,22 +249,22 @@ to ixfr=N\&. The incremental zone transfer will contain the changes made to the zone since the serial number in the zone\*(Aqs SOA record was \fIN\fR\&. .sp -All resource record types can be expressed as "TYPEnn", where "nn" is the number of the type\&. If the resource record type is not supported in BIND 9, the result will be displayed as described in RFC 3597\&. -.RE -.PP + All resource record types can be expressed as "TYPEnn", where "nn" is the number of the type\&. If the resource record type is not supported in BIND 9, the result will be displayed as described in RFC 3597\&. + .RE + .PP \-u .RS 4 -Print query times in microseconds instead of milliseconds\&. -.RE -.PP + Print query times in microseconds instead of milliseconds\&. + .RE + .PP \-v .RS 4 -Print the version number and exit\&. -.RE -.PP + Print the version number and exit\&. + .RE + .PP \-x \fIaddr\fR .RS 4 -Simplified reverse lookups, for mapping addresses to names\&. The + Simplified reverse lookups, for mapping addresses to names\&. The \fIaddr\fR is an IPv4 address in dotted\-decimal notation, or a colon\-delimited IPv6 address\&. When the \fB\-x\fR @@ -257,11 +280,11 @@ automatically performs a lookup for a name like and sets the query type and class to PTR and IN respectively\&. IPv6 addresses are looked up using nibble format under the IP6\&.ARPA domain (but see also the \fB\-i\fR option)\&. -.RE -.PP + .RE + .PP \-y \fI[hmac:]\fR\fIkeyname:secret\fR .RS 4 -Sign queries using TSIG with the given authentication key\&. + Sign queries using TSIG with the given authentication key\&. \fIkeyname\fR is the name of the key, and \fIsecret\fR @@ -280,7 +303,7 @@ hmac\-md5 or if MD5 was disabled hmac\-sha256\&. .sp -NOTE: You should use the + NOTE: You should use the \fB\-k\fR option and avoid the \fB\-y\fR @@ -289,12 +312,12 @@ option, because with the shared secret is supplied as a command line argument in clear text\&. This may be visible in the output from \fBps\fR(1) or in a history file maintained by the user\*(Aqs shell\&. -.RE -.SH "QUERY OPTIONS" -.PP + .RE + .SH "QUERY OPTIONS" + .PP \fBdig\fR provides a number of query options which affect the way in which lookups are made and the results displayed\&. Some of these set or reset flag bits in the query header, some determine which sections of the answer get printed, and others determine the timeout and retry strategies\&. -.PP + .PP Each query option is identified by a keyword preceded by a plus sign (+)\&. Some keywords set or reset an option\&. These may be preceded by the string no to negate the meaning of that keyword\&. Other keywords assign values to options like the timeout interval\&. They have the form @@ -302,56 +325,56 @@ to negate the meaning of that keyword\&. Other keywords assign values to options +cd is equivalent to +cdflag\&. The query options are: -.PP + .PP \fB+[no]aaflag\fR .RS 4 -A synonym for + A synonym for \fI+[no]aaonly\fR\&. -.RE -.PP + .RE + .PP \fB+[no]aaonly\fR .RS 4 -Sets the "aa" flag in the query\&. -.RE -.PP + Sets the "aa" flag in the query\&. + .RE + .PP \fB+[no]additional\fR .RS 4 -Display [do not display] the additional section of a reply\&. The default is to display it\&. -.RE -.PP + Display [do not display] the additional section of a reply\&. The default is to display it\&. + .RE + .PP \fB+[no]adflag\fR .RS 4 -Set [do not set] the AD (authentic data) bit in the query\&. This requests the server to return whether all of the answer and authority sections have all been validated as secure according to the security policy of the server\&. AD=1 indicates that all records have been validated as secure and the answer is not from a OPT\-OUT range\&. AD=0 indicate that some part of the answer was insecure or not validated\&. This bit is set by default\&. -.RE -.PP + Set [do not set] the AD (authentic data) bit in the query\&. This requests the server to return whether all of the answer and authority sections have all been validated as secure according to the security policy of the server\&. AD=1 indicates that all records have been validated as secure and the answer is not from a OPT\-OUT range\&. AD=0 indicate that some part of the answer was insecure or not validated\&. This bit is set by default\&. + .RE + .PP \fB+[no]all\fR .RS 4 -Set or clear all display flags\&. -.RE -.PP + Set or clear all display flags\&. + .RE + .PP \fB+[no]answer\fR .RS 4 -Display [do not display] the answer section of a reply\&. The default is to display it\&. -.RE -.PP + Display [do not display] the answer section of a reply\&. The default is to display it\&. + .RE + .PP \fB+[no]authority\fR .RS 4 -Display [do not display] the authority section of a reply\&. The default is to display it\&. -.RE -.PP + Display [do not display] the authority section of a reply\&. The default is to display it\&. + .RE + .PP \fB+[no]badcookie\fR .RS 4 -Retry lookup with the new server cookie if a BADCOOKIE response is received\&. -.RE -.PP + Retry lookup with the new server cookie if a BADCOOKIE response is received\&. + .RE + .PP \fB+[no]besteffort\fR .RS 4 -Attempt to display the contents of messages which are malformed\&. The default is to not display malformed answers\&. -.RE -.PP + Attempt to display the contents of messages which are malformed\&. The default is to not display malformed answers\&. + .RE + .PP \fB+bufsize=B\fR .RS 4 -This option sets the UDP message buffer size advertised using EDNS0 to + This option sets the UDP message buffer size advertised using EDNS0 to \fIB\fR bytes\&. The maximum and minimum sizes of this buffer are 65535 and 0, respectively\&. +bufsize=0 @@ -360,97 +383,97 @@ disables EDNS (use to send a EDNS messages with a advertised size of 0 bytes)\&. +bufsize restores the default buffer size\&. -.RE -.PP + .RE + .PP \fB+[no]cdflag\fR .RS 4 -Set [do not set] the CD (checking disabled) bit in the query\&. This requests the server to not perform DNSSEC validation of responses\&. -.RE -.PP + Set [do not set] the CD (checking disabled) bit in the query\&. This requests the server to not perform DNSSEC validation of responses\&. + .RE + .PP \fB+[no]class\fR .RS 4 -Display [do not display] the CLASS when printing the record\&. -.RE -.PP + Display [do not display] the CLASS when printing the record\&. + .RE + .PP \fB+[no]cmd\fR .RS 4 -Toggles the printing of the initial comment in the output, identifying the version of + Toggles the printing of the initial comment in the output, identifying the version of \fBdig\fR and the query options that have been applied\&. This option always has global effect; it cannot be set globally and then overridden on a per\-lookup basis\&. The default is to print this comment\&. -.RE -.PP + .RE + .PP \fB+[no]comments\fR .RS 4 -Toggles the display of some comment lines in the output, containing information about the packet header and OPT pseudosection, and the names of the response section\&. The default is to print these comments\&. + Toggles the display of some comment lines in the output, containing information about the packet header and OPT pseudosection, and the names of the response section\&. The default is to print these comments\&. .sp -Other types of comments in the output are not affected by this option, but can be controlled using other command line switches\&. These include + Other types of comments in the output are not affected by this option, but can be controlled using other command line switches\&. These include \fB+[no]cmd\fR, \fB+[no]question\fR, \fB+[no]stats\fR, and \fB+[no]rrcomments\fR\&. -.RE -.PP + .RE + .PP \fB+[no]cookie\fR\fB[=####]\fR .RS 4 -Send a COOKIE EDNS option, with optional value\&. Replaying a COOKIE from a previous response will allow the server to identify a previous client\&. The default is + Send a COOKIE EDNS option, with optional value\&. Replaying a COOKIE from a previous response will allow the server to identify a previous client\&. The default is \fB+cookie\fR\&. .sp -\fB+cookie\fR + \fB+cookie\fR is also set when +trace is set to better emulate the default queries from a nameserver\&. -.RE -.PP + .RE + .PP \fB+[no]crypto\fR .RS 4 -Toggle the display of cryptographic fields in DNSSEC records\&. The contents of these field are unnecessary to debug most DNSSEC validation failures and removing them makes it easier to see the common failures\&. The default is to display the fields\&. When omitted they are replaced by the string "[omitted]" or in the DNSKEY case the key id is displayed as the replacement, e\&.g\&. "[ key id = value ]"\&. -.RE -.PP + Toggle the display of cryptographic fields in DNSSEC records\&. The contents of these field are unnecessary to debug most DNSSEC validation failures and removing them makes it easier to see the common failures\&. The default is to display the fields\&. When omitted they are replaced by the string "[omitted]" or in the DNSKEY case the key id is displayed as the replacement, e\&.g\&. "[ key id = value ]"\&. + .RE + .PP \fB+[no]defname\fR .RS 4 -Deprecated, treated as a synonym for + Deprecated, treated as a synonym for \fI+[no]search\fR -.RE -.PP + .RE + .PP \fB+[no]dnssec\fR .RS 4 -Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query\&. -.RE -.PP + Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query\&. + .RE + .PP \fB+domain=somename\fR .RS 4 -Set the search list to contain the single domain + Set the search list to contain the single domain \fIsomename\fR, as if specified in a \fBdomain\fR directive in /etc/resolv\&.conf, and enable search list processing as if the \fI+search\fR option were given\&. -.RE -.PP + .RE + .PP \fB+dscp=value\fR .RS 4 -Set the DSCP code point to be used when sending the query\&. Valid DSCP code points are in the range [0\&.\&.63]\&. By default no code point is explicitly set\&. -.RE -.PP + Set the DSCP code point to be used when sending the query\&. Valid DSCP code points are in the range [0\&.\&.63]\&. By default no code point is explicitly set\&. + .RE + .PP \fB+[no]edns[=#]\fR .RS 4 -Specify the EDNS version to query with\&. Valid values are 0 to 255\&. Setting the EDNS version will cause a EDNS query to be sent\&. + Specify the EDNS version to query with\&. Valid values are 0 to 255\&. Setting the EDNS version will cause a EDNS query to be sent\&. \fB+noedns\fR clears the remembered EDNS version\&. EDNS is set to 0 by default\&. -.RE -.PP + .RE + .PP \fB+[no]ednsflags[=#]\fR .RS 4 -Set the must\-be\-zero EDNS flags bits (Z bits) to the specified value\&. Decimal, hex and octal encodings are accepted\&. Setting a named flag (e\&.g\&. DO) will silently be ignored\&. By default, no Z bits are set\&. -.RE -.PP + Set the must\-be\-zero EDNS flags bits (Z bits) to the specified value\&. Decimal, hex and octal encodings are accepted\&. Setting a named flag (e\&.g\&. DO) will silently be ignored\&. By default, no Z bits are set\&. + .RE + .PP \fB+[no]ednsnegotiation\fR .RS 4 -Enable / disable EDNS version negotiation\&. By default EDNS version negotiation is enabled\&. -.RE -.PP + Enable / disable EDNS version negotiation\&. By default EDNS version negotiation is enabled\&. + .RE + .PP \fB+[no]ednsopt[=code[:value]]\fR .RS 4 -Specify EDNS option with code point + Specify EDNS option with code point \fBcode\fR and optionally payload of \fBvalue\fR @@ -462,71 +485,71 @@ or ECS), or an arbitrary numeric value\&. \fB+noednsopt\fR clears the EDNS options to be sent\&. -.RE -.PP + .RE + .PP \fB+[no]expire\fR .RS 4 -Send an EDNS Expire option\&. -.RE -.PP + Send an EDNS Expire option\&. + .RE + .PP \fB+[no]fail\fR .RS 4 -Do not try the next server if you receive a SERVFAIL\&. The default is to not try the next server which is the reverse of normal stub resolver behavior\&. -.RE -.PP + Do not try the next server if you receive a SERVFAIL\&. The default is to not try the next server which is the reverse of normal stub resolver behavior\&. + .RE + .PP \fB+[no]header\-only\fR .RS 4 -Send a query with a DNS header without a question section\&. The default is to add a question section\&. The query type and query name are ignored when this is set\&. -.RE -.PP + Send a query with a DNS header without a question section\&. The default is to add a question section\&. The query type and query name are ignored when this is set\&. + .RE + .PP \fB+[no]identify\fR .RS 4 -Show [or do not show] the IP address and port number that supplied the answer when the + Show [or do not show] the IP address and port number that supplied the answer when the \fI+short\fR option is enabled\&. If short form answers are requested, the default is not to show the source address and port number of the server that provided the answer\&. -.RE -.PP + .RE + .PP \fB+[no]idnin\fR .RS 4 -Process [do not process] IDN domain names on input\&. This requires IDN SUPPORT to have been enabled at compile time\&. + Process [do not process] IDN domain names on input\&. This requires IDN SUPPORT to have been enabled at compile time\&. .sp -The default is to process IDN input when standard output is a tty\&. The IDN processing on input is disabled when dig output is redirected to files, pipes, and other non\-tty file descriptors\&. -.RE -.PP + The default is to process IDN input when standard output is a tty\&. The IDN processing on input is disabled when dig output is redirected to files, pipes, and other non\-tty file descriptors\&. + .RE + .PP \fB+[no]idnout\fR .RS 4 -Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to have been enabled at compile time\&. + Convert [do not convert] puny code on output\&. This requires IDN SUPPORT to have been enabled at compile time\&. .sp -The default is to process puny code on output when standard output is a tty\&. The puny code processing on output is disabled when dig output is redirected to files, pipes, and other non\-tty file descriptors\&. -.RE -.PP + The default is to process puny code on output when standard output is a tty\&. The puny code processing on output is disabled when dig output is redirected to files, pipes, and other non\-tty file descriptors\&. + .RE + .PP \fB+[no]ignore\fR .RS 4 -Ignore truncation in UDP responses instead of retrying with TCP\&. By default, TCP retries are performed\&. -.RE -.PP + Ignore truncation in UDP responses instead of retrying with TCP\&. By default, TCP retries are performed\&. + .RE + .PP \fB+[no]keepopen\fR .RS 4 -Keep the TCP socket open between queries and reuse it rather than creating a new TCP socket for each lookup\&. The default is + Keep the TCP socket open between queries and reuse it rather than creating a new TCP socket for each lookup\&. The default is \fB+nokeepopen\fR\&. -.RE -.PP + .RE + .PP \fB+[no]mapped\fR .RS 4 -Allow mapped IPv4 over IPv6 addresses to be used\&. The default is + Allow mapped IPv4 over IPv6 addresses to be used\&. The default is \fB+mapped\fR\&. -.RE -.PP + .RE + .PP \fB+[no]multiline\fR .RS 4 -Print records like the SOA records in a verbose multi\-line format with human\-readable comments\&. The default is to print each record on a single line, to facilitate machine parsing of the + Print records like the SOA records in a verbose multi\-line format with human\-readable comments\&. The default is to print each record on a single line, to facilitate machine parsing of the \fBdig\fR output\&. -.RE -.PP + .RE + .PP \fB+ndots=D\fR .RS 4 -Set the number of dots that have to appear in + Set the number of dots that have to appear in \fIname\fR to \fID\fR @@ -540,103 +563,103 @@ directive in if \fB+search\fR is set\&. -.RE -.PP + .RE + .PP \fB+[no]nsid\fR .RS 4 -Include an EDNS name server ID request when sending a query\&. -.RE -.PP + Include an EDNS name server ID request when sending a query\&. + .RE + .PP \fB+[no]nssearch\fR .RS 4 -When this option is set, + When this option is set, \fBdig\fR attempts to find the authoritative name servers for the zone containing the name being looked up and display the SOA record that each name server has for the zone\&. -.RE -.PP + .RE + .PP \fB+[no]onesoa\fR .RS 4 -Print only one (starting) SOA record when performing an AXFR\&. The default is to print both the starting and ending SOA records\&. -.RE -.PP + Print only one (starting) SOA record when performing an AXFR\&. The default is to print both the starting and ending SOA records\&. + .RE + .PP \fB+[no]opcode=value\fR .RS 4 -Set [restore] the DNS message opcode to the specified value\&. The default value is QUERY (0)\&. -.RE -.PP + Set [restore] the DNS message opcode to the specified value\&. The default value is QUERY (0)\&. + .RE + .PP \fB+[no]qr\fR .RS 4 -Toggles the display of the query message as it is sent\&. By default, the query is not printed\&. -.RE -.PP + Toggles the display of the query message as it is sent\&. By default, the query is not printed\&. + .RE + .PP \fB+[no]question\fR .RS 4 -Toggles the display of the question section of a query when an answer is returned\&. The default is to print the question section as a comment\&. -.RE -.PP + Toggles the display of the question section of a query when an answer is returned\&. The default is to print the question section as a comment\&. + .RE + .PP \fB+[no]rdflag\fR .RS 4 -A synonym for + A synonym for \fI+[no]recurse\fR\&. -.RE -.PP + .RE + .PP \fB+[no]recurse\fR .RS 4 -Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means + Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means \fBdig\fR normally sends recursive queries\&. Recursion is automatically disabled when using the \fI+nssearch\fR option, and when using \fI+trace\fR except for an initial recursive query to get the list of root servers\&. -.RE -.PP + .RE + .PP \fB+retry=T\fR .RS 4 -Sets the number of times to retry UDP queries to server to + Sets the number of times to retry UDP queries to server to \fIT\fR instead of the default, 2\&. Unlike \fI+tries\fR, this does not include the initial query\&. -.RE -.PP + .RE + .PP \fB+[no]rrcomments\fR .RS 4 -Toggle the display of per\-record comments in the output (for example, human\-readable key information about DNSKEY records)\&. The default is not to print record comments unless multiline mode is active\&. -.RE -.PP + Toggle the display of per\-record comments in the output (for example, human\-readable key information about DNSKEY records)\&. The default is not to print record comments unless multiline mode is active\&. + .RE + .PP \fB+[no]search\fR .RS 4 -Use [do not use] the search list defined by the searchlist or domain directive in + Use [do not use] the search list defined by the searchlist or domain directive in resolv\&.conf (if any)\&. The search list is not used by default\&. .sp -\*(Aqndots\*(Aq from + \*(Aqndots\*(Aq from resolv\&.conf (default 1) which may be overridden by \fI+ndots\fR determines if the name will be treated as relative or not and hence whether a search is eventually performed or not\&. -.RE -.PP + .RE + .PP \fB+[no]short\fR .RS 4 -Provide a terse answer\&. The default is to print the answer in a verbose form\&. This option always has global effect; it cannot be set globally and then overridden on a per\-lookup basis\&. -.RE -.PP + Provide a terse answer\&. The default is to print the answer in a verbose form\&. This option always has global effect; it cannot be set globally and then overridden on a per\-lookup basis\&. + .RE + .PP \fB+[no]showsearch\fR .RS 4 -Perform [do not perform] a search showing intermediate results\&. -.RE -.PP + Perform [do not perform] a search showing intermediate results\&. + .RE + .PP \fB+[no]sigchase\fR .RS 4 -Chase DNSSEC signature chains\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use + Chase DNSSEC signature chains\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use \fBdelv\fR instead\&. -.RE -.PP + .RE + .PP \fB+split=W\fR .RS 4 -Split long hex\- or base64\-formatted fields in resource records into chunks of + Split long hex\- or base64\-formatted fields in resource records into chunks of \fIW\fR characters (where \fIW\fR @@ -645,76 +668,76 @@ is rounded up to the nearest multiple of 4)\&. or \fI+split=0\fR causes fields not to be split at all\&. The default is 56 characters, or 44 characters when multiline mode is active\&. -.RE -.PP + .RE + .PP \fB+[no]stats\fR .RS 4 -Toggles the printing of statistics: when the query was made, the size of the reply and so on\&. The default behavior is to print the query statistics as a comment after each lookup\&. -.RE -.PP + Toggles the printing of statistics: when the query was made, the size of the reply and so on\&. The default behavior is to print the query statistics as a comment after each lookup\&. + .RE + .PP \fB+[no]subnet=addr[/prefix\-length]\fR .RS 4 -Send (don\*(Aqt send) an EDNS Client Subnet option with the specified IP address or network prefix\&. + Send (don\*(Aqt send) an EDNS Client Subnet option with the specified IP address or network prefix\&. .sp -\fBdig +subnet=0\&.0\&.0\&.0/0\fR, or simply + \fBdig +subnet=0\&.0\&.0\&.0/0\fR, or simply \fBdig +subnet=0\fR for short, sends an EDNS CLIENT\-SUBNET option with an empty address and a source prefix\-length of zero, which signals a resolver that the client\*(Aqs address information must \fInot\fR be used when resolving this query\&. -.RE -.PP + .RE + .PP \fB+[no]tcp\fR .RS 4 -Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP unless a type + Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP unless a type any or ixfr=N query is requested, in which case the default is TCP\&. AXFR queries always use TCP\&. -.RE -.PP + .RE + .PP \fB+timeout=T\fR .RS 4 -Sets the timeout for a query to + Sets the timeout for a query to \fIT\fR seconds\&. The default timeout is 5 seconds\&. An attempt to set \fIT\fR to less than 1 will result in a query timeout of 1 second being applied\&. -.RE -.PP + .RE + .PP \fB+[no]topdown\fR .RS 4 -When chasing DNSSEC signature chains perform a top\-down validation\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use + When chasing DNSSEC signature chains perform a top\-down validation\&. Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use \fBdelv\fR instead\&. -.RE -.PP + .RE + .PP \fB+[no]trace\fR .RS 4 -Toggle tracing of the delegation path from the root name servers for the name being looked up\&. Tracing is disabled by default\&. When tracing is enabled, + Toggle tracing of the delegation path from the root name servers for the name being looked up\&. Tracing is disabled by default\&. When tracing is enabled, \fBdig\fR makes iterative queries to resolve the name being looked up\&. It will follow referrals from the root servers, showing the answer from each server that was used to resolve the lookup\&. .sp -If @server is also specified, it affects only the initial query for the root zone name servers\&. + If @server is also specified, it affects only the initial query for the root zone name servers\&. .sp -\fB+dnssec\fR + \fB+dnssec\fR is also set when +trace is set to better emulate the default queries from a nameserver\&. -.RE -.PP + .RE + .PP \fB+tries=T\fR .RS 4 -Sets the number of times to try UDP queries to server to + Sets the number of times to try UDP queries to server to \fIT\fR instead of the default, 3\&. If \fIT\fR is less than or equal to zero, the number of tries is silently rounded up to 1\&. -.RE -.PP + .RE + .PP \fB+trusted\-key=####\fR .RS 4 -Specifies a file containing trusted keys to be used with + Specifies a file containing trusted keys to be used with \fB+sigchase\fR\&. Each DNSKEY record must be on its own line\&. .sp -If not specified, + If not specified, \fBdig\fR will look for /etc/trusted\-key\&.key @@ -722,49 +745,49 @@ then trusted\-key\&.key in the current directory\&. .sp -Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use + Requires dig be compiled with \-DDIG_SIGCHASE\&. This feature is deprecated\&. Use \fBdelv\fR instead\&. -.RE -.PP + .RE + .PP \fB+[no]ttlid\fR .RS 4 -Display [do not display] the TTL when printing the record\&. -.RE -.PP + Display [do not display] the TTL when printing the record\&. + .RE + .PP \fB+[no]ttlunits\fR .RS 4 -Display [do not display] the TTL in friendly human\-readable time units of "s", "m", "h", "d", and "w", representing seconds, minutes, hours, days and weeks\&. Implies +ttlid\&. -.RE -.PP + Display [do not display] the TTL in friendly human\-readable time units of "s", "m", "h", "d", and "w", representing seconds, minutes, hours, days and weeks\&. Implies +ttlid\&. + .RE + .PP \fB+[no]unknownformat\fR .RS 4 -Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&. -.RE -.PP + Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&. + .RE + .PP \fB+[no]vc\fR .RS 4 -Use [do not use] TCP when querying name servers\&. This alternate syntax to + Use [do not use] TCP when querying name servers\&. This alternate syntax to \fI+[no]tcp\fR is provided for backwards compatibility\&. The "vc" stands for "virtual circuit"\&. -.RE -.PP + .RE + .PP \fB+[no]zflag\fR .RS 4 -Set [do not set] the last unassigned DNS header flag in a DNS query\&. This flag is off by default\&. -.RE -.SH "MULTIPLE QUERIES" -.PP + Set [do not set] the last unassigned DNS header flag in a DNS query\&. This flag is off by default\&. + .RE + .SH "MULTIPLE QUERIES" + .PP The BIND 9 implementation of \fBdig \fR supports specifying multiple queries on the command line (in addition to supporting the \fB\-f\fR batch file option)\&. Each of those queries can be supplied with its own set of flags, options and query options\&. -.PP + .PP In this case, each \fIquery\fR argument represent an individual query in the command\-line syntax described above\&. Each consists of any of the standard options and flags, the name to be looked up, an optional query type and class and any query options that should be applied to that query\&. -.PP + .PP A global set of query options, which should be applied to all queries, can also be supplied\&. These global query options must precede the first tuple of name, class, type, options, flags, and query options supplied on the command line\&. Any global query options (except the \fB+[no]cmd\fR option) can be overridden by a query\-specific set of query options\&. For example: @@ -793,8 +816,8 @@ which means that \fBdig\fR will not print the initial query when it looks up the NS records for isc\&.org\&. -.SH "IDN SUPPORT" -.PP + .SH "IDN SUPPORT" + .PP If \fBdig\fR has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names\&. @@ -803,20 +826,20 @@ appropriately converts character encoding of domain name before sending a reques \fI+noidnin\fR and \fI+noidnout\fR\&. -.SH "FILES" -.PP + .SH "FILES" + .PP /etc/resolv\&.conf -.PP + .PP ${HOME}/\&.digrc -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBdelv\fR(1), \fBhost\fR(1), \fBnamed\fR(8), \fBdnssec-keygen\fR(8), RFC 1035\&. -.SH "BUGS" -.PP + .SH "BUGS" + .PP There are probably too many query options\&. .SH "AUTHOR" .PP diff --git a/bin/dig/dig.html b/bin/dig/dig.html index fb9f2321cc..9c9362ffcc 100644 --- a/bin/dig/dig.html +++ b/bin/dig/dig.html @@ -10,7 +10,7 @@ dig - +
diff --git a/bin/dig/host.1 b/bin/dig/host.1 index ae37b796d1..7dcee9cf2b 100644 --- a/bin/dig/host.1 +++ b/bin/dig/host.1 @@ -9,7 +9,7 @@ '\" t .\" Title: host .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2009-01-20 .\" Manual: BIND9 .\" Source: ISC @@ -35,18 +35,34 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" host \- DNS lookup utility -.SH "SYNOPSIS" -.HP \w'\fBhost\fR\ 'u -\fBhost\fR [\fB\-aCdlnrsTUwv\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-N\ \fR\fB\fIndots\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-R\ \fR\fB\fInumber\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-W\ \fR\fB\fIwait\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-v\fR] [\fB\-V\fR] {name} [server] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBhost\fR\ 'u + \fBhost\fR + [\fB\-aCdlnrsTUwv\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-N\ \fR\fB\fIndots\fR\fR] + [\fB\-p\ \fR\fB\fIport\fR\fR] + [\fB\-R\ \fR\fB\fInumber\fR\fR] + [\fB\-t\ \fR\fB\fItype\fR\fR] + [\fB\-W\ \fR\fB\fIwait\fR\fR] + [\fB\-m\ \fR\fB\fIflag\fR\fR] + [ + | [\fB\-4\fR] + | [\fB\-6\fR] + ] + [\fB\-v\fR] + [\fB\-V\fR] + {name} + [server] + .SH "DESCRIPTION" + .PP \fBhost\fR is a simple utility for performing DNS lookups\&. It is normally used to convert names to IP addresses and vice versa\&. When no arguments or options are given, \fBhost\fR prints a short summary of its command line arguments and options\&. -.PP + .PP \fIname\fR is the domain name that is to be looked up\&. It can also be a dotted\-decimal IPv4 address or a colon\-delimited IPv6 address, in which case \fBhost\fR @@ -56,74 +72,74 @@ is an optional argument which is either the name or IP address of the name serve \fBhost\fR should query instead of the server or servers listed in /etc/resolv\&.conf\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-4 .RS 4 -Use IPv4 only for query transport\&. See also the + Use IPv4 only for query transport\&. See also the \fB\-6\fR option\&. -.RE -.PP + .RE + .PP \-6 .RS 4 -Use IPv6 only for query transport\&. See also the + Use IPv6 only for query transport\&. See also the \fB\-4\fR option\&. -.RE -.PP + .RE + .PP \-a .RS 4 -"All"\&. The + "All"\&. The \fB\-a\fR option is normally equivalent to \fB\-v \-t \fR\fBANY\fR\&. It also affects the behaviour of the \fB\-l\fR list zone option\&. -.RE -.PP + .RE + .PP \-c \fIclass\fR .RS 4 -Query class: This can be used to lookup HS (Hesiod) or CH (Chaosnet) class resource records\&. The default class is IN (Internet)\&. -.RE -.PP + Query class: This can be used to lookup HS (Hesiod) or CH (Chaosnet) class resource records\&. The default class is IN (Internet)\&. + .RE + .PP \-C .RS 4 -Check consistency: + Check consistency: \fBhost\fR will query the SOA records for zone \fIname\fR from all the listed authoritative name servers for that zone\&. The list of name servers is defined by the NS records that are found for the zone\&. -.RE -.PP + .RE + .PP \-d .RS 4 -Print debugging traces\&. Equivalent to the + Print debugging traces\&. Equivalent to the \fB\-v\fR verbose option\&. -.RE -.PP + .RE + .PP \-i .RS 4 -Obsolete\&. Use the IP6\&.INT domain for reverse lookups of IPv6 addresses as defined in RFC1886 and deprecated in RFC4159\&. The default is to use IP6\&.ARPA as specified in RFC3596\&. -.RE -.PP + Obsolete\&. Use the IP6\&.INT domain for reverse lookups of IPv6 addresses as defined in RFC1886 and deprecated in RFC4159\&. The default is to use IP6\&.ARPA as specified in RFC3596\&. + .RE + .PP \-l .RS 4 -List zone: The + List zone: The \fBhost\fR command performs a zone transfer of zone \fIname\fR and prints out the NS, PTR and address records (A/AAAA)\&. .sp -Together, the + Together, the \fB\-l \-a\fR options print all records in the zone\&. -.RE -.PP + .RE + .PP \-N \fIndots\fR .RS 4 -The number of dots that have to be in + The number of dots that have to be in \fIname\fR for it to be considered absolute\&. The default value is that defined using the ndots statement in /etc/resolv\&.conf, or 1 if no ndots statement is present\&. Names with fewer dots are interpreted as relative names and will be searched for in the domains listed in the @@ -132,47 +148,47 @@ or \fBdomain\fR directive in /etc/resolv\&.conf\&. -.RE -.PP + .RE + .PP \-p \fIport\fR .RS 4 -Specify the port on the server to query\&. The default is 53\&. -.RE -.PP + Specify the port on the server to query\&. The default is 53\&. + .RE + .PP \-r .RS 4 -Non\-recursive query: Setting this option clears the RD (recursion desired) bit in the query\&. This should mean that the name server receiving the query will not attempt to resolve + Non\-recursive query: Setting this option clears the RD (recursion desired) bit in the query\&. This should mean that the name server receiving the query will not attempt to resolve \fIname\fR\&. The \fB\-r\fR option enables \fBhost\fR to mimic the behavior of a name server by making non\-recursive queries and expecting to receive answers to those queries that can be referrals to other name servers\&. -.RE -.PP + .RE + .PP \-R \fInumber\fR .RS 4 -Number of retries for UDP queries: If + Number of retries for UDP queries: If \fInumber\fR is negative or zero, the number of retries will default to 1\&. The default value is 1, or the value of the \fIattempts\fR option in /etc/resolv\&.conf, if set\&. -.RE -.PP + .RE + .PP \-s .RS 4 -Do + Do \fInot\fR send the query to the next nameserver if any server responds with a SERVFAIL response, which is the reverse of normal stub resolver behavior\&. -.RE -.PP + .RE + .PP \-t \fItype\fR .RS 4 -Query type: The + Query type: The \fItype\fR argument can be any recognized query type: CNAME, NS, SOA, TXT, DNSKEY, AXFR, etc\&. .sp -When no query type is specified, + When no query type is specified, \fBhost\fR automatically selects an appropriate query type\&. By default, it looks for A, AAAA, and MX records\&. If the \fB\-C\fR @@ -182,73 +198,73 @@ is a dotted\-decimal IPv4 address or colon\-delimited IPv6 address, \fBhost\fR will query for PTR records\&. .sp -If a query type of IXFR is chosen the starting serial number can be specified by appending an equal followed by the starting serial number (like + If a query type of IXFR is chosen the starting serial number can be specified by appending an equal followed by the starting serial number (like \fB\-t \fR\fBIXFR=12345678\fR)\&. -.RE -.PP + .RE + .PP \-T, \-U .RS 4 -TCP/UDP: By default, + TCP/UDP: By default, \fBhost\fR uses UDP when making queries\&. The \fB\-T\fR option makes it use a TCP connection when querying the name server\&. TCP will be automatically selected for queries that require it, such as zone transfer (AXFR) requests\&. Type ANY queries default to TCP but can be forced to UDP initially using \fB\-U\fR\&. -.RE -.PP + .RE + .PP \-m \fIflag\fR .RS 4 -Memory usage debugging: the flag can be + Memory usage debugging: the flag can be \fIrecord\fR, \fIusage\fR, or \fItrace\fR\&. You can specify the \fB\-m\fR option more than once to set multiple flags\&. -.RE -.PP + .RE + .PP \-v .RS 4 -Verbose output\&. Equivalent to the + Verbose output\&. Equivalent to the \fB\-d\fR debug option\&. Verbose output can also be enabled by setting the \fIdebug\fR option in /etc/resolv\&.conf\&. -.RE -.PP + .RE + .PP \-V .RS 4 -Print the version number and exit\&. -.RE -.PP + Print the version number and exit\&. + .RE + .PP \-w .RS 4 -Wait forever: The query timeout is set to the maximum possible\&. See also the + Wait forever: The query timeout is set to the maximum possible\&. See also the \fB\-W\fR option\&. -.RE -.PP + .RE + .PP \-W \fIwait\fR .RS 4 -Timeout: Wait for up to + Timeout: Wait for up to \fIwait\fR seconds for a reply\&. If \fIwait\fR is less than one, the wait interval is set to one second\&. .sp -By default, + By default, \fBhost\fR will wait for 5 seconds for UDP responses and 10 seconds for TCP connections\&. These defaults can be overridden by the \fItimeout\fR option in /etc/resolv\&.conf\&. .sp -See also the + See also the \fB\-w\fR option\&. -.RE -.SH "IDN SUPPORT" -.PP + .RE + .SH "IDN SUPPORT" + .PP If \fBhost\fR has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names\&. @@ -258,11 +274,11 @@ appropriately converts character encoding of domain name before sending a reques environment variable\&. The IDN support is disabled if the variable is set when \fBhost\fR runs\&. -.SH "FILES" -.PP + .SH "FILES" + .PP /etc/resolv\&.conf -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBdig\fR(1), \fBnamed\fR(8)\&. .SH "AUTHOR" diff --git a/bin/dig/host.html b/bin/dig/host.html index 10d962831a..f0273c466b 100644 --- a/bin/dig/host.html +++ b/bin/dig/host.html @@ -10,7 +10,7 @@ host - +
diff --git a/bin/dig/nslookup.1 b/bin/dig/nslookup.1 index 84afa0758e..9d34226b83 100644 --- a/bin/dig/nslookup.1 +++ b/bin/dig/nslookup.1 @@ -9,7 +9,7 @@ '\" t .\" Title: nslookup .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-01-24 .\" Manual: BIND9 .\" Source: ISC @@ -35,19 +35,22 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" nslookup \- query Internet name servers interactively -.SH "SYNOPSIS" -.HP \w'\fBnslookup\fR\ 'u -\fBnslookup\fR [\fB\-option\fR] [name\ |\ \-] [server] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnslookup\fR\ 'u + \fBnslookup\fR + [\fB\-option\fR] + [name\ |\ \-] + [server] + .SH "DESCRIPTION" + .PP \fBNslookup\fR is a program to query Internet domain name servers\&. \fBNslookup\fR has two modes: interactive and non\-interactive\&. Interactive mode allows the user to query name servers for information about various hosts and domains or to print a list of hosts in a domain\&. Non\-interactive mode is used to print just the name and requested information for a host or domain\&. -.SH "ARGUMENTS" -.PP + .SH "ARGUMENTS" + .PP Interactive mode is entered in the following cases: .sp .RS 4 @@ -58,8 +61,8 @@ Interactive mode is entered in the following cases: .sp -1 .IP " 1." 4.2 .\} -when no arguments are given (the default name server will be used) -.RE + when no arguments are given (the default name server will be used) + .RE .sp .RS 4 .ie n \{\ @@ -69,11 +72,12 @@ when no arguments are given (the default name server will be used) .sp -1 .IP " 2." 4.2 .\} -when the first argument is a hyphen (\-) and the second argument is the host name or Internet address of a name server\&. -.RE -.PP + when the first argument is a hyphen (\-) and the second argument is the host name or Internet address of a name server\&. + .RE +.sp + .PP Non\-interactive mode is used when the name or Internet address of the host to be looked up is given as the first argument\&. The optional second argument specifies the host name or address of a name server\&. -.PP + .PP Options can also be specified on the command line if they precede the arguments and are prefixed with a hyphen\&. For example, to change the default query type to host information, and the initial timeout to 10 seconds, type: .sp .if n \{\ @@ -85,203 +89,204 @@ nslookup \-query=hinfo \-timeout=10 .if n \{\ .RE .\} -.PP +.sp + .PP The \fB\-version\fR option causes \fBnslookup\fR to print the version number and immediately exits\&. -.SH "INTERACTIVE COMMANDS" -.PP + .SH "INTERACTIVE COMMANDS" + .PP \fBhost\fR [server] .RS 4 -Look up information for host using the current default server or using server, if specified\&. If host is an Internet address and the query type is A or PTR, the name of the host is returned\&. If host is a name and does not have a trailing period, the search list is used to qualify the name\&. + Look up information for host using the current default server or using server, if specified\&. If host is an Internet address and the query type is A or PTR, the name of the host is returned\&. If host is a name and does not have a trailing period, the search list is used to qualify the name\&. .sp -To look up a host not in the current domain, append a period to the name\&. -.RE -.PP + To look up a host not in the current domain, append a period to the name\&. + .RE + .PP \fBserver\fR \fIdomain\fR .RS 4 -.RE -.PP + .RE + .PP \fBlserver\fR \fIdomain\fR .RS 4 -Change the default server to + Change the default server to \fIdomain\fR; \fBlserver\fR uses the initial server to look up information about \fIdomain\fR, while \fBserver\fR uses the current default server\&. If an authoritative answer can\*(Aqt be found, the names of servers that might have the answer are returned\&. -.RE -.PP + .RE + .PP \fBroot\fR .RS 4 -not implemented -.RE -.PP + not implemented + .RE + .PP \fBfinger\fR .RS 4 -not implemented -.RE -.PP + not implemented + .RE + .PP \fBls\fR .RS 4 -not implemented -.RE -.PP + not implemented + .RE + .PP \fBview\fR .RS 4 -not implemented -.RE -.PP + not implemented + .RE + .PP \fBhelp\fR .RS 4 -not implemented -.RE -.PP + not implemented + .RE + .PP \fB?\fR .RS 4 -not implemented -.RE -.PP + not implemented + .RE + .PP \fBexit\fR .RS 4 -Exits the program\&. -.RE -.PP + Exits the program\&. + .RE + .PP \fBset\fR \fIkeyword\fR\fI[=value]\fR .RS 4 -This command is used to change state information that affects the lookups\&. Valid keywords are: -.PP + This command is used to change state information that affects the lookups\&. Valid keywords are: + .PP \fBall\fR .RS 4 -Prints the current values of the frequently used options to + Prints the current values of the frequently used options to \fBset\fR\&. Information about the current default server and host is also printed\&. -.RE -.PP + .RE + .PP \fBclass=\fR\fIvalue\fR .RS 4 -Change the query class to one of: -.PP + Change the query class to one of: + .PP \fBIN\fR .RS 4 -the Internet class -.RE -.PP + the Internet class + .RE + .PP \fBCH\fR .RS 4 -the Chaos class -.RE -.PP + the Chaos class + .RE + .PP \fBHS\fR .RS 4 -the Hesiod class -.RE -.PP + the Hesiod class + .RE + .PP \fBANY\fR .RS 4 -wildcard -.RE -.sp + wildcard + .RE + .sp The class specifies the protocol group of the information\&. .sp -(Default = IN; abbreviation = cl) -.RE -.PP + (Default = IN; abbreviation = cl) + .RE + .PP \fB\fI[no]\fR\fR\fBdebug\fR .RS 4 -Turn on or off the display of the full response packet and any intermediate response packets when searching\&. + Turn on or off the display of the full response packet and any intermediate response packets when searching\&. .sp -(Default = nodebug; abbreviation = + (Default = nodebug; abbreviation = [no]deb) -.RE -.PP + .RE + .PP \fB\fI[no]\fR\fR\fBd2\fR .RS 4 -Turn debugging mode on or off\&. This displays more about what nslookup is doing\&. + Turn debugging mode on or off\&. This displays more about what nslookup is doing\&. .sp -(Default = nod2) -.RE -.PP + (Default = nod2) + .RE + .PP \fBdomain=\fR\fIname\fR .RS 4 -Sets the search list to + Sets the search list to \fIname\fR\&. -.RE -.PP + .RE + .PP \fB\fI[no]\fR\fR\fBsearch\fR .RS 4 -If the lookup request contains at least one period but doesn\*(Aqt end with a trailing period, append the domain names in the domain search list to the request until an answer is received\&. + If the lookup request contains at least one period but doesn\*(Aqt end with a trailing period, append the domain names in the domain search list to the request until an answer is received\&. .sp -(Default = search) -.RE -.PP + (Default = search) + .RE + .PP \fBport=\fR\fIvalue\fR .RS 4 -Change the default TCP/UDP name server port to + Change the default TCP/UDP name server port to \fIvalue\fR\&. .sp -(Default = 53; abbreviation = po) -.RE -.PP + (Default = 53; abbreviation = po) + .RE + .PP \fBquerytype=\fR\fIvalue\fR .RS 4 -.RE -.PP + .RE + .PP \fBtype=\fR\fIvalue\fR .RS 4 -Change the type of the information query\&. + Change the type of the information query\&. .sp -(Default = A and then AAAA; abbreviations = q, ty) + (Default = A and then AAAA; abbreviations = q, ty) .sp -\fBNote:\fR + \fBNote:\fR It is only possible to specify one query type, only the default behavior looks up both when an alternative is not specified\&. -.RE -.PP + .RE + .PP \fB\fI[no]\fR\fR\fBrecurse\fR .RS 4 -Tell the name server to query other servers if it does not have the information\&. + Tell the name server to query other servers if it does not have the information\&. .sp -(Default = recurse; abbreviation = [no]rec) -.RE -.PP + (Default = recurse; abbreviation = [no]rec) + .RE + .PP \fBndots=\fR\fInumber\fR .RS 4 -Set the number of dots (label separators) in a domain that will disable searching\&. Absolute names always stop searching\&. -.RE -.PP + Set the number of dots (label separators) in a domain that will disable searching\&. Absolute names always stop searching\&. + .RE + .PP \fBretry=\fR\fInumber\fR .RS 4 -Set the number of retries to number\&. -.RE -.PP + Set the number of retries to number\&. + .RE + .PP \fBtimeout=\fR\fInumber\fR .RS 4 -Change the initial timeout interval for waiting for a reply to number seconds\&. -.RE -.PP + Change the initial timeout interval for waiting for a reply to number seconds\&. + .RE + .PP \fB\fI[no]\fR\fR\fBvc\fR .RS 4 -Always use a virtual circuit when sending requests to the server\&. + Always use a virtual circuit when sending requests to the server\&. .sp -(Default = novc) -.RE -.PP + (Default = novc) + .RE + .PP \fB\fI[no]\fR\fR\fBfail\fR .RS 4 -Try the next nameserver if a nameserver responds with SERVFAIL or a referral (nofail) or terminate query (fail) on such a response\&. + Try the next nameserver if a nameserver responds with SERVFAIL or a referral (nofail) or terminate query (fail) on such a response\&. .sp -(Default = nofail) -.RE -.sp -.RE -.SH "RETURN VALUES" -.PP + (Default = nofail) + .RE + .sp + .RE + .SH "RETURN VALUES" + .PP \fBnslookup\fR returns with an exit status of 1 if any query failed, and 0 otherwise\&. -.SH "IDN SUPPORT" -.PP + .SH "IDN SUPPORT" + .PP If \fBnslookup\fR has been built with IDN (internationalized domain name) support, it can accept and display non\-ASCII domain names\&. @@ -291,11 +296,11 @@ appropriately converts character encoding of domain name before sending a reques environment variable\&. The IDN support is disabled if the variable is set when \fBnslookup\fR runs or when the standard output is not a tty\&. -.SH "FILES" -.PP + .SH "FILES" + .PP /etc/resolv\&.conf -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBdig\fR(1), \fBhost\fR(1), \fBnamed\fR(8)\&. diff --git a/bin/dig/nslookup.html b/bin/dig/nslookup.html index 9ec3e4bfd6..0cad7e74d8 100644 --- a/bin/dig/nslookup.html +++ b/bin/dig/nslookup.html @@ -10,7 +10,7 @@ nslookup - +
diff --git a/bin/dnssec/dnssec-dsfromkey.8 b/bin/dnssec/dnssec-dsfromkey.8 index 3a4b388f8a..09a821e1eb 100644 --- a/bin/dnssec/dnssec-dsfromkey.8 +++ b/bin/dnssec/dnssec-dsfromkey.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-dsfromkey .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2012-05-02 .\" Manual: BIND9 .\" Source: ISC @@ -35,19 +35,66 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-dsfromkey \- DNSSEC DS RR generation tool -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-dsfromkey\fR\ 'u -\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] {keyfile} -.HP \w'\fBdnssec\-dsfromkey\fR\ 'u -\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-A\fR] {\fB\-f\ \fR\fB\fIfile\fR\fR} [dnsname] -.HP \w'\fBdnssec\-dsfromkey\fR\ 'u -\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] {\-s} {dnsname} -.HP \w'\fBdnssec\-dsfromkey\fR\ 'u -\fBdnssec\-dsfromkey\fR [\fB\-h\fR | \fB\-V\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-dsfromkey\fR\ 'u + \fBdnssec\-dsfromkey\fR + [ + | \fB\-1\fR + | \fB\-2\fR + | \fB\-a\ \fR\fB\fIalg\fR\fR + ] + [ + | \fB\-C\fR + | \fB\-l\ \fR\fB\fIdomain\fR\fR + ] + [\fB\-T\ \fR\fB\fITTL\fR\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + {keyfile} + .HP \w'\fBdnssec\-dsfromkey\fR\ 'u + \fBdnssec\-dsfromkey\fR + [ + | \fB\-1\fR + | \fB\-2\fR + | \fB\-a\ \fR\fB\fIalg\fR\fR + ] + [ + | \fB\-C\fR + | \fB\-l\ \fR\fB\fIdomain\fR\fR + ] + [\fB\-T\ \fR\fB\fITTL\fR\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-A\fR] + {\fB\-f\ \fR\fB\fIfile\fR\fR} + [dnsname] + .HP \w'\fBdnssec\-dsfromkey\fR\ 'u + \fBdnssec\-dsfromkey\fR + [ + | \fB\-1\fR + | \fB\-2\fR + | \fB\-a\ \fR\fB\fIalg\fR\fR + ] + [ + | \fB\-C\fR + | \fB\-l\ \fR\fB\fIdomain\fR\fR + ] + [\fB\-T\ \fR\fB\fITTL\fR\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + {\-s} + {dnsname} + .HP \w'\fBdnssec\-dsfromkey\fR\ 'u + \fBdnssec\-dsfromkey\fR + [ + | \fB\-h\fR + | \fB\-V\fR + ] + .SH "DESCRIPTION" + .PP The \fBdnssec\-dsfromkey\fR command outputs DS (Delegation Signer) resource records (RRs) and other similarly\-constructed RRs: with the @@ -55,21 +102,21 @@ command outputs DS (Delegation Signer) resource records (RRs) and other similarl option it outputs DLV (DNSSEC Lookaside Validation) RRs; or with the \fB\-C\fR it outputs CDS (Child DS) RRs\&. -.PP + .PP The input keys can be specified in a number of ways: -.PP + .PP By default, \fBdnssec\-dsfromkey\fR reads a key file named like Knnnn\&.+aaa+iiiii\&.key, as generated by \fBdnssec\-keygen\fR\&. -.PP + .PP With the \fB\-f \fR\fB\fIfile\fR\fR option, \fBdnssec\-dsfromkey\fR reads keys from a zone file or partial zone file (which can contain just the DNSKEY records)\&. -.PP + .PP With the \fB\-s\fR option, @@ -77,148 +124,149 @@ option, reads a keyset\- file, as generated by -\fBdnssec\-keygen\fR\fB\-C\fR\&. -.SH "OPTIONS" -.PP +\fBdnssec\-keygen\fR +\fB\-C\fR\&. + .SH "OPTIONS" + .PP \-1 .RS 4 -An abbreviation for + An abbreviation for \fB\-a SHA1\fR -.RE -.PP + .RE + .PP \-2 .RS 4 -An abbreviation for + An abbreviation for \fB\-a SHA\-256\fR -.RE -.PP + .RE + .PP \-a \fIalgorithm\fR .RS 4 -Specify a digest algorithm to use when converting DNSKEY records to DS records\&. This option can be repeated, so that multiple DS records are created for each DNSKEY record\&. + Specify a digest algorithm to use when converting DNSKEY records to DS records\&. This option can be repeated, so that multiple DS records are created for each DNSKEY record\&. .sp -The + The \fIalgorithm\fR must be one of SHA\-1, SHA\-256, or SHA\-384\&. These values are case insensitive, and the hyphen may be omitted\&. If no algorithm is specified, the default is to use both SHA\-1 and SHA\-256\&. -.RE -.PP + .RE + .PP \-A .RS 4 -Include ZSKs when generating DS records\&. Without this option, only keys which have the KSK flag set will be converted to DS records and printed\&. Useful only in + Include ZSKs when generating DS records\&. Without this option, only keys which have the KSK flag set will be converted to DS records and printed\&. Useful only in \fB\-f\fR zone file mode\&. -.RE -.PP + .RE + .PP \-c \fIclass\fR .RS 4 -Specifies the DNS class (default is IN)\&. Useful only in + Specifies the DNS class (default is IN)\&. Useful only in \fB\-s\fR keyset or \fB\-f\fR zone file mode\&. -.RE -.PP + .RE + .PP \-C .RS 4 -Generate CDS records rather than DS records\&. This is mutually exclusive with the + Generate CDS records rather than DS records\&. This is mutually exclusive with the \fB\-l\fR option for generating DLV records\&. -.RE -.PP + .RE + .PP \-f \fIfile\fR .RS 4 -Zone file mode: + Zone file mode: \fBdnssec\-dsfromkey\fR\*(Aqs final \fIdnsname\fR argument is the DNS domain name of a zone whose master file can be read from \fBfile\fR\&. If the zone name is the same as \fBfile\fR, then it may be omitted\&. .sp -If + If \fIfile\fR is "\-", then the zone data is read from the standard input\&. This makes it possible to use the output of the \fBdig\fR command as input, as in: .sp -\fBdig dnskey example\&.com | dnssec\-dsfromkey \-f \- example\&.com\fR -.RE -.PP + \fBdig dnskey example\&.com | dnssec\-dsfromkey \-f \- example\&.com\fR + .RE + .PP \-h .RS 4 -Prints usage information\&. -.RE -.PP + Prints usage information\&. + .RE + .PP \-K \fIdirectory\fR .RS 4 -Look for key files or + Look for key files or keyset\- files in \fBdirectory\fR\&. -.RE -.PP + .RE + .PP \-l \fIdomain\fR .RS 4 -Generate a DLV set instead of a DS set\&. The specified + Generate a DLV set instead of a DS set\&. The specified \fIdomain\fR is appended to the name for each record in the set\&. This is mutually exclusive with the \fB\-C\fR option for generating CDS records\&. -.RE -.PP + .RE + .PP \-s .RS 4 -Keyset mode: + Keyset mode: \fBdnssec\-dsfromkey\fR\*(Aqs final \fIdnsname\fR argument is the DNS domain name used to locate a keyset\- file\&. -.RE -.PP + .RE + .PP \-T \fITTL\fR .RS 4 -Specifies the TTL of the DS records\&. By default the TTL is omitted\&. -.RE -.PP + Specifies the TTL of the DS records\&. By default the TTL is omitted\&. + .RE + .PP \-v \fIlevel\fR .RS 4 -Sets the debugging level\&. -.RE -.PP + Sets the debugging level\&. + .RE + .PP \-V .RS 4 -Prints version information\&. -.RE -.SH "EXAMPLE" -.PP + Prints version information\&. + .RE + .SH "EXAMPLE" + .PP To build the SHA\-256 DS RR from the \fBKexample\&.com\&.+003+26160\fR keyfile name, you can issue the following command: -.PP + .PP \fBdnssec\-dsfromkey \-2 Kexample\&.com\&.+003+26160\fR -.PP + .PP The command would print something like: -.PP + .PP \fBexample\&.com\&. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94\fR -.SH "FILES" -.PP + .SH "FILES" + .PP The keyfile can be designated by the key identification Knnnn\&.+aaa+iiiii or the full file name Knnnn\&.+aaa+iiiii\&.key as generated by dnssec\-keygen(8)\&. -.PP + .PP The keyset file name is built from the \fBdirectory\fR, the string keyset\- and the \fBdnsname\fR\&. -.SH "CAVEAT" -.PP + .SH "CAVEAT" + .PP A keyfile error can give a "file not found" even if the file exists\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBdnssec-keygen\fR(8), \fBdnssec-signzone\fR(8), BIND 9 Administrator Reference Manual, diff --git a/bin/dnssec/dnssec-dsfromkey.html b/bin/dnssec/dnssec-dsfromkey.html index a68a67f0ad..38e06c847f 100644 --- a/bin/dnssec/dnssec-dsfromkey.html +++ b/bin/dnssec/dnssec-dsfromkey.html @@ -10,7 +10,7 @@ dnssec-dsfromkey - +
diff --git a/bin/dnssec/dnssec-importkey.8 b/bin/dnssec/dnssec-importkey.8 index 5a91c45d1d..b8f6fd8851 100644 --- a/bin/dnssec/dnssec-importkey.8 +++ b/bin/dnssec/dnssec-importkey.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-importkey .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: August 21, 2015 .\" Manual: BIND9 .\" Source: ISC @@ -35,96 +35,117 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-importkey \- import DNSKEY records from external systems so they can be managed -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-importkey\fR\ 'u -\fBdnssec\-importkey\fR [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-h\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] {\fBkeyfile\fR} -.HP \w'\fBdnssec\-importkey\fR\ 'u -\fBdnssec\-importkey\fR {\fB\-f\ \fR\fB\fIfilename\fR\fR} [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-h\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fBdnsname\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-importkey\fR\ 'u + \fBdnssec\-importkey\fR + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-L\ \fR\fB\fIttl\fR\fR] + [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-h\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-V\fR] + {\fBkeyfile\fR} + .HP \w'\fBdnssec\-importkey\fR\ 'u + \fBdnssec\-importkey\fR + {\fB\-f\ \fR\fB\fIfilename\fR\fR} + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-L\ \fR\fB\fIttl\fR\fR] + [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-h\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-V\fR] + [\fBdnsname\fR] + .SH "DESCRIPTION" + .PP \fBdnssec\-importkey\fR reads a public DNSKEY record and generates a pair of \&.key/\&.private files\&. The DNSKEY record may be read from an existing \&.key file, in which case a corresponding \&.private file will be generated, or it may be read from any other file or from the standard input, in which case both \&.key and \&.private files will be generated\&. -.PP + .PP The newly\-created \&.private file does \fInot\fR contain private key data, and cannot be used for signing\&. However, having a \&.private file makes it possible to set publication (\fB\-P\fR) and deletion (\fB\-D\fR) times for the key, which means the public key can be added to and removed from the DNSKEY RRset on schedule even if the true private key is stored offline\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-f \fIfilename\fR .RS 4 -Zone file mode: instead of a public keyfile name, the argument is the DNS domain name of a zone master file, which can be read from + Zone file mode: instead of a public keyfile name, the argument is the DNS domain name of a zone master file, which can be read from \fBfile\fR\&. If the domain name is the same as \fBfile\fR, then it may be omitted\&. .sp -If + If \fBfile\fR is set to "\-", then the zone data is read from the standard input\&. -.RE -.PP + .RE + .PP \-K \fIdirectory\fR .RS 4 -Sets the directory in which the key files are to reside\&. -.RE -.PP + Sets the directory in which the key files are to reside\&. + .RE + .PP \-L \fIttl\fR .RS 4 -Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. Setting the default TTL to + Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. Setting the default TTL to 0 or none removes it\&. -.RE -.PP + .RE + .PP \-h .RS 4 -Emit usage message and exit\&. -.RE -.PP + Emit usage message and exit\&. + .RE + .PP \-v \fIlevel\fR .RS 4 -Sets the debugging level\&. -.RE -.PP + Sets the debugging level\&. + .RE + .PP \-V .RS 4 -Prints version information\&. -.RE -.SH "TIMING OPTIONS" -.PP + Prints version information\&. + .RE + .SH "TIMING OPTIONS" + .PP Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To explicitly prevent a date from being set, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&. -.PP + .PP \-P \fIdate/offset\fR .RS 4 -Sets the date on which a key is to be published to the zone\&. After that date, the key will be included in the zone but will not be used to sign it\&. -.RE -.PP + Sets the date on which a key is to be published to the zone\&. After that date, the key will be included in the zone but will not be used to sign it\&. + .RE + .PP \-P sync \fIdate/offset\fR .RS 4 -Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&. -.RE -.PP + Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&. + .RE + .PP \-D \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be deleted\&. After that date, the key will no longer be included in the zone\&. (It may remain in the key repository, however\&.) -.RE -.PP + Sets the date on which the key is to be deleted\&. After that date, the key will no longer be included in the zone\&. (It may remain in the key repository, however\&.) + .RE + .PP \-D sync \fIdate/offset\fR .RS 4 -Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&. -.RE -.SH "FILES" -.PP + Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&. + .RE + .SH "FILES" + .PP A keyfile can be designed by the key identification Knnnn\&.+aaa+iiiii or the full file name Knnnn\&.+aaa+iiiii\&.key as generated by dnssec\-keygen(8)\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBdnssec-keygen\fR(8), \fBdnssec-signzone\fR(8), BIND 9 Administrator Reference Manual, diff --git a/bin/dnssec/dnssec-importkey.html b/bin/dnssec/dnssec-importkey.html index b26a854485..85017b35ee 100644 --- a/bin/dnssec/dnssec-importkey.html +++ b/bin/dnssec/dnssec-importkey.html @@ -10,7 +10,7 @@ dnssec-importkey - +
diff --git a/bin/dnssec/dnssec-keyfromlabel.8 b/bin/dnssec/dnssec-keyfromlabel.8 index b375ce507d..e795905835 100644 --- a/bin/dnssec/dnssec-keyfromlabel.8 +++ b/bin/dnssec/dnssec-keyfromlabel.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-keyfromlabel .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: August 27, 2015 .\" Manual: BIND9 .\" Source: ISC @@ -35,204 +35,230 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-keyfromlabel \- DNSSEC key generation tool -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-keyfromlabel\fR\ 'u -\fBdnssec\-keyfromlabel\fR {\-l\ \fIlabel\fR} [\fB\-3\fR] [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-k\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fB\-y\fR] {name} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-keyfromlabel\fR\ 'u + \fBdnssec\-keyfromlabel\fR + {\-l\ \fIlabel\fR} + [\fB\-3\fR] + [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] + [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-E\ \fR\fB\fIengine\fR\fR] + [\fB\-f\ \fR\fB\fIflag\fR\fR] + [\fB\-G\fR] + [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-i\ \fR\fB\fIinterval\fR\fR] + [\fB\-k\fR] + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-L\ \fR\fB\fIttl\fR\fR] + [\fB\-n\ \fR\fB\fInametype\fR\fR] + [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-p\ \fR\fB\fIprotocol\fR\fR] + [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-S\ \fR\fB\fIkey\fR\fR] + [\fB\-t\ \fR\fB\fItype\fR\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-V\fR] + [\fB\-y\fR] + {name} + .SH "DESCRIPTION" + .PP \fBdnssec\-keyfromlabel\fR generates a key pair of files that referencing a key object stored in a cryptographic hardware service module (HSM)\&. The private key file can be used for DNSSEC signing of zone data as if it were a conventional signing key created by \fBdnssec\-keygen\fR, but the key material is stored within the HSM, and the actual signing takes place there\&. -.PP + .PP The \fBname\fR of the key is specified on the command line\&. This must match the name of the zone for which the key is being generated\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-a \fIalgorithm\fR .RS 4 -Selects the cryptographic algorithm\&. The value of + Selects the cryptographic algorithm\&. The value of \fBalgorithm\fR must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. These values are case insensitive\&. .sp -If no algorithm is specified, then RSASHA1 will be used by default, unless the + If no algorithm is specified, then RSASHA1 will be used by default, unless the \fB\-3\fR option is specified, in which case NSEC3RSASHA1 will be used instead\&. (If \fB\-3\fR is used and an algorithm is specified, that algorithm will be checked for compatibility with NSEC3\&.) .sp -Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended\&. + Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended\&. .sp -Note 2: DH automatically sets the \-k flag\&. -.RE -.PP + Note 2: DH automatically sets the \-k flag\&. + .RE + .PP \-3 .RS 4 -Use an NSEC3\-capable algorithm to generate a DNSSEC key\&. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default\&. -.RE -.PP + Use an NSEC3\-capable algorithm to generate a DNSSEC key\&. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default\&. + .RE + .PP \-E \fIengine\fR .RS 4 -Specifies the cryptographic hardware to use\&. + Specifies the cryptographic hardware to use\&. .sp -When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. -.RE -.PP + When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. + .RE + .PP \-l \fIlabel\fR .RS 4 -Specifies the label for a key pair in the crypto hardware\&. + Specifies the label for a key pair in the crypto hardware\&. .sp -When + When BIND 9 is built with OpenSSL\-based PKCS#11 support, the label is an arbitrary string that identifies a particular key\&. .sp -When + When BIND 9 is built with native PKCS#11 support, the label is a PKCS#11 URI string in the format "pkcs11:\fBkeyword\fR=\fIvalue\fR[;\fBkeyword\fR=\fIvalue\fR;\&.\&.\&.]" Keywords include "token", which identifies the HSM; "object", which identifies the key; and "pin\-source", which identifies a file from which the HSM\*(Aqs PIN code can be obtained\&. The label will be stored in the on\-disk "private" file\&. .sp -If the label contains a + If the label contains a \fBpin\-source\fR field, tools using the generated key files will be able to use the HSM for signing and other operations without any need for an operator to manually enter a PIN\&. Note: Making the HSM\*(Aqs PIN accessible in this manner may reduce the security advantage of using an HSM; be sure this is what you want to do before making use of this feature\&. -.RE -.PP + .RE + .PP \-n \fInametype\fR .RS 4 -Specifies the owner type of the key\&. The value of + Specifies the owner type of the key\&. The value of \fBnametype\fR must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)), USER (for a key associated with a user(KEY)) or OTHER (DNSKEY)\&. These values are case insensitive\&. -.RE -.PP + .RE + .PP \-C .RS 4 -Compatibility mode: generates an old\-style key, without any metadata\&. By default, + Compatibility mode: generates an old\-style key, without any metadata\&. By default, \fBdnssec\-keyfromlabel\fR will include the key\*(Aqs creation date in the metadata stored with the private key, and other dates may be set there as well (publication date, activation date, etc)\&. Keys that include this data may be incompatible with older versions of BIND; the \fB\-C\fR option suppresses them\&. -.RE -.PP + .RE + .PP \-c \fIclass\fR .RS 4 -Indicates that the DNS record containing the key should have the specified class\&. If not specified, class IN is used\&. -.RE -.PP + Indicates that the DNS record containing the key should have the specified class\&. If not specified, class IN is used\&. + .RE + .PP \-f \fIflag\fR .RS 4 -Set the specified flag in the flag field of the KEY/DNSKEY record\&. The only recognized flags are KSK (Key Signing Key) and REVOKE\&. -.RE -.PP + Set the specified flag in the flag field of the KEY/DNSKEY record\&. The only recognized flags are KSK (Key Signing Key) and REVOKE\&. + .RE + .PP \-G .RS 4 -Generate a key, but do not publish it or sign with it\&. This option is incompatible with \-P and \-A\&. -.RE -.PP + Generate a key, but do not publish it or sign with it\&. This option is incompatible with \-P and \-A\&. + .RE + .PP \-h .RS 4 -Prints a short summary of the options and arguments to + Prints a short summary of the options and arguments to \fBdnssec\-keyfromlabel\fR\&. -.RE -.PP + .RE + .PP \-K \fIdirectory\fR .RS 4 -Sets the directory in which the key files are to be written\&. -.RE -.PP + Sets the directory in which the key files are to be written\&. + .RE + .PP \-k .RS 4 -Generate KEY records rather than DNSKEY records\&. -.RE -.PP + Generate KEY records rather than DNSKEY records\&. + .RE + .PP \-L \fIttl\fR .RS 4 -Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. Setting the default TTL to + Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. Setting the default TTL to 0 or none removes it\&. -.RE -.PP + .RE + .PP \-p \fIprotocol\fR .RS 4 -Sets the protocol value for the key\&. The protocol is a number between 0 and 255\&. The default is 3 (DNSSEC)\&. Other possible values for this argument are listed in RFC 2535 and its successors\&. -.RE -.PP + Sets the protocol value for the key\&. The protocol is a number between 0 and 255\&. The default is 3 (DNSSEC)\&. Other possible values for this argument are listed in RFC 2535 and its successors\&. + .RE + .PP \-S \fIkey\fR .RS 4 -Generate a key as an explicit successor to an existing key\&. The name, algorithm, size, and type of the key will be set to match the predecessor\&. The activation date of the new key will be set to the inactivation date of the existing one\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&. -.RE -.PP + Generate a key as an explicit successor to an existing key\&. The name, algorithm, size, and type of the key will be set to match the predecessor\&. The activation date of the new key will be set to the inactivation date of the existing one\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&. + .RE + .PP \-t \fItype\fR .RS 4 -Indicates the use of the key\&. + Indicates the use of the key\&. \fBtype\fR must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF\&. The default is AUTHCONF\&. AUTH refers to the ability to authenticate data, and CONF the ability to encrypt data\&. -.RE -.PP + .RE + .PP \-v \fIlevel\fR .RS 4 -Sets the debugging level\&. -.RE -.PP + Sets the debugging level\&. + .RE + .PP \-V .RS 4 -Prints version information\&. -.RE -.PP + Prints version information\&. + .RE + .PP \-y .RS 4 -Allows DNSSEC key files to be generated even if the key ID would collide with that of an existing key, in the event of either key being revoked\&. (This is only safe to use if you are sure you won\*(Aqt be using RFC 5011 trust anchor maintenance with either of the keys involved\&.) -.RE -.SH "TIMING OPTIONS" -.PP + Allows DNSSEC key files to be generated even if the key ID would collide with that of an existing key, in the event of either key being revoked\&. (This is only safe to use if you are sure you won\*(Aqt be using RFC 5011 trust anchor maintenance with either of the keys involved\&.) + .RE + .SH "TIMING OPTIONS" + .PP Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To explicitly prevent a date from being set, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&. -.PP + .PP \-P \fIdate/offset\fR .RS 4 -Sets the date on which a key is to be published to the zone\&. After that date, the key will be included in the zone but will not be used to sign it\&. If not set, and if the \-G option has not been used, the default is "now"\&. -.RE -.PP + Sets the date on which a key is to be published to the zone\&. After that date, the key will be included in the zone but will not be used to sign it\&. If not set, and if the \-G option has not been used, the default is "now"\&. + .RE + .PP \-P sync \fIdate/offset\fR .RS 4 -Sets the date on which the CDS and CDNSKEY records which match this key are to be published to the zone\&. -.RE -.PP + Sets the date on which the CDS and CDNSKEY records which match this key are to be published to the zone\&. + .RE + .PP \-A \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be activated\&. After that date, the key will be included in the zone and used to sign it\&. If not set, and if the \-G option has not been used, the default is "now"\&. -.RE -.PP + Sets the date on which the key is to be activated\&. After that date, the key will be included in the zone and used to sign it\&. If not set, and if the \-G option has not been used, the default is "now"\&. + .RE + .PP \-R \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be revoked\&. After that date, the key will be flagged as revoked\&. It will be included in the zone and will be used to sign it\&. -.RE -.PP + Sets the date on which the key is to be revoked\&. After that date, the key will be flagged as revoked\&. It will be included in the zone and will be used to sign it\&. + .RE + .PP \-I \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be retired\&. After that date, the key will still be included in the zone, but it will not be used to sign it\&. -.RE -.PP + Sets the date on which the key is to be retired\&. After that date, the key will still be included in the zone, but it will not be used to sign it\&. + .RE + .PP \-D \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be deleted\&. After that date, the key will no longer be included in the zone\&. (It may remain in the key repository, however\&.) -.RE -.PP + Sets the date on which the key is to be deleted\&. After that date, the key will no longer be included in the zone\&. (It may remain in the key repository, however\&.) + .RE + .PP \-D sync \fIdate/offset\fR .RS 4 -Sets the date on which the CDS and CDNSKEY records which match this key are to be deleted\&. -.RE -.PP + Sets the date on which the CDS and CDNSKEY records which match this key are to be deleted\&. + .RE + .PP \-i \fIinterval\fR .RS 4 -Sets the prepublication interval for a key\&. If set, then the publication and activation dates must be separated by at least this much time\&. If the activation date is specified but the publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&. + Sets the prepublication interval for a key\&. If set, then the publication and activation dates must be separated by at least this much time\&. If the activation date is specified but the publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&. .sp -If the key is being created as an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero\&. + If the key is being created as an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero\&. .sp -As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&. -.RE -.SH "GENERATED KEY FILES" -.PP + As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&. + .RE + .SH "GENERATED KEY FILES" + .PP When \fBdnssec\-keyfromlabel\fR completes successfully, it prints a string of the form @@ -247,9 +273,9 @@ to the standard output\&. This is an identification string for the key files it .sp -1 .IP \(bu 2.3 .\} -nnnn + nnnn is the key name\&. -.RE + .RE .sp .RS 4 .ie n \{\ @@ -259,9 +285,9 @@ is the key name\&. .sp -1 .IP \(bu 2.3 .\} -aaa + aaa is the numeric representation of the algorithm\&. -.RE + .RE .sp .RS 4 .ie n \{\ @@ -271,26 +297,26 @@ is the numeric representation of the algorithm\&. .sp -1 .IP \(bu 2.3 .\} -iiiii + iiiii is the key identifier (or footprint)\&. -.RE -.PP + .RE + .PP \fBdnssec\-keyfromlabel\fR creates two files, with names based on the printed string\&. Knnnn\&.+aaa+iiiii\&.key contains the public key, and Knnnn\&.+aaa+iiiii\&.private contains the private key\&. -.PP + .PP The \&.key file contains a DNS KEY record that can be inserted into a zone file (directly or with a $INCLUDE statement)\&. -.PP + .PP The \&.private file contains algorithm\-specific fields\&. For obvious security reasons, this file does not have general read permission\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBdnssec-keygen\fR(8), \fBdnssec-signzone\fR(8), BIND 9 Administrator Reference Manual, diff --git a/bin/dnssec/dnssec-keyfromlabel.html b/bin/dnssec/dnssec-keyfromlabel.html index 59f39c8ad3..f28f5593c1 100644 --- a/bin/dnssec/dnssec-keyfromlabel.html +++ b/bin/dnssec/dnssec-keyfromlabel.html @@ -10,7 +10,7 @@ dnssec-keyfromlabel - +
diff --git a/bin/dnssec/dnssec-keygen.8 b/bin/dnssec/dnssec-keygen.8 index b6ff1257ad..251ac11ef9 100644 --- a/bin/dnssec/dnssec-keygen.8 +++ b/bin/dnssec/dnssec-keygen.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-keygen .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: August 21, 2015 .\" Manual: BIND9 .\" Source: ISC @@ -35,234 +35,265 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-keygen \- DNSSEC key generation tool -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-keygen\fR\ 'u -\fBdnssec\-keygen\fR [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-V\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {name} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-keygen\fR\ 'u + \fBdnssec\-keygen\fR + [\fB\-3\fR] + [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] + [\fB\-b\ \fR\fB\fIkeysize\fR\fR] + [\fB\-C\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-E\ \fR\fB\fIengine\fR\fR] + [\fB\-f\ \fR\fB\fIflag\fR\fR] + [\fB\-G\fR] + [\fB\-g\ \fR\fB\fIgenerator\fR\fR] + [\fB\-h\fR] + [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-i\ \fR\fB\fIinterval\fR\fR] + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-k\fR] + [\fB\-L\ \fR\fB\fIttl\fR\fR] + [\fB\-n\ \fR\fB\fInametype\fR\fR] + [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-p\ \fR\fB\fIprotocol\fR\fR] + [\fB\-q\fR] + [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] + [\fB\-S\ \fR\fB\fIkey\fR\fR] + [\fB\-s\ \fR\fB\fIstrength\fR\fR] + [\fB\-t\ \fR\fB\fItype\fR\fR] + [\fB\-V\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + {name} + .SH "DESCRIPTION" + .PP \fBdnssec\-keygen\fR generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 and RFC 4034\&. It can also generate keys for use with TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY (Transaction Key) as defined in RFC 2930\&. -.PP + .PP The \fBname\fR of the key is specified on the command line\&. For DNSSEC keys, this must match the name of the zone for which the key is being generated\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-3 .RS 4 -Use an NSEC3\-capable algorithm to generate a DNSSEC key\&. If this option is used with an algorithm that has both NSEC and NSEC3 versions, then the NSEC3 version will be used; for example, + Use an NSEC3\-capable algorithm to generate a DNSSEC key\&. If this option is used with an algorithm that has both NSEC and NSEC3 versions, then the NSEC3 version will be used; for example, \fBdnssec\-keygen \-3a RSASHA1\fR specifies the NSEC3RSASHA1 algorithm\&. -.RE -.PP + .RE + .PP \-a \fIalgorithm\fR .RS 4 -Selects the cryptographic algorithm\&. For DNSSEC keys, the value of + Selects the cryptographic algorithm\&. For DNSSEC keys, the value of \fBalgorithm\fR must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512\&. These values are case insensitive\&. .sp -If no algorithm is specified, then RSASHA1 will be used by default, unless the + If no algorithm is specified, then RSASHA1 will be used by default, unless the \fB\-3\fR option is specified, in which case NSEC3RSASHA1 will be used instead\&. (If \fB\-3\fR is used and an algorithm is specified, that algorithm will be checked for compatibility with NSEC3\&.) .sp -Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended\&. For TSIG, HMAC\-MD5 is mandatory\&. + Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement algorithm, and DSA is recommended\&. For TSIG, HMAC\-MD5 is mandatory\&. .sp -Note 2: DH, HMAC\-MD5, and HMAC\-SHA1 through HMAC\-SHA512 automatically set the \-T KEY option\&. -.RE -.PP + Note 2: DH, HMAC\-MD5, and HMAC\-SHA1 through HMAC\-SHA512 automatically set the \-T KEY option\&. + .RE + .PP \-b \fIkeysize\fR .RS 4 -Specifies the number of bits in the key\&. The choice of key size depends on the algorithm used\&. RSA keys must be between 512 and 2048 bits\&. Diffie Hellman keys must be between 128 and 4096 bits\&. DSA keys must be between 512 and 1024 bits and an exact multiple of 64\&. HMAC keys must be between 1 and 512 bits\&. Elliptic curve algorithms don\*(Aqt need this parameter\&. + Specifies the number of bits in the key\&. The choice of key size depends on the algorithm used\&. RSA keys must be between 512 and 2048 bits\&. Diffie Hellman keys must be between 128 and 4096 bits\&. DSA keys must be between 512 and 1024 bits and an exact multiple of 64\&. HMAC keys must be between 1 and 512 bits\&. Elliptic curve algorithms don\*(Aqt need this parameter\&. .sp -The key size does not need to be specified if using a default algorithm\&. The default key size is 1024 bits for zone signing keys (ZSKs) and 2048 bits for key signing keys (KSKs, generated with + The key size does not need to be specified if using a default algorithm\&. The default key size is 1024 bits for zone signing keys (ZSKs) and 2048 bits for key signing keys (KSKs, generated with \fB\-f KSK\fR)\&. However, if an algorithm is explicitly specified with the \fB\-a\fR, then there is no default key size, and the \fB\-b\fR must be used\&. -.RE -.PP + .RE + .PP \-C .RS 4 -Compatibility mode: generates an old\-style key, without any timing metadata\&. By default, + Compatibility mode: generates an old\-style key, without any timing metadata\&. By default, \fBdnssec\-keygen\fR will include the key\*(Aqs creation date in the metadata stored with the private key, and other dates may be set there as well (publication date, activation date, etc)\&. Keys that include this data may be incompatible with older versions of BIND; the \fB\-C\fR option suppresses them\&. -.RE -.PP + .RE + .PP \-c \fIclass\fR .RS 4 -Indicates that the DNS record containing the key should have the specified class\&. If not specified, class IN is used\&. -.RE -.PP + Indicates that the DNS record containing the key should have the specified class\&. If not specified, class IN is used\&. + .RE + .PP \-E \fIengine\fR .RS 4 -Specifies the cryptographic hardware to use, when applicable\&. + Specifies the cryptographic hardware to use, when applicable\&. .sp -When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. -.RE -.PP + When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. + .RE + .PP \-f \fIflag\fR .RS 4 -Set the specified flag in the flag field of the KEY/DNSKEY record\&. The only recognized flags are KSK (Key Signing Key) and REVOKE\&. -.RE -.PP + Set the specified flag in the flag field of the KEY/DNSKEY record\&. The only recognized flags are KSK (Key Signing Key) and REVOKE\&. + .RE + .PP \-G .RS 4 -Generate a key, but do not publish it or sign with it\&. This option is incompatible with \-P and \-A\&. -.RE -.PP + Generate a key, but do not publish it or sign with it\&. This option is incompatible with \-P and \-A\&. + .RE + .PP \-g \fIgenerator\fR .RS 4 -If generating a Diffie Hellman key, use this generator\&. Allowed values are 2 and 5\&. If no generator is specified, a known prime from RFC 2539 will be used if possible; otherwise the default is 2\&. -.RE -.PP + If generating a Diffie Hellman key, use this generator\&. Allowed values are 2 and 5\&. If no generator is specified, a known prime from RFC 2539 will be used if possible; otherwise the default is 2\&. + .RE + .PP \-h .RS 4 -Prints a short summary of the options and arguments to + Prints a short summary of the options and arguments to \fBdnssec\-keygen\fR\&. -.RE -.PP + .RE + .PP \-K \fIdirectory\fR .RS 4 -Sets the directory in which the key files are to be written\&. -.RE -.PP + Sets the directory in which the key files are to be written\&. + .RE + .PP \-k .RS 4 -Deprecated in favor of \-T KEY\&. -.RE -.PP + Deprecated in favor of \-T KEY\&. + .RE + .PP \-L \fIttl\fR .RS 4 -Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to + Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to 0 or none is the same as leaving it unset\&. -.RE -.PP + .RE + .PP \-n \fInametype\fR .RS 4 -Specifies the owner type of the key\&. The value of + Specifies the owner type of the key\&. The value of \fBnametype\fR must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)), USER (for a key associated with a user(KEY)) or OTHER (DNSKEY)\&. These values are case insensitive\&. Defaults to ZONE for DNSKEY generation\&. -.RE -.PP + .RE + .PP \-p \fIprotocol\fR .RS 4 -Sets the protocol value for the generated key, for use with + Sets the protocol value for the generated key, for use with \fB\-T KEY\fR\&. The protocol is a number between 0 and 255\&. The default is 3 (DNSSEC)\&. Other possible values for this argument are listed in RFC 2535 and its successors\&. -.RE -.PP + .RE + .PP \-q .RS 4 -Quiet mode: Suppresses unnecessary output, including progress indication\&. Without this option, when + Quiet mode: Suppresses unnecessary output, including progress indication\&. Without this option, when \fBdnssec\-keygen\fR is run interactively to generate an RSA or DSA key pair, it will print a string of symbols to stderr indicating the progress of the key generation\&. A \*(Aq\&.\*(Aq indicates that a random number has been found which passed an initial sieve test; \*(Aq+\*(Aq means a number has passed a single round of the Miller\-Rabin primality test; a space means that the number has passed all the tests and is a satisfactory key\&. -.RE -.PP + .RE + .PP \-r \fIrandomdev\fR .RS 4 -Specifies the source of randomness\&. If the operating system does not provide a + Specifies the source of randomness\&. If the operating system does not provide a /dev/random or equivalent device, the default source of randomness is keyboard input\&. randomdev specifies the name of a character device or file containing random data to be used instead of the default\&. The special value keyboard indicates that keyboard input should be used\&. -.RE -.PP + .RE + .PP \-S \fIkey\fR .RS 4 -Create a new key which is an explicit successor to an existing key\&. The name, algorithm, size, and type of the key will be set to match the existing key\&. The activation date of the new key will be set to the inactivation date of the existing one\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&. -.RE -.PP + Create a new key which is an explicit successor to an existing key\&. The name, algorithm, size, and type of the key will be set to match the existing key\&. The activation date of the new key will be set to the inactivation date of the existing one\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&. + .RE + .PP \-s \fIstrength\fR .RS 4 -Specifies the strength value of the key\&. The strength is a number between 0 and 15, and currently has no defined purpose in DNSSEC\&. -.RE -.PP + Specifies the strength value of the key\&. The strength is a number between 0 and 15, and currently has no defined purpose in DNSSEC\&. + .RE + .PP \-T \fIrrtype\fR .RS 4 -Specifies the resource record type to use for the key\&. + Specifies the resource record type to use for the key\&. \fBrrtype\fR must be either DNSKEY or KEY\&. The default is DNSKEY when using a DNSSEC algorithm, but it can be overridden to KEY for use with SIG(0)\&. Using any TSIG algorithm (HMAC\-* or DH) forces this option to KEY\&. -.RE -.PP + .RE + .PP \-t \fItype\fR .RS 4 -Indicates the use of the key, for use with + Indicates the use of the key, for use with \fB\-T KEY\fR\&. \fBtype\fR must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF\&. The default is AUTHCONF\&. AUTH refers to the ability to authenticate data, and CONF the ability to encrypt data\&. -.RE -.PP + .RE + .PP \-V .RS 4 -Prints version information\&. -.RE -.PP + Prints version information\&. + .RE + .PP \-v \fIlevel\fR .RS 4 -Sets the debugging level\&. -.RE -.SH "TIMING OPTIONS" -.PP + Sets the debugging level\&. + .RE + .SH "TIMING OPTIONS" + .PP Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To explicitly prevent a date from being set, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&. -.PP + .PP \-P \fIdate/offset\fR .RS 4 -Sets the date on which a key is to be published to the zone\&. After that date, the key will be included in the zone but will not be used to sign it\&. If not set, and if the \-G option has not been used, the default is "now"\&. -.RE -.PP + Sets the date on which a key is to be published to the zone\&. After that date, the key will be included in the zone but will not be used to sign it\&. If not set, and if the \-G option has not been used, the default is "now"\&. + .RE + .PP \-P sync \fIdate/offset\fR .RS 4 -Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&. -.RE -.PP + Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&. + .RE + .PP \-A \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be activated\&. After that date, the key will be included in the zone and used to sign it\&. If not set, and if the \-G option has not been used, the default is "now"\&. If set, if and \-P is not set, then the publication date will be set to the activation date minus the prepublication interval\&. -.RE -.PP + Sets the date on which the key is to be activated\&. After that date, the key will be included in the zone and used to sign it\&. If not set, and if the \-G option has not been used, the default is "now"\&. If set, if and \-P is not set, then the publication date will be set to the activation date minus the prepublication interval\&. + .RE + .PP \-R \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be revoked\&. After that date, the key will be flagged as revoked\&. It will be included in the zone and will be used to sign it\&. -.RE -.PP + Sets the date on which the key is to be revoked\&. After that date, the key will be flagged as revoked\&. It will be included in the zone and will be used to sign it\&. + .RE + .PP \-I \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be retired\&. After that date, the key will still be included in the zone, but it will not be used to sign it\&. -.RE -.PP + Sets the date on which the key is to be retired\&. After that date, the key will still be included in the zone, but it will not be used to sign it\&. + .RE + .PP \-D \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be deleted\&. After that date, the key will no longer be included in the zone\&. (It may remain in the key repository, however\&.) -.RE -.PP + Sets the date on which the key is to be deleted\&. After that date, the key will no longer be included in the zone\&. (It may remain in the key repository, however\&.) + .RE + .PP \-D sync \fIdate/offset\fR .RS 4 -Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&. -.RE -.PP + Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&. + .RE + .PP \-i \fIinterval\fR .RS 4 -Sets the prepublication interval for a key\&. If set, then the publication and activation dates must be separated by at least this much time\&. If the activation date is specified but the publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&. + Sets the prepublication interval for a key\&. If set, then the publication and activation dates must be separated by at least this much time\&. If the activation date is specified but the publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&. .sp -If the key is being created as an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero\&. + If the key is being created as an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero\&. .sp -As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&. -.RE -.SH "GENERATED KEYS" -.PP + As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&. + .RE + .SH "GENERATED KEYS" + .PP When \fBdnssec\-keygen\fR completes successfully, it prints a string of the form @@ -277,9 +308,9 @@ to the standard output\&. This is an identification string for the key it has ge .sp -1 .IP \(bu 2.3 .\} -nnnn + nnnn is the key name\&. -.RE + .RE .sp .RS 4 .ie n \{\ @@ -289,9 +320,9 @@ is the key name\&. .sp -1 .IP \(bu 2.3 .\} -aaa + aaa is the numeric representation of the algorithm\&. -.RE + .RE .sp .RS 4 .ie n \{\ @@ -301,53 +332,53 @@ is the numeric representation of the algorithm\&. .sp -1 .IP \(bu 2.3 .\} -iiiii + iiiii is the key identifier (or footprint)\&. -.RE -.PP + .RE + .PP \fBdnssec\-keygen\fR creates two files, with names based on the printed string\&. Knnnn\&.+aaa+iiiii\&.key contains the public key, and Knnnn\&.+aaa+iiiii\&.private contains the private key\&. -.PP + .PP The \&.key file contains a DNS KEY record that can be inserted into a zone file (directly or with a $INCLUDE statement)\&. -.PP + .PP The \&.private file contains algorithm\-specific fields\&. For obvious security reasons, this file does not have general read permission\&. -.PP + .PP Both \&.key and \&.private files are generated for symmetric cryptography algorithms such as HMAC\-MD5, even though the public and private key are equivalent\&. -.SH "EXAMPLE" -.PP + .SH "EXAMPLE" + .PP To generate a 768\-bit DSA key for the domain \fBexample\&.com\fR, the following command would be issued: -.PP + .PP \fBdnssec\-keygen \-a DSA \-b 768 \-n ZONE example\&.com\fR -.PP + .PP The command would print a string of the form: -.PP + .PP \fBKexample\&.com\&.+003+26160\fR -.PP + .PP In this example, \fBdnssec\-keygen\fR creates the files Kexample\&.com\&.+003+26160\&.key and Kexample\&.com\&.+003+26160\&.private\&. -.PP + .PP To generate a matching key\-signing key, issue the command: -.PP + .PP \fBdnssec\-keygen \-a DSA \-b 768 \-n ZONE \-f KSK example\&.com\fR -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBdnssec-signzone\fR(8), BIND 9 Administrator Reference Manual, RFC 2539, diff --git a/bin/dnssec/dnssec-keygen.html b/bin/dnssec/dnssec-keygen.html index 9d52755a1a..4d383587ed 100644 --- a/bin/dnssec/dnssec-keygen.html +++ b/bin/dnssec/dnssec-keygen.html @@ -10,7 +10,7 @@ dnssec-keygen - +
diff --git a/bin/dnssec/dnssec-revoke.8 b/bin/dnssec/dnssec-revoke.8 index 61d23f85e2..7ebaf099d5 100644 --- a/bin/dnssec/dnssec-revoke.8 +++ b/bin/dnssec/dnssec-revoke.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-revoke .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-01-15 .\" Manual: BIND9 .\" Source: ISC @@ -35,62 +35,70 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-revoke \- set the REVOKED bit on a DNSSEC key -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-revoke\fR\ 'u -\fBdnssec\-revoke\fR [\fB\-hr\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\fR] [\fB\-R\fR] {keyfile} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-revoke\fR\ 'u + \fBdnssec\-revoke\fR + [\fB\-hr\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-V\fR] + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-E\ \fR\fB\fIengine\fR\fR] + [\fB\-f\fR] + [\fB\-R\fR] + {keyfile} + .SH "DESCRIPTION" + .PP \fBdnssec\-revoke\fR reads a DNSSEC key file, sets the REVOKED bit on the key as defined in RFC 5011, and creates a new pair of key files containing the now\-revoked key\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-h .RS 4 -Emit usage message and exit\&. -.RE -.PP + Emit usage message and exit\&. + .RE + .PP \-K \fIdirectory\fR .RS 4 -Sets the directory in which the key files are to reside\&. -.RE -.PP + Sets the directory in which the key files are to reside\&. + .RE + .PP \-r .RS 4 -After writing the new keyset files remove the original keyset files\&. -.RE -.PP + After writing the new keyset files remove the original keyset files\&. + .RE + .PP \-v \fIlevel\fR .RS 4 -Sets the debugging level\&. -.RE -.PP + Sets the debugging level\&. + .RE + .PP \-V .RS 4 -Prints version information\&. -.RE -.PP + Prints version information\&. + .RE + .PP \-E \fIengine\fR .RS 4 -Specifies the cryptographic hardware to use, when applicable\&. + Specifies the cryptographic hardware to use, when applicable\&. .sp -When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. -.RE -.PP + When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. + .RE + .PP \-f .RS 4 -Force overwrite: Causes + Force overwrite: Causes \fBdnssec\-revoke\fR to write the new key pair even if a file already exists matching the algorithm and key ID of the revoked key\&. -.RE -.PP + .RE + .PP \-R .RS 4 -Print the key tag of the key with the REVOKE bit set but do not revoke the key\&. -.RE -.SH "SEE ALSO" -.PP + Print the key tag of the key with the REVOKE bit set but do not revoke the key\&. + .RE + .SH "SEE ALSO" + .PP \fBdnssec-keygen\fR(8), BIND 9 Administrator Reference Manual, RFC 5011\&. diff --git a/bin/dnssec/dnssec-revoke.html b/bin/dnssec/dnssec-revoke.html index 09d1d92066..56114b39de 100644 --- a/bin/dnssec/dnssec-revoke.html +++ b/bin/dnssec/dnssec-revoke.html @@ -10,7 +10,7 @@ dnssec-revoke - +
diff --git a/bin/dnssec/dnssec-settime.8 b/bin/dnssec/dnssec-settime.8 index b2240494af..c0cf7df5a4 100644 --- a/bin/dnssec/dnssec-settime.8 +++ b/bin/dnssec/dnssec-settime.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-settime .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2015-08-21 .\" Manual: BIND9 .\" Source: ISC @@ -35,13 +35,30 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-settime \- set the key timing metadata for a DNSSEC key -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-settime\fR\ 'u -\fBdnssec\-settime\fR [\fB\-f\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-h\fR] [\fB\-V\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] {keyfile} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-settime\fR\ 'u + \fBdnssec\-settime\fR + [\fB\-f\fR] + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-L\ \fR\fB\fIttl\fR\fR] + [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] + [\fB\-S\ \fR\fB\fIkey\fR\fR] + [\fB\-i\ \fR\fB\fIinterval\fR\fR] + [\fB\-h\fR] + [\fB\-V\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-E\ \fR\fB\fIengine\fR\fR] + {keyfile} + .SH "DESCRIPTION" + .PP \fBdnssec\-settime\fR reads a DNSSEC private key file and sets the key timing metadata as specified by the \fB\-P\fR, @@ -52,123 +69,123 @@ reads a DNSSEC private key file and sets the key timing metadata as specified by options\&. The metadata can then be used by \fBdnssec\-signzone\fR or other signing software to determine when a key is to be published, whether it should be used for signing a zone, etc\&. -.PP + .PP If none of these options is set on the command line, then \fBdnssec\-settime\fR simply prints the key timing metadata already stored in the key\&. -.PP + .PP When key metadata fields are changed, both files of a key pair (Knnnn\&.+aaa+iiiii\&.key and Knnnn\&.+aaa+iiiii\&.private) are regenerated\&. Metadata fields are stored in the private file\&. A human\-readable description of the metadata is also placed in comments in the key file\&. The private file\*(Aqs permissions are always set to be inaccessible to anyone other than the owner (mode 0600)\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-f .RS 4 -Force an update of an old\-format key with no metadata fields\&. Without this option, + Force an update of an old\-format key with no metadata fields\&. Without this option, \fBdnssec\-settime\fR will fail when attempting to update a legacy key\&. With this option, the key will be recreated in the new format, but with the original key data retained\&. The key\*(Aqs creation date will be set to the present time\&. If no other values are specified, then the key\*(Aqs publication and activation dates will also be set to the present time\&. -.RE -.PP + .RE + .PP \-K \fIdirectory\fR .RS 4 -Sets the directory in which the key files are to reside\&. -.RE -.PP + Sets the directory in which the key files are to reside\&. + .RE + .PP \-L \fIttl\fR .RS 4 -Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to + Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to 0 or none removes it from the key\&. -.RE -.PP + .RE + .PP \-h .RS 4 -Emit usage message and exit\&. -.RE -.PP + Emit usage message and exit\&. + .RE + .PP \-V .RS 4 -Prints version information\&. -.RE -.PP + Prints version information\&. + .RE + .PP \-v \fIlevel\fR .RS 4 -Sets the debugging level\&. -.RE -.PP + Sets the debugging level\&. + .RE + .PP \-E \fIengine\fR .RS 4 -Specifies the cryptographic hardware to use, when applicable\&. + Specifies the cryptographic hardware to use, when applicable\&. .sp -When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. -.RE -.SH "TIMING OPTIONS" -.PP + When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. + .RE + .SH "TIMING OPTIONS" + .PP Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To unset a date, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&. -.PP + .PP \-P \fIdate/offset\fR .RS 4 -Sets the date on which a key is to be published to the zone\&. After that date, the key will be included in the zone but will not be used to sign it\&. -.RE -.PP + Sets the date on which a key is to be published to the zone\&. After that date, the key will be included in the zone but will not be used to sign it\&. + .RE + .PP \-P sync \fIdate/offset\fR .RS 4 -Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&. -.RE -.PP + Sets the date on which CDS and CDNSKEY records that match this key are to be published to the zone\&. + .RE + .PP \-A \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be activated\&. After that date, the key will be included in the zone and used to sign it\&. -.RE -.PP + Sets the date on which the key is to be activated\&. After that date, the key will be included in the zone and used to sign it\&. + .RE + .PP \-R \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be revoked\&. After that date, the key will be flagged as revoked\&. It will be included in the zone and will be used to sign it\&. -.RE -.PP + Sets the date on which the key is to be revoked\&. After that date, the key will be flagged as revoked\&. It will be included in the zone and will be used to sign it\&. + .RE + .PP \-I \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be retired\&. After that date, the key will still be included in the zone, but it will not be used to sign it\&. -.RE -.PP + Sets the date on which the key is to be retired\&. After that date, the key will still be included in the zone, but it will not be used to sign it\&. + .RE + .PP \-D \fIdate/offset\fR .RS 4 -Sets the date on which the key is to be deleted\&. After that date, the key will no longer be included in the zone\&. (It may remain in the key repository, however\&.) -.RE -.PP + Sets the date on which the key is to be deleted\&. After that date, the key will no longer be included in the zone\&. (It may remain in the key repository, however\&.) + .RE + .PP \-D sync \fIdate/offset\fR .RS 4 -Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&. -.RE -.PP + Sets the date on which the CDS and CDNSKEY records that match this key are to be deleted\&. + .RE + .PP \-S \fIpredecessor key\fR .RS 4 -Select a key for which the key being modified will be an explicit successor\&. The name, algorithm, size, and type of the predecessor key must exactly match those of the key being modified\&. The activation date of the successor key will be set to the inactivation date of the predecessor\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&. -.RE -.PP + Select a key for which the key being modified will be an explicit successor\&. The name, algorithm, size, and type of the predecessor key must exactly match those of the key being modified\&. The activation date of the successor key will be set to the inactivation date of the predecessor\&. The publication date will be set to the activation date minus the prepublication interval, which defaults to 30 days\&. + .RE + .PP \-i \fIinterval\fR .RS 4 -Sets the prepublication interval for a key\&. If set, then the publication and activation dates must be separated by at least this much time\&. If the activation date is specified but the publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&. + Sets the prepublication interval for a key\&. If set, then the publication and activation dates must be separated by at least this much time\&. If the activation date is specified but the publication date isn\*(Aqt, then the publication date will default to this much time before the activation date; conversely, if the publication date is specified but activation date isn\*(Aqt, then activation will be set to this much time after publication\&. .sp -If the key is being set to be an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero\&. + If the key is being set to be an explicit successor to another key, then the default prepublication interval is 30 days; otherwise it is zero\&. .sp -As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&. -.RE -.SH "PRINTING OPTIONS" -.PP + As with date offsets, if the argument is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the interval is measured in years, months, weeks, days, hours, or minutes, respectively\&. Without a suffix, the interval is measured in seconds\&. + .RE + .SH "PRINTING OPTIONS" + .PP \fBdnssec\-settime\fR can also be used to print the timing metadata associated with a key\&. -.PP + .PP \-u .RS 4 -Print times in UNIX epoch format\&. -.RE -.PP + Print times in UNIX epoch format\&. + .RE + .PP \-p \fIC/P/Psync/A/R/I/D/Dsync/all\fR .RS 4 -Print a specific metadata value or set of metadata values\&. The + Print a specific metadata value or set of metadata values\&. The \fB\-p\fR option may be followed by one or more of the following letters or strings to indicate which value or values to print: \fBC\fR @@ -188,9 +205,9 @@ for the deletion date, and \fBDsync\fR for the CDS and CDNSKEY deletion date To print all of the metadata, use \fB\-p all\fR\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP \fBdnssec-keygen\fR(8), \fBdnssec-signzone\fR(8), BIND 9 Administrator Reference Manual, diff --git a/bin/dnssec/dnssec-settime.html b/bin/dnssec/dnssec-settime.html index 64edb2ea17..5e30cf0328 100644 --- a/bin/dnssec/dnssec-settime.html +++ b/bin/dnssec/dnssec-settime.html @@ -10,7 +10,7 @@ dnssec-settime - +
diff --git a/bin/dnssec/dnssec-signzone.8 b/bin/dnssec/dnssec-signzone.8 index be2af1f41e..32fd7d1d36 100644 --- a/bin/dnssec/dnssec-signzone.8 +++ b/bin/dnssec/dnssec-signzone.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-signzone .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-02-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,92 +35,132 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-signzone \- DNSSEC zone signing tool -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-signzone\fR\ 'u -\fBdnssec\-signzone\fR [\fB\-a\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-d\ \fR\fB\fIdirectory\fR\fR] [\fB\-D\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-e\ \fR\fB\fIend\-time\fR\fR] [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] [\fB\-g\fR] [\fB\-h\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-j\ \fR\fB\fIjitter\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\ \fR\fB\fIkey\fR\fR] [\fB\-L\ \fR\fB\fIserial\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-M\ \fR\fB\fImaxttl\fR\fR] [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] [\fB\-P\fR] [\fB\-p\fR] [\fB\-Q\fR] [\fB\-R\fR] [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] [\fB\-S\fR] [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] [\fB\-T\ \fR\fB\fIttl\fR\fR] [\fB\-t\fR] [\fB\-u\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fB\-X\ \fR\fB\fIextended\ end\-time\fR\fR] [\fB\-x\fR] [\fB\-z\fR] [\fB\-3\ \fR\fB\fIsalt\fR\fR] [\fB\-H\ \fR\fB\fIiterations\fR\fR] [\fB\-A\fR] {zonefile} [key...] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-signzone\fR\ 'u + \fBdnssec\-signzone\fR + [\fB\-a\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-d\ \fR\fB\fIdirectory\fR\fR] + [\fB\-D\fR] + [\fB\-E\ \fR\fB\fIengine\fR\fR] + [\fB\-e\ \fR\fB\fIend\-time\fR\fR] + [\fB\-f\ \fR\fB\fIoutput\-file\fR\fR] + [\fB\-g\fR] + [\fB\-h\fR] + [\fB\-i\ \fR\fB\fIinterval\fR\fR] + [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] + [\fB\-j\ \fR\fB\fIjitter\fR\fR] + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-k\ \fR\fB\fIkey\fR\fR] + [\fB\-L\ \fR\fB\fIserial\fR\fR] + [\fB\-l\ \fR\fB\fIdomain\fR\fR] + [\fB\-M\ \fR\fB\fImaxttl\fR\fR] + [\fB\-N\ \fR\fB\fIsoa\-serial\-format\fR\fR] + [\fB\-o\ \fR\fB\fIorigin\fR\fR] + [\fB\-O\ \fR\fB\fIoutput\-format\fR\fR] + [\fB\-P\fR] + [\fB\-p\fR] + [\fB\-Q\fR] + [\fB\-R\fR] + [\fB\-r\ \fR\fB\fIrandomdev\fR\fR] + [\fB\-S\fR] + [\fB\-s\ \fR\fB\fIstart\-time\fR\fR] + [\fB\-T\ \fR\fB\fIttl\fR\fR] + [\fB\-t\fR] + [\fB\-u\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-V\fR] + [\fB\-X\ \fR\fB\fIextended\ end\-time\fR\fR] + [\fB\-x\fR] + [\fB\-z\fR] + [\fB\-3\ \fR\fB\fIsalt\fR\fR] + [\fB\-H\ \fR\fB\fIiterations\fR\fR] + [\fB\-A\fR] + {zonefile} + [key...] + .SH "DESCRIPTION" + .PP \fBdnssec\-signzone\fR signs a zone\&. It generates NSEC and RRSIG records and produces a signed version of the zone\&. The security status of delegations from the signed zone (that is, whether the child zones are secure or not) is determined by the presence or absence of a keyset file for each child zone\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-a .RS 4 -Verify all generated signatures\&. -.RE -.PP + Verify all generated signatures\&. + .RE + .PP \-c \fIclass\fR .RS 4 -Specifies the DNS class of the zone\&. -.RE -.PP + Specifies the DNS class of the zone\&. + .RE + .PP \-C .RS 4 -Compatibility mode: Generate a + Compatibility mode: Generate a keyset\-\fIzonename\fR file in addition to dsset\-\fIzonename\fR when signing a zone, for use by older versions of \fBdnssec\-signzone\fR\&. -.RE -.PP + .RE + .PP \-d \fIdirectory\fR .RS 4 -Look for + Look for dsset\- or keyset\- files in \fBdirectory\fR\&. -.RE -.PP + .RE + .PP \-D .RS 4 -Output only those record types automatically managed by + Output only those record types automatically managed by \fBdnssec\-signzone\fR, i\&.e\&. RRSIG, NSEC, NSEC3 and NSEC3PARAM records\&. If smart signing (\fB\-S\fR) is used, DNSKEY records are also included\&. The resulting file can be included in the original zone file with \fB$INCLUDE\fR\&. This option cannot be combined with \fB\-O raw\fR, \fB\-O map\fR, or serial number updating\&. -.RE -.PP + .RE + .PP \-E \fIengine\fR .RS 4 -When applicable, specifies the hardware to use for cryptographic operations, such as a secure key store used for signing\&. + When applicable, specifies the hardware to use for cryptographic operations, such as a secure key store used for signing\&. .sp -When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. -.RE -.PP + When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. + .RE + .PP \-g .RS 4 -Generate DS records for child zones from + Generate DS records for child zones from dsset\- or keyset\- file\&. Existing DS records will be removed\&. -.RE -.PP + .RE + .PP \-K \fIdirectory\fR .RS 4 -Key repository: Specify a directory to search for DNSSEC keys\&. If not specified, defaults to the current directory\&. -.RE -.PP + Key repository: Specify a directory to search for DNSSEC keys\&. If not specified, defaults to the current directory\&. + .RE + .PP \-k \fIkey\fR .RS 4 -Treat specified key as a key signing key ignoring any key flags\&. This option may be specified multiple times\&. -.RE -.PP + Treat specified key as a key signing key ignoring any key flags\&. This option may be specified multiple times\&. + .RE + .PP \-l \fIdomain\fR .RS 4 -Generate a DLV set in addition to the key (DNSKEY) and DS sets\&. The domain is appended to the name of the records\&. -.RE -.PP + Generate a DLV set in addition to the key (DNSKEY) and DS sets\&. The domain is appended to the name of the records\&. + .RE + .PP \-M \fImaxttl\fR .RS 4 -Sets the maximum TTL for the signed zone\&. Any TTL higher than + Sets the maximum TTL for the signed zone\&. Any TTL higher than \fImaxttl\fR in the input zone will be reduced to \fImaxttl\fR @@ -129,31 +169,31 @@ in the output\&. This provides certainty as to the largest possible TTL in the s in named\&.conf\&. (Note: This option is incompatible with \fB\-D\fR, because it modifies non\-DNSSEC data in the output zone\&.) -.RE -.PP + .RE + .PP \-s \fIstart\-time\fR .RS 4 -Specify the date and time when the generated RRSIG records become valid\&. This can be either an absolute or relative time\&. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000\&. A relative start time is indicated by +N, which is N seconds from the current time\&. If no + Specify the date and time when the generated RRSIG records become valid\&. This can be either an absolute or relative time\&. An absolute start time is indicated by a number in YYYYMMDDHHMMSS notation; 20000530144500 denotes 14:45:00 UTC on May 30th, 2000\&. A relative start time is indicated by +N, which is N seconds from the current time\&. If no \fBstart\-time\fR is specified, the current time minus 1 hour (to allow for clock skew) is used\&. -.RE -.PP + .RE + .PP \-e \fIend\-time\fR .RS 4 -Specify the date and time when the generated RRSIG records expire\&. As with + Specify the date and time when the generated RRSIG records expire\&. As with \fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation\&. A time relative to the start time is indicated with +N, which is N seconds from the start time\&. A time relative to the current time is indicated with now+N\&. If no \fBend\-time\fR is specified, 30 days from the start time is used as a default\&. \fBend\-time\fR must be later than \fBstart\-time\fR\&. -.RE -.PP + .RE + .PP \-X \fIextended end\-time\fR .RS 4 -Specify the date and time when the generated RRSIG records for the DNSKEY RRset will expire\&. This is to be used in cases when the DNSKEY signatures need to persist longer than signatures on other records; e\&.g\&., when the private component of the KSK is kept offline and the KSK signature is to be refreshed manually\&. + Specify the date and time when the generated RRSIG records for the DNSKEY RRset will expire\&. This is to be used in cases when the DNSKEY signatures need to persist longer than signatures on other records; e\&.g\&., when the private component of the KSK is kept offline and the KSK signature is to be refreshed manually\&. .sp -As with + As with \fBstart\-time\fR, an absolute time is indicated in YYYYMMDDHHMMSS notation\&. A time relative to the start time is indicated with +N, which is N seconds from the start time\&. A time relative to the current time is indicated with now+N\&. If no \fBextended end\-time\fR is specified, the value of @@ -162,110 +202,111 @@ is used as the default\&. (\fBend\-time\fR, in turn, defaults to 30 days from th \fBextended end\-time\fR must be later than \fBstart\-time\fR\&. -.RE -.PP + .RE + .PP \-f \fIoutput\-file\fR .RS 4 -The name of the output file containing the signed zone\&. The default is to append + The name of the output file containing the signed zone\&. The default is to append \&.signed to the input filename\&. If \fBoutput\-file\fR is set to "\-", then the signed zone is written to the standard output, with a default output format of "full"\&. -.RE -.PP + .RE + .PP \-h .RS 4 -Prints a short summary of the options and arguments to + Prints a short summary of the options and arguments to \fBdnssec\-signzone\fR\&. -.RE -.PP + .RE + .PP \-V .RS 4 -Prints version information\&. -.RE -.PP + Prints version information\&. + .RE + .PP \-i \fIinterval\fR .RS 4 -When a previously\-signed zone is passed as input, records may be resigned\&. The + When a previously\-signed zone is passed as input, records may be resigned\&. The \fBinterval\fR option specifies the cycle interval as an offset from the current time (in seconds)\&. If a RRSIG record expires after the cycle interval, it is retained\&. Otherwise, it is considered to be expiring soon, and it will be replaced\&. .sp -The default cycle interval is one quarter of the difference between the signature end and start times\&. So if neither + The default cycle interval is one quarter of the difference between the signature end and start times\&. So if neither \fBend\-time\fR or \fBstart\-time\fR are specified, \fBdnssec\-signzone\fR generates signatures that are valid for 30 days, with a cycle interval of 7\&.5 days\&. Therefore, if any existing RRSIG records are due to expire in less than 7\&.5 days, they would be replaced\&. -.RE -.PP + .RE + .PP \-I \fIinput\-format\fR .RS 4 -The format of the input zone file\&. Possible formats are + The format of the input zone file\&. Possible formats are \fB"text"\fR (default), \fB"raw"\fR, and \fB"map"\fR\&. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be signed directly\&. The use of this option does not make much sense for non\-dynamic zones\&. -.RE -.PP + .RE + .PP \-j \fIjitter\fR .RS 4 -When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously\&. If the zone is incrementally signed, i\&.e\&. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time\&. The + When signing a zone with a fixed signature lifetime, all RRSIG records issued at the time of signing expires simultaneously\&. If the zone is incrementally signed, i\&.e\&. a previously\-signed zone is passed as input to the signer, all expired signatures have to be regenerated at about the same time\&. The \fBjitter\fR option specifies a jitter window that will be used to randomize the signature expire time, thus spreading incremental signature regeneration over time\&. .sp -Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i\&.e\&. if large numbers of RRSIGs don\*(Aqt expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time\&. -.RE -.PP + Signature lifetime jitter also to some extent benefits validators and servers by spreading out cache expiration, i\&.e\&. if large numbers of RRSIGs don\*(Aqt expire at the same time from all caches there will be less congestion than if all validators need to refetch at mostly the same time\&. + .RE + .PP \-L \fIserial\fR .RS 4 -When writing a signed zone to "raw" or "map" format, set the "source serial" value in the header to the specified serial number\&. (This is expected to be used primarily for testing purposes\&.) -.RE -.PP + When writing a signed zone to "raw" or "map" format, set the "source serial" value in the header to the specified serial number\&. (This is expected to be used primarily for testing purposes\&.) + .RE + .PP \-n \fIncpus\fR .RS 4 -Specifies the number of threads to use\&. By default, one thread is started for each detected CPU\&. -.RE -.PP + Specifies the number of threads to use\&. By default, one thread is started for each detected CPU\&. + .RE + .PP \-N \fIsoa\-serial\-format\fR .RS 4 -The SOA serial number format of the signed zone\&. Possible formats are + The SOA serial number format of the signed zone\&. Possible formats are \fB"keep"\fR (default), \fB"increment"\fR, \fB"unixtime"\fR, and \fB"date"\fR\&. -.PP + .PP \fB"keep"\fR .RS 4 -Do not modify the SOA serial number\&. -.RE -.PP + Do not modify the SOA serial number\&. + .RE + .PP \fB"increment"\fR .RS 4 -Increment the SOA serial number using RFC 1982 arithmetics\&. -.RE -.PP + Increment the SOA serial number using RFC 1982 arithmetics\&. + .RE + .PP \fB"unixtime"\fR .RS 4 -Set the SOA serial number to the number of seconds since epoch\&. -.RE -.PP + Set the SOA serial number to the number of seconds since epoch\&. + .RE + .PP \fB"date"\fR .RS 4 -Set the SOA serial number to today\*(Aqs date in YYYYMMDDNN format\&. -.RE -.RE -.PP + Set the SOA serial number to today\*(Aqs date in YYYYMMDDNN format\&. + .RE + .sp + .RE + .PP \-o \fIorigin\fR .RS 4 -The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&. -.RE -.PP + The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&. + .RE + .PP \-O \fIoutput\-format\fR .RS 4 -The format of the output file containing the signed zone\&. Possible formats are + The format of the output file containing the signed zone\&. Possible formats are \fB"text"\fR (default), which is the standard textual representation of the zone; \fB"full"\fR, which is text output in a format suitable for processing by external scripts; and @@ -276,151 +317,152 @@ The format of the output file containing the signed zone\&. Possible formats are \fB"raw=N"\fR specifies the format version of the raw zone file: if N is 0, the raw file can be read by any version of \fBnamed\fR; if N is 1, the file can be read by release 9\&.9\&.0 or higher; the default is 1\&. -.RE -.PP + .RE + .PP \-p .RS 4 -Use pseudo\-random data when signing the zone\&. This is faster, but less secure, than using real random data\&. This option may be useful when signing large zones or when the entropy source is limited\&. -.RE -.PP + Use pseudo\-random data when signing the zone\&. This is faster, but less secure, than using real random data\&. This option may be useful when signing large zones or when the entropy source is limited\&. + .RE + .PP \-P .RS 4 -Disable post sign verification tests\&. + Disable post sign verification tests\&. .sp -The post sign verification test ensures that for each algorithm in use there is at least one non revoked self signed KSK key, that all revoked KSK keys are self signed, and that all records in the zone are signed by the algorithm\&. This option skips these tests\&. -.RE -.PP + The post sign verification test ensures that for each algorithm in use there is at least one non revoked self signed KSK key, that all revoked KSK keys are self signed, and that all records in the zone are signed by the algorithm\&. This option skips these tests\&. + .RE + .PP \-Q .RS 4 -Remove signatures from keys that are no longer active\&. + Remove signatures from keys that are no longer active\&. .sp -Normally, when a previously\-signed zone is passed as input to the signer, and a DNSKEY record has been removed and replaced with a new one, signatures from the old key that are still within their validity period are retained\&. This allows the zone to continue to validate with cached copies of the old DNSKEY RRset\&. The + Normally, when a previously\-signed zone is passed as input to the signer, and a DNSKEY record has been removed and replaced with a new one, signatures from the old key that are still within their validity period are retained\&. This allows the zone to continue to validate with cached copies of the old DNSKEY RRset\&. The \fB\-Q\fR forces \fBdnssec\-signzone\fR to remove signatures from keys that are no longer active\&. This enables ZSK rollover using the procedure described in RFC 4641, section 4\&.2\&.1\&.1 ("Pre\-Publish Key Rollover")\&. -.RE -.PP + .RE + .PP \-R .RS 4 -Remove signatures from keys that are no longer published\&. + Remove signatures from keys that are no longer published\&. .sp -This option is similar to + This option is similar to \fB\-Q\fR, except it forces \fBdnssec\-signzone\fR to signatures from keys that are no longer published\&. This enables ZSK rollover using the procedure described in RFC 4641, section 4\&.2\&.1\&.2 ("Double Signature Zone Signing Key Rollover")\&. -.RE -.PP + .RE + .PP \-r \fIrandomdev\fR .RS 4 -Specifies the source of randomness\&. If the operating system does not provide a + Specifies the source of randomness\&. If the operating system does not provide a /dev/random or equivalent device, the default source of randomness is keyboard input\&. randomdev specifies the name of a character device or file containing random data to be used instead of the default\&. The special value keyboard indicates that keyboard input should be used\&. -.RE -.PP + .RE + .PP \-S .RS 4 -Smart signing: Instructs + Smart signing: Instructs \fBdnssec\-signzone\fR to search the key repository for keys that match the zone being signed, and to include them in the zone if appropriate\&. .sp -When a key is found, its timing metadata is examined to determine how it should be used, according to the following rules\&. Each successive rule takes priority over the prior ones: -.PP + When a key is found, its timing metadata is examined to determine how it should be used, according to the following rules\&. Each successive rule takes priority over the prior ones: + .PP .RS 4 -If no timing metadata has been set for the key, the key is published in the zone and used to sign the zone\&. -.RE -.PP + If no timing metadata has been set for the key, the key is published in the zone and used to sign the zone\&. + .RE + .PP .RS 4 -If the key\*(Aqs publication date is set and is in the past, the key is published in the zone\&. -.RE -.PP + If the key\*(Aqs publication date is set and is in the past, the key is published in the zone\&. + .RE + .PP .RS 4 -If the key\*(Aqs activation date is set and in the past, the key is published (regardless of publication date) and used to sign the zone\&. -.RE -.PP + If the key\*(Aqs activation date is set and in the past, the key is published (regardless of publication date) and used to sign the zone\&. + .RE + .PP .RS 4 -If the key\*(Aqs revocation date is set and in the past, and the key is published, then the key is revoked, and the revoked key is used to sign the zone\&. -.RE -.PP + If the key\*(Aqs revocation date is set and in the past, and the key is published, then the key is revoked, and the revoked key is used to sign the zone\&. + .RE + .PP .RS 4 -If either of the key\*(Aqs unpublication or deletion dates are set and in the past, the key is NOT published or used to sign the zone, regardless of any other metadata\&. -.RE -.RE -.PP + If either of the key\*(Aqs unpublication or deletion dates are set and in the past, the key is NOT published or used to sign the zone, regardless of any other metadata\&. + .RE + .sp + .RE + .PP \-T \fIttl\fR .RS 4 -Specifies a TTL to be used for new DNSKEY records imported into the zone from the key repository\&. If not specified, the default is the TTL value from the zone\*(Aqs SOA record\&. This option is ignored when signing without + Specifies a TTL to be used for new DNSKEY records imported into the zone from the key repository\&. If not specified, the default is the TTL value from the zone\*(Aqs SOA record\&. This option is ignored when signing without \fB\-S\fR, since DNSKEY records are not imported from the key repository in that case\&. It is also ignored if there are any pre\-existing DNSKEY records at the zone apex, in which case new records\*(Aq TTL values will be set to match them, or if any of the imported DNSKEY records had a default TTL value\&. In the event of a a conflict between TTL values in imported keys, the shortest one is used\&. -.RE -.PP + .RE + .PP \-t .RS 4 -Print statistics at completion\&. -.RE -.PP + Print statistics at completion\&. + .RE + .PP \-u .RS 4 -Update NSEC/NSEC3 chain when re\-signing a previously signed zone\&. With this option, a zone signed with NSEC can be switched to NSEC3, or a zone signed with NSEC3 can be switch to NSEC or to NSEC3 with different parameters\&. Without this option, + Update NSEC/NSEC3 chain when re\-signing a previously signed zone\&. With this option, a zone signed with NSEC can be switched to NSEC3, or a zone signed with NSEC3 can be switch to NSEC or to NSEC3 with different parameters\&. Without this option, \fBdnssec\-signzone\fR will retain the existing chain when re\-signing\&. -.RE -.PP + .RE + .PP \-v \fIlevel\fR .RS 4 -Sets the debugging level\&. -.RE -.PP + Sets the debugging level\&. + .RE + .PP \-x .RS 4 -Only sign the DNSKEY RRset with key\-signing keys, and omit signatures from zone\-signing keys\&. (This is similar to the + Only sign the DNSKEY RRset with key\-signing keys, and omit signatures from zone\-signing keys\&. (This is similar to the \fBdnssec\-dnskey\-kskonly yes;\fR zone option in \fBnamed\fR\&.) -.RE -.PP + .RE + .PP \-z .RS 4 -Ignore KSK flag on key when determining what to sign\&. This causes KSK\-flagged keys to sign all records, not just the DNSKEY RRset\&. (This is similar to the + Ignore KSK flag on key when determining what to sign\&. This causes KSK\-flagged keys to sign all records, not just the DNSKEY RRset\&. (This is similar to the \fBupdate\-check\-ksk no;\fR zone option in \fBnamed\fR\&.) -.RE -.PP + .RE + .PP \-3 \fIsalt\fR .RS 4 -Generate an NSEC3 chain with the given hex encoded salt\&. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain\&. -.RE -.PP + Generate an NSEC3 chain with the given hex encoded salt\&. A dash (\fIsalt\fR) can be used to indicate that no salt is to be used when generating the NSEC3 chain\&. + .RE + .PP \-H \fIiterations\fR .RS 4 -When generating an NSEC3 chain, use this many iterations\&. The default is 10\&. -.RE -.PP + When generating an NSEC3 chain, use this many iterations\&. The default is 10\&. + .RE + .PP \-A .RS 4 -When generating an NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations\&. + When generating an NSEC3 chain set the OPTOUT flag on all NSEC3 records and do not generate NSEC3 records for insecure delegations\&. .sp -Using this option twice (i\&.e\&., + Using this option twice (i\&.e\&., \fB\-AA\fR) turns the OPTOUT flag off for all records\&. This is useful when using the \fB\-u\fR option to modify an NSEC3 chain which previously had OPTOUT set\&. -.RE -.PP + .RE + .PP zonefile .RS 4 -The file containing the zone to be signed\&. -.RE -.PP + The file containing the zone to be signed\&. + .RE + .PP key .RS 4 -Specify which keys should be used to sign the zone\&. If no keys are specified, then the zone will be examined for DNSKEY records at the zone apex\&. If these are found and there are matching private keys, in the current directory, then these will be used for signing\&. -.RE -.SH "EXAMPLE" -.PP + Specify which keys should be used to sign the zone\&. If no keys are specified, then the zone will be examined for DNSKEY records at the zone apex\&. If these are found and there are matching private keys, in the current directory, then these will be used for signing\&. + .RE + .SH "EXAMPLE" + .PP The following command signs the \fBexample\&.com\fR zone with the DSA key generated by @@ -443,14 +485,15 @@ db\&.example\&.com\&.signed .if n \{\ .RE .\} -.PP +.sp + .PP In the above example, \fBdnssec\-signzone\fR creates the file db\&.example\&.com\&.signed\&. This file should be referenced in a zone statement in a named\&.conf file\&. -.PP + .PP This example re\-signs a previously signed zone with default parameters\&. The private keys are assumed to be in the current directory\&. .sp .if n \{\ @@ -465,8 +508,9 @@ db\&.example\&.com\&.signed .if n \{\ .RE .\} -.SH "SEE ALSO" -.PP +.sp + .SH "SEE ALSO" + .PP \fBdnssec-keygen\fR(8), BIND 9 Administrator Reference Manual, RFC 4033, diff --git a/bin/dnssec/dnssec-signzone.html b/bin/dnssec/dnssec-signzone.html index 2add78d878..c60ed6394e 100644 --- a/bin/dnssec/dnssec-signzone.html +++ b/bin/dnssec/dnssec-signzone.html @@ -10,7 +10,7 @@ dnssec-signzone - +
diff --git a/bin/dnssec/dnssec-verify.8 b/bin/dnssec/dnssec-verify.8 index 0d81dac3dc..c39736d158 100644 --- a/bin/dnssec/dnssec-verify.8 +++ b/bin/dnssec/dnssec-verify.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-verify .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-01-15 .\" Manual: BIND9 .\" Source: ISC @@ -35,76 +35,85 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-verify \- DNSSEC zone verification tool -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-verify\fR\ 'u -\fBdnssec\-verify\fR [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-V\fR] [\fB\-x\fR] [\fB\-z\fR] {zonefile} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-verify\fR\ 'u + \fBdnssec\-verify\fR + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-E\ \fR\fB\fIengine\fR\fR] + [\fB\-I\ \fR\fB\fIinput\-format\fR\fR] + [\fB\-o\ \fR\fB\fIorigin\fR\fR] + [\fB\-v\ \fR\fB\fIlevel\fR\fR] + [\fB\-V\fR] + [\fB\-x\fR] + [\fB\-z\fR] + {zonefile} + .SH "DESCRIPTION" + .PP \fBdnssec\-verify\fR verifies that a zone is fully signed for each algorithm found in the DNSKEY RRset for the zone, and that the NSEC / NSEC3 chains are complete\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-c \fIclass\fR .RS 4 -Specifies the DNS class of the zone\&. -.RE -.PP + Specifies the DNS class of the zone\&. + .RE + .PP \-E \fIengine\fR .RS 4 -Specifies the cryptographic hardware to use, when applicable\&. + Specifies the cryptographic hardware to use, when applicable\&. .sp -When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. -.RE -.PP + When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. + .RE + .PP \-I \fIinput\-format\fR .RS 4 -The format of the input zone file\&. Possible formats are + The format of the input zone file\&. Possible formats are \fB"text"\fR (default) and \fB"raw"\fR\&. This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non\-text format containing updates can be verified independently\&. The use of this option does not make much sense for non\-dynamic zones\&. -.RE -.PP + .RE + .PP \-o \fIorigin\fR .RS 4 -The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&. -.RE -.PP + The zone origin\&. If not specified, the name of the zone file is assumed to be the origin\&. + .RE + .PP \-v \fIlevel\fR .RS 4 -Sets the debugging level\&. -.RE -.PP + Sets the debugging level\&. + .RE + .PP \-V .RS 4 -Prints version information\&. -.RE -.PP + Prints version information\&. + .RE + .PP \-x .RS 4 -Only verify that the DNSKEY RRset is signed with key\-signing keys\&. Without this flag, it is assumed that the DNSKEY RRset will be signed by all active keys\&. When this flag is set, it will not be an error if the DNSKEY RRset is not signed by zone\-signing keys\&. This corresponds to the + Only verify that the DNSKEY RRset is signed with key\-signing keys\&. Without this flag, it is assumed that the DNSKEY RRset will be signed by all active keys\&. When this flag is set, it will not be an error if the DNSKEY RRset is not signed by zone\-signing keys\&. This corresponds to the \fB\-x\fR option in \fBdnssec\-signzone\fR\&. -.RE -.PP + .RE + .PP \-z .RS 4 -Ignore the KSK flag on the keys when determining whether the zone if correctly signed\&. Without this flag it is assumed that there will be a non\-revoked, self\-signed DNSKEY with the KSK flag set for each algorithm and that RRsets other than DNSKEY RRset will be signed with a different DNSKEY without the KSK flag set\&. + Ignore the KSK flag on the keys when determining whether the zone if correctly signed\&. Without this flag it is assumed that there will be a non\-revoked, self\-signed DNSKEY with the KSK flag set for each algorithm and that RRsets other than DNSKEY RRset will be signed with a different DNSKEY without the KSK flag set\&. .sp -With this flag set, we only require that for each algorithm, there will be at least one non\-revoked, self\-signed DNSKEY, regardless of the KSK flag state, and that other RRsets will be signed by a non\-revoked key for the same algorithm that includes the self\-signed key; the same key may be used for both purposes\&. This corresponds to the + With this flag set, we only require that for each algorithm, there will be at least one non\-revoked, self\-signed DNSKEY, regardless of the KSK flag state, and that other RRsets will be signed by a non\-revoked key for the same algorithm that includes the self\-signed key; the same key may be used for both purposes\&. This corresponds to the \fB\-z\fR option in \fBdnssec\-signzone\fR\&. -.RE -.PP + .RE + .PP zonefile .RS 4 -The file containing the zone to be signed\&. -.RE -.SH "SEE ALSO" -.PP + The file containing the zone to be signed\&. + .RE + .SH "SEE ALSO" + .PP \fBdnssec-signzone\fR(8), BIND 9 Administrator Reference Manual, RFC 4033\&. diff --git a/bin/dnssec/dnssec-verify.html b/bin/dnssec/dnssec-verify.html index 400eda91e9..f6a3018e3d 100644 --- a/bin/dnssec/dnssec-verify.html +++ b/bin/dnssec/dnssec-verify.html @@ -10,7 +10,7 @@ dnssec-verify - +
diff --git a/bin/named/lwresd.8 b/bin/named/lwresd.8 index fedaca2c37..be48ba6e6b 100644 --- a/bin/named/lwresd.8 +++ b/bin/named/lwresd.8 @@ -9,7 +9,7 @@ '\" t .\" Title: lwresd .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2009-01-20 .\" Manual: BIND9 .\" Source: ISC @@ -35,25 +35,43 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwresd \- lightweight resolver daemon -.SH "SYNOPSIS" -.HP \w'\fBlwresd\fR\ 'u -\fBlwresd\fR [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-C\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-i\ \fR\fB\fIpid\-file\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-P\ \fR\fB\fIport\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [[\fB\-4\fR] | [\fB\-6\fR]] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBlwresd\fR\ 'u + \fBlwresd\fR + [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] + [\fB\-C\ \fR\fB\fIconfig\-file\fR\fR] + [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] + [\fB\-f\fR] + [\fB\-g\fR] + [\fB\-i\ \fR\fB\fIpid\-file\fR\fR] + [\fB\-m\ \fR\fB\fIflag\fR\fR] + [\fB\-n\ \fR\fB\fI#cpus\fR\fR] + [\fB\-P\ \fR\fB\fIport\fR\fR] + [\fB\-p\ \fR\fB\fIport\fR\fR] + [\fB\-s\fR] + [\fB\-t\ \fR\fB\fIdirectory\fR\fR] + [\fB\-u\ \fR\fB\fIuser\fR\fR] + [\fB\-v\fR] + [ + | [\fB\-4\fR] + | [\fB\-6\fR] + ] + .SH "DESCRIPTION" + .PP \fBlwresd\fR is the daemon providing name lookup services to clients that use the BIND 9 lightweight resolver library\&. It is essentially a stripped\-down, caching\-only name server that answers queries using the BIND 9 lightweight resolver protocol rather than the DNS protocol\&. -.PP + .PP \fBlwresd\fR listens for resolver queries on a UDP port on the IPv4 loopback interface, 127\&.0\&.0\&.1\&. This means that \fBlwresd\fR can only be used by processes running on the local machine\&. By default, UDP port number 921 is used for lightweight resolver requests and responses\&. -.PP + .PP Incoming lightweight resolver requests are decoded by the server which then resolves them using the DNS protocol\&. When the DNS lookup completes, \fBlwresd\fR encodes the answers in the lightweight resolver format and returns them to the client that made the request\&. -.PP + .PP If /etc/resolv\&.conf contains any @@ -65,113 +83,113 @@ sends recursive DNS queries to those servers\&. This is similar to the use of fo entries are present, or if forwarding fails, \fBlwresd\fR resolves the queries autonomously starting at the root name servers, using a built\-in list of root server hints\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-4 .RS 4 -Use IPv4 only even if the host machine is capable of IPv6\&. + Use IPv4 only even if the host machine is capable of IPv6\&. \fB\-4\fR and \fB\-6\fR are mutually exclusive\&. -.RE -.PP + .RE + .PP \-6 .RS 4 -Use IPv6 only even if the host machine is capable of IPv4\&. + Use IPv6 only even if the host machine is capable of IPv4\&. \fB\-4\fR and \fB\-6\fR are mutually exclusive\&. -.RE -.PP + .RE + .PP \-c \fIconfig\-file\fR .RS 4 -Use + Use \fIconfig\-file\fR as the configuration file instead of the default, /etc/lwresd\&.conf\&. \fB\-c\fR can not be used with \fB\-C\fR\&. -.RE -.PP + .RE + .PP \-C \fIconfig\-file\fR .RS 4 -Use + Use \fIconfig\-file\fR as the configuration file instead of the default, /etc/resolv\&.conf\&. \fB\-C\fR can not be used with \fB\-c\fR\&. -.RE -.PP + .RE + .PP \-d \fIdebug\-level\fR .RS 4 -Set the daemon\*(Aqs debug level to + Set the daemon\*(Aqs debug level to \fIdebug\-level\fR\&. Debugging traces from \fBlwresd\fR become more verbose as the debug level increases\&. -.RE -.PP + .RE + .PP \-f .RS 4 -Run the server in the foreground (i\&.e\&. do not daemonize)\&. -.RE -.PP + Run the server in the foreground (i\&.e\&. do not daemonize)\&. + .RE + .PP \-g .RS 4 -Run the server in the foreground and force all logging to + Run the server in the foreground and force all logging to stderr\&. -.RE -.PP + .RE + .PP \-i \fIpid\-file\fR .RS 4 -Use + Use \fIpid\-file\fR as the PID file instead of the default, /var/run/lwresd/lwresd\&.pid\&. -.RE -.PP + .RE + .PP \-m \fIflag\fR .RS 4 -Turn on memory usage debugging flags\&. Possible flags are + Turn on memory usage debugging flags\&. Possible flags are \fIusage\fR, \fItrace\fR, \fIrecord\fR, \fIsize\fR, and \fImctx\fR\&. These correspond to the ISC_MEM_DEBUGXXXX flags described in \&. -.RE -.PP + .RE + .PP \-n \fI#cpus\fR .RS 4 -Create + Create \fI#cpus\fR worker threads to take advantage of multiple CPUs\&. If not specified, \fBlwresd\fR will try to determine the number of CPUs present and create one thread per CPU\&. If it is unable to determine the number of CPUs, a single worker thread will be created\&. -.RE -.PP + .RE + .PP \-P \fIport\fR .RS 4 -Listen for lightweight resolver queries on port + Listen for lightweight resolver queries on port \fIport\fR\&. If not specified, the default is port 921\&. -.RE -.PP + .RE + .PP \-p \fIport\fR .RS 4 -Send DNS lookups to port + Send DNS lookups to port \fIport\fR\&. If not specified, the default is port 53\&. This provides a way of testing the lightweight resolver daemon with a name server that listens for queries on a non\-standard port number\&. -.RE -.PP + .RE + .PP \-s .RS 4 -Write memory usage statistics to + Write memory usage statistics to stdout on exit\&. -.if n \{\ + .if n \{\ .sp .\} .RS 4 @@ -183,17 +201,17 @@ on exit\&. \fBNote\fR .ps -1 .br -This option is mainly of interest to BIND 9 developers and may be removed or changed in a future release\&. -.sp .5v + This option is mainly of interest to BIND 9 developers and may be removed or changed in a future release\&. + .sp .5v .RE -.RE -.PP + .RE + .PP \-t \fIdirectory\fR .RS 4 -Chroot to + Chroot to \fIdirectory\fR after processing the command line arguments, but before reading the configuration file\&. -.if n \{\ + .if n \{\ .sp .\} .RS 4 @@ -205,39 +223,39 @@ after processing the command line arguments, but before reading the configuratio \fBWarning\fR .ps -1 .br -This option should be used in conjunction with the + This option should be used in conjunction with the \fB\-u\fR option, as chrooting a process running as root doesn\*(Aqt enhance security on most systems; the way \fBchroot(2)\fR is defined allows a process with root privileges to escape a chroot jail\&. -.sp .5v + .sp .5v .RE -.RE -.PP + .RE + .PP \-u \fIuser\fR .RS 4 -Setuid to + Setuid to \fIuser\fR after completing privileged operations, such as creating sockets that listen on privileged ports\&. -.RE -.PP + .RE + .PP \-v .RS 4 -Report the version number and exit\&. -.RE -.SH "FILES" -.PP + Report the version number and exit\&. + .RE + .SH "FILES" + .PP /etc/resolv\&.conf .RS 4 -The default configuration file\&. -.RE -.PP + The default configuration file\&. + .RE + .PP /var/run/lwresd\&.pid .RS 4 -The default process\-id file\&. -.RE -.SH "SEE ALSO" -.PP + The default process\-id file\&. + .RE + .SH "SEE ALSO" + .PP \fBnamed\fR(8), \fBlwres\fR(3), \fBresolver\fR(5)\&. diff --git a/bin/named/lwresd.html b/bin/named/lwresd.html index 6c14e43faa..c0631dbaea 100644 --- a/bin/named/lwresd.html +++ b/bin/named/lwresd.html @@ -10,7 +10,7 @@ lwresd - +
diff --git a/bin/named/named.8 b/bin/named/named.8 index 8e0e68550a..a2b75d863c 100644 --- a/bin/named/named.8 +++ b/bin/named/named.8 @@ -9,7 +9,7 @@ '\" t .\" Title: named .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-02-19 .\" Manual: BIND9 .\" Source: ISC @@ -35,43 +35,67 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" named \- Internet domain name server -.SH "SYNOPSIS" -.HP \w'\fBnamed\fR\ 'u -\fBnamed\fR [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-D\ \fR\fB\fIstring\fR\fR] [\fB\-E\ \fR\fB\fIengine\-name\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-L\ \fR\fB\fIlogfile\fR\fR] [\fB\-M\ \fR\fB\fIoption\fR\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-U\ \fR\fB\fI#listeners\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-V\fR] [\fB\-X\ \fR\fB\fIlock\-file\fR\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnamed\fR\ 'u + \fBnamed\fR + [ + | [\fB\-4\fR] + | [\fB\-6\fR] + ] + [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] + [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] + [\fB\-D\ \fR\fB\fIstring\fR\fR] + [\fB\-E\ \fR\fB\fIengine\-name\fR\fR] + [\fB\-f\fR] + [\fB\-g\fR] + [\fB\-L\ \fR\fB\fIlogfile\fR\fR] + [\fB\-M\ \fR\fB\fIoption\fR\fR] + [\fB\-m\ \fR\fB\fIflag\fR\fR] + [\fB\-n\ \fR\fB\fI#cpus\fR\fR] + [\fB\-p\ \fR\fB\fIport\fR\fR] + [\fB\-s\fR] + [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] + [\fB\-t\ \fR\fB\fIdirectory\fR\fR] + [\fB\-U\ \fR\fB\fI#listeners\fR\fR] + [\fB\-u\ \fR\fB\fIuser\fR\fR] + [\fB\-v\fR] + [\fB\-V\fR] + [\fB\-X\ \fR\fB\fIlock\-file\fR\fR] + [\fB\-x\ \fR\fB\fIcache\-file\fR\fR] + .SH "DESCRIPTION" + .PP \fBnamed\fR is a Domain Name System (DNS) server, part of the BIND 9 distribution from ISC\&. For more information on the DNS, see RFCs 1033, 1034, and 1035\&. -.PP + .PP When invoked without arguments, \fBnamed\fR will read the default configuration file /etc/named\&.conf, read any initial data, and listen for queries\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-4 .RS 4 -Use IPv4 only even if the host machine is capable of IPv6\&. + Use IPv4 only even if the host machine is capable of IPv6\&. \fB\-4\fR and \fB\-6\fR are mutually exclusive\&. -.RE -.PP + .RE + .PP \-6 .RS 4 -Use IPv6 only even if the host machine is capable of IPv4\&. + Use IPv6 only even if the host machine is capable of IPv4\&. \fB\-4\fR and \fB\-6\fR are mutually exclusive\&. -.RE -.PP + .RE + .PP \-c \fIconfig\-file\fR .RS 4 -Use + Use \fIconfig\-file\fR as the configuration file instead of the default, /etc/named\&.conf\&. To ensure that reloading the configuration file continues to work after the server has changed its working directory due to to a possible @@ -79,88 +103,88 @@ as the configuration file instead of the default, option in the configuration file, \fIconfig\-file\fR should be an absolute pathname\&. -.RE -.PP + .RE + .PP \-d \fIdebug\-level\fR .RS 4 -Set the daemon\*(Aqs debug level to + Set the daemon\*(Aqs debug level to \fIdebug\-level\fR\&. Debugging traces from \fBnamed\fR become more verbose as the debug level increases\&. -.RE -.PP + .RE + .PP \-D \fIstring\fR .RS 4 -Specifies a string that is used to identify a instance of + Specifies a string that is used to identify a instance of \fBnamed\fR in a process listing\&. The contents of \fIstring\fR are not examined\&. -.RE -.PP + .RE + .PP \-E \fIengine\-name\fR .RS 4 -When applicable, specifies the hardware to use for cryptographic operations, such as a secure key store used for signing\&. + When applicable, specifies the hardware to use for cryptographic operations, such as a secure key store used for signing\&. .sp -When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. -.RE -.PP + When BIND is built with OpenSSL PKCS#11 support, this defaults to the string "pkcs11", which identifies an OpenSSL engine that can drive a cryptographic accelerator or hardware service module\&. When BIND is built with native PKCS#11 cryptography (\-\-enable\-native\-pkcs11), it defaults to the path of the PKCS#11 provider library specified via "\-\-with\-pkcs11"\&. + .RE + .PP \-f .RS 4 -Run the server in the foreground (i\&.e\&. do not daemonize)\&. -.RE -.PP + Run the server in the foreground (i\&.e\&. do not daemonize)\&. + .RE + .PP \-g .RS 4 -Run the server in the foreground and force all logging to + Run the server in the foreground and force all logging to stderr\&. -.RE -.PP + .RE + .PP \-L \fIlogfile\fR .RS 4 -Log to the file + Log to the file \fBlogfile\fR by default instead of the system log\&. -.RE -.PP + .RE + .PP \-M \fIoption\fR .RS 4 -Sets the default memory context options\&. Currently the only supported option is + Sets the default memory context options\&. Currently the only supported option is \fIexternal\fR, which causes the internal memory manager to be bypassed in favor of system\-provided memory allocation functions\&. -.RE -.PP + .RE + .PP \-m \fIflag\fR .RS 4 -Turn on memory usage debugging flags\&. Possible flags are + Turn on memory usage debugging flags\&. Possible flags are \fIusage\fR, \fItrace\fR, \fIrecord\fR, \fIsize\fR, and \fImctx\fR\&. These correspond to the ISC_MEM_DEBUGXXXX flags described in \&. -.RE -.PP + .RE + .PP \-n \fI#cpus\fR .RS 4 -Create + Create \fI#cpus\fR worker threads to take advantage of multiple CPUs\&. If not specified, \fBnamed\fR will try to determine the number of CPUs present and create one thread per CPU\&. If it is unable to determine the number of CPUs, a single worker thread will be created\&. -.RE -.PP + .RE + .PP \-p \fIport\fR .RS 4 -Listen for queries on port + Listen for queries on port \fIport\fR\&. If not specified, the default is port 53\&. -.RE -.PP + .RE + .PP \-s .RS 4 -Write memory usage statistics to + Write memory usage statistics to stdout on exit\&. -.if n \{\ + .if n \{\ .sp .\} .RS 4 @@ -172,19 +196,19 @@ on exit\&. \fBNote\fR .ps -1 .br -This option is mainly of interest to BIND 9 developers and may be removed or changed in a future release\&. -.sp .5v + This option is mainly of interest to BIND 9 developers and may be removed or changed in a future release\&. + .sp .5v .RE -.RE -.PP + .RE + .PP \-S \fI#max\-socks\fR .RS 4 -Allow + Allow \fBnamed\fR to use up to \fI#max\-socks\fR sockets\&. The default value is 4096 on systems built with default configuration options, and 21000 on systems built with "configure \-\-with\-tuning=large"\&. -.if n \{\ + .if n \{\ .sp .\} .RS 4 @@ -196,19 +220,19 @@ sockets\&. The default value is 4096 on systems built with default configuration \fBWarning\fR .ps -1 .br -This option should be unnecessary for the vast majority of users\&. The use of this option could even be harmful because the specified value may exceed the limitation of the underlying system API\&. It is therefore set only when the default configuration causes exhaustion of file descriptors and the operational environment is known to support the specified number of sockets\&. Note also that the actual maximum number is normally a little fewer than the specified value because + This option should be unnecessary for the vast majority of users\&. The use of this option could even be harmful because the specified value may exceed the limitation of the underlying system API\&. It is therefore set only when the default configuration causes exhaustion of file descriptors and the operational environment is known to support the specified number of sockets\&. Note also that the actual maximum number is normally a little fewer than the specified value because \fBnamed\fR reserves some file descriptors for its internal use\&. -.sp .5v + .sp .5v .RE -.RE -.PP + .RE + .PP \-t \fIdirectory\fR .RS 4 -Chroot to + Chroot to \fIdirectory\fR after processing the command line arguments, but before reading the configuration file\&. -.if n \{\ + .if n \{\ .sp .\} .RS 4 @@ -220,18 +244,18 @@ after processing the command line arguments, but before reading the configuratio \fBWarning\fR .ps -1 .br -This option should be used in conjunction with the + This option should be used in conjunction with the \fB\-u\fR option, as chrooting a process running as root doesn\*(Aqt enhance security on most systems; the way \fBchroot(2)\fR is defined allows a process with root privileges to escape a chroot jail\&. -.sp .5v + .sp .5v .RE -.RE -.PP + .RE + .PP \-U \fI#listeners\fR .RS 4 -Use + Use \fI#listeners\fR worker threads to listen for incoming UDP packets on each address\&. If not specified, \fBnamed\fR @@ -240,14 +264,14 @@ will calculate a default value based on the number of detected CPUs: 1 for 1 CPU has been set to a higher value than the number of detected CPUs, then \fB\-U\fR may be increased as high as that value, but no higher\&. On Windows, the number of UDP listeners is hardwired to 1 and this option has no effect\&. -.RE -.PP + .RE + .PP \-u \fIuser\fR .RS 4 -Setuid to + Setuid to \fIuser\fR after completing privileged operations, such as creating sockets that listen on privileged ports\&. -.if n \{\ + .if n \{\ .sp .\} .RS 4 @@ -259,7 +283,7 @@ after completing privileged operations, such as creating sockets that listen on \fBNote\fR .ps -1 .br -On Linux, + On Linux, \fBnamed\fR uses the kernel\*(Aqs capability mechanism to drop all root privileges except the ability to \fBbind(2)\fR @@ -269,37 +293,37 @@ option only works when \fBnamed\fR is run on kernel 2\&.2\&.18 or later, or kernel 2\&.3\&.99\-pre3 or later, since previous kernels did not allow privileges to be retained after \fBsetuid(2)\fR\&. -.sp .5v + .sp .5v .RE -.RE -.PP + .RE + .PP \-v .RS 4 -Report the version number and exit\&. -.RE -.PP + Report the version number and exit\&. + .RE + .PP \-V .RS 4 -Report the version number and build options, and exit\&. -.RE -.PP + Report the version number and build options, and exit\&. + .RE + .PP \-X \fIlock\-file\fR .RS 4 -Acquire a lock on the specified file at runtime; this helps to prevent duplicate + Acquire a lock on the specified file at runtime; this helps to prevent duplicate \fBnamed\fR instances from running simultaneously\&. Use of this option overrides the \fBlock\-file\fR option in named\&.conf\&. If set to none, the lock file check is disabled\&. -.RE -.PP + .RE + .PP \-x \fIcache\-file\fR .RS 4 -Load data from + Load data from \fIcache\-file\fR into the cache of the default view\&. -.if n \{\ + .if n \{\ .sp .\} .RS 4 @@ -311,34 +335,34 @@ into the cache of the default view\&. \fBWarning\fR .ps -1 .br -This option must not be used\&. It is only of interest to BIND 9 developers and may be removed or changed in a future release\&. -.sp .5v + This option must not be used\&. It is only of interest to BIND 9 developers and may be removed or changed in a future release\&. + .sp .5v .RE -.RE -.SH "SIGNALS" -.PP + .RE + .SH "SIGNALS" + .PP In routine operation, signals should not be used to control the nameserver; \fBrndc\fR should be used instead\&. -.PP + .PP SIGHUP .RS 4 -Force a reload of the server\&. -.RE -.PP + Force a reload of the server\&. + .RE + .PP SIGINT, SIGTERM .RS 4 -Shut down the server\&. -.RE -.PP + Shut down the server\&. + .RE + .PP The result of sending any other signals to the server is undefined\&. -.SH "CONFIGURATION" -.PP + .SH "CONFIGURATION" + .PP The \fBnamed\fR configuration file is too complex to describe in detail here\&. A complete description is provided in the BIND 9 Administrator Reference Manual\&. -.PP + .PP \fBnamed\fR inherits the \fBumask\fR @@ -348,19 +372,19 @@ inherits the should be set explicitly in the script used to start the \fBnamed\fR process\&. -.SH "FILES" -.PP + .SH "FILES" + .PP /etc/named\&.conf .RS 4 -The default configuration file\&. -.RE -.PP + The default configuration file\&. + .RE + .PP /var/run/named/named\&.pid .RS 4 -The default process\-id file\&. -.RE -.SH "SEE ALSO" -.PP + The default process\-id file\&. + .RE + .SH "SEE ALSO" + .PP RFC 1033, RFC 1034, RFC 1035, diff --git a/bin/named/named.conf.5 b/bin/named/named.conf.5 index e444673f24..8de69195e9 100644 --- a/bin/named/named.conf.5 +++ b/bin/named/named.conf.5 @@ -9,7 +9,7 @@ '\" t .\" Title: named.conf .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2020-03-12 .\" Manual: BIND9 .\" Source: ISC @@ -35,23 +35,23 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" named.conf \- configuration file for \fBnamed\fR -.SH "SYNOPSIS" -.HP \w'\fBnamed\&.conf\fR\ 'u -\fBnamed\&.conf\fR -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnamed\&.conf\fR\ 'u + \fBnamed\&.conf\fR + .SH "DESCRIPTION" + .PP named\&.conf is the configuration file for \fBnamed\fR\&. Statements are enclosed in braces and terminated with a semi\-colon\&. Clauses in the statements are also semi\-colon terminated\&. The usual comment styles are supported: -.PP + .PP C style: /* */ -.PP + .PP C++ style: // to end of line -.PP + .PP Unix style: # to end of line -.SH "ACL" + .SH "ACL" .sp .if n \{\ .RS 4 @@ -62,7 +62,8 @@ acl \fIstring\fR { \fIaddress_match_element\fR; \&.\&.\&. }; .if n \{\ .RE .\} -.SH "CONTROLS" +.sp + .SH "CONTROLS" .sp .if n \{\ .RS 4 @@ -83,7 +84,8 @@ controls { .if n \{\ .RE .\} -.SH "DLZ" +.sp + .SH "DLZ" .sp .if n \{\ .RS 4 @@ -97,7 +99,8 @@ dlz \fIstring\fR { .if n \{\ .RE .\} -.SH "DYNDB" +.sp + .SH "DYNDB" .sp .if n \{\ .RS 4 @@ -109,7 +112,8 @@ dyndb \fIstring\fR \fIquoted_string\fR { .if n \{\ .RE .\} -.SH "KEY" +.sp + .SH "KEY" .sp .if n \{\ .RS 4 @@ -123,7 +127,8 @@ key \fIstring\fR { .if n \{\ .RE .\} -.SH "LOGGING" +.sp + .SH "LOGGING" .sp .if n \{\ .RS 4 @@ -148,7 +153,8 @@ logging { .if n \{\ .RE .\} -.SH "LWRES" +.sp + .SH "LWRES" .sp .if n \{\ .RS 4 @@ -167,7 +173,8 @@ lwres { .if n \{\ .RE .\} -.SH "MANAGED-KEYS" +.sp + .SH "MANAGED\-KEYS" .sp .if n \{\ .RS 4 @@ -179,7 +186,8 @@ managed\-keys { \fIstring\fR \fIstring\fR \fIinteger\fR .if n \{\ .RE .\} -.SH "MASTERS" +.sp + .SH "MASTERS" .sp .if n \{\ .RS 4 @@ -193,7 +201,8 @@ masters \fIstring\fR [ port \fIinteger\fR ] [ dscp .if n \{\ .RE .\} -.SH "OPTIONS" +.sp + .SH "OPTIONS" .sp .if n \{\ .RS 4 @@ -477,7 +486,8 @@ options { .if n \{\ .RE .\} -.SH "SERVER" +.sp + .SH "SERVER" .sp .if n \{\ .RS 4 @@ -517,7 +527,8 @@ server \fInetprefix\fR { .if n \{\ .RE .\} -.SH "STATISTICS-CHANNELS" +.sp + .SH "STATISTICS\-CHANNELS" .sp .if n \{\ .RS 4 @@ -533,7 +544,8 @@ statistics\-channels { .if n \{\ .RE .\} -.SH "TRUSTED-KEYS" +.sp + .SH "TRUSTED\-KEYS" .sp .if n \{\ .RS 4 @@ -545,7 +557,8 @@ trusted\-keys { \fIstring\fR \fIinteger\fR \fIinteger\fR .if n \{\ .RE .\} -.SH "VIEW" +.sp + .SH "VIEW" .sp .if n \{\ .RS 4 @@ -904,7 +917,8 @@ view \fIstring\fR [ \fIclass\fR ] { .if n \{\ .RE .\} -.SH "ZONE" +.sp + .SH "ZONE" .sp .if n \{\ .RS 4 @@ -1006,11 +1020,12 @@ zone \fIstring\fR [ \fIclass\fR ] { .if n \{\ .RE .\} -.SH "FILES" -.PP +.sp + .SH "FILES" + .PP /etc/named\&.conf -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBddns-confgen\fR(8), \fBnamed\fR(8), \fBnamed-checkconf\fR(8), diff --git a/bin/named/named.conf.html b/bin/named/named.conf.html index 9663b254e7..729b4653c2 100644 --- a/bin/named/named.conf.html +++ b/bin/named/named.conf.html @@ -10,7 +10,7 @@ named.conf - +
diff --git a/bin/named/named.html b/bin/named/named.html index 89722e48e5..f35890c181 100644 --- a/bin/named/named.html +++ b/bin/named/named.html @@ -10,7 +10,7 @@ named - +
diff --git a/bin/nsupdate/nsupdate.1 b/bin/nsupdate/nsupdate.1 index d842fb9819..ecfbbb2bf7 100644 --- a/bin/nsupdate/nsupdate.1 +++ b/bin/nsupdate/nsupdate.1 @@ -9,7 +9,7 @@ '\" t .\" Title: nsupdate .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-04-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,26 +35,46 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" nsupdate \- Dynamic DNS update utility -.SH "SYNOPSIS" -.HP \w'\fBnsupdate\fR\ 'u -\fBnsupdate\fR [\fB\-d\fR] [\fB\-D\fR] [\fB\-i\fR] [\fB\-L\ \fR\fB\fIlevel\fR\fR] [[\fB\-g\fR] | [\fB\-o\fR] | [\fB\-l\fR] | [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIkeyname:secret\fR\fR] | [\fB\-k\ \fR\fB\fIkeyfile\fR\fR]] [\fB\-t\ \fR\fB\fItimeout\fR\fR] [\fB\-u\ \fR\fB\fIudptimeout\fR\fR] [\fB\-r\ \fR\fB\fIudpretries\fR\fR] [\fB\-R\ \fR\fB\fIrandomdev\fR\fR] [\fB\-v\fR] [\fB\-T\fR] [\fB\-P\fR] [\fB\-V\fR] [filename] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnsupdate\fR\ 'u + \fBnsupdate\fR + [\fB\-d\fR] + [\fB\-D\fR] + [\fB\-i\fR] + [\fB\-L\ \fR\fB\fIlevel\fR\fR] + [ + | [\fB\-g\fR] + | [\fB\-o\fR] + | [\fB\-l\fR] + | [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIkeyname:secret\fR\fR] + | [\fB\-k\ \fR\fB\fIkeyfile\fR\fR] + ] + [\fB\-t\ \fR\fB\fItimeout\fR\fR] + [\fB\-u\ \fR\fB\fIudptimeout\fR\fR] + [\fB\-r\ \fR\fB\fIudpretries\fR\fR] + [\fB\-R\ \fR\fB\fIrandomdev\fR\fR] + [\fB\-v\fR] + [\fB\-T\fR] + [\fB\-P\fR] + [\fB\-V\fR] + [filename] + .SH "DESCRIPTION" + .PP \fBnsupdate\fR is used to submit Dynamic DNS Update requests as defined in RFC 2136 to a name server\&. This allows resource records to be added or removed from a zone without manually editing the zone file\&. A single update request can contain requests to add or remove more than one resource record\&. -.PP + .PP Zones that are under dynamic control via \fBnsupdate\fR or a DHCP server should not be edited by hand\&. Manual edits could conflict with dynamic updates and cause data to be lost\&. -.PP + .PP The resource records that are dynamically added or removed with \fBnsupdate\fR have to be in the same zone\&. Requests are sent to the zone\*(Aqs master server\&. This is identified by the MNAME field of the zone\*(Aqs SOA record\&. -.PP + .PP Transaction signatures can be used to authenticate the Dynamic DNS updates\&. These use the TSIG resource record type described in RFC 2845 or the SIG(0) record described in RFC 2535 and RFC 2931 or GSS\-TSIG as described in RFC 3645\&. -.PP + .PP TSIG relies on a shared secret that should only be known to \fBnsupdate\fR and the name server\&. For instance, suitable @@ -72,34 +92,34 @@ uses the or \fB\-k\fR options to provide the TSIG shared secret\&. These options are mutually exclusive\&. -.PP + .PP SIG(0) uses public key cryptography\&. To use a SIG(0) key, the public key must be stored in a KEY record in a zone served by the name server\&. -.PP + .PP GSS\-TSIG uses Kerberos credentials\&. Standard GSS\-TSIG mode is switched on with the \fB\-g\fR flag\&. A non\-standards\-compliant variant of GSS\-TSIG used by Windows 2000 can be switched on with the \fB\-o\fR flag\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-d .RS 4 -Debug mode\&. This provides tracing information about the update requests that are made and the replies received from the name server\&. -.RE -.PP + Debug mode\&. This provides tracing information about the update requests that are made and the replies received from the name server\&. + .RE + .PP \-D .RS 4 -Extra debug mode\&. -.RE -.PP + Extra debug mode\&. + .RE + .PP \-i .RS 4 -Force interactive mode, even when standard input is not a terminal\&. -.RE -.PP + Force interactive mode, even when standard input is not a terminal\&. + .RE + .PP \-k \fIkeyfile\fR .RS 4 -The file containing the TSIG authentication key\&. Keyfiles may be in two formats: a single file containing a + The file containing the TSIG authentication key\&. Keyfiles may be in two formats: a single file containing a named\&.conf\-format \fBkey\fR statement, which may be generated automatically by @@ -110,11 +130,11 @@ K{name}\&.+157\&.+{random}\&.private, which can be generated by \fBdnssec\-keygen\fR\&. The \fB\-k\fR may also be used to specify a SIG(0) key used to authenticate Dynamic DNS update requests\&. In this case, the key specified is not an HMAC\-MD5 key\&. -.RE -.PP + .RE + .PP \-l .RS 4 -Local\-host only mode\&. This sets the server address to localhost (disabling the + Local\-host only mode\&. This sets the server address to localhost (disabling the \fBserver\fR so that the server address cannot be overridden)\&. Connections to the local server will use a TSIG key found in /var/run/named/session\&.key, which is automatically generated by @@ -125,50 +145,50 @@ to \fBlocal\fR\&. The location of this key file can be overridden with the \fB\-k\fR option\&. -.RE -.PP + .RE + .PP \-L \fIlevel\fR .RS 4 -Set the logging debug level\&. If zero, logging is disabled\&. -.RE -.PP + Set the logging debug level\&. If zero, logging is disabled\&. + .RE + .PP \-p \fIport\fR .RS 4 -Set the port to use for connections to a name server\&. The default is 53\&. -.RE -.PP + Set the port to use for connections to a name server\&. The default is 53\&. + .RE + .PP \-P .RS 4 -Print the list of private BIND\-specific resource record types whose format is understood by + Print the list of private BIND\-specific resource record types whose format is understood by \fBnsupdate\fR\&. See also the \fB\-T\fR option\&. -.RE -.PP + .RE + .PP \-r \fIudpretries\fR .RS 4 -The number of UDP retries\&. The default is 3\&. If zero, only one update request will be made\&. -.RE -.PP + The number of UDP retries\&. The default is 3\&. If zero, only one update request will be made\&. + .RE + .PP \-R \fIrandomdev\fR .RS 4 -Where to obtain randomness\&. If the operating system does not provide a + Where to obtain randomness\&. If the operating system does not provide a /dev/random or equivalent device, the default source of randomness is keyboard input\&. randomdev specifies the name of a character device or file containing random data to be used instead of the default\&. The special value keyboard indicates that keyboard input should be used\&. This option may be specified multiple times\&. -.RE -.PP + .RE + .PP \-t \fItimeout\fR .RS 4 -The maximum time an update request can take before it is aborted\&. The default is 300 seconds\&. Zero can be used to disable the timeout\&. -.RE -.PP + The maximum time an update request can take before it is aborted\&. The default is 300 seconds\&. Zero can be used to disable the timeout\&. + .RE + .PP \-T .RS 4 -Print the list of IANA standard resource record types whose format is understood by + Print the list of IANA standard resource record types whose format is understood by \fBnsupdate\fR\&. \fBnsupdate\fR will exit after the lists are printed\&. The @@ -177,29 +197,29 @@ option can be combined with the \fB\-P\fR option\&. .sp -Other types can be entered using "TYPEXXXXX" where "XXXXX" is the decimal value of the type with no leading zeros\&. The rdata, if present, will be parsed using the UNKNOWN rdata format, ( )\&. -.RE -.PP + Other types can be entered using "TYPEXXXXX" where "XXXXX" is the decimal value of the type with no leading zeros\&. The rdata, if present, will be parsed using the UNKNOWN rdata format, ( )\&. + .RE + .PP \-u \fIudptimeout\fR .RS 4 -The UDP retry interval\&. The default is 3 seconds\&. If zero, the interval will be computed from the timeout interval and number of UDP retries\&. -.RE -.PP + The UDP retry interval\&. The default is 3 seconds\&. If zero, the interval will be computed from the timeout interval and number of UDP retries\&. + .RE + .PP \-v .RS 4 -Use TCP even for small update requests\&. By default, + Use TCP even for small update requests\&. By default, \fBnsupdate\fR uses UDP to send update requests to the name server unless they are too large to fit in a UDP request in which case TCP will be used\&. TCP may be preferable when a batch of update requests is made\&. -.RE -.PP + .RE + .PP \-V .RS 4 -Print the version number and exit\&. -.RE -.PP + Print the version number and exit\&. + .RE + .PP \-y \fI[hmac:]\fR\fIkeyname:secret\fR .RS 4 -Literal TSIG authentication key\&. + Literal TSIG authentication key\&. \fIkeyname\fR is the name of the key, and \fIsecret\fR @@ -218,28 +238,28 @@ hmac\-md5 or if MD5 was disabled hmac\-sha256\&. .sp -NOTE: Use of the + NOTE: Use of the \fB\-y\fR option is discouraged because the shared secret is supplied as a command line argument in clear text\&. This may be visible in the output from \fBps\fR(1) or in a history file maintained by the user\*(Aqs shell\&. -.RE -.SH "INPUT FORMAT" -.PP + .RE + .SH "INPUT FORMAT" + .PP \fBnsupdate\fR reads input from \fIfilename\fR or standard input\&. Each command is supplied on exactly one line of input\&. Some commands are for administrative purposes\&. The others are either update instructions or prerequisite checks on the contents of the zone\&. These checks set conditions that some name or set of resource records (RRset) either exists or is absent from the zone\&. These conditions must be met if the entire update request is to succeed\&. Updates will be rejected if the tests for the prerequisite conditions fail\&. -.PP + .PP Every update request consists of zero or more prerequisites and zero or more updates\&. This allows a suitably authenticated update request to proceed if some specified resource records are present or missing from the zone\&. A blank input line (or the \fBsend\fR command) causes the accumulated commands to be sent as one Dynamic DNS update request to the name server\&. -.PP + .PP The command formats and their meaning are as follows: -.PP + .PP \fBserver\fR {servername} [port] .RS 4 -Sends all dynamic update requests to the name server + Sends all dynamic update requests to the name server \fIservername\fR\&. When no server statement is provided, \fBnsupdate\fR will send updates to the master server of the correct zone\&. The MNAME field of that zone\*(Aqs SOA record will identify the master server for that zone\&. @@ -247,47 +267,48 @@ will send updates to the master server of the correct zone\&. The MNAME field of is the port number on \fIservername\fR where the dynamic update requests get sent\&. If no port number is specified, the default DNS port number of 53 is used\&. -.RE -.PP + .RE + .PP \fBlocal\fR {address} [port] .RS 4 -Sends all dynamic update requests using the local + Sends all dynamic update requests using the local \fIaddress\fR\&. When no local statement is provided, \fBnsupdate\fR will send updates using an address and port chosen by the system\&. \fIport\fR can additionally be used to make requests come from a specific port\&. If no port number is specified, the system will assign one\&. -.RE -.PP + .RE + .PP \fBzone\fR {zonename} .RS 4 -Specifies that all updates are to be made to the zone + Specifies that all updates are to be made to the zone \fIzonename\fR\&. If no \fIzone\fR statement is provided, \fBnsupdate\fR will attempt determine the correct zone to update based on the rest of the input\&. -.RE -.PP + .RE + .PP \fBclass\fR {classname} .RS 4 -Specify the default class\&. If no + Specify the default class\&. If no \fIclass\fR is specified, the default class is \fIIN\fR\&. -.RE -.PP + .RE + .PP \fBttl\fR {seconds} .RS 4 -Specify the default time to live for records to be added\&. The value + Specify the default time to live for records to be added\&. The value \fInone\fR will clear the default ttl\&. -.RE -.PP + .RE + .PP \fBkey\fR [hmac:] {keyname} {secret} .RS 4 -Specifies that all updates are to be TSIG\-signed using the -\fIkeyname\fR\fIsecret\fR + Specifies that all updates are to be TSIG\-signed using the +\fIkeyname\fR +\fIsecret\fR pair\&. If \fIhmac\fR is specified, then it sets the signing algorithm in use; the default is @@ -299,62 +320,62 @@ command overrides any key specified on the command line via \fB\-y\fR or \fB\-k\fR\&. -.RE -.PP + .RE + .PP \fBgsstsig\fR .RS 4 -Use GSS\-TSIG to sign the updated\&. This is equivalent to specifying + Use GSS\-TSIG to sign the updated\&. This is equivalent to specifying \fB\-g\fR on the command line\&. -.RE -.PP + .RE + .PP \fBoldgsstsig\fR .RS 4 -Use the Windows 2000 version of GSS\-TSIG to sign the updated\&. This is equivalent to specifying + Use the Windows 2000 version of GSS\-TSIG to sign the updated\&. This is equivalent to specifying \fB\-o\fR on the command line\&. -.RE -.PP + .RE + .PP \fBrealm\fR {[realm_name]} .RS 4 -When using GSS\-TSIG use + When using GSS\-TSIG use \fIrealm_name\fR rather than the default realm in krb5\&.conf\&. If no realm is specified the saved realm is cleared\&. -.RE -.PP + .RE + .PP \fBcheck\-names\fR {[yes_or_no]} .RS 4 -Turn on or off check\-names processing on records to be added\&. Check\-names has no effect on prerequisites or records to be deleted\&. By default check\-names processing is on\&. If check\-names processing fails the record will not be added to the UPDATE message\&. -.RE -.PP + Turn on or off check\-names processing on records to be added\&. Check\-names has no effect on prerequisites or records to be deleted\&. By default check\-names processing is on\&. If check\-names processing fails the record will not be added to the UPDATE message\&. + .RE + .PP \fB[prereq]\fR\fB nxdomain\fR {domain\-name} .RS 4 -Requires that no resource record of any type exists with name + Requires that no resource record of any type exists with name \fIdomain\-name\fR\&. -.RE -.PP + .RE + .PP \fB[prereq]\fR\fB yxdomain\fR {domain\-name} .RS 4 -Requires that + Requires that \fIdomain\-name\fR exists (has as at least one resource record, of any type)\&. -.RE -.PP + .RE + .PP \fB[prereq]\fR\fB nxrrset\fR {domain\-name} [class] {type} .RS 4 -Requires that no resource record exists of the specified + Requires that no resource record exists of the specified \fItype\fR, \fIclass\fR and \fIdomain\-name\fR\&. If \fIclass\fR is omitted, IN (internet) is assumed\&. -.RE -.PP + .RE + .PP \fB[prereq]\fR\fB yxrrset\fR {domain\-name} [class] {type} .RS 4 -This requires that a resource record of the specified + This requires that a resource record of the specified \fItype\fR, \fIclass\fR and @@ -362,11 +383,11 @@ and must exist\&. If \fIclass\fR is omitted, IN (internet) is assumed\&. -.RE -.PP + .RE + .PP \fB[prereq]\fR\fB yxrrset\fR {domain\-name} [class] {type} {data...} .RS 4 -The + The \fIdata\fR from each set of prerequisites of this form sharing a common \fItype\fR, @@ -378,11 +399,11 @@ are combined to form a set of RRs\&. This set of RRs must exactly match the set \fIdomain\-name\fR\&. The \fIdata\fR are written in the standard text representation of the resource record\*(Aqs RDATA\&. -.RE -.PP + .RE + .PP \fB[update]\fR\fB del\fR\fB[ete]\fR {domain\-name} [ttl] [class] [type\ [data...]] .RS 4 -Deletes any resource records named + Deletes any resource records named \fIdomain\-name\fR\&. If \fItype\fR and @@ -392,50 +413,50 @@ is provided, only matching resource records will be removed\&. The internet clas is not supplied\&. The \fIttl\fR is ignored, and is only allowed for compatibility\&. -.RE -.PP + .RE + .PP \fB[update]\fR\fB add\fR {domain\-name} {ttl} [class] {type} {data...} .RS 4 -Adds a new resource record with the specified + Adds a new resource record with the specified \fIttl\fR, \fIclass\fR and \fIdata\fR\&. -.RE -.PP + .RE + .PP \fBshow\fR .RS 4 -Displays the current message, containing all of the prerequisites and updates specified since the last send\&. -.RE -.PP + Displays the current message, containing all of the prerequisites and updates specified since the last send\&. + .RE + .PP \fBsend\fR .RS 4 -Sends the current message\&. This is equivalent to entering a blank line\&. -.RE -.PP + Sends the current message\&. This is equivalent to entering a blank line\&. + .RE + .PP \fBanswer\fR .RS 4 -Displays the answer\&. -.RE -.PP + Displays the answer\&. + .RE + .PP \fBdebug\fR .RS 4 -Turn on debugging\&. -.RE -.PP + Turn on debugging\&. + .RE + .PP \fBversion\fR .RS 4 -Print version number\&. -.RE -.PP + Print version number\&. + .RE + .PP \fBhelp\fR .RS 4 -Print a list of commands\&. -.RE -.PP + Print a list of commands\&. + .RE + .PP Lines beginning with a semicolon are comments and are ignored\&. -.SH "EXAMPLES" -.PP + .SH "EXAMPLES" + .PP The examples below show how \fBnsupdate\fR could be used to insert and delete resource records from the @@ -455,7 +476,8 @@ zone\&. Notice that the input in each example contains a trailing blank line so .if n \{\ .RE .\} -.PP +.sp + .PP Any A records for \fBoldhost\&.example\&.com\fR are deleted\&. And an A record for @@ -474,34 +496,35 @@ with IP address 172\&.16\&.1\&.1 is added\&. The newly\-added record has a 1 day .if n \{\ .RE .\} -.PP +.sp + .PP The prerequisite condition gets the name server to check that there are no resource records of any type for \fBnickname\&.example\&.com\fR\&. If there are, the update request fails\&. If this name does not exist, a CNAME for it is added\&. This ensures that when the CNAME is added, it cannot conflict with the long\-standing rule in RFC 1034 that a name must not exist as any other record type if it exists as a CNAME\&. (The rule has been updated for DNSSEC in RFC 2535 to allow CNAMEs to have RRSIG, DNSKEY and NSEC records\&.) -.SH "FILES" -.PP + .SH "FILES" + .PP \fB/etc/resolv\&.conf\fR .RS 4 -used to identify default name server -.RE -.PP + used to identify default name server + .RE + .PP \fB/var/run/named/session\&.key\fR .RS 4 -sets the default TSIG key for use in local\-only mode -.RE -.PP + sets the default TSIG key for use in local\-only mode + .RE + .PP \fBK{name}\&.+157\&.+{random}\&.key\fR .RS 4 -base\-64 encoding of HMAC\-MD5 key created by + base\-64 encoding of HMAC\-MD5 key created by \fBdnssec-keygen\fR(8)\&. -.RE -.PP + .RE + .PP \fBK{name}\&.+157\&.+{random}\&.private\fR .RS 4 -base\-64 encoding of HMAC\-MD5 key created by + base\-64 encoding of HMAC\-MD5 key created by \fBdnssec-keygen\fR(8)\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP RFC 2136, RFC 3007, RFC 2104, @@ -512,8 +535,8 @@ RFC 2931, \fBnamed\fR(8), \fBddns-confgen\fR(8), \fBdnssec-keygen\fR(8)\&. -.SH "BUGS" -.PP + .SH "BUGS" + .PP The TSIG key is redundantly stored in two separate files\&. This is a consequence of nsupdate using the DST library for its cryptographic operations, and may change in future releases\&. .SH "AUTHOR" .PP diff --git a/bin/nsupdate/nsupdate.html b/bin/nsupdate/nsupdate.html index fdeb925563..d9bd2d17e0 100644 --- a/bin/nsupdate/nsupdate.html +++ b/bin/nsupdate/nsupdate.html @@ -10,7 +10,7 @@ nsupdate - +
diff --git a/bin/pkcs11/pkcs11-destroy.8 b/bin/pkcs11/pkcs11-destroy.8 index 8c0775fc0d..3663062368 100644 --- a/bin/pkcs11/pkcs11-destroy.8 +++ b/bin/pkcs11/pkcs11-destroy.8 @@ -9,7 +9,7 @@ '\" t .\" Title: pkcs11-destroy .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-01-15 .\" Manual: BIND9 .\" Source: ISC @@ -35,56 +35,64 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" pkcs11-destroy \- destroy PKCS#11 objects -.SH "SYNOPSIS" -.HP \w'\fBpkcs11\-destroy\fR\ 'u -\fBpkcs11\-destroy\fR [\fB\-m\ \fR\fB\fImodule\fR\fR] [\fB\-s\ \fR\fB\fIslot\fR\fR] {\-i\ \fIID\fR | \-l\ \fIlabel\fR} [\fB\-p\ \fR\fB\fIPIN\fR\fR] [\fB\-w\ \fR\fB\fIseconds\fR\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBpkcs11\-destroy\fR\ 'u + \fBpkcs11\-destroy\fR + [\fB\-m\ \fR\fB\fImodule\fR\fR] + [\fB\-s\ \fR\fB\fIslot\fR\fR] + { + | \-i\ \fIID\fR + | \-l\ \fIlabel\fR + } + [\fB\-p\ \fR\fB\fIPIN\fR\fR] + [\fB\-w\ \fR\fB\fIseconds\fR\fR] + .SH "DESCRIPTION" + .PP \fBpkcs11\-destroy\fR destroys keys stored in a PKCS#11 device, identified by their \fBID\fR or \fBlabel\fR\&. -.PP + .PP Matching keys are displayed before being destroyed\&. By default, there is a five second delay to allow the user to interrupt the process before the destruction takes place\&. -.SH "ARGUMENTS" -.PP + .SH "ARGUMENTS" + .PP \-m \fImodule\fR .RS 4 -Specify the PKCS#11 provider module\&. This must be the full path to a shared library object implementing the PKCS#11 API for the device\&. -.RE -.PP + Specify the PKCS#11 provider module\&. This must be the full path to a shared library object implementing the PKCS#11 API for the device\&. + .RE + .PP \-s \fIslot\fR .RS 4 -Open the session with the given PKCS#11 slot\&. The default is slot 0\&. -.RE -.PP + Open the session with the given PKCS#11 slot\&. The default is slot 0\&. + .RE + .PP \-i \fIID\fR .RS 4 -Destroy keys with the given object ID\&. -.RE -.PP + Destroy keys with the given object ID\&. + .RE + .PP \-l \fIlabel\fR .RS 4 -Destroy keys with the given label\&. -.RE -.PP + Destroy keys with the given label\&. + .RE + .PP \-p \fIPIN\fR .RS 4 -Specify the PIN for the device\&. If no PIN is provided on the command line, + Specify the PIN for the device\&. If no PIN is provided on the command line, \fBpkcs11\-destroy\fR will prompt for it\&. -.RE -.PP + .RE + .PP \-w \fIseconds\fR .RS 4 -Specify how long to pause before carrying out key destruction\&. The default is five seconds\&. If set to + Specify how long to pause before carrying out key destruction\&. The default is five seconds\&. If set to 0, destruction will be immediate\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP \fBpkcs11-keygen\fR(8), \fBpkcs11-list\fR(8), \fBpkcs11-tokens\fR(8) diff --git a/bin/pkcs11/pkcs11-destroy.html b/bin/pkcs11/pkcs11-destroy.html index 5190a8558c..e0d7241298 100644 --- a/bin/pkcs11/pkcs11-destroy.html +++ b/bin/pkcs11/pkcs11-destroy.html @@ -10,7 +10,7 @@ pkcs11-destroy - +
diff --git a/bin/pkcs11/pkcs11-keygen.8 b/bin/pkcs11/pkcs11-keygen.8 index c606a5d4c2..0a771a96e1 100644 --- a/bin/pkcs11/pkcs11-keygen.8 +++ b/bin/pkcs11/pkcs11-keygen.8 @@ -9,7 +9,7 @@ '\" t .\" Title: pkcs11-keygen .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-01-15 .\" Manual: BIND9 .\" Source: ISC @@ -35,78 +35,89 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" pkcs11-keygen \- generate keys on a PKCS#11 device -.SH "SYNOPSIS" -.HP \w'\fBpkcs11\-keygen\fR\ 'u -\fBpkcs11\-keygen\fR {\-a\ \fIalgorithm\fR} [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-e\fR] [\fB\-i\ \fR\fB\fIid\fR\fR] [\fB\-m\ \fR\fB\fImodule\fR\fR] [\fB\-P\fR] [\fB\-p\ \fR\fB\fIPIN\fR\fR] [\fB\-q\fR] [\fB\-S\fR] [\fB\-s\ \fR\fB\fIslot\fR\fR] {label} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBpkcs11\-keygen\fR\ 'u + \fBpkcs11\-keygen\fR + {\-a\ \fIalgorithm\fR} + [\fB\-b\ \fR\fB\fIkeysize\fR\fR] + [\fB\-e\fR] + [\fB\-i\ \fR\fB\fIid\fR\fR] + [\fB\-m\ \fR\fB\fImodule\fR\fR] + [\fB\-P\fR] + [\fB\-p\ \fR\fB\fIPIN\fR\fR] + [\fB\-q\fR] + [\fB\-S\fR] + [\fB\-s\ \fR\fB\fIslot\fR\fR] + {label} + .SH "DESCRIPTION" + .PP \fBpkcs11\-keygen\fR causes a PKCS#11 device to generate a new key pair with the given \fBlabel\fR (which must be unique) and with \fBkeysize\fR bits of prime\&. -.SH "ARGUMENTS" -.PP + .SH "ARGUMENTS" + .PP \-a \fIalgorithm\fR .RS 4 -Specify the key algorithm class: Supported classes are RSA, DSA, DH, ECC and ECX\&. In addition to these strings, the + Specify the key algorithm class: Supported classes are RSA, DSA, DH, ECC and ECX\&. In addition to these strings, the \fBalgorithm\fR can be specified as a DNSSEC signing algorithm that will be used with this key; for example, NSEC3RSASHA1 maps to RSA, ECDSAP256SHA256 maps to ECC, and ED25519 to ECX\&. The default class is "RSA"\&. -.RE -.PP + .RE + .PP \-b \fIkeysize\fR .RS 4 -Create the key pair with + Create the key pair with \fBkeysize\fR bits of prime\&. For ECC keys, the only valid values are 256 and 384, and the default is 256\&. For ECX kyes, the only valid values are 256 and 456, and the default is 256\&. -.RE -.PP + .RE + .PP \-e .RS 4 -For RSA keys only, use a large exponent\&. -.RE -.PP + For RSA keys only, use a large exponent\&. + .RE + .PP \-i \fIid\fR .RS 4 -Create key objects with id\&. The id is either an unsigned short 2 byte or an unsigned long 4 byte number\&. -.RE -.PP + Create key objects with id\&. The id is either an unsigned short 2 byte or an unsigned long 4 byte number\&. + .RE + .PP \-m \fImodule\fR .RS 4 -Specify the PKCS#11 provider module\&. This must be the full path to a shared library object implementing the PKCS#11 API for the device\&. -.RE -.PP + Specify the PKCS#11 provider module\&. This must be the full path to a shared library object implementing the PKCS#11 API for the device\&. + .RE + .PP \-P .RS 4 -Set the new private key to be non\-sensitive and extractable\&. The allows the private key data to be read from the PKCS#11 device\&. The default is for private keys to be sensitive and non\-extractable\&. -.RE -.PP + Set the new private key to be non\-sensitive and extractable\&. The allows the private key data to be read from the PKCS#11 device\&. The default is for private keys to be sensitive and non\-extractable\&. + .RE + .PP \-p \fIPIN\fR .RS 4 -Specify the PIN for the device\&. If no PIN is provided on the command line, + Specify the PIN for the device\&. If no PIN is provided on the command line, \fBpkcs11\-keygen\fR will prompt for it\&. -.RE -.PP + .RE + .PP \-q .RS 4 -Quiet mode: suppress unnecessary output\&. -.RE -.PP + Quiet mode: suppress unnecessary output\&. + .RE + .PP \-S .RS 4 -For Diffie\-Hellman (DH) keys only, use a special prime of 768, 1024 or 1536 bit size and base (aka generator) 2\&. If not specified, bit size will default to 1024\&. -.RE -.PP + For Diffie\-Hellman (DH) keys only, use a special prime of 768, 1024 or 1536 bit size and base (aka generator) 2\&. If not specified, bit size will default to 1024\&. + .RE + .PP \-s \fIslot\fR .RS 4 -Open the session with the given PKCS#11 slot\&. The default is slot 0\&. -.RE -.SH "SEE ALSO" -.PP + Open the session with the given PKCS#11 slot\&. The default is slot 0\&. + .RE + .SH "SEE ALSO" + .PP \fBpkcs11-destroy\fR(8), \fBpkcs11-list\fR(8), \fBpkcs11-tokens\fR(8), diff --git a/bin/pkcs11/pkcs11-keygen.html b/bin/pkcs11/pkcs11-keygen.html index 9375efbec1..31b31628c7 100644 --- a/bin/pkcs11/pkcs11-keygen.html +++ b/bin/pkcs11/pkcs11-keygen.html @@ -10,7 +10,7 @@ pkcs11-keygen - +
diff --git a/bin/pkcs11/pkcs11-list.8 b/bin/pkcs11/pkcs11-list.8 index 9d9a58e213..f970df6139 100644 --- a/bin/pkcs11/pkcs11-list.8 +++ b/bin/pkcs11/pkcs11-list.8 @@ -9,7 +9,7 @@ '\" t .\" Title: pkcs11-list .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2009-10-05 .\" Manual: BIND9 .\" Source: ISC @@ -35,13 +35,19 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" pkcs11-list \- list PKCS#11 objects -.SH "SYNOPSIS" -.HP \w'\fBpkcs11\-list\fR\ 'u -\fBpkcs11\-list\fR [\fB\-P\fR] [\fB\-m\ \fR\fB\fImodule\fR\fR] [\fB\-s\ \fR\fB\fIslot\fR\fR] [\-i\ \fIID\fR] [\-l\ \fIlabel\fR] [\fB\-p\ \fR\fB\fIPIN\fR\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBpkcs11\-list\fR\ 'u + \fBpkcs11\-list\fR + [\fB\-P\fR] + [\fB\-m\ \fR\fB\fImodule\fR\fR] + [\fB\-s\ \fR\fB\fIslot\fR\fR] + [\-i\ \fIID\fR] + [\-l\ \fIlabel\fR] + [\fB\-p\ \fR\fB\fIPIN\fR\fR] + .SH "DESCRIPTION" + .PP \fBpkcs11\-list\fR lists the PKCS#11 objects with \fBID\fR @@ -51,41 +57,41 @@ or by default all objects\&. The object class, label, and ID are displayed for a true, false, or never\&. -.SH "ARGUMENTS" -.PP + .SH "ARGUMENTS" + .PP \-P .RS 4 -List only the public objects\&. (Note that on some PKCS#11 devices, all objects are private\&.) -.RE -.PP + List only the public objects\&. (Note that on some PKCS#11 devices, all objects are private\&.) + .RE + .PP \-m \fImodule\fR .RS 4 -Specify the PKCS#11 provider module\&. This must be the full path to a shared library object implementing the PKCS#11 API for the device\&. -.RE -.PP + Specify the PKCS#11 provider module\&. This must be the full path to a shared library object implementing the PKCS#11 API for the device\&. + .RE + .PP \-s \fIslot\fR .RS 4 -Open the session with the given PKCS#11 slot\&. The default is slot 0\&. -.RE -.PP + Open the session with the given PKCS#11 slot\&. The default is slot 0\&. + .RE + .PP \-i \fIID\fR .RS 4 -List only key objects with the given object ID\&. -.RE -.PP + List only key objects with the given object ID\&. + .RE + .PP \-l \fIlabel\fR .RS 4 -List only key objects with the given label\&. -.RE -.PP + List only key objects with the given label\&. + .RE + .PP \-p \fIPIN\fR .RS 4 -Specify the PIN for the device\&. If no PIN is provided on the command line, + Specify the PIN for the device\&. If no PIN is provided on the command line, \fBpkcs11\-list\fR will prompt for it\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP \fBpkcs11-destroy\fR(8), \fBpkcs11-keygen\fR(8), \fBpkcs11-tokens\fR(8) diff --git a/bin/pkcs11/pkcs11-list.html b/bin/pkcs11/pkcs11-list.html index c16a12737f..fc15d69a35 100644 --- a/bin/pkcs11/pkcs11-list.html +++ b/bin/pkcs11/pkcs11-list.html @@ -10,7 +10,7 @@ pkcs11-list - +
diff --git a/bin/pkcs11/pkcs11-tokens.8 b/bin/pkcs11/pkcs11-tokens.8 index b8e92aafcc..f24e345e22 100644 --- a/bin/pkcs11/pkcs11-tokens.8 +++ b/bin/pkcs11/pkcs11-tokens.8 @@ -9,7 +9,7 @@ '\" t .\" Title: pkcs11-tokens .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-01-15 .\" Manual: BIND9 .\" Source: ISC @@ -35,28 +35,30 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" pkcs11-tokens \- list PKCS#11 available tokens -.SH "SYNOPSIS" -.HP \w'\fBpkcs11\-tokens\fR\ 'u -\fBpkcs11\-tokens\fR [\fB\-m\ \fR\fB\fImodule\fR\fR] [\fB\-v\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBpkcs11\-tokens\fR\ 'u + \fBpkcs11\-tokens\fR + [\fB\-m\ \fR\fB\fImodule\fR\fR] + [\fB\-v\fR] + .SH "DESCRIPTION" + .PP \fBpkcs11\-tokens\fR lists the PKCS#11 available tokens with defaults from the slot/token scan performed at application initialization\&. -.SH "ARGUMENTS" -.PP + .SH "ARGUMENTS" + .PP \-m \fImodule\fR .RS 4 -Specify the PKCS#11 provider module\&. This must be the full path to a shared library object implementing the PKCS#11 API for the device\&. -.RE -.PP + Specify the PKCS#11 provider module\&. This must be the full path to a shared library object implementing the PKCS#11 API for the device\&. + .RE + .PP \-v .RS 4 -Make the PKCS#11 libisc initialization verbose\&. -.RE -.SH "SEE ALSO" -.PP + Make the PKCS#11 libisc initialization verbose\&. + .RE + .SH "SEE ALSO" + .PP \fBpkcs11-destroy\fR(8), \fBpkcs11-keygen\fR(8), \fBpkcs11-list\fR(8) diff --git a/bin/pkcs11/pkcs11-tokens.html b/bin/pkcs11/pkcs11-tokens.html index e7979f663b..7e27580733 100644 --- a/bin/pkcs11/pkcs11-tokens.html +++ b/bin/pkcs11/pkcs11-tokens.html @@ -10,7 +10,7 @@ pkcs11-tokens - +
diff --git a/bin/python/dnssec-checkds.8 b/bin/python/dnssec-checkds.8 index 5801326007..5563b95b99 100644 --- a/bin/python/dnssec-checkds.8 +++ b/bin/python/dnssec-checkds.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-checkds .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2013-01-01 .\" Manual: BIND9 .\" Source: ISC @@ -35,46 +35,56 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-checkds \- DNSSEC delegation consistency checking tool -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-checkds\fR\ 'u -\fBdnssec\-checkds\fR [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] {zone} -.HP \w'\fBdnssec\-dsfromkey\fR\ 'u -\fBdnssec\-dsfromkey\fR [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] {zone} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-checkds\fR\ 'u + \fBdnssec\-checkds\fR + [\fB\-l\ \fR\fB\fIdomain\fR\fR] + [\fB\-f\ \fR\fB\fIfile\fR\fR] + [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] + [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] + {zone} + .HP \w'\fBdnssec\-dsfromkey\fR\ 'u + \fBdnssec\-dsfromkey\fR + [\fB\-l\ \fR\fB\fIdomain\fR\fR] + [\fB\-f\ \fR\fB\fIfile\fR\fR] + [\fB\-d\ \fR\fB\fIdig\ path\fR\fR] + [\fB\-D\ \fR\fB\fIdsfromkey\ path\fR\fR] + {zone} + .SH "DESCRIPTION" + .PP \fBdnssec\-checkds\fR verifies the correctness of Delegation Signer (DS) or DNSSEC Lookaside Validation (DLV) resource records for keys in a specified zone\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-f \fIfile\fR .RS 4 -If a + If a \fBfile\fR is specified, then the zone is read from that file to find the DNSKEY records\&. If not, then the DNSKEY records for the zone are looked up in the DNS\&. -.RE -.PP + .RE + .PP \-l \fIdomain\fR .RS 4 -Check for a DLV record in the specified lookaside domain, instead of checking for a DS record in the zone\*(Aqs parent\&. -.RE -.PP + Check for a DLV record in the specified lookaside domain, instead of checking for a DS record in the zone\*(Aqs parent\&. + .RE + .PP \-d \fIdig path\fR .RS 4 -Specifies a path to a + Specifies a path to a \fBdig\fR binary\&. Used for testing\&. -.RE -.PP + .RE + .PP \-D \fIdsfromkey path\fR .RS 4 -Specifies a path to a + Specifies a path to a \fBdnssec\-dsfromkey\fR binary\&. Used for testing\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP \fBdnssec-dsfromkey\fR(8), \fBdnssec-keygen\fR(8), \fBdnssec-signzone\fR(8), diff --git a/bin/python/dnssec-checkds.html b/bin/python/dnssec-checkds.html index 84fa3cfc92..1a0ff22c6f 100644 --- a/bin/python/dnssec-checkds.html +++ b/bin/python/dnssec-checkds.html @@ -10,7 +10,7 @@ dnssec-checkds - +
diff --git a/bin/python/dnssec-coverage.8 b/bin/python/dnssec-coverage.8 index 295a1e5edf..7d77e3ba05 100644 --- a/bin/python/dnssec-coverage.8 +++ b/bin/python/dnssec-coverage.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-coverage .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-01-11 .\" Manual: BIND9 .\" Source: ISC @@ -35,114 +35,124 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-coverage \- checks future DNSKEY coverage for a zone -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-coverage\fR\ 'u -\fBdnssec\-coverage\fR [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-l\ \fR\fB\fIlength\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-d\ \fR\fB\fIDNSKEY\ TTL\fR\fR] [\fB\-m\ \fR\fB\fImax\ TTL\fR\fR] [\fB\-r\ \fR\fB\fIinterval\fR\fR] [\fB\-c\ \fR\fB\fIcompilezone\ path\fR\fR] [\fB\-k\fR] [\fB\-z\fR] [zone...] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-coverage\fR\ 'u + \fBdnssec\-coverage\fR + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-l\ \fR\fB\fIlength\fR\fR] + [\fB\-f\ \fR\fB\fIfile\fR\fR] + [\fB\-d\ \fR\fB\fIDNSKEY\ TTL\fR\fR] + [\fB\-m\ \fR\fB\fImax\ TTL\fR\fR] + [\fB\-r\ \fR\fB\fIinterval\fR\fR] + [\fB\-c\ \fR\fB\fIcompilezone\ path\fR\fR] + [\fB\-k\fR] + [\fB\-z\fR] + [zone...] + .SH "DESCRIPTION" + .PP \fBdnssec\-coverage\fR verifies that the DNSSEC keys for a given zone or a set of zones have timing metadata set properly to ensure no future lapses in DNSSEC coverage\&. -.PP + .PP If \fBzone\fR is specified, then keys found in the key repository matching that zone are scanned, and an ordered list is generated of the events scheduled for that key (i\&.e\&., publication, activation, inactivation, deletion)\&. The list of events is walked in order of occurrence\&. Warnings are generated if any event is scheduled which could cause the zone to enter a state in which validation failures might occur: for example, if the number of published or active keys for a given algorithm drops to zero, or if a key is deleted from the zone too soon after a new key is rolled, and cached data signed by the prior key has not had time to expire from resolver caches\&. -.PP + .PP If \fBzone\fR is not specified, then all keys in the key repository will be scanned, and all zones for which there are keys will be analyzed\&. (Note: This method of reporting is only accurate if all the zones that have keys in a given repository share the same TTL parameters\&.) -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-K \fIdirectory\fR .RS 4 -Sets the directory in which keys can be found\&. Defaults to the current working directory\&. -.RE -.PP + Sets the directory in which keys can be found\&. Defaults to the current working directory\&. + .RE + .PP \-f \fIfile\fR .RS 4 -If a + If a \fBfile\fR is specified, then the zone is read from that file; the largest TTL and the DNSKEY TTL are determined directly from the zone data, and the \fB\-m\fR and \fB\-d\fR options do not need to be specified on the command line\&. -.RE -.PP + .RE + .PP \-l \fIduration\fR .RS 4 -The length of time to check for DNSSEC coverage\&. Key events scheduled further into the future than + The length of time to check for DNSSEC coverage\&. Key events scheduled further into the future than \fBduration\fR will be ignored, and assumed to be correct\&. .sp -The value of + The value of \fBduration\fR can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&. -.RE -.PP + .RE + .PP \-m \fImaximum TTL\fR .RS 4 -Sets the value to be used as the maximum TTL for the zone or zones being analyzed when determining whether there is a possibility of validation failure\&. When a zone\-signing key is deactivated, there must be enough time for the record in the zone with the longest TTL to have expired from resolver caches before that key can be purged from the DNSKEY RRset\&. If that condition does not apply, a warning will be generated\&. + Sets the value to be used as the maximum TTL for the zone or zones being analyzed when determining whether there is a possibility of validation failure\&. When a zone\-signing key is deactivated, there must be enough time for the record in the zone with the longest TTL to have expired from resolver caches before that key can be purged from the DNSKEY RRset\&. If that condition does not apply, a warning will be generated\&. .sp -The length of the TTL can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&. + The length of the TTL can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&. .sp -This option is not necessary if the + This option is not necessary if the \fB\-f\fR has been used to specify a zone file\&. If \fB\-f\fR has been specified, this option may still be used; it will override the value found in the file\&. .sp -If this option is not used and the maximum TTL cannot be retrieved from a zone file, a warning is generated and a default value of 1 week is used\&. -.RE -.PP + If this option is not used and the maximum TTL cannot be retrieved from a zone file, a warning is generated and a default value of 1 week is used\&. + .RE + .PP \-d \fIDNSKEY TTL\fR .RS 4 -Sets the value to be used as the DNSKEY TTL for the zone or zones being analyzed when determining whether there is a possibility of validation failure\&. When a key is rolled (that is, replaced with a new key), there must be enough time for the old DNSKEY RRset to have expired from resolver caches before the new key is activated and begins generating signatures\&. If that condition does not apply, a warning will be generated\&. + Sets the value to be used as the DNSKEY TTL for the zone or zones being analyzed when determining whether there is a possibility of validation failure\&. When a key is rolled (that is, replaced with a new key), there must be enough time for the old DNSKEY RRset to have expired from resolver caches before the new key is activated and begins generating signatures\&. If that condition does not apply, a warning will be generated\&. .sp -The length of the TTL can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&. + The length of the TTL can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&. .sp -This option is not necessary if + This option is not necessary if \fB\-f\fR has been used to specify a zone file from which the TTL of the DNSKEY RRset can be read, or if a default key TTL was set using ith the \fB\-L\fR to \fBdnssec\-keygen\fR\&. If either of those is true, this option may still be used; it will override the values found in the zone file or the key file\&. .sp -If this option is not used and the key TTL cannot be retrieved from the zone file or the key file, then a warning is generated and a default value of 1 day is used\&. -.RE -.PP + If this option is not used and the key TTL cannot be retrieved from the zone file or the key file, then a warning is generated and a default value of 1 day is used\&. + .RE + .PP \-r \fIresign interval\fR .RS 4 -Sets the value to be used as the resign interval for the zone or zones being analyzed when determining whether there is a possibility of validation failure\&. This value defaults to 22\&.5 days, which is also the default in + Sets the value to be used as the resign interval for the zone or zones being analyzed when determining whether there is a possibility of validation failure\&. This value defaults to 22\&.5 days, which is also the default in \fBnamed\fR\&. However, if it has been changed by the \fBsig\-validity\-interval\fR option in named\&.conf, then it should also be changed here\&. .sp -The length of the interval can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&. -.RE -.PP + The length of the interval can be set in seconds, or in larger units of time by adding a suffix: \*(Aqmi\*(Aq for minutes, \*(Aqh\*(Aq for hours, \*(Aqd\*(Aq for days, \*(Aqw\*(Aq for weeks, \*(Aqmo\*(Aq for months, \*(Aqy\*(Aq for years\&. + .RE + .PP \-k .RS 4 -Only check KSK coverage; ignore ZSK events\&. Cannot be used with + Only check KSK coverage; ignore ZSK events\&. Cannot be used with \fB\-z\fR\&. -.RE -.PP + .RE + .PP \-z .RS 4 -Only check ZSK coverage; ignore KSK events\&. Cannot be used with + Only check ZSK coverage; ignore KSK events\&. Cannot be used with \fB\-k\fR\&. -.RE -.PP + .RE + .PP \-c \fIcompilezone path\fR .RS 4 -Specifies a path to a + Specifies a path to a \fBnamed\-compilezone\fR binary\&. Used for testing\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP \fBdnssec-checkds\fR(8), \fBdnssec-dsfromkey\fR(8), \fBdnssec-keygen\fR(8), diff --git a/bin/python/dnssec-coverage.html b/bin/python/dnssec-coverage.html index 83b881a248..d5bab6f15a 100644 --- a/bin/python/dnssec-coverage.html +++ b/bin/python/dnssec-coverage.html @@ -10,7 +10,7 @@ dnssec-coverage - +
diff --git a/bin/python/dnssec-keymgr.8 b/bin/python/dnssec-keymgr.8 index 6441e72525..a4a3aaaac0 100644 --- a/bin/python/dnssec-keymgr.8 +++ b/bin/python/dnssec-keymgr.8 @@ -9,7 +9,7 @@ '\" t .\" Title: dnssec-keymgr .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2016-06-03 .\" Manual: BIND9 .\" Source: ISC @@ -35,32 +35,43 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnssec-keymgr \- Ensures correct DNSKEY coverage for a zone based on a defined policy -.SH "SYNOPSIS" -.HP \w'\fBdnssec\-keymgr\fR\ 'u -\fBdnssec\-keymgr\fR [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-c\ \fR\fB\fIfile\fR\fR] [\fB\-f\fR] [\fB\-k\fR] [\fB\-q\fR] [\fB\-v\fR] [\fB\-z\fR] [\fB\-g\ \fR\fB\fIpath\fR\fR] [\fB\-r\ \fR\fB\fIpath\fR\fR] [\fB\-s\ \fR\fB\fIpath\fR\fR] [zone...] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnssec\-keymgr\fR\ 'u + \fBdnssec\-keymgr\fR + [\fB\-K\ \fR\fB\fIdirectory\fR\fR] + [\fB\-c\ \fR\fB\fIfile\fR\fR] + [\fB\-f\fR] + [\fB\-k\fR] + [\fB\-q\fR] + [\fB\-v\fR] + [\fB\-z\fR] + [\fB\-g\ \fR\fB\fIpath\fR\fR] + [\fB\-r\ \fR\fB\fIpath\fR\fR] + [\fB\-s\ \fR\fB\fIpath\fR\fR] + [zone...] + .SH "DESCRIPTION" + .PP \fBdnssec\-keymgr\fR is a high level Python wrapper to facilitate the key rollover process for zones handled by BIND\&. It uses the BIND commands for manipulating DNSSEC key metadata: \fBdnssec\-keygen\fR and \fBdnssec\-settime\fR\&. -.PP + .PP DNSSEC policy can be read from a configuration file (default /etc/dnssec\-policy\&.conf), from which the key parameters, publication and rollover schedule, and desired coverage duration for any given zone can be determined\&. This file may be used to define individual DNSSEC policies on a per\-zone basis, or to set a "default" policy used for all zones\&. -.PP + .PP When \fBdnssec\-keymgr\fR runs, it examines the DNSSEC keys for one or more zones, comparing their timing metadata against the policies for those zones\&. If key settings do not conform to the DNSSEC policy (for example, because the policy has been changed), they are automatically corrected\&. -.PP + .PP A zone policy can specify a duration for which we want to ensure the key correctness (\fBcoverage\fR)\&. It can also specify a rollover period (\fBroll\-period\fR)\&. If policy indicates that a key should roll over before the coverage period ends, then a successor key will automatically be created and added to the end of the key series\&. -.PP + .PP If zones are specified on the command line, \fBdnssec\-keymgr\fR will examine only those zones\&. If a specified zone does not already have keys in place, then keys will be generated for it according to policy\&. -.PP + .PP If zones are \fInot\fR specified on the command line, then @@ -68,98 +79,98 @@ specified on the command line, then will search the key directory (either the current working directory or the directory set by the \fB\-K\fR option), and check the keys for all the zones represented in the directory\&. -.PP + .PP Key times that are in the past will not be updated unless the \fB\-f\fR is used (see below)\&. Key inactivation and deletion times that are less than five minutes in the future will be delayed by five minutes\&. -.PP + .PP It is expected that this tool will be run automatically and unattended (for example, by \fBcron\fR)\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-c \fIfile\fR .RS 4 -If + If \fB\-c\fR is specified, then the DNSSEC policy is read from \fBfile\fR\&. (If not specified, then the policy is read from /etc/dnssec\-policy\&.conf; if that file doesn\*(Aqt exist, a built\-in global default policy is used\&.) -.RE -.PP + .RE + .PP \-f .RS 4 -Force: allow updating of key events even if they are already in the past\&. This is not recommended for use with zones in which keys have already been published\&. However, if a set of keys has been generated all of which have publication and activation dates in the past, but the keys have not been published in a zone as yet, then this option can be used to clean them up and turn them into a proper series of keys with appropriate rollover intervals\&. -.RE -.PP + Force: allow updating of key events even if they are already in the past\&. This is not recommended for use with zones in which keys have already been published\&. However, if a set of keys has been generated all of which have publication and activation dates in the past, but the keys have not been published in a zone as yet, then this option can be used to clean them up and turn them into a proper series of keys with appropriate rollover intervals\&. + .RE + .PP \-g \fIkeygen\-path\fR .RS 4 -Specifies a path to a + Specifies a path to a \fBdnssec\-keygen\fR binary\&. Used for testing\&. See also the \fB\-s\fR option\&. -.RE -.PP + .RE + .PP \-h .RS 4 -Print the + Print the \fBdnssec\-keymgr\fR help summary and exit\&. -.RE -.PP + .RE + .PP \-K \fIdirectory\fR .RS 4 -Sets the directory in which keys can be found\&. Defaults to the current working directory\&. -.RE -.PP + Sets the directory in which keys can be found\&. Defaults to the current working directory\&. + .RE + .PP \-k .RS 4 -Only apply policies to KSK keys\&. See also the + Only apply policies to KSK keys\&. See also the \fB\-z\fR option\&. -.RE -.PP + .RE + .PP \-q .RS 4 -Quiet: suppress printing of + Quiet: suppress printing of \fBdnssec\-keygen\fR and \fBdnssec\-settime\fR\&. -.RE -.PP + .RE + .PP \-r \fIrandomdev\fR .RS 4 -Specifies a path to a file containing random data\&. This is passed to the + Specifies a path to a file containing random data\&. This is passed to the \fBdnssec\-keygen\fR binary using its \fB\-r\fR option\&. -.RE -.PP + .RE + .PP \-s \fIsettime\-path\fR .RS 4 -Specifies a path to a + Specifies a path to a \fBdnssec\-settime\fR binary\&. Used for testing\&. See also the \fB\-g\fR option\&. -.RE -.PP + .RE + .PP \-v .RS 4 -Print the + Print the \fBdnssec\-keymgr\fR version and exit\&. -.RE -.PP + .RE + .PP \-z .RS 4 -Only apply policies to ZSK keys\&. See also the + Only apply policies to ZSK keys\&. See also the \fB\-k\fR option\&. -.RE -.SH "POLICY CONFIGURATION" -.PP + .RE + .SH "POLICY CONFIGURATION" + .PP The dnssec\-policy\&.conf file can specify three kinds of policies: @@ -172,7 +183,7 @@ file can specify three kinds of policies: .sp -1 .IP \(bu 2.3 .\} -\fIPolicy classes\fR + \fIPolicy classes\fR (\fBpolicy \fR\fB\fIname\fR\fR\fB { \&.\&.\&. };\fR) can be inherited by zone policies or other policy classes; these can be used to create sets of different security profiles\&. For example, a policy class \fBnormal\fR might specify 1024\-bit key sizes, but a class @@ -180,7 +191,7 @@ might specify 1024\-bit key sizes, but a class might specify 2048 bits instead; \fBextra\fR would be used for zones that had unusually high security needs\&. -.RE + .RE .sp .RS 4 .ie n \{\ @@ -190,11 +201,11 @@ would be used for zones that had unusually high security needs\&. .sp -1 .IP \(bu 2.3 .\} -\fIAlgorithm policies:\fR + \fIAlgorithm policies:\fR (\fBalgorithm\-policy \fR\fB\fIalgorithm\fR\fR\fB { \&.\&.\&. };\fR ) override default per\-algorithm settings\&. For example, by default, RSASHA256 keys use 2048\-bit key sizes for both KSK and ZSK\&. This can be modified using \fBalgorithm\-policy\fR, and the new key sizes would then be used for any key of type RSASHA256\&. -.RE + .RE .sp .RS 4 .ie n \{\ @@ -204,64 +215,64 @@ would be used for zones that had unusually high security needs\&. .sp -1 .IP \(bu 2.3 .\} -\fIZone policies:\fR + \fIZone policies:\fR (\fBzone \fR\fB\fIname\fR\fR\fB { \&.\&.\&. };\fR ) set policy for a single zone by name\&. A zone policy can inherit a policy class by including a \fBpolicy\fR option\&. Zone names beginning with digits (i\&.e\&., 0\-9) must be quoted\&. If a zone does not have its own policy then the "default" policy applies\&. -.RE -.PP + .RE + .PP Options that can be specified in policies: -.PP + .PP \fBalgorithm\fR \fIname\fR; .RS 4 -The key algorithm\&. If no policy is defined, the default is RSASHA256\&. -.RE -.PP + The key algorithm\&. If no policy is defined, the default is RSASHA256\&. + .RE + .PP \fBcoverage\fR \fIduration\fR; .RS 4 -The length of time to ensure that keys will be correct; no action will be taken to create new keys to be activated after this time\&. This can be represented as a number of seconds, or as a duration using human\-readable units (examples: "1y" or "6 months")\&. A default value for this option can be set in algorithm policies as well as in policy classes or zone policies\&. If no policy is configured, the default is six months\&. -.RE -.PP + The length of time to ensure that keys will be correct; no action will be taken to create new keys to be activated after this time\&. This can be represented as a number of seconds, or as a duration using human\-readable units (examples: "1y" or "6 months")\&. A default value for this option can be set in algorithm policies as well as in policy classes or zone policies\&. If no policy is configured, the default is six months\&. + .RE + .PP \fBdirectory\fR \fIpath\fR; .RS 4 -Specifies the directory in which keys should be stored\&. -.RE -.PP + Specifies the directory in which keys should be stored\&. + .RE + .PP \fBkey\-size\fR \fIkeytype\fR \fIsize\fR; .RS 4 -Specifies the number of bits to use in creating keys\&. The keytype is either "zsk" or "ksk"\&. A default value for this option can be set in algorithm policies as well as in policy classes or zone policies\&. If no policy is configured, the default is 1024 bits for DSA keys and 2048 for RSA\&. -.RE -.PP + Specifies the number of bits to use in creating keys\&. The keytype is either "zsk" or "ksk"\&. A default value for this option can be set in algorithm policies as well as in policy classes or zone policies\&. If no policy is configured, the default is 1024 bits for DSA keys and 2048 for RSA\&. + .RE + .PP \fBkeyttl\fR \fIduration\fR; .RS 4 -The key TTL\&. If no policy is defined, the default is one hour\&. -.RE -.PP + The key TTL\&. If no policy is defined, the default is one hour\&. + .RE + .PP \fBpost\-publish\fR \fIkeytype\fR \fIduration\fR; .RS 4 -How long after inactivation a key should be deleted from the zone\&. Note: If + How long after inactivation a key should be deleted from the zone\&. Note: If \fBroll\-period\fR is not set, this value is ignored\&. The keytype is either "zsk" or "ksk"\&. A default duration for this option can be set in algorithm policies as well as in policy classes or zone policies\&. The default is one month\&. -.RE -.PP + .RE + .PP \fBpre\-publish\fR \fIkeytype\fR \fIduration\fR; .RS 4 -How long before activation a key should be published\&. Note: If + How long before activation a key should be published\&. Note: If \fBroll\-period\fR is not set, this value is ignored\&. The keytype is either "zsk" or "ksk"\&. A default duration for this option can be set in algorithm policies as well as in policy classes or zone policies\&. The default is one month\&. -.RE -.PP + .RE + .PP \fBroll\-period\fR \fIkeytype\fR \fIduration\fR; .RS 4 -How frequently keys should be rolled over\&. The keytype is either "zsk" or "ksk"\&. A default duration for this option can be set in algorithm policies as well as in policy classes or zone policies\&. If no policy is configured, the default is one year for ZSKs\&. KSKs do not roll over by default\&. -.RE -.PP + How frequently keys should be rolled over\&. The keytype is either "zsk" or "ksk"\&. A default duration for this option can be set in algorithm policies as well as in policy classes or zone policies\&. If no policy is configured, the default is one year for ZSKs\&. KSKs do not roll over by default\&. + .RE + .PP \fBstandby\fR \fIkeytype\fR \fInumber\fR; .RS 4 -Not yet implemented\&. -.RE -.SH "REMAINING WORK" + Not yet implemented\&. + .RE + .SH "REMAINING WORK" .sp .RS 4 .ie n \{\ @@ -271,7 +282,7 @@ Not yet implemented\&. .sp -1 .IP \(bu 2.3 .\} -Enable scheduling of KSK rollovers using the + Enable scheduling of KSK rollovers using the \fB\-P sync\fR and \fB\-D sync\fR @@ -280,7 +291,7 @@ options to and \fBdnssec\-settime\fR\&. Check the parent zone (as in \fBdnssec\-checkds\fR) to determine when it\*(Aqs safe for the key to roll\&. -.RE + .RE .sp .RS 4 .ie n \{\ @@ -290,10 +301,10 @@ and .sp -1 .IP \(bu 2.3 .\} -Allow configuration of standby keys and use of the REVOKE bit, for keys that use RFC 5011 semantics\&. -.RE -.SH "SEE ALSO" -.PP + Allow configuration of standby keys and use of the REVOKE bit, for keys that use RFC 5011 semantics\&. + .RE + .SH "SEE ALSO" + .PP \fBdnssec-coverage\fR(8), \fBdnssec-keygen\fR(8), \fBdnssec-settime\fR(8), diff --git a/bin/python/dnssec-keymgr.html b/bin/python/dnssec-keymgr.html index 7bf7d5e1b0..7397eddbb4 100644 --- a/bin/python/dnssec-keymgr.html +++ b/bin/python/dnssec-keymgr.html @@ -10,7 +10,7 @@ dnssec-keymgr - +
diff --git a/bin/rndc/rndc.8 b/bin/rndc/rndc.8 index b9d281745e..021ec8c2bb 100644 --- a/bin/rndc/rndc.8 +++ b/bin/rndc/rndc.8 @@ -9,7 +9,7 @@ '\" t .\" Title: rndc .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2014-08-15 .\" Manual: BIND9 .\" Source: ISC @@ -35,48 +35,58 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" rndc \- name server control utility -.SH "SYNOPSIS" -.HP \w'\fBrndc\fR\ 'u -\fBrndc\fR [\fB\-b\ \fR\fB\fIsource\-address\fR\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-k\ \fR\fB\fIkey\-file\fR\fR] [\fB\-s\ \fR\fB\fIserver\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-q\fR] [\fB\-r\fR] [\fB\-V\fR] [\fB\-y\ \fR\fB\fIkey_id\fR\fR] {command} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBrndc\fR\ 'u + \fBrndc\fR + [\fB\-b\ \fR\fB\fIsource\-address\fR\fR] + [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] + [\fB\-k\ \fR\fB\fIkey\-file\fR\fR] + [\fB\-s\ \fR\fB\fIserver\fR\fR] + [\fB\-p\ \fR\fB\fIport\fR\fR] + [\fB\-q\fR] + [\fB\-r\fR] + [\fB\-V\fR] + [\fB\-y\ \fR\fB\fIkey_id\fR\fR] + {command} + .SH "DESCRIPTION" + .PP \fBrndc\fR controls the operation of a name server\&. It supersedes the \fBndc\fR utility that was provided in old BIND releases\&. If \fBrndc\fR is invoked with no command line options or arguments, it prints a short summary of the supported commands and the available options and their arguments\&. -.PP + .PP \fBrndc\fR communicates with the name server over a TCP connection, sending commands authenticated with digital signatures\&. In the current versions of \fBrndc\fR and \fBnamed\fR, the only supported authentication algorithms are HMAC\-MD5 (for compatibility), HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256 (default), HMAC\-SHA384 and HMAC\-SHA512\&. They use a shared secret on each end of the connection\&. This provides TSIG\-style authentication for the command request and the name server\*(Aqs response\&. All commands sent over the channel must be signed by a key_id known to the server\&. -.PP + .PP \fBrndc\fR reads a configuration file to determine how to contact the name server and decide what algorithm and key it should use\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-b \fIsource\-address\fR .RS 4 -Use + Use \fIsource\-address\fR as the source address for the connection to the server\&. Multiple instances are permitted to allow setting of both the IPv4 and IPv6 source addresses\&. -.RE -.PP + .RE + .PP \-c \fIconfig\-file\fR .RS 4 -Use + Use \fIconfig\-file\fR as the configuration file instead of the default, /etc/rndc\&.conf\&. -.RE -.PP + .RE + .PP \-k \fIkey\-file\fR .RS 4 -Use + Use \fIkey\-file\fR as the key file instead of the default, /etc/rndc\&.key\&. The key in @@ -84,46 +94,46 @@ as the key file instead of the default, will be used to authenticate commands sent to the server if the \fIconfig\-file\fR does not exist\&. -.RE -.PP + .RE + .PP \-s \fIserver\fR .RS 4 -\fIserver\fR + \fIserver\fR is the name or address of the server which matches a server statement in the configuration file for \fBrndc\fR\&. If no server is supplied on the command line, the host named by the default\-server clause in the options statement of the \fBrndc\fR configuration file will be used\&. -.RE -.PP + .RE + .PP \-p \fIport\fR .RS 4 -Send commands to TCP port + Send commands to TCP port \fIport\fR instead of BIND 9\*(Aqs default control channel port, 953\&. -.RE -.PP + .RE + .PP \-q .RS 4 -Quiet mode: Message text returned by the server will not be printed except when there is an error\&. -.RE -.PP + Quiet mode: Message text returned by the server will not be printed except when there is an error\&. + .RE + .PP \-r .RS 4 -Instructs + Instructs \fBrndc\fR to print the result code returned by \fBnamed\fR after executing the requested command (e\&.g\&., ISC_R_SUCCESS, ISC_R_FAILURE, etc)\&. -.RE -.PP + .RE + .PP \-V .RS 4 -Enable verbose logging\&. -.RE -.PP + Enable verbose logging\&. + .RE + .PP \-y \fIkey_id\fR .RS 4 -Use the key + Use the key \fIkey_id\fR from the configuration file\&. \fIkey_id\fR @@ -134,20 +144,20 @@ with the same algorithm and secret string in order for control message validatio is specified, \fBrndc\fR will first look for a key clause in the server statement of the server being used, or if no server statement is present for that host, then the default\-key clause of the options statement\&. Note that the configuration file contains shared secrets which are used to send authenticated control commands to name servers\&. It should therefore not have general read or write access\&. -.RE -.SH "COMMANDS" -.PP + .RE + .SH "COMMANDS" + .PP A list of commands supported by \fBrndc\fR can be seen by running \fBrndc\fR without arguments\&. -.PP + .PP Currently supported commands are: -.PP + .PP \fBaddzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR\fB\fIconfiguration\fR\fR\fB \fR .RS 4 -Add a zone while the server is running\&. This command requires the + Add a zone while the server is running\&. This command requires the \fBallow\-new\-zones\fR option to be set to \fByes\fR\&. The @@ -155,34 +165,34 @@ option to be set to string specified on the command line is the zone configuration text that would ordinarily be placed in named\&.conf\&. .sp -The configuration is saved in a file called + The configuration is saved in a file called \fIname\fR\&.nzf, where \fIname\fR is the name of the view, or if it contains characters that are incompatible with use as a file name, a cryptographic hash generated from the name of the view\&. When \fBnamed\fR is restarted, the file will be loaded into the view configuration, so that zones that were added can persist after a restart\&. .sp -This sample + This sample \fBaddzone\fR command would add the zone example\&.com to the default view: .sp -$\fBrndc addzone example\&.com \*(Aq{ type master; file "example\&.com\&.db"; };\*(Aq\fR + $\fBrndc addzone example\&.com \*(Aq{ type master; file "example\&.com\&.db"; };\*(Aq\fR .sp -(Note the brackets and semi\-colon around the zone configuration text\&.) + (Note the brackets and semi\-colon around the zone configuration text\&.) .sp -See also + See also \fBrndc delzone\fR and \fBrndc modzone\fR\&. -.RE -.PP + .RE + .PP \fBdelzone \fR\fB[\-clean]\fR\fB \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR .RS 4 -Delete a zone while the server is running\&. + Delete a zone while the server is running\&. .sp -If the + If the \fB\-clean\fR argument is specified, the zone\*(Aqs master file (and journal file, if any) will be deleted along with the zone\&. Without the \fB\-clean\fR @@ -190,20 +200,20 @@ option, zone files must be cleaned up by hand\&. (If the zone is of type "slave" \fBrndc delzone\fR command\&.) .sp -If the zone was originally added via + If the zone was originally added via \fBrndc addzone\fR, then it will be removed permanently\&. However, if it was originally configured in named\&.conf, then that original configuration is still in place; when the server is restarted or reconfigured, the zone will come back\&. To remove it permanently, it must also be removed from named\&.conf .sp -See also + See also \fBrndc addzone\fR and \fBrndc modzone\fR\&. -.RE -.PP + .RE + .PP \fBdnstap ( \-reopen | \-roll \fR\fB[\fInumber\fR]\fR\fB )\fR .RS 4 -Close and re\-open DNSTAP output files\&. + Close and re\-open DNSTAP output files\&. \fBrndc dnstap \-reopen\fR allows the output file to be renamed externally, so that \fBnamed\fR @@ -212,72 +222,72 @@ can truncate and re\-open it\&. causes the output file to be rolled automatically, similar to log files; the most recent output file has "\&.0" appended to its name; the previous most recent output file is moved to "\&.1", and so on\&. If \fInumber\fR is specified, then the number of backup log files is limited to that number\&. -.RE -.PP + .RE + .PP \fBdumpdb \fR\fB[\-all|\-cache|\-zones|\-adb|\-bad|\-fail]\fR\fB \fR\fB[\fIview \&.\&.\&.\fR]\fR .RS 4 -Dump the server\*(Aqs caches (default) and/or zones to the dump file for the specified views\&. If no view is specified, all views are dumped\&. (See the + Dump the server\*(Aqs caches (default) and/or zones to the dump file for the specified views\&. If no view is specified, all views are dumped\&. (See the \fBdump\-file\fR option in the BIND 9 Administrator Reference Manual\&.) -.RE -.PP + .RE + .PP \fBflush\fR .RS 4 -Flushes the server\*(Aqs cache\&. -.RE -.PP + Flushes the server\*(Aqs cache\&. + .RE + .PP \fBflushname\fR \fIname\fR [\fIview\fR] .RS 4 -Flushes the given name from the view\*(Aqs DNS cache and, if applicable, from the view\*(Aqs nameserver address database, bad server cache and SERVFAIL cache\&. -.RE -.PP + Flushes the given name from the view\*(Aqs DNS cache and, if applicable, from the view\*(Aqs nameserver address database, bad server cache and SERVFAIL cache\&. + .RE + .PP \fBflushtree\fR \fIname\fR [\fIview\fR] .RS 4 -Flushes the given name, and all of its subdomains, from the view\*(Aqs DNS cache, address database, bad server cache, and SERVFAIL cache\&. -.RE -.PP + Flushes the given name, and all of its subdomains, from the view\*(Aqs DNS cache, address database, bad server cache, and SERVFAIL cache\&. + .RE + .PP \fBfreeze \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR .RS 4 -Suspend updates to a dynamic zone\&. If no zone is specified, then all zones are suspended\&. This allows manual edits to be made to a zone normally updated by dynamic update\&. It also causes changes in the journal file to be synced into the master file\&. All dynamic update attempts will be refused while the zone is frozen\&. + Suspend updates to a dynamic zone\&. If no zone is specified, then all zones are suspended\&. This allows manual edits to be made to a zone normally updated by dynamic update\&. It also causes changes in the journal file to be synced into the master file\&. All dynamic update attempts will be refused while the zone is frozen\&. .sp -See also + See also \fBrndc thaw\fR\&. -.RE -.PP + .RE + .PP \fBhalt \fR\fB[\-p]\fR .RS 4 -Stop the server immediately\&. Recent changes made through dynamic update or IXFR are not saved to the master files, but will be rolled forward from the journal files when the server is restarted\&. If + Stop the server immediately\&. Recent changes made through dynamic update or IXFR are not saved to the master files, but will be rolled forward from the journal files when the server is restarted\&. If \fB\-p\fR is specified \fBnamed\fR\*(Aqs process id is returned\&. This allows an external process to determine when \fBnamed\fR had completed halting\&. .sp -See also + See also \fBrndc stop\fR\&. -.RE -.PP + .RE + .PP \fBloadkeys \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR .RS 4 -Fetch all DNSSEC keys for the given zone from the key directory\&. If they are within their publication period, merge them into the zone\*(Aqs DNSKEY RRset\&. Unlike + Fetch all DNSSEC keys for the given zone from the key directory\&. If they are within their publication period, merge them into the zone\*(Aqs DNSKEY RRset\&. Unlike \fBrndc sign\fR, however, the zone is not immediately re\-signed by the new keys, but is allowed to incrementally re\-sign over time\&. .sp -This command requires that the + This command requires that the \fBauto\-dnssec\fR zone option be set to maintain, and also requires the zone to be configured to allow dynamic DNS\&. (See "Dynamic Update Policies" in the Administrator Reference Manual for more details\&.) -.RE -.PP + .RE + .PP \fBmanaged\-keys \fR\fB\fI(status | refresh | sync)\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR .RS 4 -When run with the "status" keyword, print the current status of the managed\-keys database for the specified view, or for all views if none is specified\&. When run with the "refresh" keyword, force an immediate refresh of all the managed\-keys in the specified view, or all views\&. When run with the "sync" keyword, force an immediate dump of the managed\-keys database to disk (in the file + When run with the "status" keyword, print the current status of the managed\-keys database for the specified view, or for all views if none is specified\&. When run with the "refresh" keyword, force an immediate refresh of all the managed\-keys in the specified view, or all views\&. When run with the "sync" keyword, force an immediate dump of the managed\-keys database to disk (in the file managed\-keys\&.bind or (\fIviewname\fR\&.mkeys)\&. -.RE -.PP + .RE + .PP \fBmodzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR\fB\fIconfiguration\fR\fR\fB \fR .RS 4 -Modify the configuration of a zone while the server is running\&. This command requires the + Modify the configuration of a zone while the server is running\&. This command requires the \fBallow\-new\-zones\fR option to be set to \fByes\fR\&. As with @@ -286,33 +296,33 @@ option to be set to string specified on the command line is the zone configuration text that would ordinarily be placed in named\&.conf\&. .sp -If the zone was originally added via + If the zone was originally added via \fBrndc addzone\fR, the configuration changes will be recorded permanently and will still be in effect after the server is restarted or reconfigured\&. However, if it was originally configured in named\&.conf, then that original configuration is still in place; when the server is restarted or reconfigured, the zone will revert to its original configuration\&. To make the changes permanent, it must also be modified in named\&.conf .sp -See also + See also \fBrndc addzone\fR and \fBrndc delzone\fR\&. -.RE -.PP + .RE + .PP \fBnotify \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR .RS 4 -Resend NOTIFY messages for the zone\&. -.RE -.PP + Resend NOTIFY messages for the zone\&. + .RE + .PP \fBnotrace\fR .RS 4 -Sets the server\*(Aqs debugging level to 0\&. + Sets the server\*(Aqs debugging level to 0\&. .sp -See also + See also \fBrndc trace\fR\&. -.RE -.PP + .RE + .PP \fBnta \fR\fB[( \-class \fIclass\fR | \-dump | \-force | \-remove | \-lifetime \fIduration\fR)]\fR\fB \fR\fB\fIdomain\fR\fR\fB \fR\fB[\fIview\fR]\fR\fB \fR .RS 4 -Sets a DNSSEC negative trust anchor (NTA) for + Sets a DNSSEC negative trust anchor (NTA) for \fBdomain\fR, with a lifetime of \fBduration\fR\&. The default lifetime is configured in named\&.conf @@ -320,33 +330,33 @@ via the \fBnta\-lifetime\fR option, and defaults to one hour\&. The lifetime cannot exceed one week\&. .sp -A negative trust anchor selectively disables DNSSEC validation for zones that are known to be failing because of misconfiguration rather than an attack\&. When data to be validated is at or below an active NTA (and above any other configured trust anchors), + A negative trust anchor selectively disables DNSSEC validation for zones that are known to be failing because of misconfiguration rather than an attack\&. When data to be validated is at or below an active NTA (and above any other configured trust anchors), \fBnamed\fR will abort the DNSSEC validation process and treat the data as insecure rather than bogus\&. This continues until the NTA\*(Aqs lifetime is elapsed\&. .sp -NTAs persist across restarts of the + NTAs persist across restarts of the \fBnamed\fR server\&. The NTAs for a view are saved in a file called \fIname\fR\&.nta, where \fIname\fR is the name of the view, or if it contains characters that are incompatible with use as a file name, a cryptographic hash generated from the name of the view\&. .sp -An existing NTA can be removed by using the + An existing NTA can be removed by using the \fB\-remove\fR option\&. .sp -An NTA\*(Aqs lifetime can be specified with the + An NTA\*(Aqs lifetime can be specified with the \fB\-lifetime\fR option\&. TTL\-style suffixes can be used to specify the lifetime in seconds, minutes, or hours\&. If the specified NTA already exists, its lifetime will be updated to the new value\&. Setting \fBlifetime\fR to zero is equivalent to \fB\-remove\fR\&. .sp -If the + If the \fB\-dump\fR is used, any other arguments are ignored, and a list of existing NTAs is printed (note that this may include NTAs that are expired but have not yet been cleaned up)\&. .sp -Normally, + Normally, \fBnamed\fR will periodically test to see whether data below an NTA can now be validated (see the \fBnta\-recheck\fR @@ -354,24 +364,25 @@ option in the Administrator Reference Manual for details)\&. If data can be vali \fB\-force\fR overrides this behavior and forces an NTA to persist for its entire lifetime, regardless of whether data could be validated if the NTA were not present\&. .sp -The view class can be specified with + The view class can be specified with \fB\-class\fR\&. The default is class \fBIN\fR, which is the only class for which DNSSEC is currently supported\&. .sp -All of these options can be shortened, i\&.e\&., to + All of these options can be shortened, i\&.e\&., to \fB\-l\fR, \fB\-r\fR, \fB\-d\fR, \fB\-f\fR, and \fB\-c\fR\&. -.RE -.PP + .RE + .PP \fBquerylog\fR [ on | off ] .RS 4 -Enable or disable query logging\&. (For backward compatibility, this command can also be used without an argument to toggle query logging on and off\&.) + Enable or disable query logging\&. (For backward compatibility, this command can also be used without an argument to toggle query logging on and off\&.) .sp -Query logging can also be enabled by explicitly directing the -\fBqueries\fR\fBcategory\fR + Query logging can also be enabled by explicitly directing the +\fBqueries\fR +\fBcategory\fR to a \fBchannel\fR in the @@ -384,61 +395,61 @@ in the \fBoptions\fR section of named\&.conf\&. -.RE -.PP + .RE + .PP \fBreconfig\fR .RS 4 -Reload the configuration file and load new zones, but do not reload existing zone files even if they have changed\&. This is faster than a full + Reload the configuration file and load new zones, but do not reload existing zone files even if they have changed\&. This is faster than a full \fBreload\fR when there is a large number of zones because it avoids the need to examine the modification times of the zones files\&. -.RE -.PP + .RE + .PP \fBrecursing\fR .RS 4 -Dump the list of queries + Dump the list of queries \fBnamed\fR is currently recursing on, and the list of domains to which iterative queries are currently being sent\&. (The second list includes the number of fetches currently active for the given domain, and how many have been passed or dropped because of the \fBfetches\-per\-zone\fR option\&.) -.RE -.PP + .RE + .PP \fBrefresh \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR .RS 4 -Schedule zone maintenance for the given zone\&. -.RE -.PP + Schedule zone maintenance for the given zone\&. + .RE + .PP \fBreload\fR .RS 4 -Reload configuration file and zones\&. -.RE -.PP + Reload configuration file and zones\&. + .RE + .PP \fBreload \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR .RS 4 -Reload the given zone\&. -.RE -.PP + Reload the given zone\&. + .RE + .PP \fBretransfer \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR .RS 4 -Retransfer the given slave zone from the master server\&. + Retransfer the given slave zone from the master server\&. .sp -If the zone is configured to use + If the zone is configured to use \fBinline\-signing\fR, the signed version of the zone is discarded; after the retransfer of the unsigned version is complete, the signed version will be regenerated with all new signatures\&. -.RE -.PP + .RE + .PP \fBscan\fR .RS 4 -Scan the list of available network interfaces for changes, without performing a full + Scan the list of available network interfaces for changes, without performing a full \fBreconfig\fR or waiting for the \fBinterface\-interval\fR timer\&. -.RE -.PP + .RE + .PP \fBsecroots \fR\fB[\-]\fR\fB \fR\fB[\fIview \&.\&.\&.\fR]\fR .RS 4 -Dump the server\*(Aqs security roots and negative trust anchors for the specified views\&. If no view is specified, all views are dumped\&. + Dump the server\*(Aqs security roots and negative trust anchors for the specified views\&. If no view is specified, all views are dumped\&. .sp -If the first argument is "\-", then the output is returned via the + If the first argument is "\-", then the output is returned via the \fBrndc\fR response channel and printed to the standard output\&. Otherwise, it is written to the secroots dump file, which defaults to named\&.secroots, but can be overridden via the @@ -446,53 +457,53 @@ named\&.secroots, but can be overridden via the option in named\&.conf\&. .sp -See also + See also \fBrndc managed\-keys\fR\&. -.RE -.PP + .RE + .PP \fBshowzone \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR .RS 4 -Print the configuration of a running zone\&. + Print the configuration of a running zone\&. .sp -See also + See also \fBrndc zonestatus\fR\&. -.RE -.PP + .RE + .PP \fBsign \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR .RS 4 -Fetch all DNSSEC keys for the given zone from the key directory (see the + Fetch all DNSSEC keys for the given zone from the key directory (see the \fBkey\-directory\fR option in the BIND 9 Administrator Reference Manual)\&. If they are within their publication period, merge them into the zone\*(Aqs DNSKEY RRset\&. If the DNSKEY RRset is changed, then the zone is automatically re\-signed with the new key set\&. .sp -This command requires that the + This command requires that the \fBauto\-dnssec\fR zone option be set to allow or maintain, and also requires the zone to be configured to allow dynamic DNS\&. (See "Dynamic Update Policies" in the Administrator Reference Manual for more details\&.) .sp -See also + See also \fBrndc loadkeys\fR\&. -.RE -.PP + .RE + .PP \fBsigning \fR\fB[( \-list | \-clear \fIkeyid/algorithm\fR | \-clear all | \-nsec3param ( \fIparameters\fR | none ) | \-serial \fIvalue\fR ) ]\fR\fB \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR\fB \fR .RS 4 -List, edit, or remove the DNSSEC signing state records for the specified zone\&. The status of ongoing DNSSEC operations (such as signing or generating NSEC3 chains) is stored in the zone in the form of DNS resource records of type + List, edit, or remove the DNSSEC signing state records for the specified zone\&. The status of ongoing DNSSEC operations (such as signing or generating NSEC3 chains) is stored in the zone in the form of DNS resource records of type \fBsig\-signing\-type\fR\&. \fBrndc signing \-list\fR converts these records into a human\-readable form, indicating which keys are currently signing or have finished signing the zone, and which NSEC3 chains are being created or removed\&. .sp -\fBrndc signing \-clear\fR + \fBrndc signing \-clear\fR can remove a single key (specified in the same format that \fBrndc signing \-list\fR uses to display it), or all keys\&. In either case, only completed keys are removed; any record indicating that a key has not yet finished signing the zone will be retained\&. .sp -\fBrndc signing \-nsec3param\fR + \fBrndc signing \-nsec3param\fR sets the NSEC3 parameters for a zone\&. This is the only supported mechanism for using NSEC3 with \fBinline\-signing\fR zones\&. Parameters are specified in the same format as an NSEC3PARAM resource record: hash algorithm, flags, iterations, and salt, in that order\&. .sp -Currently, the only defined value for hash algorithm is + Currently, the only defined value for hash algorithm is 1, representing SHA\-1\&. The \fBflags\fR may be set to @@ -507,113 +518,113 @@ auto, which causes \fBnamed\fR to generate a random 64\-bit salt\&. .sp -So, for example, to create an NSEC3 chain using the SHA\-1 hash algorithm, no opt\-out flag, 10 iterations, and a salt value of "FFFF", use: + So, for example, to create an NSEC3 chain using the SHA\-1 hash algorithm, no opt\-out flag, 10 iterations, and a salt value of "FFFF", use: \fBrndc signing \-nsec3param 1 0 10 FFFF \fR\fB\fIzone\fR\fR\&. To set the opt\-out flag, 15 iterations, and no salt, use: \fBrndc signing \-nsec3param 1 1 15 \- \fR\fB\fIzone\fR\fR\&. .sp -\fBrndc signing \-nsec3param none\fR + \fBrndc signing \-nsec3param none\fR removes an existing NSEC3 chain and replaces it with NSEC\&. .sp -\fBrndc signing \-serial value\fR + \fBrndc signing \-serial value\fR sets the serial number of the zone to value\&. If the value would cause the serial number to go backwards it will be rejected\&. The primary use is to set the serial on inline signed zones\&. -.RE -.PP + .RE + .PP \fBstats\fR .RS 4 -Write server statistics to the statistics file\&. (See the + Write server statistics to the statistics file\&. (See the \fBstatistics\-file\fR option in the BIND 9 Administrator Reference Manual\&.) -.RE -.PP + .RE + .PP \fBstatus\fR .RS 4 -Display status of the server\&. Note that the number of zones includes the internal + Display status of the server\&. Note that the number of zones includes the internal \fBbind/CH\fR zone and the default \fB\&./IN\fR hint zone if there is not an explicit root zone configured\&. -.RE -.PP + .RE + .PP \fBstop \fR\fB[\-p]\fR .RS 4 -Stop the server, making sure any recent changes made through dynamic update or IXFR are first saved to the master files of the updated zones\&. If + Stop the server, making sure any recent changes made through dynamic update or IXFR are first saved to the master files of the updated zones\&. If \fB\-p\fR is specified \fBnamed\fR\*(Aqs process id is returned\&. This allows an external process to determine when \fBnamed\fR had completed stopping\&. .sp -See also + See also \fBrndc halt\fR\&. -.RE -.PP + .RE + .PP \fBsync \fR\fB[\-clean]\fR\fB \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR .RS 4 -Sync changes in the journal file for a dynamic zone to the master file\&. If the "\-clean" option is specified, the journal file is also removed\&. If no zone is specified, then all zones are synced\&. -.RE -.PP + Sync changes in the journal file for a dynamic zone to the master file\&. If the "\-clean" option is specified, the journal file is also removed\&. If no zone is specified, then all zones are synced\&. + .RE + .PP \fBthaw \fR\fB[\fIzone\fR [\fIclass\fR [\fIview\fR]]]\fR .RS 4 -Enable updates to a frozen dynamic zone\&. If no zone is specified, then all frozen zones are enabled\&. This causes the server to reload the zone from disk, and re\-enables dynamic updates after the load has completed\&. After a zone is thawed, dynamic updates will no longer be refused\&. If the zone has changed and the + Enable updates to a frozen dynamic zone\&. If no zone is specified, then all frozen zones are enabled\&. This causes the server to reload the zone from disk, and re\-enables dynamic updates after the load has completed\&. After a zone is thawed, dynamic updates will no longer be refused\&. If the zone has changed and the \fBixfr\-from\-differences\fR option is in use, then the journal file will be updated to reflect changes in the zone\&. Otherwise, if the zone has changed, any existing journal file will be removed\&. .sp -See also + See also \fBrndc freeze\fR\&. -.RE -.PP + .RE + .PP \fBtrace\fR .RS 4 -Increment the servers debugging level by one\&. -.RE -.PP + Increment the servers debugging level by one\&. + .RE + .PP \fBtrace \fR\fB\fIlevel\fR\fR .RS 4 -Sets the server\*(Aqs debugging level to an explicit value\&. + Sets the server\*(Aqs debugging level to an explicit value\&. .sp -See also + See also \fBrndc notrace\fR\&. -.RE -.PP + .RE + .PP \fBtsig\-delete\fR \fIkeyname\fR [\fIview\fR] .RS 4 -Delete a given TKEY\-negotiated key from the server\&. (This does not apply to statically configured TSIG keys\&.) -.RE -.PP + Delete a given TKEY\-negotiated key from the server\&. (This does not apply to statically configured TSIG keys\&.) + .RE + .PP \fBtsig\-list\fR .RS 4 -List the names of all TSIG keys currently configured for use by + List the names of all TSIG keys currently configured for use by \fBnamed\fR in each view\&. The list includes both statically configured keys and dynamic TKEY\-negotiated keys\&. -.RE -.PP + .RE + .PP \fBvalidation ( on | off | status ) \fR\fB[\fIview \&.\&.\&.\fR]\fR\fB \fR .RS 4 -Enable, disable, or check the current status of DNSSEC validation\&. Note + Enable, disable, or check the current status of DNSSEC validation\&. Note \fBdnssec\-enable\fR also needs to be set to \fByes\fR or \fBauto\fR to be effective\&. It defaults to enabled\&. -.RE -.PP + .RE + .PP \fBzonestatus \fR\fB\fIzone\fR\fR\fB \fR\fB[\fIclass\fR [\fIview\fR]]\fR .RS 4 -Displays the current status of the given zone, including the master file name and any include files from which it was loaded, when it was most recently loaded, the current serial number, the number of nodes, whether the zone supports dynamic updates, whether the zone is DNSSEC signed, whether it uses automatic DNSSEC key management or inline signing, and the scheduled refresh or expiry times for the zone\&. + Displays the current status of the given zone, including the master file name and any include files from which it was loaded, when it was most recently loaded, the current serial number, the number of nodes, whether the zone supports dynamic updates, whether the zone is DNSSEC signed, whether it uses automatic DNSSEC key management or inline signing, and the scheduled refresh or expiry times for the zone\&. .sp -See also + See also \fBrndc showzone\fR\&. -.RE -.SH "LIMITATIONS" -.PP + .RE + .SH "LIMITATIONS" + .PP There is currently no way to provide the shared secret for a \fBkey_id\fR without using the configuration file\&. -.PP + .PP Several error messages could be clearer\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBrndc.conf\fR(5), \fBrndc-confgen\fR(8), \fBnamed\fR(8), diff --git a/bin/rndc/rndc.conf.5 b/bin/rndc/rndc.conf.5 index c60473e862..78fbe0c65d 100644 --- a/bin/rndc/rndc.conf.5 +++ b/bin/rndc/rndc.conf.5 @@ -9,7 +9,7 @@ '\" t .\" Title: rndc.conf .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2013-03-14 .\" Manual: BIND9 .\" Source: ISC @@ -35,28 +35,28 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" rndc.conf \- rndc configuration file -.SH "SYNOPSIS" -.HP \w'\fBrndc\&.conf\fR\ 'u -\fBrndc\&.conf\fR -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBrndc\&.conf\fR\ 'u + \fBrndc\&.conf\fR + .SH "DESCRIPTION" + .PP rndc\&.conf is the configuration file for \fBrndc\fR, the BIND 9 name server control utility\&. This file has a similar structure and syntax to named\&.conf\&. Statements are enclosed in braces and terminated with a semi\-colon\&. Clauses in the statements are also semi\-colon terminated\&. The usual comment styles are supported: -.PP + .PP C style: /* */ -.PP + .PP C++ style: // to end of line -.PP + .PP Unix style: # to end of line -.PP + .PP rndc\&.conf is much simpler than named\&.conf\&. The file uses three statements: an options statement, a server statement and a key statement\&. -.PP + .PP The \fBoptions\fR statement contains five clauses\&. The @@ -85,7 +85,7 @@ statement, this default port will be used to connect\&. The and \fBdefault\-source\-address\-v6\fR clauses which can be used to set the IPv4 and IPv6 source addresses respectively\&. -.PP + .PP After the \fBserver\fR keyword, the server statement includes a string which is the hostname or address for a name server\&. The statement has three possible clauses: @@ -99,7 +99,7 @@ clause is supplied these addresses will be used instead of the server name\&. Ea or \fBsource\-address\-v6\fR of supplied then these will be used to specify the IPv4 and IPv6 source addresses respectively\&. -.PP + .PP The \fBkey\fR statement begins with an identifying string, the name of the key\&. The statement has two clauses\&. @@ -107,7 +107,7 @@ statement begins with an identifying string, the name of the key\&. The statemen identifies the authentication algorithm for \fBrndc\fR to use; currently only HMAC\-MD5 (for compatibility), HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256 (default), HMAC\-SHA384 and HMAC\-SHA512 are supported\&. This is followed by a secret clause which contains the base\-64 encoding of the algorithm\*(Aqs authentication key\&. The base\-64 string is enclosed in double quotes\&. -.PP + .PP There are two common ways to generate the base\-64 string for the secret\&. The BIND 9 program \fBrndc\-confgen\fR can be used to generate a random key, or the @@ -116,8 +116,8 @@ program, also known as \fBmimencode\fR, can be used to generate a base\-64 string from known input\&. \fBmmencode\fR does not ship with BIND 9 but is available on many systems\&. See the EXAMPLE section for sample command lines for each\&. -.SH "EXAMPLE" -.PP + .SH "EXAMPLE" + .PP .if n \{\ .RS 4 .\} @@ -130,7 +130,8 @@ does not ship with BIND 9 but is available on many systems\&. See the EXAMPLE se .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -142,7 +143,8 @@ does not ship with BIND 9 but is available on many systems\&. See the EXAMPLE se .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -155,7 +157,8 @@ does not ship with BIND 9 but is available on many systems\&. See the EXAMPLE se .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -168,7 +171,8 @@ does not ship with BIND 9 but is available on many systems\&. See the EXAMPLE se .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -181,22 +185,23 @@ does not ship with BIND 9 but is available on many systems\&. See the EXAMPLE se .if n \{\ .RE .\} -.PP +.sp + .PP In the above example, \fBrndc\fR will by default use the server at localhost (127\&.0\&.0\&.1) and the key called samplekey\&. Commands to the localhost server will use the samplekey key, which must also be defined in the server\*(Aqs configuration file with the same name and secret\&. The key statement indicates that samplekey uses the HMAC\-SHA256 algorithm and its secret clause contains the base\-64 encoding of the HMAC\-SHA256 secret enclosed in double quotes\&. -.PP + .PP If \fBrndc \-s testserver\fR is used then \fBrndc\fR will connect to server on localhost port 5353 using the key testkey\&. -.PP + .PP To generate a random secret with \fBrndc\-confgen\fR: -.PP + .PP \fBrndc\-confgen\fR -.PP + .PP A complete rndc\&.conf file, including the randomly generated key, will be written to the standard output\&. Commented\-out @@ -206,21 +211,21 @@ and statements for named\&.conf are also printed\&. -.PP + .PP To generate a base\-64 secret with \fBmmencode\fR: -.PP + .PP \fBecho "known plaintext for a secret" | mmencode\fR -.SH "NAME SERVER CONFIGURATION" -.PP + .SH "NAME SERVER CONFIGURATION" + .PP The name server must be configured to accept rndc connections and to recognize the key specified in the rndc\&.conf file, using the controls statement in named\&.conf\&. See the sections on the \fBcontrols\fR statement in the BIND 9 Administrator Reference Manual for details\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBrndc\fR(8), \fBrndc-confgen\fR(8), \fBmmencode\fR(1), diff --git a/bin/rndc/rndc.conf.html b/bin/rndc/rndc.conf.html index 7dee2d685b..0961ea7592 100644 --- a/bin/rndc/rndc.conf.html +++ b/bin/rndc/rndc.conf.html @@ -10,7 +10,7 @@ rndc.conf - +
diff --git a/bin/rndc/rndc.html b/bin/rndc/rndc.html index f42fb2cd92..bdb19fe659 100644 --- a/bin/rndc/rndc.html +++ b/bin/rndc/rndc.html @@ -10,7 +10,7 @@ rndc - +
diff --git a/bin/tools/arpaname.1 b/bin/tools/arpaname.1 index 96425f0f7d..0b9c2d335b 100644 --- a/bin/tools/arpaname.1 +++ b/bin/tools/arpaname.1 @@ -9,7 +9,7 @@ '\" t .\" Title: arpaname .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2009-03-03 .\" Manual: BIND9 .\" Source: ISC @@ -35,17 +35,18 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" arpaname \- translate IP addresses to the corresponding ARPA names -.SH "SYNOPSIS" -.HP \w'\fBarpaname\fR\ 'u -\fBarpaname\fR {\fIipaddress\ \fR...} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBarpaname\fR\ 'u + \fBarpaname\fR + {\fIipaddress\ \fR...} + .SH "DESCRIPTION" + .PP \fBarpaname\fR translates IP addresses (IPv4 and IPv6) to the corresponding IN\-ADDR\&.ARPA or IP6\&.ARPA names\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP BIND 9 Administrator Reference Manual\&. .SH "AUTHOR" .PP diff --git a/bin/tools/arpaname.html b/bin/tools/arpaname.html index 769a31f45c..4b21356622 100644 --- a/bin/tools/arpaname.html +++ b/bin/tools/arpaname.html @@ -10,7 +10,7 @@ arpaname - +
diff --git a/bin/tools/dnstap-read.1 b/bin/tools/dnstap-read.1 index 06ff6009cc..0ecb5849c5 100644 --- a/bin/tools/dnstap-read.1 +++ b/bin/tools/dnstap-read.1 @@ -9,7 +9,7 @@ '\" t .\" Title: dnstap-read .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2015-09-13 .\" Manual: BIND9 .\" Source: ISC @@ -35,13 +35,17 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" dnstap-read \- print dnstap data in human\-readable form -.SH "SYNOPSIS" -.HP \w'\fBdnstap\-read\fR\ 'u -\fBdnstap\-read\fR [\fB\-m\fR] [\fB\-p\fR] [\fB\-y\fR] {\fIfile\fR} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBdnstap\-read\fR\ 'u + \fBdnstap\-read\fR + [\fB\-m\fR] + [\fB\-p\fR] + [\fB\-y\fR] + {\fIfile\fR} + .SH "DESCRIPTION" + .PP \fBdnstap\-read\fR reads \fBdnstap\fR @@ -50,30 +54,30 @@ data from a specified file and prints it in a human\-readable format\&. By defau data is printed in a short summary format, but if the \fB\-y\fR option is specified, then a longer and more detailed YAML format is used instead\&. -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-m .RS 4 -Trace memory allocations; used for debugging memory leaks\&. -.RE -.PP + Trace memory allocations; used for debugging memory leaks\&. + .RE + .PP \-p .RS 4 -After printing the + After printing the \fBdnstap\fR data, print the text form of the DNS message that was encapsulated in the \fBdnstap\fR frame\&. -.RE -.PP + .RE + .PP \-y .RS 4 -Print + Print \fBdnstap\fR data in a detailed YAML format\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP \fBnamed\fR(8), \fBrndc\fR(8), BIND 9 Administrator Reference Manual\&. diff --git a/bin/tools/dnstap-read.html b/bin/tools/dnstap-read.html index 9a63ed5512..4cb1d71c48 100644 --- a/bin/tools/dnstap-read.html +++ b/bin/tools/dnstap-read.html @@ -10,7 +10,7 @@ dnstap-read - +
diff --git a/bin/tools/genrandom.8 b/bin/tools/genrandom.8 index ef7d5c41f0..f7a4cb3bf2 100644 --- a/bin/tools/genrandom.8 +++ b/bin/tools/genrandom.8 @@ -9,7 +9,7 @@ '\" t .\" Title: genrandom .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2011-08-08 .\" Manual: BIND9 .\" Source: ISC @@ -35,37 +35,40 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" genrandom \- generate a file containing random data -.SH "SYNOPSIS" -.HP \w'\fBgenrandom\fR\ 'u -\fBgenrandom\fR [\fB\-n\ \fR\fB\fInumber\fR\fR] {\fIsize\fR} {\fIfilename\fR} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBgenrandom\fR\ 'u + \fBgenrandom\fR + [\fB\-n\ \fR\fB\fInumber\fR\fR] + {\fIsize\fR} + {\fIfilename\fR} + .SH "DESCRIPTION" + .PP \fBgenrandom\fR generates a file or a set of files containing a specified quantity of pseudo\-random data, which can be used as a source of entropy for other commands on systems with no random device\&. -.SH "ARGUMENTS" -.PP + .SH "ARGUMENTS" + .PP \-n \fInumber\fR .RS 4 -In place of generating one file, generates + In place of generating one file, generates \fBnumber\fR (from 2 to 9) files, appending \fBnumber\fR to the name\&. -.RE -.PP + .RE + .PP size .RS 4 -The size of the file, in kilobytes, to generate\&. -.RE -.PP + The size of the file, in kilobytes, to generate\&. + .RE + .PP filename .RS 4 -The file name into which random data should be written\&. -.RE -.SH "SEE ALSO" -.PP + The file name into which random data should be written\&. + .RE + .SH "SEE ALSO" + .PP \fBrand\fR(3), \fBarc4random\fR(3) .SH "AUTHOR" diff --git a/bin/tools/genrandom.html b/bin/tools/genrandom.html index 94e9f9531d..5976ce5f63 100644 --- a/bin/tools/genrandom.html +++ b/bin/tools/genrandom.html @@ -10,7 +10,7 @@ genrandom - +
diff --git a/bin/tools/isc-hmac-fixup.8 b/bin/tools/isc-hmac-fixup.8 index 38de91e4e0..5e79d9e056 100644 --- a/bin/tools/isc-hmac-fixup.8 +++ b/bin/tools/isc-hmac-fixup.8 @@ -9,7 +9,7 @@ '\" t .\" Title: isc-hmac-fixup .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2013-04-28 .\" Manual: BIND9 .\" Source: ISC @@ -35,29 +35,31 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" isc-hmac-fixup \- fixes HMAC keys generated by older versions of BIND -.SH "SYNOPSIS" -.HP \w'\fBisc\-hmac\-fixup\fR\ 'u -\fBisc\-hmac\-fixup\fR {\fIalgorithm\fR} {\fIsecret\fR} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBisc\-hmac\-fixup\fR\ 'u + \fBisc\-hmac\-fixup\fR + {\fIalgorithm\fR} + {\fIsecret\fR} + .SH "DESCRIPTION" + .PP Versions of BIND 9 up to and including BIND 9\&.6 had a bug causing HMAC\-SHA* TSIG keys which were longer than the digest length of the hash algorithm (i\&.e\&., SHA1 keys longer than 160 bits, SHA256 keys longer than 256 bits, etc) to be used incorrectly, generating a message authentication code that was incompatible with other DNS implementations\&. -.PP + .PP This bug was fixed in BIND 9\&.7\&. However, the fix may cause incompatibility between older and newer versions of BIND, when using long keys\&. \fBisc\-hmac\-fixup\fR modifies those keys to restore compatibility\&. -.PP + .PP To modify a key, run \fBisc\-hmac\-fixup\fR and specify the key\*(Aqs algorithm and secret on the command line\&. If the secret is longer than the digest length of the algorithm (64 bytes for SHA1 through SHA256, or 128 bytes for SHA384 and SHA512), then a new secret will be generated consisting of a hash digest of the old secret\&. (If the secret did not require conversion, then it will be printed without modification\&.) -.SH "SECURITY CONSIDERATIONS" -.PP + .SH "SECURITY CONSIDERATIONS" + .PP Secrets that have been converted by \fBisc\-hmac\-fixup\fR are shortened, but as this is how the HMAC protocol works in operation anyway, it does not affect security\&. RFC 2104 notes, "Keys longer than [the digest length] are acceptable but the extra length would not significantly increase the function strength\&." -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP BIND 9 Administrator Reference Manual, RFC 2104\&. .SH "AUTHOR" diff --git a/bin/tools/isc-hmac-fixup.html b/bin/tools/isc-hmac-fixup.html index f821ef9fd0..951fbc52fa 100644 --- a/bin/tools/isc-hmac-fixup.html +++ b/bin/tools/isc-hmac-fixup.html @@ -10,7 +10,7 @@ isc-hmac-fixup - +
diff --git a/bin/tools/mdig.1 b/bin/tools/mdig.1 index 8b8e1876b4..9dfc35e79d 100644 --- a/bin/tools/mdig.1 +++ b/bin/tools/mdig.1 @@ -9,7 +9,7 @@ '\" t .\" Title: mdig .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2015-01-05 .\" Manual: BIND9 .\" Source: ISC @@ -35,26 +35,46 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" mdig \- DNS pipelined lookup utility -.SH "SYNOPSIS" -.HP \w'\fBmdig\fR\ 'u -\fBmdig\fR {@server} [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-h\fR] [\fB\-v\fR] [[\fB\-4\fR] | [\fB\-6\fR]] [\fB\-m\fR] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-i\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [plusopt...] -.HP \w'\fBmdig\fR\ 'u -\fBmdig\fR {\-h} -.HP \w'\fBmdig\fR\ 'u -\fBmdig\fR [@server] {global\-opt...} {{local\-opt...}\ {query}...} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBmdig\fR\ 'u + \fBmdig\fR + {@server} + [\fB\-f\ \fR\fB\fIfilename\fR\fR] + [\fB\-h\fR] + [\fB\-v\fR] + [ + | [\fB\-4\fR] + | [\fB\-6\fR] + ] + [\fB\-m\fR] + [\fB\-b\ \fR\fB\fIaddress\fR\fR] + [\fB\-p\ \fR\fB\fIport#\fR\fR] + [\fB\-c\ \fR\fB\fIclass\fR\fR] + [\fB\-t\ \fR\fB\fItype\fR\fR] + [\fB\-i\fR] + [\fB\-x\ \fR\fB\fIaddr\fR\fR] + [plusopt...] + .HP \w'\fBmdig\fR\ 'u + \fBmdig\fR + {\-h} + .HP \w'\fBmdig\fR\ 'u + \fBmdig\fR + [@server] + {global\-opt...} + {{local\-opt...}\ {query}...} + .SH "DESCRIPTION" + .PP \fBmdig\fR is a multiple/pipelined query version of \fBdig\fR: instead of waiting for a response after sending each query, it begins by sending all queries\&. Responses are displayed in the order in which they are received, not in the order the corresponding queries were sent\&. -.PP + .PP \fBmdig\fR options are a subset of the \fBdig\fR options, and are divided into "anywhere options" which can occur anywhere, "global options" which must occur before the query name (or they are ignored with a warning), and "local options" which apply to the next query on the command line\&. -.PP + .PP The {@server} option is a mandatory global option\&. It is the name or IP address of the name server to query\&. (Unlike @@ -64,16 +84,16 @@ option is a mandatory global option\&. It is the name or IP address of the name argument is a hostname, \fBmdig\fR resolves that name before querying the name server\&. -.PP + .PP \fBmdig\fR provides a number of query options which affect the way in which lookups are made and the results displayed\&. Some of these set or reset flag bits in the query header, some determine which sections of the answer get printed, and others determine the timeout and retry strategies\&. -.PP + .PP Each query option is identified by a keyword preceded by a plus sign (+)\&. Some keywords set or reset an option\&. These may be preceded by the string no to negate the meaning of that keyword\&. Other keywords assign values to options like the timeout interval\&. They have the form \fB+keyword=value\fR\&. -.SH "ANYWHERE OPTIONS" -.PP + .SH "ANYWHERE OPTIONS" + .PP The \fB\-f\fR option makes @@ -82,41 +102,41 @@ operate in batch mode by reading a list of lookup requests to process from the f \fIfilename\fR\&. The file contains a number of queries, one per line\&. Each entry in the file should be organized in the same way they would be presented as queries to \fBmdig\fR using the command\-line interface\&. -.PP + .PP The \fB\-h\fR causes \fBmdig\fR to print the detailed help with the full list of options and exit\&. -.PP + .PP The \fB\-v\fR causes \fBmdig\fR to print the version number and exit\&. -.SH "GLOBAL OPTIONS" -.PP + .SH "GLOBAL OPTIONS" + .PP The \fB\-4\fR option forces \fBmdig\fR to only use IPv4 query transport\&. -.PP + .PP The \fB\-6\fR option forces \fBmdig\fR to only use IPv6 query transport\&. -.PP + .PP The \fB\-b\fR option sets the source IP address of the query to \fIaddress\fR\&. This must be a valid address on one of the host\*(Aqs network interfaces or "0\&.0\&.0\&.0" or "::"\&. An optional port may be specified by appending "#" -.PP + .PP The \fB\-m\fR option enables memory usage debugging\&. -.PP + .PP The \fB\-p\fR option is used when a non\-standard port number is to be queried\&. @@ -124,84 +144,89 @@ option is used when a non\-standard port number is to be queried\&. is the port number that \fBmdig\fR will send its queries instead of the standard DNS port number 53\&. This option would be used to test a name server that has been configured to listen for queries on a non\-standard port number\&. -.PP + .PP The global query options are: -.PP + .PP \fB+[no]additional\fR .RS 4 -Display [do not display] the additional section of a reply\&. The default is to display it\&. -.RE -.PP + Display [do not display] the additional section of a reply\&. The default is to display it\&. + .RE + .PP \fB+[no]all\fR .RS 4 -Set or clear all display flags\&. -.RE -.PP + Set or clear all display flags\&. + .RE + .PP \fB+[no]answer\fR .RS 4 -Display [do not display] the answer section of a reply\&. The default is to display it\&. -.RE -.PP + Display [do not display] the answer section of a reply\&. The default is to display it\&. + .RE + .PP \fB+[no]authority\fR .RS 4 -Display [do not display] the authority section of a reply\&. The default is to display it\&. -.RE -.PP + Display [do not display] the authority section of a reply\&. The default is to display it\&. + .RE + .PP \fB+[no]besteffort\fR .RS 4 -Attempt to display the contents of messages which are malformed\&. The default is to not display malformed answers\&. -.RE -.PP + Attempt to display the contents of messages which are malformed\&. The default is to not display malformed answers\&. + .RE + .PP +\fB+burst\fR +.RS 4 + This option delays queries until the start of the next second\&. + .RE + .PP \fB+[no]cl\fR .RS 4 -Display [do not display] the CLASS when printing the record\&. -.RE -.PP + Display [do not display] the CLASS when printing the record\&. + .RE + .PP \fB+[no]comments\fR .RS 4 -Toggle the display of comment lines in the output\&. The default is to print comments\&. -.RE -.PP + Toggle the display of comment lines in the output\&. The default is to print comments\&. + .RE + .PP \fB+[no]continue\fR .RS 4 -Continue on errors (e\&.g\&. timeouts)\&. -.RE -.PP + Continue on errors (e\&.g\&. timeouts)\&. + .RE + .PP \fB+[no]crypto\fR .RS 4 -Toggle the display of cryptographic fields in DNSSEC records\&. The contents of these field are unnecessary to debug most DNSSEC validation failures and removing them makes it easier to see the common failures\&. The default is to display the fields\&. When omitted they are replaced by the string "[omitted]" or in the DNSKEY case the key id is displayed as the replacement, e\&.g\&. "[ key id = value ]"\&. -.RE -.PP + Toggle the display of cryptographic fields in DNSSEC records\&. The contents of these field are unnecessary to debug most DNSSEC validation failures and removing them makes it easier to see the common failures\&. The default is to display the fields\&. When omitted they are replaced by the string "[omitted]" or in the DNSKEY case the key id is displayed as the replacement, e\&.g\&. "[ key id = value ]"\&. + .RE + .PP \fB+dscp[=value]\fR .RS 4 -Set the DSCP code point to be used when sending the query\&. Valid DSCP code points are in the range [0\&.\&.63]\&. By default no code point is explicitly set\&. -.RE -.PP + Set the DSCP code point to be used when sending the query\&. Valid DSCP code points are in the range [0\&.\&.63]\&. By default no code point is explicitly set\&. + .RE + .PP \fB+[no]multiline\fR .RS 4 -Print records like the SOA records in a verbose multi\-line format with human\-readable comments\&. The default is to print each record on a single line, to facilitate machine parsing of the + Print records like the SOA records in a verbose multi\-line format with human\-readable comments\&. The default is to print each record on a single line, to facilitate machine parsing of the \fBmdig\fR output\&. -.RE -.PP + .RE + .PP \fB+[no]question\fR .RS 4 -Print [do not print] the question section of a query when an answer is returned\&. The default is to print the question section as a comment\&. -.RE -.PP + Print [do not print] the question section of a query when an answer is returned\&. The default is to print the question section as a comment\&. + .RE + .PP \fB+[no]rrcomments\fR .RS 4 -Toggle the display of per\-record comments in the output (for example, human\-readable key information about DNSKEY records)\&. The default is not to print record comments unless multiline mode is active\&. -.RE -.PP + Toggle the display of per\-record comments in the output (for example, human\-readable key information about DNSKEY records)\&. The default is not to print record comments unless multiline mode is active\&. + .RE + .PP \fB+[no]short\fR .RS 4 -Provide a terse answer\&. The default is to print the answer in a verbose form\&. -.RE -.PP + Provide a terse answer\&. The default is to print the answer in a verbose form\&. + .RE + .PP \fB+split=W\fR .RS 4 -Split long hex\- or base64\-formatted fields in resource records into chunks of + Split long hex\- or base64\-formatted fields in resource records into chunks of \fIW\fR characters (where \fIW\fR @@ -210,47 +235,47 @@ is rounded up to the nearest multiple of 4)\&. or \fI+split=0\fR causes fields not to be split at all\&. The default is 56 characters, or 44 characters when multiline mode is active\&. -.RE -.PP + .RE + .PP \fB+[no]tcp\fR .RS 4 -Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP\&. -.RE -.PP + Use [do not use] TCP when querying name servers\&. The default behavior is to use UDP\&. + .RE + .PP \fB+[no]ttlid\fR .RS 4 -Display [do not display] the TTL when printing the record\&. -.RE -.PP + Display [do not display] the TTL when printing the record\&. + .RE + .PP \fB+[no]ttlunits\fR .RS 4 -Display [do not display] the TTL in friendly human\-readable time units of "s", "m", "h", "d", and "w", representing seconds, minutes, hours, days and weeks\&. Implies +ttlid\&. -.RE -.PP + Display [do not display] the TTL in friendly human\-readable time units of "s", "m", "h", "d", and "w", representing seconds, minutes, hours, days and weeks\&. Implies +ttlid\&. + .RE + .PP \fB+[no]vc\fR .RS 4 -Use [do not use] TCP when querying name servers\&. This alternate syntax to + Use [do not use] TCP when querying name servers\&. This alternate syntax to \fI+[no]tcp\fR is provided for backwards compatibility\&. The "vc" stands for "virtual circuit"\&. -.RE -.SH "LOCAL OPTIONS" -.PP + .RE + .SH "LOCAL OPTIONS" + .PP The \fB\-c\fR option sets the query class to \fIclass\fR\&. It can be any valid query class which is supported in BIND 9\&. The default query class is "IN"\&. -.PP + .PP The \fB\-t\fR option sets the query type to \fItype\fR\&. It can be any valid query type which is supported in BIND 9\&. The default query type is "A", unless the \fB\-x\fR option is supplied to indicate a reverse lookup with the "PTR" query type\&. -.PP + .PP The \fB\-i\fR option sets the reverse domain for IPv6 addresses to IP6\&.INT\&. -.PP + .PP Reverse lookups \(em mapping addresses to names \(em are simplified by the \fB\-x\fR option\&. @@ -262,141 +287,141 @@ automatically performs a lookup for a query name like and sets the query type and class to PTR and IN respectively\&. By default, IPv6 addresses are looked up using nibble format under the IP6\&.ARPA domain\&. To use the older RFC1886 method using the IP6\&.INT domain specify the \fB\-i\fR option\&. -.PP + .PP The local query options are: -.PP + .PP \fB+[no]aaflag\fR .RS 4 -A synonym for + A synonym for \fI+[no]aaonly\fR\&. -.RE -.PP + .RE + .PP \fB+[no]aaonly\fR .RS 4 -Sets the "aa" flag in the query\&. -.RE -.PP + Sets the "aa" flag in the query\&. + .RE + .PP \fB+[no]adflag\fR .RS 4 -Set [do not set] the AD (authentic data) bit in the query\&. This requests the server to return whether all of the answer and authority sections have all been validated as secure according to the security policy of the server\&. AD=1 indicates that all records have been validated as secure and the answer is not from a OPT\-OUT range\&. AD=0 indicate that some part of the answer was insecure or not validated\&. This bit is set by default\&. -.RE -.PP + Set [do not set] the AD (authentic data) bit in the query\&. This requests the server to return whether all of the answer and authority sections have all been validated as secure according to the security policy of the server\&. AD=1 indicates that all records have been validated as secure and the answer is not from a OPT\-OUT range\&. AD=0 indicate that some part of the answer was insecure or not validated\&. This bit is set by default\&. + .RE + .PP \fB+bufsize=B\fR .RS 4 -Set the UDP message buffer size advertised using EDNS0 to + Set the UDP message buffer size advertised using EDNS0 to \fIB\fR bytes\&. The maximum and minimum sizes of this buffer are 65535 and 0 respectively\&. Values outside this range are rounded up or down appropriately\&. Values other than zero will cause a EDNS query to be sent\&. -.RE -.PP + .RE + .PP \fB+[no]cdflag\fR .RS 4 -Set [do not set] the CD (checking disabled) bit in the query\&. This requests the server to not perform DNSSEC validation of responses\&. -.RE -.PP + Set [do not set] the CD (checking disabled) bit in the query\&. This requests the server to not perform DNSSEC validation of responses\&. + .RE + .PP \fB+[no]cookie\fR\fB[=####]\fR .RS 4 -Send a COOKIE EDNS option, with optional value\&. Replaying a COOKIE from a previous response will allow the server to identify a previous client\&. The default is + Send a COOKIE EDNS option, with optional value\&. Replaying a COOKIE from a previous response will allow the server to identify a previous client\&. The default is \fB+nocookie\fR\&. -.RE -.PP + .RE + .PP \fB+[no]dnssec\fR .RS 4 -Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query\&. -.RE -.PP + Requests DNSSEC records be sent by setting the DNSSEC OK bit (DO) in the OPT record in the additional section of the query\&. + .RE + .PP \fB+[no]edns[=#]\fR .RS 4 -Specify the EDNS version to query with\&. Valid values are 0 to 255\&. Setting the EDNS version will cause a EDNS query to be sent\&. + Specify the EDNS version to query with\&. Valid values are 0 to 255\&. Setting the EDNS version will cause a EDNS query to be sent\&. \fB+noedns\fR clears the remembered EDNS version\&. EDNS is set to 0 by default\&. -.RE -.PP + .RE + .PP \fB+[no]ednsflags[=#]\fR .RS 4 -Set the must\-be\-zero EDNS flags bits (Z bits) to the specified value\&. Decimal, hex and octal encodings are accepted\&. Setting a named flag (e\&.g\&. DO) will silently be ignored\&. By default, no Z bits are set\&. -.RE -.PP + Set the must\-be\-zero EDNS flags bits (Z bits) to the specified value\&. Decimal, hex and octal encodings are accepted\&. Setting a named flag (e\&.g\&. DO) will silently be ignored\&. By default, no Z bits are set\&. + .RE + .PP \fB+[no]ednsopt[=code[:value]]\fR .RS 4 -Specify EDNS option with code point + Specify EDNS option with code point \fBcode\fR and optionally payload of \fBvalue\fR as a hexadecimal string\&. \fB+noednsopt\fR clears the EDNS options to be sent\&. -.RE -.PP + .RE + .PP \fB+[no]expire\fR .RS 4 -Send an EDNS Expire option\&. -.RE -.PP + Send an EDNS Expire option\&. + .RE + .PP \fB+[no]nsid\fR .RS 4 -Include an EDNS name server ID request when sending a query\&. -.RE -.PP + Include an EDNS name server ID request when sending a query\&. + .RE + .PP \fB+[no]recurse\fR .RS 4 -Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means + Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means \fBmdig\fR normally sends recursive queries\&. -.RE -.PP + .RE + .PP \fB+retry=T\fR .RS 4 -Sets the number of times to retry UDP queries to server to + Sets the number of times to retry UDP queries to server to \fIT\fR instead of the default, 2\&. Unlike \fI+tries\fR, this does not include the initial query\&. -.RE -.PP + .RE + .PP \fB+[no]subnet=addr[/prefix\-length]\fR .RS 4 -Send (don\*(Aqt send) an EDNS Client Subnet option with the specified IP address or network prefix\&. + Send (don\*(Aqt send) an EDNS Client Subnet option with the specified IP address or network prefix\&. .sp -\fBmdig +subnet=0\&.0\&.0\&.0/0\fR, or simply + \fBmdig +subnet=0\&.0\&.0\&.0/0\fR, or simply \fBmdig +subnet=0\fR for short, sends an EDNS client\-subnet option with an empty address and a source prefix\-length of zero, which signals a resolver that the client\*(Aqs address information must \fInot\fR be used when resolving this query\&. -.RE -.PP + .RE + .PP \fB+timeout=T\fR .RS 4 -Sets the timeout for a query to + Sets the timeout for a query to \fIT\fR seconds\&. The default timeout is 5 seconds for UDP transport and 10 for TCP\&. An attempt to set \fIT\fR to less than 1 will result in a query timeout of 1 second being applied\&. -.RE -.PP + .RE + .PP \fB+tries=T\fR .RS 4 -Sets the number of times to try UDP queries to server to + Sets the number of times to try UDP queries to server to \fIT\fR instead of the default, 3\&. If \fIT\fR is less than or equal to zero, the number of tries is silently rounded up to 1\&. -.RE -.PP + .RE + .PP \fB+udptimeout=T\fR .RS 4 -Sets the timeout between UDP query retries\&. -.RE -.PP + Sets the timeout between UDP query retries\&. + .RE + .PP \fB+[no]unknownformat\fR .RS 4 -Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&. -.RE -.PP + Print all RDATA in unknown RR type presentation format (RFC 3597)\&. The default is to print RDATA for known types in the type\*(Aqs presentation format\&. + .RE + .PP \fB+[no]zflag\fR .RS 4 -Set [do not set] the last unassigned DNS header flag in a DNS query\&. This flag is off by default\&. -.RE -.SH "SEE ALSO" -.PP + Set [do not set] the last unassigned DNS header flag in a DNS query\&. This flag is off by default\&. + .RE + .SH "SEE ALSO" + .PP \fBdig\fR(1), RFC1035\&. .SH "AUTHOR" diff --git a/bin/tools/mdig.html b/bin/tools/mdig.html index a3834bc8b6..f52599be0b 100644 --- a/bin/tools/mdig.html +++ b/bin/tools/mdig.html @@ -10,7 +10,7 @@ mdig - +
@@ -214,6 +214,10 @@ answers.

+
+burst
+
+ This option delays queries until the start of the next second. +
+[no]cl

diff --git a/bin/tools/named-journalprint.8 b/bin/tools/named-journalprint.8 index a53132d1f3..5c64db8a88 100644 --- a/bin/tools/named-journalprint.8 +++ b/bin/tools/named-journalprint.8 @@ -9,7 +9,7 @@ '\" t .\" Title: named-journalprint .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2009-12-04 .\" Manual: BIND9 .\" Source: ISC @@ -35,27 +35,28 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" named-journalprint \- print zone journal in human\-readable form -.SH "SYNOPSIS" -.HP \w'\fBnamed\-journalprint\fR\ 'u -\fBnamed\-journalprint\fR {\fIjournal\fR} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnamed\-journalprint\fR\ 'u + \fBnamed\-journalprint\fR + {\fIjournal\fR} + .SH "DESCRIPTION" + .PP \fBnamed\-journalprint\fR prints the contents of a zone journal file in a human\-readable form\&. -.PP + .PP Journal files are automatically created by \fBnamed\fR when changes are made to dynamic zones (e\&.g\&., by \fBnsupdate\fR)\&. They record each addition or deletion of a resource record, in binary format, allowing the changes to be re\-applied to the zone when the server is restarted after a shutdown or crash\&. By default, the name of the journal file is formed by appending the extension \&.jnl to the name of the corresponding zone file\&. -.PP + .PP \fBnamed\-journalprint\fR converts the contents of a given journal file into a human\-readable text format\&. Each line begins with "add" or "del", to indicate whether the record was added or deleted, and continues with the resource record in master\-file format\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBnamed\fR(8), \fBnsupdate\fR(1), BIND 9 Administrator Reference Manual\&. diff --git a/bin/tools/named-journalprint.html b/bin/tools/named-journalprint.html index 843b64071f..5ff11535bc 100644 --- a/bin/tools/named-journalprint.html +++ b/bin/tools/named-journalprint.html @@ -10,7 +10,7 @@ named-journalprint - +

diff --git a/bin/tools/named-nzd2nzf.8 b/bin/tools/named-nzd2nzf.8 index ae80172037..fe2ed9a355 100644 --- a/bin/tools/named-nzd2nzf.8 +++ b/bin/tools/named-nzd2nzf.8 @@ -9,7 +9,7 @@ '\" t .\" Title: named-nzd2nzf .\" Author: [see the "AUTHOR" section] -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: May 5, 2016 .\" Manual: BIND9 .\" Source: BIND9 @@ -35,31 +35,32 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" named-nzd2nzf \- Convert an NZD database to NZF text format -.SH "SYNOPSIS" -.HP \w'\fBnamed\-nzd2nzf\fR\ 'u -\fBnamed\-nzd2nzf\fR {filename} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnamed\-nzd2nzf\fR\ 'u + \fBnamed\-nzd2nzf\fR + {filename} + .SH "DESCRIPTION" + .PP \fBnamed\-nzd2nzf\fR converts an NZD database to NZF format and prints it to standard output\&. This can be used to review the configuration of zones that were added to \fBnamed\fR via \fBrndc addzone\fR\&. It can also be used to restore the old file format when rolling back from a newer version of BIND to an older version\&. -.SH "ARGUMENTS" -.PP + .SH "ARGUMENTS" + .PP filename .RS 4 -The name of the + The name of the \&.nzd file whose contents should be printed\&. -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP BIND 9 Administrator Reference Manual -.SH "AUTHOR" -.PP + .SH "AUTHOR" + .PP Internet Systems Consortium .SH "COPYRIGHT" .br diff --git a/bin/tools/named-nzd2nzf.html b/bin/tools/named-nzd2nzf.html index 132bd40e09..1226ad07ee 100644 --- a/bin/tools/named-nzd2nzf.html +++ b/bin/tools/named-nzd2nzf.html @@ -10,7 +10,7 @@ named-nzd2nzf - +
diff --git a/bin/tools/named-rrchecker.1 b/bin/tools/named-rrchecker.1 index 0054b171fc..c6a4e442ba 100644 --- a/bin/tools/named-rrchecker.1 +++ b/bin/tools/named-rrchecker.1 @@ -9,7 +9,7 @@ '\" t .\" Title: named-rrchecker .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2013-11-12 .\" Manual: BIND9 .\" Source: ISC @@ -35,40 +35,47 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" named-rrchecker \- syntax checker for individual DNS resource records -.SH "SYNOPSIS" -.HP \w'\fBnamed\-rrchecker\fR\ 'u -\fBnamed\-rrchecker\fR [\fB\-h\fR] [\fB\-o\ \fR\fB\fIorigin\fR\fR] [\fB\-p\fR] [\fB\-u\fR] [\fB\-C\fR] [\fB\-T\fR] [\fB\-P\fR] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnamed\-rrchecker\fR\ 'u + \fBnamed\-rrchecker\fR + [\fB\-h\fR] + [\fB\-o\ \fR\fB\fIorigin\fR\fR] + [\fB\-p\fR] + [\fB\-u\fR] + [\fB\-C\fR] + [\fB\-T\fR] + [\fB\-P\fR] + .SH "DESCRIPTION" + .PP \fBnamed\-rrchecker\fR read a individual DNS resource record from standard input and checks if it is syntactically correct\&. -.PP + .PP The \fB\-h\fR prints out the help menu\&. -.PP + .PP The \fB\-o \fR\fB\fIorigin\fR\fR option specifies a origin to be used when interpreting the record\&. -.PP + .PP The \fB\-p\fR prints out the resulting record in canonical form\&. If there is no canonical form defined then the record will be printed in unknown record format\&. -.PP + .PP The \fB\-u\fR prints out the resulting record in unknown record form\&. -.PP + .PP The \fB\-C\fR, \fB\-T\fR and \fB\-P\fR print out the known class, standard type and private type mnemonics respectively\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP RFC 1034, RFC 1035, \fBnamed\fR(8) diff --git a/bin/tools/named-rrchecker.html b/bin/tools/named-rrchecker.html index 64cb5f66ae..416a6be3c6 100644 --- a/bin/tools/named-rrchecker.html +++ b/bin/tools/named-rrchecker.html @@ -10,7 +10,7 @@ named-rrchecker - +
diff --git a/bin/tools/nsec3hash.8 b/bin/tools/nsec3hash.8 index 767289d704..a1b69790c1 100644 --- a/bin/tools/nsec3hash.8 +++ b/bin/tools/nsec3hash.8 @@ -9,7 +9,7 @@ '\" t .\" Title: nsec3hash .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2009-03-02 .\" Manual: BIND9 .\" Source: ISC @@ -35,38 +35,42 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" nsec3hash \- generate NSEC3 hash -.SH "SYNOPSIS" -.HP \w'\fBnsec3hash\fR\ 'u -\fBnsec3hash\fR {\fIsalt\fR} {\fIalgorithm\fR} {\fIiterations\fR} {\fIdomain\fR} -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBnsec3hash\fR\ 'u + \fBnsec3hash\fR + {\fIsalt\fR} + {\fIalgorithm\fR} + {\fIiterations\fR} + {\fIdomain\fR} + .SH "DESCRIPTION" + .PP \fBnsec3hash\fR generates an NSEC3 hash based on a set of NSEC3 parameters\&. This can be used to check the validity of NSEC3 records in a signed zone\&. -.SH "ARGUMENTS" -.PP + .SH "ARGUMENTS" + .PP salt .RS 4 -The salt provided to the hash algorithm\&. -.RE -.PP + The salt provided to the hash algorithm\&. + .RE + .PP algorithm .RS 4 -A number indicating the hash algorithm\&. Currently the only supported hash algorithm for NSEC3 is SHA\-1, which is indicated by the number 1; consequently "1" is the only useful value for this argument\&. -.RE -.PP + A number indicating the hash algorithm\&. Currently the only supported hash algorithm for NSEC3 is SHA\-1, which is indicated by the number 1; consequently "1" is the only useful value for this argument\&. + .RE + .PP iterations .RS 4 -The number of additional times the hash should be performed\&. -.RE -.PP + The number of additional times the hash should be performed\&. + .RE + .PP domain .RS 4 -The domain name to be hashed\&. -.RE -.SH "SEE ALSO" -.PP + The domain name to be hashed\&. + .RE + .SH "SEE ALSO" + .PP BIND 9 Administrator Reference Manual, RFC 5155\&. .SH "AUTHOR" diff --git a/bin/tools/nsec3hash.html b/bin/tools/nsec3hash.html index 4e3a5963c5..bdb2b6c304 100644 --- a/bin/tools/nsec3hash.html +++ b/bin/tools/nsec3hash.html @@ -10,7 +10,7 @@ nsec3hash - +
diff --git a/doc/arm/Bv9ARM.ch01.html b/doc/arm/Bv9ARM.ch01.html index c2f0a391d5..13bbd3ba8c 100644 --- a/doc/arm/Bv9ARM.ch01.html +++ b/doc/arm/Bv9ARM.ch01.html @@ -10,7 +10,7 @@ Chapter 1. Introduction - + @@ -118,7 +118,7 @@

- +
@@ -182,7 +182,7 @@ The following conventions are used in descriptions of the BIND configuration file:

-
+
@@ -633,6 +633,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch02.html b/doc/arm/Bv9ARM.ch02.html index 42baa40b69..414e7278de 100644 --- a/doc/arm/Bv9ARM.ch02.html +++ b/doc/arm/Bv9ARM.ch02.html @@ -10,7 +10,7 @@ Chapter 2. BIND Resource Requirements - + @@ -150,6 +150,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch03.html b/doc/arm/Bv9ARM.ch03.html index 2d6f0e38b7..883a8f8165 100644 --- a/doc/arm/Bv9ARM.ch03.html +++ b/doc/arm/Bv9ARM.ch03.html @@ -10,7 +10,7 @@ Chapter 3. Name Server Configuration - + @@ -166,7 +166,7 @@ zone "eng.example.com" {

- +
@@ -692,7 +692,7 @@ controls { be sent using the kill command.

-
+
@@ -752,6 +752,6 @@ controls {
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch04.html b/doc/arm/Bv9ARM.ch04.html index 1c54a8c295..22f0e7db8a 100644 --- a/doc/arm/Bv9ARM.ch04.html +++ b/doc/arm/Bv9ARM.ch04.html @@ -10,7 +10,7 @@ Chapter 4. Advanced DNS Features - + @@ -2861,6 +2861,6 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch05.html b/doc/arm/Bv9ARM.ch05.html index 8efe94c97e..b38cfb6134 100644 --- a/doc/arm/Bv9ARM.ch05.html +++ b/doc/arm/Bv9ARM.ch05.html @@ -10,7 +10,7 @@ Chapter 5. The BIND 9 Lightweight Resolver - + @@ -136,6 +136,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch06.html b/doc/arm/Bv9ARM.ch06.html index 45834d0ebe..35b5c9ddc6 100644 --- a/doc/arm/Bv9ARM.ch06.html +++ b/doc/arm/Bv9ARM.ch06.html @@ -10,7 +10,7 @@ Chapter 6. BIND 9 Configuration Reference - + @@ -108,7 +108,7 @@ file documentation:

- +
@@ -759,7 +759,7 @@

-
+
@@ -951,7 +951,7 @@

-
+
@@ -1626,7 +1626,7 @@ category notify { null; }; categories may be added in future BIND releases.

-
+
@@ -2077,7 +2077,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]

-
+
@@ -3862,7 +3862,7 @@ options {

-
+
@@ -6718,7 +6718,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };

-
+
@@ -9422,7 +9422,7 @@ view "external" {
-
+
@@ -10529,7 +10529,7 @@ example.com. NS ns2.example.net. 6to4-self, and external.

-
+
@@ -11024,7 +11024,7 @@ view external { The components of a Resource Record are:

-
+
@@ -11112,7 +11112,7 @@ view external { are currently valid in the DNS:

-
+
@@ -11247,7 +11247,7 @@ view external { For example, the RRs carried in a message might be shown as:

-
+
@@ -11367,7 +11367,7 @@ view external { Here is another possible example:

-
+
@@ -11455,7 +11455,7 @@ view external { For example:

-
+
@@ -11614,7 +11614,7 @@ view external { used in a zone file.

-
+
@@ -11696,7 +11696,7 @@ view external { in the [example.com] domain:

-
+
@@ -11925,7 +11925,7 @@ HOST-127.EXAMPLE. MX 0 .
-
+
@@ -12145,7 +12145,7 @@ HOST-127.EXAMPLE. MX 0 .

-
+
@@ -12356,7 +12356,7 @@ HOST-127.EXAMPLE. MX 0 . Name Server Statistics Counters
-
+
@@ -12983,7 +12983,7 @@ HOST-127.EXAMPLE. MX 0 . Zone Maintenance Statistics Counters
-
+
@@ -13141,7 +13141,7 @@ HOST-127.EXAMPLE. MX 0 . Resolver Statistics Counters
-
+
@@ -13543,7 +13543,7 @@ HOST-127.EXAMPLE. MX 0 .

-
+
@@ -13747,6 +13747,6 @@ HOST-127.EXAMPLE. MX 0 .
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch07.html b/doc/arm/Bv9ARM.ch07.html index ee636fbf8c..f88429be9f 100644 --- a/doc/arm/Bv9ARM.ch07.html +++ b/doc/arm/Bv9ARM.ch07.html @@ -10,7 +10,7 @@ Chapter 7. BIND 9 Security Considerations - + @@ -400,6 +400,6 @@ allow-query { !{ !10/8; any; }; key example; };
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch08.html b/doc/arm/Bv9ARM.ch08.html index b405945bdf..c6cd8c5769 100644 --- a/doc/arm/Bv9ARM.ch08.html +++ b/doc/arm/Bv9ARM.ch08.html @@ -10,7 +10,7 @@ Chapter 8. Troubleshooting - + @@ -136,6 +136,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch09.html b/doc/arm/Bv9ARM.ch09.html index ba9223882f..d98db96939 100644 --- a/doc/arm/Bv9ARM.ch09.html +++ b/doc/arm/Bv9ARM.ch09.html @@ -10,7 +10,7 @@ Appendix A. Release Notes - + @@ -36,11 +36,12 @@

-Release Notes for BIND Version 9.11.24

+Release Notes for BIND Version 9.11.25

@@ -131,6 +132,40 @@

+Notes for BIND 9.11.25

+ +
+

+Bug Fixes

+
    +
  • +

    + named acting as a resolver could incorrectly treat + signed zones with no DS record at the parent as bogus. Such zones + should be treated as insecure. This has been fixed. [GL #2236] +

    +
  • +
  • +

    + After a Negative Trust Anchor (NTA) is added, BIND performs periodic + checks to see if it is still necessary. If BIND encountered a failure + while creating a query to perform such a check, it attempted to + dereference a NULL pointer, resulting in a crash. [GL #2244] +

    +
  • +
  • +

    + A problem obtaining glue records could prevent a stub zone from + functioning properly, if the authoritative server for the zone were + configured for minimal responses. [GL #1736] +

    +
  • +
+
+ +
+
+

Notes for BIND 9.11.24

@@ -2440,6 +2475,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch10.html b/doc/arm/Bv9ARM.ch10.html index 1eda94ea62..08b5a421d3 100644 --- a/doc/arm/Bv9ARM.ch10.html +++ b/doc/arm/Bv9ARM.ch10.html @@ -10,7 +10,7 @@ Appendix B. A Brief History of the DNS and BIND - + @@ -149,6 +149,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch11.html b/doc/arm/Bv9ARM.ch11.html index 26354701b2..fcd1e1f81e 100644 --- a/doc/arm/Bv9ARM.ch11.html +++ b/doc/arm/Bv9ARM.ch11.html @@ -10,7 +10,7 @@ Appendix C. General DNS Reference Information - + @@ -939,6 +939,6 @@

-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch12.html b/doc/arm/Bv9ARM.ch12.html index 83cf2706fe..6e39da7581 100644 --- a/doc/arm/Bv9ARM.ch12.html +++ b/doc/arm/Bv9ARM.ch12.html @@ -10,7 +10,7 @@ Appendix D. BIND 9 DNS Library Support - + @@ -533,6 +533,6 @@ $ sample-update -a sample-update -k Kxxx.+nnn+mm
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.ch13.html b/doc/arm/Bv9ARM.ch13.html index a7f8c3591a..c10035a532 100644 --- a/doc/arm/Bv9ARM.ch13.html +++ b/doc/arm/Bv9ARM.ch13.html @@ -10,7 +10,7 @@ Manual pages - + @@ -214,6 +214,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.html b/doc/arm/Bv9ARM.html index d552315bac..3918bc48c2 100644 --- a/doc/arm/Bv9ARM.html +++ b/doc/arm/Bv9ARM.html @@ -10,7 +10,7 @@ BIND 9 Administrator Reference Manual - + @@ -32,7 +32,7 @@

BIND 9 Administrator Reference Manual

-

BIND Version 9.11.24

+

BIND Version 9.11.25


@@ -241,11 +241,12 @@
A. Release Notes
-
Release Notes for BIND Version 9.11.24
+
Release Notes for BIND Version 9.11.25
Introduction
Download
License Change
+
Notes for BIND 9.11.25
Notes for BIND 9.11.24
Notes for BIND 9.11.23
Notes for BIND 9.11.22
@@ -462,6 +463,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/Bv9ARM.pdf b/doc/arm/Bv9ARM.pdf index 802cc0203567315d8942598e9b9f2201aa9b4eb5..74e861089ff0fab447c7bd9abaf27784b3e5159b 100644 GIT binary patch delta 311520 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%0Df43=>TuW}%DtPf1bfFQ;sb?`19_I#Vf@tik_ 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 z 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 ALjV8( delta 311427 zcmV(o{6t5tWrA9WlA|L+ww8Y# zv=QAFxED$K>Qx8RQN`Hh&U$1~L;GQNkJ&|L^15FxpnvMri*O`8 zx+rUScde9!EUIUxcMnawHnF-$9_kroyR2lwv&%P7Bw0f0mdohjOzXr3_3r}omVq15=C`Xb^#^=Qf6+l z!Z6e}6P(aSU{(-gNS2dQy{x}yYjI?kVSEAhg-0jrr60+*4-2otk=Tmc0VPMs>p6m}QJn9?xqu>J#x4AGNe(i5|x zVTle2(-^D%12P)y7MJ153lx(_a1{YIm$A18DU*h9F@M{#^z{2nPw!b6i~t7L-ub}$ z^w|(#kdah^!4N2nsL?=4ia0l55QBUF;#+TU)f@DKhrumiMk68J+gp#ktAY2+BkmCf zWZjU^NJ<8xxp)77LF}I00*qWM;CE4T4!B@QaOTQ0(D%N3xM`f`4dV!<2pa(u!$_OT zI)f+)pnnk9pU0C?0JShaayKwOp+9bp8T3lLntG{UHUeeg?%D(QP*dqsrZy_p|LzA8 zg$$!>J!q*%63%T5qp^*qQJM?`CCE;w5O_HUvP|9vT@1?BTQWj0h$#YDTXMg866y}}3em~qVj#@TxXIVhBUpNt) z1<(-EIqNpGb=%2Z$l~IyW=P{A8bf#;P8C9+VzVr&ZbUzFopWNWli^7IiniP)7_Rxx(scT`SY45B zF@JoF3hPzCNUg%-A`X`>$QO!tD!h{lvaJeLZo8O9IUz8%`LYO`(x(7Y#X9r{qt~P@ zdbWXnYM(|n2_VzFqkcH`*3O@AP@he5m+>muxtyaFU~T8U*ic}ZPHmD0P%6_=Kb(5o z4?e8Qjk6?<;3^|4oeg2#jQ?-;qAmM>XMf5oS>8;P2~tvaiSn^>y^)_m&5_hw`-Fa3 zFK!;Wkmytye?;!AcYn)p3xPEj0wf$6&Vh?ekv6iF>dbB5l=^peX2aZN5!8v+OP4k; zTHM(sqnu!$n#~EZTDL{RqHOp)fZCkybaCHH-e^Vv%OcJ)H_l+*s-EmALD?l`xICgK)rk z>-ITo-4>ND{3DgRFGE6v6z3sCDh*8hKO43=oBjgR%I2|`(fJG%lhJcce={N}>XBQf zdv?=Xm7eUjH-}92AWO8Z8e7up(H-a42OvmUcC%-aN>vV)ND2f&5Z?#TQLqo9;K#e@ z=KXPV_lF;{ED(apC=C@lgD&Ae`mQ;v38(fulo z!w)c!B^PD=DhsD0+Jn7m&=s|IZBLC#AN9T%>t=7)nZ`rg*W;PG?Tfa8W?LV8J181d z%B{1oF<4(q4jVXiM|}bh6y{K^U@=mwD95Qd9?#S}72QCyf2X8<}>s3U<5{=Ehs<}&d&|RV!9GNLZc*Ymu{9s3nRs6@JwHSBOT$6NK;r)9}sW7+N#BK?ZUB@$u=wq8Pr; z(Kb-OAi-*$q)cd0YtX$3Z))BQE0u?l?iVcfl#SSYSs-{adJ3;xy81f#wDVS&@cjGmQsK}4=hUxO*1XB zR!2@xw1gA%h#d#&+yfQ1{a6D*PA3{dPd`52lcR9}-A*lV;b3iv!kk`1yBlAx*6)h) zYq7T-e_|h$Bckw;N_DCm1Y9w;JweHcq%4=x1rGWcAvc?_gews;G=Lo^2hOtXEp2pd zQ`zZ;&z0NL8-+Oo!~Rn&i?>h~UMPR|LRqpnQx0ao7$E&BNCqN=Q?-+E~j}u`E{C=&~4S zll*r*e=Nzl#|=D`em7+4oTDi7->5`TFa;ra<&CizzOJF@0Sk5IQ4HxZQ|fa1Hr2Qs z(^+p`Y8*@;bmk~$#abh_FPi#a+J4$ijVX0a1;jbW@(lyW5EAC1x*}z6&C%sbn@1r0 zoc5hvjnV@ikU4&9`}KZZtX{$~r-hfiZO$sUf9V;Gy7H2lHR#fvp$r}DcJ1-lzLH2B zZqL2|Pk~v4Kfq(($wn-SW^t@>qd0tpn(Huw3Cp>GmOQmK@lgD8Tr0lKE-wY(&)6tt zEK-k(Q)*d1xq21{uM!gtor*Ix8tqi>+_$+Pv5PSd+7HGOp@0k-LW z!3k_Q;8fV_3w9B<6yU|uBO(k`mWeCEL^@Y%cz6j9#h z$!QB$&_mnWY8gHp^s$4$N>WQOI7THpwzh3$?KaMZAVlYyz48>6yG>`88e7PeV2DU2 zOCo~N?U~+#hPZ~a_iP+?lJhx_7G0;CsxI~5+q7aSPn@WuB2aJlPZq#^dp8~FgC`P= zv6obc;p|Ilf|HecvR{h=?*5eI z2>>2=vpn5>`7H`6`1TXt#=h ze@mA>6FJg~g5ye%nv}h$!JE9z>cGDa~M-4!#dRet!S^^y=Ga%oQCnG8!vQhu4$ox38Cf ze4Ji?os7ne>Bx>rKRW$H3 zTum>2T`&-j4p=LWiiy@@FkfDL|3L>SjQuvCM8MG2Q7#8k38JKcb}_iQ_|FCPTio$t zG$Kp^Pr(Q^<|H#g38T7Yw$DVULBwJbOL>Y1P;)|+@+?r*qN8fYKw^I$4I<8o5)5@c z9Wlm+6{;r9>iIgKW&b=@j1Y=MRKAHILNXG^`*Qp_;&hmy7@OKRnmga9n}?!LDkUOV zDSClaJum?eE!8O=oW~?myay($9z(^mm{10Y%Ez(RF()Q6r#A!Z#aee&9Lqke86`5( zsN)2cxk{S5GFfKtf-sSvnePN{8D#ZSEeot@9-~ zwk^veieG11&*1T-Whq0beqt+J5QxxE8J3PD(JX)uz$QiOydHnsyj*QgA^Rd>80|w= zgVzahgzTRVS=anf73m3#&y}SIVn`YBX%^4G_!&%|1Q~cS6~76{ijoMmx>}D|Jgjcl zN$}uJa~j?kiP7t~QWD4&kD&WFrsoRKgQ<`Z;$D%tU&y2fk-!X|Iu5xzq{l^76xG&- z<`7ixv$Dynvc`Xo#DTZVu4!=4ZrWdUCRB@q1pMK8a@jJs8RK@dPV9tk4(UnIL2hLr zc(LepntU}A@D3G2LOfmBJ-d)nu>`qZR!6;s9Ns^=V!W=5I$x+Bkbno*@^x|WIZU34 zgGy9=dPcZCY{iMsO*gb0YjVUHV+==bT!@L~41KL+JKlV;_-sE#sj{cE$A zlV|H>{xg4T>K`ZU;9RkL>;PCOAzqn;&u2orw?Cja$RLKZL1Q;bmSmR4PHX4IU zi2IdJA%Vf*`NXqd@W1 zvHIeE-@D&y_dDrh4pML?!qmxQ%;P}uzQep%T5x|%sdON}>1W7Q%kVG9>IQxp=n2{4 z5`EHgB6O`k7@b>~uA0cb>0Ffy@g2AzS~0w()D{2O9AFwmpg1z!^NEqW zEtwVzX!$L<_WmY}!1xIR2|n)fY>kM_@A7$4yc>-LRl_u|8z{6ljSH|qmnKazOKOXh zl;EfhcGnG7Y?M2qWD=>o5(BCw0qhz(c%WEFMI3f}DXm~Cly=~ZJV>Q;Xb zuYbq)Bu)L&HIis=-Y|Bb&ok`0&(?L~uFYb1&4%N6=H4`ZechGY5gW&=X9pF4@2_F3 zN)AtcGjAB({ea=DRs|^6odZeB6#}&MZt}6n0eipEqN;wPz?&8JbhYX`kiZ{6B5z30 zKmhuLtb4!xRaSz*A}ej4wtU8 z60l8ceEYS@*7-h$p!za%Y8Z13RfjrIaj+3@T0O!;>gJjSaZ0p&m{MnJ3wX~4lq5#B zyKN06w>aSyOcwOtD%I;`1*m0!8+a}YR|8RdaF2$@ue~4Kpr>`B7B@KKH$Hz*2UrGU zW6ReA9fU1Wzoij`*mr(gT}7zamVX^RqgSC zdB-SDBg8j6nPPnOeu43=#u(|7SG|f(-9Mrlo&K?d6ZXk_mIb+m4Ns8Ac>+3#K$k3-sk9(rOA`(BjzK zB@NQ=%n4pl+}otg{};<129xpsV8!oSO>?l4KJrP#fX2oScN<44^=`! zg&ZF$^jM1!(c(Dn+Bq;s@S@=@$c#B@EF!41Yz0k7+P-8?vVW)164v9Vt6|pc3cz(#7>6VQSgWd?ifkKfGH~wb#0rq#-ZhAM1U|{desLPAwIW+I2SKsU zRteboVOmeC#u+-J_I%;yT0z3sxIkW&g`Y4BSB7N{i4fb{yt#i1=heKa!?#0JQ`v-- ztjX;c3m(!>)**$_Q1&OwRbjnI3SqS+Ow`({B|uxXy^Ao%Q(=YWI{ecam>rr|%T-eL z1vUsV#GZ^i_E&q$Uzc;z7uh6HvNe}^wJB0uZx*buODzSVqCFp0o3)jbc(2tl#PfaY z_8K4{bKlwu(u;rS#sjEax3+%klok8e4`Cu|>6ZjXnpi0J6yCRjoUu2$GnWcSW6 zB<+L`hBgO%ST7xmz(55y4IZfA^hV*(3GFsOf<;#4ZT+r?J$Nc5l$l;N_HdSx2qE`& zyDJ&$&8*!Te%m-+5SCNB6aORPM^Ieyp8DjN9k=qB1MNOMTkiJ0epg-{eUND_uDu-T z`yUGvF_BQYobf-FOYd?-O!0qbG#Xm2C=@YYP;fXr%vs|9|u|EJcI`xWb z*L2Nb4uyYdo@>M<-u`&l_d`8g!!!y!bEUj(&D*WUFf zXL{aJ9IjO6)rIUVi?)SL@O%)5p3thb_M{HEeWg>o3+dE3oL+8) zHiMLO8~k#0qvP05lv;t%{5+2No5JAZBCo(fdtHBD)q?0M2I@ad-BoxB?Wp>fju+@n zI1*D}>9Vbh$4f@yK?8%tVz*yUmtM9tGemY8oYN+LF=6QypkF%3yoar9tqN1nvx511 z9`QCEgu(@c@F<2*KsXMj=W8p$cRUsgl2D=cK}9W(S@3j7eRu|HUkfG5fShC^6s=-- zX=8usDZ1gMJ_sqlAL~O?%cNNMN5dd7bx!?pAR*Y**QAC(YC@(!H-mAB;BydsJm=G% z7|@%(?AwJm=+F=nb%mrY?v`(fp!F>b~k{q_=$IDK0+LIvw zSU6jO3D{71Xx8>XVi9`Sxqhz1kE_OE<$>)1fp9x|I;3#R&5A>64+^$U5<6x`>L(Uv|}ON!z7prmyJd5^&Gp zZU#Am$$MmbJogFYcxJ*da1(R065dvQdEC{Vk!cH|;QwOnJ3m}xEvQ$vQh}ewIq6qG z=0p=D@xO04c-RI;?Tqaz4?TQL>KK2ruMh1BF)_hlb-Y~gAhrdNxGR8=eVOta!wY0| zIPOqEi_Y+AM(#Ow6*w!yqDif{hYeNph!i}E2k%O`XkD9^y6!9)3$ZQF{LxF1e|!D# z8`;Hz6fQ9lXbDS3pZHnmT$VVPg^-#18Hi%;+2X`cRVvD#^3pBxB~MUUSQUQ&W~SHA zO@ADK?Mf-~?+};@-oV}(p+-KZ1;`2dhB%uitp6}pbz5(&-Q?osU}O#hz{-ypzP1M6 z1Id|pdwy5hcLONwFg-tob0B$HvIp31n#~d30JJADw>l9iBf>grge@67<4Bu~ zp$))-zm^~g2+=x%w}o6%_B(&DT_am&{(}zbsu|TH{GJZNBuXx%lnZ&PS9%qm_;r>CKY zb*LBgtF&M$JecAW-j097I>cy;zPQAP>L_H(uWDHw)50kmmCF182o*loe-vnbK3L&W z-UG>N8lQPlI^3Fh2%(}Y+ao3MxF9Bj3&WAOKqw!UC`n^K51i`<-8Ozv6#ke?$v1O* zLjR;tu?%*FTMXZw86U;{OiyeXEjJ61Gz8k3XErORLE z@9aqHpCX8(w@kUjHh{{a<5%s9y|6<;!X2lt^rSSz5lHRH2ZkJbVZgenwPgxvG*!yV zTT`AIVqjn&f!}|$LvO1N5`xqjojn|*rK>%r*UXM~rHW+wXP;OHpPJQi;hSn+7cf1Pa2`V*8s z)j~q^D5G&#E<_G+v(7|Jeb_Z!u~@Q3z7EH$NL3;g`Qd*&jWFB7*bI$ww^Wh`z;yk> z{YmTx+Nt(%T=Q$+2w3T)Xoh4hb27-|@!N$Aagv1~s*{AX9>1QhyA)xXE>1!XpUzfk?VmpyIVX zdb1(@$BBQmzqp-*i2IN4;w1f%OElW+w9?1&|lN^!R-Y@Jr{FlL!J8_O8( zWX*zcV~ap8X?_iYuspUBv)!G*Bh%LQ)_qehM(PI%5Mi2l-+j7!k5DQ_R$?1|gew?z z=>(g)z9OL6k}s)Pi=1$$hsFpJJr-h69yFKFUYfRLorXnJNkpz|IbDvnJhW3OjbI1YQqddratPr+ z3ID#c)lePG2?bh8a|9hcjhO|u`{zbBJUJWTR05TMB%Y^-=f<|J#!bXLHa^hvQtAt~ zwWWR~xa>6frY3hXtJu%GDIi}6NGg=3imiX(uQV7w*MqjLpJv{j*jVO$LH>icLpdn$ z&tGl8eBcIVp1R^&OdCd$XT>np6fknANj>aT3Fz7#^Dc9o`nhs4F3zaVooBEYEj6C8 zA{kp7*K7ke(|`{reF+6Z>#!IX?(1O>&XOu6aKB@70cU47BT8=O2|oyI zMH(~czZbsYKMR*U!JhT)E&X1j`I>)R0i7%WRd#7Qp2^Qyj0#LVsz?ACaQRdl%Gg7U zC~N@%iCjQ9a>o#8{z-5>j|~*r6)=rGIUruPln~~a>aHPMVDFP#g~`#KbQlLV$1&sp zmVbyWHhlZmHFBS9dvR)SQRt63UDa%stO+8Pj;DVBzNrDMU-#Dex4~;7ZsLF3PodZb zJN1(wn*LCMgMOy?ezLviH*Ef_L5v?OFv2tCP`P&Ih0BxwZa6ht*~5tlqRM`MVhGI> z*Ni=zT^~aH&j%M#1rUP=ppQXENO+L-z@SZi?1c+~E{mqA_FfpU)Et(bGpVD9`ojXB z75?{h0b~cRc#)MLg=ma3Y&d^mK6cJycB#_tLXI}zI8VH3`9&%~$);a_5rnNIPG_Zq zLU$T?CrC6YVAGY92f}r2U(lZmD;LDskfh1c%fAf3Px_chG{FUxic%?I_ zzmmW63;y-5cc@?dRK+V5CSZ4pU#USCk`zLeq{*P>xeo#jqjRGE2fzc4l<1d12MZIE zmzo!saYO=92MZIkQ_MF80yH(3F?tCp zf0bF?bKAHPfA?R(m(Ebr5J!CQt9`lT;#_?*aZ+2oJh*p^CWwPyuinkCe)>?*pddxc(qO(0GD-v&L6$NiL=nta!9)1V zKi+M;Yoy%6e^8Qyzr*Ko{@YI^kpj>*ipg5e^Px| zc$m>VlwDgt$pa4jag>KjcGy|B2b|Y$Whaq_OO~zvuDUm~h{rs9cXRuGG~V`QZ<)Z_ z9dap~)tE=OZ=02!)H*@KK3=f-T=iR}GdO5ODJhZ!Ph;j5r(06QJggcVEb+6d)@pPu zadOk+EVBlva6531B1yv=v(oXGf8Wa8zLvP6T(nP8otn~cSy#ZRGrNG}wY&OdvL{(R z&1iUepM~3}lIA(&ut9A}^bLNQ`SQP?^v#zVI;wm;U>Oi~ggE@zc0E#t!$9Y#uNxYu z1Zey_j@iM^ot|V&>yL*QZbMkADyq9jCGT@f!BDW>+KWScAQ zq!wyW=CBE{arf(0@SrE$f8D|13_^{yrxsaY(U3SMz~1tJf?P@ywK-4$<3S`Sp%#ug z;Gu?4Wp^jsA{qnr)|?VJsr3a@oCG6)>h_#(XHm++kNWp|m_7(*IT3?e?tL5!!V-5q z*P0a|GC1zaLhmXm_svlm-l(XFiI)xpXK3PH*Ylgf0O>b)xVS7W=Wy1 zIiehb2~Xf&VIu`c&huFwhizLc$IJl0W-Jc1V?gI$+DoDFMM0!)p=Uwkw%nQ4y#fz# zb;Nieyf5Vr+~(ZS!2ei6c$OK_+X|#|!N8Q3$~dvJlHKx9EuV_PARx>KBHik_NW)GCAZh&0}}wwf@jtqSJlRsf9nWR2#0NNJX{3H3ddxt zVuOcEL3o-CTmV?9R+tA(IVqSE*mQN8S0IvKoc(*8ZhMuOJ1<26N?H$2!@FaZ&Jf4Wf|bPn3@@0Z)d_K=>EmV zG?!55zJ_{be-8bNHA!bg?XlkDE0Q`QxMOVw&>Mjc8ivfLH{^Eh7<3Yw=0^3fR=$G$goQVT@wV*D z;B$+VT?+v6H%PTI8g`XVtWf*7*U71>rUz_UDx3iAe+i)%V+*er8YO-@@KLRJVUtJY zQOY_+YHk8X7G=NO4y^QW5SjQOT~@x(1>j0E zmpnZ97;)`VW`mDNl~pgA9aBs}}GzPlSvikIswlgvboaW~chT{3^Q>H&OuZ;SSLQ;yV-P z{-am@JV_JKiU$uzLmc%l8Bsh{2$o23F)oo}Ra0V=(J7lEpxeh-4a3Kv60|fbsew^8 ze+6BG72U~lgFy;5X{HMdP4<^JkSLR(lDeqwct8>mi46DUM!p&%Bc4&hpjuF7!o@US z884bxnI~@glPMN|CkJAHTZ1VbA#zszi;8bNl)F6yz3NY$A9H~QS}onUiLEMvU=Zad zt_o$p<}K-+nY@zg@>r{ijweZ2^+<)3e-&)0Hv$&2f0nXAuMxPh$r-m;;}@yUb@aPK zW*=kJa|guOMi+vLyjq#M8H;8f=i%aLmRG%5ygoL%ASm(JYHX?R4jK!IbL6*PHY;hQ zJY$6dbn~o|8gB&(dh6NC2in?eK`MX!j#9#yiyRM8`OB(q4&8hPNcQ~nsPa|@f8?bP z)3O4hm%HCf-Ut$k5kw-tTOU8LmwZ6DX4UpT%&+%iZUzz9o$W#xJ3&>$?~8YT>ea*f zVPEYe9|i6%VHiGZqQ zVqy=Gctq5Fh*EFz0ck}piZK}2e{$ixfJyj|rys8;M5m#Ug0-_EpN1BV{XC^3>{q=B z_Vd)dx~h>9KZyORrC~=64A`$04A`#+?eYQpA+jU(EAj>G7X@L0eIG@Obb|hPR~aKL zJ}Cvh9}+CQk0Qdj;(Wb+daX8vv|)IrGX+gz3z~E&X!3Yku&6-O2oGLOTN*~_HF036j1J1M?_WQnU9vedp)0MQh(NX9Y-sMAydM#@F2 z;U31G%0ty2%?fpe9nvv$01fjPoetzIv@CHKDOB+lCVOWuH>$|VtRbpWWsMXgLp4=; zq`oE2KuJnzl!dobRpLaWe>k$v#CdCD$!?7y^{)=0W3}&K5Jw8sn%lF3?+$opzg$pWwwOUJ)+%^ur&#&mpNmJ#f zMN!lvH)ri+ovL-R_U!J#@qr_$dlajsc1t~zPUXihK#gD%2U*#-MqGWZmS*0P1@@$nR5sTw|byKcB27mketDkS)yuV&YG7JQ} zUdtp5-o5&N#~bST0H34`{tb^$H$T4oK8q*xxJZ~xVpvU+g2^1FxQCuFV}Q$y@g%Vm z1bcKr{r=O>Z{EMUPUGO_?N9GMAkC{cH&_QW3I$EH{FB+YZ%16+?YrU9Uwhf?Zdd zR^8(>4k{dS&9k5?>BGZa)l#eN=&AJg?QsWV`)OB2B(^}_O!+00;c#b`D65S+HiIFi zcBZ?p4)?I6o(f!mbYM$s&RH%cv3=~T5-4#P6Qx0iW23|}20gR_bo~;B(V-uxcgiMx z)_cT%FZ6nM+B*`+=r`+c>?%p1+Hyg>uZqrgE@`Jhea(Y@HX{x0I^e~#AKE)w2JQu) zS}|=k(3>htl4swWVH@*-9^-r?J1{Ng7D`x@q_ohxu3gtto#PzRIkr$9QJib}QV+=# zTY3|d#bDUiFbl&S1uX_5+R^jYd}+GwGc4_YQ~4f7WYUTio5rl7EDn_Eq9vfiDIR;L z%7L>Pa}nIoKpAxVq3&AM&@`*ko5u{?J!w(ZeQz#`7QcPzjc zXA|cwco_VvuRJuPm}T72EbFZ=7^Ex~(vGQHkcKLmhuE5D;P@lHg59$`_W7Z>FCDFb#Ye}pTTxE%bD?9_<5Mjtpd;Fxny}h)u?BQ1?4Pa zX_VXXdu@mv$Ye)5(^LC}H2PCJsNa^7pin=Lp*aiVIWz16AAm=q5fz}i=w6c8R5B#Q?p; zvnb#hJemy%3r_Szy5@- z9IdACX;?}I$k9$I8rA#!7I*=~l%vInm;=SmM==7!O&t^6ao8UR4@vN&QF>0&Yucd6 zJd@8hZ84*YTYvB}D&epve}d{~AJw%;DMHLF6yavQZM#GD$Adbwe{58L-DvFTQ6k7% zq|4K}ZoOLwSvqR(&oA;H?;;Sf^5nuI7w9L@TsVX?%VSySMqDsxSUTj+p1od=37-AM z9xCRLghk|_(tLLKy4@bu_$nWjSRbX)w~Td!$CeCiPhaoqMjh;Dk1xyRBfji~&zU8l z0H@&F<3PmgfmT+{gF2ai)yv~fq7r+rG(6qOd4#G}M6`^@S!Gu}r!%WjR|i6tXyf6_bOV4y@NdeU|g`5IS zKtg%&)(8K2B0==gQ{sp;TNbRFT=sCC1xLfiLp|Je+SHMk_GEcQM*A1W&dles?h#-2 zBjY+T2Gnc~Is+AdrOU*o*CWVMdux+g{NH*4xy|Xa$2XR+c;e>#ftq6>$i+(pjoyp~ z!s;xll3(vHL{&ZlMx!Y&#UwmKi|hS`c$7zOC;RT;i~JF1@|@o30=>xz_+0sdGYB}# z#PdT9`0yQ~F;9#DXEBa@I^0~QBr=Fw&igXPK9NyHIT#avBp5SX_o1R-Le;^;c14Z% zKU}RoYT=;Spd-m_uyr2H3~-3EtOkhri^_vbgVa5IRJV;6EGH?X;Mp^d;8;5~`|te; za~|T$e5;qq#@V>GDOS{`kOItykv^gD0K>;XvOPNY1DzCF@PP9Of@zBd5Iv_szZDA2 z>9K`yGhlsxiKYqdE@&W$2pYCFiS631e1y;KfU`~QYHb*v`39mU1jepyJz$cKFFk-I zH5}buuy43iSVs}u>{ZufpdT5-r!rIT)L5Ct_o|@x0n0NssX#Kopex79O9m_6dwjkg5|H z#ZG2_1eJh01|7^S1OhswL$(MGjWgwoI3sbw(W~fH8z_vWdLlG7-LWlSc>NMMU%{W! zvVcJ@rl_Xxh%D9-%~Eyi5eRIE%lur4{z#K?0O9F05zPuYPvyerqW%Ly=h*^Q z0XRcLfuz%4T1sQL zg;4Z5mSQZR%*{o{VB<5{UyzK1JTzMr!)SGL!2`BK@nt53ZPg--v>C#!Nd*YfwROAo zWkMO_(Tt}xN^)!OG1kh%A0XQ#bQr+`x3cPsLw#$Pw;9NXs<6)Ca!iJxwur>0j1Mq> znzJ;D=YdcAJ0ZDAV90%AfX2STemp-qle`HB=yL;4moVz-7}6{yqRm~IeW6gn_*fHv zw7w~GmZmd@l_thvIYz)^10!00diBoennQMzM~e%RmNLBz&-#H{{Q%0>w~F7=m7Cww zbB@S=;gfu2DmZC^^O5IsQj&!ke-clBCL;=blE_8e3;`lZh9PvSJTSfCDSI&9dyyCV_(_a za=vZ^32Nk=ngLSli}nZ>ki<_Mj!6);^e#C3h{-WA)3=54l5r<2luN1?QbPzhX*T&c z!;@Et3}9a#&z1l5<`b5?$UUfk&xFKdLfZCz7hC2x1!(EmF68`1SI?RM3!vef0bn$6 zZ^oP7B@7%R$Y%e2(4A_S0?gH#xSZ__D@v-M5Siscjn4|3v6H)w3YmzJ;uicD#kh)nmGjrGOF5de7 zr{R!x$9eKK|I?iRM`LM$*^1cQ^BP**biWhqh*AncW19I&tAOMB+^JrDx=HmC?<$A9>tO(&UJLT zh`!8T|Lx^Zmv26t&#AyOhR)|g;@SI`|9InnMn1w%Ld-rv^ZVrwFWxHNgGZP|LUO=n zLBV1IOS;A`7!W{&LPW}T0Yi@>wBJAe^yb6M^O(;rFMfRg(ZD==b9wg1837L zi8yUpWe^4gpn<};ol`eSldZF|K>=`rAlxy2kzFU-qM6@Rno95 zO*E^_b=u|8oDqSzh~|VKEreUwR4_|_^V!`hPgenoI76}Qh~JcpG(ZaFAVb}evZ}Vl z!hubzvdq%PedO1!Ej><4nfs-7?J~d3O4qG?>-J$mt=CEE;TC!6hpUYT;pc~>M72Pg z?|7AMZnI5bA9E%-B3KVuG?W+sfs+Gb@;Y}3^ab=nBckO&y&&|VUYHZbIvuQk-DhGN z>NMJX8?l-8Ds%0&Hri@O?nC5AiIg}fMvAoVl=*IDL}8I{K?r4&r%98SOGn9F-h|YJ z5ZT{UnXG}XhnV2dYTY+U436UkoKB~wu|QO_kreLBCiyoYXUwV#WptJ=99e}MwoEZ? zSR~k(wF4qiNK+XSiNRWWV>vi~h35Rz!F~}a{dMTTY81z^ziG^^`dH{d&|PKCl4lsf z{ly?a8mq^trx;N|+BuF%Y<680MRjM@16bzN19(iqDv_4Q(k(Gsrlr?1=$P#o+lXUt zAMEIQTQ{y}wGUdq?lvj%h3hV=bz)BB2ucH{Vd=r-9!QyGeoyE-%Eh_Bs$M_5IfiKsd{R_i34 zuNUI5ih4T2Ksgdr4`9}-goI2PL~FhyaiftT?E4hcdJlkK3clH1JntoEDE zI!j8>AQQJM=6no)1FL9Gqt!mI^^_|FMqot7D$QZY&?sFL1;ft2 zN!Aba&G@!W*b(DV_7}I=A7JwWgCUz7cR$5#dTd52*IxNGE}1YRHV3eLCUACjJW3u- zO13R`c|j~%4ToN{vX%sTJ0&+EnIg_0x;a5rQ3T0du)Bx3lz;@(m>ULanv||{7?5yp`A zOhO>veCcN;>zl%_Sm$NFwn>mfGK!aA(2TURJNxcickU<69qDv)*}Q$C}azUa0aaj1 z+2g-Ikn{lKK0zM~vlIC#_OV|Z1Vh>?8brz5r+LR4DFKYYqKhaY$YyZ6675Ok7+~iHJCJvDm5DJOn?H&68<; zf*WNqByMEzeEF2%rn?gu3x?1bVfZ6|M;`?0VzX08Xb66ygeKGa1PM`zV#rayBwbT< zWnH(-iEZ1qZ95&?ww)7Ooup&iw(X>2qvLdJ^o)eA?Q zgElg-I69=8+84SDaj9zkjXO@UuB}2*V0rcA><+SF@FBh2g^<*VcLAUC?uLPC5sW#F z(9y+)Et7o71IW_$h4!fX@rozJc6eDqV2{$?r6X3ir#YP+Xyn4GSL0LF(oqcC-R^P0 zP}$rQ5bWk*Zp-$jsQ}D!<=9L$f42C;1k*KDb_MlE#+0Ty`boQ>2So5K7}f-~xSf9+ z0>c!X#=Vi;2RtCtI#cm{UIfz=^zQM>0vp^ql$&JI1U;abO0Gic57nJFYt7h;Qz=Ob zm>&Lur=!PSHAjM^{1_`OJ&{7_+hO`}M^Iy70`gzf%arRXQP#vU~+PIobSx>}FBTl(oj!9`P>cnfPrk91h42b$zG#h`S(o9{bX!x*9c13CRj? zyTb21@Eq9x=0d8=WIg3y8Rk8WNX`ZCDy?u(;2}VZ3zO=gd6UDgud%#RMQ5sFT0j7b zAvQNAPXKAMqZBZmW{$eVZ3hpMbeXk&ZnxM@s}gJ}l-5yk1u?M_&_kg3*(7*7*6-#Q zFM7i$MWVQ3Q7zN^=B=+Teik6}!}s12m55t>g&H_mEum4C^)YEtdb7T;XuMfMU4Tvv z&~JL2T0{3(y2J};gGgR#ws@}e-E(BH({(;{T~?+657X=AD>l3@gkH_KsGRkyje(38 zdf3Gdr5SGVn*^HjKL{uG-9#?B~*aS}i;4i}RR> zf=xzzpiU0r|EHt>Qc&GwMh?IJ!r#DJ)L+q z;G>g40k?X7D=$jMC2Kr$F$S~Hlv&3NSHuS>E$<6PU4inBMEXEa3e(L;O&Ye)pHd`l z-nrN{{R;?)Ffbdp&?cBr3dc$#8ug`ryoll$4F0W`L%e6LUt5He#bka_J+++RqK?F9 z+I3bSH>JGP+b4^@G(G6xZy4&W-S5`nwdD$`sQ8#fYOHcm`8&1X<$zjZEmX-^UzCrF zo;JReZ@3ldkUQ{#S};-b*Wn6Ouit7!+&C{TOOE9)W0WqXU6V~CdZ7RIM~>PF^K)Wj zZe2ScER9Q|^>QL^{M~`Y1)i{bT%$fwBwcD57iIS4Ay4_gg< z!|36_j@yT*fR!EG{3VFk)IYiuv|9irVO_!hQ z@TkF;{N=}_ZECOp1UP6y-A5sxWRt=+YYf0XG-|Aqcc;-$HS6)D z29c)I-u5+gDw~H_Bma<9aaf9 z5~55$bRyIird1H}Y+(%wcsv8RBpOYk8S&?PZimMY0S8pcADW~ULwiog(;-}Gm_Noj zAZA_)=KMy3hRaaP-}Jzme!KqJcZCxbWD=P^;jmhesbwf{6%O@YOw>hM-T&18UVN zLqkeL42LL6FtB0xI66j_a3a!PZA}voG_x5qt90P~ z`5R_$CapSK40V=OBzQ=2eZL(X>T>A?!>109ijN}kF)M#mUt%bB>4<`x+yTD41Pz7v zkCb8cN^+7TzNr>ty134bzcw#Ft|uNQOn}~Ox`)$#IWLzs4-b*_L(SOy`> zr6?g5ET(d~%yayyU_otMB-^c9bK-fuJDqw<#hhzJMc#e8F|N#MR?ajsjQCREHNa86 zm1C5Wo>YS-KVGT*-k-V6(t#E$3sn9gK+CL12;WQu@21Rbrwl)FfR;|dc zZi;Aw$S%J?D)7!M#-V7h*}tsS`8cMHjMSuwu0(LR!!hP<7lc?filFc8WI!O`>?Fe{ z3s}iHbwj!nXVXAdq$6uNE4U>cVW9ckDGSsL7;|S>bdXr}{k#z20N&)*H@2bU7*}zS zE&nmkVt;G;XV@KI?NwK8=*q3_h0C_83DA)2_xo|FQ7SH2z*@en2t}K_cH>ZSqsH)6 zK#@7umO^62xO2(b+y~el1@2e|2alG;^QVl}D>5s1_|VG^jt>RE)0)gT!%bqm)(5co zadq7=NiZSgMQm8b^NE<9e2&kKNqPug`l7_%B}m9yK_rr|K}XjEFJdyiQ|gIQV~}E& zFODB={5kqMbatveXtEypa1ZTo{F|%|glFFRgX1HbAA@+NZiK&pz#UJoORZWmH{KKx zN?&+Z-cS)d3zjP-YTdPnP|%3fhGPrxm_<{J^FdnN6A!bg#v>dNR_ijj zD03zB=`RJf4S!*?X5=rM@~@!mo2_Y9+-bUtZvAO8Q7f+K8h*Hpcj_g$KRpj>Yj}O%nFL>xHRcXwQ9&@=+LVl^9APej=1x`Y1(TOKp9vl?Y}Kxp4B`9xq3yhPKdefpGd)rX(MMKSDW?z z$TftskW>V+d8r>1TtvcyKMQ{{1=9n?^stlr=>&W_Q()}oA5W&fy-G8{g;dG)wnl}J zJ=*a<^1n0e>w5Y7b>_jDus^3cU`I$*0CawJrVPDd+Ue`yl>`RU%`OOUJGu`26TPjE@#Ojc>RzCcTNQx3nw5Z zGwQ%I8d_ieT)(yi)duUP05sE3M$4K+Je~2vnS!R!|lN4VJgwx?XM&rAWlEMs5$yQv?cLSsTOkzgroaa-9y5?s# z>IBC8a1k zsF3m$pYO|7L5qqhY13^0T$l{ox!(BfD=D4|;NAD_sUS=<%a8d%_P# zUv{z&9sbTw@a#}tnNm|p+*pMB(jw#WAmi~gzIFf$P-2)redZz@z{xaJ&Do0^2=O}+ zytg?oBhV;oXpx>`#Y6hmF4z}udlsR^qh|&GKqryzJ*HRSmM#DJk&G|1D0RFk{lamf z3)?qN^ys{>s%0M14?lKTbXL@8t2QPH3zHpw$Gm(^8HD-wU3+wn;rN%Q@K2Y#IZ6tU zY|ktc;269UHcwey3FF1NDeWK1+)^^um|#6~&XMxW+Qp--Egy#y#Ujk%-Y6>s5upS< z)EHbppUiQRc>x}{bxzFyS=O*qq48+*%(qoa0~xX^_C^-=yT{eebG}TzCG=xb9g5FO zLjFq=1j1lfihgzUZex`h?0A=-eGI$@AH*Wsz;r*_qYu#E5;2Tg!k{ik)YD42KY2u> z(-RUC`8J5bq|wZbwzw!G2DJS;Eh-BfUE~6}dFRqp2d9~NqVv$o3Yhz{kZlnqM9&&0 zJ84$mW!ZH7T3z-)eqMx4d}^{AF47H)gUIGxEdAn#IfTo~(5Sh}odMBuPtSY;mf4|| z15E~_hBloE$VJOLlg3qHFhybENV1hx!1FqwM&Xz|%6g9S?{Jc{MisM>%S3QTpTG<0 zonAeOgwn&oV^Z}n-0}c|) zhvO7eQ+g^V!f2{{x;$Jik0EiDRzMKNbe{ZuGQ%0sAO?&i(i8GNJ%eV;;paRFaXXS) zukE+wUWkE5bsd&au^~OaG zSztPF=JEu&@N&AgMP9DU9zcGB1Al1BVZn{J9G{^tFtyvIJK<(H|CHsBEnb?BEJw(< zV+B=Z4AZc&Q&Uu}9RkpCs^Nn)|KafiQdU9WOKE1?!{Fkxj}O9#z;q>5>zBmaHW*}5 zC*aqqy+dv3?W6w!>p73_(7|+lGtN+Yyr_>*zj(*Q(=Q#)lAhKsBr2Ev3FPS+oLezz zRa035AF>K5Pks;gQ%DaQo20&{1Q~*vY?z)(IASGM=#W3nTwM=`D)g#cb8v4skG-px zqsQNsq+;#XEh8!+t%HtcTAAJB*eL8O(;Zo?q!FNGh#IF)_4JQq>Xby;RyI$=0WsWA$Y<4jf32;}EvJORXBG{SPNy14-Q#4wwFBL#J1e5? zZ@omHifcK=-At3GRCVm~LPjTCC5SgSa*kcgkq`py$-`TJV|QW_TlRJ`opIz@`L>!B zrW%&(>W(>To|UdGU%Dln?;dlO7X-tap6U0uv3P)wuQ?+|mI+oK0kzD&QoWzZ;ETO-XN?(| zc`^{|43nMJGD-^3!{WHqnnrq&$g6Dtx%8PHEvRFVsD>I5eGG;^qnTTOui$| zpVLAoU{o@wadpGSu6RZoXrx@&*QlQTQ&{P)<^?$VM-Jeo2 z3xcW&TS{xNB;2||wCSCL-f==R#-3QH_f zWK85rjc==-SY3xdsajP=XQoiJKw?G$K0JcpdY%nV{av3PXV$TpSpS-n#;9Lx+jWb> z7R99v%VH;cbA>%O0begi9%q)j?u8`^9EZJ;M+$(qA9*J~WWV=kj+R| zm)C`6MFj)6)x|P>eniPnMm{ErN2Qem)lL&1jfB7Eu&y-km}EKXZvzm?@yGf+OzXC; zOWyT6c7I#afz|x*^vi|HmWEE$H-`;Nl#QOlHoAI(f|EY_b|V}{eU8MiqEMa$o^RCQ ze;)n(ealRVMv2>==;3_7yq_B-oj;NcbgHhS(p|71j#e>4H!`9`L?1`L0MNpjG^1Cr z51+g_>He~1w>j)(yGp|Yk)T1M}YJ0L;YSKk*} zP-!2be{dqct?Auoy`itX61J`TQsIl+(HheaHFv7l5yhy`4x0!E@ zEOXRA-Cv4WL|$78OOt&Q9-0eob{EOCtsri0)V7WI4NU_bLMU=}Q+XKSRKMRF1^tE* z%=YUtX&twtjQ*J7nv$6kfF6wjU71POIyz2h=r(tFY6j^s!r$m(QI9SzMjcyu)*(mF zms^|F_dKE#1_zenW9m(1$9v~@uk3k{k6BDI%7t> zr1-pT7|LFB`A6y_O-Kyh@ZlJhIcOKn4rmm|KkrJGy zaQ>13Z;w|fH=G)B+Hfo2Rf_O<#XAmLHyzxAAh~)8+ASM2<+#Yu@P5Ip=Mit6FxxWN zZ@W9vzM2a=f`*e9(KoY*ch)bCsjG>nhv*sjd6)-d!($uUOp^YpTk^s0gjzq2L-7eY!L~N0_RCOznW%V{4gnguC)Z> z{choS?zeaSU8It>Sok=ct1reY)Fe$gnxJSO1uH1D$-c$x-Qh_31Tezr2ZVp_i$G4)Qu z5|ABGpi4)Ao~yVlHF3$*t}P69)odi{lQ4xXHJ_Kt9_IfHC@F)?`Xlw}M|vH1w6YPG z0OhPlV1XrxA7CEBEhrWM&%%30Z zfFE(`Lx=CEaG1p$92PoKMQ>PEdV7Ew2m)p4CSk3UcR()(##j7WE0UXJaqy3v*o@rq za(C(KgS%bg7%hjn}IxHbz+QC1246NlgpYB-;I_o%>WyaN@DtKV>T2Tp2qIq^wGF@HS z`-7uO@)}(4MA*xSO#Cml!t@_MyRJ3ZrI7?moM^%?I~~qIW^j} zqI-nocNtt5Gr5%S1`*!meCC6P_KJX*0lgW0og)>@ly@mI;>Bcs?qZ!Pvct~DG(Sr+ zR&^ZN{4KJabxQ?zgvUr__l?0!=$)Ua?oKR+(7q%`NoNm}J-F{!tzl&@zDcT0*Lt7J zZymfcISgQV$T*YBv>~F{;$HVon3|x*nGD9AIziE{SSA903n#v}DW6#=wKM{w#p#oU zenY!{za=~SgAHx%6{d@aB)MMbSAseegC`|Gm#~=lDjDnNCWvl7U^! zc3c|LqEbB~Hq`>X_XN6va>)i!N z%0ZKuMLd&o?bpPOcjh+Jbm?3o4odi&=jXq84%9*>yo5u>fcCLNOqMO3FkiNV8_ctFeK`|nmEPTZ#GiXFTVbTj*!F}x4}Na;@$o$&HVY5*Z{w))GYS)tlCLi95A$dX+l z57++Y9XKwECnIWwz%{idzFyosb5mz(u2}MhbRg2`4{PpV=IYiqHVIIMLn#(&l{g)0 zJ$NmX{lts@V0wCx=zIF38 zto{RAPXJ~}Ff`XLk3i14-mZT_E+|?W=Q991O@#uA7Kp2_deHfpW4KrFJdi;$_*PGU zDNnSf-#)d?pbXu%-QjCFCWF48wARr8Cdc=AEwJ!Y#;%*4-JA%UNbc_SOD!@uix@Uw z$Cq!7kAI$hPF#*MWPn_nbg&r~bs`d(7dtj&chHk4o)K~^tw%7XNIB6!C{@Ml;cJz! zgq@$)7wGvx*tV0WPvYd_wboF7diq)`>i0pPlhQDiC_Wsp>V4k4R$&hBF$|7$ zTI=+rIthy8iGqOg!qmI`bZ6Q?H@ro-wN63C1%f#cqLkRa#(c=3H)JidPB|tvw3S&J zSj8pCG(6B_C7%r~8{&7N%r{V&6A5u;l%ZIOHxd^FGt)9Wdx$YZ4xR?0)VS5N5155) zQ+8f0Bf_Fk(JR`(MrLdr@S)vw+MptekH@`e2RW>rG z0pe=JlfQ%s(|w0h-diCm2?OJlq)Cm(2ngbQ{c$8nNFs*liO%ig7&u%R-)%~*P}XM9 zyIkKvRiz1%wI;B#g7M>{{gOoNaGPcN9Piw?**lXR zXkMt@;>~JipN5Ds5oU-qgQ4x*?fYG64eZlO@20l|3esaP@9lf2{qSk0P5TZ>CGo#s zg%5-LB5>~}tNUHfy_a~cE;drW+!~H#xjy&xOWCmWC_80jB{LO9O{`Nc%37eoAv(U3 zCXD>&gRvibMQmMk(G03jpzTyHtR~OkyGA-yOL{W64>Hl;`-hbm)vS~ZVqV!ZG2lDY z??0xYRNX;q(hl@>EnAGdzvr#n7Avb zp7x9DuSDu>i7*MXy?+1%S^J!ztN|6F-kP%tE9K+5Z`S0O3q9NeSOXnS&%5rM(5Upm zO;m1bu}4^6^^fN;UbhZ0XfGJ`EjYu_R-p?wQsmwnJbb{&kp)HH+qJn;qJkw+mQ>M+ zzg7K*JpVAVKJh*(WY4*yr5zQm+t|tK$vZpe9}4j;)ncOQmE+SOy#Z^&v`c^8 z#;9IHeOrH_}c#{1Bn zzN!z2-V>TGr@b|A*5R$_R{~n(jyxdpZ+FU4QGs$tZDa>}SDD|=4Zy#oxI7|0l5?e; zHU6RyV7lrS5U_QN)Rms5PMg~A$W#{n~b^u7)*4d`aIZ&2B z8rZyhL%qVYTY!5|`ADH;e>Tr`W}ulGD4UMK6Put{F(W@t;hvF5(HJ(&z$5u5N(3%Y zm4^SBNd7Nvm8_$j!mq{mA~Xb)du^k6XW{X5QOSbF-j*S~n01Ukig`uScD%XwT0a zZ1qYvjOiTfBo0%H;U>z*(p^l=-1U2B&M+a|J1nx`(Kg^z`^=?fEWE_|9Mu01_2Lh0 z&gJZn-Ef2+4@(JN&I7JZk90jMaoDfuG;BSQZ^UEo7Uu#9qc(42PX|M09#;s#ta>b^ z+2hSZEe-B=e;?rY%kjirZe-E5vURS!!RAEyRdT`UpXU;Na#b>;Kk8}jn({bXlvc`qEEP%v5AKz zh^>JAOS8Hs&$xHdLAC!sse@lSWTH-T3NzZ`1_B3^K?KHBEnFiK>5OG<$Ld#v41cYGKq9Ld z{cd~xg#~Mw|gk13vs54Os)v6RmK z5(5Z>-X8g#XaY+JR};26xI9S-g-EuzcmWfWwT@=se-D>9m3K4TtLdCZHIpMZ;_>C8 z;21xFy0iEJ0PvxBTV?v_)keQ_Bw${v)9=tn}g($sGpLFND?ZQ=&_bgN+W&$+J=z-{u$dg$~8N+5DWa5TVu|WS0c9PE>K}Ax@!NsReI`z^4oGg z0}U;`tT_O&K;b%+1EJmGi7))8lST`w{c{*RyxUV-()Y?$(CYbE%vR^4(bFpP#)ZJw z%Hp(s67*37HOSrmPMs0Vqi4`0S3HQ(D;S6wEz0D_nASolo-B;PNsgd{xw%568wU`t z-xr8)`K4I-V)RoP8bKczw1gM?_h$4-pMWJrz2+8AAJTD9ZWa8|acc9k#uhJZqqN*> zWJ9t*r<^;WXJdu5Ue|szXA^6QGt)}cSPy9JY-=I?(c&Jd^uXB0I&`u@*ZKrgZYN7A zRNOc~6ct943B?&5Gm4}><$ZZ$y~+E?Vsr7h!Zm(*lokHf`6UwOA`zO(^a}N>EOxa$ zom_8j^cw3aPx%74$_yY&MsGmuuwi>7`XmEp{Ex}Cu>n9gU}4kn#sE+^LX5`lX(U|m zXl=Ccp!={Wpd9bAQnhzJ9GKL9`?h|LJN)+vGZv^QGR#th+9%X)oF(*s!+0vtR5)Z* z{*0TJD1L^Be@j>q>(xpBVNz_Mg^+20egI7yDlaGvEUfV{Z^{{v986yM{|}(2>4<}R zLx~`Ri~NC-P1_I$)d%LfsqW5Ee|3F6E-JB~?B)rA-V=HD>GgDVz1_ax9f-AgxFSv-Fw-MpvO{MpJ&SO+w3Efyj67#=oxw^?j4 zclLAHJ`i&!j~~WhPeUM?}wJ)FuoWn+kd zF~3DvZ~xq%oHIUCYjvH0)m%%^VcQ3TvYQtVk(m)0v9HBW{JIvRarag@)3pOTt?i{m zhiPVsTai^tYrA&*6$Kr!*iXiA38&S@ZLDh#Szq_V;uYArflif_^E2v_bVsO#t>M=} zYKg-pL6(VsxxV`}vkvA&(2%F_i zXxEOD4z8wHx(NDXquRghmA*BrcPA@7OqH-rJRwo|Sb5t9@HEt|hi$(+sy7u7NkF&GbWppA zW-4GIhJzLS2=inC_Qjy>9*#D}y|T=jIC&CyN{ehOa^xg5xVhH?Qo-JNcKB!MxNPL)b zcD|i=&lnlxvu@zF^7IS2+(pnLR}g*1tZn+ul?og`jGQ|DdJPtJF)x|h!g$`-chuSy zKe))+VD0ha0R=Ww!@u|kMkV`3O4ie6nJk`#buKDF{nd=kd`_PZ8(O9M6aXl2U(`T1 zx-3jzH!zqd{K#QXKzp7gEODn{yUG&rswx^tsLPs#>)8fKXyn`*(#O-IzpWTcEPQgg zqtz(GjXA4y+?;X5Gd*?u!LHrl&;Dr zjEjNcDW80RP*i7%BN&FV(?GXZjTVq-l$H(C>8jvE-s-XIs+p<6o}madL1Y8%9%9zI zYh^ByCe&m){9&JOYw4eCpk@T3QTnH&3{13Dn>>g!4#Ag~eUvRK4v9G09!r;fl`U$; zwqKWE#DL7mM4@|V-9gEe@V3E^vTjdV&PInH>ns!oR#&@y#067vOaCMvatFxQLQYTl z?^YFI9Enee>*gTt5XRn2_q)iDS3zL|B;+EB*Mo>rQ|*Xxqr9J1TCq`=6e(kNGot~B%VBBJ{W<)t=SpxbqPAdHwkXIZhrW#&wR)rnHunS$h4KssF)0WVtEaPtC z(>mm6l1&o#uHL5Ic9tv-J@b}VL~?)RCZkd;;(z8r`g3c9LbRhs4{tGS1NQcbOg+aV zKF0p9`Xv?M*9;>0Lw;DDQ$NIfc7qi1bh9WCu^DVYQqB&Y-Rbn{F&rq94JVCHp^PH+ zW4y`hYucB&T-R|Goqf-eUMsZD2Hcm0v-;Zz4rzI!T$jpp)cFr|C^m}3GSMIQDh$Uz z9V7ko#frH(lEYRqPI#NxQ#wgz zw{5^bTGDR2@Y9Z@_G>`@zLADp7k_fPyYGqTVCDV4G+SGQrd+Mez1R?M!R6ul4b|Lvhfj*yQG0KPW4*Be=go5ymV8+ zi(p4}|CA$YuhUgeM|O{9GW9!#PcDHJ;<#|xy`&LKAO;}Q3_oyA^hlulR&B+v6zoRJSSmH(+>nP}1G{}8WUlwKRAc z&|$rpdgA;Xb<7A*?ntir=Riy*6Ih|NS?4o}^FF5bCq%1Mx>%3$UqeT)NoZaYUO z1$N3Cc>h58@t-QWMfZm>BNNTrZ~ux!_Tu|Rm3%k*XPq(7*C z&Q2B~uMLVCTqjAs?}#m;H<MiW zt(T<5Jl*iZbfg5l;9)pOb-Ynb$xJij_(4rDA1{JABdA(B5kT@I$Z z;N6VK&-(~sQyFKeI3_Q6-!Re#WsD+vjWaN$_csO?DuaMls4C4^2^0gS?G5yBMLUHq zFAb;!ibbTYyk8~0aF-1syvGlUH#YJ3ub&lPJSm&*5o_es_xe93I-vxr4Eh5-4NnWSDR*9MdsGm`J%2CimWx*d+4r@g5&MU*)`GbVlI);4#*8t+pb}EPtVJv zD2P8lYEbSlbIpNOYv;>fEW(++?PnBAXP`wP6*j#2`Q71NsJbepA^{C2ZHgG29=Y3LaiS@pS2!$yC7w$oq zgZ?Y4Ze?o!*RnWbSs~`$fxjVB3lQ)w{f9&wG#0XF*qwr++!|9RHG|$J+G<{9Sg`eW z`4dc76ODM4KsXXYG%sp*y&t3xHPc$T$y9M|@5d-J$v3nK!{D)C;Q-Zjfts0cfR1~t zW=JmX4Ya;1aRHBBJ-<7gSn&-lwjxwOB~RYRwbq2~Y_qhXBD4R8CG4@C2`~W}K0SCm z@h06|@264XjH%w&alIMhcoMEmxNztPv%hjU3; zAqp0(P_?ylNNY^gxqkN`n2I@RD5`Hqym$7S!LAQZO;kmE$vfxBozW~rLmVvNKm0OG zTJ5$Y*2Imzp#J8?{D}8V>)&3AOiMN=`py{S&stM0rb)w91tkWi-W{2(j{!^Re^Wd; zF~WeN2OmDY-*zWY58v`seE*U8Rk=|&iUvlqfK}OsM1lD$>f)C>w?0-ADx93I8zsw< zXNPatuUrBzA~yOwcIfc3kh3Ir)GB~6&Y_QW;4}EqLwXn~c4R-A{m&Axqh{&)D*JP* zZo2Z*WaYCmCv1#=Y$B<~zCy1q#^O~zY(p9ap{lhxtgMSUuUQ#(VLUZY`Li?nIwVAI zSzH*))WLQ~6S2hiQ_V5$DupkC)zcEa-aVHqp0$%@Cv1q~hE>GHA&;r@(oBUZ?GcTG zpfkmn&{=o36HE*bkY+1|!|>I~KtPAT=Y2G;fArhG(=!vuYNTtxGrm!ni8W)0q;Do3 z#Y)+vtkvb_ydeYn>@JNv@5tW&mp8me8lOX{dDWmxk)}MSI?Lr37X@IXe>6OwB%y;2 zSLcBM8=Fxs-&E1mS6|`nUs1;@&EH&Pt^Tusp&&ON&QQekDskEAxVYdMj2`jhebG-X zb_Je1tbkA8dW~!1_6x$n@DY(o8KNa$?CV65`tM~{P` z=XGqL>xdh^FCoL^ycVg5M$}(9IHru^SyRv_#akQ&)A3A*Vw54gYcvotjQF}U78+Do zC{S~&=?O;RSPhq1>`g~!d|kAD%~b!JT5;z^W@(hvb-`ojm|a3(lh zA%UeDJYFCY8J%S4uEQCIcu7Vw8T~evIv@xLs}^2ZYDCHApNh|{j0Y`dJ&JfoE~l7Gj5Ex7xy%MegEPMG&JT}aRA}Y&Z(YkFa?_#1AgwvucxX*fU>o{O zBKq773jZhn7AHGAc#kVnmt^$)0!IY|)F(zry2v!=1o0AXoO#v=s3t^@6K5R#EUFt& z(X_^Xyrr3E;auc%cWN>ad=f3zLl8+r(%&H1zAM>}a7ej4=O^ffzE?O*&eaDTE2&mQ z4(|vcu-~n#$^~8U#ZK9|G+EGDBoE!i=rKKJZcXvJ}_cxXT8w;E-R-u!!IZRxAN zE>jyG)uwx|H*wXbj7L9V208tD$@mzsqWWwSROQ6JOWzxT6k$sA7?1A5fc3`K?H2|1 zcTp4j)O@W-#MFV=#obt$6G%Y_S1787Y}nssU56|0IdE8_jzLBAXeiq@m6>9Od9eN&4!Fxm@tsZ7ZI44p*Mfj-;`|7|9!5I`5VZOb5BiW0 zSqC+$fxoWaX`ou5d_YC*Z1_ejSz6(Yw&hYi#HP{smHrD7&nY9a^VamPJH{m)zOqo= zO%+B;c}PY|)7I&wSpd{8l5cX;(zw5PtB;JokfJyc!GxUlW3qV^?1kBaD*=K*vRKAt z=+(|gjE-_@OX#R617kKZS%jyX(aS#f{HgIH;pUQr?+D&!duiQTpd`rnf)FQKSV~p< ze~H7CMMi1UF10{;fJw;m9$F_OcgPxc5SLnuD}1}a{P5i)?_LyeLhmkv)wsGpPf3Cc zXM4L8H$?bPMWD<-DgK;60o|Rx{vroN1)HWu=oToUzr4|7n#I1?~n}0t}99ob?HP}#MqAmbC_&NpF=>2Y_ zq7Dp7YaxX*-#wf@YCV^C(^r<946~2MK_D)@AV`KL<^i~*1x5-um9YW#lUsUKtYe8W zB)QPwB5pO6+OC#SE%%4j6_QwOteX0fVLocZUF2aL-mmra_z>DDYzxLcW{|vK!ROD4 z!b`rGSixpWN}3(wpWXyIvLeV-m+=s+3^J^W>^JIlA11+|J4t?o}1t0oyUeR3f1 zh;W@-&iK8<2K669bXLA3(foi+_}RVJVnDHf_L=~bS_XUz;OYgG_-DzV!@ed^nHNR% z3)BByW151X3&%9#7tN4Trcr{G=e?=_< zj$movs0?);jj9}p=CmT%0biiP3BJSs>&0mKZ~@bXfrIg~UjTqu%@GN;e7A-}!f&2R z^>qV41wVLR|I-2;1V#o0G_3f>gsDYL}?@g{Ug8{ar8buDIcAmFDa1l^aqtFZ77&%V&s zgxm_OkZMKO{aS7$2;jyyrqE5j=U9T*s(LY)p zs&-mwz*?80KAoBe{N<@)`(p$6i&h4r99>}~?HO-^sLyG?ImJ+Sj zH3_rnQ?xTOR^!%halUJPig1$3l>#K~Aq+lrB5sNnkRWvu&3HPgjwjO;Ovx|7k?2-f zCw0b0pg?s^BLxFK({5FY!QKx`m|eJY`$10sq&qM_&-48iBkbsxuJD2JaE=%FyMt6C z#t@*rZB$#4OgQL56^WeF?qLl2uCU9Zc~2ZrZgx5AE7E0ouj5g~%Pw?8^5hQsq-q8#WKDRoO)5k=%~7?yyCZoL$R$B_Up`c{r_!RIul&Wg9N?&H8*JOx8fN zhYwFg(+)8KVa&IY>2B;J(}6H(5=3LJ-25lK7oHS*8M&4#P65W_6hgjdi_mCQ9^>{) zaWR*6qF)5-lp&;ok>^2wx7A|wvUY7jnw%Wsw3Yd^s<&pc59Dg=asRLGXUY2Dql(CDLdeiG;}0VDNg&5rW(J ziI!(90%4=UC;@Gw?vw#fKa(M7G);s(X#iS-5FJ?|A6BnE)|#6TL#~ zZ$;R|CY)}BpQ9)a^)N-DV%T(m7|8_Xz3Z>#jAc%IU+I?Erx~tR-~C};0mT488d;WI zL1F^hkq%^t0fPo)YP>9tgwX6bbbt-VPlfo{XHHEr&p(ZE`^|&J$CzvS5HLQv+10aS z{G^wkvkIyfp~#T28vSLImZQZ?Jhvvo7l#=L7!&VRW=Lu>8pcArFs>Imm&v1AE15)a z6WmnLwiJ~==r`7}ZI(>|;S#7}6d6VFE!#h7P~% zv3Y5Kb}m3v3wB&ILa^(!%8i?2C$Jq^hN0@eu^cBPsAq}^*NNC!kJ%KE8GT#X{quub zCBK3Oj8e)N+F7b$?WVh&5(#;YT38(v=;vK^kC8nK;pv^_p+=MArqZVH8cj3at&LCp z0F)~>C!GSoVk2Ya#@F;l6>K|>s1`f8C$P;XL1l1Za~VkES3rr;M8t^YinY{1w?-h{weiCt>5Kt^f`1R;!tir|1^vTiX@L1+&_@Un zlc@I~H0dBIDO-n6o8Q*Q$Y(7B$4UgMk8|B_zJEin|0Ofdx$OBgy*%U;cFN_%RF6)h z4~p^^>wPS@r*Aq;(N+ILOtsj_%C~x)bQ{o|2&!?-?}_=r$1MIi43idvf*Kytr| zxHksSf2RV024P$rJoA3xl8~!SB4LTIN8(D;cP}6H>H;{}lj-p6v>RnAvy8}jJ4@zn zOmp2PVq@OWQH->+o^rb0U48l(dLBp2`K94LK_$UP(cm-S>x>7L)q^SYYw{s$d!_rr z<4ylD62^cq+bh6GOzca_QyLqQDf2ot^tcAQ!S>wB-26+tcr!j z@6s}8MQ(Hb=8gb)Xr-xnTP=azOeN0#+;oYQdA4RYmcGU%NiO^|T|q1x?l|;sS~%Jh z@jELo0FaA8HkQslto;&+G2LDcWZ&vd{o_ytRu4hw+6uiMU2_LNnBdpNeW*Or43HGP zDZ))nW}@Zi@VWBh~^T0XnByXWS~rMBbZ((!}rNTDO6IR-rlyTro%$$Vq; zs?sF^5=6%}J@&>HM}|jxL!1*)Pae!p#^@?Qo{1_n)P0|Bv|m^+{^xX@(={4f{!cqw z6KlCOSoQ%mRPFi@=mvf+U)PE^WB^Q}tQ+xr)O(;S zYUt<#A6Ez3j{=zUd7=#{m2B*92-*WWir4FXtwMOm8P9*EUr z;7Gkpvf589lI%Ur)ARhmd2YMiazzl`$>kioF}{8Sjsz*N#Ni^K_kIK>3#h@Vr%DsG zijI&xG&Snx2w@jVc6^^@H;U+;Mec~$6-w)n&s{lGDiJqvDJIHG^NhtSr20J=hSdL9 zK!*vrMlS!F9!a^t9$BrKIJULsJ4AESwL%&5+^hh1V@A%o0Nt$c6;(IE;cQp_$W)EI z+(-;D6sX!_7|B(diaHTQ4|uezLs8_MA`Ci0@qL)+OCFg~%CP^Zw>ocOX{u~E)LhIZ zOQ%>QwVX`5#_O>;x&?2g$@{B}J5|Ll(GFbUn~BR~>27m0>4?q2rS8xrvFTU2>hGu* zL5QzVMS;qt^I5WrXax7sVz2f!&Q-M3hGsiR?a>Hxs~ip*(+Z%zG+<}0-g3F2o;n3l z;BxLkzb4ryF`scQ!)}%>9ZU|HY;FzBFhevaTo-pT>KY7P*_$-Hj3^%_yq`V1XhjfH zdfNP#<*`hq6X@8NI3OfB;wgrUJEud1v6|O$S3o3qh{|g({Nj{iGN5DwOGMf$BmbwY4{5D}bqR_x zCSe(c)kl$~MgZfMUO#jK-lKF%C0>&O1{XoUX#{?uF|;rFMizt3k@4sm#yRcyOi@Ui z6U4$dBe>HBGKwINa=$NrAu>aXQ1?B&&wi_bBnQtznesqck7n_|F+1hbj)EFkgf*PT zhDr&wT|i_PKIFy5{2~pC2~`HJ^qL6DcO|UyzQj%5tJWaBE>%B1UUaMdGKW)t8d zzNqM67n7RPrkGmE{+LK)-ShLCAjLZ_p%ykvq;Ibc(Vt>0V^6pc>Q?30^Eun8KNQMt z&mb%D4H6ZDcV;rXq*o7Xi2S{~05cs7>E>;Z0l;ofJZYTu(|udng@a8)=2#5o2=N>E zt`h`4_I0H8ZU)~JmCh^zOeA-OPe_8rf_xl#6KQ>=6&r~H1*npI@{hkIrY87fLI-fY z`$Mao%%SQAX&`+)W2*5TFJRO+s2Q@u)ad&Y#p#4VxLoycXGJlNHi6F)*C1zEiSvm!+z3!@G#?i`CR|t=cU66Uo9czN2=F; z7%(DtTID<&)+aw>JvYfe|J)6at_tlK6;`NwP^&sNzF2mB|AAbu^*np15Y&A-OtXajKV@?4lsMr!29imJyh+!)k9|=6|gOSrvzgmuF9#W zSOb&Z{z*MGz92hb%}d=kfU*(?5MuwcxL+D#x!~L^TV(AmW{g6ljBZl3HzFuHlAWRp zrNlO}|BJRmR^ANSH)jjZd=qQB+WxiX3JM@gODQf&@3X|pI(A6B@a&3UPm|nF3vkVN z&N6WKsEj}63hZ!Un#!^*hf*ap`lH(N!HnCh?(OR_Pp(Pooo$=0ZBWsv0U4mi_%q1i z2VP)r)=n`FE@;U5f&f_bPU@RejmMGx1KnSWQL{gotG z|Mym`bO^yMuV69G0Z{dyU!SteimjLjAb!X)F%;B^=8s>P4WgA?x+8k;&X8>Y#e?c6d zPs{3 z1?GNk7j|buJmb99-1n{=ScjgGMUAX?H|iUqyR_~DH!C2Td94XjTOLwinNN4t9`xoz zkdk0Tcug`&2s9NIr(8J%)F+WpVh-{D`yDNw>0sn=s96)i)Ux@@xm0bm^IxDZ=?#GY zypsMxFzo+M>$}h~_@=K$1w54+9udaI{)~7Q4d@gguTFBI1m2?_P+x$P_o0@em;X+- z^Lx`V1dXiU49pz7xe@1i#`6gN6}G{QQMN@hK7}kh!T({00--v1+Ym=cqq%byG-ET52L8+aa}~aKWd&Z7&z*CLFs~ z=^l-;RkNL@F5Zz%BeqrtN(G-U>CT1=JmgJ#_3sm^dFih=PgVwD}#F^TMN0zd`+ z6N$ZsEKA+Qj$(V(hIUXhnx(7`D|NLwkPAHgOjG#qzl|} zVV(Eq?9MF|tjXnSg_BbWT5(1@Hg?SCWPlDQA&45)?HwOX>qB+H@=juKB$D(H6aE={ zms%VM3={I9^T70#cE?hyL++HobJIGd(7+$%58k>qoJ(MYmN}E=vn{py~PR*Q|-TYLAYGfn)+)k}8l$X6g@@ zdxw!Ng9C68Num5qQTp6N>Fte+{9Oe7gNA;^J@VvlcKK91w~r{qS)gM~7_!Yt06{7L zk68Y+$%s7}lB}6O7-@!qu2HyL?oj|X%F%=fV6T<>!qr)^)x`Di>rZ44mW-U3n#hrM zA}Af=m2waYOgcEhB`YB(~Qf3smeGy!5;<=KBQ1XKW!J z3F+uF*0R=Yx1eQCR95rrpu6#Bc0`FMLa>q2DDb~>QLYDG)oXKwt4cpxsc@`(prG~P zQb>t$GvH3yH3Bag#6TaZQ7Lk=Pv%FbV}ltM^tw359+*xCq7Qyq&=!G)T^@Qrsq6*Q zH+83Tw(Fatan_G=`21L97HtNI{E=gpDgJ~iC5TaQP5B4V`(Rdu6R&XkFV`S7u`tQV#!0S(cx_zUUHZt{ zhfa~)wm&|!6GSi{bBmNH);8p?640MkiBPlz>y6bhZ|kutNF2zpFn@mafU=aByDNTP zj=u)<4nmPAp7Uc)(gZU3x7MkF zBhGax*a8UN{9G9Y)qcgJ(zkb?S1SV}q9>JdseP~$$LBOr($PCEGLb$1nc+1)P?YY(*~NyD4ZOIx~uI7k7a$d9N%2AE!hRgZo# z8cG|8(Q-bT6>I{)=`cL7vkT8X>sqjWq(rNp7uPj0#}{4K2V~;x$>v)P;YZmej=p=p}ehPy}+w^ zoFYb^OCInHmfIuYq>81*AD$dfS!V{#_S?5od5Z0u=QR#M=F4pB6rfg(I*KN>hafr- zia#N$gE6{%)I7^l%#Ok1+;M99s-m|KU;B*SK^3ZV6_w75VYk9zeKXvNgKNTx_2^M) zs~yYRULRJqjG0*|Zlb|cuHIpCXZAV?oR{s&)#I#2MY42~#XKt*1BPx^mG$_a%at$I zv69C~Xs!Ul6Y4TSZEHJ6=U^tH!rEyW>q9zFQR5wGR1Erlqq*9ZFI@|juyjuS_C0-h z16Q#g0WlrRcEG33JD-Hb1@nG~hvRE?r=QShvpX8PHXvZMr$a$DRY)sg8Vx3;PrE4gs@xc--0tBc} zFHd5|4n|0oo)J?JK}EZ@Kr%k_QW5oyeeu6Hr}yWxr$5fRw}0d0C-4!pKE6CbXnem{ zNG{A`P03%O6(wd%S@yrG)V=?)tJ&gqX}agE+vT)Hv~oIZk%z733RVxYs_RYBiqI%% zhHDHv81u!Nj{;YKt&{%jsbebXF5w;6rTJ_sn+t-%G3M=!YMB*cI zE9CGG3EV1U2JioTc)1xG;&_u1=Y5lEQ{Z<1^?)4aMSY4~gW`mX5bSjHPbj2IDkC!ei&?xT5}?mFR1BvkB0+apJn@%!W# z-qctgQD!hHNG!q|&wUA%E5Gsvy*OAZUO43a8{2IzFmig_Gj;dc_NGO{p*ZC5qa||# z2tE_H^(}j|_APsZ2cKBmi0A(`DAC{NTGw9?-$fs+PI_% zY1^zQ39pA{ZO<2Yi~k(mf8C@lV0zH7R0d0@fDMUdl>ZttyTP0hk;pCEQfVSp`N&Uu z`VA%>{_A3#0^^2-Pfw6tEG+E2}4)GMqse^oq8xQ1)Notc7wL z>;)aJmnOeN^@Hfw1TU~p=sWGj{{V&q6s`uN0R}vPae_JmTOYu}0I{2X-Y*l3jDlLp z8V>f=pDsfnu-SEw0W_rAQ7g_q4=)}(I(_SktTGUC{H-Z#>8e3g)P`A8{vEF)7#DC= z06JXM5|EZWG8TPnPLD`nz%ku{kbdN$kXo0_xU-N_Km_atoesHL_MuZY=8G>$GHj|= zX9X&L%|GYq0%EO200!78uV6!G)E(d0xhVSl&|lk>WP>E06nFGnS;gW#|-Sf}4iS`#d26 z_}0m}gW`EX*w@=GF#5;6(9duArZ{2Z_+Os`mRMSZQ$1ebAWE-pynsSaU{nBXGQi;4 z8y(5TVgw8Zp)KffNVZ96AImhqqX!`O;sU$%3tUXC*x=(8(cqDJDsX)fF9?#2GN63* zOFe>W3YytA3Zu3){x>AiVr#vGD8ImEogWj1ZT&7s^Wz}duDD~WubVoQXemwFh9_@1 zJru9<*2>&!xggqn_(G^5{}^C^XTpF;t+P@XfAOkZO!!etIVUCXr{^%&ow1QRsJen2 zv^3li1Bz$IQ<9tRA{CA2A83L!SW!0C7@NZz%yaMFKuEC=j@c$_=td-==ZJul%X#Em zO}tx7(b06W=yG#d?BWRinKROf-_U1P;VxEZ#E&=KW&d#HCuAV9oWX(S&tO~t0w0%# z0f`EuJrR(O2OXuZRO7%N0-L=A7-KAST;EOl{@KjzwN_e}`D0rn5fO~5iF{2RUz;dJ zNh*x0Zh8zm7=*ZDu*}=tWZh(n-8@5DEb?HWR@hs6rwxuRN$pT(QNQ%jleQ6A(_GaB z=rx1;YPfQAQjBKP(=JgJvZtdY(7w`zi-f6qTN_;;uDvZ`_DwC~ji%F-W4fKr^(>fK zpem6^fz<<)3NPdAO^@FqutQAjdUZqPdOa`DPBNvHpr0H8LTFR6n@am&IhR_3KGm?Jw;)Al%v_FtAkI!Awh7m5T-SFa9f zH9sNM{^L;G{RjSs%>XfVIDteYgHZ@ z;Wk~<&GgygYwUK*bx13soi&beCTuqqxY5UWOuhO@oBFlb@Rw@8^k=XP#{koce8r26 zog`9Ah8M}>rez}jxoo~Gyd)1EA!n`ltJzbb|8(#yraoN4xBD#fONWpp!+A zf*O#-{rP9*gV$t{|6UE>THbK9={d@rtQR-P>8ZFO7*YQNBgrIF9Ovqoj^fdySTd_= znHvJk9}`4Ng(=PD+_{G%6ak9x&+$Y`gyb`+*SSkm!78WQ5TbnnaKkLU6l_0cMGc#! zXYgx<(z^8P2YPU}DTw5@&TOIxY$YrvJePqmSrXJDe*`>pH|JQoT&X?p zzsc2~1%bF%Ur2O&+#e4Y>yc;Mf{IeuujbuN&e@V3jIJ(2x*t>Cz2;quU&^ap#iTtW@}hFX8F==KT>g?Y<5Lg9)Shbo ztU8Vl`@w~vYAT1n835oe_X7>g=SJGvPORG$pI93huE5YojkoM!B-B29%xPPE2l0iu z;QMDdZo6HTI%nEMH>X1>j7RKe_)f3Y{>0kcYa(wp#goF`Eq*Z4g~-xOhAx6y%&-!P zu7pVI(xU52Pe*K`}*_&-{UZ!B;OpXF-IUU@{l!s?dEba|FdukXnWN4 z=~=YVu&yPkw5k6u_YH!=+LWfHl$C;THSux%iBLE6GUn=FaEX#h*%!FC7$s`F>c#E! zZGX{6zU}YmXnq#y4~D{0i+xH1mso|-wqCJ&=hG9kG(cHS`Fajwb3gL*VC&f%D5=w} zAM0&1D2tLN68ZiC1Cb9#wCTP5ek9@V+pX?Gu70IC7Oln4t|2We&=K87XZICKroRlO z&OWOQJK?n4(+q-`4>zT>eGdlnsTUsWKjo}UF_vBPhp{cxC~roGhF&LUoJ(GlKcbJ; z{>d&`tO3{uSazJx0|4&P`mQ*Xw3J4BC=KB-$)3{tiT0f`T7KGkk8T?iN2i0^*o&KjSNu}fu$A$aMP&mx}gOI!e zk`NRb`=<6IBN&*{q+0hyNcum!psesNNe6&fVvXFnHCO-IB? z+5O$T+kxMrkB?fBIuTi@Xjs5S;o>7P2mKk5sFEQ7POj5)wihV+#W#7bVgEerbxtOT zB=~vW-Zw-7pZHmEHZ7=zHVgy2gPi-7E_7#7@`yCePXPjg&6!#s3`l?jP7Cm!9=^%S z99yuybs`j{gmT)3p0>USK{gD@X1WF)u4|CVu9-XAVgMLSrD9bpc3Ocj=%RYgRjdtB zeo!m|&)$aK9}i~^4#Xo$E7snIhMpFV;_hIcDhH?_1VqL?Y&6q@tSvmOIDZVl3hxiO z`+@lGeavg&4ZJ^2$Zc)VF#@hG8GtckW47#G8A4`*E{4$YV#F}>=K~ve`V?<~(@$R*d{9v_k$wCk!5i>Y<_*+Pzg9*%wEJXPNoXA1F zq6*t4-yDJxlfM`?*plvlU&cA938rbFg)Zbg0UQ@4off^daK1YPT} z{$!(097thEKZ=6BSVF3}h(bG+c3;&Z(H}>rE=Xw7l3h(UDUx;Sq>P%(*B5NDPXMtL zf|_Pk(%h%7ztfXOUi;S~>rc`73?1#7h9NzmS2;j&11W7M*8=g|Fx+wwQ7pIYhfLjc zp?;+-*N<}XCK8vPM&I{ioec#21s~rK4G~i5KAoTU6zIJaZ=Dm!N#}1(h5Qhxira=F z&_y%Xp#sZpkxp=qRqHU{$Gty=kJN;*nO zeE1UQDpA{ci*LrF(0QiyKmd@Bu@+H+lx_6>VH$%R%eVdFu-rQyhqOhZ>*gOc6_8%B zyZ>nZN5c|HxH7(x_mU+YX0x`Td_w)*9edl4BqQ=-ws#UmI`iUGOT+%>&WEJ~-{-*b z6!$@Q1tSO6l+f&fo)pJF{<(HOhMxmoqWf;($GR+A*%1k*-kC*z6x;>>&KwD_T_%>Q$;t(Orx7`d84`fQd}*)pKKRy~K|mpP5L3v;b`8&<;*S2x zYkRA~#`M?e3|0YZ>0_=8$A5~tr!rI5F85_gaJbh$kvqpP9C9mpJ_OjgpbFB zAd|Iv@nqA~XVFAuuUa!$A)>=ZR#N}kG1mI(jvMS3kIx>2j)K3w?)vbVZ>lP>agcOS zFI-w8T;$td39G8&$SC|d;KDw_flQLq4A;cC_hQhXSTVFQG+%pP7sF7JS{1iN=TNT#KNYHx1p`s#K0_+2E%x}NilGQnnTz(6TuyN~CZixR~K>uzA2 z*_mF?DI(c0=`sq^EibHftc=7pbZGBe*5Uf$86g+gXwq1=jW)~EFUNHIE;J!;cFnn( z_E(5DIG3VKh+#7C@cg}$1jM=8H>zV&U>j))%MqLa!rro&^jPa+b!W3-ZRoBt^wyA} z)0gMymc-h{(}uTbGDaGe(*89dhpDA`Mx?DP6V>-J?$Mc1aEYyZ3uqb{hF z5pnN2gio~XC^p)I4B#EY_DUUsn33tOy1%PmReavafx0=wF4b{2kkCcV%Uh!pbYAAC zrw4Nfc!WsKoLK}lL`I_vQrAN*qx)u`+)<7I z;F(m}ih5J~l{VJ+=a!SMO0mI9Jsa(TcYF|KJs*{jyWG5SM2i*tzkgR4ztE2utL-nL z6U7YGAO)utSrT%>Tce>2wPE9uwG>c{_~6Le#XqiqxVzkD8h47|x&ftyTc>aL9qo24 zAhT~nSsPmd^KZF#dkfsAcNOk``3m|(0eYRPk|W}J*Zn}mj9lIbtO!ZL$hO^o^G|F5 zRa(BDF25e#AJZlz__NP-HvKc%!Db5O$nzuJj;bw_i^7R&2i)Xb?$eU5mKdeyUXcmn z^oAc@XHfq|D2bcQQ0-!}` zL{-~bd|>9lhggT$F|ZwAv3smtymjOvE<5k=6G`!-8g*|XV8AN^ZY*4fMQUxUg(V&v8?05H1bSzqE&m&eDTvf`?Suet% zHU34T0g}cb63uLK?bj}^i`2F_!?drGVdo8DwB{)s5vsf9pJ0ZzAsV}Bv@$|Hbw>w? zwe~n~lf(J2Vg=Ao{ED*#CT#8f5KnQ{8yuJ6I7sSzUVXqtW%YS0odiRxCg!U zp_=K$YVQinsj z@$Vn8idQAMI6-2SC)2SNFGk5JTsCUH6W1-R7i$bn&dG2b?HtN*_tC{Tvjuee< zuIB0}LgKBGl~2T1Bf%3%5cq9aVHhi`aH^aN7dK+12ItZ;8FnN=(E4Y6TL#mtnUU)r z$KVng$?wY@0q5D6t=idY-NH4ejIx|7B1|FV*DOcLgYsaUCjt%3m_MlY@Q~=lrT^Y} zwff#&DD(n^wQR9zIKT-mlUz!wxA8sJ_Gr*i@1{GWSAqcyiIo3$3reOz3i|owJR`r! zQkZA-fDEx|Ufvrzm_>M#ZMb~+$ZZ}=In~n3@VC+Zd3&~=x0z+5Dfrh`fmi(wW0ZIX zJ}_(__xT$hv;C?=SqjEYUmr3fXki%;%s02~l7^k($v=_!2T%eLgrQFA{vo3Em2m|c z#}Zo~Ze5e3VyQoeup`pPy~uW(BriyXeMAS>8-gla?z$7F^L4*Q z{e>7sf*WD+HR_>xDDC|E7Z;C%1=a#J`)Us6o^^BxeQoe|xOwB4968Yc3%srBu;4!) zL}xQ2J2)U8IXDrJxCD}>C6pZ88VcYjGAlYkHt|5w{y~X}t@*kKry0oM#M-FfYSOVm z`oOQ{;2iqT`Q!2R@B*ExCnQ%dzV%|tovO=FIi&Qbd#;m?4ihO!uTcBEywL!<>qUR^ z$!4fzg;ZJshPx%54!<>=0DooFZ_5_T&D z8T0=*k$|a*%~~lSV`yg<{LcUr)EU?WDMF0MWiC`{j>1Qyb1CG*kKWzM|t>=q-C#`j- znve%M1$gQH7boG0{_A$4zNZ}zI4P0F`os5Fk@@w;C_=<6gbNE4v=cA^asu`|_mTBW z1zH7N(n+b@aOEw7wTNSbcaymON!A`*Htl$YvFHl-$U^f(M=b6KbTsB}&4{k>CWt<`<+ z^ZYW$)p~_)Bi9F1AP$h5wPjXV_#9~K21d(Jlilyzwwe3!c(MW%Ey?w$h$mqHWc@`N z?U_9^7(a!jAd;cN7D4)Y+;_-F+{TZV9%MjVQ%*nSdmHiDtAvld6es5qI$7uct5u6Mb`e`FwoC*L@O!CEF*yO9ifXPG< zYWSOR-J9XCU~*A?2W?XTZqwMMh49n?DQ6J`7 z@Blorx9dZ{V2O8V|OiyQ)CISisrzjhGbNR2CWQ7)DdTQtw{lh zny;5z-~=aDDG3&v)Tk8|DsCqa;0Zid%2xmD{qo{vP{P@ zprA<3)|mHXzk7>}WF9g^m4v{?6DTK2ci2pHW-^YyLYPYy?13{$LVhdBEne)=9x-+w8K5F0FGhce=5%!^;slXlBaexn+D;E= zmj2lN(P42owTXkGmO{Pzs~k8J>{4MIy5^^Y`G-m*r$%B;BZ`vt23E# z9;D~v_*FE#EPVd3NHzLkcWym!m4PCOCqELadVpvxA6!@vQKCkWOioB#3}{&Ee=1OG zTx`2mWi|yI`NR|>$GO1+bVc>g{k2j!qb?OrdbkWZ@ueV%@Qh7+Rg7BLg$E45 z>D&UO{}DpN^0s#mJty}!s~2yI%JZZ{)m%FLMu3=MlFP$k^3nv6qxLC(MjgbBJ=Wjc zz28}Q=527aH2AvRl(9UmB17U{eZy>i3U!l+5*VC(Lv}S|b}*z}G*hMm@OE1{B^=T+ z?&6RqBSEuQ`bEnAI8pkin9ez2rjKQ$w%GMgO@qVjO2KELH^S}6vPD(jrgdBCC!;8Z zux}!P*i3W;fxGrGpL%H`**q3edJ%)*LqMIPhj*H*!9bCYs_{tmXVqc$hxNkDdcC{k zdRn7-8!A->3zlB^sL@~>OyQG$olQ&YdE3jQqESG7zh@>H>liX#H8RK8! zF>AU_3C=R}SZfR2@^M+Y!I9tD&oj7yrG$(V1Yc|yVxQ$h`qgsGZuDRgU0mk_3+(4M zDJANyWmF2gB(iio9HY^`v3c0MZ{R5*!=VD=_x_ zQ9I20Q*{GlBdJLj4B^UzSJf7>Owq2&VyHQ740f6%oo*Us(35a(&>CevI_{@%B2q4$ zlbL3p;V~&FNW^x_%T5=Du6Q?WW3Hb+ocux0mDHQlt&g}48;ceA|M<`zmNYw6UZX&+ z!&Gu#c7eM>`P>KJ0GyfGxjPBU`w%kJ#Modr*|Sf3mO!E2DN9&Adu&B}s#>zCfp$vp zR2dmIQFyQx7ofy4H%Cd^+wUhSJc%k*y&_E0+z$~ag$aPRnSunb^n+4!OdQ<93*$e_zCq+IWKaup6h01PYQ&463I)V^fHo&Ll{pYd(Yb%AMf8kBBI`wE;B#xVJWq86$DazKk{6a^?{EfBvZCAAlXlL{%}BYX>cwujWeKu zG&mkjNPVZSn!Ej)U3De1+uw@J@Mc`GfozDb@+e=wI1gHY2v3g-76Q3w+as{(TMlr1 z?v?O>p#|{acrPsJ$!xD<$@;?Nb9O=$*QX21C~28&2vj0ex>{(9N-QOo={qUvZ=?1) zf5e~0-ZIXcQ7Zm)D&yTIh2->^#0@(mrRFtmT~TJDUzclkS404}L`!u>vUwcL>_L=3 z{lhpmgz~ha#^jV+s(rR*F?vBZ7Y2~&*E03{$Ct~f%2lJPFKUV4mSwPYn8Jw$9ga3} ze=0$3!5ErU?MNf#b|(=IwT{G4k39zJj<>&` zczX6eqV{{K`&kxN{c4X-r5-sO#f_ZnI^k-TrdTF9H~M|7v6tgZMuNkGL;)du`<~bT z8_oJX`dX+DRXmc2&?Vyi*^~@*WFTBx;TUDd=|EA`;!l-NuMujeYQ|$alPa1~)uqVf z1b?k5tf}XSi#44|h`3}Y&!#dH3h;Y=;1t1S(=5H}c9GjCWd;>$(}lA>}1eBt}C z=l`b`E*K)34s*k$#Rh#O2|%6G9{%jXp8kQtb{ToxX^Om!HdF@*npo zZ@Ia89W+}=PucIF;Qzzc1?0d7;NS`FcT&{8z_Co%uK&w@5NUvWA)^YVd8R6n7j-S#Zk2z5 z!mA0k|9|cS*ku8(1R&`SOiD>wt#-ks%vR8-jzgjsHd#ccPD(X&aaH;I-+jrq_Kc<*)kVq)a>h3^bjbboUNIy=1Y zZ>OhiJVz^zT-9@`Yq3W$I^O(r$jQyw)AT#tGpJQwx^v=@l&a#leo9VZ4$e7Lm&C5(yI?AcNjaXp3V7u{c^7_zqC&9gXZ(xT{z=eNW!PB|E3 zYpq?zuwArd=>kWg{dG;yrZn;yIeI-z!^tYGGdab6)To#*x=adK%cU%i+ti)SDabT% z9(QD?J4AWwLpb`eGjgwgBwbrcuxkfxt$(?QSxZqL%~1Wda_2P*$S+E^v@C9YpbJ(J z^G)iZ0hjMPZ6aJ7fp{FysOJDC*JG$7)}xGrTmVz z>3$u#+}ck~M47U*drhMn0-{}lv1pvjV0jZhMI+?-Lkoy1Mcx%WIkygIXdo$Re8kwd zPAO#)QC1RiFjGf9=N|5Pv zN_I>0QNmd$myR#r>Q}&8HZJU$R0TZM^b;@#QJx%I7L;n-^&@t#aP#xysW1h$*V4 zHvQdNa<;fRad=b0D6EYf9$129_k$rcpn&efca3`J-IoI%HurT~lue<~iE5M)BC*u3 zM;@Pr*=GzOe?dv6hH<5}otJyrz-Xndn64!?d@Ny%W+g8)rMgwWO`iq?Ec~cChX=1)KBr*) zpD8}?BAC`?d*kYx%JKg`X>CksNVAaTVmqJtL&zZBDqy^t)tnXJdNI&GA(SzD8|-)( zSZy`WR`7E0{*NFc>n=K(r%RC4Hn$h%CfML>TkHLc`9$9o%9@0(<`*rV`CgxJjV2x(= zdI6Xu*Er7e?vR`0YnzvuwNNLh_O`lA0uJXEUp3v91j+FWZ&zpIdzWBoAUT(v*&oG{ ziz3QE$)VEkw2b-+=k9$gf6b#lt(1_Ez^b$^NSG*M_z?>F9zOHyI8l^;4Qe46GPmLf zujJ>gnCBE99LeD~nZ%xr#LMH~WZLdK=D^eTDC9gio@J>5yXjkJxHec>L-B0->Jn@d z7w58~u}U};NI?~>t|4!h_7gRPPt>4e(Wn;T^`}ZM=iR&T+MUmFd)`aYW!_6cjM;n) z1W}@CRHGgzT8jxW$Cb2`N-`u`m$+t34;4c8tvMD)yv8CzGa({ou&{)_ z*>|an4ZH4o2M?y{KAfo5ZaWZ|8IY<&x~&Fd_#pF0FK;qR^V+@0)Hx{=r~XoXKT~mIH1uq4wn*%MnsqsCPcdYyda~?al2+|ejUVo%iG~Ha8oV@JVoJM?z97*M>}=Th zsc;;|6jTF->0w!N+6sJ}5w*B?{C&sAk{jaGTJKNKJy3x#gd@UZO3BClNJOnw2Pr`^ zw(y1nla%>v*LQxhpDRd33uf;MDP*)lHCI`~e%5_^qHLf8WJU&8e%ZXEMMc%1{(?m2 z?txi*F1kjU>OM75IXKXm6kKBdU_k+?KBxq`MQFo5v)*qTK%Q~DNRLK)V>2ed+j$?O zNGEapo6Y?MhIYnaI8Sk{zqT-?%LbAJfHx(HGnvP6PLiL@e_^$H>gcqAoQT8bBp=A67;f@mn8zKf_DZPtNws*>$I+ zcxf&qWzj?lwG*|5qnn`=^nN}NyUz!*jTXI}EqRgNVQJ=as3kl8?w4T5xe0RQ*Zr;UDmnh86hK&G2pEMMT zzzQtvk6`MV90$<6Xw@u>v%H82_&L35X1)#cPic}+udmFSFL-;CIh)slpXjXNtXr|M z-ZqW5=bwj{xUs<)GT;&*hkf}pc_c2dKsqW8F0fy=>VWB0-eto5eimv7KPf>}bPejj z{~$bk*tFi!Zfmp3-OY1cn9cJ1#w($lRjcT6?IV_n81?_K5rbN-X2k+wvJ9f1y_#{- ze;z3apRiz0#H|YayQme|up}DIyo`hy{Pe^Bv%7e3f|XZEzZGymvXmeRMjW8>q~Yo6A(6;#F5>JEp^*`DWT;o48%VF2B9@WZM{{^Z%% z&>zwKT@n3WbvL)W>Qf4KoTnHk66dJn!1J!6BPAJgqx-5ST=Q0bWtHZKM}kpr%O-%% z--n0pf(HV?8JSW4kFz~#5BUof?Tm5A-`<;krC0?3OUodyY!>l@gg`_b_?deG^GLe7 z0P_2fZekb-DT{^%lfsb~F!LBkf^er#Co~bC^7(75l-bPBXij7Vnht2xl6GC^#`yfi z`)@qVLjf5bk>_Zis!7s4EUS*IgbJ2BV`EY};moeCGL7fMyIc{PnQ3fMd=FCujTWm* zOHnPid$r~jlo4@h!&0sP#UUw_N_FSNr8&Hib+s~I5#Bf+bnbFj@$j~#_wMj=@^+vF z-Gv)I?u_=l>B?gZi92<+!2OiY5AMf|ZaQVa3U0r^)visrqiI~PzpyC4Ez!g3xfS^~2+cV!4iV0(@ z&FQ`fn(Qa6l`&_!B)FJ@TeR zABQiNTRawk`U0!Or*=5s;c|3GVrn6(?z7~S@mzBDzbCi`p_|C+!(JSCt4UY-qJa(H zOfW{8j!9Pw;4HMKZi;5&>?D}LWW!~_NEPQ^`C+4MSn2yMb1by+HuaTb9j9^3mjSDB4E`eDXFNWGAp@o9` z&uyEVbL@L4DwWrLEQCA_8AXFFC`a+BMn-9(Wv0%&maC^p2zGc*$zKB)6ck}F!d>9^ zktmu6c12ISLl2!<=VdYkcCNJbkheQDbxy~gV>(T`t4?Goyv?ZpC^^(qp6YF220Yy!5Z3F065t4H7l7K@K7S z&bx21z(mX)d=loc&4p&}z=4&_<*D4JMyFJV`dWQ;6H{m5`V+tPsu8f=jOq?k>AW8{ z6V{{Tpkm^mk*rR%bYG$p75u&Cr^2?Te><)GPtWbi3vfaSc<%$auMg&E_u`S0LudAN{1-W^oEWM8TxN3qrOiC12usedLg7grioN(B0gZ|mVkLWSkZyfXx z+kfpW8x2%~kadzE%;sMEG+5>AL*s#OSC5JTc&Yum zC49@CurTdtZzE*>4ZnolI%&eHNRy;8g&mAccQ9CggYnnGR>1JvYl?OuZL6&3qkl&R z|L&cysF@Lq!U~6~;sLGNAmng5QTL#sp|b;7gb%J^yjJ{@$>08>GIeV$Wll>`&#?p5 zP^TWdyj*ec&fb}Wg47Gd3t#iEx`LG?!yjE(Yx5%3U8xhpNYGmFi;FC{TkeVceb(4_ zHD_w64DUeQ8~p`JZW1{L}vA?b6N&m zptZ73*pF=(PQJjD%%Myrh^R2ofM5PK3JuQ|d0_jFFot4>4BUp@T`Xx5+M)8gI81t1?348)s7${XV-6+x?tq^!f}y+$dv4ec@0PPPB%+OCT_~ z;VM>4B(+G3)LFUYUQW5rWZ=}53gOc{CC4fpt#g!!kvIHJN`Z8r^A>hHD!_zWYr!-* z2o-}%9)pR0X(@H1r}z#PVSo@6!*e@FSXjWX$WXB3lz^VRS*!mgE_53SHY+?qEuqF` zUTZCK)!`E8hgN0mBXdDSGYl)pkrBdL%}iJd3#1+Y%wOXY!^qp!dq4ctWolPyO0PGu zohK1)vEV3J*(tlYXno;Hr`-VEkgm(Omog(LeRP^pbuoAO_cU6ejHNHRjBips@pe+w z_MAf7U+_G)1hMsnu;QL9uck_cFgK1Io}KLcDr@M2)hN;czuf;)q5Gr?M2dAY#*sHY%ItV{$}>b)CxiPuG6Hva~2#jfD|BkE(FqlW*3O zXunkDs&SBS4s`QfrH8*Gbb5T+DFE9*w_GM-uV655$wo(00dgfD0-~rLyC>ME0C{zRt-o7Kty8VS+BrKu-Lmjd{e$ja`fG3d+mqQg}$r%ndFfN^PH3s0%7 zJS+)HA@r<3vu}bnZrl8+=9b%jo(gk&6%X)(Dv97Xt(brHp+Ej1OWoQvac-t*gu&2v+f?e@FGAW$HY``CC z4cm`nrJLSs^NwJA)VZ6=t;1t5z%j8yKA6ylE8R!5o39i~z$^QD5Zh_a77{>kym*dI z_cloxY}ht9M|v(D6Uq`6WmIuMbb@6Bt#taUrOdo(f+IhafHi%gC>CN8-J?R(mmKXw z+(7@KFc;wR3D#cRJ?-u&QfPLuW6Kf=)qDK5;R;D57-~dC!`$$Znh1YR^thM&mx)_d ze>5F+XZ5p-C4&_!5MntxEkNGyc7iqHY^d~G0K3-u8<^k=N_4KJ%%YT^+4Np7hr_{O ziVl9ia{ddnFK&k4C(maCCTR>=?WmHFoCyrknIV;93+&Rh?8SPRH^jIj+a?2LiA9WSt zCGMxDLnR-zT=G)laD}aN6?_=IMPs@L0gaV*QlVrQ|E|9C!0M6UtcfJ+;}8M(x;W{+ zkAskokhBngMoAGYM(kp;OhSp-1Fc{hsp1bt(M9l`8$R_9XzK(n-saviNE#$G1TU@1 zd`77`E~O7xD{YfsDWA>QDM(F_*x(!~~yov5-Rfo>o7{#wj3$Zy(v`-BKmIA5aQ`q=<)bnj}9N6r9vuj16I3C<}ARe6iEE;+n%!>a_@5AjD zxOjf+7V7Ab6}`N89?lrgx$N@3W=57=c;iI(Q?_fOMk@4jYXFvUi_fSilG4^lBYYJA zkI#%})<6K$0xZ0VzEnCIrnY8OhXf3j4h0(nA9+QA800@Kc|?tFTBtghHJGNwSIhw)tqOX5a!ExpEP`6Lk{ zY${RuE&FFa`$hU>3UHQ8xNg2AHA4vmBOJQ$jvw0gmvRwC5_PVulC{wIkc*^F&bw8M z8nyi;Iaz#K?rFO(H@!dL3EOUgya{KCHJ{&>K0>yZ|59G&m0V3!IJmGpqeLg7K$-l7 znQp~%88Dk{j~sV;UGH7cG0KK#7Ja$Uc6+Ebf8B4pdH!s#W5!J$`wTOsZBFHRd_3~L4B^pv8k$(ENM6vMq z(qisz%(MIT7(2ddEIzyfi{i{%4{S;y(&85%POv7nT(jm7qukEu%|eYEqCL>DrU8PC zJkd$UD|NqnYbM=?%2swqwRs6BhR0BPSw#Lts-a=>jr2<16#QmZ=f3T6r$ZxLqwk=l&ru~5ocEbM|0UnyWz*2c`eU_$ z{Id)Od^e9X2JZ=6{C!)x7P2#>$tr^~Z-fpUa?F!8a-nmL!re*6HTlkET_mQd<6mcb z{T#oz_msnNXJa`_2ofY~VaJ$sPLN6jROdhD@;t=Y{fCTty}2|NNJVS*6V5))TOX*= z=opjVtXTd^Qsl6O09>Gl(zPT@d3+i+c3c&od4_6LtPhbWWUOq_zHiePza`LFOXtMg zPeh0rUVX^YL^DoPB=Kn1{NItr+%9p#mvixJfi>STBH=sHN%d_k^3Kc|c;!mQ(=86Z zqS1uJFU&8_cTDth{*@3NRz8}12XoH~SO6IWRxXj}YWwU`0{CHxS~g6sW25mN&08IT z<=?O5o4?2ZIT+dM z8k4h9#tmI>8}B1^VZ|nu^v1xnTJYbZZga@f8Rhzn$8tVsAb zETWy9mrW!2I>;;iGzlR{@hfT0N<#0M-+3=Zq-CScCDrI2Xy#;kxY=D?{7IoheGg_v zhzKt{^FJn$7S~ivV{aioj5Nfw_4Kx&eVL)YbUc=WFU?RjRorOgw zLxF1BNpYpKOuSjjY0Awxu4v%rKat&)Hp38gBdTo{O&x|CuwE@@U)B@6Ta^uCJmc7N zmb1MQfaR=b@K{8yigetNrJ1N#ij_ssV3|Byh7+ZiGvmVSFjOc(JF+Wh3!>{XwdYU% zBj~_{U|Zg9*ysa=;3Ocl_0^dKWo9sLKC-L#dlzq4&$sL)R8}t|O5`Mt zUeiES2T6Vwf={AeG?*@K2WgP*541|(%nURYz?FKEl_)80HyRpE_&!{50_zQr0BN~^ zFK!K+6e0T13v==IO8lwd&h2|MBw^$M7=tjd4v- zH>cwxzC=R~^*&0dxttHb7K`LRot2gVRTJ{`Z>ED}UP;q_GvUPV+dobXZ z7HOul44E6~xWfNN57)_h8s+`4vG&2N`;V#*b z)Gx%qATTLk;2RagyS_0N0wnl|e1%BtJ?T(PapH_cumQbuQ6w7pbC#r3fIeA{h>QBI z_%1u4xSYU4z#!4y7m5roc?2=8&V75=U^la|H=iMB#O${@4W1U^b84`Nwrg_Ku|G?b z=&QyCo0h-K1kn`}A9y<%H)IWWQQxKb=zc}9$kxY6QE;{UDbktq0Ei`xm`4H~9?Lx3 z=#YuG5&>g^>WcGj39)#GKye#6O40e8tL4m|jF&x$(d2(H**-~Jkp>Ngl5S~I)GKGj&`f3mjT1j~ z19>_$>r6cfUTD5NMQ=U^LBYYEZ&79Coz5H@g#)RNUf6*%z@Y%;O!ISCp)w+`I)nQ# z?*@k2q5q{ccz)$7GuQo;g>p&{7@p&|TB1U7apzvo^rC4bAFNPbHy7{k9{70 znXkts6Qe#5DTJfRG9B-}N>rSF|Nk-jO;X-LFfh&HeUQ`eXa=ti{e@sB(Z@Qa0Hm=x zRmwFh3}y=V1SJ0dN+_ndO+X?8QM_J4mI~qLY0lhx*Q-D1%cx*e1F05b14WhZ&4D+U z0z$8m%rg%s@ELPXg10`{G2Jtqi`~6J)QpG+Qg+)oKFzb?h)I_?H+j6k2&(%m)(M;p zqwANOlbq9+$;tkMv6yv}Go9-EW!-l>Pgl9b$n=V7S5h0H_t)Ak*}enB!~5HfgPaV~ zEkG&-brO;k=uDg4=|5NCS$KJ@eg9|i=1ak1!;K5*x{(d&y1juHEQIYD#Hr(Ue;hL- zq`uhi@QWlf>mivn!WHy{iK;f~2$g!O}4!+55jcciC;BeIj2SkgejaOb<*d>`I;sgK$9!wlY8fq zCv~O)tkbtMxIW2Dw#|%Mt`lCdtcp|Zd0;+_XG5@Sqm~a3|r7V-8X@>u3N{UoZ73&NU^Ol zvBiXd^D%f4Mff#jZ7gZ7n9pBak&rjA&R*17hy9Qlh2(A>Q^65+=sLlO8(MeISsjn# zc(rA93jIdUoleS+w7R<5uis#<9(~|+z~P!IUTFmjppN+z_Mc?Yxy&&K$mP@|pxTCF z9q>4$xY+`-EGD*<1>Pc+#i0D~j5kM!86F;RtD80nTAy<>F1`{InRdeLGmyP{d4Kq% z^h`lY0Fq&0kOEjuiVLxmd$$zQr2LqGanp~|HUYM(3t>LZnUO$tmow?Qtr zspZRMmIe4ugGoM;vO;%seL*{Y0@BYrO7=Zc3@Pfe!Kb=1?aUbTU)= zgR}gX0~2*}AU@^1E-nn7Kn#!i!V%uAGZ4{>X~etlnU2BKm;r3Oe*Xs7)P~(^DEVW= z1fv*1T#3G<_gYagc@IY0QoFGtO2`ldI5BCPRqNH)y_wVcbg>Dn?^3S4EGqYm=y7>Z zu&cnxZQaR?KEWV1{pt!g)xSrW4%6MkHmBPc7dbONx*jBjM%OK7t>V}E1;Q3D2IQ`P zBGY{+4x9zCEQk9MUQGeSYW;(}yfIm5<R)CzsG$gbH&v zqcxuPfj<-t3ru~WZi4l=G>kYnMjLO6Av`;lWw#uSU{hpO z`wbB9MDsQ{V;nb-Es9B{1-jfm0J-~~bFSZKd4p1fQQfRta;-RpJ}XF<#P(K=w(!cR zcR{hv)YW4>!Rxtm`F-hG34;vI$X?RPU@1@1fD4$(^)!OfG{R4Y_Bi6!(S zCF@ai1}5>~h5pi9hls8XiBPu%UKkDR6djISN_sP=yZ-R~6sG7G`!m_2(FD@f1QY{UHnw2hilD3TR zG#lvOzZE{0VC99rKxCAHl=p;nkL?d%_(HQm6{- z%#Y=M&$1Gv4V~6?WJar85y+R0xoBpQnJzX ze%cglYNeiP)Vh|rp%geQ3tKVu4!7HRE}0>`i+_e{V`iE+Mp3A-$uhqTwxq$os%Gq> zcpV1kIBtVIpJV!urAWNp{MI8utj0^#f|L!->XE~Hr+9|`#s7$4cye`hFM{%`a+HAx ze@pabpdpEN-zj*C%?JQ5yrl>^3FP=SmX8v^oN1I2&s?2M=C7Ca+I}MF<1f`=_@0{)(LKae)_Q zFNBTyFK@niygki7-$#E>P)VyndYhUqul)_prS5wAc^q+>psxZx&7zI1J|qH$$=B;V zg4)aF!Iw%(qZUv_VulZp0c*AH=PG3R3S~=MHZA#9ccH8D`}>}1IQ^Cb2qKm}6!BOb zm@w@1dIMo$u*fKR>W)47NKr-`TfQSd;)3B9xqWi_eP|keN7$^MuU=_%=g~2S;QJtE z(&|L!*2uV)mIHxqq2HD*6Gh;*JJY}Odl8*c?zNVoV$eL)2OM1`cBAL;c?U#%8nvh| zCj5B`#SsbA^C7X1@4m`$eXQLj&B+vbAuof z`4NPv&?ALb(D<9T{&$m?TP|vXa2Cjz7574d4dK_5nn5g3D-c@VY8#_Gx2BNB(AQBV zFODxAC8^L78g7V}FeSDgBDP*Yz%~EKKvYZG-f5#cybEiE;ot%`tzjY$weIzO)E1XP zRGl?!uy_ieHf}gh(BO-FoUbmfYzM|NOQ_T#2TXvzk(+Hzl<#7ABVj08B!~2b8NvuM z(!*hOn35t;SS)U2jGXz*O+9}dmEthSSt;f{MDBe{vSdaicfzr$ZI}2PkKxuvVdpN! zR<2>Q5R!rXmPK*W%rEUM318&3NrigrEHbrpqAcDB?DB)DQ5#N6Pd9`ApOwh6@0vz1 z*Y|xb@3v)xHmLVVEH+dG-BbthMJhyNyZ0O zC>w!0V%jg~9!JCG#UR~q;qt`=AgM!YptN^!AYBvb0mqM#sLUfZ`%MXJf-v3AqGB#f>LV6*f zfwy3&v&(ky;vwD%ZQCFG_>V;svjfS33}5!C^Mbph2mT|)KJN3z+WG}#2h9J}=1S?k zgTw;v-Aw27JmN{HeZtNmsYIBHTSs)-wBPT_M6p}A%&v9B&uABJK(Hg)8#NuE_6pl( z^{o!MH?@=ExX_<#d-V4@aWoaY7&d5y73YR`5x38mOCQT!t=hKYfBE9tHv{92ygVIW zh#L$4xxc;NpHH>}8@e@nJu90X-MSx5Z|^`xvox#LhJum$2-rP0V!yKB#F>z3pK9i^ zT*p9kj81QR_xi-h)&1cxkE(~O>)X7-l55L8DB~P-sV>O4TlMmzn1I0gcW?0 zJXni;bvg>LU@G80*{C$H`{mjyWqOIkFkQuPJk_T1M}n{Q?S6^uDFj<-S%Xe)}HwChm`R=`Zl zsqo#@lKsol@0@8bZk%qVe@d*KrQ_JOZ{%;*RI5jx3k!N%Kz`jszjLfORX#v`f!(gl z=jmrqPL)-@YBMOWEn%EC)W_!ysod!olUVr)YE;WxwNe0ybT6ytkFXESf-r%`IBa(b z5IsGzlLEwaS^>R%4FkvhO#c zhc;1Ob0KzLPrdIej^M2cWN88AX%SMjlxEeusKqXozv?p-6pFYkxesdY<}G)j*^%Rk z&w6pdUT%}#7x|?tqw@8f^7IFl5J)YsHO~=az7FEJ?3;d$jnDiD`aI!X*7ALy&W~Qs#Y31TIL+ExV`Z45N`}REyIkvFJNE zv;Ux5MLWSG`iPHzW&5A)TOtKeK>OKgA5NKqvC{M5*Cq^I!$H=of&cinFUh1!Y8fNXD^e^CH}5MJ<5zc#yeL zjg9k)ZcCf;(%u|?;c_Im*JFq_HpmBkTiiA!H?|{cuDEC)ij4pg?TmW8a^ZNMPmQQQa~vYa=5Aww3gCJ>~X_VPpAgd@GOwt`9`E!Mx%xQ2AC{ZfV>Q_U6WAw9lEnJFc8r0VRv$9&)(*Fy34xL;sx;va!nJiLc;Pgy}8(?r?!?>V}^OK0$5$`GDh z;r@b(;iIw3RXGo<=7C3e?QjZhXh$5Ixpx6CT<#5vFA1A~keBW%lzK+7oE0zr1$fZO zGJ#cKzKHnaoL(^;R=fyz+An;fZ@<#0h#d;c6r%@rB^?SQH{i@4cqQj>B92+Fgb6zv zt@3vY5lmzH(nAo)r;}Y8Ct(tt3h=BX^W=Jc;(1r_`8~BEsVpv*c(G9W$+T*3HEbGfLLi7D`64 zN6P$dR&D7kwSU!9C=CZ>@#c7;`HWB@L&$!XQN`Q zxYN-`#9EDeU*zZM^8Vl~R&myxjq>_$t-)}yP7u{`)>w_No5#~red3ZdCNe>9o1K)yI(y5;vpV;U+X@&6FMQUnvo9=qZ_EOi}9r@ z5}+V3SVha2T#%%2`R0}~l(br*oAfyKW@v5psgVgs zv3+@--%me^SQz>W1FmR@i>pq5xWsHjzT z$%gbZb!T0-smqGek4J(v$fr+Yp8X#v%fIE{QST~BZ=ox}AEcHFPZB91$f$A~;)#&} ziwnH#O5o|TIB|WMCvmV>S^}5FMT^XNxkWWZZ-d(>zO_63Ir9SR2E(vrr#mU=hAz<-!Hk%3l80soqAK<7UWsRTpdlu;ED+-bt0laE5vGKJ);FTJE8DlN!9Y{Szg^S+`9cy_lS zM~5gweQ`b+ToQI|aRQxKNPnLGMVUP{gR=rH=|J-0J%?!D;w>Z$HOElgL^tiSzeyC!Ddf;@HLEI`uTwp_)DDa^|z@vfi`9Tm6NkAgVqz<{Y3p^XA(dnb{nKr z=+H`H5j+t18$td0+@qSwTYz+GP0n&&GGKy&aY3vXs|3Y^dJLGXd{$+>e`Y zZU@1$Gk8Bh3PXI3Dm*AO+=wSEpzh!t5!qRG>H)q4&RhK-inzj|TRTb?@FEXF5Ln({ zB>SZ$Pc85rjgL>a{ldBb+fYtjY*IoVj<~G4Si*St$=S0@%#--`7bjK>CkMu%TIivW zOUq`piVp;76`D@T&IL*;F7o}{p5d)f1_7paR- zuThU4VXHWQbE}PgI=oW112YK2jt~FMECAR4lzJO^7^wDwcY7)bWHn5k|0?#8Z+?kv zc`aVY5K{TiO#UC;7{&a;<8f#mryYyxQ}Da)3YOhuIg0*-&T`WSKee+RvN4#c2zGRnlu#npsw6PJiJgrPAkY1seieJY$uVqC4xRW~#kc)8#}OBW z*`Eta8?9I#V>7L^OnWf&wR;!ec&_4@hB; z>8k(wl$oFm5#iyc%bs~|cmlTnYnBsQNgl_pbgt(?^-{X6jRck5|;;#*{q}qMTQ6;IoKdi}N3&P*W*>howzC6aBAG&kl+Q0dY*+ix%_&wt*~7`d@Q{2NW4R zn&=8#JnhtmKr7D42mDkL&VPOP0Z`;{@DAml16EQ>vj4X+g(DIQ7o7Ef2r6{VPLWXU z@MsuV)D*Wz$S3~|R!N4kLWG|at9nP&GrmFiZ}3_k)Mq~P$>~oa%7;S2 zRiv|zbcd)_(CW^wYFwEOldzc#>Qv2q+}G%LBR&C|qkAaElsyxR@&6Q;8gH>6f(ZKxIV?S|+Xqgdm zT$DbEwPuoP+h~eVA(SYfB3NC{fx!=&$l7Ey zTw1`#4{A8W!ACo%`BEl)%30w+z*mH$j6}O{)1iW9PP#lisjENs6ZtI<%z{78)x^-# z#YN(kCg6)FOw8~QA?xl{AtMdh!ONi%A6)({mjpH>v_nyN`1l+on&VN(Kj2vRucd17T$)C|H>9W)L9qbU z0*s0UaDi5;YyJ46X@~h$cvL(*xC`<+5`eO5v>1OveIvhuEL!Bp+cwx*CYI|PwO-b0 z@<)e9z5fm!+cW;)mhQIHHL2V=`7SQ_yw*GFz(?*t)dQ&_77Fj}LRsY7t27ii@O0%r zpHZr?IiA8&=yu1%DbI$UZY-;H`2w(h2h|yUmyS_N$SArq|IYu#e4vG_6jF_Z*kFZ1 z@R7d-nwqIh=*g>8SZ~=MGC%`#n>jKgC}$JBbXO@Ah4Q$Y)6Gr7=00GadO1TzIv%mgpp1F*4!Kjo zo9p~wc57Vi4OZ6$>sBXyj3yMVS(%9RhM^syPm&L`zG3!k-EX=bLctu9OD4Na6QS%? zNXGW$V7jXJ+UQQ&h%@uA736^6k>Nkkc_mS813fomIFT5zYD(y;HMJ9IVCP6G)n5la z8sa~XhZI-jVybCbhYHGd&{|DJ`*B}sw4%ACSwLIFQ!s>121iJKjy-jsr;csT}wbi{IUNgv8OS zbcIwIk#?&ui4!4etK0EEFv=)w=^3j^Na`0i6*~Z-xp8?5IhptK% ztTQGy8wyG-rL=1_<%NoDzBHRXKOMJ9_>;uU`|lrU_T8|wniN((AZhdyT4}0hI(m6t z)Gl+&iv~UOQNaI=4`Pm{*|I*X`b*3Dj9)ke*kgw`$vSh(B)fZf;E{-}NI`0}tmii~ zlU=k-*%+1PLnUP-vmcu!P>(S`CzbpOMAI@keiWGG%pbTQkYy2!LW%V{fJXm}OO)2? zICa9dgc?N?D95j{=lF!huwBLRcoCW6*g;PPD}LLPnFoZXGT_3M|2b%)jPV;odRE@9 zSsjBW$9khq`)pz=OI8?Hn17qGj;)ZmZIyh3Ak2S?g~Ut#)zVFbZweEWwy+~YBEi6s zI_Zc$n{X{qIS%$ykTN^vFUy15#p&MDCdBa0(_Yy(uxS}+v!1`n%c#PCJ)>S6-ix3q z?i(CY+7W?STn_8qJu}s;3kb>b zso4dRe141*h+B~A(dqtE@SW^Hl$v^~~T-K@Z1jzZ7TI2cWDg;m59^dT68|F`fVHX~ks;&4&z*kj~;DO}CxQKlIk(p^;Okx-+h z|BtF~49=trw~gM|wmoq&v2EMd#P%C|V%xTDOl;e>C%SXacmCYJ-FsJ8cU4!dXYBOhbeykA7k?P#-`vSIW6oA>OwsK@z_W@SEuK8aQ8h~!fK0?7B1sa+KiexS># zJe3e$kY-vU;au^los|%{K-Q1O*wg!}vMXcDx$~hJ0X(9f#*uQ5><$FqO`# zsR4FARS}8WSM4N6Rip8_dg+8x)~Oqdhi{m?7in-Gl))}z|Jiz1VE72fMuxTNj>w|2U8k&b1`?%?!PmO=mE9Cu75JNlC#ywV9fOc*92v(7f z4~xQuT)0H_rh`JOHkGURn9b1_#9Rhb+#qyqwlZo@%rdKhVZu~8wu_Y2?;R&awz@+& z%-4ytzX=sZ84*CcX&HV|0FG9r>&uK~-i95nrptn{!;AM5=wA?q`Un{)w2hKCG?*y- zkvX|VChLPMh4AI_dcjMBcMx(k;;}aqcQ^1i<*vab@~qF0mP##xk!Q27i&!TFORI=b z)W@Q*y2VK4S|z7Hv&)7%25Ns2?hIb!Q^qq zxD7E-_aE&1-3+1p&uqTi3?T%BW(d6E|8o$I#qtLbJKqG|qIPTYI-I()V`I>*Rqcrx zMyg%SiV~JSSb-SB{frLifJIf z^Xt~B2Eeu6P7G?0PjLc~$ooJ#!R~(knFt14u>BTguv*qB?ptYxpXm6Njlh+j)Yk)f z`d7uO<1=zNpS#)vzozrqCL&v#g&M?tjct;og+`p{p?7wuI(yA=Q`FeNAfEjjNYT)zn2402T^UXKpUmG zm(WU=e_wA|{@N@G%G6`OTI1|@Q((PlY05i5q#n>CCK%6o=5L14>(wW&22JAR6n|NK zstDMO7X-26bKhA8y1ti91!cNky8g;)x%a5b%}PmG-+`<}N}&n#F>dom)MG4UbI#kN z(Nam$pUwaqSttu1_L|Q@{_xD!@iqdZ zv1B!DTGkPBJSra?QeuOyl+Eo+{6bm(!ZTf*KGb5dBZWtW@8I3Kwdo@Ot}rW(Tc^RF zH%vY@I2yzPOJ}ICo7&z6K?Kw?I#@lgrj?U#Y}DE3rhjXby389~G+td(Q9@@Z@)x`S zUWE7f%FxsMuB^8No@#>sCFH{vDEoUViKjYCyO0e9)c#za66~LDcACe`l(}d-=0x1d zeTod}bjPk)-D!sOg{380oR_bn;@n-TY`C7A%Hm=4C)9NrS-72s)COt=sZTPUE)>;a z2RzpEJrxzv1iCQ#$3e10V9;>W;Opst3c z5(NG8Bt7H8E=y&Iwf{MO4}BdfN_y)84{kI$V`i(Cl(CgUu*ELNq|EKgnAfGQTI}In z(RWdxPeN(q#nIPs3D5#9;T8zkzT)h@>@ z4Pf{l$_z)!xg$)m?J z!z?yV(&ubQPrb8gte^_nDaipr;Df1|~u(pYonz-2W62 z9vOA&M1u|f)DZJlCW7h_b8AfKp&KbxPU4&;r>kKFazu+Dqi~N7eRBnqGGI`aa1Q87 z(Atw0M8-p7ht`~t$(=S*{W3B?OJpj(*ONnS8-M7lbaA##uVHw=L# zPHY7Bq#=~jo+#li%xZkt$rJyp0>?=xH_`ats$*bAdr=E*E~WMYXM5c%k+6cslYs~$ z-t0sIju%eBT})gM$pY$)kGQ`bvcNh~<4znkF5Hh4W6cg3~=%nwJ6%~q2pK~3_&%P7| zr!ru2PCw;Ql;Qghwf`TYX-_WsEhbT}G=VQg-VF$o@sl>}1;B;~371HL`sf1w zhh@A6P`yRJ6>VgQTF)^svEpH@*bpX4;3rTMo%qVx4HR*y#GvO@*6I>YeBj`_OkP!B z_JQ|EH8^@$!Lgni5vr5B^Xz#E0^Zi8*4Bs=j;OP5#GVqpx-Vx@r!Mi~lhJx*ra5Wx zYO(%NQkP-NGvVZM4rx0yqAxYuWV^D%R~Lgfnh8<;g3gsBG)Sb&cr*}_J`|}%A`|$@ ziRs_DYK1@Q+Vo!*4{V1$MX#00a#A9%`+GF z_fUX_@zBCj1`HtpQB+|6RJ=b7cW4L34;{@pBKsn@N-fbk#h7bTNrQ}P@d0GJM6~9P_3lSCn@T; z$I&n?!foB}*NnVYBK`uKuJ!JwP28#cH zJ-n|q5iC$civ=w&`t_Dmg)I*EGxBU@E~KS?i^uae6VNxeR-f~9k?PvJ{C>Dwb1D`i zWD^uJV!4y~ieCt6?#NB4C zBq(cmOxq{Pxzv}BTAKwcjWY1w@t#{@+za-}<(r8JY)Yk+M!28^n>rtO&T5XF`GyGl7YUt2bGPz+K1aNma0Aa3I)VwbcK=Pd%Vr1ZOKEV_^I zcSr`Ug!}|nV!M3E#<|##de|uiICc;ZI zC(Wjs-ViHc%1^u|Z<$b|b1s|iGaK!oWSHFS^3wq*C=GMrKifJwtqAIFa5)pYtgVkh zAZ=t;)<7B~l3xUe);P{RH^&BdFmz)Xqqnr^@GGQNZ9z+IE1k!Qgjc1R4=ZI**uAZ^ zH@^*30tKbYIg?SFBy6u9rQ$6G?WB(~|GRA4?|#}6cYty-H*4Gfr?VO~p!d8?aY*4& zx#~6posi$mq**Npg`FTjOUtSh3ZzX#e6@nsZ-zj0uw%&5lEwq7=%^2wjaFAm&{c!O z6x|lsXX2^>Lrz(qR>nhy_y}_(M|DWu*F^qE_oCY`AUSS6G1g1WdExhEw~P0rtuO8 zLP|1M0yjE>x=-xTKlxfbr21|nZmnFJkA>?{A9%o+gf90AS(+(%l~RB@(*^23AoHlW zh$L$-kCVtbX}pF7^|-A?I9{%yH^bi++@$mVnd=#HmRPAs?)7n)R&2hkWL4>176RRl zQ#l9yx+$tdQPO9t!S+ZmXCWU4bL$0cfrao6#jMl~n^Ogy-F69tIik(lF=7iC`M_UbnlmY2Ys6Wpe+M9xR=as~3hSGdBibc{* z68=y=1Pq{N@_M+)vS%B_trGq>eG^n*D1 z4|yi)ekmK74n8^yW?%skxrO38G3RYg;gq$fwhr1j*sr3ppaS!D$FKO&9iYTZ!9LXS zx7Y|+LNJ~XBNN_xdKzj?2m&Z9^*|MiYQ^(+Eud=BG*rY1X#~{T6obh!%lJnRf9{+6 zm+nFEI8#yEb`(@>1a#*UUv%=N3dM>@#a@|^Tz6b%q?8JD74QQozC8PvbPr$!y%9G3 z?XshaWB_1g-Wz7@{OwMNH_tXh2ZAK#>k!?vTKn&O-jO{m;DOmc`qs@|?l+%ErA5O; zOX`XAbv*PFm;%^l@9!0Cl+fQ{&jce(qI}Q+s*>HL14AP&SR0^2LUiPyE$Rc!Quvi= z4pS|xdcW|j91Vd%UujHB#%flUR8}|z3ah(D9iMZ35^ufEQTu6g$iFbk(c}}Ln)kX} z`a*H+bcj!PnEQJO)Q_a5)jYYYP8a@!UHB|A&Lk?r=EejmOcmfjA@p-xn84GDt1vXhvpxq-@v%al4+v?DlcOtfTZIBK<*h}aV6Q`RcW0aE44tw; z;PDYt|IDYfV)XJ}uGVnC_4`kVy0rV z_)SgZP2Jg2kn>NFFjCr@g5F5~L&2Zhon zXR^eWJTtC9-{c0_Z3?bPF@pBkco=hq(u}AFhj0a0{8fo~w)>%>-_@S+V)&YYt!&lZ{fNIz|3(2T$LQ^>PDiw)bG%=E!$FM-KqJ<f$u=BY(hfeMi_8zT950ovidtn4hcvxj3$>dEHe|3W#h74D;Kd;(3iKpy zf2fJRECiw9rTNS*zRz{T+5RKST4y0dfHH|2;)p#nwT4Hi6}0D%QF3lqV~#dAMeHpr z=~)T*oW>KzA*2}m<}B|QSe9%wO8b+hU71m<3Lpr10wDB+zA+w;*XNy?mG(Q@C|c&f z+2*F$rMVK>qm;?gm)SdL3JmsFzI~qVj;BhOv?+PnZJOobV|zROzWIJ@{_Xm@1%6#U zb><3mYZr6(w13_DJ#9=O?et7N!nnp4%hDor@%;;0Gdy{`!#mzDqB~e?+h)RPGhlgO z>FWMk!L#mue>@*0GVm2n_}>=pHdMi231e=<1ZES}rZt1ld%W0xP9u_i+5W|DgZ5aL z0?h)9rpnXON}$1A9-Ci9muxnWFt${dyide2Wi79}XX?W4V%^Ty;Y!-{uH(8(lPsH+ zKx&GPV@?~|JTcgE^K#s-SzUbS@yM~)nXPW-o9<;Whx@6n7eLvwWn*QgwZkr=H@geW z;J(Zp!aY0Ule4+!X3OwmZPGW@cv%|sAtD4F%8h7$io!z{ub`X0GdTdx9A#Hp1zTQa zZY%XpzrSxW3NMF@P4~ORw<0Zyy}Rw?70V2mLyK)w|D{&C4>apP5|+=KAP|HrWOxFbGD*qMVk` z2)?xf+g8?FU0*;+gf^PyjYl(;Fk2C*)agtvNmcWBhv<)m#BQ^EYfI@x_*^KE6eL?5se^t`W>f4 zy=le%u|Mvg9}q6-p>VOkb9=ufe~T6JM5qCg z9EISiYil<% z>%ntKKKWTf`6w05r*9^6w22d~Tm#|08IRRfB685VEo$Jy3Jz$KvYeqje{J{iB(0o0&u*u}k(1mYz&n+7DT-aK`+vq*o`5Sf=rzGk95Um&Mk~ZG8^`oQ+u1 zZrp$?711@3+-)+}a4Oi%r8da&LGz-k)bbsAoc3P|jH_47!AwCq3tGlpeE?_~;>b@4*4=t>+b~HlhLhht^0{dVFXx!7 zF_#UX&$Ou19s3N$Vi3qM1dO$q-egeq>GscQ}gPbv{F?#AG z!crrNY|^3weN;KLBC4c$=F+7srt+d-DAlOBQhY+e66I!Ks0IZ>#ZfVTxQa9|+I%Zy zlN|b4aPW_tLS>>cRS)Y#<*dK!wDE9uUUxWvP1=$;Lbx$Y$qICNn1QAi)jwH@{db;J zR7j+S9!X^z>rG+MRwsoQ{h6_rRf~UF60(X7~ij2-OULEV83X)+Z~qaU!pfx+o^fXz$hTlxe5 zfAAVaSl=?%5O%j;@I06mm(`6yJgyRsc6EgObUcXy!5>c*j`q(iFZRSK14*-3gJ?+0 z7o5KS+H4b1sG@H3;EGwQP7NT1i-0tQ0qGtk2RWf$dy$i@m|W0mID|qo<#u&k(pixxm*2&(@*TB@XvoS7ZX5`)&?xF?&msf;> zQ=KNS>z9S?MUqDjo%~Q`12M07&Hq|qBVd9B5B-REOTQQtYCszkH7Bl%hDzVS9RuS+ zp4`C0E1WtRZA_8kKQfQIYMCN|K#gmFRiH!Fbo6{4LXAYB7Q+3j4BZdv?r?DEa9hta zJetBBU6kG%^mui9`XXc~;FcK%RNV9S%_AHynmhrq#nNn6WDL=!d1yw(#JB^GJ5U%- z#q!=PJ|TmVJ@~5K6BEWw8gTW3h3e%TG34?D3sF^^zlA|Jet`~IBx6+JOm+?Rl33!nsqVi#7ct zJcLva%rTepynCGu<8C3bDlSYh4;((Q5AxjEZ1U!=GV*EV4L}gadr+A%Lvd@c`3SKM zgoEW&7jq@8W`NO4^y+?m3r#!JWO1aQ=s3{^|R$lkXsCQlHl#D1gL$$a&b5&EGw~@C>N@ zP21Jle9%ETIoCNkJtaaYn^2@4zIUJZ`x_eakPJ@hYlfa!d#2pOc+!V%6r^Ccr-JgSvX_2=jWxVyk5Q!A1ArFJH%sAsS{B< z4CKft0hb)urSZ+&nzjtv-?V{0CqJ>nB|F(Tk&h{v>SK(922%Pvqk8qAYuT99^(!or zO2v}6Yr87!qB;)>%3nIw^ruRwDyK8 z+QDIA#!r2N4fEl#>-d3zs)q$||eqVn4nnkXCqC zmphlquyWRV#y%@r#HE5lu()5y30NLTpNjQ;|CCrYvhN(KO>Aa%Jps|m%A7&T%lb>YW&8p@)7w@?2yW)` zb|(>^MAVB-Jv!~XD~h6AaC6IOMY_w#yC@oE2XSM5X;iJWhpk`?vifZun_|FmgX-61 zPV-{E^(Ri^Dnk)(5#p$-Ryy@ERJ_NWw$rLwlhMpmm66K7udu}tS% z5~=^eB^I2@4V5Y&PbnR78^GQVmGm0P3rSZ=RWuctkWvm-I~F>4ch^|A1!yFlw zin|3t3UrmaqdBI==|qkuPvDgGO#*0MJC1{aqYE$p3~>+yt29w;+_9S*K*$1D2>8)z z)5ml*^N*?GPX`Z{ht1@4bdLbtV%6+vdlo%kDn{Ld`UuMh9ZKU81`jPWQc)227rZVA zJI*@{%b#gLLL)I!fy1cByDk;U$MH(C=au^y0A#&(B8qKPyT~`YGn!T+fcWlz6TqW2 z9IfD}wohXTl`wDF3Z(Gxi<3D!O9c7t+wzEwF#3#gz4Y@kQwpJ-)xH3y9gC%Y7tsnt z3%qLwize&X=<{chC*h|m8@-uG94;wk5qB&cm&KhW=KGUdfLOooNN~lJCWp<7ZZ!FM z5K#A76YF9|DY#<}`zhp~@9Lc#25ZFnex|(&c}z1`^4;oOKG6D|ci!d!gP<5Rb)sV* zG;46&N}LX^%DL(H;NO^BjTJ=_K3u>2+kQn}JN&tJt6#z?!G>2N$K|FrusMg<@Rppb z#7V!nGG0ta#13G>I%85Sh+ZIZT_IVY>wxZD;#8S^hGK-FgyTZS?nJk{kmGwV!4N;c znxw_+5E?f!HUUh8=io@35Cg>ClaVZ)^k++M1@p44IzDHWN3OxfgRTJuWRr)z7MZr` zg(j2<^N;_Yf%}6MzUKhJEqRiS$8Yq0kk<~BsJ66!sl;&75hTA#CJvfo*A&x6*+L8v zY=Qyldc-{jrrGn93%t0HO`aQ4R+IEuWB$eQHMl1pQ=0Hi3|~B*67a43jbOwRg_AN^+aN2_K~6TIyH9( zf&fYS`^VKuWr%O!r+*Pkb7AVl4g@u@tqDa$-JhgH!{=`YjCdie%#dCP;Ff2c=*j## z67W7>z{p);lURGw0mY44(i?&B1|7ce6K=TtzFarUEzURBO_G5-^O(m&YGJw)ruVqi z?e+yh16x{>x;N3P;O;g;UmI?ug471+#0b7&Q$Y8Mj`0t z@DJIqjCR;M-(8iRox3|Ns0 zc0$)oBy5E?nb>QIopU$}_u08dn!$-&zp;n4Z<@dl^K$ysA|rM7pRr{^P>X5)FF4Wh zqVUM)k$;Do3RE)g$lLZuMToxPYU0Xo`2rL~pXWC=ZHfS-@bYG&Zd@>swZcsrh2OoXjfjd(#6gvPB(VA{Si9#!isy>QdzbMVCRgdbpkH zhJ*yfNnZ0K{ui4t9Zp%rmEJ*a-ovG;oc5?b>wq*@S|l9^$591Z+;Kq9Hds^d_Vg?A zYcTG7l@H&`5(6RdCBkzwV}VwB-WO^h5b`m(8VCM7%PO;7@?T_+962{Li<){**UOsUF|l95?fZIhvc!KOv)D0^<>h^T}%(p1rS?rC&5 zWx$VLv13$VLhbpoh`OQ8AM1)?phv5BiCX~3%*z+!#+_T>L|b-1ZKjt&vvUG1oI7D< zXl;P|T91tdgx)E7ld(L%dI0aDa#Hq&v@-c=>s4Pm5dll=SS}>FSkm;hv3;|OvM(iG z3fzZugUQXT^855`oupxo_ElsL%8!$3$%7s}dvUoti7$nQ=ybA3vc11;x~h7b@}w)k z&Wm@|++Pa7xf6R&FA}^A{X&*B;}|Dn<$=zcF!{vxoGvLJgLG3beaI$0zlwG!bIZ%!hjg z!<4KPLT%n977c;k?BPTX5WR=@5egW_wi(;2#}$&PBRgp>RF|K+eWHXr#9R?Z*(^F45-I*NkP0E@MB5;s~9{dNrY&L-}r7inqExqYSA z$+zS)TkvwvMAo6SOIEn&hU<&AZ2Wvd!IEfd+0U*$Nr&Jh{rjN&QKK?LG`re8+IwEF zT^X=EXU)Ucz>P<3neMd=LmyFcT- zfKJwauUA(Wl^oyQevawl6HiO__Ke^9-yd5SboXr&bO^#2{o5(bbqRG&HkW~Cj`PH5 z>6y6@BsX6Utlpt38omFNX;V-CS_ga`f73DQSN}Wnl{6&9bV6sE4kTBKD(La}Zq>9g zx;zPiMu*>8OMfDb{HIZaJ+;2O-j9Xr2TG&$+_M}-QOygE)P0m9BZQ8x}8ceHlLnT?q?rf_Eg$HXiX?_onr02Xl-qHA(Kw;>Af=EdS>Y9sY%%gUz8a(3m6oM zW?t?6NiIgwQ;_5ksVtmOQ1?p}{rS9uAR`A-QEfG>^Ilb@b@aXQDVu9Mqwrw3P{cwo zUWrsHKIOLxxqOydk+fReaDJ&|7DUJH*VvIj!GR*6Jt^nCh}7}k!b!?Dd?j{Df8%0j zUPEo!Ou=+Rkp~v)k=i%({tWMd4=9OkHsK_3P!!)N)^Q`}d+NE-bF^Jy9VMgaZZ9dy z|12upYJhz*(U8CFLo2(2B3F{t-$U`D3EBhTj-N(xT9-{_!Up{`SbIjdfVWb4h%=bNeDi=Zv1At+8IO@lDzp5{pCfeyC1A=)b0kmb| zo%@Xc(70b_Ifxf4r=Xp*LZL!gZ9rAVxFnZ!l={{6Z7HHud&ZQ^@c7xYj=aKo2NM|b#{k${V56putPR72hEv@yd^;XDKXRXSpSymHkWUu<^X4*x6s%LP# z%g{p@(Vt`QCyJi-3x(p*A^6%#2K|m|;%V3rIrE&k<%dF=g5<7z61_lEEV}#v&1Bs#?nW^rQc(UoW)?fA7LkP zpZjxh)RUGQ1mrRJ33PB%c$TSp`(aj`c^H^?hQ@1;=;!8FJ)no(R0uZLGYuQlDwv`H z-GxRM$MF*J4US~QbY zf6wX|V4Y8^fzP*qT zcLH?~ZN(BI(vVgcr!rZ8T@wEmg2Pp@8Eo5G!lstO$oEp39cm!UfOJu)^kwiIu{!)v zLu~b*U(8a3lPK>48$Tz6DYO-bK_~L(r;g*~#?0P}1-h3wWSl5JdNdO6|D77%@6JXC z{L5j&Lo|sHOg)|uc)_-JAk_LyeO?aJD&^4>v1V2gbPSO>6m7ahETN7Mk()Mz2pQ28 z4g9dREn6^d>8+}6DY$%cny^D8t(H4yeurEDaSNH89@}V+G=V;oB2Onh(PMO8> zF&P8x@N(J%GP>TS2~Tt{CV!HI*u-vFlsM&&1G6+}HR8%AA7oBl%kdF4CxZD|(EQ$3 zS;%GxZx=F(8!*uP3hF@9N7t{Mr74rTfjr-=R;A6wF^_h)_SpxuiRX(l6)N%-D&E5PxeLrz zK!}7x6RX$3l=4}-v>Pbsz-7Fnd+U855=;2<(bQ8u%TK1}m-nn)meSoduv45d|AZQH zr5Xp-`31tqnDrpgXxxmB-aA4E!^4Bw=f8OH&}=qO(VGEEOBW+e;5VcE{-a@=w<)bv z>(7G@yEG?emb^3~psGb!^LJ4RIAw`bKz)t2#>0DzFVzKeL2NAn!7KiX`+vh=Kz=#@s8R0@e;-m73@=o7c{0)8wOpckz*p|t)1OV zE{^aUljFaj)(V2++K&%d>_=h{W4pt%I$Q_~`S2&H{R+UVMKL1BC~d|s`EY$02KEM$ ziXM)sNIxa(u%h^~YhS+MMC-?Wl-2(P&}h0(FKt@8xIs2|Hte7sk&;Rzm z8sit$f4s0rf$FDvGFF7E{2s;tv6Z{AMxz>Ejj;T~cPhwnw1`c^P@lAx@YL68p?D~f z-uQfTR{e zaq%5?Gn)F}ZUZDh1RM&}L#k)M;hiw_zvA_8kYPo=RFa#2 za({R{0QSG#^^ovCS{3mCuF%lkTN`0dJVNS;g3suw`(yx|{~-Wd$;kn+&=^ei@DifR zHju%y%QE<<7ds$1Ox9bebJhU#)(tuU1`Kp|=97TzP{#ZJUQ2~%2VkW-)%|m~%CZB< z;n0xi27MICkv}|yMIUrNv7W9Ynf_atCIr9)W&aNlW@}Hl{cEV&y7=L>#yu(*1oFz= z=(I19#Olb~!rLg>ke6W@VZy#x zsdoH68j!L?#31hN;e9v5q3iW>w`AYj{Wn}Cr@Ni^-3xPo+!_NBDtewcX3Dx#;QfHH znKtigB^g#WrRKWq#LtWjO%#(urnL6@sGqm9cKUp+gA;wAAPc+{(dl<-0DJx$~6H{&HGV*5{e zz_l$y8ZCDY&(Vfu0{bnLT9}&YG8^Ce1IQf;t)0WLpvsLSXN!P{Tvt1uw6T7Ii4y8o zPqnRgxka&wsH2}z9{`Gr+E33mw^8pk&x0^dF1NBEwx$J>R37%m>k-F%`pz8H{-w;W zBjI*|IPpv!jkth8N)99ZA)|5D&-qO*pwcWHwy|)Ijs#0<%!-+wo0-1j(XSbu5Ja;H zQsyc>M!iGaM+eE%OsqOdjmRk>mFe6{zp#ys_QFZEuPYDHMiVJ?>oshfGW|9(ii(Kb zu0m0y<+B%&TF_|*?GE#YUmN$!b4Nld$%(faEznP6DfuxvDO!@B)W*O2$aN)(fyp() z&PCQ+D|%XvL3HjQXrWxEJ!ZLy7d=iZ#hW%7*IHqUc7NqzM*-a+%M{>??FDumzK*ML zfkf6+kcpB$C(6-b?y2_nT~{FT>wWSFr>Ijy)(1qq8Y9vJ9n>&UzHl#t+1IH#_38jh^V1;D7GJ@c)t^QLPC*6Tnn?AE zK{E*SOIXXr&H8YV)RVoN;V_*}PZ*#H7xSuoRpZ&9(-XTulW($n46k$t@ay9*IM%b_ z<=fAEH%jP~z`1)Yw|PgHfB;*}j;olrC&ElaJTP72sp20&NdI21@#aPM?dqP@-NgCc zfxQFcnZmHs-Z0eU>M)=VEf_2(US`&91;4im^puBO;ELe#QrxJYScRF?F>fJmW$k2# z5{rkBx5r4pt?JJNp16D;5N1V6s&9FJ$VtD<nGrgx`_t%RjWK#hxoE<8fnFYq6jMCntJmkWnV|Z*LoGGPX z@h!?1c+{QY%2T$+pDu+lDXOy9dbm`$X-W{CTO z$%U8SAwr?V08uUsV7D2WK~U+%Mh-O0rB0Tr3^bTrGziJQ{7QbM?ka(Q6E{64aN=PL z6k!HZLBuP>%t^n1%Q*9Sn+|XwKB)Xxa+j(^P9p`a?RUoKv5FT54 zyG4`5AyHQS?**P+$NpceV4te*@+9--&HfB}xb&O-*UE}Dpr27blu;8v-}F6%3FaNt zvPaZx9<`LY>BaE`P>JmHd&u6SSP{hwKzMk{MR{jL&CDQZ6wO9R!?zM_ug6Jz0q6|~ zphUF!nUTS<=s8wx!V(H6OKl6=uUNn)N5xJDFQ-jO^%Vn}4*xOIH#EBy{?Cg$ zG$atQ1l#=rR1{_pj)@kqkyKd({oZ_Z$dwO06jLfNDGmdBn#dLSqdS_#=5OAREiW*H zc1lCufDKR-xTXLNiEWcVV!vg2xh(SA)CwG5x$3u-$%=Yaq|=C@?*d6R!=Np+H5~2D z^qOycN|q$?Q94T8K!xkSa;);}(s$fD=xkgfVnZ1Mt|fjVt+YoJCe6WgBKRA2sT>%u zNkm10T{rS_p zrtks!D)9w?I6H(ifTj%2wEaF9M+g$}4p}ng0$8!tl>WduU#W4EAl;I!H#~R9fh3_M zzHtu#nCDfy2!nBKm;*udW*0o#KH>F^E#>)vwdMNo@sujLen5wTa;!nlXkwdJ@;gA$yW8ae zgv8QX9@r~#zfhV=N=DuKB#j0o88=uhN5b7=G4U%P2W~aT(z`iwu}86kY)tVvIHvdk!Cls#|A~4PQ)BSBVR1Eu2rB z6ohWA2`I~xcM3B)<=sCy5l9sE8^1iz3Q)x8n+K6dne*Mp?VY;Pkex+gd@(lmnV)3y zd3WVst5oW8{P5yDUm9ug;j*KGZuT4E!wW)_{8>xuD#)wRE?rNvUJ_INdRZ-@(N62o zxykGB!%TgeG*bcv2|su&C$W`)304<}!2tn(oE3C(#Hy~w#>-Tl6W2PS#y|~d`(P}z zf@!lcQab9bsqUI`o?g*^IVuXEE!{*^#a3<8O&YMHxfhetQt5$`_HMP0A?>Dr2oqkN z2Th{{>70wSkBGq!+F4|E+gMEYz#bpDiRiR>zLPP*8m6~orl?&(q# z>mSqO8z8aBkR2rceJPpP1@a2iWbm*yW@28N5N}EPp3kZnum_iY(ZmECO}mJ{>1Koq zfJByEll(}77?~v2C^OGUC>`RsgxX5Ej?t;PPhkrh_WnwFYB`77|Ky}J_@E)pAAK>g z?$4cr{J_}}$@r@ZRo&);22%Z;H02Zg!?LZ~l4*Zfm5na{u2@c03|0%6HVs)%XlJl5 zKVGreh;8;|D0RAX{348z2|&@u525uE%C&Vj;1j6El1t!r!z{nGmy3b(Q9|8a3og`% zgG<|(8yuCMBP#wS8+`$YMcp4Z@BNU!=4OQi`@8^rCV)?)YuGYP4PG2R{A{2;!q_aSxWN6O@<($Fcjx}CYo=N zB2P6(EjW#0j`%s4A6o-f*`?>j#15m(2Ybw}j$j454Em)Rev##$>sLU_r4)qW)e7^# z{O_wd(Q>G1$r$i+$k~b|Qrlfy7j<$vM~So*t{*{Z@HPE6vC|D$W=zw11jjC@S3t1MQ>^ws(fO!#8|E-;N^I1pm*FyFqqNU z#thEVXnbzh(9^)|NgVK+J{+^|ZH{Wm^`6W7N@;eoynIeXWs$m~P(!H!8H_X>6StUV ztD^xj7_`t_xmL0tWA8Nqa&NE8k~v;g$5-{d$TLtpy6U0qFoKWHgepaScbQ@6kqbm^ z=RG)?eR91szktK9o%-Aly9ot!iq4Ng)!$f=B5cNZSXQqNhQ_n#V`JFTjmhZ|~k(zM%31jF0}mr1&js z0CcOOJm3Nrg|uuKjpD%*nfyfglgQtj<^Pg*47328|5>E_v;da?NyK#KpjlNrk|e8^azi;%=js?P)EI?=|HG zKi=Ki%Lv~uqO6=GT;x%HH*-CMOjA$igqb*SCZjRO`>a8+y`KsMA>fu=O_{#1U1Yp< zowfWip2xZY04<||rx+}OHf z^Nu&RZQC2$wvCN#{qz0&>Zzyd)Oj&i&zY&d&Wq`q?yDQ)cZ_Sj!H?-ZTQJ_>+y-rg z-U??OZsn^}cz+uc|L!AyJK)3KhsMyit*z!$O2cPCX^v>aiTMR+Q==#b$jiZ6O+BYh z)xHa8-XQ#>J`E4AEF3}QOO7RtcsQjNS4vScp?U0d7fUwUmeEtKEHK)RFxs{g3TIjh z!jVf|4C3w_GPq423!tR4>Win8bplI8uNX~7>-m0wseaq)bj`3?L0^@c0vfalUp35j zkpQsY!@tTVJdO_xB%_xVCurC%+bb2O-&E)R=WUFXJ^&=f|3?d`4P*%@3e3tu{vz|x zJfo3e$(`k$6;3!)vQHVj-ELd@W+035u?)qikHs2ijh0-FB>UN*Xk z49qQBNYD5ec*Us0T|zG-TFPDE_vD=#THqwEuH8DS&BG|qiwQ09WMqoRdivA>gfjh)YWB1x4v)d%gg?YPDmG?$MGH0?IuypHt=I0 zH8F$pYFk&g`{Q_c{7&;P=knEd)|bcK_@G)o)P@+U7YmFa2Q!p9nE2z5AJ__1kEjAo z_iGT%VmNq+2UhB>6O~oC*7T#69LV;l+p!Mw=6u8-FCdBtP)#(VTDz+e^f6)D%dzo z+o(JJns-|@)3#)^<6sqU@^q_kLrAG2nRe>Da2B!(fSoA1dWjF#A^UmQzWE!E0n*Jg7Lr&dahfQIS1oJ}H<{hXa@1Me=9F4?F5DQDTt!v}B0dLXd4XgZ2_ zQ$Ad(XChv2qWNdWE5=y7t%}AIS_G^JV{{RLlC1#Q7wnR>hw@{>*r`!KiX$>7srot?WBS?*e}v6QJi=MqjJCy4 zC8n$9N%i!0rG>cjZJw){SQM4>A5zQLTx>|f@4IjHr}v1MNbNYKT{3@}Hs?-Zq^L|W zOfwoN;eVbhx}KSBYwZ(VP6!9$F9~KJTI+VyuW?W@>>r^$*D^VOxda2{_itY{hE54! zt>mNE`<)^x3SDiQIcuafC!cw7F}5qi6wr~>{6j~Y2uwFm(v$z_58$uSk9R^2$@0IQ zY*JnBWs7NHg=n0c>82d&uW7K3#}DH#nRaoYKg6O&lhY9_qQQ$0#5@6oJK36uiRp#! zmi4YKadhJ6qIJa@Mni!=dt91l5$d{P$EN(dZi_E9@6;k#;qv{bv|0O@+CL4tZYt*i zKR|y6C#{UHworp(zH*8z;-8iUFSh++YiBI|G5Ur?A2!fT+mMW5nhZ9ghu=eo=vT*O z;=)8;iPTyjz~#({qhWqnby$prK&OcWZN!!-n{hQ}Gi<+gUSR}u1TNtoKnjg4Lj`iV zaXmNUzi%x|c=g*gHymAl>cIG8f=)p$>99kyFp%$(MRdISkU96$XKL-bhJalbHxoQ* zk5ap7m}3AJN zcC=Ba-wHoxBhz*u`@5j~`Wy!I2aKUZ*D|+29&Rl6N&*P#x-IwJ1|1=8k zN(P7L)n%dBH}xKp1L}Z^<1u0fxkI=ni=ZlgOhlH!!`lPBHZ*Xzb10ryTF&#J7M6)@ zF+_&?^YlA1>OnwLYLNW1fh3C+4uy#r8TBE4rYSC+TVsoB)Fqpz9XeY%TqmaUcE_+1DDRx1=z2Ii$NIG8C|uyDte8A?->1JrZvaO7dWF@`X@J z&e%cO0sktIXg!7z$a*G!>?M)~d!hUK_WK#e@?f*ZcyE79bF+)|dry{r@sGu|JrIPP zZ!<+5R3rs*!7m1F}EX?RbD8O=M4Kd0HY%oQH-A~k3g zigw*t^bpj#tlGYSA!Miu;rHCO4`nqDN%_zz{Ut~e9xH2Hy#_J<(df2CzXFd!`q&}F zcX3Ij`zLuFqkALpp%{bg5E{3msrsJC3`3Y1NO4(@wU#DJjAD!pu70q>*2pvT?e76f z;Us~+I+-T;i1?aO`a%UM3(upWspaqaRXw+(EfwL)Fwyxb?Ye3(<^tZ_&@O#n9*Cze z2|jJ#jirbo9p?Jdhvu_-TH2%Ddlw%utZpe&R0t=x`u55wF@;A6D7FXZA&>)yDZvH# zcb^Mmm#V<=do0J9=f$RDMm|)RUYluuBUqDVv&|w9=A)I_U(0TtM3EYzm zVO1L%WlA$S(h8DeOW_D^W=j?`;TAaYy{zE}Upenkfw^WMHI`tzrv&?w+quNcc_6i+ zm))4c%z#Jtvh&I+mLu7^dkAwlE`$nxMNH!d&4L?eq%m~Twxg;V4H4#WK8tk`ft~@W zP_hXS|JykRj%esPv)3&*bXOK`R8=PT%z2mJMONWGmi!J@0_%MRj#9OHUw>8(ukr zkf$Vw`mjUlN|bLT>oO@{hk@mC0~gRyKrLAOm~3As(3Gy^=~MnB#S22}p*}9c`w~rE zR9u;e86vbu>1)m;9sRSb_EwZ5 zu31TQa-BN{ECto*nzx**qsa>y{c14$1axGzny*)J6bmu9aEv!X=ryaH zm0A=ODo^yN`ymTv-C>sbRgg$$$zwCAQW8W5Y7Rs25s*Fmr3Zw-Y5nqBruYLb@@XU;lT&XxL`tuNdYoLhKsGCUd)n6g= z8svPyUxG`d8}_0+4VcV$taLac@O+4{S-k2b?A7l=WZ(){NEXs1EN zA1AN3MA7D`tayTe7PT~U?A5jG3H!|!baUx#N0WqXM>Q?GU=-xTAgPLk z4IH;s#9m6u>I~?Izx)MKw}1oT$k7TOV*2Kuxk(gCy%WGCq(g_W(Nx`xkamZg7LTJG zxL+it9Kzq%cV=U$L%o5i*)CLq+8-^bX-OL{9!Ngn-Lg^52FzsNH}}KAw8;2i(3TTG zeRLVziX&Svq_!r4YJxS8qgHrWa8WsWEp+vY@8)_@7+~Tp4xWR#+l&%9+#QnJim-d# z^C1>2vR2VYEv|%UwP`++X37Fc9D{rET%)qP?cISZ6~FpZJ5_)!`1Q3MnZT%Uiy7Fb z&A_4zlajf@17U?gJ{eGJ>5?ejXG+E!sWMG)kv=0qz%vGIR?oH9g#Mk`ancfk8wrU~ z5^wBuqr1PaEaWlTS<%TQXlcpQ4fw|Gf|w5FWEzlGuS)?NFBqTq#c)OjY%-$4pq^=q z{^c|Km|XbK1zb4Xpqq+bs;%bm;0seUDjBf&3bx3GsEJv&_P=qb{lJ$={VfjvWL~59 zN)|AhN*~FLJI)U6GKT-Q<9hlfP3ot}6V-M2C5>cklJ=^H4-p+3hed7tAPjY#8C95r zxE)JKCtp5q`GM5q=vDc@BX)~>3}h@kN?&Ks5Ap+4jdGE)Pw2EKjjjKV-*g#}-*`YuKQUs?UiGZ+U znPcQ$DE?407Wa5RAR~swYM*!a-W~?suAG`iK6qgh244;1Xa(kGN#%qE!fyvX+n*P` z-u53#9wtw%aEAO-o;Aj~U^}ktuC|!TkEhpT+^+0^&!#RuN#a|tkNca8S7$k0UO8fj zu1Q6{rR?W&p`b|tN&SB?Wk;nx=zt>^?*mAtPs042V=vnq?b}vqQ6GOKah>l(HbO7E=NA#HfE;dgs z1{W9)w){CyuvW|}J5~O#=)tL}=C#}-b637rGsIprizOt3vFN1jbhP8|Z{R7@O}OW_ zD_>*MZF!aDYdM|OdB_&y6+i5qPQ5C`O8tW4m3tA3Lg}elb4+5*0#iF3?v|DDvv#wb z0`*!Ohc=EE&X6yB!1ayuKmv+X@HrC+wRixOrytcg?kcl{?0HP#!XPX*YyzfC)?rsj znoQ94xt>yUA+!&EXIrCN5tI~i1CP!##O}V*w!OK8t zWG{-O%NUKT$yEI?tp<$!P<6Yn62GuPU}3Qz-c6HP&~Ghqgdij!1gKW3zhX=Dyq>nN zqK13|)B(8$tfl2T&KNsOUmcNE>t4QiDH z9f^ylyUFiV!R0sU4>Iy~y;8O@nkslHP$@8qebqdNEBFwM%#eREa^s5VQtnm1i`RN1b>% z4ZItuk7qt-THT_pgm1qC6K5R*i^f#m%F1t5ahN8o6DZG%Vls}f(}PXkWHPDZP&j_bkI zfaw(V%3XE&4+)ngFM>#CV)PFTU%Wd>epshvF6Xd3iezkI=R^yC0z5|x%s>FxP_eL6 zIz10|rihUs`J&zoXjrZ_>-%>4pFLG406YZOw}9sQ3%DA6)#HFKAyV8alVsl>9V6I9eItJ*-W1ps>8K zPTz~4{K^N}^<3u`#kXpFd`bQI@ZZFJgNUr|NHkUpdNB?_R9qA?LfeR{eL=;w(M<0a zaXtB1$JwibaV&)79v+l*xM^L+qO@q``fbAmPOG>QGTonn7&4Z>o(6Q_>YoPDK*eUhxC_nnfC1rx_{KMT5 z6Z*7#9JFy#qD+6?AYTc5_A3l=N8NDlb+1kv+<@rAsp`?MZtKk2VPj6XDqfkAzv#5E zi=gSvTInBoDfK;R$;6=#sJM_oV2{3rvh0qm60*Z53_bZV()sPIrDcQ5P0IN##8Nl@ zM$(FlI-)cqd*UHr>t}L_$f~sUNb!gYS*XCCmjfUj@8r6ICr;EC^T$JA!QsShQ;9%L z2ILshoQ1k*t6@(NvK@PRgGfP81(&>-JX4&hDAz zul(4{h+pvF62MKvtmjI>fQH%N-T&H_!q}6YZTrif{1T)>lirmNku6l;IN}j?)IilpG$VKd@4MH@=p-yq)0$FK8%HmYizYk$e}5x6nKtDV0Bud_@Vp9(~Lk~ zIB^0ig}U0}YL@MYI!OcLZ<7~xkZgi`N$uEgJDD4q`UO}i+v3UtC_$JZL5dev5E`Jm zdkuLDB-yl?D8&3_o?_g}NRk*ctk>Z;*WN z@ZIYXJijn)~YHR!f~(kggV_Fpl!AqR8T^-q7A1I=*# zKcM8cAP(7)5!1IOzuladqbynaxa0^i*Vu3daf8$=nSeYfXPHEJ8~k()wgP?!ZFLU( zFw+#!$hT_On*qPTOWcaC(*!G4mWl+N(ztjTPsu_%u#y7nN;Ao~o)|lhQ&FMw=*42f zcrJM|2;^14&D1s_0&&AvNzR0>o2)RmUg{-3s^0lQo>&fGR0rx2^0>nAlSJ%05L)kt z-v8Nv1Ay2Yvh?rIYwYAvKI~ghJJ0s_MLv3iktzx}_az4sf04rap34oY_Lm?VJO2xEu3NJ^jKsvLXMvk$vr`^o8K|qMu5hU{kZc2EyL3raS1*DD!dv7js6I} zK@)<^R7aNZ`l0-Rb{aZ!46@ZuQ}xfL{!>0DHZl8u~3SC`<(TkcZAn8yDgkBspE2@0H{)XL_g3<5o>tgYjZP)3ex z>1zI0v3)q7FLB7wfeSKdN6HZ=IDwYd%99wF--wt0ktdONn@=y~$nG|$6Yxk0x4O>b zR^xM`AGnwHZbt@9RLM@BA68>SS|VI)loTX%`MC>wd9^b?HTp`V&-J+TznCY5aQ!=k z%3Ft{Z82DfbVWq@aTAYanZ%P_Bd_rwKt4(-`k&R?$+s1=CoB!{P}@3YzZv6$zgu{O zsy!6vhNey%J=KILEw?>mLVgCUJy6itnpYSw8h7AfGXIr5{)e!Uov=g)a{V!ZBD}4m ze7!`tI62;+A&{LTPsZ_=%j?a|)8l4SgVA`YA$lJMMcNQx zgDq?5-taNQ*m@~Sjc7WrPi!QyO(gqveS1#CII&o9H@{q?Fr74-fQ3cXooT>?3e}oL z921AkmRh5*r61A@mhFQT6gtM$I?uNZx{vNqoT&?WCGQL5f_)QmDqdVEBndD2@!KZ> zSD~J_qQS(}Hs0HiVQJK-d8>L-E=#8ha7FvZzUc3lXT~KQujwVAUiO3f0$Np=w}6tr z!if9l?P4JFL##SDa!&^{$t0eOA)jQ$nog2b)|C1xZst@9fkn*1?3TKBPH}*QP#OH9I|Bt?zm-p zlrK*6M3!`#Q1(AU9jJ_6ZK)L_iKX{_bGNGMCCs2qRC@R^sMjX-CeMt*nX?lo$)Uh7 z3lwYR#U7)kED+9qMel+YXs+aTzAWFhe6v!inOPE1DSPaqelQt8hM*)QdyLN|z{XV+ zItaYjS#)in8KX?S1fi^F3jJgQKY?!1GU{z>I73Qama8lMEPp6R!4=dYWq^Dh6w<84 zxdA8HxOns(68S~&E1vn)I!;?>+hx8{Sd#(V$)WlOwkcKg=8|tIL0r(g60|Bzg&d2* zk2q$rx&YDXA>6m)#5>r3VZRGz$%88zRhNNvKSoomX7@%n<#%pX-%IedW2$QU9K&n zFh6TQS2Sw*El+yN6Pc@?rF)_!x-Zh*H*Q-u1Q=pw8F4xS1T=Dwxv3{@+Uz{-!B2s) z`Kc9YDie>?wuHEQWfe#yNYM5PV57CVBDznEGgw2H5>EO8fb)boh9z_R@%+*5oFArG zsd=%@UU-pF{`~0w3i`_?=;GHryQ);}?}>v6^5HX1=DHUBb1&=13}l%8acuTJQtG;# zT9R%8&R^%}43yu})}pPlYN4qe7luK`HT8Ax zFUVB;b2)@}LeK|?WHmc)X4n4eqg$u$Rqm!*erh*$s_*;2h&X<^&2z}M!`uP~EMi;( zeuMRTCA-?2S`JUFT~V4_n7dOH$;T65%XXv{sM(iD^%w5Jl`7lVvgz&^zRAmAxonEb zZKemI>#-yojgUm-u&>y6Zl)?^36)OOP9DQ2thqcM7OoZE$qtT|+R2d2p2z7D??R47 zUP`t1Er=pbs$PQC;S?l9;9V3nma70#IDf8ND*;FXt6d|f5Q=Kh)2;M@T7`nFAcvu)$goaywzm+p}}eQ(5S7 zF^)e7WtJ@UGKNCbRTH|YC;yGc?qBl9gNDcIG)Z|f`ZzD!Q%QSiM>qmS95yML){Fft zT=U8q0JYFquW5^HXcgIth!tv7X*RGfwZNRC_TLck#jULyYZ~3W(u}{5(sLI~mqzmI zHPl@a!iPZ5f5b^|3KALY#rh4z?x!#2qT*jv&&lz0A6 zjDp%x<$l|^m3ZRfY8S)t>dK8CSAX$xquGHYf!}bmV}Ie*w|fRW2f=6dkJNv`Dd1`p z8&Ip;P!F^~7R~1v(h#eYPVfeS$7(VkHWI?wBd#ql++BMb=v!U|*A#p<5|_K46XS=0 zM0o`O=%`^9lWr{(TOaxIu3a8M&}k=Pvziqrnjzs*hY|Sg4>bkOWBa$Yh`aT)5=lMv~t)AW|c$ z39wt!C;celrp@m;xpxU(FLf5kuu`NrKMHkEE5MZ@ zv-YB(Lan#aQ1s1_1W{GcIrKjd#jlMZq={o_QGKva~Mf;5Ifl*CPg6#KF% zrh;rvL*j80tA9(MP)5gWEMzwHZ0(7>x~AbsgE0`UPo!r!o0b>Ur+}$ywO>LgM-Na+ z^HaQkqUkCut)>BbAVgZUmd|G;anPn&(tPy;=f-NXc7BOAj!=)f#l@k zLF+0oAEs0LF9i{yOOx_KF>yOvgtZlYDf59wbV3rIi$MzNo{gklmsG>C$Qc1vY^ZII zd{Y0;Dk<{tQJwHfNMCZA7dZr1L$)71cp0*oVGQxbfDAb?Q%u4tD$zsI%Ux7IeX@Xj zs)a#dN>(x1>4#l`QC_#sI&yp*-G8dRSqqJ0oId*zU}bcXqQ$tsDc<+i_3>sLiYLPr zd-J-nr@@3r7ta}WrTfHcHpb8R?aqezy#vdCXXpMG*ux0S_+LbJ!+UqD(GDhXo3olH zYfmOc-yUc-e%R-GTsAVmJ+1YQnqsGby{Onr03_5F_kh69KR*9vCm-U-Z-x9sX2 zui}w zA42iX(a)2htzA10lw)~od?du_-*Pb<_Va%r-3d(;trQ(2FIt6-|H?kCwhAxg!j($| zy!usrz+nZaAbKu`o6E9 z>Dz5@$(oa1^Gy~v2)=D0EfWE^3=|?KV~7MgzV-FiC(kTPJJ!!)h>G=Xfv=ysg*@$d z)F#5TJ2splRa}(-y!Kp1`4Lh9$2)ekfsfR*q}|PjX}j-w-8?vgzTDjyiXQL$*-TJ_nLbjYie-gR7 zt_Id8jQ!uT!YC}0!K-TsFqjg|2z~eN%BBf}1=@U*#3sBuB2eMh#m2sv5&dTVv2@B` z;FeWLy{l9xnsPs_%?RsL19Ruhm1Ol)O@Wv7ZD|-T+4)6(iQF(PYuf;FJ{rkqbTlIr zZ5cALSSAG?HI>0{@ejcB&EJC-G_i~pN&JEERgPtiC6#?b^KgqA=3+bsnfsL_>7>q{Yu^n6uLyF!(XSEbiQa z2-rGiu@OalhR6gG6Ik&G$`oRqBjv04l^jy6`Ip~{ae&F&KSaRiQpcYTO_{_Fcb`_b z9>qS}>*RyrlY&YHi|4Zxgtgt%<({>Dm-jXEkz=G@968J!_T;`@cw+IvdA>rNr>w0r zQ4C3siFiW2`_}CC1#KH@cjo|3TqBSXOu`wC?aM`hc($tgHp11p;zif`2h4W=>mIdwW9ESeKpU+PFe!kdrbBV~(Z z>Uu}9HuMkUzg{0GEYItrxoD5tNF4NTo`uLa&{Ni`<8@|ZIGgbfbKJY}7x#Sbh+ISu zZtMTKE9%=_!Bjj3IwwlJX%`QnQ-2v#LAJTTRh*%ff%hu0sJi$GU*@4;OWYdoPMaJ( zXVc?4j|J6xF2sgukf1qM0!*~ zes6|A+4!uI9wBS7NYXy}%_Qc~#7X4)0Yy3Uji<+A48sE-t9Z(F6S2S?yLtg{eRPk6 z6v#(%vG4&q7na~8nRb3W4~2UwRxXW!lWf;^#{?7e`0G3fJ2c|Z2Dj+dbs5LhrQ)7f z;zCtF32GDd428={4XLDwjLNYy%A94c5}G<-=XkB$X!=YosAHjgJvnOo?gkq#@skH`Lbx@zd5zo5=Ias`YnSM;5{ zCM}X!(L<1SUL-q+tx9hP{Fw4)iMLRj2wBgQ5xh^zhz2)K&VX~lyTKdOugX_z(;k|ivd6Y8K$(aEC{Op zY-Qq<$Bf{gGLk&}4W;`nxut$cm}{F1)Q@ir$MW8;VNrHR zSH2g%YRjauCPymUT;W9IEhU@jV6vEmgKtqoGy|pv{Aste*!0xKEHgGeh4nf|9;?2F zLFuXd7L1x6CFuPbiClaK%)z`xIJEM-!@xbU#G$k&?orUyuhByZERYne7G1+Voql^!FfIu;W+w@52vum6J3QHV2lwe=z?h51yB`^5Hj&0 z86+%-2V5Q5jJHi)Ev1FwkT6~5txMaw5eyC}G8MhBZlpmdEP;RbB~FHK*1RmOHf53+ zsAf5_s1zf?aP2|l53f)C;cUW8Qj8BUTN$vFGclxbOrrrXgGy>!Qafj(u=gx7&g{L% zqWL=~jMJ;p_E3~O5)0X)p))a@xR1Mdq*P`xpl=`tbTQZq1U&wNnXXZ#UW(ZT&dGom zXzk3N{ek%;aB>L6lA*Cjg8)vuyjtlEnfN3#7EdCQ2f-U4+tRz6tSlEFBn*$fF~bH_~;ywum4Qi?mle z=}sM6*sjUCs-+o{#hKdht_yIvb)^NKIj@whUX|Cz#@ zt6SCmn1%j@LJ{_XyjANgg(F3uv)a`?SL>{;P)-Ulh%OQND)AAfQ>0~?roJR1NdukE z`Hb|wVVRMQNO#%sloM+Z&Zv`cV{R=0y6}gJQLeAO_E_X~o&EkKttFyxl!kG4H!Dy* zJV0oUnGcf(Nb@6OtU2FAdc7~QaUi*a`ucQpsY`4fsfF|4R9D4z2MiL_yuuY*hu8qz zB}H?*2?6|yozA57cB#x#iN_@hU9XBIDh}6gM>P2ayWh-hwtKcFRU%+( z$CLWK;X;yeNPMd;CJnmU0RKeOUT9C0Gz1|6Vzj5ytDP&7MfaJli)0xxW$I0tg4-iC z_gvj_VlNO|5A{NenA zFt0kJ=;x@XKLa?^nIiXqf*RtI7+Ht*1DXX<_+M~D;;pWi>#)*oU}u*{MC0VbqY`Pp zBtIX)9N&w%s%IsWoLfpjw%8H|_XNBS-M{BM1HmCqs1Qudi0~T>89X*6K+-niM1IMIcDh zU{=Zv6BI^MIh64a7;f>iZs)G;f)tYb@0xWQM5sP^v}+t{)nj#$y+YaAsPEEvu*NK% z|ASF+q26GB;PS>oePGV?Z2zUviugZ(fgGw40XdB^ab5|tbR}!+v|IF7U)}#jGsC zi^dS6l8WgfA?s+T@MrZ4=|^h`%YW#bFO)tcDEoKO0c}cf5EP0v#5xsKM&Z^f*Scuh zlyf^$Ba9ZnV>Uby*`v+Lz;v!dfXhiX0rG#CmS$VDJU z#Ve+SA81Q~EsC;o!eG_EkcsY)x%z|?9{K2GIu_#g)ZMXI@sxAP@7?-FF1FR7yZP=Q zA_#*R>cq4gTF0fi%-Q`B9SD~Ffp36r&dXKKdFDsSEM3ah49CCyz7G`>IOHM7B%J_2 zZNetYPAmOb|9yJ?Or#cWl^0vqKSQXb}e39qDnIfH5(9bgH|GxQVLSG+J33w zB3S|z>c`ccQc%~0DtEUepNo)sV|V4S{#N^oqx>iM;cB5^j)$c6M1o7 zIi^g_J)Tj`XH8E0Sg7x~v65HpBm3D1NS-d@@=P42F*>0*gzM~Ok*D4XhmsK{mXq!F z+?M&U#63D|T6uUeHjTZ>)POe3IkEUyRP8MUNJf$lRUPqMdDcDQq!Lf*z}WG{qoPYN z`0FMKcm-yXOufh$=@2&qDTvp}D8z9{w&{w_kYZ8_z1t-eEe}0CgfL}t4fgFYq5Sxc z-ulQwQ3p<1;MXGZHzJxCCDEVh(_!F}6BW^MK+@uEp7c~B8+1dZd1=TQ){A*OoNr`F z<{hpmtW3%YN7$_*RYFEWaj96ak-deP!}IUc5%8}eP_7jtW-6tD;1{kYBRR3u2IRtA z(T%J7)$vTys>DpvA;q^2btVwc_M`dNRlXUbN_CNQSL6uE<%qaW159$k( z(MxvkNTr4Au80$}y5?;UlG3uNt`5XV=vba5n-5TvWi3^0RxZYIX?1R2N6pb23(!kk za{w@eyEFArw|FK%H?Y>yR!Y9XSkGl~r+sxdD?c_V)NCs!^M=qm@O4p6$sLrO7U-Q{ zaFLnUG&;i&?Cj)F6XK)rw#C$h;lk}WMVjC8MN7&{s!UO!GOLPGwPecCV_6@~7m3KI z<#ZyxXYyZ2q4)G%+{J&xG z4r^2yf@-<|{)ysELq=_1ep&F?Wd5)6VyI+Yq9!H;_8#RgDjb@=Ajm}4f$Fya7kE=+`E+{*=v03k zSVgwPSNIEHs#7Ae#=PUXa=~w^$7$SPt_|AIKGNmyYtX9Yi_1cdc;G=(3n>ViSzvbg z(DbJ>YaZcGL#5vop4YK2Q*Hb8dBirIzJYjmru)ExIs8(S~7YOA$k-- z{kuYX*SaM2a|R=LC=aC$xdjjKCh=f9q^?K1FT$|^rnmpf;FfDFA(?COEHiJ>RjVdZ zot!5xNq<$iJC6*onY(wdC$S~T@X`>pb`Dzc27#dMVjR<)N$^ ztLF4{HPV%4L8E+`LW2+ZodY$o`KHf)hyu4e)Zh>GTH@Psmf0FbrL*>TN|^V`+#tsk z;`8JV=(5cnTXAMc#l3(vHP_`?v}7_QYa)=ETlOYmVsIN@^6Mw9oh)v}6!x`+D7y#W z)1%S1hEeqt_RSjh?@&44Qcv(6U!>r_4tTc?l&2d@cjCs?9C5Z!LxJSYGz6JM>n1!& zqeI*0GKU+cXQj3ZgOTL7<+mn_`Fgw7PCONaK+8fZ{>ePwM%fo?4zz!NH-2!}-$1Ea zofv~`$vXfF4Cs+hCl6Cwi0-E1PK%$+XS8-_Ege0e4-rO`DtC>xr!rH~2QZv5s)=Jv zyB}`bhZ7c$-<~`nk3FoHKg>`;wH}(CG+Ur~sBN=)CnxSv=;hsr{QEs;-TRlOcG=Z| zKnRLHoGVLD#01=cmIn1w`tr4ny30n&sYXva)wKMuaKs`Jfj>>7b~#sGIMSKH`U@*C zG3a1_bf;)qi&Wb-9si-r<=K?bosXH>n3P`O)aGs8(=I8$$%p2*>r_!{&*k^qVj?Id zxvZwXI7+&KqfT<7<2Xo(&XamVzz)~{1GYdhAXVk)LHD`hD_WX))<>3>uZZ#X9^wn{ zSa8x$U*s{ns5(1M*&-3FEcuh~5qcmb*q?-)W)?WuW?Hv_~mGag-`X_=k5NhG?hQpG;y=CpmZWX2xNU0HY^=9KB4`8v{P^A*LKuu7-aqx8=&^-hVB^YnBh15zxR5gmXkj8yV)VIEdh+~lu#keJ z6CgK(k@B&k1B>1%h}{xq0eZ8OWfy-y=U9b3JnJb+U$}|@c#}=p?;m#^z?ht-c-x^k zXwD%8ukHq&)2yh&Q;k?7qpV@=7=L4H9Y!zIJKPFgNNfP?+3Snuvv8`pvC@2Wz{yF+ z@%)IE89rl8#fIzJ+n@EH4n)G4+H;j|6!yDwOG(@)&myjiyRhl1<&nd7g)Wy9`CL7O zgSgg>AMu7B1LDUwit3$gqEp5(>@JnpMpZyy)>_W#RF`>ND!5bq)ywL%Zz`c1SmYe` zc{nzHQkWqhoH=zLDfWxFKoqGxPyQIYHCpSl0BkNmJ%u?D3L`})>iae84NVKo($sa! z;6nC!s@Y-Yrcy`2Mp!Rtlv}$8%+2S?078uwj^9u4uTJ9A3YxS$|@zPFNh^kzFE&(KtWv zWnzU~mH%J{Fl}lD4k#?VVnf{CzZeE0Epr0(!b(~)#*v5^I5!UVtlFQu{3b%Lga`~0 z{kRZ2D}Q@`o_cY=U34A?#(vy$RaSPWp$AxC)F02aYrl71Q&<$x!+-;85k(l`)O++L zN+MtMK*&Jm6>-r<@K$;tYFC!?km6NIzxBwbK#k-5V5%`_Q%Ls=FRt(P3g*>k&@_fYT& z&Q~>F%I5M6IN*9@H*$Jj+=Vs?4YZHyCt zs<;|K?LQCj6XR^Jw!TTd6QXsKtl_%4v$x)wET=NNN3S`-*O$te=yGFIN z|3lxHfr94Zx&*{$vZ+gpfJ1?T$_v`k_Q=G7`z6L4MWIFSMggIXQ&QSj9-9tbX)xln z>$6UqDOT$``-cW5K{JVkGZ|bx#!F&Rf=07uKg=~`MqnMYeCQ2xQ`>YJXTn&sj}4Lu zaY9j5oK`&DJ6RGKPDCMKH3sXx%?Vz&1`l7XMP~8VpJ&^)lo%m|fbWNDMgE7iN@a>S zzr+b9FZ^L>;m>NXG}Ci(1T&TErvh??pghSqobnOFZ6k+h;I594YBHt*eHBKeCH=v} zX;=YbiTG`Pebq&PYLRv>^mimZxuPEh-#YftSQ^?8qDhJ_Wy7b`8MoGXBXq_*xM{rUtqG<)hsw72@-p9WO&6CMfJf-Saxg-*t1pT`Z`y)`QT$VuQkj|x&Vkad3mV6~V zl}E&^5BksHi@KBja>J=cfVTmEqB!8u*zjWrpPNWL&;`c(yM?GEgg;S{0G>FR>(W}x zBGXvkbaFRGLbSH8Ih)HlURX&(L(O=-?*W4A5{hv9VVO3kEmwf8EbMTn4xWn5(Bw>rD6}k zOZc!Vy1uA<&A`!J6qSD+W~&!G;Z68X0D|OIKU@mLe$t;#1>?k#pa^}&^V0O?vti?p z+)ZUip1fP606q&^m4`(N(fL0KQRh{TIHRn<+VS0-M0PddlyimVH970YlsRk>BKUX= ziE3?nb=i&4w$ZoK+_xLQfw;a^5})=JK5oZhTLj-yr{x)5Jfsm*491tl(_C@5J%}j= zJSuar9{~=trqgXjeF7Is~r zJcMcz%d&7jG66Lh(+sLc%dqy0_?D=vNhW8jcVuFE6GuT>HuhzSCL-t^@X(@?0WLoS z-Gp;1YsmWCxkzsSy)CXn^3as^& z_O)2qg<2_OlaVx2*P5khd>ML4hd&qy=#U-n$CfzFRGQdLkc}4ot7!L=M~8stZL1Py z9Hgqk;l1WpeM+gCPVy!D$%2ie`N6Gzri;3D(gPbMx}14PzB1)sIv&xs@Rs~}3&YUY+o@T{cEN{uX4MW16>OhL zoD=={wqv!87z4yQLjJu6ozMm=5dV**bBfZWX&P*OqVF}H^J0QzR3SYFB)L({|)~C4|(jm z*@_adTDSK$aUlgY!0TFy7$sT-n@&3EGT$i0a zcDw<*Jq1O#YJ6l6(BAbuo?i_3a{24@eSY%-i2s=hYTw%8-(m#petq4jqR15wkwN6$ zF7`kUsG$`*R!-do*DAoFaHd|8?nP~%X2bLNb$%X)?`{hi`2X{J9v5S9;D{E)On`C5 zFNcFeMH25#Cd4od@XQVV_tJC-A}F78SpTpGR){zlNUh7Q82!zlx8Dqis>W((av|Y_ za0W9>7T5el3U#0}`(c6WC%*xe_M(0=NU7|<(L2Oz>uTX;k`aYAJWZjuWilEL9yRVE z{u^XJ@Fd?~jWLW{kJ@$1Fm%=XKIz=4B{Yy^^)~N0oOP;!wwb&8?Cg)IuFm|eR>mGm z1TR{<=_(;3QgkAkelY={zo$%lV~!L--xogY=r91<(xNBPUnvBwbq&WmAueBzPC}U8;;2YuuF8?fSbXZz&IOU5WMAw@1D;-mmo& zK6rU&>$N4SpFxo7-%|jq9>wS~PEi@^0ho3Ke--qedaHf^u+#UsD2wu~klK?&sn6!z z2D2*3awnm(C(-hR-}q^!n(_47ReGyZ0e0S8THuFJ!-dT>3nS>0m%7$zzo6oC)}nv& zNv6s;v_RRfJLm#ZJjG@kss*OqOu}8_FUOg?&F(-PI#E_RFyE1n{TwmWf%B$+nh)>? z`Gs9f&x3+s*`_7QXl6DopAoQ)Ftabw!e7>9srf6;BzSB!_fM-EwQ?w$>59J-ywNDy zP210Qx8|;2GDVu1zD!1+V!Cw~^rc|Sv<|#}I&I6sja>oU?X?P+5)$1h9raIP;XFk= z!VL!kC?a0e9Q&D_6!4Q%*Aq9suw(<>PmocZ zXivB0t4&$AzRe1s_m?c)WFXWv)Q(GEO!DW^1fIgtzZy%TUM=PUX0VXEN83=&=cm^A zW%JZ-XRd&cAx85cGlS$Jn4}&yIjahOr|#^1)Z$-N0ik!uuji&~* z-sG`%wt&9$sL9td4wU1{_*X?m&eg?y*FTGKG1bra`;y}sA{WYMe70x5Nrl$7<{pe7 zYPOWAs-GUDJ}ehfx4~SwW_=fJlu0=0TD>~sq0w>Fap}rru)RU_F~kE!xk198Z8=CJ+ZU7fF3BP>3(4f34T&`A|qTT61BTz_2ly-BI1qf4K`eDkYUb86#fvpeHWWfWDijfB9Qg^9fk z#dc1QY}Wi*W5&{sDg=`>$s0@CT77DDCcqbFi_wH<0(&ADRFgj1g|Gf@BVkwKhNJ*g zSc23EZUMZvqnz~hwvPRe{l_g-OB89I{@*eR?upvM^am=L#vC4__$99*v=?;D z!8=AGla>?EF@58J&_&+dN9tZX8FjXW-1SvG>|+Zl1l%&M>#x8EIq%1A{Z@=mW~P+iN#s}OYU1vD zIn*;{A(A9ox<+OTq`Y=wzSH5SoL>c$0`>@K0(~n_1dc1pzBIm*rU@yw5;z=tY&lstV4B ziADE?#y%{}h#zVBW_V!f5B$wO*4!8@seq&+*Swy&jM%Zv7(XuaX5NThz8!`f#v&Fh zPuuA03)4iq-`99A_+Q+n?=T~MR>Fe7!Z`j@m^DFDPl)stuqL~nR?A=l>UK_uaD&G< z5_#DQeILLV!i;k|Yja>yi{+C3cwe{pcz(65m%39s|oqc5{sQye10|h+V{de=K z7-9ti3ajdwajdNF@Bgi(?^HoxrUUl_Q>PPDLm&f4qzEY2@2gdLlZOx0N^Fuq=|oVP z&??BOd1vYrLE#0&eXlEWCvt$;4PtNV1l?5G*1*}knm%4Eo~O+xgHwLa$vq3);gmZz zXp@nspMK0_aKe?{zn9DLoON}KA_Vg-B$&p`2hhLi~A23yLAn( zCm+k3ZFRNRX;rJ7Ro}H(b|RoFhD#J>)Jd8Sl5mMCB^B@ZWKskEDEt6x!_~FzuaA5_yy#pG%bL+!H!FKrpTT8U)&+%<%AW-ob$6G|!<({R z+@gB~s}|UdbjS~$msjGmT6dSY!{?)Ft-)$zcvtxXVPOBoNz;gNj^*#($e(-eWbXs~ zu8tkDiO}SbFcjtIJ8`kMv*2>8aqS*!9CdenIvBDhU+XhJ2cb73iU#u3hYFF{5Hd;R zWcc2D?pZlL5N2-U=yO?-wVxUKXP&dw?*?Ld-K#3$^MeCnL$E1EGhld?oP^5mK7i1? zj0I3+Dw=!Ud&awf#9nR;eTf|mFF*lWq%kF0hN(LpsLhf|O6!o1!kje~m_k4UMB;3L zdw!JS2Lhw?N|>3Tkwo~!(l93pe!aNy(r8rQppU7~sA_{ey+X@#uQViu7?D)@ieG5F~$M*uAawnoIrp%H49$H8u?ngzN$2;w7xO zK&^e^k@$C-UAHF%p!PylUhCdD&Pl`mZyX~(30w@=z6#$pZ-rN1ta%Ffsc^cuDNZ1- zzy+Vo@na4qe7VReu`3n$zxhY$y6ll5>+|I4@L@RbJ>4~0vTVFOF+*HbUJa0t!~LmWVTYlM`GAdc#;yT9a?N3_JQetpY*UqblaAR3k}#sd_z ztOP$9SWzBybvuuaPS!%{P^YQIexT5+?qTXoHKZxKe zcgCSpWHQL2sqQU%Mew+_vccAIU#5WwoVLijD)zV-0_A96PPHR>TU7v3p->3<7nBl< z^k@6U*+0H&lbw)P1x(7iA&LAff^ia(UymK4*K(7A5S8CKajo$I4UIK3uqkIX$0n3^ zmyk?>w}&=90i2V520$Uai>-f?8ZRWWeb-PH=yChx)-q@?=!wXXl@+TnJl&hn1_D7+ zUkXd3e|O%p-9to@h@1in^)#M^F`+tUAWZFcJe)#-rUY=}1kMcOq!>(NNHePkQh#c| zE^``4Q|>PBd9K(JA`$=~7DH0&#xTlTNH9+_UH~v}T z!n=CvGr`o-&SLwXjR-A-lJ7YX$t(T~(d_h2gL8JaeJQlWs2og(t8>p-YRYMg$AJwDS_odbk~0s{xVYS7?LAfE>GeV_y)%$u=v*M$ z4K?SuhRGM|6As{o=kbx?*dK>?H z6pvN`40}5tVX9O0J=^k+S(dtus9vFjJ?cMN1DAG!Tq(bOppxtEp4QYTkQs{6o7Lan zRSTfDc>Hi+rxJ}*#%IKwU|Q{x5H@yiPM89!A46&hm8>!?DzxMZl_K-B=_-l6o%G1N zj=&IX;qF8&;vd0xp;b@@(v2D+&;YS}?@CR62L<0y{DFfM-;X2gzTd}%lrewUvUv!@ zh?FMZ^;OG@!r@${qu2MD(bhr$oojxMckJE|yb&Z{Vfk!SVUxUB5{=8qHa(RyS?P_d z-?LJr;1;J6%+ldkCyN^qBh=k|4_g8^LAyA!FYg1P|8SRfgUiR7GpT_S83Ez9y!lw# zbi@fGIb(Zbt9-P*L{qWNnYs!{;)2=7BvQMJr$)6rEruv(-8_$u3TSbb_m(UK-8fNl zd7xd4V_v52C;hU}$@$YBF>_p*Ac(&>bl<<|!*ON=X5}+J#5A-&;(tYjj;r+?3DSHi z%H(|)j&ar3o0WfX9YTCMdm|#Vj1<0^vSivmV}h4Kt^F5A)0!aGp`a@wO#XtGKnfrK zw;0n6p$(6OBh*Sw6*n4cin-iZVdWQ)J`W9v)&@NZu?Gv~ps?}{bXTgE4s87c*9TjH z5Ci;t>$jr^yw=T`@u>QYiU5ItO}v!s3{UuY9yYh~Wae)B7f`L4h$jA$8gT~rBRT;Y zh+UXieumN_&cN?-L!#vJ$(*lh?1uB=g!<#6p{Jj$_ibe6d6ulH+jf@ zJsFz<%+xx}mIVm$OV5-A75}s>b2>Uxi~>%k$FeM0y$N6(J^tRGe8sOT*6oV_ z7R?nWzV8TZf;T1_*_$e5CVX0lmKGyzGep_V6X5%EcX#uVPJ7kU*YkC^|Dch~*Ois) z&uuCcs-Q(`goI4}PNtvx_XRSS&gi-fnj9~UV0va*3@isMSX3~7>xX3@A!W9@?RwW6a#dl$3 zbT-9IWr*Z=q9{xqhh9=Io;Y*WYx{1gXkqvCXRnMQ7S9u%8spMZo_e;s@WA6y3SC4= zH!Lu8EHxIySM?lz~)rtU%1+aT^DIR+3Er5(*unT6v#+^8Nf@!d1BTw^0HP49Ov zg3q0^!XV~~-OI0bkOp_5D11Erh>{G?Hzm4(_ zD-(O!;vF(Ex`V$xY?SiuM2GRT3{r0r*ecXYdPpHYWIAeENc~m`*Tus6_dWj`OA2W`l(e$B;kRBU5`v4TV+np5Cik^7@7kMDIo82=j9XO~HJ``fyzv*v% z^X0INoeRttr>{<{3>(UNOQwpwlzhl~%vJWE^g0;l$U4j7SF!;rYMl+j5f&}YuhR~7 zDcf4M))nX~b!?ntG0mLV53*CCFDbQZC?$=($Q$KA_KjhVfhsnn__jqyaKFnFl@WEY zp9x}Gszn(qd<>fqLVV1&df*4DDJ!r!lWYh>>-{xrv*w~-@ETBlAEtu<2s=sx(-NUObSAv{?hPNKqmn_i2ZLPzx}H59B?Hk zHMy4j;_jiSy@|4h=v)E9Hxe1qT#1QS58+sdP_s~5x%>d7Su4J%z(_QN%gu~#M(4mk z944e(h?*RAGFL5crgNMkeu%n$h@N-&6gvOAf~;$WA_!Jopo_~GAqSVn|$h<&S#m*+PH`Uw?$UE)$b*E zEWo_j3y@@^pKOR3rmV>)kdiXPt=nt{js!6~)y`TTRdY(`nI8^pAE+4|UmHrY zdZg%~oNX|z>nnwRD_&t&*xeC1Yu?{Knen(0FxcQZJGr@-4r?)jL)TwxBZ5dFV*6}w zjU@!d5Roxbgw<1nE^aYvPaeDoqtu%-D4K;Q0kpSR_qwwypY?Qhzdxrk;D)S))RJBu zf#Fb5{#m)6(3nA{Te`COb|YpMk$wmNxIbiJtstl_EA0<@7V&52=K6yz{JT~b=E9e= zBnk%E6&v!Z{yBvk(lV)2gSO~vJUm=#=w{Gg$D~UsAtipW9o_A9L2FE*vQmyUTXg7+ z8Bk?ElV!Ac=A~t%L8?th#r5|pa+}x4p4Ir7zUrdX4ZmmXvvwYs2yRgIS27S1IgY%K zyiOsnoXIEq1hM&Nw!gx8kf&HdBv*JBPWM(`G%^h^a-%VLBU^Nts0=WgwX+*b#dlg5 zh>Pih=>DRB0Uo)T>(B^R2@=S|`C!G@KfotDn3w?#MyQ{#$E2RTqU;;WInb}7lXrV{ z`Bx~foCao*LlFpOXwi2%9Y{Txq?m-JeES?72Cc$U;q->DJbJMHDeNzV16u|Ia zd9duDnbR42`emd;p64C=t0Ltf6etNEQCd`pSa~w6^&YMt<9CER!g)~vGqdvnkXFd1 zGZj;3Ap~qtXOy)Lja`GIFx64AWPZt@*oiSHK(xx+KWPlKrK6_w>|Sf0YMH zg!NsZmfmSfQ} zlMwMmzWRIXC%BzJN0(wCTlmGukV>TZl3)t{BE(HxNetSM^~zrfpzRYhx&U+U#`E2Y zQ9n!s89Q=wyM#3ZjaPr`Bj*X9G^co>xrRJ)o!Q`tnUHpROt2OIIX8c4EyFXErHy(* z4Ab7T%ADHoCmU^I=;v%TJnhU{*>c4(fBZ5r=#8?E(mvn-X_1MWZ+}$EhNVMt4Dr{^)Pa0IQQC>va&I{VM8Q7_? zidNM}Ig!!fkEMZ*kaUqgV*|WUyhjyD#Q{7VMBBC*)l+ZF=pflx2#%#)p@)3-m?SA4Lr4Y|pC&bKn$x8T0jdyCp$z6=3f*2 zlSEPh`@+&D--#x_Y0kh?a2-N2(ZHeoK+<9Ta_LECPz_5?KEPzO_CPX{hA?~lIrA=M zdO13{Qnmj0e6`-8NJsb{cdd09dyFzn)ucBj5%a#n( z6kf+g^IcV);+st^e?~7060BPieH9?jXY2r?RF`r8u3`ttaPt=gBsfkKS65u*KvVVV2qTITT6fociI+ zf_J?Umsv!o_h=1N^pmnT3l4~59^TjMs-|8YXXc_k(+@z!??3WwPVE3g?&Nyu8alOg zdyb9B9MmXgul5ffTqtM$Asef1y9gt5d0%I+L>MSs!GmL<<%lArARp zTx`EY^rMCG1_P$=|It2#3O2vKB&-cx1ln173`{l~yDtt1IrabqpA#cwgclg(XA7x! z)G=Zg9{}WRrJ-@aFEgPV(1JIm9s@lyTLr!6cz^96;t*TlRG8+xrl;(`yJa2EmKImv zSJ%MkQE6Z9+ZJa?Vj;L==H~hJJyTs-OOj)a$AjjK~kW z29}fINx(Yuf(Ga){VF(~swp5WW#NS%N+2@X>{tG#PEuh{-{WD=JCwOCOl{}54)hYS z%(8aD9}-GfJ3~J(6GP`S{{0GAOzMkAhH-*~{};JCX5&sV=U}F;($5US3p82WPnH9c zfrtA!y^Dl=G;QH-H%S?J&j_l9VfA0w;y?WfTU`GK+H$&%k2XQcBOP1=Sm?ej~ZW3GG&n5S@>5NSalr|N0sCmCWxmp$u(!MUa3C&#TI`jp%~w$Qkgz z`eOa?4TZPj)eS`zGYY?C1~bC12X6|C$dHVshxdcUK{x~qdxlOWQtIR1wM`G^p3nqf z^)HY{D(jFO0gEg@Dbl8%-GTaRk0#2%_~%!V{h2P$e7?V_ftU+yoh~|RFyCWr(Jr43 z9e1|b(TAK;Pbps@jFW);$#!v8jbXY`^(c z7&x}(ool_#I*ER#0C^HI#Rjn3+;p(~e0blCYQ6`)1N~B5g*0WG{8^}hcltTi1T1>!wR=sJ z{ewU5@H}Qrg}m(hNuFIf#cQzF_F>FAL3M!>eLF0^1@GhZ<5h&B2e$1dYYdS zy&j;b4pp}st~e@0!sm}dby}n-et!x}P&?(PGh8iHb9q?XU|k>9F;w!54*m=!1j4h@ z;8Q^w$MHm7%|Bn?$D=AY+gKebS9Lb*YdLPGCfrqM7Ph85Eb*xWqY4dcJdi%24+vM^ zbyfNhC04IhNrEcXhjwV0LUgQn#(%l`yZ(T7q0_e2j{${|s(kZ~BBxyI)7V@LL(4nP z9{{K$q?amC$WaOXEIv5ffFN+!&;a~0F;Rke-SVKh*7bXrYi5Q@0 z7%{P)Os-e|s_rX=_$)P`lnsui@04Wb!Vmv~jY~oR6aQROFpY+GBbz<)acSqey<#z| zt&NTtgjt%Ge7h0r0AbPHNP4{rk(XbvyjYaIr;-QMsjn0w*8}Dnu-SdKIuKXZZx#3o zBx^WbFCg3Dl=!r6j9aqjbwDNCaSIRyPyf`iIqRBQ3dj@jQt^ng;qAh(1yq_2ph=JZ z5V(N}g{d_Qn7hX5y)+;Xl-Ly}q`>i5LN);{=|GT!0g4Y3N zvQhQ5V}()aj!-QlOels!d&@BYG=C6i*(+9iOL#e8T=uq8pgQJbsZTH;<$ORv zf3*)UlX&Z?;8=24*4iPJR#~w&BC9)wDeQ3RoYkE+QfAK`_b`B(TLb8c0+~D-81+(e z?6P33pa<;I=$5V?)5gc<6~`(+Wt2M!QBWsJIf3{>kOGrm2aYOp;ojRAx`#EgfqRQZ76uEl8J=)nJ+$X$^OWcf&*d}>Wx;sRGetDx(ORH;aOZbf}5N~(N-!n@}_ zs;s)?;uM^-G816j`FEnCuXd!zy}^0_upS@`5!&RJe3aB;9nNi*H~kS?}}# zAz;)ttQ!bID0pEu>dREHg1?BuEScZ`73Z~HAf})Z^=9@+BvWV2xKb_v-fE}miG{$Z zE#ipkUgn8if9^ z@S(`G;vYEhWXEID|K1F}?GpvE2pSGNoLv^R{te*j#mD|%c<#l66am=BZ*rjg>+KVv z`VfXNNkcOfdqIdOop6{D@67IGfMJ72(1|vHO(0)Q^34ACf$JjmF27A8-(e{xu3}ZAzl>5C^A`JxlJ|M!h4*?`s zzg0f!sV>E$6#-CrBIoiGWQP|!fAJ1&1aKPj*xT|^$d|?-lal8-ZwnL}ZF3+>wG=pE zzV7gE=zDs+kps49?X;hd7UGl4jehkRf2h7j?e%UQ&7SW`AW1AE!G1?3B@z{I8z+&| zMCh7>)Vwy<4j=@VT*F8*>02f~1?^WX)c*3{hK#}(^H+V|J~w%CJI$eDQChwsT)`YX z11Gu}5_oyF*Qc-Q{fE_Tcis39q!PfN=~B6%-WC0O!~(#B0lvA>3&r^UbUuXp>o%i? zdpqVR;tx{Iqo|J%G&}@p2b+Nz4O^mio*Xx%qiaeIJF2iMR2_731*cB!;%)SG>q8I} zz%Ou!%lDN^f+L)_f9Qy2%h*A`oQMBcnS8^2ij@D|W^K)@|1t;HCv9r8Att|!+Rg!u z;-~(+n>)ZcL3e*@yFcznhmlTE(0q^L*w6;K^oMi(;7g> zJHElUc+O6iF!>|N#f-=)Vu;`Cp!_V*`D&t;@dZ>?w2H5qDk-E=7-h5aHZRI=a%(C> zC0`WYH^A5RH}(5?>0HL|;Z6LWjYh#-_CQbbl^n>@f36Q7W}l9c!?eAn%7`W1nXcGz z*sQ&vZ$!k!Kj%pbpb;P$8-tFKbT$dOu!=SXMEEq`zKCD%GC}HhRo>bk@&RRGUiKg= z=K(%#fFE%&)nefX)o&NTB9v?s4i$k8t&4*LXW5v59g~rz7KDYnUfIFHMD$&3odd0) zXj&7p@2o+7(5e{Cr-epVeo;d2)5b^jtRZ%?Gp3NWv@EFnE{(0a5v*B-9yryxOh!PU z$h#jqsItC)VvS?F%iK5D8*o#^5p}p{5dbY|A^KZUc#FQ9$X;xc9k$$w#x_oI`LWIu zvjU>LC;fnx#|p$61X7rNUwqB;gl6HUKc1 z=s>7sV1G=Zh%`KMhlDD?n=`*Ba~ovGoLgS;&`)Z<$m)DC-p!jHc%1k2UC@Qz*oCA~ zsft+n43FW+q14LDIZmsEp8Hp*AY@2>K(p*BFMiVHY;^vtDvD46(yyZnZ}JY3t8#H} zbr6jGVAR6z$^8^mn6nGC)PuvBZa`PR1rMkvaPy>=)xWq+t_m>GFPPO6WT>s6PoUp} zj%fx(Y*US5qF7vh5DD-{?3O^=V9E`J+G27bcQ-^Z;nNT)ScLtNG7beb(Jt&1^y9${ zElwvYS&EJQ4X6sLaFs+T6dR-HQjA+9mR+{^ety-HL>C|Udb{7S_p-}}Nr1){Vfn?E zpn6%VSf!N0ba~pPX_deN3@?Jj@tllBp4c&X_k7Sbsx*Ez2eX^5gMm)a4i$<*q}TB= z*ztW35HfrcH$JOYJEiplJ@7CO?We@cpo{r57pA$;k^zYbdXE+2wK3_FVTC1xsmsbs zmF!qu~t=V#)a>mKoziwrAdpXb@#6eNq4W z2SGKz5B!Jj(jQxO9U$#{oTWV=k-RRQA*8XCuob)&jjSGw<*&rn<^TLrwz_HxuOnd= zPz){jBU^}+S-o~)J=3Gx`Aw}yC{CsY8$3w)E_%jezAIKGrSqh^D)LV8%xL<3$}YB= zlF3I#E2*AW#2klL#BgIDTfEs%iBy1C!!+YXboK?mF>qs=I-L5 zxf61}+OHw}?S#)DBxx26P(pkI5b9uBp-Z~rmvSTe8orzwZhx3ydI|8vpZ>!NWR=hv z9vANA`3`=)ZBV2QWG>(lx8zCve&ipK3I%du3EBKc_0Vl`-xgTEqn`t4aQVq!d5WuR z-iH{hzeFGram-|8Y#nMYHpJJ%iAeK(-`{+ZULA8bmD8$*@}eEg0G{Bp0(n`0XH>A+ zsa2o8)V?9xe&v9s2RZ&UFz}E=wnM^*z4vN;LslwqSLTylKT zhvI4NeFFvl1;zcpUFih;keI3WVAOzZ9ckCiarE9x&AUBNb@G=2Ot!#D=|icwQa+ba zi%OLSe=8Ju6m&W^V5t?k;~xX)Q*ccSxxg`4{k+%ZYb!*^NB}b3PVV3CA3q$=Kr|S6 z&fSPlTO^Z73O$JelIes=E`tE$?!W7Y+smr>Q(6=V*|-@^V#GAT-K~G>b!32#hnJ!2 z=jkqhUpHU;nv4JA{>#_pM|ys(DM!KoA$o&6C9$N8y%zO5F(nT6LP=oA{=niX5B)PF zbf{z7z07{qyqIpPdR}j1h0_fI_wWg2KFDEc9a%rE8z2d@?4tt_OZIZ!y{5yUE2c7& zDfPQQziMmhUn?y`NBtSw0}w+8X*{6S7zsN?3R#I(H95*b!i+!<0_!{B6mXg7RDCJ= z+M$Oxm8Q9r)ZsQ+S9wNBl;#czouZFYL5tEKn7QKkIj<&>%bVDSA|&rzua{40W_{I@9=l(` z==f*qcxm6>)h-+MF91}CIPQTO6bS+dZX&v7ccte+Vj_W5VNFcB;jd?I^v9m@gb140 z%#k6JIYB8NI9sD{HHTF^gC9?5B+wzSa6S%^!JO~B&Kq)3L8Lfit2A+pY?W!Uddc`> zgmcUlQ0+2*fk<6enRu#&VQ}EMY7Kpqb1;|K;CRw&gq<%_A;1Ia*g)ZLk81tqG6q2x zLb&=p);JM1uB%7)<5IZH2Hqb~WgTg8`Z3|@7NtG}v3y7o4Gx{i=52*kj9#K*H!LH7 z*A@QnA0z=bQ95tY-3b`*DrI0bm06ZBPou)zsAu_e!~o19)<{B!Wb3PUULn~is?o0v z@FGY#u^aMV0w~LMe^5-V)i>R z^t5)Vn-*c?V-<>TlQXv}(XBkce#D4)#5))RGmsx?IDk)s%5GoEMm@U+Wu2Bt9&~}N z_+nL}=R#uO2p7w%rTmWrt3Y=@W4?r8eXzKv>egvjJnmm8WAzV^nDV1=yupxxtFmqf z39W-`C~yDtI>GLIT!089CItD}3KW#nk32a*HV&12ePEf{61E4b|8UGi#gE5J2cn!< zr4yVm9|7{;&|$o?w}Hf+S(b#l&^M$JmMxA}GIc_H%6>%Aj!UQO+vC9sQz4w?p5U=7hm%*eUZqzW(6439xDs^8j}S# zQ@h?W?d|bObru!pq;7W0TdK-QIuFbIsQoBvc^s+^eu#g`$J&oftB)y`97ZYY1+G>8 zVE{Bqr8ksx{2eb}*^D^fFWrb0`LxqRWgA0_KE$o6&0eg68HyT7jnZ|D(A#W#`^eh( zDMJ>Jf_J1pBv#ADTmKj-R@a}VNX~49E-0;qLPx*^Ilmgogj2>SMzg=7_BlnM$rsn# z1VChXvE-c>&BFB9muY5i2yp#h8`W|f+yRqjC%I;VsWp6&m*7(RIlB8>EqvpuCvR{k zB8@#*#qwnqaOVzu;gM!jlqkMesmsg)@NOCho%t6^`szm;b3 zF4}(MDe@=e$p4lZ6G}x2<#>oGG$))181E%;a2;L%0zVof!hmssV*iw;MP!yWj00%P z-vEGYXN#?DH;E%hOWjomEa6?%XTUQw@;aW*Rhf>y0Ze}E;U`RRT!UOb6z?L_-UML@ zh1_sO8ytv|?_5x#8FvTN5SFDVFVzU0$$vP6gkGsbx;3&h`Kk1z??|tNQDc6OuN@X= zE5!pV#J7|=qfKWGEC3oGYijh+E&vi2(6~K1Ly55@rbR?vC?0IaMqoE_H2^Spduxtw zJR#!mc><*c!j6ot#PjK{s?DnSZM~k}hv{xKGgsyu3yLQ8S_jL+@TTt#qCU<>wdqZ_ zo2C%(=ICkC^XBlztPA9w?qy5i)NPk_#IN7X`hpqAl9iX51+1rcJzNd;sem$*C8h;+ zjig?6*7htk|FV(I*YtdW*bg(!*F%Q_IMi%sYcSTz3fA;hm$YdLpk93?UqohTd@~{T%F8V!m|1x<6JB%(!t5%85(IWW9tA!Bwm8fB^;RvRJ8AMFgf+51N1jei%;kfvTEM(8&x^H?mo z2K>t+DIbrB-5QqQNRv;VsBhcyt@UNxT8SH-veuw1GikJ0L=d8LpHbC+G;R-HZ7jmCwSsWlcf37<>iMbeSsZN zs{w;c%^(@)8bBB+`@C%ZI{9(Dv_p&4S974Vbha%%>CioIYh|TC`|aO0ATKJAF5B}x zr)V$>*skgH5|G4z2e(tA*P1ZmDG~J}adX_${ZlZwljk6rA4CJbduT=SwFo3@H8sbA zzeizbFfwLO{kA#|N+%W|F9;x%TtJvOzeaS@*@&H$B*D5cmFWt3)G@($W zUDav|)HZPPr);pT1V=*q`$SZq(0MF556ZdXq) z?;vh4KlwHN6w^`AfH1yjE?=*^4-b&}_58qx;JaXrhde6Uz6k@NjKw0V9#t!olXrGNH77CLv4T?e=v8K(E9il_`WXo^cSjmRCm9K7|yDT3o zxlI4>M7!b=)1t=j8jIdO+00x6utTiQx~gE3%trJ>{h;5kw0lB9T$S#1acfi0)5Ogs zS$-n$YY7hovUA7)fBF>BaWnU6Jbbk`?5{&`zl=OuX8Yboune13GCiynatL zk1kW#o_K9E+l{W?IMwR5v{6l}GqdloUH*ZdRnZ?*-=pu^R=e@M$!PPMgbddMEMI1`iUjpl7Ymp#3@64)#WIeb1q%_{A9J7_K*te;3E9RThu9;6 zWFbw1+eMb0^6%}~FTGt3adl29)~W|}<%12d*kfC8vPFjHq|p`7wd&hw>(ruZ7HYf- zdAg}=x1^f=I(e2&5;b0MC7~YK=Lo+T?Q}2ZvEgX#D(qbeY=lOX;Cd;&0kB{*jz#xa z9#+DqG4X@AU3m&Zz!tr3QUTRWa^q6Ry%17|RN%F_2dCtkNBMT}xah^Mxh*P*MU*x~ zw1M_8e8>uhxbCk)$e_M+PzI| z-WL{(PiuBvbR|AGZ>&#om-tWB*gkg$q>1a=hiIDVKjNkr0Ng**X*Dq8^J@&ID`&f8 z@}=54X|9XuqWgqp))q*OEih7rc(!G-o*kk<#fojVDY9Dz22nGJ(gbz0qR2`Q#@Mh)t8*b5&IMYTZIPg1SeWaBP0={Ozzh>`jE7cG?&XJ%JkXk-ujS4pf0ZW z={fq4JUFY;c_oO1s&)(e?AKJgj}d^l@u742vwH)X9_q%@F$^H7 z7!BATtB(J+{DUFY!Grz&I9w)#`mXa?dF};MD^JVxe%8D73*vCLlMsz~fx$V_Nw+tE zq(R5-#!{XDIUb5`XsK3*ru#y)E4QKle5!AOa8hQ>@$)&Zk#9(RVGfT@l z|E;9m3mWS`Y53-MFX$miROf8YG}7oiTr$6R{ZF|5f>_1>Uw7gUjS0$}Qriqo4Xjih zSLkO#?l`7>N|kcDrB(0>6d}RamYRfduv7(4vQ$YI`w+0Zkg)OtM=eQO&dyq$P3@sY zZh>KN{w<)4j!rX5eu5=M1tKAM0S(+TQDe-Z;|by6HwLf2@S5vcHP0ixP2c}2lGdXwa zcj0X_>e+62k)pKRq$AoMH%PA1i@YN;Es(;Cp2aV`~NFl zTI52P!NV*F=zKw9Sy4m$cN+RiXen3}Ds-hh-|9DIud#25&sn9H|Bt0LLu-M<90L2_ zzzJdoxc*y@*beOofN{E7>IN0U3=aDb%j$=I0f)6T9; z-zY_{D{FfDq45Qttac;)9Yt>rorBJTf$63GzLkx2#nk^{DIy!+@ANGlC=IYuYtwPR z2?h9U(Ca`XqezD@AQkJhrjW(EJ$Rb6pPki^B}-@-SH~q8#}gMn{CeIV0ZA2KJf$!{ z3+@M5^ONprzZv=YivOyU_wDNGWN}^04Mw)%yT#uZ!IdC=A+B9VEY-0-@qW<#@88GU z)8785T=0hC$|&8!#@BD3$9dqZXTDwz`J5oo)d5_uvc+F|Ou^IfmJk{!@cQ@^QV_9T zz$gjka+H1I0&7y-cz0A@pxFI~F`$-+ZweirKQ)b(5r6>)4tY7(&i!_baxF^)&3_6R zlM3)_-lJ2fc=^&k!hkLQEGxe5(65}MDNxW-<8GXr3=92yzoe;N3kFI(4*4wGDr?FE zv-O+|F7D3IW1#E)X4A1G$_XbVplj)0T~u@psMImRZWe~*(}i8~Y}1`hj@elrcDLnS zr`UG67asLVyG=yLb#f*s_n2IB%+4H@A%${bZumgV#1y zPQ|`$;Z%)xz(L8#7zZLPUo#r&p}z}mX6E$VxniM}_?xLP6Uu74DDXDMoEv8+FHo21 z@hd8qFH~cp@u1_k{C@2~1fQjDt2m!VxTTAjeod?8Lo5?2@11VXBY-7j$}1}AN4AkH zAlVZF(QQ=V8;$3>ET$dzc-?^NP28-+el6=)z^`lScQkNq|}->@(be@gys zW-Rpfn&$3r{#=>wU`>z0`7swDo`uCVd^=HKyv^#?T!FIRp^q)s-=e=Zv|U<5(z$i~ zQsR=OQ6~Y?@SI^-%)FlFVe%4dk^gD$7B=BXj5O6nO99Er&{)u%Pl+e9-znu$G}=UY zM|K9BnmALg+rL1H?t{i)C^-A8Y>?6+tI~J%e1r>*3|P^ zYMWD&lM}1Doi4Hpmj#f>`ZJ1nw4xINI$qkB%6tqL{UU+S9)VNEuI7mOlrQ@#4}-o$E2s=q9plgT(V?8 z8`P6n84R!AXTL3etL7BtYb6GDLXN|;mcK4G1$ulQXHxo?s(UCVQIby*UXTkf_~ss)E+SHPn`fKH&?5AHVJ{} z7Yi&k$yeH$k~9z2i3z+W8vL< zm{3-p(-g$|?q@WBjTIMFflq~v!mxq%QT)|94dtWU!~81vd8(JD2)SM>6?Z}a&od-Z z{6V5jr_2cQj+^^{d;z{p!8r(M-~sPPEC!0;NSDJAC;Fz!!p~^bmGl`eps^U^`}Bo% zkZ{DN1$DzI*nU8W!scD!;(uMpDGB9^C#pDOr6Br8XhCDe?%)y~S|&Rkj}!&v|Qu3zu)e*hiQ>&#(%^Xr*54MQGUHsiTxLEEBmH*ai~ew7`{I zt(8+JM}sCvc9#4pb5`q2gU?~#993f{ADIKBuW!~*tPKmoN$MpWg=@vFRnJd(etDzS zK-nFu1{~rg_d-2aLnaWoo|{}{Q?bH&rDT8n%t%|nvsgD;<_E(8G>gU!sx+LlSNu>qYKF}K{I`@v6;pBt7k;7w)w)UReDBY&6AzPYBh`XX1 z*wNMbfl~Gn_oECYIwnt}&d4=cd$G^5y29V~sh79%XxxKU2mMgf7N4{WdG?0IehDNB z=!d#N&R?VqEfXXVKb9#4=MPJJ#!naV8lMg|)^DmJk&cp76P;Dd9Y%uN3}lNru$dTF zhH%@yo4yl=t?}a-B=-;^xHAPIy6WMlPyN#$kl;Ns^fG5 zGZ85op^R;W1bG%z7eiFlrR6090e`<*^O&fZu$j$La}0&WA8ml|6c~xe>0w`W;J5}7 zOffe7f-ZyMOU`V@Q zQ?Ez~c4Bs!MO%Qej%X*5tL7ffW0+1@YGgZE>WZ-L{HH)+CW!Tj1Ih_J#dO!8w%VzgxjzD?o))E??z#8?{MsE8`pn^*-!u#tvt)LW*^9#DJ{96Mtm+kf+6F&TWsd@#KO)@we(=hHWCE7E=>S$}}?Pg-2Qh;W)*15ZB6}*Fv9d0UVfoApO6@^i?p+g;T!~YK3z^4n!9U~EoEY~SP_3!1K&K~FE(#9EI z38>fp5b*lO8-@ax^-_ao3&V$LNdZ%s6w@Xr){``bfZEvOD?a!ULvt$5Feho!p@}^B zQspdNmY3XC96Yfw=^ZJWCP6BOY=3TzT0rQd)q!JOU?F3A!LJ7NP=#mulDP9w>>o4d zHOhyZm;f&?2NGK!h#;$JkD4`sNv_LD`!S(dj!cZ`_9=K54ByF?*8C%nYmC$k|G#;I z*yHVJXbzS~#zrM2#~*LcAF`hh*LcIS`DC#16N_*!!#q-S;8e|x5aiUx{K;qCA|gBa z|0TN|$Iu@z0K)J`;4Y+1`hSqZEi?)Y%CTr_P_`64&TvV|8_|aW^VEN_z&B`R7?{`Z z;d-R=c?G%uusd)77yv~W(CLo;`x0gnspw7c2^&}czZecY00RbQ;b+AcnBTuRzi$k! zSq1~ZgoNS+>Vps2igh&0toa2VA+Q>m()*p6rsR?X&{NXmz-fVl+TZi{9GL%`zke_* zl^#GPcN6CE{>^E3cE#afV&=kAN<@qj&y^=7UU+e`eccLzUOFS48L|nDB#g}Ent4w! z(rd~OLs8A(lVE-zvr!=84W@Vq4mZ0|@j=**hx#5`E+=F+XNnVyI+}?iCo_;F4A`t3*+~bTBUS$_^@|oeEB%AcfYui_*yZc5F~Kj zCy=MpHDg_0`%5Ek`{Y3Q6xNM`S8gbn;=k5L8tN+8G5+fSRO|>F_|f4i6T^PUX+fIj zC1&IlEMa(NN?ulKykDS?!6S_dFF&PpH5&;;ec@p<{~dN(eBf>wVO$U+rr4{ z_-aV1_JSB`7FUy9%zVmAk0Je4?uhovCzWUXiuR9onrgp%NS0cvt>pSuZ6~K??B&6W zBmHMG>?765l=#{E=|kK9C2H3U$-(e%}u+vv~2*`oPXu#>HQ=+5h^3`MnUB9bGabbLLHHM3e0=H}j~ zhtxXCoX^U;^y8F#FnKyN3#R$8C}xG64V^9J?93p>CKj#nr3HOcamymt3&9>Q=3^h2 ztS={`Ef=1}?JhzbfH1@vV+>a_{U-lVeKtxTy?~L?59(`Hjdbk17nzZF1r=~nG(;GH zrI7`C>zH=2)Po?`b}!h7knai%LN!Zi;#<@yCP_l6}l zPcAy0U(S=+Fs!@KH25CDir5vZe*6Y9N-e#-I4Kflw?=ecV#u#FClJcWG(J0U7;ob2 z{XolyN1qbO09aJ@>jic0dn>v18o-H9`kNcmI~mew3tJuDz^G$xHpEj}&DoD7B5ZxF zgUyNUJ73qnoi}#D%dpinGo1}QCStKv=wV5yF#`Gxmt@o5V-ozGxj0cpaz_Ie{oJs@ z>a{-;U8s2^nq8!mGWd~fI|8Jk{4Mmbs=T`exir*Lw-NScnYzkQ(C)?bZsU5=fqhoaAIYXH@EU zwY(cfV>>b8)^B7yMLjp1IP3ODuVQqL&A7=QZqztW?tVMA_-&f2*}lL8T- zf8BI%B1yusP!duvWE=}|;Nh8=kt-`9W^rglq120P6tr~O@F4ps;zyrhjGy*_(ZHZ@ zP!R?_pqVp@$jua$u&_?%*>@AfMuEm^onp&#Bph4mnJ($-$oOqNAbg6 z5n#`F@>~q7ZUw?29<=BB+thw}`Jz#(vxY1l_ zK%I}j!`v|GM;SG;SASlcepE2yf|glvrisMHVj_L*&|S`Pz_6@vF9({x!}g}Z0G`N>AT8^1g^3`mKw&9?H=2+s z0{Gk!J3Wu4D+Q4JtfVQ`so))eDx#JfM+m`#W#VdWXKj5t(YQzZ51{O>td<&fpAn01 zOR}~ZXQITl`%1bZeKsqMxch#K?PDA?T>tcYJ~e>rv6Rn0@l3ScQOR;}b0B%!1!0fe z?ty9kc&sj$94O^pA_n?^`h((ePrb2ET(5y;|(0Uu94eJN}yRH4) zkI^X@;yL{W_U~mL#Xs(8$C31+QKHpaTBKw*(H5fPo6HzJM-UA-HBFeDs6`p7B!Zti z63`zhZBn>0Col12O8cLuO_aV(E&x`~*&vLfJxZOh79dqe=AYM`Kg5WbE_)luVeDcT zDqfM%eVE6NgZ)x3x1}~}k8Z0ctHHSD#9C?WFFrk#w@nh78}s>Kw9o1~iyoMFdWwjj zhNQtz?xLI$h7|`B#VF||M)rG}AcxS_do>qJAD!b;T++*^A8EI$Ua&TqgZs76G(Ro< z(JQ?UkbrpJ*Gu+vkT&DPBG7R5OL@;0D|$86mm$J}P-6#z2`eTfQ1pAJQ{b!^rtd(6 z0+}BiAm~`anKKbVo!InjM6MSW2^;h$^Gbgq|IcWX?$aHY z+gCPrXORHNn@SxlVvB1KD0*GH&opencna`i;B0*}a~FLFY14XWvjt=Z9SJb@Ed9`L zh&epQ4jBjTS(9s(QLpFQc3qmdW4dV|fY(FsisQASNw?HLv_cw~;%zos?{&PSH=Lz} zRhcgVO)1>(VbCC%EeOi_VF@RjbJmAFj=`8ltaqI5(@vu8f``og;3LKz5a!X^@B`@2 z$Py6Sh(MRy52|dKw_~fBGB_74T`u&H62AyiX^bF)db2(4FNmQY?V7FT6vmV6f?vzw z7Z5tGKa0py30{5?3hUHu{um8;PJr}q0VvPSU?oEa2;w^CgGIaxU#00JM`SK<*hs7WKnCa?DKD?}2xBL78 zRn8)jfw_fT2)ZZ-16$xpTQP&Ti`Odo(Dg8|i?Au<*Z_Ylu3|8(`}JyJ(EM|o{4pEu ziwMU10@??~tV?ZF)o16J=pjVVXm1*7RxB`#NZNCgSdA?!j2r^{b^P%>Y3jnsno!%ULS2pYZ5K^~=sv42#28qI-r>Xv?_%29s!-;d;vFgZdsTEn`r)qeX`ibsC}0DQ>_IFL-sY z>gNWpCb0d*!}b31+cqIPq4jv2>M66^!0X@To@V;HM>gct;BbZxHibSqsEQ?Urb^J8 z57_eldU14h5yMK9>H!BdL@lzzuNT+P*%Wk(09*3WcVh@BvWU`R>M*-Bi!ScMJN+jUT14LQ-y%&-R3ChJW#ck^WJss zdzyO9?V7AaveZ!xU$278aT(aErFIo(r@Bs8>Ed_n;lNcl8II+?E|9#}*z`)FX3?T4 zl)H`cp<8wt$B%n!LqE$O7H!y{SeS!*c(?ay6FMz>!w zkovK7-lSU1-V>yfzqNa6dZbo&TWY!lhC{PXHA^K;b_s5Ev>+nWg<}5Xu5+XV#!W2| zkgiFr7lq3pYTikP=P79}#}W_jjs5_tN5P_)X`X9Su{~ljJKBu>XR+Gs)&6$(u92f- zJ%5L8BGW}u*uMsSY{D7{M|!jVs0kK1YYE~ttMbcAI_5hErZOoMTXw+9{JpnCh_*`8hjnq-4DlVg}?!1dy}9Ju2hbz=mr#!5+@L z5bQp+2l6t?#C&|Y;erkH%uYq)9P{BpWJwo`FQGy^JB0?_sW2a7(woR~Db^*6TCJ-RR?()2Vr!Vyg)e}yx>?q`hu z*2k)@B3SWi%7{{+rDGx``5lWc$rAZMFq*8?14R(lm_wlqhCF&k@SuNEu8@&_Nla1ZsMZY2Y^e89w>>~N8j+G7 zQ8TdNP|^QL11tvl_{B~$sVyN?%RIuKji$?YvfQF8B{`U+y>u<930n>}LG90@=82RS zpl6kM)LqmrxsVvtyJ!kZ+W17>Gkpn{G_ZTHK)FNW=6k0rXey^37WV63ef7Jin{-P~0tkG7dJQ;mK>+W$HV~ zjI|5-{_GsynFzgUR@ZSx-@kZ@e@Wl7k}-wo>AgY799vocmHX6@nue7L9o5ho|qj zr9_iyYbw~zj*k#swpf)tNQPgV0$FPa+qP^|abRC|2+qqG==J;CDudw|Ua++)wpN8_ z0SqOZlRlHMvGnU+Zu#MdXLQO%U-?$-{k6+@aLKpYkn2d6!j#jfDIvv z#V=>FE97(%?QtTw>yysC4PnlFMqzjw=yp&s%6tyTEww(~`0MUE#o&6~GpH@|EVC_}A?D1pda z9cABE>Ex&Eego$7x0_89R%fo$aAN9GxTocCULm{?J@Y==oNW5$`0!SQ+3~Tf9?0V1 zFd?lcTphH7dGnl6BezfG2Df{m(P)^kwP&0VOOAfY|6>j0aw>R@d!Og(tqQjk1S?ugyMmyIGg_P z-QL8*M7jpFUs?)#PPk#=PcU+RkrrmkIy8Jx!Dr0XET;FbSjx>Yg~)1a+yg7;rMxOM ziYH)PP42eaJ<~~Cc*5qM`+qZE$p?G6Jum$YLK~R4S<`>hPCdvHHKvI?S$G0e1urXd zk3Rp|ZkXKCz0JeP_N06;X{m&?QJE>)(d)_z<$6X6MRKQ~*jxSp&;PoW>Ywkn`5<=D zvaI_$ESX+@`od)rLCzMn1t1Xny=b}7eYr<{p02n~;f*dsqp$4Ygt8pmG(h|Jj3d>i&uC**5 zlE6h>H~G?&g4qW6;bva&vM~P{9h`B>d&~x7 zTwKmUG@=?cnF2%N1<-pLta0rm)8f9F7V9Qkb=o(kMUB_~rG=RI&?W{B*w={;l}h;t zJ=+_y$5=B6QaG-r-vh>n+B)1G9P6HF4REn@_X6y-43U(eAL?C0jux0+ z4en`hBz#IHnb4jBl~} zs^=K|40v{&N%2^;9 z8t9!$C+hQK2Hu-gH3ZuIt4t}$SF0@ilZ<`~D+DpsQ>Si)*Yvt@@EBI+LRMx!!^^k) zH9>lW9xDi=(ZEYzl)ragHeN%+uRf^H)CArX)CKz)JH?L8PavsQ;1=p_Mml>I&ar{= ziXlFG4#~0@1fvbDW7?LFsmi-5FHf?<^g&#Fa~!CPweAl@unnn8_UjI$a+##4BzIa& zG5j{i<`*$#44K!;Z5ij|sA_NSU#`pOWP);zRB6EN%G%~AkE7SC=1yXiR=BiOXn@q7 zU`vad;;gU$sT9|4{f|MY2{tZFHs7ff`Dt>xl;dRi_b6ulo6|&%*nj5D^bg!2!eOJp zwtSmrnGC{&7`YWTWD3vuo)G#gP^@1scGB9Je@x+bPX}@lIP8t#=Y5OHj=*ERCu~Ux zN2($)sJ79Am79dtVZ#d7^6QiA%7A4RtA`xn{A9QpwBIFR$85jHtH$ThiI{?w-Ik>z zMsKR5nRqivfx_{j2SNSpGk(`Zq@eNSyb{;-A3xZQ2K!O0c-em0^%OLX_Tl0(3x!8( z&?+#H#@6F=Ntuib$G(v&WHz*|l))r{OdCRa78^V13CT1cO4`YyW1sX|RG zovrc^%xom!^T5g~;Vm+=TSKE1l<-4T@`*)=j-V95^t8{~J9J0T7I7whY%ap-vve~8DS~$C@pg#T0 z(+>pbr7UEU>EYHOIb$^do7rdDw#)C)slVjCq~#J?Ls%s+cw{$d>mQB4b+5pazS=HxX?#s{v_9TTW@m%a_9ETV~OZH(_)Sb z(Dp>Or_c7zz0MD0{Zf69e1_cT(M^0t-^OW0ytv5Nv*%UtSP6yoDlNUe6fwjr20Tc{ zLMV~)bYS%A&agP=*LYQ+2i~fJ=HA-I!~Up1hwpy*+_%UPQVShyL5BOI0kQT6iL5aO z4bpfubutc&pqXKd^Oc7MQKRk@c~g|^b1BtU+sphlZY`wQ>5oyS$Fr^jf*>^?a_WIU z%#RA}boUlkj2QT$0-Q$f6n<#{J1|4C1&cT!E<(Mf=YkA7w`rKDTE(uZrV|!ap9$xJ z`Ems<)04<6R56tMg4b>_4`U6Up)St`V@1Eh6e5nIpL_fqy_b4!~6awOr zt?gm=7kByKu4;FG69xXNHh&ov*2m_xSv*kIl1O%~7?OSX{u>iC}B1eHX z_!|?bM7lPG|*K`JNLP`fi&EbNx{=o>4okiUVgT6MDJW{!Oof`&yhlKYzBbX86JewtYTc z+&x_wSm3h(BsQcYRWOJDuxVv_zo19L=6>?Prb5gO{brCbBG*Ef@hzX7Tos)1|3^Jn z;|j|F372o0IO1D`Lr`F25bcfQXwQCBT9T|TpbTkfdS(k8vx`=$B1+RNN9fuvzZ@ps zYpBbh)r}k&Y`a8mQ*BXLob-^;aX$2~nKu{z%Ux+x1}1GtWQ!5d(PgI|a#A%L>_7jS zSx*;!19ATWx)eeFuwXEb%1+HD;-PxKL>C)b*i=d=WFVSzkkD!!=TXui;s*a|*Dxn{ zw15jsgkdSshtn zov^C4G7rk3_~@nRMHpx5?h8pwVCJ|h@1U^D`7fzyo%|29o(>I|f)c48H_d>#{;PnXxibI<8qOY^=>Tpm-5d#NO?F;w}Co zDTu6-UXUdPStkd}y;VWjKp}!M&_A(B9vTAvU~en@bh-*i)cb4IRn_Cp>%}=LG#~Xo z4p3WqnjxpO-o))@Yfn>?IU~?982X*h_3aPIYWf)}uJRLeBB+PdlkPXjC>Rx@Wg50t zL|ahLy|4-3*)M7z+l{roRzW0Q6*Zh+J^cakw?7H?DV~*fQ0^^zly=naThgsj)+{}6 z>-9%Zgja;nx-zK@70QnxM;{R62~C&KHLhYP)Tc7K#H6Yj1gUF&Mz@jjM)~M@b6XY` zUo%@(njZpp!oHbEU^Zk^wMJvEx&gwLbU%Xl*@UiUKy>h-$gq=*A(VbHPRIm-goA@P z(tzw#HmKxQ7FI57mZ>4RllxIHqGgIdL zg0_hEW+evvk}ONxPbK6JqOlU7)xH?dOh(OelVXEFejnFsYqniJ&M={0eF5@YzVe}6 zb)>_H`{aI|PsT?!b!n`BeAfT0W6h_@nA1@XETmbFDi(?zImIsnlq{%g7A?hhWqM#hnu_-6DJtFWak_Dsbr2)Q7MKQoC91w;fC`|uoX z5G`K3Ndg78nARdk=qa&h#vVuw@Lp_EWeL1BQ4(~VCB^>S3lx)2AzQ_9RR0dXe&D@z zm1@&e|wyGO*x?w{WI(4tb=)g2arVlh3*Ir5F^ zuOrkQ>yNGwA|4lHmMfWehF{QAT%NFjOaL>_VxyS?#7B4(IsPzO8_Cf^V4>-Zh^zXl zsgYg9b}`Rasr@PsKUl2g_9JnNLY%4>XF7AMFGWGaQKiI52#UuiUDu?MjT z=iborTr6(Tg7SN3xxRR3IR*D9*T+d)vv}mC9s(a1$%S*>@7~%=Jv7`rvG^y?Ww!h+ zjG5>w4^7M8HLjPcw%27TK)a`~)hgFTwF|xXU#^|y#rB@z2>9m9qXLX^+dyi{b_{;u z>vQX0dXn;2C>?FBb^GWL76Ph*u}D*An+MR>Ky880-L`tw)u74&{_a9kI|U?|FLw$d{1E;R_9K9kJ;$ zN0)3?RFi*ZZkSfk7sCNY5|MC{i!xImji|QntFmnJ)Yq~6v(KSZniW%GS6|`r-I_p$ zA|T_i>R}_PG5h9$5~MADJL`3m3Wi$*7;f00Q#KhZh7+V8%N!@l<7*K2l0coMY$gdV%#+>bNI9x5$OK8X=&lHW&3b#^jxT zDLgh2aI*mbbx$8|8UN`d>Al^SOR~EVILy-B{W4>Z=C4k1t;drz^1)pJm-t7_{~_>I zR3JBQ{ns|ok9cK}Nv!jVJp|&dHZUyxkJt^rtk*Q^cKyH?vn*euj$7dm0PB#6!wl+6 zWk$hIrv)TPZ`7LDh+_^Y>izbqn}^k-m=9-WK9s7smDhiQImzOirkoF77`nxDfvtx) zUj_~zKnxeg7B8ImNuQ6yP1^Tr65SY46DBJ76~e%tJdH2VS|e}H|1vBFKL92u>whCC zDRzDUcxcoct&@jf+Y~=P02&Y;R7N8k*iqhwOPhx?o^s+b1# z_iS&xJ3xnMy0c-Msl-&-fCd$BMZoL&>)7J?W4%7cHKiF&@ogh&weKGM$_MCj-@odK z``!{-vGvbi5nW(F~>*INEx&2y!;Tov$&y#cqVgqF} z+GoIDh`W66;MkzGKG=SnJF}GQPd2>8uB8F90d20Mh5Ow!nm{6HIDW6z$uJo+x`ndM zU`vZ`_O`xvNBi6FfD&J74`MD?zS6Wn=6MY+sd(*)s|6OsW$ z=QS4TpZPW(Y~v(ENzEkps>`~TjZ53j>A}t2#Ar&l9xlrvH2=Xa#pCjH+cxL~iCP^C z@np*Pk5wIYv&{>vIM1K#r|DgN>Gp=gx!HB*vL^E7wQhewKyiTpw;Ai6af?K9wg|PA zIyGKYg5?QZx1o+@3`G47N!Rx{{m8z^nA!LDvbV&ARi2_SLDFCG7KGCD+%J%B$kGHq zS#k9eqGvLMTY$*wm#0=i5ND7i?j!y!to5z}jD<^Cgpr2-l$hMOB^ialf_S#gU(@v& zlMDKpe+g5k&42;FIpSRxn@cxlKPqI&-HJC2lM=-?bgDd3s_MQ?+E3fEB&Gui5A#|S zD^bg$)FtlVhla^+Znx}nl#l(|6*xyp>=i8bh9w{0tHX$hF3=m%MuyQI>^7+Kpr_a% zVB_)nL+sMfB`C0`>J{rHz&~FdnxC9u1fQJa$qg)COzwfusIg#P1`YKJB(QD=6i;GE zR#yD-K_isIw@FtC#fuN0_mMsg#&MZv(1>8?Q<*;ihNmrucAH@J#5GZJ_tiny?L%Qn zL>)T=+AKH^er+U}y(W}k*+O`yqL{R+cQ$o=S=`AFI7km%na7#Juke~cbr$g?LSArK zas4WxsVLy93I<#D%sx;(4Rz52rq0-Re}!R{Q!Bo^$66KIQm3p|m{}>OY1NuHjBzAQ zer{+Ei0C|TffRm{@ncCuR1uXkm?s0SdMj8(oN+}7l$r;@{n3liU*v|eqJX&QbUCOD z_On$fXrIC{B*?moCq(qUD2lVbW{K`VFEd`A_zGBfgzj3yHz0|nLz5X(39xR)%n7TU z-Sx*_Sg>%q1C6TvK_S4DazXMdXqJkp1Z0p56Dbk-EEZc3+op~Uxpa^NjiiS%F|e=l zqIDqA9X&LCkPkoSsY3qd`PnpoctQjLf72I>@EnYdQtcR)P)x0-wf*Bs&g<%LO{Mt; zIu&rCV{<#8=+GT~EtI_+OoG~6 zVfz%JN&=fP^UoD8YZ?#2v&7I6TWwTGtz+gOF%5wk&lEGmBr-QH-SM617l0^O;4;nc zYs|h)bLW(VU|)x2ojri=jCDKu{@ub}R2fh{FibuSk~qjFrPdf zww-oOGKDRV5BK;J3})YNuop@UMvg_Nsge0qtO~}QpwU+usR9Hq6=h*#QN;%dzZc=) zN{cm4)g-!*aJF>N8c6(_CRsj;SCY!GtA_kQ5WEIDEjY0nv^fu(CLa3picvzeRc4p>7EW_tFR43WIB9N!Il{?irfj>WMs{6(H8_wRy41=Ig#EH=(;Slt)nFW{ zi+lg~!Q+XkI^1X!VP#0-xexrqr~uxXULB6a+v>0RdG*#Yq!l|V`pul=Wp-usBpF)O z3}XLWzO0?Qi{MbH|5It z?j445EZBexWkwfa(>1R5-Lv4GLiba(s7d_N zbe=8~b=jUHpTAuY83#*5X**+F ziTQ2f>V?>XQ!+i_8L0XZqPIz@p`1>OTkYc6$Kje_SMdcfYk$-e=gq8f2WKDgl@n=4 zZdkm~tFF1G&cg`deOB(vAs^Bh<@{&t+*y;Yi3e~cZ0O739IM~x``$pJyXLm-GPyhM z3y|o)Ew~rHDX6S)Cd*3%foHG%c~axSE+ZETiD16D=pX}aG=Ik-)+%iOTAT1{SPm4F z>X`6Oh_CN|)3lO$;ql?TH?cX7I-%kQiFxrmn!#-yB@6Vr`5lK*1L9+%cn}03^?q&B zyYtli1#2RWW#V$6rS<``#r2C%tGVXHdt7nhUfb_4;~y_9!Jkl>^0ji=0NhPbZD(!n z_=b82)Xr|rU5UKeJqP{YUkrFi8c?!S>ba#s8_%ZhyY9Nu$D7jEG3_-x}L?e z?JgpOlcKRP_`0%FPYrFNQzK7TyUmgPBlp4Ie?ze8)$Yz#&Rz-jh8FxSj{I5ComQ26 zGJ|gKeg68|%gZ}w3$P`x_e7USH~+rMY7h>^ZB>CC##slPQ^Bh z|2inJ@h7sI(+OXt8Kec@GENaB2&n_%5Biauh(qca0xk7FaynYVI*)Sua$|>ll~(s~ zURBl8(^e(AbCw!{-fdlkh&Xxr3N9yw;qy-HDdJHo1(})kZ_DqxbPX174q9tq>w@*-UkrxgBnnMS7PO5VwYuV0vE3BM zJ{6Yzx?05W3d}Pb24P{rgQ*}CGc`=bx)D?6cp38PQ3?*o@9cet+5IwbFm71@E z%8~nPg=xs@KJM@gHQXw`Dp?qeP@_sszAZm0|5I*>QJ?Fvu*tm^DxO+{{xI zh3J%TXC0d;K4+?Id~0)%7Fg(_kAlq9P+L{I6!|OWlzZEL1hYz+5+*Y_>?}|k^`eK& zW3Aw@C|PO*!Gm<)iA)Bo!nSknh((iZb=JeUC71pKq8jA4!N;tBg~_t@m1i}WV3V-w zdEE0%-cxs(D|0SlsC@7q!LlhT&Z>rXc5&bEIt~WAjxv}<9ygj11^G6g z`6T|``T+!^1G>=up*%4&y-1s?M=wn1(YUHhP{4BDWMfq=5Bi@=ZOwK}iG6L5>8X&w zButa~KdgaMz7&Zh1u9Yd!F7MI@%`}@kjpI6wkTpqq;NZdJLy!GmTDAo1jZTS*jHH>LLS&mvt-5+5-OVeShKaEuu5!gzX*`X*BDPq~gqb zOL^zE$O3hU6wRTfcnQ9Oejz@AL^oNXD&n;2*lvCuJ(&Dhspya0)z8fV?8Y@6TMrXm zMpGZT7pxS`fabS9!j|3@*P#DL(>sNS_4M7}vF)U3Y&&Uer?G9@+_7ynMuWz-ZQHil zB>z75?|qNvy7u>MPWGBLvp!2YnA4k~Y$NWs2%<{xexHVsP%%FTkf(Qc%F0Yo(*Rr6N zFL^xI_x&v?{dOfebcO*!Bt#FcFT|i~J3RImN$9l-mQx1DugSun*^Z#s8H&h~pkNe+ z(Nae4dHI#RIHzGtfCE#Wy4shONBdWV>G89l49){dYUmQj>hE6_I-TTM=a>D5F;nxw zp`SQwqm|`C=JP)`$0Ld~LZ6}ObxQ|nCT-Oaj4Aqtayej$vW@Lft{A7njX-`Sgyc+T z++^{e4>p2_V$tpL5HahZIZfT<*WJ!4?3>wZNqQ= zX)>2V6ELdX>9%_0BwK-4HRzr-WuAnyltJnhO~#*esuQT9^yF@A#k~^0wjc$3=qdZb zrPy27+cy~Bz6NDhcOA?9?0xFCn!BKntp5?jBx{+&#)vtj?)Kv|-EhjLp;s8S#}d2@ zG%!HUfsn0Po$9Ay58d@|7(*Y0tC;U8133+Pj0e}wbDQ>Y6C$q!+Pw=|P}`ic{vXXo z&#Jq6DtI;w7nc2l6uQ{&F?AZLu0Lq><IIvqK&+RlJ_= z_B?@2lr)Hu>w!bujOXpA=vjwAWHx7`uE+yzX4<2L{J*2vgks=oc18{@c^wtWQu~pe zHRrP_(t;z#hPL|>a27EXSYuo3OXr+ZnYCDD^n#5$>K+xxL=}+E)Y5ufJlW&}kunpE zGkM69>#!7n@%&+4MDFS>Y`zbJ+R!fr~koQQRBFUd0@E+g!2Ny-} z!W<^jIxEw^?d3UY=27hRWxm;^vnFzI#fe$0gKBCbhb0QCD|S3!U;=2`y^mQy++AuA zdP=Hc>K@MwCXY6!2-`|A^JJQEO$^V7&ttN%kP`ltM9y>eQTU|t%78=9-|S3M z=48EI%Wep(4Bdp6@)3&MZ}H!b6Q)!Q>7wzzMRt6*1$FcQ^6Z`(d;P}?mRqKIXnWsq zi-i>$XHjmmSNK~YS{yuAC}$#6(j!Fc9FJ0CRckT6mSsDeO@qX(;w9O1M-Ps(VOkNSevRHL|17KFBqwBb+>AKr{}TJWTcWTnsu z;@Egp42~2iuh)4NZip!lRUfdorqs zax-p$0ue-vhTnzhX_f@kllM{e_073hoRm^H9huT$*yavP>=)PavzmPx|J;TU{W!j5 z#UhqF{o_z3z3ecx5Irsq;OF(_CIG*uxK4M*Sl5)J*__RCuu+smDyLwc)1 zjV5wWDOeLhLvZH3KQ?5!P(3^m{)EX(exoB4@tR5mhZbr@u<)S6#>1Isu5#cOj92kF z5s*DP7;H2Z!b!x=ud{3KtE!=&kDy&nQ_eT?XD*(29*hc(^hWf!`Y2^ng%j0eWH+$@ zex21WyboxAYDT? zzTK8nJu*FRsH`o%f^i_6Bc}a^B7zNuejz+V9L)>kqjMlRvmtbzBQtR0&Ncf1nWZa> z1wbyBk5C2_bkUYod)D54BVH70uRk&Vn3+bZ5XhroAZsbiM?LuE@&YKDhR^Lx9xnb6 z!bnj7b2D8;9Xk$UdugCP8{7j2HQQUDK72mEt{&82F7?`cQk8xNkf$w;cU*E zHcCu;Z;y!WQ@C>~mwXe$Dn{Y1@%31fl`St;`(dp&dy~^p#`rGb81y=cH5UJoIB}=bP^F#*Y#Jm7pQ+&tT6R z>*X*WM=mz|QNXBK&{Ss96m!3^s+_U=E-Pt2E=P96?+YG?g=lYK!)o&mxydg5owK2` z0#ArSTgz6OH0>x&f;5R{L>*r``ak&7rLOQ}1|@M{!VPN5vzf5P?*^B-EPBz4FnI3* z_!TZ2EeC5swD1Bxq6>3?Z19^)G(cG-hhHyGoV+W@$(vngO)Oazf)Y06V_BvQx?mu& z!aLABO47tWQ{w^iwy*2oi`1^0`m6pS7&okC+um>}p|i9+W>fffQ`L>zB7I-!yjsr6E3zq zD$T*OF*u{T#9$1XIKLN%{$Y_CKJtJ}k(XR*)}DDHB|;@(xZU&_WDH{0A%ZXO~(vtfbZ4=Hax#!n%m!dA{BGO zC7dx>p`0%IaOQu`&*dM?sP|D~@z4@_UzdY1MA=)CQ#}TxW}O@RG4ow{+v@rr_f@iN zvmmwNICv_PZqw7Rl&!#p{Co?)p%^XAW`Zi&{{$V>%yW8Xjk$DFZhV;3m7%uJE&jBO zyiq}G*zkT;`;gPUmHUocaz!9taD@jErcE|5E*Zq*&Ij|+uZUCN3M(=Qvpx9UJUa7E z)Ro=-EZGbcuM&mLoZj>BQcRdFzasu!(8GSHAwZ(k_A@L6=Uq}|B?>z7<;?BEZ8;K9 zo#}OrjaX>32nUVB2<~ae)0;y>_h~>T6D%4CHQ>b>w}!foK-0Q0%w3stNL#k(+J}U z1N+yx_7ijyMbhEFkEC5Nx-h7TyBM6tqbZb-0*hx~lw6~?|2L!oW&0l@z7cQKZC(8C zU)!MV?`H^{PJ`14sRR=#M>=m=it9-(enA7}K2{he2r9AHx3a79p+0{K_I;gTao7B& zs>VTsJ0@6)WlDi5`K=CBn*txqTMHKbpGHSA#FUN$zSN5*UFkkKdK=k5w!Sa-qX&*` z3UC&p$m9$7J&(Um!@PR{lrun2T|s$*@qi4mWMwTz5O$-<}^AH&4@EmC^ij-oZiQKUG)i%yipw)B3NnS#haxs-yZ1I21|?&v}?d&!Zvt zF|8GdL&4}Ws1>;xfI%Gc!3;$@9518P;F6Ypb)3*rIu7pzW0wLUPfS(2pe4qiBC&nQ zvTCh#W$oh(PKrn(eQmOt@3)!X%U?T~+_wrYll{wtQElo4q*LQ7{`xAD(1=`#6Moc6 z#s0dMYD}){?=u$zw3bN`JWYN*r65dx4kS^)q^En3{iCztri4pl6L@D;I+l&5I;Q6VYQkG!YdjYMS9!}3M z-CmEw>pmIFxCvti{%lcp`+L4k*DNmn&Nz;`0{fnXlkN2IyH_$iL2=J?7^X!gb5QMw z`BzZySpVNKm*T9n#!tV}hg-=s(Qa(mBG17vzwTviiMrGk>|k9nsD#fcl}`P@DXQ~+ zPv_3EOqz;VAS$hJ;nO$wSiG9z@$~&TqwvKJ>3*~5ut1CcVLm55ZMUM;uW&W}yB$ZK z^*7{QvIJj6gBl#{kXwfLg)l?~&TmxrllzLX&KUDY;k@iQtX%gZZgl-ih@JXzW3>_q zUfguv`MEBRvgTG?nGjMfLAVq9Gqb_OCJd6&V0}2=z--0pVCj0?{W`MyLjn%&z=30s z2Ev9(-F)^59`_MhO?`l7?J3$DCVZbF#&S2LA=CV-oAX#=nYic*G!u_VbTSP6gS}9X zOs8N`hv-ddvuH#Z$pAe}gWYr}jMRyuTCLNVpk!u@{kI-$qs(G*hPi?&hr{u={5{MYS{;+c@D^1Mwg0LV9M3J73dX_R{HW z;a;W{Pm+FC7jV*4&nd&1;lXrlek}!=}sd0qrc30Xu`~E z1}G!JqXa4v)nwfHr{h|S*Ca&5Vir%Cu3Yu_cjjJq`v~Fh3~)9HZ4B1YX7r|`gIlB| zfjZ#FoCE=W{DUeA;^N2P3tw2m%0RT|R)A1QTJiZqSB-W;XEc|oaz|WEe2MS@LnR%o zPeT}(wK4qA3IMky*EF-E zcJnMyRNi2)xdvwc`@mHw3dOL&73>oCYiWAVoh7z$7cp zRhiFbjy;$-&3e8_f?+cyDar0nanVE@OaJEvPtPEEWdg?gV(NjVMbs~GY)BQ9G!7N^d=#{J&3b`HkK9wk#^iV-zQXsji*wm&eOxrP%U?i>`XXa5!o<#dY&9y!1 ziZyv={Zz^7DD;+zxzaTYoc6J$@-|Jm@?>HNG7SwhFT(p`HDWo;@u+35>3|gfw6-Yn z=zCUg)3dI1ZsBNM$6J{`TqxhUUGodpxl}aQ*Ns|PqOfRNvP{}O7TfA*kE$$eq}lm&i=!g=K1 zw0C!e0NTkmKuXyV)E>_kQ;Au>#?OoNOk7Gtw8??l(BzqlH3%PgB5tC-+jQpbjEBEr z5kTyox7WT^tABe9NYL^J)pFp!=FV+-G5+!X>HG^1V}VhE3f_5NmOwmr4ULFPtNi610?`gUw6uN-gXJxXK3jB>=(Mb< z_}QINv7I(Bp;?RE$@-xx*7UvCzCbV4^cAoSBGf{9R01_#AV?e&S^uftn7%z>Y`kR` zL)nT29``qldaNhDl0RtlN>AjIY=+zE(Sg_Tx_vq-@xQ5GAJq?nvdVUTmE-k@zGO{V_J}o+Q$i zpvq{T5VhJWz@Y%1PO28VBF{%OOxI7&BQN}pZ&v3P;#9rJf?G5G83}`GrW&&Tjizk7P01d#`Xd2&9qqTPr#5Y1&3g1AnOOU< zVt;zaqd?OyKVk2#?%iHQh^{o?z%l|mM30_4L5dHctq&K$`0(&{KlLMnPz#n^MLqAX zvVVvCKgEgJEHDeh3yU(;grL)+)joG={V0HI+i39LEN=}44G#9rxb_oS^_nsKKm9s= z07C$a64^^aor&Iep;P_^@_0aw^}ksf>eW9Jleh$u8tBxJa?g@P`PXvfkRJ3G-^&ZU z?YLxRj72Z8Hu;%i|HU6N(E~LP#w70UywnRcAefHw_S^To)8e+X^XgPAH!~!+ttY)W z@9yq|fdt971@|FkN}_PqD+qqEY#DR>AI%^2?m=<;yOR+zd>d&e1CKr%-FP|xo=#?0 z9A)AYG+-ZAh@Lj$Um+E|;(5GWID0eEiR0JhG~M<;C&*a zsB@j?LX_#LGzc}R&vSuQIm{cuGh4`eH`)t$tZ4-0v_J4w^u!i|;Wq~U^ufgf>l`_>)IF?6!V3u}{(n*Lk~u`;km z!C%ozhB$7g!KkHw^M0;!$Ec4E_*DK3KN*&}r`fAS7$=*a(BR+H#APshrJ+7P%^`Pi z$<~tT$gL$)>_*bY5u=MAzLg`H;d>2aj!`c;hJSLfTc77;OsgQH%}*j~N3^!t_W~{G z1Hj?Q?r_=L#WWQM(6OJ=2X)P_;mJDQE-0b;Yog%?eHHGQIT4E&Nf`737}B2zK?Ucl zxeSlD!o=`1N`&xM6vHyXk!Uv(2WqrgdlxLt}xGn z`-N{SkMtpxmnvvnCWJO&Fd`udtU1HFTG9^ZUW_gvM1(D9DoGR6{X?MkG}twM7Tm;t zGoT;@Sq*SlM<01uf)07xW2U^`+Cz1v}k#`ag$R zEQgx&P?VX5x@ixqR){(eM#RGc=*2j!H8o64D`7?^q=O`O8mMrXMQAcKDZ{ItE21LW zXfkXV@cEThxH_0X%4fl&$d?oTQW199*JI#98O@5i@^9thY84y-a{J302h!L?;a zI1kuaY%wxPj(I@c8r`^06I|MTOol>kQHoY2r8AEb&I)Xe#EagyXLt1=fc5!oqy8T% zKD?d==iq$xZ-ihm$Z0H=Sxb|2#79%;4|pP<6wY7~5L9_9hn*Q552OL|Kl3-&y^F)+ zhR~5r3Bss*t9!WXD037`g;&Vr}-|!NgF>_x_le zf@s!d1VOY;i~K^IKO_-P0(dW_tq4}saybmfYc}jyCb6UbqO!!#f{7ME$>MlVEJuxq zYu%s=x&1xZB7w`+AD$)D&Abv#bOUqqjefVY*uq2IbhO{{PrIyP{d#raWBXHzIQ0H1 zSkc;u$RBNsY0h$fWQd8T4wX=q35!JI8~XjO z`qMvO^SDu;-k}_>I1=_|GO%0N_G z3=jKt)a)R!z!^eF6W~RFs5%Jp>g@32&4HIls~D56JYLZ>N`XAowAQ9h1B9`;((B{% zZ9`9T(i){$D%D>-)YKKUC8D%8-=3q^UoT`856v0-8ls@98!_M=P7s#Xf_?XBG9y8f zkAmmG@i%v?yDa`HHf76m;9g$NVc5VceIlow%~>$@!ui=hZg4Xh1>Zp#Eo~*q03GOz z5cizCQSQ6&4wyXo;y0s%q&4H+1E00-P|DLdmv!E-H_xWSRWLmvZAMCX=}SzsOHW9;t>@+Ct#Z&R zUnN(|LC7d1X23eaY$Rq=?DLs+{uHgI^-qk7^eolFaeS++N#|^*q{DHNQ@F*=Pm9UT zVMzl~(O*(_JP<4clHd6@qi7tYBziD%t<{5QY1c~%O&}c(E2>O-$Vt`*T%paJXIp6} z`q|qzMsIaXM+<1*lnXLGD-o^DgW^|FR%+vT@_0}gHtB@e}6uK$Nw+T1{7<`B>gKF z?wYPvIIPPqM@2x{q4jpUklORu_uxxfTN^t9N%+6K84U^h{;GcWrUeKYJHC4B(|{Rz zoVY-j9owr_^Ik=6m0wG@*P}798YJx;m+q#$I3`|HGEDItM}#N?cRwcR^kwkVz=?{DDB>CzjST?^>Hqr zTlLlPb$Islc~(se`hK4R^G^OlM!A&+SsnO0s*dUNZaSC|EFb4~U|5Vcibft_r{=Ey z)v-6vdhjakkoqrw6TE|q4ok=IV;tT+vbovap1 zzw}nF638m;zd8u5D9eNxS3#)1IBDzFlOZORi}USVCoL`*;!O`tC(I4?T}J!xm>Vwq zF*`mp>s&G3RtC+7Gravx3nG|k>Qw7MahYv1DA$`z&C-jqx5-)mbG@-dqF3FT@*GcA zi40b%W7&2w9qw`vD4ay+13aF0=}GT41*e^nD>TL;_a#tO-NL{t_n}t)B!KAo@^X6p zUjObm0v+B|TH8O7N6UBe@7)IReX?T>U#@0Q?0)y;6nMpzY`XzfMoo07A91{!A*Ui! zh6#4oqZ!UwkfsKUoF;LQO>_~O;{+GBpg-yON^3Tcd-m-Ku)^*ND-kzOLgOkk5tCoa zUO0={X**gDjaM0=>2?Wl#kn7&Q#Co?C(Pr>Q+BXu``SUFwWY&-H)p2pn5dpm=(>~E zrPSks^0vW7qB9wa)OlO2NodJeriE$4@0ze-MkP%3+gLu#kvtcc)F2ex`z??6cSlR~ zXknXc%M-j0co6{uk1>mA{UR-8d@kYUJUTKmF@4K)Im02Jn&oK*Af?Id_nc=pOK2$V z#f6)xDrgFHKMXb`5Eu$Z5(RDW3t57Gd_P-KK>$yXc=i^B{)-U}`5+`9cZ`W+f$4~X zY(bvA!&$yw?)ST*-p-=K`A-O|hV~LplgGk8;+Kvwuvq6t2{I-A+^Ft*ykI3J_!wwe zQs1rZK$k!bMTJ>leip#Ws1$fe!!`Rag-M7B`%EK=pSUui};H6w6RWq zRjvCu^jGEyMqd$kX6+kD{_Om=>(cqNHFC=~LgEL^kfw%>yPenKZ2jd1M>x^u>CV%I z*=GjSsyTzr=?=6YX?*JqZDm^=aSvz7!toX`i3~4CdF?7cFr?4`wkBM+o)Kv zX-)sPUxYBoxsrI9AHUZFxHx|9TCRQKBL)8LB!#hXJXgG1!h&x>q46RvVD3HQg@_3O zrkEf1(lV4#RI#0)iV$$+m7(^CF!=KieDWGSE_h}hMg&@h)jFrlYm#G0?VAD1}!rw~1uIyb%s z5x4ywNpVpM+_saj@Mpwm5saor*zUjr;yDz8h&{;MTx4YB;y!hZTrK)_-n7t~JS#tz zoU5BFW47lO$#*Vgc2Va3RM8-B^1BA>*#FJ5dso7o>DT0K(;rA`6xtitBwA!MA#X)E zl3LSm^`ZP=7{e|bumx$g$D$P+ZFvi2BUbs1EtS;LCWELKe>56pl#iJ~pk+D%Y|hRo z9FUb6kxU#ND9cdaZDxoCQbVe;hAB8{JJPqB38+6Fn{msT2)~C#>p>Z77 zklEV7BUCJq$uHVTmDFdQHzo*s4k1mpc-N}QuiJ!uaE@fh!+ika^d9hFzz5k?d@A|N zOAxmJ_DPm_{5P14DtHs43q3<4mF^JDqhGHK+C z(*zDUtkV}}fnTh7X1qEzkQcjC^LdQL;j~S8o{}>-yUT0R7y`#>d(IVMpmVj`=9Tq- zVCuQwEzACe$x%gnX6_c~*>xb|_rFKt2Z&E>z2&`C zngr75P)Z8WTRMX3JL3e?8h*tMviRRN*-acKrV%BPJIi#fGo++s7h55u+!ZTiG(r;d zQ>;QgRG6HNvjNyCsW8|hV2o`3ohmL`L=NZCx+FgEwy7a`sfiIJttvesm9-`zD8_{F zeeCr=4HsC*AzK>5ziF zeN;$;Sr8JcJ$Wzs;c|?&gGRY>_8w#iF3n{Vo+M}{r0@B#Sa3@^uTV$0@{@%k2)As0 zA<36>`ZFQNKffhVl)LqB=;HlGjkz^diyDeV;e1K~M@gT&kfVL#W6@dUD=UHQBVW9# zS*hlM-~yt2g|SiDVf^o5RFM^l3*pmR_G=k&7#vY z@ZoiI3Eeu182_ZY9R7CW&rW~S5J*Cg~p-Wbb^H0d^Z>gm(U!!s(TmoUPbQP!7`$ zZbwv5L%i7?T>-&p?amL6N8hDQ2^uK23v`f52=gm<;8en&!`Woml6o3?ET0~ZN`__c z)j0m{b9l_i+*K+KHX`MzSnTuJP*07z*|P?+UKL@m1Do((L>%h8uBhga<`~e zRB<3W4f)Nvj^7I9+*(Shj*R*!vK`(sKbKbYoisMnOYi3ar1EIrFYi}@pIR$l33d-q zXG036>m2Xb(^s`Oi38*L=%7G5Qrn)-<2TpV5lvUOP?fa*A`ag^y%~ zUhfeFew-ecczp(8$-=3*Jd%AR7IxPgk0$xk>a564X*ecXsBoZcGj975LKIQT?rTxanq~t8%aChd!jfaluOez|l_I~Qc-RZ;Z=li<5 ztbQ#HO!~F9Wb6905jpT9NqXnRQ$=djtmyr{#YR%{c$V=;Rc2{vOkDSe4}~yi+Jcym z+GeO}1|?i4S@ow!AT8^l-)~&Z*My*bnS~om=u>2Zx=cZ_8=T}Hr!_ZkTrzXL#)$D{Ef)*)OjeU54(UcRM7!G&=*`y>-9uF<3%TM{qi2&*Z$tXL+m@uQv_lRP3TY zhUxSXErnrVr`xL|Jchjqb2CZp@8!^2H>+^3BITM!T&81}=a-@FJ)%n2)>Cc93ev2~ zojF1;dOKiuU;K!AVW1DhVPWsak(u@i9KoKw0k3j&zY11eK4+|yM?2scOwsGz z9ZK9bJ@ODF9)?^J&MUGgWeOT0Cb^i3(Uyp{rdU|^p;q&(e5}dKVjPBg$D<#+0D?D!WL4M?ITLGL1>le337|67{rc(dmGBY4%uYQB0gL`zFH_$5Ed$?}B4(p7 zVbg+B55qIXq!rQM(@m?zF%wXMH8B#k;Ld*)A<4-J;35~`}B6WSn+&KK^oG(y10HGu+MZs8h;m?j(AMY z_B-K14C_txx{wFLr4_(ufo#B3VuSw{c-g>K9B_A6b(>ics0Z_w++ag%KuI;tP0TU- z@21!A3_%4MASfmfkDt z1|Z|^d7j_8Mml>G@A{Jt**)|HwXWkJDm8a}KAiU+@Pqm^`Q^ml_nIpqvF1 zdB8#vATv-ME#p=63S9WuqHPEiAY;zw!s#9rovk7Bw9cKWLviqiW-nw{ln4)!6**1Gye7|uN!3>w0BHm;g{pDNpZ-WBlt=Na7U22mh4XMFCz(Zj3^YmYeLa>v~OS`hS)p zuq*D{DwE{;udQolo#Q7n$EJ_9O3BY|qkUrmP(?M9n(g6VObqOM6Aa=GvtfAW_wic@LLe6&d{eE=?au7Vw%o$j zYNrWLh5-nJf+PXxOPi+kD>{AL2d7v*FT+oNz0lS|=Jdy~*H!oV(T8JL%mh!%833>5iMyOJHZu& zH1MRcMZpT1{o>chtKeLfVeP`AT*bY5+L}9dH(2uXGG$SgQpC5kl?=c9Fen1)!=BEw z+Z1X6jnLaUhq*yfsJf2#Sz`W%gB68?an8n-${L4+#+wjRR?9?^6r7?`m{*MfC(pFy z&-hr((b|V!IlM(}d|_fmahB}Hbf-Fk7Ld_*TAXKn^Q|&z`m@ehzrtg%W zsixr0O1bh~cBz+_{Fi?C-|arVc`X^(&``yp#&w>fAi|>1i%TUh8{Hu64*zWD@Xi4i4=^gy9uWtv#>Y8k$eRK(<2XAJHkqTyJ zi4-gg+*vx+6of(8-4pye(~Q$4ELcKVIdc1=5Z7kdK=*6Zgm{N?e z;(!w)V^!4=W6AM7(CzK(`Sku+O?iKwB=D0&LtnPQu5%?=s(@mAa&&lm&;-)A`={vd zyz?z7I|^_k%$=+n~Azl8~4{gVyb>Vm;prr zpbFc8a#H{3d#ijrFC4wer>LDH3##Pj35&wt8el#b+^1v_=Od=Jd8gq46g= zF!EBRvb;U&`{H_A7b?2=?bY&X@Ck9}L;5Hc;E7-oDhWEZR=BnxfO#5ryJgQDr)zII zYw1d|Ko{E&Ass28um}VjRT+A`qd-pp-LkH@q!x1;R{WOj2m7L5{f#x(F<5o&c$*fx z0F(PNB7QAoiDDl<7-(0W!8XPsy=&!jR!3%?zS?U+!@#z>*n0c}B`W;8dDm)c4P?_R zaB5R-ikB^pTuK%Rm$zXlyq(o%wLD3UAOd2E4$Z38w{`GdM}9i(+1hN3x6Kvga;%hh zW~<$^W>?+lUUFm`&{T^ftpy3`esE~pNxSwK%HQm&Ne4e({{uPbrqh*p-qD3~V^ko1 zp>85;2>G$xw~Ur2n;SnpF`nAqj;gf<@DFLq!nTM+07cdFMHAj);ZhSoX?HyVD{$5V z6qNr;LA-MFLfH$1_-7hYpv_DKYt<#G46pk7Lfl=M)Ci9?TpAJkVx2 z9D`}Mf8kO^Gn( z16Eegh*3O*ffi|yx@bKFF66?h!`X`w!zI1(fyWL0)LP6)KfBr7OGTG*T%ju+5EkM= zO-Q_ZvqiH(@pGAwA&d#A20Fk2UP-i_fK~%fFkTc$nFmnh3xb_p+T&EvxIHK3t53 zL54*?Sd1Jfo;f<##PWCYWcP*=P88W_KE&ZS!HWFy{m7qJh*>5~h6x8+y8OPOJthyd z*R>!nqO&qwx4;lBUrZ@|=N0&4b6)bx?m4RNANjH>h=i8IiLKFRJWf1B+Fbsgw5Up9 zq)_y)jIX?elcut2{A(Z7Xu)1VSOv5QxtO?}L|>_X5q9cY3jH5i%bWcnF|W>i#$)qr zXvG7#V78Xu+UI9*LE6Va^u${vEllbK3SD~}U8(jA3b^+f541SuW8@Jo7sv!>dDPF1 zb*d;LX)Q8{5=?}DtzIZ@PN{u%(=>J!{kvch@(OfD*xclB7W>&2A|k$fq6CybO_p=S zBIYOAN!74JsFt^ZnxsmcY_xq<^b@7OUn+9LJ)ayXx~KR0c@E}4H)J1Iz`NShFQMPN z9OM#$;m05WDAX&ZBbT)Lnf{Am1@9%HtUI8Qyc>-+l~Jn2EOG3`16)f*pp7Oz(T$FR zA1IW!SrvFez-i+2BW#Txtoc-q|;o*?*YJTn9x z2g~B5ky ze!T|=*CZJu99j*K`b(LnTi&zvq+`H66-M3^9Ch3n_y(@n$h137s}K`{n}I3F?AutR zf`v)9o`e|8esLqh<*FF(E6{*t_(%!{2)c@bk}Q>P#UCMj{lxQbMYB$9_4Gr z;)iI3abLy?clh(=pwe*ua)otxyTe6CYtVFUSx@p2XmCL@+bpT3>DhNWL)J%!qbKZi z+FApwOmtI%NmSzyaJyv84QU={jp7Y9+OH)uK+4M)f{bU8^KXo7)7){!sP}QgZGVDP zYrP#MqEh*UxZsYEr3Z+sC^@E^o=KLHGt^m$yY!jAw|F1+ElV#Im$*S`TO^<6 zimFZhBQz8g7ff-7i>Vu0Dej@#hvd`yM|}dalJYZzXj4S z?l7|>8MBdj3cU!T#V~5OFDRH8`CyI2xM0M2i3Y?U;v@w=w;_*1D+Yg+33Ru5oC0nE z?YFm7(qtQ5rY5nCZ}8gbUupS{@aSp$sIa(c1+M>Es*5!y-Ltq*y5FmJOc`G~dq{4{ zpN=T(IOVcTjP0Lho&*J(JR5uASL{CDzgq^|z}Q(`Lk?K5y-kLhiE|BYI7A}{xzG1r zUy~Y%x?#-pq)$c1ujHKL8VcG@M@3s&`7l?1;`7N4$B9I}#p14tj3eXU-=ADv&r%ls zYlyXq1^A;WMWRF%F~HFCBd_1=Sa9_<CBzJAaaN? zVSl-sWL8Rlx8Q2}#%xUaLp}7kz3IA@Ne?fnS07yBbO-;eFCCOeBKSo*V+J`Uo@L!N znFY1yUv!>7!bd5h95sl=z#31HxZnB0UzCYl9neSqz7O68 zt47?v(fr3se=KkJuEzpc#47|;@lj{d1`T)BGm?*)7{N4bYlib$Vq z7k!tr%c8op2)=5^kWi@n{7_KPJEH0mj8P?ZUQ`$~!oICRS(d#z#c%%_M>d zsiBhI2_>8qiY}nkv=wnW(f+m0TmlZYChTLJhyO8v((T~An@aj#v)MjKzCMxCRk7>g z;w+${htG5QcD?=1C+E<&Diow(_mm^+1JKX96yy6Wr{aRt{~pHRxvg2Fvt3V(56O#m z=AaixsUF9PJfHQ>(>TKSr2>&ZDH#Mi?VYVAGVUtuXrUW+Dncu{HzQ3F*cFT{EykfB zW5SIB{tF4BUKTo#W-frpf`gt>4NQrF?3h=~DV5go+SH4UZoryaTY8~OWTaS{74VD< z5-n4@FHiAz>gw<1o{~-}Fnjk2*8EvsvP3SXH>{a+c>l9&JZe+OPxhGwhFF1kYs%(% zE-1Qb{&4OVcU|*!F zIW}D*>{)IsUY}XQ(-jDBNN3E)PchoS0y0QYg?TaGTo;R zdGR}nm?p59Zz7lTzLg_9*$Zl?RGIHi!ORofY6M7Pv+2uN?t& zhy09wgw4dBF7b{Ai+C;vO1;)qMS0>@?}`#x1`y|7d5HkZx8p|$w+awiAB2M=6YiYu%Uok*@gqK4CgXTg?Ui~vCw`OnqX+1Iyc>FQexwir<&$2z z$&G>_a@L)K%pj@Ldy{o)fPQ!iyH;Oan~G51MAYMR5y`=xk_aDD@)&%<&)(fBYg;y< z2xlK_k3EqeqOs>$KNszu*+5ylJsjQvU`r;}e-xBkjz5sLp9xK@)|(w zG*`wj&tEkR_}$HLFQ<7-4DrLVSebq2SEXXP5U@zSxOqTc4#exk+2V^DW zkx>0$%s4p`tUmQLss7DrAP zFd{_kEHdYl`{p0l9~ZOxOOHw4jmf1a1K)jrefQh-JEVQQjG24=^K5?U(KreuETY`5 zf4jMx&u4GE`E0SceLuVWy!ho}wz&BB1qB6shjs#GM1p`j>E`0oXWz+S?ia@=9HySk z%8er=CsJ@27tZ|R*9+eo;SY_8B8M^(Q!2GJ)DMXWg%h%faNn8}gJQl*%r`aP+^E&^ zK_(!Z#Y{61J_%?HQ)c(gr57;w4!)^7e>Y?No|*4An$xisA|O!^wG6y|$v_5)g=|;! z45_;?`v#?1V>Id4Lk2ICwNdwVi~kcKIAvi>07;tC3Z6~U4~ z7+xWXIcwKs`A(%xwL45m6_6zXf3?(iC#810nx>etGJvd%UoG$B%km&J)DP8isiWz+ zTnToD(O;131wKURp-iVV5Fv@!e_vAoRydwu06fC+?Af0gJ=fpJ8Ta2v?(H{{dviu= z{eR@X9CUP~0Y(##ISFEJ!%5=&N#!^rEF5N{M$ReazzEjik~e?ZDLwoiWqt&N*UHOZ zmY0`}+C3&ya3eVJ`Rk2bpTcK(CaZ3p_s?^n{ybKXFXus_9@Uf|7&t$Ef4v`OFH2PA zDlgT!@dcsrhwrmOP1R?Q`;>&C9GB^v+5FA@?Z?IKhdaB8|BXr=Kv&{-$+Nqpk*kud z2JOPov=U*|w-P|w?(#>-Fnqwa1P0ay+*D?`4TM@g*vIr6BJ5)>sk_3*K`Wy<*lqPz zrMYIUGE8Wz>?offG{+cwf2D~+0c~O*q;1*!N*rHJFp-2u^0?akEgtv(10J_$@Bq(H zb0E)|F-fQhjOw(Qnv~sflt_B83-`6kEafl} zxHOi;k2}zB12yR?Ju7dr^JTyPqUTZjs@(cN(rf4iC?cF++-Xtivf z5)68rZYrF~6hP=kC$b?wp*1i{a2^90p7VOV@xkuc?jMT0UaQO;LZmtLO5}}|zpnO0 zhO~C0ag#R1AIEvu-}e^u&AxWg6%JLCl5T%QXnW|J`!!21+-*vPY%cKJAH9ViWc?k9jk_`fuUshoR<@~F-oaB>F3`uRCsJ-1O@|n z@MHk3Fc8Zlw~s!UO4mub!jKV=CJ?s$mO|C|V2+JrBo3u)f0KOIE|>mP#zV$Lea5^k z;X}SplH~hbf5?e8g@G4&S0Sds1X`^aj`pZ?eB`!JQPpK!LBqQp@|v@ zHQ~W7%F85874R@l8LmjmgTW$Avj}ab*Sd!21;!jRfBRJ8Y-nP8Q)QEe_;5?mkweaS z+3~?NQ1jz=Oh>I0^lY(U!gd>i&~)KS3Q-!CPEMFaK4GHTX3u#AXp1HlMK zdNtiXe-1tRB1DJyHqfT+Q(hF1lOlANNp41wEuET{G>zIoE@&9m&pHnDZ|e`eIzdvQ zR!MrmagVle3uK*TmWMG*@5Ist(8+CuGD&Oo8yRI0lUa53$P{1BEx@EUksFhBFm3XS zx1|QwmFfv8cvc#)dEh>1XCq@o?rsOv&Rq`oe}bgI{hbPJSzuOllRyc=*1(f8Qcvykusiq@puYJzzq=3V|UE) zDm7Facww*_expX^X`QF*Q*V&_UP2DbS zMlUwTBSn`DJ+eUTBeLmVynX4B@rd4+HGm(!wrSVLDA}b@akO{h8NTG4ujFX1&SYoAjFmaB}iRSphaD zRHn+*pjXW7%?DSm^GUcdD5mwYAppN+WiDy9v(XfUpePvnXuJbA40MhLp#o#$5_2K! zdbKuoVV{LBAoZ~w*^rKce#893fAy3Nz=vQ0&vm(OFFQS8bWGs^g<{e_Z|5nGh>W_j z?oa*01HEuGzI-1ufus+*%U(HsiDv;3$FH9@)nkiKxm9;*W~$BCE@G!~3c5hXk8o;z zb~9()JKMC%?CWHu+M8tEKXfGu0-zbIH1+4IcCvup^c8=u;-9JF`9H$|Ah%F7C~ErS z?cGiLw=h`11a!^;^JAAW|5&U40#Emt`5JBE4LCI=ZBqZg0}660ZheX6^vwOMvDxj?DZs`aZy z;)ACFAKYGiySx~`kHsKnaUg@iax(}ylW{Z%1Iauu9xT^`Kb-6DCilzf!*C>h?!;_3 z@&oStG?{;x{D{2!VJw}=?Q}65i6{*9A>q-voB3ify&f%pX1DX-@8;9tpUdwrrpt@J zF9cY?2cpvGM=S{3!D@f;$De$#hI`)+ICJ6FvpKmRc)rVg&jornSX}&k!O08W^d@o} z-UuEt;e!sBvnVEaMhk7k_`QHL5gZLXb5y_yALN)bhof4nl`4w-I2;9>JAbLOG2Q9{ zMP5^p%eWAKgAquHeII2k)K0BRh*01;iT-nq6mz}Nay939o36IVE4Qk1>QSZH6O#LU zoqpt8sx>{A?soPNa*_%lLbyCtDt;Xf# zf@aj=GnYoICNTV(dQ|vGp-Nk{Kwj`O1 z8VUzd4=h4GoI+8c{-9P>S2G5jDs`$4SnVK0!on1&w8$<^_@c;$FA@|!Al`VA%0%;j z5Rdd|ZbfKwHHDrV9(az_qteOM7^oHYguc}Qe9X~1XiETsRi1rP$3pE86X1dyL5MbZ z5CiIW@^3{TWy0x03pzl!n-K*bM$`{`EwGQ9$o2Ojs^NBf;8knk)LOW0Ep-`F+<>CE zX&%N+3*10~AldMYRaQjIxAWSRhZj?SE8INAn9FM?l z^mly|AJT_&&~~iVQD(@DtYc7(8{jruLhnrN>y30(yzGGQkTmu@rv-&CE!$6gQATUt z8^DP^6i1M>a*Gs!KQ;php4&j!3XMF$4f6CI^bUx`h<-ZlRi?GZ2snLblkawa`LkI` z;7WH7BQmRHwJw7#SO;qlb6C`H`1 zPaqnBhO@>2;O?QpooL3|bNGK&$+0lv^zN0F+k#|2EA^M9b$;l~Ha{JUmPI%@p%wSq zk4kj|gu=45&(P;zhA_qg{)oGn-AJ8PV;F!~}`m09S= z?YZhnn5!-teE%?;FK6>xJ)k1z?tVGDo6{oQ8p`0OjF<=rd+V$KRU^QcseL@(9JE2q zJQ>^3yh?1t*%f)a!JG=~gY7VfW15wnIDi)H1;+a_0i;v(5-9Ukio*_nTUfbmg}0u{ zZ|xjpFC>adyK!kB^8_?x0d&9cYUvN(k!{F%A4pt6J-^Nn-3;4WtcdLjXps z{k$okZ+c?aX;s%fp^J_G6gjirx}i_YN*FjR^w_Q&A-*{Vmj!h{da3XFW`P{DeB0+LaTQlr!^nUXm)hn^;uLys(H43CNhhO0=42{22^Lt(Ax;DWJ z01h>DnsBI8u();z11xd^^Sr$#^?lwJF0?lQ_*Z=1#?RT_%a8LLu*xyl6E6@6{R^@`gaVR0cBGVD ztNsBkIw#zhk;VuVmoPU87M1V>EPqLN<2Dk$`&aPw%z=K-#9-q#H^v3-R z1aZbK-=m20(0WX)&-TTS=l743hf{~T*bdRD<9gWsbbkBG`Hh;pKMkpUet$KYo;oD( zeX)sfz3=jNI-OiN)9b6-|J~hAPQN_jy8$Eh zLm8r8pmrujRi&|0WsBm^vVTa`2SNXX5Oz}z-^u--4I~+2Bxp7`k%0ywD0JOs%a>D! zxxSGUoQuG*8d|a1LU3pWu*c(akB>q|n>}$JRh5Ay^-wsLVJn%F>}ANBJxR7s>HSD$hwYyg zb-I3z@_n{AUKQ74m`V$j>t$3M7<(MK?pVex-`@}O{XMJUv}R}bFg^OH9}oNbQ7K{^ z*RSJ!{cCFCOFR?=ynoNvGxH4*-?eTxW~@3O@R{cZWj;613PP zTpB|nAVZgaGjjk`^234A0jHT|BD6iCb3ZEOzCo&$-C2z(-+$vs{rp#@>JIquex%li zU1l8>5SB^$yeH>zel*wV`yHS^X$7)189<_O{Ob49*yjDh zLkG6#SqK{j_Onqz12%d3oaSbLFZ!JxY9xG*FwiQs!u&d_JsCynKO>O#w;F(Nnw&Zw z#&2O@nacg6MSuAAey92K{YbG9!*ZDKBG+q*oTpoB0o({7HbUr&rab8Mp>-GaH>7I+ z!2U{~?}NI6E*rwe3WTSj9l?WPc?NOO!2|ocR#S_#5PwQd^~T%j}oL#A&mn7K9*aqSU5E9A=PoU4d1Fo~d2V)w6y|#eg(I z^U$*&)f@%98gJHFz144ZRBtM^yZJmx^K_w|MNZ6>bjtyC+Q=ryQmc~6Z`j54Q&g+@ ztU41134iRDrxZSvl~fp~Z+S_Oy3CHBvOG~kL9bH7NU2V|a3y{F&H$>ZXHnL`n5dUb zf0?A<^~+2ODc)yW_0$ZxR(o2dMZ7~Vn)N5=deU_J1J#{{ZKncGT&1SaW&vVBo8fdc zNUDJBbXWvF@&UgO44g*sld3eWb{c1VBSx6|_GL3wA2zws(nH+53%m%;0>Wb9Rc#WJJcTJpQ7`_tXODg?QD3ahI5qyu)V3Y zfoIyW%REW-nohf&OT4Z?6s%1JnMA`Hp_?3@xC@Xnd8X3R(2 z-)VRRMuHDXh~8_?s0X_5 zdhroGwn7zxq(Bwo33(woQx}&|AAdeh{%e#|DS`T`O&j2y7SJ#TSTV0kF$%zG<9q|n zl0cb$1K3!D9IH)U%hQRiO{x{kaa5?mEFIEOvss~L>xP`V+=_Dbrg7U2&6lixGWZMg z2?B`MsOIn2w@w4-)xxk|-TZPnF{J<(apHH;1wfs`X(ec50Jc`TV8AS#4S#^08jIt} zxpFzvkPdctk`8l-j}Z@gH*m56T}Llwd3yQg%#_r zIW9KKnJgx7hRrI8YOP5cP{h3*3>sXgFV#pj z9}te4EU(p+bW%CGTcyQxdZS+MKVD4#Mu>W;Hmg;+u7%5Z1azjzfPc2qc?6-a--NQ{ zQ-M$TtX^v@6WSkyHNM6bAs^06N_YV^3T07f%aXLHJ1fDA%p&k?B@{2(Kjc{Vbd>6h z1A}CpJ?qs-FYTC2ti&<&lVCMzR+vyv(z=6Vl(p;npn5^%JZG_f0noe2Rnc)93k0nN z0&Rhyvp~>V07lS)NPnTlxHAB}^hDpP??nx99DtcK&}*I=@=zs_vfkEB=4??Ph3eSXmH2IcQs$z>%?K`qg`W#``AEJbptm&g?IytFt zm*um-2z>*X{$)b|Y4gxK=3h4I-!%hMh8X#bfjXf1;zS8Xseo-B#bKNE26i){9X_vYRCFN@1hr}MxFFY!<3CKTS)`Sq{oABlhV z%V`pL=Wj1>PUkX?B4m=9`7W++ZZ6-!Yd3`!pap2u-^JTHJ9L7tD5tg#7w45ciHMLEi+Og%Dey{2sb;zkC z=5zkofUh<1yv-i0DTm50P7}dSPf=Sv zu$~B??dCuyZLp;+=+m3xt}3d#5fzB_t|O<_<7ga~Q0X0Rf)cT}SQib^>up=q74ph{&}j?~-@slK+me6xqb)Xh^9>#^r#ucZ8gvfN>P=cy&-&c>Q9Sbb+q}wm zX$#t^FhXZybMX<;;6L=E$y@4xaAL}`g1myi@Wk16%`&V{vGb=e0#5md%io|Ud2W^Q z5;vW6^m-Ud@H$IiOK8ys+t^FDlaAizRpuOhboQ%s!@YVn8sZqJZJU36%Z6M{h5&dt zl5R&f>6f-GpW6}GKxKv&-GD>DWaT`nVw6*C_8X!u79WXfkz~M!M<1Pm#Q)V*j_@4; zs^e+Lah@7^>*8*m?}*s0(~3Is}$dk;lfQtyA3DYQx1erb&Y0_^aFrcw&PlHetpMj{$$iZa){TD@;URrDF0 zeL?^Q__DQH)b~Y}H^jKicP*UH_K|+3O{d&YU`fb-mpAMHsX+soj81UfG{tRc=eXTP zz^aJA(!#^$YT8^#1}c)?!@9uKf>hEt^!81@+Lt`NCfet!ejtC!!#ZctWLQ~RSX6|D z4GrDq%M`@0+;%GR>}txmoi<)sSJqVcq5D=LPqE?NZN8$I%ZU%IO4~h=I*DmZy>)uu z&9ho7cPQFjk>Ar^~Ik+A$YAtxGG&yRP>o^WO6OWnEzkxnsv`qv|X-oPi+Jw{RoI5=>}0RQ091&=F{O40qW_b7cR&0P#xJp1j23RgX*gZX(j<= z3>_;*S&-Naab34Llvdh=F6h7p=O64lT2U?Q%{FcAv9f>h6a)#>o1^N@y8BqwAn+sI zsXD)yP?4oD%NZq#E)wuZ!8O#T&ZsD9IMLMAysPK1#!B0iXH=uaLnuRii_tbWK9_yK zbKz0;X(qD|l;Ns_;-*b^?c9dmb2WkX!)Tm>T#2h<#qkZDjH(3aQ4+^7ifiaGsvzxD zdTz=c7Z-ob{^=83A*egbzeEII*G}MlS{4}`lSm})TmW@RxvC2Vb_XR45D0s3^BVNi zirZU=<9*9mR`V#WU&3j+=ecML79v7J!kn6F{dwS}9$_w~xvW^SrSQ`t5=x+^+HY<_ zuPGG8^8q>fH~71{y101v?&|9125Azn04avS4|rk`2)sbRpHV_;ZG@m{Sq@D06av50 zueEvYhJIbVA#%-2T-ov!I!d(bvnge81-yoc$UDb1)yPe#1$!arb{~lr*04Qz0U2%| ziTvI584);H9i}Mnn#ID_R~d`xfw4P)NSFOa2^)X%0D%oj9o@)GY(E(Q+A}XCYTmcf{3XnLyfaI!`g!zHg2Nn3~Kt(4LpaSEE zOmBaqJNC|b;E6<`jDe(<49^D_usk%to+pk@pnz5Ol8KVSVp5PqJzxnEhbGvwCoG8u zafIZG+9QwvRtFLow?^5x9f&+cFyQjNOPr+KaXDce-W%QFo#}8Mh!*dR8sHuLq#6eq zY^+-n7pA>Q*VJ^ej$?;de{ONyx#33Xe&`6d(a>OfP{9qJc zJ>2Y<91gNgXRTptp+%ISUdj}%T=UeMrlSu zn*^$iNQeAENI2l{AtBNk39);Ggvj2dlTHA=&bZn3p~o)u)k_oB@33cFm~rqZ4mfOW zMW)>GvK$q)%e2XvnZez~r&7{t1VDd04%YF3*l!$G2idp8FIzY5y6ht>Q-iHt{yGVCWx zi=Rp4t6+FOFuMr13gGMbk|5|+A4g~hf#CAgV4mGg5e||h{NyAF43s31#7VL@>6!(1 zNfO3-NfH+tEgNprXW+S4GDgh~#_cDaKgB&E$D4%zADQ6E1z+K zU{p}pZzlo7JAdh-?QoKm~gjQarmBqME;%-B;jE# zJ~;HlB7>k8XKd3gew&#Jd=34>LGXE%V~@`r=kYy7x@UH2@CyS}3}_hsBE!%NSfdCF zLQ{b){lgt^(vsn&ZBY;Qh`(&8f%b&*45$W%OK~^&chq#gno8=q7OdehCHT zCT)jb*j}ynW%+6t9#j7-AXV(^B>X4;D?tAnppXC40Yb`Gnk$nZ-(O$2e{%ry0}Utv zcgMsFpgYp)|9b*sBtNSf}pXHEbgfQPp)pf`J%d9zPv@9)n3@qMOd znVZFaJiA-X66Ju{K&AI zd4J|R7oRR~=L?l432suM?E83qdwcm|aeMXY`ahqqFXzAC{cv`9clOtr0t&pD>TZlu zH;#kZa(njc@7}C{wI61l8)WJ1Ks&dyFbdo#3}C*Q-JbpH%o8rWJ~wGF!A;<~X(rq( z)KWcDv2@NB*c*JT_}BfL&v% z(jG1gne68(bspNS?hrQ>k~N~=4>Q;Ikz*pHDC=4;7qxjP|E@|c2m0hEp_|yVh3~mu8jEax`F~{dsP{E6%O9p(Rr_s@+<%=Ai*-PUVcrz%NnvXo;(u1K zDnGK^!L@q-m~XyDu!`IyRYQXRz1B!!sz{YE>_`{-(Nt}{Ig)U7!Am4$nweTQ=b!;u z%>`!4UE93FdFC*#Wkq8l8@Bn8C-;JlckxZ&CZQKNcWY5+)@LAy6&P+Z;2F1p`ebFm zn}}nqHqVXx)Z$=+1UkSs>z!Vj-+w&M*GOrs#B5<@d0cKZ!#Y9J0x^wa$*W-Sz{{%E z4Z~N&TeThIYxm4_*~p67&Xprq{N_cTu{447%Ay940?`Da?_90qO6FYH88H6k3&a=L zmG~nKAS`h7)6R&@c~ibZLDCwN2r$bsOfAc()FgFG!&^<=zoN+vt1n0r=YKPx*&j@; zUpN9h)uzyVQmA5&2fYkfxtG8}G@J54f=pGF??yqyNB}yR&4y?8EMK$RW zulSNXVmghTLa*|6gNV|klK{YbO2@C7M{$S5`K!(MEJ1{>cx*bPhK)klEthiYUN;BL z-q+iWZjd)E?`4oC7U2Z)I)5Rfy2&Z}CK1|^u2Bha?6zW8soL^6DUeVBr$5bJpocz-+=`LQNn2*Ey^ zwVdXm3oh9pxMXZeFeYwSm5n?12F` zR48vESi|~>L)cNYnxRd_fKw!4I7KahZ*(o^K~@4|E&ya@0mr}|g|I`_ZVKLbFUX#` z?b~wZ)pX8`Pj*h3YJb6b`5So?tB!$0Ib?t$R8xrZ=m!v znMvSv}T1XkS#I0lF#B=yDK}`!*NJ*zIS3?8HL= zCOatmcomCI2nTtosoL*M1geLt6`!KJ0&xNc898stCF8@s4H!D|G8-W98TdfHs|jI5 zW=>8z=r1Pg8S8qXy_M>_nju}!5lQ(SW?h`+#*si>%UK&>5)kg^kREN(NYaO0Cz%v> z_bA`Prhj$*sE5dhl_iuDR5DB!XQVTXkM|XknE1BFR!*I7rNl->QtceR(E5O(_e1l^ zxJNb}q)?z`&$=7DY|z~#6n79Vs0eg0Wl_UQn!m|xl(i%^_6`K~3kllGo)RcD_O_ODVt+e%AvUeXCio)$fuc|(Q%>`!B}%b2 zCK`p?G3KoEYyPsr#Cg8KWP!6r#=5fmAkI_o7f?njHR`1ix1u^SZ>qg~Q-?#xp*GY6 z#VYA2z=2Sv*dnvbQpglbGQ3Pe0SV%r52|xuq}U~} zqJJvCYxwA(Dukt62x#o}V)qC#Jj+g<@{|v4r1K&csQZeX##X@mDMkvL?gb)6C?2cI z2VILR(9vAlF5(u0lRexQJ}#7+-#23ReSk>WtsBa7ut4m=!nUd#sy(Egn~H4Ac;Cd{ zR@DADmG%_AeRO#bti*id9Vl=;HT@0*-G9bmZyL#a(xUW=p}334F`G4xTqknNvgZR_ z>e*fhDj8`{`zO<%JiRiJyqNFMyHb#HP#wDfILr$zbUyS0NlN9l2=4X zG-uPs?0|2yDyBl2D@|OsBUm-mQ5FGTkxJE-Nkqh1uL{LaDt+h#THv&c?%MsXs(+yl z!n*wJwNUwOqbQfVwtlruh)8b-86&cNO=P111Nn^?z1s#NySw5MM1!d<2%PsvhDaAe z$vBf|lmQ0bW&{zvA#j3DZ7G?+HZC+F^yr2)Ga=d!H$VRmZgxE>(a=?1*G<(`zF;eQ zO$X_@NtR7@kV)j+e!j5I!A41sHGfvZ0Pk8%fRnTnTLR)kiFHkwqifRRPtflxVd2zQ z!qJ!eN-$_QJau;Ge`-D1um!%Grv4lH%0&<kuvg%&PDldnV9cyrUSvto~>xG^*NM8AGK}DGxjeaehWPkhO?*)*Q z8of+?tj2v;RhZRr^pk}RiaIbcC_K`Oa$ofado7kdlX`j;!NTTMzdm~dnKW{&DJenu5AG%;LBFPUGKa0|qmEbquH$4?-ykeLtFmuFa;Jy1Kc%p3Q^MpQhey9!CE3!>h&5ul`MQSF<#jzIuDPoXtfN z$A5?<6yseimdnf6^X0p@i%%aHm$Tn*emuLpIs4;G00sU;bT@{H7e#Wi-k$yXyFbZc z?Z=7lNmzQYnA?d8r57p*a4}h){dDFt7k;0cME1B5GVuH`p2X7kl9bswZ%gx~Feg*u zS7l!Fhbh;Lt9R9U;~i7kXK>z;8G5lFF@t&5{BN17^6c>+Og~;ukSS^W1%4ksTwE*` z^nF|Hw^?(VFBN%7pn$^Ei@-oFh4Tuxym%u3Cjrz*Sse>csu&KjIMv?V!M!JV7k^+x zVLIgf#l-`WpbLHh*`e6-q+#Lye^A^s1_BvnmEx*0dwr&qOlS#O^>a z60Iuj*gbFbm*$-D2JR6<+))ngH$U`qJx9FBT*eB*l^C*qo3%v)Xaa2^P}7HvS#JOY zGOTh%%>2Ma-DG7>B<3`ORJ7K;0FP+j(NJp;N@J>$5UntA1DzFHdAuCqGk=IfF9>DF z=WSaQqkJkaI%xj{@jxMyK6wm^ahwYCqlS@}3l>QmwQ zLq1Pxp|k0ioPRh?Er#hx94EGZ&axcz^V5L?JNww5Ep%3ES3Rbl?-Ch}8*{hO`o|n`5y*aR1Z4{!m8R|}fSw$cCiW;=)n(0=P}2lh z0xwa(Mx4y10e^t9;tmSLX0xSZ3}4aK+HKZdnt)HkXSx&7QyIjtH)3Wb*@|=R`|7hT z&X6Hp+|rUO*${red{4`t_2WzkVQpRn%mrd(Me&sr?Ot4gy)`5EsXxAvkH+k4XNPx; zFhhr}DRa91%XKXyRr}%g@W5q1-gSFAJ#YiTQ2@isP9eH*2UwzHc&pY*kxDTNRALN?x2aHRqUsDt)z|vHrTF8Iz35NqKm~y zfi<2U0e=^Z<@?KDzHL0%ha}UDy%T_ywu}HoXeelllkyGS%C5-Pnr9xsVhGA;DD?vY z!0316(oYlxt35>}u06m_1)qz)XYaO}8;QW39%TyQy)o7$Q)LOVC4Fjxx7ibTpA{xI z%_Dv7AbwRjZ5SLxFt&9Vv*$6CO`LaN5maA2)PLR4w4IABoT_NVzR;BIVRl3lmK=U{ zP)>*;?1ivM9;)D+oguqc+?R*WTNMim0M@pJudi#}p!){W#&26qr30Ue0x#_fb@IRC zMp;2sn>du)iql#>R!Bp=8buB@FTs%4bJX^q9Ey*Qj$;oD*5R{cpihvVpC)6bO3p5Y zdVgX=QiMGlLJW?$B6LAi^mPl<=gI(B~5 zt_o9cXyv`;=zh)Qo@1;37XtM4|6zdM5r3y#R6VU*C~XD3v=vOq?!jC9;Zh~eHN1e~V7to5$p>v%lrJu$dq7(CB={Iusi%+axsgMpBPPRPL_md=AH zfy;-gI|yD$61+M%3(oZfZwq`DHLP_0f?KS=;Ox*}aEbiIE|Q1fsUsc&sC^FsEPv}E zFpVBEk_}G#OVIO|i>mFaX>GD(HS{jDS#{zPmlzSwW_R8sBzKc+eyCfm=ExuiQQM zi5US_<-N&ydp6==G7|k4%@@Gw3x7@oyfRD#)D4b248&f1c*McJLZtpw|Ir#quF#*+ zH=J(Pwh-|HVvAL{98BdGDJfi{&M+gxpcw+_{aYp&`Bu-;Uyt*`*m@*LQgg>UuoBJyG>k6eEF z+#I^xW_w%xOM16}2BN(C9)E=vOy7aH_p@Z$uA8x(B7FQGAbnO+@kKO9DiV^4Cc)Sq zUAkZ`11`&@be%v|o2If)vohf39u_&{NY^vt+%{|AH0$Rgff7@M!w5doyRLK>f4gqk zRtV+MKTf7x7j1s{+iCmFw%9!&W;>2qyS)J;8LD^eKVN}wv}yF5|0sOvKVJ3pA8SYg zo>XimKfGI9xCcj&OQ0aMM3C>NV1ma~{RbaA{kE5p#t0ObMqmj-e_eCqw(;G+LT{mF zEFM9EB$z%qiF0)>^<7TNWZEPT6a`7FB~lS7$-ZCTUF?EirakAGcKRYLfW>0JcR_iR z&BU9$zxr-*_3p<+OcFPV{AjXRPh#Q9Ku+Swccn}wi`C?J=lj3kd|KRop3eNxa}swt z3nS0@$Ibn(H$T(bf2V2UJ2&rd=hK-`ag0bpGTsmO^ZD)fv-#co`+t4Bzn%WM`046) zarM`g01mu~Xl@LZ8%4n++h6_ur#D%_-cJ+H4H7lE7|i`dhJhQ(0N~wZe)Y?h*Ofxa zjuc7cBFVsWRl-92w$%l2D?BHq;XywUkXJOW%TuwsMp!v{Ud@YjzR!yd!Fye&tF%u0 z$MjCC5m#nybX#8dR83>GEl)dhMmS4GI#n9(2L*vtGa=k042kzN%gW;v z*jf=UA>V`JRuix;cf0b^>>sDfIqh@>RtSKX!0eXXN<^K2-dZAVilV-asilTb$+&D!JNec zC}#||f3#w;aHkm1v*INEJNk5b)=r#1ywEf8q&F$W6+{Z7mg_NV_e}tnMP7l7pc%0j zdjAuzQ1+?b9v*>#SI?j>3Snsr5 zRmLLL-ASl7dG?f3*}%C+)NJ)~|8c?jx#RPgqmOUY+jZ9xgE&EYYim1OB3N@_TPXXg zhZ-GpYV=G-uJR>Fk+`wX4nJGqk#|1|z)^r2NkkRUjD%SC4NhI}hIG5NpOJgYnICkP zfB)fmK2jW)`0+L zrPt|c$9Uv6%I?NiC9!i(cPBp49=iIM&;=eJZ0tSCzcd)uvfkTRPgZZ%*_k1z&og)tP?GtJ-KDS6MMHI%r2t0cN#pK)o zQ!JRdBygYBa9vlFsIki4M2^p?e^VIM;m9e^=Nu?(M2KGG`<+A~#u9~q-j*>_ns*{o z*g*72DAUJF=dKvssL#5n8*awl4xFZG$jSneLXc-Q&6m2qP+tubzR_#cXzDF*c11Jg zxVjz`4S3Q3LRB|!g69SM^@89_H}N7a2pqfhYpK3D(2@7kF)x^fs)q6me}0=W2Wf4U zus=|Zemg&>ujYsS=+}eo)??=$Uc&G2C%`#4_%@}^I<`qpS{I+Sxej(y+Tw6L=jEx| zJ<%58QJb!~-I)bm;`}zn(o=57cJ8-5TRIVp|TX0rIRq1R- zRl)A{1Ve=w^*pa#GH|7gm#bz89e)i>ht-LT^Jw2D+@NK22f6C?&Mk1mFzJWST-Vh= znw4IjHk(EqL-y@~{P@3zCQ%W`wAuB~3{*@aNA|XaHnS2Iv7wj(%#R+N@C$ zl>tB7ajo3vb$d%%pU5y3t+kC9&d@z(V?oj84o=nl6$szGi>*z_cC7M!zJE)P&%Y}@ z_hJ!-pcpyuVi@3(*+cbE8Xe*JCtdw*tnKo_1W^+PUz#e>bb?fJo?jio&2e+EfRJ2` z&<{K}NgDoK^Fn|14dTUa7^uE$e0i&D+%-)W_3D9Lx0GLP*kht&KX@ay<>Q0P17|TO6^NxIxQNO1v z)$_A}xfR~m23DE)5;=}K{%dy}OZ;rS-6dL_4?(prk!~V-wiAivg>2MJYv3Ijepk_6 zYm+$_+9zL^cKuj2zdpJfAqyiHTuqa;#??D~nh{XvF-R}r-VCr_b);jYLWppzn%tRe zeBz|nP_eZu!Rp3lGCW&f6F~IM{*6Cl%EwbRxshk%>1Y>YsERB!su|2D&|Zg}HLnf) z;(%w~4U0K_LBqSXHP>Q|dKZsNdT@Y8!_E|(RT>okJG+!xxS95<~jGPXEq_Nk0%Bp+|Q|^Sdh~#x)d?TD$IeQHok-HCElCD>&M~7 zZxgrV3Z`hHh#_F3S>{*1?1)iK50&s|A7}tA4*0y^f2?`khq9Vnmq{)<%fJ+gM-5{`W81 zF0_-G3a#2O@;cK2>ZOSb^4cYDWrv4h(Z4m^r>SPe>3b&a5WdN4qcNlQ>Qr)t7KzJH zss_iNBc#4Ya<>`7u-<3hX%N^7wU>^=iB29`)QGnMUJ)<%#GS^iiJMOQp+KLkP5u1M zXcBm1(MM;)BUZBw#zyKN?B#{WoHXVxAj_@;d2EoRBfVptgM8ij(F#NN{6N?pVtwl5{=Ic&ZORutu*<%F>?Y(Za?Eg%3P9Q1Uxgft)CzOh zkoUQeKljJgFuX}*fh7Ah-%|Fzb#(ZS;$=JwF-ohc-NCRTKq{}R3tNPft-iINRcBAf zXXh|pBCINKI{!?gu-Cy(Hm6>dhGjuxUtOK zs$*<98u%2A0j*;a^cBO!hr2}cbLO*WpM^#uJOm>e%PL-PphdH)oo{3N%ncTa%If*6 z>*+PRNJvL1j_9&Jx7W_!xtB}Tm)BWexbeOOtDVq_ube9~Qn}e}4;w#dy}bbjIg<6G z1xJGD=ogIJh28IduRBuFE&7YQ0>5FxiMmq$ViD-q0i`LQ-F9rb&Ca4Q45G#6{4 z1k}b(IkW{XF|ND6RKdWJ!b!b{zsf&}HsR6&RN##vXCpX@lUc1u2Me`Ub8Dzlr;s>7 zO5c%}dsc6Hk^Vb&OhUgw2+F!(G_3`put6{=a(+A*l2DP*-rT9DJu!;~y8j(svazr< z02m&PGop?2grNUyacQvhFvu_{7}n{pAVW;euXv-_imv~K-Ol?4_HzASVBiqWn!|p} zqktjFefMZ@+JM5kDW%MMQ{w?84m@MYU9YqoeKdW$&K~aZ$WwgyZwB3T?q0}O69VOM z%WY}ZtGU80Cd;eKnXS((W+oDuQL!ukU5RLEk}m24@$tdVnLo9kL$ya-PnxaYte$1L z@oW4r zWcdh`g@}B=($ACA^E0kf^Xm()IMjr}tznZIejFH7X;7!#&Fqh-=u0}}5yC=p!0!a8 zpx@lixEuQVzTI8jUqqu=L!U#Xah@xwnyp8TA+Jv>*B0X7ye>1yi$L%tnBsorS!)5) z`r37@G>0|j2g8a3Xp zV3kkJ)|_~nXc^+4JtFzSqjlOEy)}z#ct4LefX7*GHt}4Z$b!W^Rh%DGQU@zYM_6GD zWz%B)eH5<4(x?!lPC$Dc4f|w`Av?yhdoJ~lE*4@X2Iq2}Go5BH^}Pn#R=nnHmSNv` z`QFbz5`$Iq2%_doya%Dib+hGS)^2~7yrR}ga?Hrz*K?VW)7falKRTQjfv@_G+2RuF zf~S8^#YTPwTt(-K9s(scLC0^UHk)9uI(+R?x3A4D598lx6@U*N>PVsMp%zd^d4*p# zw#|xAy9!GfI6)fv;OsA^>3EK%6?Rb!jEBW=>`UA^VfP`ZQ8n^&)0B{zn4UPX2UJ*m zg?|DrNI^;wX`DmXoIXD<(e|kJUY>!TA2;(DAii0am47A!t8FTAQym^e`Dj#Pa0XeC27rPo+w#)HGN?#>4x0|tI;}(tiP26t_p5`;8Qs!(6x=e{aPT#e{{5tm zjQOK!7Zz}3kc*KY{~l9+AhY11I^d|FHWXPt`wydjP1q5N2J|!C^|kGE@V)u)kksyG zOCt*AhlJsmqvNp~Cg#@wod`+P4&o*}3a6MDxd$r(Sb@QG>GO0EVQBn443+NS>L3cA z!3EH_*xIqhSSKWklNw+T{>KO6*R;9iHns%nive9GL7TrJN7hg9g-KHwk zPd6S-G65m;_m(_*5h)eG>VgqlGSDr}3MKNtMSt+c*HR%^9b{3j@rkO~nG7|)gibna zOR&Q{e7zV(GA(%!i`@_s`_aWD!Td>kvg=oDLUYAt)Jns4Jyj7`tc<)HM6B56j*UZ1oKe4lMxW`R)%iEzb9FGy+p_r z>u8H(KUbXc!C!h{=shQuc9g2`vN5>mw}6BDgn*RU-h(P~IVxwh!e96fzi%QN*=8mB zr~&tegF)pc&##p#y|D{;==EEl$I5JSI;@4O^e`*{9B=?4=B80gHxswUB!C-J_#^kK~cU{5$=0Ng9o1I^`=$H?Yn`N;_)$nI}vkL-IoNWj<$kA zM*)a(nH-VpmKH??pejInAEpw;VZfX}^5(CkX_<8Onbay`pegQf;$Y;nLr`3m03UA@ zh{4E8)K6`eHs)qnDg|L#O#|%Df0Xl->b~_K_94a4_oby>eTOkd!zQckoPk3x z6dcZfcS^l6-}JTrMu@PsIaC{C{-RZf45Gtp_zV9OdB4q5kZw>`W3`=k>TFhdFYV6W z5edi6D{S8CeN0BP3lFNx0(J_)HCrHrmW^D~1~%=eBPEr*2IHlloX3UZV!;GaJJF<* zk1`qQnwuF=IFgnrg5!$z2CaAZ`vllDUiD(!$^itnaR}#bAMRVEmrm?{4~TBw+9D%# zSNkWOI~9$9#1>76Y2h60>J2V_nRsDWVFGsNV)O6&Nwv)Mt$e7Q@T>UI$z}Re3)SNz z5CuSgG#RBF3UB4tr7!*2@EhVwA_qf-UUL)W7e232KD+41-H=GoOXUlLeTJB?Xb|=jFFpGxEMmx2M`&2n%1ozms^LA25m*d4~jph zG+fZrTUF4DV5xIzb5*fDJxW^1f2?~BK{aQDHH(81U~vs9D4wrzxTRV@g9yucY1y9Z zJ=w8K`!W2autUT$H*sa{qyi*$f3$57fHtt#9B*EF$g!2`h zv}2BA!;80=+8PCI=+|6ny@AwiF%M}8wQ6Y?96pIqQ6M-=#HMWcIm1)q-1d<0cjiq& z7WLOouOo6|{88swOWW1RUwEn#&mko=oA=*LlZh8}u@4a43~C1QlAypS3Y2_qnx{gM zKh6ql@XUcG9V_)B=u6G&+SL^`G%bwSqQ}v5B9K-(>a7ELg@4Plsw%oSckFQP3zORq z2Y)mc2E>IkGX3>3c(gBdMwbu4U$}s44k<<@cs@ar!I>%?Y7heaIUQ>ld2#8m_jZ^(;;<}a$~RR$<3o!_rEk_4 zcY&Ic|1y-K^6w0V?LTdqO>JGrMM?B;mifBHaBm6^R<1bv@(KtU*CUvF4dDCzIjaA6 zn!@aS`kXT(deYT{?}YIL^j z;_zRVa@OqWb-#k*4mIm1Mp|zPQ%GVAnngk#X<|91r%ln(x`WaF1V|+>8P8;s+#~Mg zGFZWlR+$t6_OvOt(MCOBHSTqH&q2=LLJDRkn;Is&2UjZmuDR_`xWnC+PqcUG@)&fP zBO-}ZMmAxcrGx2v##WOgBfo`rv-}MqvRF?p!ATN6Bwmq??Vg)fhow5Db->5KWxqga z%bxx6>e}IOBpJkorG`Q|IP2{0UpTh9{sx-idD$`pWE7^M9SWcV)1Y8U34vR-PEHvj zHJrxcdA_2XgHTn&-iVwaeifKZF4K5gb-R`CAQUG0{QQg{Mhb{!T<$pP{u_?Oy*Gl=TFr->SQ`A+A4I$w@ULEQ zDI{<*V$UNX0<%)?M16cf;*yUbTeR`_#>?>u5$Lu*Ri;lZ#q~B zY{90{I0LX>E#lZSW`)Y#+v{>S^%R0m!QL;m8yV^H$Ra^Vf5t%xJ`z|kAaTllC^i0e z*u|b_%&^6(bwBB~97;}PLnTuyM-+2UJgLYC!bK-_H(G{EoG{6Hcu`vxo4z(U<(%o> zlme5M_OK$_CCxw;{7n=5!QPPwz&a`g68zFTs$)6jg?_KgHcb*f*5`qc1~0q zQP*utD9V%rv3nFZJ$lg@taM+)ZY*j0TQ3?HwAi9dkC1H^0IrZnBbq|$M||YU=>xt z6bAZ0nI~e7=SsNVnr_U#H#^1HqQRQ;>aP#*12v_r$}!yONYvfkARB5`)z@C~!LZk~ z8&DOHS*|jH4+6^rp*HSE?A4;FqjE9sCf)AsJ*#uW>ZTJ?(P3ssb?iKE-Hdtiy3-xk ze`(W9ih_T*eQtK|&&SS6fdfJtz^i?`pRD?&>i*T)@YE5WXfne73)x5h!M1Ep%O~}X z1QueTD7YTNT_ly;r3HBrO1E{BV12%N8^0Xm*n5iBTLgcmomdF0IAqF9X3}}1Z}S-8 zb5J+%aX3tz7TUA-4-Q7o$os=u1eDyq@km5RIIM9>{*fkk(J|I)3zQOQ|7rhQ zQ)xGs59++SPSepnBXhjGQ3|avHZLiJ{{65F{074GWK^KF{lYCFfS)6ja?c73nRWBn zCQ+=sej6EnVw~X@W?81~8RWCIeGruv=shmbjv(HBju_O30YCmyG^n=FxBEze3JhsS zl3C>U1EP`(6?^Lq*gmvIGcfdRcy}I}?-xhuY~c^prs?=DPP6`-Q3WuEjsTT!EEOp7 zZ2tJ8#;gM3W{k0=y~nfBpq_@FFCSft`4T@nP0rD*4;}h230;w|jeGL?4c@aHRi5h34}lOtDKU;^*Mjp)tib?TJTtPj5?}z2O+1(@$p*&4 zb(;w2%dL0WZ%fulh#M=)*q5itvh`fFC^>sLf&0LP)Km+UzFBR5yH*Yr`xodvKL-mV z_*MUaOwY}!N!SEYpFc|aljs?b+SDS=R+oj7Hva%=={zz?TpA<-cvi`}W{q(eDLeL^7Wl|8ulxX+V^nUtW zGGubRa`@yi3}Jb4cB3hiuM@FRUpcyh_H$^S%@Hr~0e+3v{{+VJyq zcJ;hjkN~l3$AY)pi>8RY{&o0`j`E?X@;h>-yq)xEN{hi73K~iPX?sk;`fA%ToohUf zJ`QT6r<%KJ8E1y37)c9EU;<^uw5%6Rf~_YuK{+Q$a#+#Sw{42@tM-mjLK*}GM)+c$%umxP@O3(yFz<~G7_l_CE;F`?* z!=RDd+t>}fkiZUn#9(ni?2xjO$fEcZ9P6OXm4k!-Bat=~UE1CX1C}zvlHQ*|65c~< z6a$>6d1}qR>{*6stpJ`s5;-dYo4fwjn&(fFhDf%Kyx>?qW}=92eH>0rQj@BD&9gN7 z$8*GbY<5ePB}hSNkOyy-7rZhZ<shS@+l>Tk7;ldtito<~z`t;)5v7nb7 z*oG-49t%^l@ux^CIPju&Hf(lL*R}1@|ty`34cZY0d9oM zidHA}I4B&AJ;)z|9-zZxSfmtSf2iBsm=t*|1L#B!srXnWI7Jo7jfj{P8^vrohyp1MA}%Rj`4l8Ew{hnbZ_lH?N=;LPwb;sObGQhMdI+pP2V9H0cVCm zOR*f>$$V?^33$~}e#vmimQ)#Z$@#I=S#w{LLO$uYmY_mlt+{s#9_w8?8Ien1tDYr` zq+uUB0`jC>s_&NtgcdQ1iwnq|RHCOeOAFlm z3bfZy;#u-m2%nXUc3pd_SX=X!RrzOH?qZ1olGh}9)1+?=l>E?gc!jm^fQcy_u~)Z4 zDFTz!YJfVyb%kOg-K|QDt4>UGmvq4<%BC4WD?~^dxv4U=9o>V&n5raVOqGME->-)r zBh*>Rm&13Oi=t`;`Ts)jlnAY#Mal61fg>7U>ys0GgJV@%}uDQ$LOn z7;G50I4S61wO68nP_0PdbRbeDj94&v#t(3tJ94_0JDd5z0Id*Hxin!EO;z!d?RBN2 zB`L_pp??sEYmgz{^@bl_Z**BxlgJzp{nfxISzYx2(nPW_8uc0IBir$=i-57iq|g3S zRe1?(ZmzO9MdFwqZ4plT7k^)^6+UPzmXXolb(U4IwDZ=)W9o+l zS`A@&9SsGrCLX9w5&LcKzuXDleeJ5bZ<+%9)Dpf~wMqmfB)Y&Wa@NxF>*Zg#I8s zrrguPE`t}!cojk7s=LGvSH!W+a!+s_hMXDyGHAK{x0}P35&`WpyuP2Fn0KMK#+2OY zieMSYN4YrD*+E;;O~~7#*{X`*R5N+hhm-sm7^w^RaF^hbL$fSGSOq`Zz0A3 z^oN)6YXh(4RUofQf}<-T$mEnpeHy9QCjGd`Pq+Y!oKUH;8BJ^yobPm*z=Q0xG?SRh&ng7e3#&;j z7X1l2N?ZU!0V5%32q6PQb+-OQRI>@rV?`jTIP?l>Y7A|anlK7Wm+CD3UB&-53fl#P zJaRqm$K?J#%lBtVC^BqO!d;r_y$W-V<&Ni~R+t8ZP_I?RNJx$d8SpZ+Xgeuqj}>tIv( zD+7<~cV|M=z$L#c%b>qULckeE3&b0NTyPZgu*=u?i}(5Vp8`G4|7JW_?$%0&G8v(-0`JwS(T_kXQSV7&L6_u)??2EE7+jpn0M zZ|ytoq#4+LhuJ@;ZsY=&(oU`UZAw)JbcY$$moF0fUuqv$YHxodmhrtD0olE(^aQl= zaxqidY2%~XTVwx@dhX=A=g};^@7&O+8ZK8hfy$?68nsBK8EKDVX@kmo7x#%KxR$mb zNmwOZGlXW!z~&G294fy%KTT@;`hU!^PB9YIM^lUwT;_TR< z{1>AV)3zUC(@8VqQa%)JM~yzO++l%YU?KILn){EZcc4-AaJqQjL9DGvcy~9%mEQZJ zLDowr(gub*GLY%O{iZ1SVfLe&E0S5sR)$ zjU(5cM&7FA>cxo@$B%>ll2D#x=A%`5$C9|=4m_cOj19bhvr*&K-a3(8bPmXA5+|@U zac! z0n~~G3BURQeI`0>?ct7IZ)By(rN!cZcYN>S?|SpL^ft8AX)89Blaupmilhi0OYNYp zkwif~6rsPl^q0jhwX+J)b2`l&KCLCU20A(E33_P+>X2h^u@&A*U?m*#%eL`mU6Xv11MdW1a zVo2Z4KxSaZMVe?2?O?&9FLt2oo90KQrX>=yUPbC`_L!gz&)rQt zx+*=sH|2uF?_=Iu*X`)ulXZz9ZA`DV|I#+lK_tT~erWQD6W72-m5ZfcqJX1g7?{*P z$hgn`qhC}=?InPG1swXGDgaJvXW7_rDY?RO+kuXOl=F$%3*J*Q+$z&SUX@{_BOj$! zH^7jhu_6%v&z#UI11$`A2{C+`zQX})4M}RkrK3<~uThp?rUuqP-90zr`5pDIO759{ z^0g@#h>6$4*xqrNA+tsqljb~I4WK#-6P@-kNoYKw^g*z^?51Dm!jp7Ozr9MAisbGG zq}uSB%IQwkF0qzKQRl6Fv$B!sm1!1v$J6p`pH8fsqE?1aiB!LNGXg?0XsVlG*6G$? zq|8=FPjI?GV=aJwpzGp33u?i`Gp?-21=9GYZGv^0Jw_fcH(SJ2_|o`R6_C0A0zZJ7 zaKGWRWVp=AX%}JAUA2!t7^9kK!Cw1BLyH3<|I!4C(Ls36;__Z=L38t8F$v#nc)5C! z^#Ssaz$pG*q430o*^9NU(5N~C?+^S?N%AsJTCPoee_H_<0;TefkjEL?*FhhetY9vm zH`?jO>y{UJoU!!_Z-fK{KcHOELR~(#aqhj)jsnU%p{UhTn9}BI%5Fzw+B!P|+})5G zm7LXRt@8s@(i^LK`*uq``*^vFbaU2^a7sLOF)xdtafpAfR7{0#cd_8mW5sq@X|yDh z$HGBF@HaIrxXDK8R<6C0#RI)q+Scm* zyeToOzD#026(XIPQwMsG-I^iDY11X<^FFaPJ)z-GL160m8D?q1ri8g3js@}lzNlz? z#mt4iJ5HD35w9RTmI9l22*EOH?!)a}n6+MrGJW<)W!J7Z_CGg-;PipFK7(D>gO9RI zXZHaX1VW=-b@rd&kugym332e zArdRU|GM_6QlJ18RB~xT0-@hy7Wh|MYek%6fs`bvm7oARV55Y*$=E-WF71${Yi^y8 z-)P%$SZ8)Ojh;7CFBh+;`z}M^r$c7#0P+XHtnGKFPlCryM$^k|pr3oIUcFM7AdIu| zKZj`{J^dQS?)Hx7x1R2vcAd|T&&P8czsGf)V2oMFGfQ|<(qgTm&c<9|aTNS;x4sgo z(eaq{CFVEZkn|3m6;@PdBQQ(36OMOFfn2iFn4O$HfCqv?*{-$mH4p3N9|w3kjCir5 zI5=vUw}PaFrujI1^8&)JkA%H6W)ymj=mc(`QiYP1 z40xyjuxZ=VVu#QibMV4pURZR9T3`eb0rQa{P}s0PBtXzYSS>W^Z!$Zjk`FU2uY*>f za#||ZfE5DW8&)e3L-1f6h|B9046JtBbiO6H3gaF&O2@Uf=29HJlf4>iYrOC~aw)sE z`jt9`R2F3SRF3_D{TIuHSCU9>yp|pS>1Ee8w^{?t zIeJbWt5HbfR)N>Wyo5}zw>}+~tjuCuaBWK4O6fHA;?I`L3cOyCc}S>D@ZtJ5Ek|Py zvY5(%M6`^!HFSKw>iqJ@8SKQ(vgF^-bER)<&PMgpcR+rz<*m@Fv{C6S`DV~vU>%fZ z69zjcA4d$T|BsR!*9_^i;-qKYCPb<`JmZNQDZ?-5kW-9Ku2?BT)JH9}!RQ zT7RBo@at9g{EmsDp6)@qAX#9;fl6;)RtioL+Z#bMxE|_!)(EWAfgNXu?c9h$xuZ@g z=MM=vswDz=cx8Z$jY`hO`l?L<xATxN07EPXJJVt3%P8;u9F=|NC5i~fz6r_W(bGx$TQeF zig3~O4IxRpgw0KY$Ye%9K{W4_Wm@cL<5FSJPDqqt)ZtVkT~#VA>KX`~^F`GdoQd-_QraB~cyya7AU^BU7vX=s?67#z**pIA za{6tnc_zBbRyKe>E}zsIE&6P03DTYdbUplL`yWJ1Gv8~zLDt4Vx6A2J|l&P2Vwud-dZ@Hj_?)LI;*1*%|a=r_h1i(x!^bx_LJhBGsr z!pm)q)Wbf-+TGAVs`;1g8#UT!gFH~0MI&_=Pg+Dq%5Wv2blV(mv0pN8ymLP@%{UPj zPVZP5{>mG3QH#b~cUSQRUZRB(?2PmN5NzsQ^)i=YaVZea1)c;d3p3wn#I65HSC*vi zwQcyAE`OSUX@g#WT7EuO<~BtFLuobVv|#vDB=PE}E4>9P+D z{vAV%uY)cvU8cT}ucl}S_TMUJWm8tPX=S`cFL-3@Hn=hdDlTpL=ldOBKK@;9{muK^ z4F;EcVCCCUwB%@uWqr_LD8qoNx3?YDa7 zJk5{4o2h}CucidKo|~QGt@Az%FKw815{s-td#pm6zGY=Bra->P=J-W?6`~})64OwL zt3`SL`S^Lb*Ga@!dwrKWiQ)Yh!R{}fm|4C_&V$EK;8{+JmR+pUR6~^UukH#(xJ*%N zisG{$r0~SBxlTx+pBruRP!d|yiosCfRmk!z!NdRR?=Dd@>LD3P;s%D+QK|ESBc0{i zri!X$v%BL|>CVEKs?)wDf*S1y0)wI~MlOYa!Z2ffW;%*IN4i_#Bhws(9)D-;Jb(VB z2J@?hibI*SIW99rPz0`wcC4w(&q9~zgZ6rQMLvcq-jT{(T%b`-)_c0@0XoBa;n2uK zX_oa;$3H-a2s%2?8#q_0UN_YyK~t4s0l1*8sdlgc37Ohgmx)hsFP}|zr8lbDx1wf` zR<3;+y)Vx6hzO#I*7x;6VEX5TP-8DK@*EE1Q{@v^>ZYUiD%4Xd9VJhUz~#hC#V7a@ zzNgrKHF!h-;2aW;O$gC2?12a@QNZtiuXnUoY-9id6f(9qyGgf`c6^r2gAi#%a_;~6 zO0_TnkO=X&tm{r_8?RVTr+be7?fHoZK!HGIyy`o4j=b!UV6iWJ#bP#8`~9D{h6o@8 z32Q8&^#vB+%dqvoIs!&390i~aGL^*}mIiq7|LOr}n%7oD5a7g^Cf+WnRQ4q@3xfj1 zgh=wDs3RMqDh9vrd$4{}kA$=ZYHY~tCz_*z^gIdd*#DeO=bQE7@bcj0@urC<3ouIK zDP;>63kW@O3IiqS=RwGdgPs8j_H7XyyT8pfvqb;|_&U9x z9t3}4q0!$HPxkGuotzb>!u;}?=rbT4Gq$rppLN$A3z=z!Sy7b^}c8+`sCad?s=OQTonbj-H+vcA;lRXvpr0X>% zAPfT=K5Blg?o9FLttL#1I@R>gFbJ#Q>`U5k1-*OLxQ=3vNs{M8 zUjjja;1_M#_qTpKL^lSMMcpGoKonzKHza-bL$wiZ#bmnnJ_G|4l@EUn`kbc3s>>c!~ za5h0j)Jcx=T7}PeDys}h(FOM%)~73%UUce7CA?t@3YLwSRb}pQefmKr+F{+0a=5kQ zmh+mJt^h+1M{e;D&UC9dDm~(Wt_x-3-IVeab(U%+ZFr-sGGiL;Y>A9ulIjMY*oV%`;G$$Mx-qVwH zdI~MK;{&C8=>ljj2>~oKxIg*FgamGRpS&wXTU2XqqDXvY0r!f=kYQG(^bjo#p0L9` zTbNtl_fSo&_X?U&yt5=|so7OD8Wu7^EY7MNPO&T8eeQyIb1pE%BfLIi#Xj^byhMGg z8KqlwOUlP{o57GC?!p9@;{0X#G;RGkJ((%fF-Toi9FgCb>(Y*+KfMD2EEb`3p2~mM zGCTg%3{gtW`VVIAxfy(O?=4|%wk^<}y$mm*mAR45#UT4(3;af@Sb@bAR6MM>!K^}= z`W!6qa%|AsOf>a~0YC*D(0eh@@SF(7hGrzPYdLdhMtVYrgNGnLWNc!wqrF561oZOY zAwzT7M-xt)($!7S#}_v!z}J{9ng(bx#%o>qM#1zAX+gV{r0P?D&07pG*qf+!@htFD z4;RO>;YgCr_t>V#jo}V>{XRU+k1S-!wiP%sUh8^+gpA%1pbP{uLJyj{1HYS=-CinZ zMh?6a=8@4$XsOkqJX6!sa1F5MlF~Zjx3V#5rD8?&3INkn-V9b*r)`tuugH{A1(m<2 z9WYD+piw3UsJfC5mDNeU`?Ku(u{Pzmui?(RLq#RRlfBJGJnX zsGkQ@3XLllcUf?e!wLgQG3nSAaN6|DIDWos(%x|Yjw+g*)P33x(F0W20vAduVT9t? zo2Dd2Nd}n`siOx}Agf(HV`bF80XX?0nwUjwLl=>}Fp$7mHtspt4&S}O9dU|Q&f$R; z-F#YP+NjF1ic_J}Fo?r}Stn@0W^Xt~!qpNc~plkoIwY9|t)*@IMm zlZrn^gq9Pl&ObctZOtL5v-1Qs1Qh10_aG%nK8cRN5+<1mCl9{{m6F4Zy(pOwsGhjQzIkrGBrVWYy0 zEqA6WDOJ}f_;!x6)C~s3chlD0980~PoY-Le zZ@=o2{^8#k=o(zIuIfobDAk2edA}NOmm36(nVNuz(^whvqr^1WCn3s)g39J42$nw= z7D?0^k*oDF7id4rxfTy(4Fs!T>&q+AFX}Z^q<~!E0LB&J=~-E-s?%ReLO;69;Hauz!Ke*GHZjdiY|i|977VvjCc)U`H#W z9+)_CQU9;#jMj?G4S;|{_9+Tx46}yT7LmRYqhrkKtlmqsi1L}dw7n(ApVPyUkD-3a=-0ABfUSM3l2Hfez4hXnt8;$;uG?Q@}E?yNIU>N z72y})Kh!<&LRVjPog3Y6ruLfbTt4K%cr3%OfWfV`(Y%x4ZO{T6jc%u}UUe;SzTwLc zV+8bI^_TgEa3?=An%!E*(Z*S&Puw?ov!~wC#m>@=(N(-yIQS0~_gE^#-~gjN=3gKr z8$5{FiPo=Qcj^oX&y1%h|%q>9>!& z;l8I&`0PIDBdvL79Ye;NnxK#Ny#6rrie zR$!OfJ!9dRpR&(P4i-rWp$PjF?a3 zI#M10m&hab`b(Ck7H^Eb^1Lmyg9Ua}J8&Ou7ktHF zFiZ{^{6Q|gir41aLx*hKP$@Vy$*rkb$z+dNcW6eE9;IX$r$ejyWQecf!tMKI+5lp0 z`dLwQLB5P!fkW`fxsNa@&H*UfjH~Y!l$_5%bg*AK1?2X6zd-X3Sg4m8(L$B|O`XU3 z9kc~qq2fe$+U@&OL5cd7+7dg&HS-EvT5&n5-vLPH<=bau#U4=`a~&m$nm?So2^o)8JaE_9|dUS-xWz4vInrK@J}hXjxB8K< zuU;*!3;hK#jX(j5Cfh7D=FGuaK;P>HK7A0X%BAo1$m!wSaW?}*1z^jGi{fBJ=aEAW zpke>_L%J}`!Zq0g3!}yPxd>PvmR57;+W#{nP4D+DiQb-7TkUi>$lEP#55~o$(XF?& zy69tRjT=R5t$c-{cX^TCj%jEiDjD_As#4TcgASJ=ZWZ{ZvSC(D2c28VISJIwA9ral zV~g5FdcTC9cwVO0MVOVu`tr>w9Y0vOb>IkvR=r4vZmw_v1$wDv7AbH9G4CL2SU1uj z-j1Ug6EX~m7nj1BYB?h*1?fntXTEm8t0EluVnVem*bo{<+!QNNo2O#xiz87tGZx6B z-%VD0{<8lqD|EJt%Rm8tmIa(2jk*FoXWe|WJ*yf!ZKP&?>hfj<`if~$VovSVik4`M zha~F;5r$@0^LNjr#v*8wD|ro;{JRY7F|jX0Z#1mTPH!)A(2I2=%Xs_jGyfXjXi3i;K)^~hoz#(oK zSob@BCDi_BEGHc_~(WslwJgsB7l-+k(gDG?;Pq{akDT6f5HR3pgO6GXe5)IH7ZF!YjHp z&Rt7?d90Uv6V`XgCf{w8_yQ8?(e@p5N8BmwGP8HA^Li_L7=f9iiDRZuA@)P-P7YKy zajG~Ln=sX0)fEUd6_Z!}=59GfDt4LEq?hIoA4xj9$WLYO%dp`sC5k=oNE@;~d&6bE zlznP{_(@|Js!fh4g0T(u`JyT-!nFUKi*T>BY<1!aX1d*-#{DDodiV`^m91P+#*YQZ z$q3e8V0&9N*9Eq;yhdq?5N1K9*CAKqVg$D^xvbdxhmm3)i4a!PJXxd*`9nQOVng2O zu&lAJW|~j0BVuK=Wk70U>PI4~y7x3(s>hEfPXxPf3k#ov_m@v`ArGY@3eG)p>-REy zeD`h9+T5@UetN=`pEi0JeE8p6JVb`y(vYe*eu7VE{Q_lZ{k{-b|9d&5W+elVfhi?F zb&N>z`@?znTJ4q*YPL=48b4^>!iwEY|uzmn##)g>nUZxP4d*kz;?5Ph#oiC0dpq0kb|c zz8-xU$Hq<)8&h9IDnu;(y$_y5pv!=s!5Cr~8ybI?6cw8-(Acz&rXCYJ z_<%om7m_IIrd?d!83r=)>5R(yJUkV_Lm8p#15+6dQAi}Wu#6@(QFUn-{n!t zKboyjXj@cQh0JXiYUrx)dS5}_C?h*&CFjZ*>*&-}Qm44$HKoZ4@Fma26?=4C#~P_J ze!h=kn^Wy-&Y2x{0UfB|K@l_7m-$x zNQjZO^}7L1+2p4Zj^AsXtGNTh;pzzpdg0Fv^vb>$!&}^|n*LcuKr-gq&=wZr!=OrT zYn>DIR*+2UADwY(f$G3I8uP}LJCaVHF_(q*&grg}Br>iqAA<%1_Y25;bmsE5z@By! zN4=Q^#GLz%)zT98D5b#1v&g=)i%G%UK|3kXm5!Gn80aE{yeyj6sg<0MsXj{eE3|esZ>XLz4uz)31rWw0i5A zxFyz@JqJO3?$W^Lp8@w^XB`!Lx3*k!A+3_&-WycERvdU!fJF9^MJKCWge-LGTqnl| zjIkipGLFFs@6OE#K`bEUy$T<6?)0f+OCO}-CHOF3V*Dj~Jw(J>+CC!OP~@~Xh1vbr z;D80G$VXBl+hP|hPKXNSR2Qtlh*ttl7|!^t;pKlu_n zSTt5iWXS#sAoSaC(JI$InuweAV1{5Ud~A+R`?`^QcI(oj!^Ii94SQ<}oIJDL9*rR& z&Hup$Wq4P3&XQ?S7t6kuETbp}G8@MxgHWP=Wr{7z;N0zkOFnRYkGo!zx1fv7y8GoU z$3VwGMWK|Uuor^w#{_$Kw#rCfmXTFoygIQIj}dMs(6~W`a(Ct_deyj?v1YBSjI{(@ zVpZ7w(JvU)egU+(m~GdYdMRa(E?3#$!%vGw&*gzy|DwbCqK z>vh0yxQFWiN-#CPMn^86GbGr=YF4X$?i3EDjeNl&f*AG2J8sNA(1xM9ktwGJZ$ zbncC?!1rRIl3T0UZmK`cdNLeXD=#u)s)FuTcBY@`wQ@=Q&9{oGg1wT~+#YZLvRPp$|0uJ*4=y_1mf?Ho3;&JutkMc}cGa#=7i zlGTE9&{evc6z`1dRR~rHgQwE2TZnV|~mN6)CbFnkG zEW+*nhf(AeI{o>Ggc{5HI;u#$;E6I=M&?Y1InMP~Kl_E-S7@y(7+z`F%GCB;=)7e` z1k`0crYpl#jfkc2>Iwnw6H#q87$J>?O?13OE*6bj9j52X->qQR;zQlaOiS-$sj}M= zKr%xj4m*wz+}B-J4O@&@TdOxN1oy_9&|Ij;@rWEu9!ZWZl*f%E^*4+K{s)|7aM%Bj zrEiMPtZTZBZQHhuj@7a4q+=UT?2c{QNk>o2j&0kvPk;Y=F88ic7wcw?S*s>u!VD{< z!O(8W8{jwH@a+-DQuYH+$-}S~@9eU2O-#=~lKKy5-Jc-VjUSnqj1!K}_ZKUxd2;DVuG8)~8+iPvqGex&{T#%L8Ogo}YknVOSC z5c3bgtx|bJ*5)@6O%s8JM^C${fx}6g9Y&ySWvzuHfQG5ASOVa{u*d&jwbkkm+${p? zAaenZgz=e_Xs+|4!|KwR%>RlQX@LHJa|r1w0v$kG+u>js)qlB;BpVxPXSWgAAOQVG zRSGv7gG5WSBghB~jY3?QHWKf+n3TWY*~t-tCGMzfVfd+qTSG@>$61v%-NRMa%)95^ z*VDn~bH+_0NwoRJW^I=^gpL(+qL(JYxk3iR( z>l=W4z7{*=Vz=5Dz1~GMCX&sfl89sepz;xk7kn?S9CgKULjWa+KthVxZZAvmVtc~ci zyY}uqZBI5NaKWVV`x2~Ept;--${jG1erX4?HWNsk(aGikzl;3*Z0OFOLH#=$TjX%R_f1;HDKTGb0YQs9 zNcXxQ)NyCn^cF#ars_xHq5{(TQ*oNEPV*n~p};pa(tS{L$@)uzF~{2HGz2g{+P420 z4qL$9ivW+XSzE!%NTNk+MHY_I>+0n4^nUnycuhRD4S0L;c-eov%}%g1?Ilz@w)vQq#so~%46wC3xtFC5Leu+{&jqVb}%sNajP-y4h~}6EK}prRtFX) zVYUQ7=PveaVnFM7rEHMX@GqLcpX;E(;)2|NW9MZiAH}T5Do*|#_x2~902;l2=xGT= z4kqJ49^&-fqL{&Rc1LeOK-j^*7gc9X?b4=m#dILu!dIwyc~Pjw; zYN&C1i0Q`C>(T@zY&O-6xzv^y1ATyP2Hjtkkc?zfJXm`0i0;rf)NVin13rI6IHS__ zU)URIs=f%x`k0*G#xxF{A-H1nLti{En`q_$RIar!lSv#TRsXuAKX2ZtjmEy)ld3&WMs?c?#ITX>}UI9#4xhFUy( zOB#9HEQP!@gvg$a8JPm)U)j=I1`8E(>#G#roaSK4-Blt?DGfqY5$sX#P$ik#W?RGi z1O>Aj>Jmd_q4{PJ-UhMt=}5Lr&HeB?x^E;t9LpR}Y7Ma>pVk|>4Y@IENs4dZRjzn6+Zm`3%b(j2RmgDa zPiG@6CVYSGoq+?U*$lKYAa||@L?yc`@Ic7u6GdXo$b&Hz+L0Xopy0xzu0AtRA7aN0 zQPo}Jrp4XDWf^1?LvXQFhx`9RoYqy%Am9U!=X1H!p$-JI?0nsc4VEgAi7z>0?7Kg+ z`#D7ScSDBJ;p>Of_L1UvEv-;bdw-s&!#9sA4rQ3`n~pv}jV}IuD#t|Bq|WZbY@|r; zq^Ly&(mSt06+QMTa*rfNibtHOO-5x@bLIP%$>(oUo`hpf0|eB*bUQnAzs9XlH&H|+UI6-pK+BRw zHC3cfP!#xm2tUo>PRjIN(?NyHV@6^8%OHG&=dUqAcZYb=zN9SwsA`3fNmHn4!fN7; ztuj-`Tgix@zvD8tr7`So4rzE3>QR4*>1Xx3>c={!qdM<#5-TU8plP*VfT!HBQ^%LqL4S)Q{pf83v}D!P z%pfIX)H_wESvN&sACX0EjdNUxTU%P!aVf!9{WJ60*=9;4yy*`^2mq@mqH7h+6U#Om z_m}}J-oW7xy&}ZDgYC8W=u9n!_0N1F^2HOOMbrXV>c;F=fok$?-&8~vN;_96#%1c$ z51}BMyz&{l4{u~fXA;vGu8}FTcs?u|I+orBMaZh`Izsj{igeC+y=Fsf48!7YAf{L| zP<)3@eSY#$+0NN znBWivC1_jX=W#(Sf@{UPHfLtd=8Oc&l;*I%EQXSRD_NFrcmUqv9bsorykfmvUOX%LvW{|91PUB}_fVNqofanSdrP^?})G`=C7N+aI> zD}F7&IY7Z4hTDIFSN}Gk`w#X+t^b2PpuM29X=CgECT@e&lC`98V^ItAL`dhcBcpn- zTF|UMD%I6B;vPF0DASb+vnR4Y#Tw7c%oPo-5A`04?;Pi!PZFq#q?F}17SjeHsOodk z5E9w+4yoR8Uq%?)(_u;eKg2HR7m!5*Ki54!P_|dP-n$F^eL1uH6IEyfBDs9`PaS(D zZ(SDvnE<~_M9Z#g!GBImQb--5ks(G~Ci6bN{RVKBhJrCT1fML~_;KL~q1m8aPo-VL zJ}bK;cKpQ;FcMMm^;{u4Ft-sts3{S~mXTmTSEMY8E!3bi$VcEnH`Qi!U`C`-Af=9; z+K6G!f)j#X#Ke%#*7YZ2NX7<^(D)k(4ke{kwg8SXG39NPz6Vz~8b)A||Ma==IFf8| zmy4YX@GY`qDZd8{lO)i))nJ`sV-qH4lQmqKAePj{|s( z)Zz-a6&D7_B%UgN|h-{|68c zMXLT~)YH^AUiD~mtdX$Jc$M~UN1Rx*qW*{dEC(JX)VGOHk-qbQi8D{-n6KFTvH{9pALecXKu0V3U3p%s?{F}A+G0@j>PZqd) zCAHK6A7Ah@_xW6G?^?h9Hzn6ch8*B#(9^zsJD~d+y8F?ri~TO#)=qDxc8nra7P2Ce zy&GbDBr?;-*xrdeZ6;Cr%l~|=cdW$NUfa>Ge6|Vi>pvN;nzm3l zX3)%d`Mq7}ikhp75mW?Y)v0*zDS`zKwaNl9)KWV&?vzq0!s)BHR6J5t@x4O(OQHHy zk-7l5K!8q#3jMx4OR#Q{p2z(d0yoIROOGMVBt7Q;17c{b4E3_`4cqYHL-W6jhhqm$ z2nL>f!p*ed3t0}GWb(hO2dxVd1B{g|O?e5Fu66bVZW;n5FNT`uPI>Q5wefthN85-Y zt-uK$qjl&K4ip;p72s_`mM`2RKYHHtzpi3u{!n?hvLSg zmmM%$lZ$+Jb;tSXjbfDwFkkwe^vxO3&!az&%2pqp{n<0%;#S8pehTKT5?gBKSrWr| z2rBpI0=lx8jbI(iLvr-NN!Sn@_Cw!mTx}-{wCRerg+5+0FVI^I`(57yhE6?T=FQmWOK7{?$kx5 zuu@J}R}(J!BS&i#Ie$!Gf5Gf6Ov)MOQ(BhBwkAjUWiygA*8t@T3GV4r`~Z$<()RMF5#2WzW4-1s4dn<{@bzCd0w zQqIxd5JlC=1B<<9cX_5MfrddFl8LiyaQd0+9u8^T8uuk(f? zU@Z5_$2YkE$+!>Fq2Xb#=QR2EdYPvuV9s95)viVPW8ktCBZ=g*Kw+QGPEzogH&^XA z?`!>D2)sZ#1b2`C*?MguBy+24{I1~ug@D2FL}m09oeA+^XYR;Lm1C8Qah>(heCK6r z+`MHvD_`DSF*>vqr93UVW(p17zP7R1U)I)>LL-~>>BtLSQ#m1donkXi+Km(vpnp9y zb~R0_b=;uyT26b5yXFR5vq0Pp6_t9h~t-6vFFg)8kuJR{Rz zj=k&bT&}mAQctUa+DoQ^!B2b3z)``7%c@FVQcm0{K!pr}-e@`OUT>REcedHeANd|L z>9-p=6tdyc5`8ei$7IZom8Iv`ppkE+qF-8o&iYN{AbOC37F7tDoTAbXh$(U6?2OO) zG^XLZgR&b|7U6f&=16z~HB!tDbCx3m--Hd!L?%#n>30})mo#Vs{UYbf7-&M}Mp&6b zR2UIq35U++`M}oNS@ms}30ZsTCVXrJ-Ncg7K@~b3z_=-=^`fR86pEHa3lArnII~Yf z-j*X+hSf5ZYBmnA5iev00K8q~VbIg@bc4_DLvAEiQR-!_&v2dAiX#FVu%V7WO_pOwYGml(S>XF-ygF$RQ63$t9Burtt zk*mGuks~4QQ<3_(^=cXxgqC$xAvDykzHXOW*Mh<AmFp^ z6QBEw7yG^pfseZSfL|#dR3uzfXdPmtoi7~x{1s{FLykM;MQx+`TK($rB8r{8Mdi6o+HPBlSt_p$; zL(aEfglHkA@+BkgQRGNdclGQ*8J!XJmbsB|bB!6*R*_;1K*2exEH^%?yLSlJ-=Qp_ zfh-|ZVJx>W5JhiO>&H<=LR^pn3T~phlUMtO^u)IgJ)AUR=|M`j6mX%r@L|C-Kx6ST z=YqgI(zCBFbg)#;!oZu=9XYE_8`!Cvn392 zOYHb`C9>lp0IwsoCFiJvH4#qM%WsL4y+Ryjw>~L)LD$Zhw9nHG9n+iu2sdoH^kUa&QCl@pQM2bsP74DEs`k;LcNq0CifMuDH5~T5%2S{ND(|(K!9>Yox z)}{NxyoY)#eOwV4%hBAznjp-E>Y2j9=<8OejWTfR&Bl1?jIjP+o)~g!CVg&SLi8VZ^-SOMj!I zu0CBU0Pzio?bXk+i5QODe!%2X53hVhBt& zH6%SK+N%oxAjw+Vo~Xpb**jVYKY5EPbx=K(O6K|dz~?yTUv)QR`sZkslW{Q(B2m|>uo`J8l1QHKo%M0=c!0~(Hk)bHz$PThz%Euc6U<(7{P*isLT z$t<5*>~z=#cgtU-vc-BY=VzUL*9?74EkoQd>B_LqvO2*?YKh$C+iMFqkBs|wD`O_r z_M{AB7IGm$Q3Z+MMciNR=v_Y7inmeQ?QZFUXU5_e<#`{Vv{VNM0(~hQ02$w0TsZ{X zfZAW_)_n7t?^B3X;YqvUbXtn;N~ekwJ~IL(XQDXyhI7^_D#a)}F_$lzm&8Ul`ILxs9uT$$f7#-kh%$cP?x~leew#?1jHOc1Kz_u9 zjCKn6CNo#s<>C5jtN>P5|MLk*V_-?oqx*h36YMhc$zRrQcdbC?nAuaKJ=`Y(6WPX$ zqiCh<%eqK-!Rk~Qz3&JQgKAD$`|kai(V7NrfRwKs&6%;up^(xU&>$ z+KVLnSHx&gUs=q;-5nhq*LRC#VWOJdf=*t7EU7^;Ra?CvndSjIP8Dv1?01SP)%3Z0 z7*jwB6-T%?+Nr@kH-t*PSG8x>Nj?ngJB-%HcVFeB90U9C#8!uQ^-PcB6m>m}&^7N%x$tl@g1=S$07J-#x z^q?R5bY0&ojzu^D6t?(BJOTl%1JfOz`vhB+6Uxe8@?8`!8%+>CB8RQf8#=)W-3WVK z21}zS_S@eg*-jg6cBgQA?bhVkg6-Qh zcU^|@MRLEX2q>ld=$PUVVhId{JVGAO4s4cyq96}wqmzblCL&VD!$g$Vy|+}T@G}Of zMcmJVVt_iZ@U-49<4>*7LrSviz*#`)4whrdvz3HV;I^*-fdAbSl@J2Ov%3TEL#>W6 zfEX_z68B;Pi5>MV2#*z9Y6DDUdYBOfZN1Qj*1V=&yzw%K(9%o6-X?=MIA|I!&8dn) zNRpj--BwvUxh0!vIrayp=(2;0!I@RJNZGG`qA`+D7_hm2)Q%A-muPdn-k;kyE4P2a zD0=;i9dT^QLO(lZ>NurFOt@8TVatwh2^Hc|pgy$h;aze=|C3HV6mj0!g zPqyz_r+tFL)E|A7BJNf-X{7=PQU~ z_%%R<7#jjI87sfo3M(K0QSmXc-fzf;|LEl>lU2*^ovjic5F6?)9wTM#v&Mr_9+XBB z&BAbel3f|;XGXawNPOeV`!7%9k`7t=&pqq5B`6iUcq?~hn14Lb@XtUS5w)7qVq=%| zU0M|ksvG^>T-l-?dK@PwZR9p4kz(B56Y)gA310E@&88O?26aC{yS z2TD}34@I7Yq!ki6#HYcsm50D*M{V}{=Jne$T&h4xhfupyb^ zPuhKQR0!`qJ$O#QOx<%AFUbJ2CPDRFf6eQxz zkFo@tLdTNKp|&X%siPTf(aB~))R}VFA5%jIpxAW*UqcqJ#%NL?xMqfRCliU-&&(Yf zsBFmUZ%+CTmfS3BL85S>R)J*>g$WmUc!;)%YCmr>I>3nl9oEryU?S9=EpbXU+!Qnp z7gS($oJK4-8@;Iia>43?wWK%KJ)lZ+63Ebb1za}B=TTmpV_BpF;M4<#qY=*q#i_xCRl*&?$}J=`K>!-Aw`4ML_JAVgFXs6%bsfRW;DDAj(@( zra>Q)2mlvsm_|cyi2@3L>pGW=QweAz=bSsB7ol%mk&C4OZFKi8IGAP8N>b%-8+3c) z)Ma0zTZh&^(#(kQpu-gvO4wz`swOY1PF7$T*S$I*lucokqc>L)nH9PLRxY0vN~673)+Rm=Z7`ELdyp6lDqt(Ggd)h zTQKv_8WxE35~=*1QJUH0J;UrI=D85mKs}S z62jmBB71$yeS)Io9b#c5tCe~SMEP^6hGupG#<($8RI>jXb(zP$rWZ-OrAzN>%^^+~ zqd7K|-Tw*iw#VO7!a~@ql z+~diB!$6Z`dB9QgBXun&mw-0_BcI8bXl_CUK-65o25}b4vu9)PMQmS!*Hml!;RQQ~Nra5OE6=82B25oqxjaQ)Gvl!6~|C zh2$tNm!3mQmxvS(NMx{s#%AiPT#g0fm6^p>G-BvQTN&+RF=%jH zklb*pkLcz)z?|0-b5v7o$8Sy${2FA1%;(RAP7_2B1YTUgaf>?x?li%)aNQjXZ`Xi>MF zOnxw40o`tlGtwy_kqW+HDe&Op|FP=rqe~*wSzdOTJcf8zPwVZH&SNw0iP~ zF5|J7FUBY{MWf9df4qMZa-2wj6#Oq^sM%(wR)|yy%T$C!dnJB;$&=XMXs+Rkgqh8T zf0&6%qj?VOCK}q-S&@P~2ZqO^qq{d07?-m`xDDzI;|un-ejQ(iElLUo)wX)xyabG!N|p=CxP z{*sn{>EYQceSp0epXg86E#} zU{S!J66TcCvtRFMw&K5VO*q;wRuaW6+>b2Bu1GyQEf5fo}rj&U~gQxSZpjFEHfU@(ORr-gtX2u`u{B9w79%HaKv)m`-3|Jn<( zZ(G@7PCu{Y4R5IQhak+xU)n%m{^JaT!BE}f1xsD-CplqM(zW2;-o6ZG)ET%fT^ms% zhsUS0-y_Bq+B||TfC}6whx@m%a+0}Hn)gr#xAB>-lBC665gzMdA^vl^Oc>W zY{MW;bl+`RexTP1Psr{{cs(tzbOjP{t%eRqccwuCBh-qbR0BNnD%Vg9lGDW$W>3Ik z1>ai@^N{>TR}>Wnb16Zx>vd-RgDjjOCq}LvLd+=$w4mk+U_Hf9Og-pc3MQS24DNz^ zyhO+2s)Yty{ck_xMEA2H87Yv!&&Su1Q=LLzp^2G9g2t9ofp&6WVo&6@7lh*pn`^+{ z#+`o|__z0=H}lTQAm1zZK+#$^0?P`Gs-3%E9?^WCnh03;wjd3(K{$!!f02I>MR-E^b z&I@=e;7S0P3`P(W4V;ps2vKYRlfs|}HIg_Hu#{lPwk-rrfqL&t)dyLPFG)0Vz%kyY zIZRXpVYz=AB98IHEKbzMER(he0!y~-Y2?Hxai1bDGz|KOveHP+t-m?V9Rz<-O{n-> zsQKA#;GYMtQ%@*JsoL#q6_(~(o|Y*+n~8q|;Na*c4E8tj@ODQlFi|fy2#;(@+pmXM zo}_J_Yp$oj+-0PxOoPWwPvbpLmLlC?WDSqr=-h!%UF3>p9R*jU_dBYwbd0K#NJ5O> zR%mtFUiz(`iyX>LNGm0!k;_`q=+Jiz3P{baQS*J&mvW-<&_jLQSLLda!42na9Qzmm zF^<6&x&DpIs3Q-s*LIQkLN?KpvDo10#8Uk{0vlc@x>r4Oo=Fwbv?yPNk=cz<=m;%H z&Ok|9jdWL#Lv8$gnsH;{i<9oZZJXmpT?IKULVWv~P)zr>__^L;63+T}J8w@-f^oEN z*DiW2x{@tL5bZ+?O>@d}t`t{o{2P-1Z>%3(7ROszg#}MdL|v-;`?fkZ`-;NL`|;^f zMv`Rn8=Gj)J)H+-Nu9jSBVU)6>+C<2Cc3>g@jAdOz^rM(l)MlJdg-xtwAo=qAQ*ibGchS-5 zG)JdheSPEh$A%^|IyDu+t1PYR$BQf+mclTaM!b#npkMfDAfvfVq?lJHNw_4N87PVk z-pwdv$l>|97BrGdXH@LvMUA0HLfxUvwakWksJ{j_rn-$E{LmA)&g)SUn{l~&TbY@y zRzFOs6gsHcV1ERnq;ez2CKt#9uCyW^G$C2K!iZV*FTN)V>2=HP9j z5S_o`<)OKLw}&Vr(Akgb`aZi2`jEsLX`}6uO&Y3q3yVZj`6U2Q6uMyM-c;Yo9*`O8 z@0a~=0~9vczBd`@ZQ&mOqc1m5S8`JtXf)hIPz-;Ue;Pg(q2EmZL(Z73J!tTturR!4 z=idoolOg}NJ#F2 zTS=WNI9l^brh(Ix8hr$pR=r~EC=iV_%O*-qe2hJ*Zd>Tb8O(_Gd+09?yv^U;Gx;|} z0=r#3FaA!qm%yLi+UY}dPgpk02?evmaweE~NnX+Y@0&dx8C%R2#MFUNA$g%mBvGN? z^AA_cr_jTjifo69+tYv}7WLu5AH~0mfZw;)Oy)Pc?%nAh4KKSUEp0FNqCu{^qar%V zVNTUui${CU!XcWyYsk4UZmHgR5zhM=(%}iSAevhrdui}azCj$1#V|=U{JcR}#+mKp zKZU!$AInxZO%(VZvW&}w_<%QHE9gV8*RakMUr#w9ix?3m!QucKn#q9FUw3B(t0|lN zN7;3}d-VSVSbLBvVcHnC!>>!VV~=Sv`RIopaaf?2!rI}yHt;9tUaNga2x{-rLCORBMo`j600e{ zv)q2;6WiI~+5!Rk+QQ8=Bt?*1hVIr;ID2%soZA_Tg%C9Rxy~v4ed7jrcsIhLG;9!O z%N?lUgFW3@)0UdCExzRzPjRo01$iO7oFFC7?-T%DC)MuWsJ1&M&2(`_1IdXp z^aI7N)iDMvUYwEc+(R7sV|VuC!v2ngbZ973G`a9O3W&hRh(W*sr=HbE(4$zO0jHyhN2&@C$hY?eYa4Gu`m9Kx*>*;=(8%|IY!qF<)IS(b|d3Xj1m8g;N zmY_6EjuQgJ4(bzDFtpPpEyNSpUx!1ChH~w--5KxgmKdCY^xRy7)lr`wld%cOj?$sN zv&=Gc^sxNrV^*)(n&y4{ARD?P9g4Padbk-g5hn{E1Ta?D7ZmrTI?4)}1WF7ng6=Fv zqg4SASmkc1d^M_3h^1a{Cb}bbMsqefh&teR`ECGr8mU;|z*6jj`0X!Wg507A2#lj z+~@`j-`T+D{)uz+U=1{xxPu>uZr~rjnR>CcTr`4|>g0vRvm_mXs@A*amQx~Q{ldTK z#H~?+T1)Di$tqpZWX7gJr6ccg-ld<_q$aK4e@jb_*-RA9JZ>bx2Md!hcAG-b%9%g_ za=o{h29*e!wr%Z8NNhOY;WKe{rrtOExq1P#Z#wDHfWF5Zrps~W=8>(-P=#ssb4d>Z z*OucFaj}{EY;N zVUmH*t>KmA%8p#E~>d%=iH?7cyCCtIw>Q=ZD;=cgQTfnYlmozx_13KRgYW-fKv z%P16>+xevbWx;y;nH8Ic<mB(K2k{*%*5U`QGypqo+zE;PJP+Se;jzjlWRsVx!jrge4m zHl=Rt?N24f!wcT;JU>C<^aTOVLj|6eZ9~zFbf+@$F#2n`AC))=`2{+(n#C6E7fGss zH{-8+>Du7B6r>~yAzH-H&|_}OSL_F`C?@w<7Yy}PcSG&7OzQIU<7kP^7WYtzvL4q; zU#qIXiw#gmHcSf@$zpSuU4&y_6>+o9iBA zbAy~f3EDFhjw3be!t=@q7S202RbL2H;UVVt@Jrr`%+NT=Q8Sd>P(j#KvSAFZr^qne z+27|@kLAy6!AL3r&2tEVXv%XMYbZ2&nhr0#IAAn!jR&Xu9-}rhy29F~*=shzH3>oc z7gfCK95nd9*{lzN>*40YTZ2TJ{bx=0AKOwXq=*)rLD_Yd#-XX*aH zVp9K*pJ4NUbjv=T=l{_y+iIi|Jt2yCFmzCZOvOb>rdVXfYepa1Xj{xR=x~2HZK)9W z|k-Rd_Mt*NG*?X*#))c?aB!Ms-_M_BJbgpSd8+Agu+~rxPF;%+e9%{Q)^Qtd0 zWnEY4kf>g&B`;t~(I+378-sPDzKr>nm3YZHwz_)5QAg}hEmdu9soMZ(#0s4jQi2hr z$gI#@A@6u9V3H|DBV$r02!&B)J<(V3z3Llf&&L>jLnGa`l^1Wu zbBRv?8I~T`Xn`rmhok`AzjJT;&?k}Zg6o4ViM=7TVEzZR{16)4<=@#+O;eER8k+|* z_X8t2=ZTBG|0uQkBi8dZdS>+c;I`IAb4+F!6q?o;;kL9M7Q^*(5`kjMe`T9&x|WGR zdi8Qq^)BTlK&@%jM4PnIJ*-I%r`HVR*mErJ^*gF4tKehFahm{-TxmA#6^)ah8T0%| z_&+5rlr&SYre4sxw&+Xd>5a@Kr?TE9@&b_e>(7(cYc{eYwZ^@`Z|Ma>cednp1jje5r zpE~7_Eqqlh+HM7MOJ6hcjrN}NyC_^kk-{$mU2ZVOij^YGpt?3oxehM3!FvxZzOgBLIq$S4-TNF+0`9l@}t-r5*?ZC0e-MjzN+$O zX#t^y?KBfV^!K*8vde`Rrk%nKM^=L}^+JIT5x{3KQzp|s;^bjBFs{fA+OAX5NfK@s zpGFoR!rcI1S&8O$6Myph4FoyapbPiq0pzmjo1uOjGIQHTEBV;tb#Og|6U!m}mtQ)7 z=;O8rKOT|QX4|9a_V=fgm>R|tI9dfgGMxNN`#*8uPY(m5|BV{|;)R9bO`u`>krv;G zO*adr|NEIC36BbkY{0BNQ4!e|TUPc44Zcj7cFO{V-a4TO&kqB0s8;$GvE=CtupQkxtIpz|_cC1mwag=L< zq*Vsnk!p|nMs7~W?>#iJuc=k(9Ls0T=qQj3^LkznKd6@h&-R5@o?m-=;GJwgIZ+y5 zIAoW-%c!J&We0knq5xA+#JjM9>P|3hN*<+HQn)nTqM=jXQgF+AO z_L7$->v+Tfva_;>WUCvXU6eMgmMm73bd8Fm{%HA(6$fEw^o;8W#S6nf>{JK>CF_#wyd*ts%^L%vN(5HsWdiQT3O6s}^-r$*w6u z3fgqG$>r)w?S`PGS1M&w2l{~u((Y;^JrvDP$cGvcfjVMn6Wu)fw6xpoHpW`a=ryxYW*3 zY`B-NGXk-)v*bor2NdT#+0kKf0ADLJ;Dx|BwQr*fd+Z)=t| z+auOxLs??PT@>H;gJZVy-+~xv2bk3nPjBjXQEZp2S^6tUhgC4?HHwTyMtDpPL8dvt zKA2*3H2Jt7{(e%l-)D`DUN>;R);y^5Eb$9nX)PU)$`e5k8CN2EPNj7D!4Jcb<{{IO zhaxJfdue2^TF8L@eyi>v7${Jd-Yqu~VcAp_U$9u%YL-(RV% zm)dHzHCpJ{H~u9yv{|-7=VD=GHP#Q+@1RoYd#1~ocHC1Ujcl91S^>G|ZqHu8GMuAb z#@XTdecAl-^q|=oZRiI>J>$rcd1~DfOVYV{2g5UqD2N18==;II`27`sN#{EGLEyE3 z_TYN6YYZL0F2v~(Rh7$H4U4^Rpzzc zOy!ODb;iqdQpUbU#}!|k*g7M?Gqc0HO2nAflo;xd?)?qlzl?x`E6P!e*NqX-XMcnF zsNj*$NtaXaxKkS_@Y>)4@^XVh)E*}AD;ciKMgB?sJG5G!tYd-gHOxe-?}kY^VkW`U z;+Brv$D`;tZWBF=LxH?7pr_%BG4XG1nN(YnD8D**eCPC-(;6z%wIy@_esMD>mh*jQ zrDU#Nx7U%*n&46@OV8?HRj%Xt%23EU#t;2~C_!Ut+`VQ4^a;I2@)nZxGJ2R&a|`R- z@QlpX6+y0@nb)yD^hWX~#ca*=MxsbQ0jZ4`*1;Iclz=~twJ8rJbbpbHHJXjVn5h-u z>vqc+w$0TIdbz5ajUvWMu06ZszSWM5w~YKXTOXyr3X#OKcF*>D^~xAf(MlIHZA0WQEl>at z|4Z+~`|E8}5j%H<0g;Y~DdeX^r%ss+fJwJTuQC)Oo~g;YWVZ-89JU&l-jq&Dra=0H zE+YL$x~F6cmIXH=5#@x!ihx1$^O8l07zHAaIOfrUZS5pTGVF@LX|H;lJQ@QY@RSSq zwM7IALZ(rjxWfZL7ZcJ6SReC%a5P!MI1nL2nt%vp6#B+n(+SJU>gC+hq-GFM+F43m zhq1tOf@%!;ZPtp@QuW@yd*lU4T!yxP(}N6^gf3prQ&6!ECYkBo+=9&dr#IqPJfsh| zs2`D&O@3^}K*jY5n_bS!206hD8ODz6y>@nHQhIH`2=Xu>A#hG57iFX+Ab}@#$sHsX z0Sh$fQ=Q;b;oKhu7Yaqc^lAgdO(kx#6Dt|dd$oLB6Tp?myB5&7(Ix+gA;AlsI$LG(`m7Ub9Nc7o1jVX|) z+`)|2z$C!{>^ke=)Ow{jb6U+vl~+=fDu$GPY!$}95=9sp-Ck+wVQU`&HZr5(!Y3L~nhkNg3NX3NSyT zzoqqt&-h3@*kaQopbiuY1!#)cs3A{7vi~1X=NOz>(}nBUwr$&XCQc@{ZS#q3PdKq{ zPc*S@^NBs-$#>pU=WloI>RP?4dar%=TK9z#{~fazAoe?G5|R{k;n%i+p91@@gBpa= zV^ur9yHp|2FK&mppv^q0K_Pv_yuNpLfL~+dKsF)sjWz^G#zh@*fsZ9sDXJu?sD)Dz z9L6VDApITnedPb5W>JOQfUAZ!GxDC{`YVr5ND@7f}C_drd z0lYQr9lKq6V9tc+Y;OHMexB*mk*f%F7d-xd+g;Q`2vW$=XS!fB#k)b_Pl*( zI*1nbkK}%^Q2rbs%64$CT^zFhZjd#eTb=(G<0pW&r{;N5>O}GMl;W*(HEU%Ph951y zF@vY$5UfQc#2?vMH^pxuvGlba$b6yjW#RVp@eh&!&nZp(^Zo8iQS}y#p7rWke@R{N z-jk>v?B{=aN>#0q{M2KJU#_X`}pAW{Cm!4_wDEf|zQhA18q zvD)_vjV~}QFT0xm=2(2-li*>MXU1NU3DrTz{~O#2gI9(}9T%A*s$zlvGg#L3iY;J; z|MB0XN)o&V0&I{$0gKGo}n|zb8+fNHzTyvS>xma{dI~wWSGcB{g5I&i3z>mC9eec4de|GlnwPYn{1?j zic0_Ix?wfKnarSyC3n_A1v$*1q&B0n2&e>>Ldf>toz_iwv%T_EBp5mKSbf~w7ztkL z-%ok2@!pdilB7n6gfb+UuDflNkLb)`tD5y2YgQU~^2mhrmdHv9F9i@;h`woaH|q&; z+t|YCNC1qx$#FN;IhLA-EcLA|<)!4K6i0!^8`IB2=gnuJjkZm z%*E5TxXnc;mkfY2K4i750Lw9Dg*8b;0!?`q!+M4vfq}An@3YtH1%{QmiJrVlf2X@_ z;VerXeCC}-UFjI6J4ylss#ikrZ9j^8x^nXEX$*h*Duc8rGBpQu{F?J-=7y@LBi3zO z^yju-^h=WJ@9VY7nzGH76H4=Fp^bH2OsPbEy`G3I6}%tj;Y7ot0{kTkn!1z@NCN@GG|EAgpO@K9WFz+s& zE)r5q1v>0tpI1-G#i8?Y@@>k) zCDKog%@RO0ZK69Duh38OvU`iGA}Kpn-S`z-<|==2i?NK0{L`+xjLi+^Yh^`+Mhc3r z5fc1G0Z5pRUUDn{>3FNz);=}6m#3;W;FM1Klg;f6lHnJ}0FJB5Cq zm^yKZ@~P%igL$$PlJM!ij7S4NuI_ zti>NgbQh7jCZZ~&&*p~Tp^|>>#u-^Q5t=dE0@^gtoPhh<=eQQth|a!xXRn>^&A*L_ zlw73K=h^-uDlBE4T9flyp9}eY%%0*RlGYw7jSli{RhUbAlh`+Ieuz%PhTz2&#btT? zgP+#<;1&L*CiId7xx=*xXncIwed@XX<$H&LMM15z{VvLTA+*8!BAFJf=aEsKtc%*a zkuKB~MS%V_bWEv{I9ff}Rv3h`)PtciN>adt6(i_4c}tMvhKB=vN9oPhxhm8z*rC-J z2$HzUGCW_`RUtHwdL^9eDvBq15$Qwk9NU669;sOzL*eFK56MAYL8Q(>hn1^K$>4u# z#6gtLyC3YL=r*qjxbyy#k<&J$i$9tiHn|a<(Et&8f7R7q;es%*Vi~yxg`-JxAX9Xg z%3FN(cg27uoGrfsW(uGZ9qO1mPhk7Sra%-*3q5PE76$(w z=dwSqL+-Xp1@q2lPT{~8rDEv@(_TseJ>C0K;Lo*k z^uzuJ567{*zlY`|7_?alU2qR?5_vtm0jw!6NO@Fi$`%QwJI&D4U$ZLe(E>J*M^G$M zVHTu!1bIu}mYEl6Usn6VpgCgsje2mzz5p+{7bVCnfn#)N)e1G+d?iWW@(E`{2Aj+7 z0|RvQpyLA=W=F>gd4oRv-Y*wB)-9Y>UDCxE)Xtv5*Fbo9JuM*AN~3X{vOjNLtd)x@ zh76x+DNVd+r_tD%gKyuJ3e&0X&zvUV0z;k9W^ovtgPOB;oflk-Qz}_gKBD_9T%r};;hvs z-WD`8V)UF3g_Ps80ps*^9T{)*1&veioC#+Z+(y*E9EX$LOpH{F*@Kn-=FW@*bKRF< z9#3yQ(|5j)J>ZkMH3?ukW>?+bX0*7!mFQHXEr=Kr>OT{rG1wAJyg7e;a(Q>YeR`*R zfYR{FYyMyX!;b@H$qt?N2L+$Di22s%C>~JA*K{urkw2dXrgbAKUNFJ0@^_IFadFMZ>N^3ZH_aCJ&Z8LG(me<@4G0xUWwRoKMHe3a= z4nhuIpiQL`sCY8kcC9s~meos_DfBA|VT>Bd32s+zhwjB}8|I4T9)7fFiwjzQoSJvx z$*oq@mK&7idjtMREp18ygNs+~NDH3S!@wtUzE4?53Qo$jd1pcnKZt2GG!IDgL+IwJ zBcz;IlsiEnS-c#(W-?Ygy5>BA^0CfRjrBqYQ&v{9toHA?TJQxY;Z^OaW;L zP2qIBrhdq6b!VdR#WxpIL*%iFs-s8r1zo^#VZIq1#!6U;oDJKdhT7u^lR_w8xkX2} zGuY@0h5+jFynp6lSvzb(r4>$Pz_6!g$Jr>Z;kkwqU{991fbeC2A(=PrX@If8U{DHF zm-ZB^V*Whu1QpM6$f^<3?2NbkaJ@x>gjTS(oqtTZmd<5yFH#pPqpClziEc5TLII2G ztY{&Wt5S7N`HPoy>LF$7c_Uj247V`@gF)E^BLmpPhT7;TuOah;kTLa_@qn})dGqs{ znl!OHgM{3}BERQACc{Y_j zD1aicf0Zh^=OSs$YOQF{&x=j~t4hKzBa% zM;P|H%1fN>`^V}tqxeNFO!za-;%<94O((9qdI}QHQwYj*mgDeY2D(;SL30r1Cjj{n zX6DSteKH0ZY$_|3@GEG}$p}PoP3eo}?PKe4@FL_!(x8qSP={|cc}o#E_3=tCxdRKf z0m@AjN(?Pe@t(ay`$oXOxltB~Lr)=$kU~1bjCe1oJ8-s-s@*A|6#bgxD9bO@5RNgA zWR@RJrUD*js%TX2sKI8GGarWV2xwP*gmT&yeZi(`6R8K7tz2O3XMcaR%G;I1SPe>rjXd{lnb=DJ8cX^a5$Rd0a4&FlXLb1hG8*{Y&= zbXC_;QJUkB96HrC4#}b+)@9Sh{iD*p3TOY29^~ApDQ)-sb;}^aV*M*I7Vw)qU&c9* z^S3)HVjj7n*l=5s^~_(WMiFPh{+vv71D?Ec2T+iQR+b;0W7f zklyoyL%m$T@@H_9$4CS%)IaR3aCL>V?Qkg}%$6U4C`hlJoQKfK+JXER_r7-8=e_*f zqY$<%2i&WGaD_6o6LnA8IzU$riVYl1tu^}A)?D^tbv)yn75tA`6&X@z1N=|+E%hx0 zaqS3@<4PRmI96cf@8QL_e25Q3ikbejG+AT+Yo2@PbAvSdBxQ2r`L?U$`!V&mf9%$V z4*{B=f#@uK5**vAUcciuk8}|!;tBN1EB0=5Mi@)eau)liR8~+}vH^QA9l!&8tG<7C zTf<%NG5G%ycW_o7gusp#zitl?{IdOy>+>Dhg)@U{L50|&aaew@rn~26xq&W)Pl>|k zG#Z%N1pSbAROW5BRgQZ$-iQ!|QB19etxu};aN~dwE>KqL0W$VRwpSc-mUm_v_WfEs z!wW`6Ua$KbbNmn7WD~&B_-`DSD2$@!pqk?vijU>Jf6uT9HUKs=H0WUU1N6~80o+?q zS}6WqNC}EnE}uizZRcO+GNuxRL8YZb_q=v;)xc(k8nC7`0cPT#f59f9#tJ^PP;n&aXmzuXx9SB(Hly4&XiP$8urXf$D z0KN&+FDQzs_+nYU{}EpM8JQ3a-x-O4Q3aEK|Bq`*-X&h7kXrB*-a=+^`|IHG-IBJV zz@aS@r3k-daBS45SFlna3fIQ>Cx7U9UB7MS&#*nzSC{^$)4A zF6WkZpy$7oPgm)YkMlX_q-|b%sHAwLAIHFuYjx(q1KhlQah_UlHoBo!h81p&B2<0JC&OqprL| z`IIYYC&y<{cQSBk39JW!*7Lp(u;q+7Dp>T4`*C<|FdnW96d7pPf3 zj;*K;^*3bqAn~X6+-j03y}{Ja#;#T*KM{5YXP9v0xHQ8)L=Kr5ndaO$f3Q_6khrTl zVGfy|8tEQQ%aiP;6K3>dN(xx-Q+tP=$RrU60}K~5h^RK&?&r@K&ua}$?2Io1hK}M- z_(rWCKR$p<*-J5x0Jt#CK6?$|aB@^6>#UI!bB;-uxruX=_s6?A0f9Cu zMC>RJ6n+h8Js$W`MG&lI)zn(PB?3qJ2vwE2{D898zt4*g#78(B-%Ay;V#EAg~O%(b`5^|25?Jy4_;5f2~Hx_lA>OP`W#<#`J zP5l^|y$q2OHbtdFf9O-W0_h#y#c(Gp{ojXp(dOiVznR2-W}I3VDgA>GBk-4?nTQpI z)KrKKHp3I9gX(gJgG%D_Qpg4>q>)#Ujy1O_h$-wI8Ntej+zMQEW(*Cb3Kd7 z6_~}DLD!TWii$?ro3j?Oza|!(yL|ISPOjPoURnk*&5@N=um;0zxx7oHteelzZ`ia5 zGTN2n1zYTETwK^RT?;qZG4VW-^yE76+uUmQJs%!O)bV*~fZ;YlMxYK$^7-_m-Ex*cd=Y|6yy09i6BSSIS z`3_muGZoVnhLqhIlDUkrMiy6`i}hZq<{tvab8RQ7$cta87_s#{S*i-|akX8{dW0$f z5qZbSJtD4ka2fT(KJ-=Vr+s!Wyy`2wOC@Y*h}cqd1v97y$vhCzeb zZP+LERLK1`9j4SoqB)H2!8o{xe5dViXx89v44{J`_3JqkT4*UWSysI@F`JCVF8bN` zb|zmWk z=Y@n-Rj>?;m&FlTjCgH)Uj!!kUpb|WdWGcf`e)l>%+VhkkY&9k*e~^vX_u4`7khSp z%|&Q7dE)%hL5IGIG1#~*S<#VE6C)MFCNn=#p%oRn2tAPbsusYskq%*)mwr5Q+ST&E_rVD3z9%vB-=q_KJ`Co&sG;+eZLMv}Q zLET%W3+-XUEOVn5+D$u_(;R#xYdo< z7tx8ICDqpBvQe_6(e_8{t*mWND>&c4Wi?2fs1xv%y!M9dO4 zzD$vQ_;?hB-JWfTCpY}FB>P0qlv)GJ-@?JMinZzccKj_R+M15ZHwH(O%eYC2zI^Pd zs2P{7-J}7TITkVm&*K`tL#7I38TFYTLn!>=sNi z-PF%VZ9Be=u&)!4s$JK?Z4iyjeaqT)Awu)GirkI$-X;@GD%=u)bx9HR@U4!t5}emd z)*9--Ac7G1WIg@`{vHBaenaH2Vcn$uWbI;y3aeCWzd;%MMNQqRmiHs4x@P@XB}I#5Qer5a zB#i(CZ(l&yoWeOvQxp4|ziQDO2)_TGt&Ds+I;*$qt&PX+9amb)qFmXh8=J1Y$=*L} zwy3gR?C>))4S69xO=6+VO~aiJ=d;%&r`m2gZnOdKc5h!-z@wM=hIc zS-v0LXB?S_z?g*m;o`uK9jXC%BO6P~l@u1ZZW@F@Ch7$2uXdD?beUjs!s19l-2UyL zo8(l5+e+O#0PKSSr$$mhL=*YwAGu_+{nrBQP|}*u!?(GytTAcZ@g2>|PPY&aH!OW^ zA=EYd=<1~P@>j_d zNeN~o#t;i8?Ch_=x$@1Qkp62(z?w=~3+Yl&2MtdC)e$_1a6|shW>Q)Kp-LLXma5%V z->v3K8`0?m!g?#IpIzgbmWU<29$AsW?JLg-Mpnh>mZp{nnf;27ef3=v8ygGYz?8^P zci8BDz^x6L=ie)34yzj$A~#_T?;mtc24r{(au3cV1LWkO3$xeMr0>y?>|_JR$*tC1 zorTWCG9rcABJPvxEJ(Sy{^Ty5m8u;!cu(?+x?tX?k*FyloLs4-ZfM0G+Ts#=UomKJ${3Z;oIOU8un~_c7Vk48m%6LfO@BB=XMCw<9rdxW{?s>>|LrV2 zo+A(b+q@517om4dJJhU#t#mf&69YZyuQoXAtc~eoh#2@VGhDEmCj*njqxWFD+bK>(mFss^z4XUBi@G^$ZVVE&R~`)fbP$fYi-% z_onW}GYOyC_80a@HkG_@qrJwtzwX?tcP+EBe?N%qr-{=%6?WsFdOrFnZFgWt;obg^ z@?&S5oYD)Uc}jbvoyrJ|-Br%XAivhPeL(S9*ea*D<^mMv$<%MiV{mKGwSSwY4e!1U zfPlR@JT8Z{8uh(n`ZPe${v_qhRxA%?u8#{}dt)Dnh>oWB8fJ8~RnwVGEG$!>%??_h zQk|N5Fpk4a`A&*0;p*S1Xt4R}f_-lyLRh_)!7QxzdMMpH?3j2=&@Np=sCj5J6hPjw z+;v^;e40c5>uYu#i;=!?@2AKj7d`*5LnflS9gTiO^y3FX%4fo1CgW^DY)(~#r;PmB z!DvAOx%n+PUBW$%-RPovfonDbPhqg>$s3_%f~RAoP5mhT_C<^jndsDxcIA(yh!1-t ze`JbP<^4p5rp{s88|B#y2=!=HPJo?Aw~>8~4sEBn^KV{SA6LyEm_?A4zT7q?#48S%1;4x!?3yEaKh=E}n*(wc``HW&NIw`} zb-Ai|5XTm0esGp=!0FYLq+U z*ipFXGwJbyXph{zmjSF2{b+eWYu#o1Q(0?K)&r&2^1joub6r2&ud$}&cXHK9I*`}@ zIjs;;5gS5(niXYZYbArt<>~AdxjA%l3<(3Dk5N~0Bf;dAxGps?vg#pve%avze*OEg zU#8WFexX3?Xk?d}Kc{pbS_=LkEiS~R=$4I`8i1FW8|YP4<)CDiXW!Vt1p2SSqT2R$ zVHCYVpnsGc5`$EVubKAe%VgFF3?&VV?$CD}uI5n+CWl2q&=%EO!KUpO! zRJ_(4iLUZs&^v%yh-)6Er87=Cmmj;2` zmz@z^ildk>3{ImPtSZfT(+;23_Eh>Tev`vw74OqJgxWVtKmCR%_Jc{9)(rI;)DFgp zhh^wRi8-=O_sma{0@QIeVxCFf7Xs-gI3bx1op4Ar%OikYj}`)RX2&Q#*r0e{`uy!0 zA!cTP24l7&;;Uc*E&k2EdST!vJ|72ACbh)vPg@B|D-Um?(eGa55HX|W$|c+3{ml1G z>*E@K`&3%q$>~;x(x(rN4%!>B$iQw}(McU(O$L%ell^nR3orPCT~KJs5HlwQ2voKNlO`G4AfjgwA5wi)S?CVtlz0 z7z_=YG<2Xeuj6R65UyWe>P0lBe+e@*`e23u!YWlDuu64$}<2=xiz?kMc^ z@yZ1YG6n~B7$*nDmxDN&igbVc37R`|dvG5L9B5kA0J1n2Me45ExVfHa^Ir6{31pN- zwTO|J2qS<~rfN__L zn{T(>Tsj>v?n-?PLME`c{e%=#G43rN{iRD=SN~q>|fE@fo}g-QnQO=33v=?A_>(pWl3rVe=F z6nD0oEl#US=x@vLJv+M*bE;{_fDJCZ$Xle)^~i9Lq!S&(A?rDCk4Q9>PQ;MT$)-z{ z#W&w6yWFOn!4M-%9t8 zL9}nEiEEpDu&>Md##Sq-L>C4ls_7G0X@y3(N@=11P(xXMT%M~A06J4hxY5F^Gj$fo z!Z0nIufL$UT*NlV*@$fof^IO4yai8&k03=OAr%SzD7_4a4v&>Nabq8CV@lFOlZM2C zvK5?y`#_~hEzm}NY$3=TUdfV;Vaf%WLrU6?f`R2*SX=i=^{3o1Rbm6g(nz~V*B$BF zP^x-G^%U(-`A?uDAWhT&9p+aPCNdY*)DtWJW#Fre%WFD+1Roe*NLHK3#vd`wlhTRw zW;Cc6q`AVCMl5^vYeEV&{5^1PkpilnPzN_Wu(qsj6{^OuJ`e`UCJGvK$>pHDA148$ z@@NVfjjY986K4>q#jtnX5sIZ)uhBbY2C47CE(F4c@iWC%fUfoLX4KX9FgEYbRB$*E z)LYM{{@PF^_dyc3H3zZsWvwn~EjAoyAG(pbtyS8^3uE;caYn2xmp`q8uok+fw%6R? z-QZV$&(eK9%=aGXkn6*}0)GReSUCe-ncO!>+cn{_My4~SMxa<-tk*GC5^U-IUsS=136Ee-(VcVy9P4DQ z48Jq!1n_kK7PrU87nSD# zF$4a$K3IZ=GX|^bO6Z}rpYL5%51yE{;oCt?r1D1=mZgJgI>_EudYEP z*O)ghT^MDeYfO6IMs8+JxRa4GX+pCUL9Co16PXAJ;km^RJvzw3Uf19)!GZ!`G+$>uHE z3JLh!2t99_r`V%pw5k~OqXmdh8YD8VR``b~6jCZAqgdI9iJxymEG9aY` z#FG*d7ANh@D=Uh}<)bRYNu%7W7l*b6W+~DJ>nXMe{tzdz2rMlRp33q%WF$AwK|xU# zfxuHYfgHqZfH81#5*jHO&>+YeKm*z-ufZ=WCP1DS1^={A(4p1Rn=mr&!o);^8$zZJ zBeqaQR~ykX#OPI0CZmlRVWSbQ{mFMrXvveI4N&*u`b!i|$u16evuyR^q(yEwY|t}= z$JCM9@VB1BWiCBaz$6%*1%tnwvY6NwihxEO3o2lVT(M|~Y7d#;rK#aK${%oOx>}Ur zrz5Ls^J1G5>h=Px_u17^0Apu}30A+DgIKp(Xv3rqM(CBU3^KKwaFUaLl0iWvhhH$DXb#4GRclPDw)?0*| zYf5X|Zln}Icm$Hv7TgOE)~NkvB7R`FQgC_q7?0Nt=*5G42NPcp4n5c(OPP9F``F6f z@kBl|Ul;QA$!=x#$S0bwLJWuwGjDBDz!51eMnrx|>ZV)Q+oVf1o$9dTIbbm+&uKNCl4+Z-d(K@5 z0Cjz);sbIex(?%)b0z3!g)Vgw$A3NPs}OR$Q0UlTN90TNc57tiM?EuY>b}vdfbm$SwOFIhw#;>no z3vKy#hkpIwi>O{-%8NGrF_<$!nAa#Jt1}?%=4@Hunw1^RvNK+9<0c-894GN-wgm0| z1&99rWBi79y!$vkfGsOM7bngLE{Kzu7HzRApLpbMSF4{iT{FS3U@JmV$J?$A)^1h2 zLIe5&HUQ*DSC0z=2;DIqKcq=Q z^HlA6?<+1`_LhKGd(+{KSxl&y*PKR|P$gvKy`_kV8^{^>5$@fYO9vib1?v8JS0D$phP;u%t5h#U z?ewo#GaSsLO99+)9xc**2=oJz+(EYRow@tjudaol`Ha2sZ;&DC6$~aAJI{Y$j26u; z#|<6?z>J~sF3~iog;MfS-AJv1Ct-MP8$<+nrw~o+Jj}hc#oAP7-zSZV#{$=eL)S(M zZE_*aopdzSc8zrRN|R>Q+Qfa1k9Q_D!>tBBGbQN+JF|k;sP|RPkLz{ej!qrDJpFe; zWG(sk6epsg(3fj$M{Mc|NH*pjKn>P}w@6W{>g;bRYTjDY(R~P=9&hiw zTX1HcGUJ@1-6D68Y8B-?p?c$1ttp`?8Y`3pMS~ITOo}AU#U>#Bej17IK@tnt+_ud! zQ9=>RG3snuTh0eBc|_7ETS78RoGTE5(ptupg(!(-LZ5+Y!@%Z7aO!;ukb~NH>151o zQXx>xQM|cD$JdT|3zi-hs>1PT)9yZ}oZnyCv3NR_;xtP$`KK+AlGGCS>hq7*yH$dx z{enqs+C9m*iD9PFe%%zW#g?OFLbVtIUUOcT3@) zDY@lN4Yn;B!10dxr~wtHCDmVYd^$NMRe?q}kVrD9dY}|&;i2WKs0!ttRZ?zy-0q8gw63Jx=O+S&}fUNZVHjN3FPcYS{pDGwByFM9G8Ah-cJ%|NpZGGC(9*g7aj4MKU0sV5W-S; z=bTKmCP}}2`)!e*amUL8rjicv6(T=YTx9yxkgPl^JOD5~!;tXpwj(BVw@q@~RXMGf z(nmKpK|_ZhfPb`1^9*r;qRy0+8(5vktpQ*)EvdEIFlv!APN^t_y0yY%8K!R~{=lJh!vhZ=YgFshJ z_`{5CapV#^+r?0amM>SnG4G+qg(#iU;lpHB8Z|T_E#(qwnWphxHSlYZiY?1+*!A?$ z@?ZgVlfE-9GMBl$x#k`>tT{S zk+e@ybqZQL-j&nxW4CU2n3ruFtoyj#9g>`@Ws~Kr*qQvPU4pa{iFjHER#5YJHzW@B zN?>VX?FtHA(k6^5F4T08=tour+p=Di{Tfj=fUxiLZLTsrNh^rq<-8sw+=!##hWf$8 zPs)xg0xZZMXV7_^wV9Up-n}VWEwPcncRm%2^|AbDz@6L^l4jSEk;>C_6ywVDOL39I z<@8+m<~sCC{{7z$If9V!(8x~CSx3uMzGzhmEO`ep>eFHs0K{Ibl;Z#U^4n(s$Kl~J ztS{j)!B|-S---Ocl8|rA<#$O47q;Sfu?UFYQl6RZh1Enlrfu?%;U`dWG4fiTLk8mX zRKt7+j!{xdo3^LDK@9vjD5#G|bff8MrPsUnePQ~9h)KbFO@qN5ueMSdn1fey?+u+aejB zwa>$Q&ErFs=afOeB&zA2q)mP{i~t(Q*%DX(yBTyYNitM;8JJ`03dw!)(HNiQVOVTjkaC=WrfM#a&BVJQ8|Lh>kD(NL)XL;eQLVrs$grmZ!_J(2^eZ17$eVUh=t$d_ZGZ{G%o5-nEdlMz6!e z0I|@w{iHlR5=HB}WcR(amAU3Cm}Ct=d~<)y%;Bj8*`kK6u|P;e7Z#F$)w52XSh>!^ zdG+TIXRd^JcGuP>?rX;KXGu@FpB0{Tz7(&ywam2|ph~Q~B&KjS6ah>9y~O1xH|)?c zWV0=#Mvb+86j*V{?xychIMG6Hh4!effOQ`ajHubz>=X5kiV)4`t%7STMYQ2w9;&%l zqc|vlGXQ??pC3Rb|2Aa{yA^XFL4qd|lMz>m0?mavKf7*eE4V2}80&>g_Y=I)$eP@y zr{kqw=AL`L|mWl`os_+Z{;U8+(Pk;a-`x{9|gsDYA!?ET3 z^|-D|I9oSREwn;+Png7bAR67@!(DU;F{rC-4*Kz?;Ezuz_~e&G$hyPq6SSM1{YhLO zZuDYa?b!K80Zkl*8-l-XHJIlb;0-%^junWLfKq!>U@Vwo{t|pIwsb4*^bL+9ZI=Ye zAa;$Z?-)*m0;gb8M{VGQmp7SU9AP5&uSSQxYdRTs8vBThGQAT#7u}=iXDoE8z5Lk$ zxkchf$qz*}RHvckOOAL_#mK*b^w(gcNU z7XOF{t*+2yu7BCA->WIP)IY<8ktcW{UsI!Syj)T)D{2iBNb+>BI-Znfa&`PFCHf^A z62caQkV?z-Ldn}q@`C2ghD1$QxazNxE@6M!n^?;ro}?YbA$!LHm6XVVCd`xf(CnD4w%9BX_N7zlq70F&viWH$ZA_%qoQR_k2F`}5 z8Y-x&+v9}i1bu^UwP3j`kF>O1DV47p$^_972n3Iz7A2y>IfMcQjBPqrUT`K+{Z3ld zk@`Talu0^Szss0|6Xzky=Y;%({}7=dNgNTmR#tl`W~(Yo(4^Q-&G6uR;goe#1f$3V59cHKQ@s>u?nVG zWwwB%a=%kwOQTf*_Hy>r3WR^7Nc%~iS66xp#|p>Cg{Uu#dY4kYf1}#Uf`k}>D!{O@ zKBOkKq+hLvl!iV$Y>&M^tfKbmtSSea#=R^~IgGtgyl3QuLRse2I*3MVP_r~^g6XAF z?ZJ6{B*B~xRMmPDKy^4=LSe9umT*i^Sz~qn>g;GrjS?*eR9BJ8K5ll350OAlbO7{; zfh`#QT3<;-jZ|@+Bj9B5hly|4bnXQGhBsqV1EV^fAnaEs zh9^PrckY7TKpgh&+nd*2q&F?5dDP*bV-;oWsMqrEIGuM)N?we`eQ4X}2h#zYRRjG( z8dzC*Df?wXEkfq#K&fd?r8V~%QI?7D)w5h(w%7r{HVP%!K+eENPuol6*Cs(mo{H9Z z1~YjP!Sah~-?>;H zFE~C6K73sFZe6sulL{5?19m(;$k4`&o}dhDdyVC%R^xTFd;j}u&KxG09+|)W?AJ1s z`GzeS1`6PyJy<+b*It|@EA!fNiNQeFJrU$Hcw7{OVAyhD)Iv)^1SE5T*om@{S7EP? z^05DY#oC{~Km6=08O{>lqE?T#-2ZA+dfzn5ZII|!q!2*R{1)@r0*VD>y&GF?h{p~^ zk`jm5BE~1oHi|djH+*oj=_j6Q8h`3_rwq3N47qU)OFM0(v_7Ob##W?yKJJ ze?5@XijqcA5tNbMysq#=1@w0G2z&{A9X+}e5XhoJ%r7{D;nslcQi%!()bCx`1Uwzd z2aCxclC;G4usl$&9bYV1vW_)8O-OhNr9Y*+u){WApZ$T>Q@on_^r4F9L>)n=?Utd| zfT1N*vSE1+!=_fm2DG``;*AmwFC2BCE%=NuKapVl5TNZDB^(##OU<18d0H{*+{vxo zM!)W;NItB2QxfusCa4ni(1UX~^>a6@!2+v~wnXVkUPyaka^=|X_-)KB;5I0znn8XE zjXQ+H^zzwkNZyu}9Yy`9u#89??#(7MMyrqjh_QU4cv zI}1bHzbxDo{0K$@V>QQ3)W&AkI8NSaCNyTWF*7Jc>UCP&oVZk zE4Z93?~LX~8{oEQhNOM06hdhc}rY>|WUH==&Crd%6q$&e9oHg?3kCP|U z9y3n>S!qnCK6~mC=9<&et;_Uk38Fj*Ny^xE`ovDk85Bi zqsSAG;>78GKoha*1-I^!XapHc7qU|V^F(%DOnI%{oyXYHI%JitSyJ7fP1{hlt9E-` zw~YQ*UG=O+ZJ@OBWHcBdubReWv&Xb7^3(>%^8?L%oL<9yPqe^sAUKT>fOFZs$?;xa zds+>dBkg*klMg6=-%AEdzhZ7gx`9L)zusM6FrbB$3_<-2umZ}mel$BL)V?T7hL&kj zx(out1ju4D8G14dP7{cNIW~);O8X?CT#`_9z!nM8k?m6lR0f}8u&7#7<(vtWOFE#e zcMq>PIV`%?t*y;q?Gt8hPqsGM1A}a6;@taPGAIXO8x_2bQ67jK*O}H?)YPl&wk79cJi z!=_kOR7)&X!#JD&nAm_$PFwZ>AX2x0*vQ)A(J`@UhRg{~q1v7LktbLPguzFl*=}K}6xhme0G)9wy*Ch(~4i4Dg|U>P2ZbjL4yRDWNgA906R7WsiCuDBm;0+-f3Gx zAbPWZ(uR-s@18SbfRv1|53!X(o=~JXDx?S*o8bso)jeAZU;9C7;$FR+yApuptru)G&N|e|7Pietc$vFe)liwTfIiR>~T0vn@?) ztmQy9n|&uqMM%]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 arpaname - + @@ -90,6 +90,6 @@

-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.ddns-confgen.html b/doc/arm/man.ddns-confgen.html index de57fb98fb..3ec7ed9cca 100644 --- a/doc/arm/man.ddns-confgen.html +++ b/doc/arm/man.ddns-confgen.html @@ -10,7 +10,7 @@ ddns-confgen - + @@ -235,6 +235,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.delv.html b/doc/arm/man.delv.html index c8577e7281..d148ce0894 100644 --- a/doc/arm/man.delv.html +++ b/doc/arm/man.delv.html @@ -10,7 +10,7 @@ delv - + @@ -625,6 +625,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dig.html b/doc/arm/man.dig.html index 7c12e21ad4..986458daa4 100644 --- a/doc/arm/man.dig.html +++ b/doc/arm/man.dig.html @@ -10,7 +10,7 @@ dig - + @@ -1145,6 +1145,6 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-checkds.html b/doc/arm/man.dnssec-checkds.html index d65f82a7ba..2c99e16d52 100644 --- a/doc/arm/man.dnssec-checkds.html +++ b/doc/arm/man.dnssec-checkds.html @@ -10,7 +10,7 @@ dnssec-checkds - + @@ -148,6 +148,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-coverage.html b/doc/arm/man.dnssec-coverage.html index f2c1f214af..800dc19d95 100644 --- a/doc/arm/man.dnssec-coverage.html +++ b/doc/arm/man.dnssec-coverage.html @@ -10,7 +10,7 @@ dnssec-coverage - + @@ -270,6 +270,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-dsfromkey.html b/doc/arm/man.dnssec-dsfromkey.html index 2d763bc9f6..834b39fb6a 100644 --- a/doc/arm/man.dnssec-dsfromkey.html +++ b/doc/arm/man.dnssec-dsfromkey.html @@ -10,7 +10,7 @@ dnssec-dsfromkey - + @@ -352,6 +352,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-importkey.html b/doc/arm/man.dnssec-importkey.html index 96df060913..76e60ef38a 100644 --- a/doc/arm/man.dnssec-importkey.html +++ b/doc/arm/man.dnssec-importkey.html @@ -10,7 +10,7 @@ dnssec-importkey - + @@ -250,6 +250,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-keyfromlabel.html b/doc/arm/man.dnssec-keyfromlabel.html index 5c04e17372..0b52184490 100644 --- a/doc/arm/man.dnssec-keyfromlabel.html +++ b/doc/arm/man.dnssec-keyfromlabel.html @@ -10,7 +10,7 @@ dnssec-keyfromlabel - + @@ -490,6 +490,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-keygen.html b/doc/arm/man.dnssec-keygen.html index 859fd66d99..a4ee45b54c 100644 --- a/doc/arm/man.dnssec-keygen.html +++ b/doc/arm/man.dnssec-keygen.html @@ -10,7 +10,7 @@ dnssec-keygen - + @@ -583,6 +583,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-keymgr.html b/doc/arm/man.dnssec-keymgr.html index 32a31948d8..cb1306c8a7 100644 --- a/doc/arm/man.dnssec-keymgr.html +++ b/doc/arm/man.dnssec-keymgr.html @@ -10,7 +10,7 @@ dnssec-keymgr - + @@ -416,6 +416,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-revoke.html b/doc/arm/man.dnssec-revoke.html index 9ad7664338..3affc950d6 100644 --- a/doc/arm/man.dnssec-revoke.html +++ b/doc/arm/man.dnssec-revoke.html @@ -10,7 +10,7 @@ dnssec-revoke - + @@ -171,6 +171,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-settime.html b/doc/arm/man.dnssec-settime.html index cd71cfce74..e64d3fe651 100644 --- a/doc/arm/man.dnssec-settime.html +++ b/doc/arm/man.dnssec-settime.html @@ -10,7 +10,7 @@ dnssec-settime - + @@ -349,6 +349,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-signzone.html b/doc/arm/man.dnssec-signzone.html index c88cfadff9..e60b7f4604 100644 --- a/doc/arm/man.dnssec-signzone.html +++ b/doc/arm/man.dnssec-signzone.html @@ -10,7 +10,7 @@ dnssec-signzone - + @@ -708,6 +708,6 @@ db.example.com.signed
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnssec-verify.html b/doc/arm/man.dnssec-verify.html index 7090b2a6ee..171e12af94 100644 --- a/doc/arm/man.dnssec-verify.html +++ b/doc/arm/man.dnssec-verify.html @@ -10,7 +10,7 @@ dnssec-verify - + @@ -202,6 +202,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.dnstap-read.html b/doc/arm/man.dnstap-read.html index cc9cfbaf11..54bf14b90f 100644 --- a/doc/arm/man.dnstap-read.html +++ b/doc/arm/man.dnstap-read.html @@ -10,7 +10,7 @@ dnstap-read - + @@ -134,6 +134,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.genrandom.html b/doc/arm/man.genrandom.html index 5d39e3c60b..20471a63f0 100644 --- a/doc/arm/man.genrandom.html +++ b/doc/arm/man.genrandom.html @@ -10,7 +10,7 @@ genrandom - + @@ -126,6 +126,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.host.html b/doc/arm/man.host.html index 2a008d09d3..01f1bc12fa 100644 --- a/doc/arm/man.host.html +++ b/doc/arm/man.host.html @@ -10,7 +10,7 @@ host - + @@ -374,6 +374,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.isc-hmac-fixup.html b/doc/arm/man.isc-hmac-fixup.html index e7a0539dbd..a61d51898d 100644 --- a/doc/arm/man.isc-hmac-fixup.html +++ b/doc/arm/man.isc-hmac-fixup.html @@ -10,7 +10,7 @@ isc-hmac-fixup - + @@ -125,6 +125,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.lwresd.html b/doc/arm/man.lwresd.html index 45acd97981..f12f7f95c5 100644 --- a/doc/arm/man.lwresd.html +++ b/doc/arm/man.lwresd.html @@ -10,7 +10,7 @@ lwresd - + @@ -329,6 +329,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.mdig.html b/doc/arm/man.mdig.html index da3723b983..4f84fbc9ec 100644 --- a/doc/arm/man.mdig.html +++ b/doc/arm/man.mdig.html @@ -10,7 +10,7 @@ mdig - + @@ -232,6 +232,10 @@ answers.

+
+burst
+
+ This option delays queries until the start of the next second. +
+[no]cl

@@ -611,6 +615,6 @@

-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.named-checkconf.html b/doc/arm/man.named-checkconf.html index d76cbc7038..101d36acfa 100644 --- a/doc/arm/man.named-checkconf.html +++ b/doc/arm/man.named-checkconf.html @@ -10,7 +10,7 @@ named-checkconf - + @@ -192,6 +192,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.named-checkzone.html b/doc/arm/man.named-checkzone.html index 109af2dbac..e1423071e0 100644 --- a/doc/arm/man.named-checkzone.html +++ b/doc/arm/man.named-checkzone.html @@ -10,7 +10,7 @@ named-checkzone - + @@ -463,6 +463,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.named-journalprint.html b/doc/arm/man.named-journalprint.html index 24f4b72b79..52ee564fca 100644 --- a/doc/arm/man.named-journalprint.html +++ b/doc/arm/man.named-journalprint.html @@ -10,7 +10,7 @@ named-journalprint - + @@ -117,6 +117,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.named-nzd2nzf.html b/doc/arm/man.named-nzd2nzf.html index 750c5ccb23..7399bd9b25 100644 --- a/doc/arm/man.named-nzd2nzf.html +++ b/doc/arm/man.named-nzd2nzf.html @@ -10,7 +10,7 @@ named-nzd2nzf - + @@ -119,6 +119,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.named-rrchecker.html b/doc/arm/man.named-rrchecker.html index 9ed58d355d..293731ae55 100644 --- a/doc/arm/man.named-rrchecker.html +++ b/doc/arm/man.named-rrchecker.html @@ -10,7 +10,7 @@ named-rrchecker - + @@ -121,6 +121,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.named.conf.html b/doc/arm/man.named.conf.html index d37a048256..6047d391df 100644 --- a/doc/arm/man.named.conf.html +++ b/doc/arm/man.named.conf.html @@ -10,7 +10,7 @@ named.conf - + @@ -1034,6 +1034,6 @@ zone
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.named.html b/doc/arm/man.named.html index 19c3c1ee15..f34f4b0050 100644 --- a/doc/arm/man.named.html +++ b/doc/arm/man.named.html @@ -10,7 +10,7 @@ named - + @@ -490,6 +490,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.nsec3hash.html b/doc/arm/man.nsec3hash.html index 695922cf78..ae2b63065a 100644 --- a/doc/arm/man.nsec3hash.html +++ b/doc/arm/man.nsec3hash.html @@ -10,7 +10,7 @@ nsec3hash - + @@ -130,6 +130,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.nslookup.html b/doc/arm/man.nslookup.html index 4eb3266b99..7454c97227 100644 --- a/doc/arm/man.nslookup.html +++ b/doc/arm/man.nslookup.html @@ -10,7 +10,7 @@ nslookup - + @@ -443,6 +443,6 @@ nslookup -query=hinfo -timeout=10
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.nsupdate.html b/doc/arm/man.nsupdate.html index 8e1cf93201..492fcad3a5 100644 --- a/doc/arm/man.nsupdate.html +++ b/doc/arm/man.nsupdate.html @@ -10,7 +10,7 @@ nsupdate - + @@ -816,6 +816,6 @@
-

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.pkcs11-destroy.html b/doc/arm/man.pkcs11-destroy.html index 18a64c84f1..b87bf2d7ee 100644 --- a/doc/arm/man.pkcs11-destroy.html +++ b/doc/arm/man.pkcs11-destroy.html @@ -10,7 +10,7 @@ pkcs11-destroy - + @@ -162,6 +162,6 @@ -

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.pkcs11-keygen.html b/doc/arm/man.pkcs11-keygen.html index 87ec38b66c..81044d9faa 100644 --- a/doc/arm/man.pkcs11-keygen.html +++ b/doc/arm/man.pkcs11-keygen.html @@ -10,7 +10,7 @@ pkcs11-keygen - + @@ -200,6 +200,6 @@ -

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.pkcs11-list.html b/doc/arm/man.pkcs11-list.html index 93b02dd71c..0b2298ff87 100644 --- a/doc/arm/man.pkcs11-list.html +++ b/doc/arm/man.pkcs11-list.html @@ -10,7 +10,7 @@ pkcs11-list - + @@ -158,6 +158,6 @@ -

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.pkcs11-tokens.html b/doc/arm/man.pkcs11-tokens.html index 5d72d1440a..5e74ca7683 100644 --- a/doc/arm/man.pkcs11-tokens.html +++ b/doc/arm/man.pkcs11-tokens.html @@ -10,7 +10,7 @@ pkcs11-tokens - + @@ -123,6 +123,6 @@ -

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.rndc-confgen.html b/doc/arm/man.rndc-confgen.html index 82f6b08670..f031ae309a 100644 --- a/doc/arm/man.rndc-confgen.html +++ b/doc/arm/man.rndc-confgen.html @@ -10,7 +10,7 @@ rndc-confgen - + @@ -277,6 +277,6 @@ -

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.rndc.conf.html b/doc/arm/man.rndc.conf.html index 6540009dab..6498811bcc 100644 --- a/doc/arm/man.rndc.conf.html +++ b/doc/arm/man.rndc.conf.html @@ -10,7 +10,7 @@ rndc.conf - + @@ -268,6 +268,6 @@ -

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/man.rndc.html b/doc/arm/man.rndc.html index 122e2bcb93..7f1af7a6ad 100644 --- a/doc/arm/man.rndc.html +++ b/doc/arm/man.rndc.html @@ -10,7 +10,7 @@ rndc - + @@ -890,6 +890,6 @@ -

BIND 9.11.24 (Extended Support Version)

+

BIND 9.11.25 (Extended Support Version)

diff --git a/doc/arm/notes.html b/doc/arm/notes.html index fa9428ab5e..0aeaaef250 100644 --- a/doc/arm/notes.html +++ b/doc/arm/notes.html @@ -9,13 +9,13 @@ - +

-Release Notes for BIND Version 9.11.24

+Release Notes for BIND Version 9.11.25

@@ -73,6 +73,40 @@

+Notes for BIND 9.11.25

+ +
+

+Bug Fixes

+
    +
  • +

    + named acting as a resolver could incorrectly treat + signed zones with no DS record at the parent as bogus. Such zones + should be treated as insecure. This has been fixed. [GL #2236] +

    +
  • +
  • +

    + After a Negative Trust Anchor (NTA) is added, BIND performs periodic + checks to see if it is still necessary. If BIND encountered a failure + while creating a query to perform such a check, it attempted to + dereference a NULL pointer, resulting in a crash. [GL #2244] +

    +
  • +
  • +

    + A problem obtaining glue records could prevent a stub zone from + functioning properly, if the authoritative server for the zone were + configured for minimal responses. [GL #1736] +

    +
  • +
+
+ +
+
+

Notes for BIND 9.11.24

diff --git a/doc/arm/notes.pdf b/doc/arm/notes.pdf index 549fbc1eaed1e9d018183db2049bbf360727aa73..5c8599221889db681a24f9f8541301151406e702 100644 GIT binary patch delta 51141 zcmZs>W0Nin(4^V6ZJ)Mn+qP|6cN?c|+qUh~wr$(q=bep>iP)L?RKFlA>&iTQh8p~Y ziYEnSW#LLPlA#2YXvrjPwj=j`YLv5MR!$t;Q6*$0T{qx6tgF;|X5(G)36haD$fCdi z$5y{TpNn%4Nw3IKw@|R-2!dMreuEUPyJJl6^hLaVe*BC~cNudpPMq){o#$dM zB2~hi@W|i4W4=Y40>Wk(43vi&5MOC~Gz%{V$iQ zvwDq>v+z-C=6GENrcBn77E_P4R-P7g!`Gp6#UWw7+0~7Z(VJstlOnbCYoog$YvyW_ zlXSGujj+pzreM4t<1{>Ocl|q@eXtGbr?)uch=l-o^7AJZYBHpmEBeF)olfDc8jckd z^N;P%?R?kIWlQ^PcXS72@TmPeB-4Y;_gJ!6!EG0FZPH7>xPVu6HY=DkkW!-ve-F!!w1P}?At|^T_7kG7gg{UtBH?C8r=xe9o2~MB0+cSVf*dBF@6YM!eaG}PDJ1qz z7%4#bW>)5`BPgR>5uV3{jGoZ0QVgRtI(T@gU8L~$zV|swbYU&7X!>4nX?WEoSRewn zagDf0arRiCpv%B0STw_F6r5_+vSmhuHJ(xhPS-+XF^?$0fHpn#@-;N@KRzpToroM7 z$oC~xQ`B-@kiouFF9aS4KSuQ>eT4eg+(1BK+{V8fZbcGt$$g|mW?_Ezl&hSA?gmL; z2wIs;c^)R72S`&j!E7B`#!`8R@AClp+p&&AWYCCNdk?+1X| zujq?I!iHgiksyV42f9%j%$jai%wRHMZ`cuap-hxN@GN-}p?{tO zQI7BL3o}bQE748ct1+ZJ(q$1PPz3l;P(2I<&8;9MCUfLwX`hQB7Py_SF_+RY=TD&u z=1yc$))KDLy_@2c;5GAMM{pF4V z1HL$sb5%nLGl5@z2n5R_v6rHG$92Zl2=3hJJaM1E_qHX3MQ+IUSj9#W7MLa2SL!j1 zAMZx>(=aeC(5SMZrUG>Wift}pVvPp8lsK#>Ga3eM{E%<}z239eGv8ax*`ZHXqx$T_ zvk+CB2-tYmeHpjUMij6WH0u`D)v^(LCb7U7lv!ik-O-c3yK|qwxacvnoimsMBg~_b zZ^p(=;SlOv6UOOUw4(g7__yGsV0Xub`=O0YDh-gUSG>)(vrR%jbP&0j>!))RP@sWp zatqo|f968bwiiG^)^c|X0v6_~E1RJAdF0r{#)8qSd7Md?0duoJE$j_bPMY4x*|6u&zuZA}+e zL|4URL`iG}q-2$PUmFin2LBwjzZO8{ms%uT?*QtS>yh_Q;3`vH+2Ghd&3MiVWf)j< z(fN+--$4?piVon5NC#;scUxR5)`W6Wmu|FxV9ke<%R;lOebj(3l(VDf^CJPdNh5}j zYHMTCN~w12Mb(}4d;Q89$=d_mTk8cgAM${RB_QO2X!SHV(;om>%~eKz%M*y-oHyhsGlE6QxdEbHbopi%Lvnbp4ftto z8`f)rWFdg;1Aj^&szO>spN<1WP$8zx|Hb?0D@;Xqn^#&IP@~f-QmrFCq0zCHo)4p~ zrAi;koUJ=1m02H9w7;5Hh2^crm7XM4N`>v6368INa7eXzYLTAF2=;wR>cq`@>Nh#d zf^;fN%0#NLfNs&nxe;E?dJH$m|D=ck`5o{6$OAy;lbNG|ec|ltxhU*UcLJtmzT)uU zVpK=KJwW;iya(P^Vt{V|941ZfmbW zSRtS(-*Y!oY7YnCS#R*Xf1(~UV5C-b3HlO{DgwFH=L_OYe~SC_b+AoFrtk%ysP3taJ0T3_HDs48K$7ciW`hm21&iJm-2B7@hq zymxxo@WHkxjFrf|^BJBL zF7?ZnthjY`0AsoH z7)(y=heAlQv!BQ7vZ4b|gu^`o^?+{T?VKLAR0&Ct_n|)Tx}$QLK9Rt!$Mq z+fDeumlxyr(+U20E)2n#0RqAdJ;ELWJ_33QX2CspQ$zAnBLV{<%RyS-hz~YEoqleh_kdwe6 z=F&Drt0TBiD+NKC<~XEd#XiWBvG39tjFjYyIUBV`an0&Aspo$0K|#>`J?q>_x9E25h?0#+Jq zTmT-j1*1ZqOdQ75+?p9w^oHSb!-iQa5Ai zSlJ5CsEm#qD|Pd{7!9J6925}ww_2Z4Bm4u~-dDD#t%bWlo7wB$w(cuaiMYDj6!mkd zVZCkBM{Rozpd^kC1wZuRCOB)#g6zxT(L!4OX%j#7({aDir;iCNGDe7KDE?Ely=#gg z)paypKiBh3*a~r#Xqg?(_%C>Pey(3+oYYg&H#poK0g|ATVC7|K{0zkjjq}J+Qh+^% z>5mx%a09n>piZhxmRP&!=+8k6=+`kl{@kA48X_k?ppoPWh?5Far?8;^7`2?jrpe0M zg|)QsWcv9yD}ySH?Zj;GMB{A)u&7>N)lj!<(63_$DMv`9A zfMgpXMbsRxtEW%OFt+}bOYetP^`M?)dfPKh?)XespQzu>Tw~qMk>vQH&fs_f zd+~V9J6&iuhasG3iGyqpQo&DY|h-2C z=xlC5zMz-jQqRH^RdmJUL7w1j`e}p|g^v{!8}F)#i=)ipXE8B&eyz06(JC3HkL#X3 zJtvy9O$$fD5TBl}JgdJT8g8Wv#y}E2s~3y6ydAbwt>cJj}(#4YCGOi*anD-LjKLG^EWGQ zJQC4KFf2tUXk0PDqVkPTFwOK9PqaF~f==Wh*^f(HEghCu-FDL-BDGAe6ehsr5`ZV zxSn^EQaiuWgNoeQdOzRqLiu$&N1v->=q@!81_lC524YomL5_8k^gt`jbTC4vsTKR& zy!+LC4zRRuYT#vG*5W@GV!XpXZVJGX)CVepnq&7N^aq$wON3Xf`TX#chio0KA)GlPVT8}ZRDRq;H48dWhd3}Dke{FrE$m0^FfHjv~jny zSxwGwtnzE3wzw94dK|6*mGD4yLt?JG&23Nf1BaD4nkp)@;BvBg27M%Z4MG69Holk3FL$_sNoE4u*tQ9NIV;K7O2x{{lT?hQy@Z zvjC$4GbSLRfpD__FF(_RwQ0ZAdCzCiAZXAWP;%yPm6x~%z2#zzw-%)zj}@wZa09dQ zw~})G^6}XsjAhB%ZapHa)f<@$ZzkS_urumZ%|+vD@gC5M@jG~(Z_X@{Y8 zVd~!~SvVC53TU9l+^xRtC8TrE0N}UL^{yveYWKOxFtnJ`bOJt{tRS6?uOCXQ!DCHq z45-xDbhe;)51JF{~Neq*o9 zO)h!6&>QMkqD~w`RMNl#tZyY~fA4VDQS;>Vm%(swoGiuWqY`WJbP##wiKauZ%W9KM z*9TvCDWXUUUjXM-v^NhW*AlgAR6iV*vzOY*7OVz{eDMB4QrY=~$as5)9V=}NeJE!N z`WPK;Wgmj6wc*wK>i$oi8|pmq;d!Pje)<|_JCg`yR1u!#GTH^Or1fcF<59xRd~sG4 zd`bfJ<<^@})BzB2 zJ!oEU2t1sR*AHt(&c4p~zG&=>DYC{sW?LFDl11rS^*#Ov^EcfS;{;8FK#4BDStv)t!+8k}a7!Eu~m*qJ%n=f0{| zoo0~ieEWNVmz#@MQz4V~gJA10*t`LBj(^|eD1bKbq%7IDO50m~F{(BZADEz@fwzkG zAFm9^%DeWGLhR=)uzQbj?}o9E<<)KI*~eD@MmJ(M{Uk15@c=$yl)$8E)Xh1Pma>Zd@=}Q^i#R_u4a;_VNFywVJ8RWPf76ut5p1) zEI_fgl_hXfCI_kz|4`98f>}lw>x_}R%aEc`9gI$~0?OtHRA{5t+Iw`UKd?SZgdtNo z87z!(a4$AUPh#=b{zyODpnsNBbp0j8)-r(>t^f-WNf=m;DSqC00>?KT^^nL19920R zE4r_-Wv2^cEa|)tB#bci-mbpl`WX|`{wH>&KUM&j99>bn=bGcR|wug z3`NEqJ>sPjfw`TEDzx{pqCH0l3*zXuR)WbZvk6QaFE=0ASBD;8_zey3j4p28t z=C}Yp%NLA?8bK7Z`S{?p+$#*14vc&O1HwKD!(A3uSd3~YnIKb@Y~aUXhsqqy9&5oe zl>P@GUfD*M}uF+K7PHwYA>HHk$9vao~Dp!u*@%J@%7N_qf)3v zm&@J`N2^gPil`8ww1%>WgHBbH1e{f#QTz8lBld@vB8MvewFP;pCqoiXg=TCA$ej72 z1~?JL5|zS9Oyz>IF`~K6ka<9$7tKuZtq8NKlD?qY0ny|XWD;MvK|ti z`waX2fmBmTaA!w#JnWAo-n>8Fl;6=PsjnJ>$l;0{Ao*b?WkKq>jGKl^W#Fy_>P=N} zwmyd<)b2`SKU1Ic&BRBu1MD*fi@HaHH`Y94DllIWXL?}}!huV6jEB=BdDo-f+eh-( z9~KXbJ(I}=CXrh8P{JqfNn7NrR*GPOObNMm1w)>vN^z<@lkWgdKdjhB|q#SJ}Du{uuDyc3ChBrs%P@5Hzg0<$984&me01^y5T+&F~R_v|q zctAqz?)s^FwtpM%TtKB_&B1fX$k>s{n`j~VBQbb^n(d8kJ1a{IA;2EM-`Y;|E?OYz zRQs|rAHGf&9aw|tosed&=X0DIO@MsXw|Rdpwqg$4;Lx$!3Y3V^h?*SEdplBnn7L0RgLVPqXKca^7l=x~o7D zFqW&EMzq@Tj#RITS;8Ht-la1#V`n8ydr);cz>?BxuODXC%1ryXsAW<>E|ZDMHIeeu z*R@6`#jk7;SHQ!q#KIg;7*B5YqfBPwNY>u=~P=E}H+ZMdwC zpI2=;fQ3AK#J4jQl*`@RF90En=Mo`v72e00{rM=FKnJPPhL(;bz*!(JMzE-SgqPpF zGvm2xYvChzW+>+)#2KPSd3lrJqL^a?D=F)u!*M(7l=XW{0ta_?K*~d40+^gAJVRpb z$cpR2ECZFSU_}=x#5Hyg?9}-A1~EG#CmP0#;{VTj*g1(9iT(%r@bbbi$eP((xLOi1 zad9LW%1{CRV?RlooCyE1pY}$~j>;PJiq{*fL|F?T@~n(Z_htS>{y7x8CXy%uzK;Zh zJ|N(6=eES_D^mt`ummDOAVMJUsBIF>Za?I^->T;*0R!`KlGjI3@~CI`gb{zFlPK1i zZ?fblw~n_xXag|+cHKxKsBVpK`;J7XJ-tkyZF+#iia^YQpej4^A7KH|QE731j54x| zqU8Ja+>vlKIOX4lRkpu!J?0r+etKEn60@oAe}6W@TNfb;b$RrA6U2b`hQy z7eBfGgz=Y0RZCeqdj!D=GU#0PDTITh<)^jrUB@R&$wLbW$L8xRZBt1euNv@K$0#PX z@o)hyHqDp!$P zJT_YwJS6PeO#v9SP4uqkNpFY_yU4!^BoRmO^D5>9TiM|_*4PnvKQ01MM=T@{R{5fV z42y5H^6De{n0YWd4*O@k59)aqBouL9NLbx**$_5V8w_(52^QSOJL|oJxHALrFZlo- zm$~k(rBFNF>_CA^NaMsR!-jLuj9!i@YTJta-a<)FjcrFV`(G?D;(z&+;kXF}d7|?j zq+NX6y5?9uIj|)8blOyli<8nV_)2Z!yT~mqetJLXXN)gXsh)XuH5w^uC0a1EBUFrR zS|+%u{$)}ha%0xZs-wq{jQfC@0fdfAD-|#0;1RnIdwSt9MOHj*Q#d4BIK}+y zk)kx;8o~V*1QcnN@|m0%rVUJRGR*KZ@45>GygB-Yy3iZ($Y8t*zi^1i5JqEk*^;A0R!>W4N%9Z6%sr#2VV1_g#V&*W? z;Lqo?MR`|rq=wxlU;e)AUU@xHD37ez5yWGQW|Idarg5vwz_|z zD`bcn;JXEd>e$AYuE1v?X%&`e{n1wIKvsOv!wdhf0OL_gv~^;cGrvFBmjvD2`FM$p z9%|0qc}T0g@{DG+)R+moAhVW$<=K>wy{H-*<41?m$~;_sCcy0lyq62M5r)$JTYg6Zq_1XVDDZP*^PT&a;21TM>=IXpPr>H4pq5EqNY3&~Do@ zsNGXJb@HP)-T{*RS%3%0#vvPG$Ok6Lv${0qj}!MnAaJc7Ji}6G(!TCneVxun*|DUV z9FMV+pXvjQ7!x!<+oRMrM=(#sP1bj*ZHn@#MKb$%V*o(7^qG>kjjH@hX{QUpoteP8 zr%xjo4@MbM!eSRa^~DLDXJfWkw!ikDl-2QF4B8UD{o~84xkb;6JyPnpfk)5n2b*F) z%!%KiL+0Jec_KJXV0|^x^a^Rx%^ei^m zAW9~hRRolPXZk1}tT5tR7B)=VMjjbquR7n(X>1eW8{N9XO#Q9Z+0TK~Kh@r&Wxo<1 zCWrZs`L$OR7IrhJ_TOXs?Gw>s*LQz|S4`uDy%LwsHj2j^L%P79ka#T!iz8;6%0;?xd-aU{FR>ly{nLMSrqWgp2P zJUNIQDs*tv{GtsP11uS>H$BLSy9OuR?O6LfSCOfkU6=hxe#P(zaQg*=5CD{ddF-a_ z%M^Ao3g?6CD+4;@IyU3*{t+&H1B<6Pi_{rmSr#NV6pvfLdxqOhq?LtKlo`KE^n${z z1^@&rgoxGdAvre>>IZ-q%Y_jQ*bJ90G;OM_O6jhyk3dR;|K+Y#cB`}5e(+-Z%X>?H zIcA6NwQPCKR^aB;ygPj#2$a;1ocx~w4;SnI<><3>FcJN)fngB0vUN3cPI8dJNm3_a zX91=S*me-ON{q%JW%mAzetTJdTCa0>a22)EB!kA4J1ydcmQsywEQVTyB3nLNOb=t_ zO6nuQ1VCk4`nt1xZ=cf*l9>HhJrM_v5=kx5i6MUGHgJR0{Sn^@cGl#@Lux+a(Y8c8 zAre%>uKbwNY-}@sqLPH7u9^v=j2*+v%Ge%r-}vLupz$!%Uw!zfJUW;znm=b(_-38n z>XT22U?TphRU=;0ve&kz6PaR9P+y1MI*mO&1}I#*U?H}hXX{S+o-?QNjic$isF_P! zh5JNzc#p<4LS%-q%nsp_%0KK5msoSW#jmIj{S2+oOuR2^yH$EZjX69r-!)fUR5O}%OG*JaBx7XBhMz9m_yCrOvAoGn zDCkSIQIc5($j{a}9Sh`G7BgZ{YQfOQLmUUpML0MzPo%r(*T~g@I-1XO_FF(kodWd0 z;EIKCEY_Kzv~YH_8GG5(gqR(vL8*;+=nZ>xMn-iE?pkdK_5+?a5j?fjZnUGhF$If; zvGE=19kc-vs*4i~d$0HoWNnrL0|ZXMU8A53$(M#yn3M1h0~TYniNZvPs=-I59D)k9 zZi}7xk+1yG)o(qzZZv>V0+=}u#efWmu*+1M0-j*o0ZF`4v002ABq$)hZgVcD$K8 zgj%^`MEP$cm!S~WdbJ4s9H@f==35YF$P3Crb?d1iiHv`^^bb%-f-r2q@_9BRNAZSW zO8)Bv9JIyYbku^&yJ6NJL>|wL?uGXV{W(>i)P1szg1sX1J-HI)lc3^WkcJVM!#nf9 z+cpH;s9vDUVZbVP&S?N(zmDvL6aNej5@4%@a`5KAw zY33~8oB@DJlFF?uj-ktByJ_@7B2W;4>- zmS=e326i7EH)2kpo6ez-3+W3};rDUM<9=;-&vGNy>bbxx;6H7vK-SFaeSr~I=K4d} zJO;*+W9E8(MG~vWtrfrJHiz8Y(fI%tm`{|2X8L6eNRePO+z+9cNS1b}Vw7UlA=k$) z`;?qZzR4(Y6%Wp48ne(h-}w8y-}gbr{Gk&h50=am^{!hwV4y8rrMK$DBK^tv4B;4) z-><8r45P-6toYl6ya7S;RL>nlCa}pvyl|^m7*4=~josiu>3N?2TrkXSc?;7gYyZy4`9fZBX(cu>9{Ql8Nbmh&wev&IV5csb{vX++c3;d45^X&{uMb zJT0KXO_Icw@dX7=9G46`8<4jeoYwp>-0VOCjOEG$nel+(@vkD`7c zy@11%1eS|i0pUc7FMDN50_(xdaUfI^L{yG#OVbiSmlUiaxE&)}F(eu74O%>3o)R54 zP7(|NDb;o&Nk_X{_WBssJ*{ZhrWoOZ(+`yi3g_m#LGXxh+Zf_<(}Lqw$Hn%9yTS5= zbBD-<-~m+#&IuedveVgpm_K_)|~RRo%M z61l=(Rm?P+Xol4_I*k`Cz!n}l6z5c~c8>sr&>#fI8UwfVuOc0(HoAQw@Q)cG>Aw>o(9k7-j5x|zK zYC#E9khD9=e&qx62bY8ThJ}Or!W+Ziv2n8XpHgOJkc49a^T%o8y~UCVqTokx^rHgG zF+%bK+xHV84n~pHkv)k1pvyndBBg4VA+`a{q z(oGE78Eib!lMz+mv>c2QL2+lFpg%mXuL3_{t*T4x#WZ0Xoj+gai_570+(q5vf`VtF znw1pku!|k7GVf8vl-E=w(RES#S4vpriED)9rHI^~4$}Rhi)|WqW}{RYjIjY^VG2%g zv!@Aoy0ll_l5Igu&vee=H~H(zJa94X4u7U#T{pkKv)9LbG^^_z5N>yGZqHD*pRFY> zM}8*p{r+s)@6ifs5s_%g(Wg z%rCAfVNYi*wan~vE_DH!K|Z}3mOzE1e5!Q8E@mZxFVVMXTgc5swT%8IWCxVW~k z6NdOykc`(+sxyM%8n{%DVA|sy3F)juDj$b*jZ+$@V61oY%6a-Gh&+H3A<~@AQD0tr ztk)!*Q6KLZz7YPV(bjy0>IV4oA{aGgguR^ZyEzw;o|HX2RqOL*W<}U5r9(8;?%_MM zX5*M8C-d@`u(U@!SM#beG^FDESJe*5!@^W$!QsELPUe*S`>-wu7cTw9XolT{p7ag7 zpk`EWci**gKf$1sSN8xQ7%nRyu^(9W2f|XFIfw-ICthUgnkUKk3(x&c%5u75V`bau zO4I^gm4qO6NSkS)dp|t76yPYz$J-1z*BL?uvwm47D&kSWDMb3b`1Cb9ux<0ZhsBJc<#n2k|=pQ$|2q*kK#s zF52Dke#fFD7LZ8axAndJmoA7TMmZTr|4j++NXi!p3yMNnVBx|;8{P!+!06jm6e)QY z3>y2WpEL2r2kno94L$!SG*s`VH4@&jzKI9WL65xyzqlmk&Sf0Ou&zfM$?FEb-*;)Q zKZ~3gVW|Z$9qifIckeZXUPAO(jlCrxz>ZNzrM0W4f=vd;XVDe|j`WciNeN=CwKCc6 z(FaQ$ml3q)(NEWPf07nf6zZ>zMhWZZJe&@oNT(@I^Jz;}3eVK*iVTvd4#^Z%X;{C8 zqtcgrBQsRe2AxcL8L8m_+$643GgdFPJ}hleWSJHcu{qzAY>_DTLF|uG{w*PZRZCGc zL`hLJiM;e2vZgWsUS&8io(h+IKLRQVi8STFdaZImX{vH5U%gTQ_Shn5IYFgl}$4Kah=% zt@-QnL@qGe#=KLLaEVQcCU*;9gAvh0O|p3+YP_9l%^15~i#P-;lockFC^kdfqIJEr zh=5kD4tw*s{X~j6P$=&t$K=}`tIVIO$xy!G{U_b-e%Un*E<<4QY5B^pKuOy5F zO66SMjqPO{-CE6HKp*yW!Yn>Wn|J$$QgJ`*r9M^2_yO8KULl@@hqMK-AX64eJT&gP z&x+S(1(qR8fLpR#DQ__E#w*~M38qD2fvF86>l_yRCbUdCR@&3e4wNy^e^$$)R+7yHqWk2UNJd9GR0Nt*`u5(y&|)oKRz^;$i{3~0<`)3I>-`z;y&Ub zoE7*eRjSmc^VmVPFXDyTZ**bGvFaj>G8+kK*m3N|DoVDjcMuqc2S<{Oh?0WCpXP4a zbkALKh(7*$Vr-o@eqmLU9wbezyJwZa;SEK5x~m;0c{f<8Pks#q{$@s+jjY&2&!Rt;aNy3Lxjl09}jlrOfBup#BA6+#V5W98~X7nP^OG zRBfGjJl%k*-QDpzq0*@y`IIw`NUp{TI1{GGm|;x~QG}dzq_q%4okOF}3!iQL(z*hI z7!@p_;4HLksp!mwt+25yr#5G1x|`q(#XN0yX2;jc?r`OygC}AsdhTU0+_gyaAD^2Y zQ2jsxL2CPNygFt-t+t+_*|7bI=iS{8WZR>%csjt$L2*PMoor!RxYSD_V`Q&PdUttN z4D9XA2Pp~?R?Gaf;FQ3qyW%i;J0frR#K9L$xooi$(kN;y;Y5!DbJ~MDTx1ugxM{Q8 zx-hIHF^mBXe~CXeaE7MDC>Iw>JKq5-H!u0~VS0pKwTgUrEd%mH`(aJNy-D`?b(;T1 zWdq=Jk!V3rVIFvU zt8yL3i+Zw_Jd?{mNnE2Xa2m-ActzZBKyuaWUQJUy{8* zY_jH_3bZfzAha;bpWHKH*%6mc8DBh{^z~$&O=!>_cQ7MjA_Oz6zMn;Q`6Z2fO`Kt6 zS)_(QW~Glgvdq6Y-y^Y{T-{<^p|<=+eluC(8A3%)g1(2W=l_(MDTk3^`0NB0hCTrJ zcy+~>cjwz|$WoMGN_$aSc2<`-Iy${=Ur&MWcz+EYpB553(=e*k!}Ql{WQQCGP~!iN z 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 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2009-02-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,16 +35,22 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" isc-config.sh \- Get information about the installed version of ISC BIND -.SH "SYNOPSIS" -.HP \w'\fBisc\-config\&.sh\fR\ 'u -\fBisc\-config\&.sh\fR [\fB\-\-cflags\fR] [\fB\-\-exec\-prefix\fR] [\fB\-\-libs\fR] [\fB\-\-prefix\fR] [\fB\-\-version\fR] [libraries...] -.SH "DESCRIPTION" -.PP + .SH "SYNOPSIS" + .HP \w'\fBisc\-config\&.sh\fR\ 'u + \fBisc\-config\&.sh\fR + [\fB\-\-cflags\fR] + [\fB\-\-exec\-prefix\fR] + [\fB\-\-libs\fR] + [\fB\-\-prefix\fR] + [\fB\-\-version\fR] + [libraries...] + .SH "DESCRIPTION" + .PP \fBisc\-config\&.sh\fR prints information related to the installed version of ISC BIND, such as the compiler and linker flags required to compile and link programs that use ISC BIND libraries\&. -.PP + .PP The optional libraries are used to report specific details for compiling and linking for the listed libraries\&. The allowed choices are: \fBisc\fR, \fBisccc\fR, @@ -52,38 +58,38 @@ The optional libraries are used to report specific details for compiling and lin \fBdns\fR, \fBlwres\fR, and \fBbind9\fR\&. Multiple libraries may be listed on the command line\&. (Some libraries require other libraries, so are implied\&.) -.SH "OPTIONS" -.PP + .SH "OPTIONS" + .PP \-\-cflags .RS 4 -Prints the compiler command line options required to compile files that use ISC BIND\&. Use the + Prints the compiler command line options required to compile files that use ISC BIND\&. Use the \fBlibraries\fR command line argument(s) to print additional specific flags to pass to the C compiler\&. -.RE -.PP + .RE + .PP \-\-exec\-prefix .RS 4 -Prints the directory prefix used in the ISC BIND installation for architecture dependent files to standard output\&. -.RE -.PP + Prints the directory prefix used in the ISC BIND installation for architecture dependent files to standard output\&. + .RE + .PP \-\-libs .RS 4 -Prints the linker command line options used to link with the ISC BIND libraries\&. Use the + Prints the linker command line options used to link with the ISC BIND libraries\&. Use the \fBlibraries\fR command line argument(s) to print additional specific flags\&. -.RE -.PP + .RE + .PP \-\-prefix .RS 4 -Prints the directory prefix used in the ISC BIND installation for architecture independent files to standard output\&. -.RE -.PP + Prints the directory prefix used in the ISC BIND installation for architecture independent files to standard output\&. + .RE + .PP \-\-version .RS 4 -Prints the version of the installed ISC BIND suite\&. -.RE -.SH "RETURN VALUES" -.PP + Prints the version of the installed ISC BIND suite\&. + .RE + .SH "RETURN VALUES" + .PP \fBisc\-config\&.sh\fR returns an exit status of 1 if invoked with invalid arguments or no arguments at all\&. It returns 0 if information was successfully printed\&. .SH "AUTHOR" diff --git a/isc-config.sh.html b/isc-config.sh.html index 269fa57e07..9e90a3c752 100644 --- a/isc-config.sh.html +++ b/isc-config.sh.html @@ -10,7 +10,7 @@ isc-config.sh - +
diff --git a/lib/dns/api b/lib/dns/api index 144444101c..7b0e1993ca 100644 --- a/lib/dns/api +++ b/lib/dns/api @@ -9,5 +9,5 @@ # 9.11: 160-169,1100-1199 # 9.12: 1200-1299 LIBINTERFACE = 1112 -LIBREVISION = 0 +LIBREVISION = 1 LIBAGE = 0 diff --git a/lib/isc/api b/lib/isc/api index e7725e9402..6f2b35e113 100644 --- a/lib/isc/api +++ b/lib/isc/api @@ -9,5 +9,5 @@ # 9.11: 160-169,1100-1199 # 9.12: 1200-1299 LIBINTERFACE = 1107 -LIBREVISION = 2 +LIBREVISION = 3 LIBAGE = 0 diff --git a/lib/lwres/man/lwres.3 b/lib/lwres/man/lwres.3 index a3b17d1503..517a6433a0 100644 --- a/lib/lwres/man/lwres.3 +++ b/lib/lwres/man/lwres.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,22 +35,23 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres \- introduction to the lightweight resolver library -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft -.SH "DESCRIPTION" -.PP +.sp + .SH "DESCRIPTION" + .PP The BIND 9 lightweight resolver library is a simple, name service independent stub resolver library\&. It provides hostname\-to\-address and address\-to\-hostname lookup services to applications by transmitting lookup requests to a resolver daemon \fBlwresd\fR running on the local host\&. The resolver daemon performs the lookup using the DNS or possibly other name service protocols, and returns the results to the application through the library\&. The library and resolver daemon communicate using a simple UDP\-based protocol\&. -.SH "OVERVIEW" -.PP + .SH "OVERVIEW" + .PP The lwresd library implements multiple name service APIs\&. The standard \fBgethostbyname()\fR, \fBgethostbyaddr()\fR, @@ -65,61 +66,61 @@ lwres_\&. To define the standard names, applications must include the header fil which contains macro definitions mapping the standard function names into lwres_ prefixed ones\&. Operating system vendors who integrate the lwres library into their base distributions should rename the functions in the library proper so that the renaming macros are not needed\&. -.PP + .PP The library also provides a native API consisting of the functions \fBlwres_getaddrsbyname()\fR and \fBlwres_getnamebyaddr()\fR\&. These may be called by applications that require more detailed control over the lookup process than the standard functions provide\&. -.PP + .PP In addition to these name service independent address lookup functions, the library implements a new, experimental API for looking up arbitrary DNS resource records, using the \fBlwres_getaddrsbyname()\fR function\&. -.PP + .PP Finally, there is a low\-level API for converting lookup requests and responses to and from raw lwres protocol packets\&. This API can be used by clients requiring nonblocking operation, and is also used when implementing the server side of the lwres protocol, for example in the \fBlwresd\fR resolver daemon\&. The use of this low\-level API in clients and servers is outlined in the following sections\&. -.SH "CLIENT-SIDE LOW-LEVEL API CALL FLOW" -.PP + .SH "CLIENT\-SIDE LOW\-LEVEL API CALL FLOW" + .PP When a client program wishes to make an lwres request using the native low\-level API, it typically performs the following sequence of actions\&. -.PP + .PP (1) Allocate or use an existing \fBlwres_packet_t\fR, called \fIpkt\fR below\&. -.PP + .PP (2) Set \fIpkt\&.recvlength\fR to the maximum length we will accept\&. This is done so the receiver of our packets knows how large our receive buffer is\&. The "default" is a constant in lwres\&.h: \fBLWRES_RECVLENGTH = 4096\fR\&. -.PP + .PP (3) Set \fIpkt\&.serial\fR to a unique serial number\&. This value is echoed back to the application by the remote server\&. -.PP + .PP (4) Set \fIpkt\&.pktflags\fR\&. Usually this is set to 0\&. -.PP + .PP (5) Set \fIpkt\&.result\fR to 0\&. -.PP + .PP (6) Call \fBlwres_*request_render()\fR, or marshall in the data using the primitives such as \fBlwres_packet_render()\fR and storing the packet data\&. -.PP + .PP (7) Transmit the resulting buffer\&. -.PP + .PP (8) Call \fBlwres_*response_parse()\fR to parse any packets received\&. -.PP + .PP (9) Verify that the opcode and serial match a request, and process the packet specific information contained in the body\&. -.SH "SERVER-SIDE LOW-LEVEL API CALL FLOW" -.PP + .SH "SERVER\-SIDE LOW\-LEVEL API CALL FLOW" + .PP When implementing the server side of the lightweight resolver protocol using the lwres library, a sequence of actions like the following is typically involved in processing each request packet\&. -.PP + .PP Note that the same \fBlwres_packet_t\fR is used in both the @@ -127,7 +128,7 @@ is used in both the and \fB_render()\fR calls, with only a few modifications made to the packet header\*(Aqs contents between uses\&. This method is recommended as it keeps the serial, opcode, and other fields correct\&. -.PP + .PP (1) When a packet is received, call \fBlwres_*request_parse()\fR to unmarshall it\&. This returns a @@ -135,9 +136,9 @@ to unmarshall it\&. This returns a (also called \fIpkt\fR, below) as well as a data specific type, such as \fBlwres_gabnrequest_t\fR\&. -.PP + .PP (2) Process the request in the data specific type\&. -.PP + .PP (3) Set the \fIpkt\&.result\fR, \fIpkt\&.recvlength\fR @@ -149,14 +150,14 @@ call above\&. If using will be set up properly\&. Otherwise, the \fBLWRES_LWPACKETFLAG_RESPONSE\fR bit should be set\&. -.PP + .PP (4) Call the data specific rendering function, such as \fBlwres_gabnresponse_render()\fR\&. -.PP + .PP (5) Send the resulting packet to the client\&. -.PP -.SH "SEE ALSO" -.PP + .PP + .SH "SEE ALSO" + .PP \fBlwres_gethostent\fR(3), \fBlwres_getipnode\fR(3), \fBlwres_getnameinfo\fR(3), diff --git a/lib/lwres/man/lwres.html b/lib/lwres/man/lwres.html index 15dab5011b..cc69060830 100644 --- a/lib/lwres/man/lwres.html +++ b/lib/lwres/man/lwres.html @@ -10,7 +10,7 @@ lwres - +
diff --git a/lib/lwres/man/lwres_buffer.3 b/lib/lwres/man/lwres_buffer.3 index 79b1a07ea3..8473c46818 100644 --- a/lib/lwres/man/lwres_buffer.3 +++ b/lib/lwres/man/lwres_buffer.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_buffer .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,15 +35,16 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_buffer_init, lwres_buffer_invalidate, lwres_buffer_add, lwres_buffer_subtract, lwres_buffer_clear, lwres_buffer_first, lwres_buffer_forward, lwres_buffer_back, lwres_buffer_getuint8, lwres_buffer_putuint8, lwres_buffer_getuint16, lwres_buffer_putuint16, lwres_buffer_getuint32, lwres_buffer_putuint32, lwres_buffer_putmem, lwres_buffer_getmem \- lightweight resolver buffer management -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'void\ lwres_buffer_init('u .BI "void lwres_buffer_init(lwres_buffer_t\ *" "b" ", void\ *" "base" ", unsigned\ int\ " "length" ");" .HP \w'void\ lwres_buffer_invalidate('u @@ -76,18 +77,18 @@ lwres_buffer_init, lwres_buffer_invalidate, lwres_buffer_add, lwres_buffer_subtr .BI "void lwres_buffer_putmem(lwres_buffer_t\ *" "b" ", const\ unsigned\ char\ *" "base" ", unsigned\ int\ " "length" ");" .HP \w'void\ lwres_buffer_getmem('u .BI "void lwres_buffer_getmem(lwres_buffer_t\ *" "b" ", unsigned\ char\ *" "base" ", unsigned\ int\ " "length" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP These functions provide bounds checked access to a region of memory where data is being read or written\&. They are based on, and similar to, the isc_buffer_ functions in the ISC library\&. -.PP + .PP A buffer is a region of memory, together with a set of related subregions\&. The \fIused region\fR and the \fIavailable\fR region are disjoint, and their union is the buffer\*(Aqs region\&. The used region extends from the beginning of the buffer region to the last used byte\&. The available region extends from one byte greater than the last used byte to the end of the buffer\*(Aqs region\&. The size of the used region can be changed using various buffer commands\&. Initially, the used region is empty\&. -.PP + .PP The used region is further subdivided into two disjoint regions: the \fIconsumed region\fR and the @@ -96,11 +97,11 @@ and the offset (if any)\&. The \fIremaining\fR region the current pointer to the end of the used region\&. The size of the consumed region can be changed using various buffer commands\&. Initially, the consumed region is empty\&. -.PP + .PP The \fIactive region\fR is an (optional) subregion of the remaining region\&. It extends from the current offset to an offset in the remaining region\&. Initially, the active region is empty\&. If the current offset advances beyond the chosen offset, the active region will also be empty\&. -.PP + .PP .if n \{\ .RS 4 .\} @@ -115,7 +116,8 @@ is an (optional) subregion of the remaining region\&. It extends from the curren .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -129,7 +131,8 @@ is an (optional) subregion of the remaining region\&. It extends from the curren .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -143,20 +146,22 @@ is an (optional) subregion of the remaining region\&. It extends from the curren .if n \{\ .RE .\} -.PP +.sp + .PP \fBlwres_buffer_init()\fR initializes the -\fBlwres_buffer_t\fR\fI*b\fR +\fBlwres_buffer_t\fR +\fI*b\fR and associates it with the memory region of size \fIlength\fR bytes starting at location \fIbase\&.\fR -.PP + .PP \fBlwres_buffer_invalidate()\fR marks the buffer \fI*b\fR as invalid\&. Invalidating a buffer after use is not required, but makes it possible to catch its possible accidental use\&. -.PP + .PP The functions \fBlwres_buffer_add()\fR and @@ -171,7 +176,7 @@ checks for buffer overflow and \fBlwres_buffer_subtract()\fR checks for underflow\&. These functions do not allocate or deallocate memory\&. They just change the value of \fIused\fR\&. -.PP + .PP A buffer is re\-initialised by \fBlwres_buffer_clear()\fR\&. The function sets \fIused\fR, @@ -179,14 +184,14 @@ A buffer is re\-initialised by and \fIactive\fR to zero\&. -.PP + .PP \fBlwres_buffer_first\fR makes the consumed region of buffer \fI*p\fR empty by setting \fIcurrent\fR to zero (the start of the buffer)\&. -.PP + .PP \fBlwres_buffer_forward()\fR increases the consumed region of buffer \fI*b\fR @@ -198,7 +203,7 @@ decreases buffer \fIb\fR\*(Aqs consumed region by \fIn\fR bytes and checks for underflow\&. -.PP + .PP \fBlwres_buffer_getuint8()\fR reads an unsigned 8\-bit integer from \fI*b\fR @@ -208,7 +213,7 @@ writes the unsigned 8\-bit integer \fIval\fR to buffer \fI*b\fR\&. -.PP + .PP \fBlwres_buffer_getuint16()\fR and \fBlwres_buffer_getuint32()\fR @@ -223,7 +228,7 @@ writes the unsigned 16\-bit or 32\-bit integer \fIval\fR to buffer \fIb\fR, in network byte order\&. -.PP + .PP Arbitrary amounts of data are read or written from a lightweight resolver buffer with \fBlwres_buffer_getmem()\fR and diff --git a/lib/lwres/man/lwres_buffer.html b/lib/lwres/man/lwres_buffer.html index 886a4994b6..18203ba5fc 100644 --- a/lib/lwres/man/lwres_buffer.html +++ b/lib/lwres/man/lwres_buffer.html @@ -10,7 +10,7 @@ lwres_buffer - +
diff --git a/lib/lwres/man/lwres_config.3 b/lib/lwres/man/lwres_config.3 index e1763c6c04..6652f9f43a 100644 --- a/lib/lwres/man/lwres_config.3 +++ b/lib/lwres/man/lwres_config.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_config .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,15 +35,16 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_conf_init, lwres_conf_clear, lwres_conf_parse, lwres_conf_print, lwres_conf_get \- lightweight resolver configuration -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'void\ lwres_conf_init('u .BI "void lwres_conf_init(lwres_context_t\ *" "ctx" ");" .HP \w'void\ lwres_conf_clear('u @@ -54,20 +55,20 @@ lwres_conf_init, lwres_conf_clear, lwres_conf_parse, lwres_conf_print, lwres_con .BI "lwres_result_t lwres_conf_print(lwres_context_t\ *" "ctx" ", FILE\ *" "fp" ");" .HP \w'lwres_conf_t\ *\ lwres_conf_get('u .BI "lwres_conf_t * lwres_conf_get(lwres_context_t\ *" "ctx" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP \fBlwres_conf_init()\fR creates an empty \fBlwres_conf_t\fR structure for lightweight resolver context \fIctx\fR\&. -.PP + .PP \fBlwres_conf_clear()\fR frees up all the internal memory used by that \fBlwres_conf_t\fR structure in resolver context \fIctx\fR\&. -.PP + .PP \fBlwres_conf_parse()\fR opens the file \fIfilename\fR @@ -75,16 +76,17 @@ and parses it to initialise the resolver context \fIctx\fR\*(Aqs \fBlwres_conf_t\fR structure\&. -.PP + .PP \fBlwres_conf_print()\fR prints the \fBlwres_conf_t\fR structure for resolver context \fIctx\fR to the -\fBFILE\fR\fIfp\fR\&. -.SH "RETURN VALUES" -.PP +\fBFILE\fR +\fIfp\fR\&. + .SH "RETURN VALUES" + .PP \fBlwres_conf_parse()\fR returns \fBLWRES_R_SUCCESS\fR @@ -94,18 +96,18 @@ if it successfully read and parsed if \fIfilename\fR could not be opened or contained incorrect resolver statements\&. -.PP + .PP \fBlwres_conf_print()\fR returns \fBLWRES_R_SUCCESS\fR unless an error occurred when converting the network addresses to a numeric host address string\&. If this happens, the function returns \fBLWRES_R_FAILURE\fR\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBstdio\fR(3), \fBresolver\fR(5)\&. -.SH "FILES" -.PP + .SH "FILES" + .PP /etc/resolv\&.conf .SH "AUTHOR" .PP diff --git a/lib/lwres/man/lwres_config.html b/lib/lwres/man/lwres_config.html index 6809512d03..1c33ae9a28 100644 --- a/lib/lwres/man/lwres_config.html +++ b/lib/lwres/man/lwres_config.html @@ -10,7 +10,7 @@ lwres_config - +
diff --git a/lib/lwres/man/lwres_context.3 b/lib/lwres/man/lwres_context.3 index 67f85f9459..229d02b0c4 100644 --- a/lib/lwres/man/lwres_context.3 +++ b/lib/lwres/man/lwres_context.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_context .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,15 +35,16 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_context_create, lwres_context_destroy, lwres_context_nextserial, lwres_context_initserial, lwres_context_freemem, lwres_context_allocmem, lwres_context_sendrecv \- lightweight resolver context management -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'lwres_result_t\ lwres_context_create('u .BI "lwres_result_t lwres_context_create(lwres_context_t\ **" "contextp" ", void\ *" "arg" ", lwres_malloc_t\ " "malloc_function" ", lwres_free_t\ " "free_function" ");" .HP \w'lwres_result_t\ lwres_context_destroy('u @@ -58,8 +59,8 @@ lwres_context_create, lwres_context_destroy, lwres_context_nextserial, lwres_con .BI "void lwres_context_allocmem(lwres_context_t\ *" "ctx" ", size_t\ " "len" ");" .HP \w'void\ *\ lwres_context_sendrecv('u .BI "void * lwres_context_sendrecv(lwres_context_t\ *" "ctx" ", void\ *" "sendbase" ", int\ " "sendlen" ", void\ *" "recvbase" ", int\ " "recvlen" ", int\ *" "recvd_len" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP \fBlwres_context_create()\fR creates a \fBlwres_context_t\fR @@ -72,7 +73,7 @@ pointer\&. This \fBlwres_context_t\fR pointer must initially be NULL, and is modified to point to the newly created \fBlwres_context_t\fR\&. -.PP + .PP When the lightweight resolver needs to perform dynamic memory allocation, it will call \fImalloc_function\fR to allocate memory and @@ -96,18 +97,18 @@ and are NULL, \fIarg\fR is unused and should be passed as NULL\&. -.PP + .PP Once memory for the structure has been allocated, it is initialized using \fBlwres_conf_init\fR(3) and returned via \fI*contextp\fR\&. -.PP + .PP \fBlwres_context_destroy()\fR destroys a \fBlwres_context_t\fR, closing its socket\&. \fIcontextp\fR is a pointer to a pointer to the context that is to be destroyed\&. The pointer will be set to NULL when the context has been destroyed\&. -.PP + .PP The context holds a serial number that is used to identify resolver request packets and associate responses with the corresponding requests\&. This serial number is controlled using \fBlwres_context_initserial()\fR and @@ -119,7 +120,7 @@ to \fIserial\fR\&. \fBlwres_context_nextserial()\fR increments the serial number and returns the previous value\&. -.PP + .PP Memory for a lightweight resolver context is allocated and freed using \fBlwres_context_allocmem()\fR and @@ -134,7 +135,7 @@ frees \fIlen\fR bytes of space starting at location \fImem\fR\&. -.PP + .PP \fBlwres_context_sendrecv()\fR performs I/O for the context \fIctx\fR\&. Data are read and written from the context\*(Aqs socket\&. It writes data from @@ -142,8 +143,8 @@ performs I/O for the context \(em typically a lightweight resolver query packet \(em and waits for a reply which is copied to the receive buffer at \fIrecvbase\fR\&. The number of bytes that were written to this receive buffer is returned in \fI*recvd_len\fR\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP \fBlwres_context_create()\fR returns \fBLWRES_R_NOMEMORY\fR @@ -152,11 +153,11 @@ if memory for the could not be allocated, \fBLWRES_R_SUCCESS\fR otherwise\&. -.PP + .PP Successful calls to the memory allocator \fBlwres_context_allocmem()\fR return a pointer to the start of the allocated space\&. It returns NULL if memory could not be allocated\&. -.PP + .PP \fBLWRES_R_SUCCESS\fR is returned when \fBlwres_context_sendrecv()\fR @@ -167,8 +168,8 @@ is returned if an I/O error occurs and is returned if \fBlwres_context_sendrecv()\fR times out waiting for a response\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBlwres_conf_init\fR(3), \fBmalloc\fR(3), \fBfree\fR(3)\&. diff --git a/lib/lwres/man/lwres_context.html b/lib/lwres/man/lwres_context.html index 528a4aadcf..d178c1113e 100644 --- a/lib/lwres/man/lwres_context.html +++ b/lib/lwres/man/lwres_context.html @@ -10,7 +10,7 @@ lwres_context - +
diff --git a/lib/lwres/man/lwres_gabn.3 b/lib/lwres/man/lwres_gabn.3 index 4413a9de95..7a3c5b5709 100644 --- a/lib/lwres/man/lwres_gabn.3 +++ b/lib/lwres/man/lwres_gabn.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_gabn .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,15 +35,16 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_gabnrequest_render, lwres_gabnresponse_render, lwres_gabnrequest_parse, lwres_gabnresponse_parse, lwres_gabnresponse_free, lwres_gabnrequest_free \- lightweight resolver getaddrbyname message handling -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'lwres_result_t\ lwres_gabnrequest_render('u .BI "lwres_result_t lwres_gabnrequest_render(lwres_context_t\ *" "ctx" ", lwres_gabnrequest_t\ *" "req" ", lwres_lwpacket_t\ *" "pkt" ", lwres_buffer_t\ *" "b" ");" .HP \w'lwres_result_t\ lwres_gabnresponse_render('u @@ -56,19 +57,19 @@ lwres_gabnrequest_render, lwres_gabnresponse_render, lwres_gabnrequest_parse, lw .BI "void lwres_gabnresponse_free(lwres_context_t\ *" "ctx" ", lwres_gabnresponse_t\ **" "structp" ");" .HP \w'void\ lwres_gabnrequest_free('u .BI "void lwres_gabnrequest_free(lwres_context_t\ *" "ctx" ", lwres_gabnrequest_t\ **" "structp" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP These are low\-level routines for creating and parsing lightweight resolver name\-to\-address lookup request and response messages\&. -.PP + .PP There are four main functions for the getaddrbyname opcode\&. One render function converts a getaddrbyname request structure \(em \fBlwres_gabnrequest_t\fR \(em to the lightweight resolver\*(Aqs canonical format\&. It is complemented by a parse function that converts a packet in this canonical format to a getaddrbyname request structure\&. Another render function converts the getaddrbyname response structure \(em \fBlwres_gabnresponse_t\fR \(em to the canonical format\&. This is complemented by a parse function which converts a packet in canonical format to a getaddrbyname response structure\&. -.PP + .PP These structures are defined in \&. They are shown below\&. -.PP + .PP .if n \{\ .RS 4 .\} @@ -78,7 +79,8 @@ These structures are defined in .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -89,7 +91,8 @@ typedef LWRES_LIST(lwres_addr_t) lwres_addrlist_t; .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -104,7 +107,8 @@ typedef struct { .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -125,7 +129,8 @@ typedef struct { .if n \{\ .RE .\} -.PP +.sp + .PP \fBlwres_gabnrequest_render()\fR uses resolver context \fIctx\fR @@ -141,7 +146,7 @@ are then appended to the buffer in canonical format\&. performs the same task, except it converts a getaddrbyname response structure \fBlwres_gabnresponse_t\fR to the lightweight resolver\*(Aqs canonical format\&. -.PP + .PP \fBlwres_gabnrequest_parse()\fR uses context \fIctx\fR @@ -161,7 +166,7 @@ offers the same semantics as except it yields a \fBlwres_gabnresponse_t\fR structure\&. -.PP + .PP \fBlwres_gabnresponse_free()\fR and \fBlwres_gabnrequest_free()\fR @@ -173,11 +178,12 @@ or \fBlwres_gabnrequest_t\fR structures referenced via \fIstructp\fR\&. Any memory associated with ancillary buffers and strings for those structures is also discarded\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP The getaddrbyname opcode functions \fBlwres_gabnrequest_render()\fR, -\fBlwres_gabnresponse_render()\fR\fBlwres_gabnrequest_parse()\fR +\fBlwres_gabnresponse_render()\fR +\fBlwres_gabnrequest_parse()\fR and \fBlwres_gabnresponse_parse()\fR all return @@ -205,8 +211,8 @@ if in the packet header structure \fBlwres_lwpacket_t\fR indicate that the packet is not a response to an earlier query\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBlwres_packet\fR(3) .SH "AUTHOR" .PP diff --git a/lib/lwres/man/lwres_gabn.html b/lib/lwres/man/lwres_gabn.html index ed29049c7a..5b86a64da1 100644 --- a/lib/lwres/man/lwres_gabn.html +++ b/lib/lwres/man/lwres_gabn.html @@ -10,7 +10,7 @@ lwres_gabn - +
diff --git a/lib/lwres/man/lwres_gai_strerror.3 b/lib/lwres/man/lwres_gai_strerror.3 index 3e43c60226..6aa85aca91 100644 --- a/lib/lwres/man/lwres_gai_strerror.3 +++ b/lib/lwres/man/lwres_gai_strerror.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_gai_strerror .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,88 +35,89 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_gai_strerror \- print suitable error string -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'char\ *\ gai_strerror('u .BI "char * gai_strerror(int\ " "ecode" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP \fBlwres_gai_strerror()\fR returns an error message corresponding to an error code returned by \fBgetaddrinfo()\fR\&. The following error codes and their meaning are defined in include/lwres/netdb\&.h\&. -.PP + .PP \fBEAI_ADDRFAMILY\fR .RS 4 -address family for hostname not supported -.RE -.PP + address family for hostname not supported + .RE + .PP \fBEAI_AGAIN\fR .RS 4 -temporary failure in name resolution -.RE -.PP + temporary failure in name resolution + .RE + .PP \fBEAI_BADFLAGS\fR .RS 4 -invalid value for + invalid value for \fBai_flags\fR -.RE -.PP + .RE + .PP \fBEAI_FAIL\fR .RS 4 -non\-recoverable failure in name resolution -.RE -.PP + non\-recoverable failure in name resolution + .RE + .PP \fBEAI_FAMILY\fR .RS 4 -\fBai_family\fR + \fBai_family\fR not supported -.RE -.PP + .RE + .PP \fBEAI_MEMORY\fR .RS 4 -memory allocation failure -.RE -.PP + memory allocation failure + .RE + .PP \fBEAI_NODATA\fR .RS 4 -no address associated with hostname -.RE -.PP + no address associated with hostname + .RE + .PP \fBEAI_NONAME\fR .RS 4 -hostname or servname not provided, or not known -.RE -.PP + hostname or servname not provided, or not known + .RE + .PP \fBEAI_SERVICE\fR .RS 4 -servname not supported for + servname not supported for \fBai_socktype\fR -.RE -.PP + .RE + .PP \fBEAI_SOCKTYPE\fR .RS 4 -\fBai_socktype\fR + \fBai_socktype\fR not supported -.RE -.PP + .RE + .PP \fBEAI_SYSTEM\fR .RS 4 -system error returned in errno -.RE -The message + system error returned in errno + .RE + The message invalid error code is returned if \fIecode\fR is out of range\&. -.PP + .PP \fBai_flags\fR, \fBai_family\fR and @@ -125,8 +126,8 @@ are elements of the \fBstruct addrinfo\fR used by \fBlwres_getaddrinfo()\fR\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBstrerror\fR(3), \fBlwres_getaddrinfo\fR(3), \fBgetaddrinfo\fR(3), diff --git a/lib/lwres/man/lwres_gai_strerror.html b/lib/lwres/man/lwres_gai_strerror.html index c4dd483aa0..1834adca67 100644 --- a/lib/lwres/man/lwres_gai_strerror.html +++ b/lib/lwres/man/lwres_gai_strerror.html @@ -10,7 +10,7 @@ lwres_gai_strerror - +
diff --git a/lib/lwres/man/lwres_getaddrinfo.3 b/lib/lwres/man/lwres_getaddrinfo.3 index 252a3bc66b..1d235179e4 100644 --- a/lib/lwres/man/lwres_getaddrinfo.3 +++ b/lib/lwres/man/lwres_getaddrinfo.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_getaddrinfo .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,23 +35,24 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_getaddrinfo, lwres_freeaddrinfo \- socket address structure to host and service name -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'int\ lwres_getaddrinfo('u .BI "int lwres_getaddrinfo(const\ char\ *" "hostname" ", const\ char\ *" "servname" ", const\ struct\ addrinfo\ *" "hints" ", struct\ addrinfo\ **" "res" ");" .HP \w'void\ lwres_freeaddrinfo('u .BI "void lwres_freeaddrinfo(struct\ addrinfo\ *" "ai" ");" -.PP + .PP If the operating system does not provide a \fBstruct addrinfo\fR, the following structure is used: -.PP + .PP .nf struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME */ @@ -65,8 +66,8 @@ struct addrinfo { }; .fi .sp -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP \fBlwres_getaddrinfo()\fR is used to get a list of IP addresses and port numbers for host \fIhostname\fR @@ -84,23 +85,23 @@ is either a host name or a numeric host address string: a dotted decimal IPv4 ad \fIservname\fR is either a decimal port number or a service name as listed in /etc/services\&. -.PP + .PP \fIhints\fR is an optional pointer to a \fBstruct addrinfo\fR\&. This structure can be used to provide hints concerning the type of socket that the caller supports or wishes to use\&. The caller can supply the following structure elements in \fI*hints\fR: -.PP + .PP \fBai_family\fR .RS 4 -The protocol family that should be used\&. When + The protocol family that should be used\&. When \fBai_family\fR is set to \fBPF_UNSPEC\fR, it means the caller will accept any protocol family supported by the operating system\&. -.RE -.PP + .RE + .PP \fBai_socktype\fR .RS 4 -denotes the type of socket \(em + denotes the type of socket \(em \fBSOCK_STREAM\fR, \fBSOCK_DGRAM\fR or @@ -108,18 +109,18 @@ or \(em that is wanted\&. When \fBai_socktype\fR is zero the caller will accept any socket type\&. -.RE -.PP + .RE + .PP \fBai_protocol\fR .RS 4 -indicates which transport protocol is wanted: IPPROTO_UDP or IPPROTO_TCP\&. If + indicates which transport protocol is wanted: IPPROTO_UDP or IPPROTO_TCP\&. If \fBai_protocol\fR is zero the caller will accept any protocol\&. -.RE -.PP + .RE + .PP \fBai_flags\fR .RS 4 -Flag bits\&. If the + Flag bits\&. If the \fBAI_CANONNAME\fR bit is set, a successful call to \fBlwres_getaddrinfo()\fR @@ -138,7 +139,7 @@ for an IPv4 address or \fBIN6ADDR_ANY_INIT\fR for an IPv6 address\&. .sp -When + When \fBai_flags\fR does not set the \fBAI_PASSIVE\fR @@ -157,21 +158,21 @@ pointer and is not set in \fBai_flags\fR\&. .sp -If + If \fBai_flags\fR is set to \fBAI_NUMERICHOST\fR it indicates that \fIhostname\fR should be treated as a numeric string defining an IPv4 or IPv6 address and no name resolution should be attempted\&. -.RE -.PP + .RE + .PP All other elements of the \fBstruct addrinfo\fR passed via \fIhints\fR must be zero\&. -.PP + .PP A \fIhints\fR of @@ -181,7 +182,7 @@ is treated as if the caller provided a initialized to zero with \fBai_family\fRset to \fBPF_UNSPEC\fR\&. -.PP + .PP After a successful call to \fBlwres_getaddrinfo()\fR, \fI*res\fR @@ -206,7 +207,7 @@ structure in the list, the \fBai_addr\fR member points to a filled\-in socket address structure of length \fBai_addrlen\fR\&. -.PP + .PP All of the information returned by \fBlwres_getaddrinfo()\fR is dynamically allocated: the addrinfo structures, and the socket address structures and canonical host name strings pointed to by the @@ -219,8 +220,8 @@ is a pointer to a \fBstruct addrinfo\fR created by a call to \fBlwres_getaddrinfo()\fR\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP \fBlwres_getaddrinfo()\fR returns zero on success or one of the error codes listed in \fBgai_strerror\fR(3) @@ -229,11 +230,12 @@ if an error occurs\&. If both and \fIservname\fR are -\fBNULL\fR\fBlwres_getaddrinfo()\fR +\fBNULL\fR +\fBlwres_getaddrinfo()\fR returns \fBEAI_NONAME\fR\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBlwres\fR(3), \fBlwres_getaddrinfo\fR(3), \fBlwres_freeaddrinfo\fR(3), diff --git a/lib/lwres/man/lwres_getaddrinfo.html b/lib/lwres/man/lwres_getaddrinfo.html index 7fa723f37d..c155cba79b 100644 --- a/lib/lwres/man/lwres_getaddrinfo.html +++ b/lib/lwres/man/lwres_getaddrinfo.html @@ -10,7 +10,7 @@ lwres_getaddrinfo - +
diff --git a/lib/lwres/man/lwres_gethostent.3 b/lib/lwres/man/lwres_gethostent.3 index c0e470922e..87a421a7d5 100644 --- a/lib/lwres/man/lwres_gethostent.3 +++ b/lib/lwres/man/lwres_gethostent.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_gethostent .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,15 +35,16 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_gethostbyname, lwres_gethostbyname2, lwres_gethostbyaddr, lwres_gethostent, lwres_sethostent, lwres_endhostent, lwres_gethostbyname_r, lwres_gethostbyaddr_r, lwres_gethostent_r, lwres_sethostent_r, lwres_endhostent_r \- lightweight resolver get network host entry -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'struct\ hostent\ *\ lwres_gethostbyname('u .BI "struct hostent * lwres_gethostbyname(const\ char\ *" "name" ");" .HP \w'struct\ hostent\ *\ lwres_gethostbyname2('u @@ -66,15 +67,15 @@ lwres_gethostbyname, lwres_gethostbyname2, lwres_gethostbyaddr, lwres_gethostent .BI "void lwres_sethostent_r(int\ " "stayopen" ");" .HP \w'void\ lwres_endhostent_r('u .BI "void lwres_endhostent_r(void);" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP These functions provide hostname\-to\-address and address\-to\-hostname lookups by means of the lightweight resolver\&. They are similar to the standard \fBgethostent\fR(3) functions provided by most operating systems\&. They use a \fBstruct hostent\fR which is usually defined in \&. -.PP + .PP .if n \{\ .RS 4 .\} @@ -91,44 +92,45 @@ struct hostent { .if n \{\ .RE .\} -.PP +.sp + .PP The members of this structure are: -.PP + .PP \fBh_name\fR .RS 4 -The official (canonical) name of the host\&. -.RE -.PP + The official (canonical) name of the host\&. + .RE + .PP \fBh_aliases\fR .RS 4 -A NULL\-terminated array of alternate names (nicknames) for the host\&. -.RE -.PP + A NULL\-terminated array of alternate names (nicknames) for the host\&. + .RE + .PP \fBh_addrtype\fR .RS 4 -The type of address being returned \(em + The type of address being returned \(em \fBPF_INET\fR or \fBPF_INET6\fR\&. -.RE -.PP + .RE + .PP \fBh_length\fR .RS 4 -The length of the address in bytes\&. -.RE -.PP + The length of the address in bytes\&. + .RE + .PP \fBh_addr_list\fR .RS 4 -A + A \fBNULL\fR terminated array of network addresses for the host\&. Host addresses are returned in network byte order\&. -.RE -.PP + .RE + .PP For backward compatibility with very old software, \fBh_addr\fR is the first address in \fBh_addr_list\&.\fR -.PP + .PP \fBlwres_gethostent()\fR, \fBlwres_sethostent()\fR, \fBlwres_endhostent()\fR, @@ -139,7 +141,7 @@ and provide iteration over the known host entries on systems that provide such functionality through facilities like /etc/hosts or NIS\&. The lightweight resolver does not currently implement these functions; it only provides them as stub functions that always return failure\&. -.PP + .PP \fBlwres_gethostbyname()\fR and \fBlwres_gethostbyname2()\fR @@ -161,7 +163,7 @@ is returned if the lookups by or \fBlwres_gethostbyname2()\fR fail\&. -.PP + .PP Reverse lookups of addresses are performed by \fBlwres_gethostbyaddr()\fR\&. \fIaddr\fR @@ -197,7 +199,7 @@ return \fIresbuf\fR, which is a pointer to the \fBstruct hostent\fR it created\&. -.PP + .PP \fBlwres_gethostbyaddr_r()\fR is a thread\-safe function that performs a reverse lookup of address \fIaddr\fR @@ -232,8 +234,8 @@ return \fIresbuf\fR, which is a pointer to the \fBstruct hostent()\fR it created\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP The functions \fBlwres_gethostbyname()\fR, \fBlwres_gethostbyname2()\fR, @@ -243,36 +245,36 @@ return NULL to indicate an error\&. In this case the global variable \fBlwres_h_errno\fR will contain one of the following error codes defined in : -.PP + .PP \fBHOST_NOT_FOUND\fR .RS 4 -The host or address was not found\&. -.RE -.PP + The host or address was not found\&. + .RE + .PP \fBTRY_AGAIN\fR .RS 4 -A recoverable error occurred, e\&.g\&., a timeout\&. Retrying the lookup may succeed\&. -.RE -.PP + A recoverable error occurred, e\&.g\&., a timeout\&. Retrying the lookup may succeed\&. + .RE + .PP \fBNO_RECOVERY\fR .RS 4 -A non\-recoverable error occurred\&. -.RE -.PP + A non\-recoverable error occurred\&. + .RE + .PP \fBNO_DATA\fR .RS 4 -The name exists, but has no address information associated with it (or vice versa in the case of a reverse lookup)\&. The code NO_ADDRESS is accepted as a synonym for NO_DATA for backwards compatibility\&. -.RE -.PP + The name exists, but has no address information associated with it (or vice versa in the case of a reverse lookup)\&. The code NO_ADDRESS is accepted as a synonym for NO_DATA for backwards compatibility\&. + .RE + .PP \fBlwres_hstrerror\fR(3) translates these error codes to suitable error messages\&. -.PP + .PP \fBlwres_gethostent()\fR and \fBlwres_gethostent_r()\fR always return \fBNULL\fR\&. -.PP + .PP Successful calls to \fBlwres_gethostbyname_r()\fR and @@ -299,13 +301,13 @@ set the global variable \fBerrno\fR to \fBERANGE\fR\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBgethostent\fR(3), \fBlwres_getipnode\fR(3), \fBlwres_hstrerror\fR(3) -.SH "BUGS" -.PP + .SH "BUGS" + .PP \fBlwres_gethostbyname()\fR, \fBlwres_gethostbyname2()\fR, \fBlwres_gethostbyaddr()\fR @@ -315,7 +317,7 @@ are not thread safe; they return pointers to static data and provide error codes \fBlwres_gethostbyname_r()\fR, and \fBlwres_gethostbyaddr_r()\fR respectively\&. -.PP + .PP The resolver daemon does not currently support any non\-DNS name services such as /etc/hosts or diff --git a/lib/lwres/man/lwres_gethostent.html b/lib/lwres/man/lwres_gethostent.html index 701c77451c..25dae0277f 100644 --- a/lib/lwres/man/lwres_gethostent.html +++ b/lib/lwres/man/lwres_gethostent.html @@ -10,7 +10,7 @@ lwres_gethostent - +
diff --git a/lib/lwres/man/lwres_getipnode.3 b/lib/lwres/man/lwres_getipnode.3 index 7fd138b785..f7d1fc0d0d 100644 --- a/lib/lwres/man/lwres_getipnode.3 +++ b/lib/lwres/man/lwres_getipnode.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_getipnode .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,30 +35,31 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_getipnodebyname, lwres_getipnodebyaddr, lwres_freehostent \- lightweight resolver nodename / address translation API -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'struct\ hostent\ *\ lwres_getipnodebyname('u .BI "struct hostent * lwres_getipnodebyname(const\ char\ *" "name" ", int\ " "af" ", int\ " "flags" ", int\ *" "error_num" ");" .HP \w'struct\ hostent\ *\ lwres_getipnodebyaddr('u .BI "struct hostent * lwres_getipnodebyaddr(const\ void\ *" "src" ", size_t\ " "len" ", int\ " "af" ", int\ *" "error_num" ");" .HP \w'void\ lwres_freehostent('u .BI "void lwres_freehostent(struct\ hostent\ *" "he" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP These functions perform thread safe, protocol independent nodename\-to\-address and address\-to\-nodename translation as defined in RFC2553\&. -.PP + .PP They use a \fBstruct hostent\fR which is defined in namedb\&.h: -.PP + .PP .if n \{\ .RS 4 .\} @@ -75,39 +76,40 @@ struct hostent { .if n \{\ .RE .\} -.PP +.sp + .PP The members of this structure are: -.PP + .PP \fBh_name\fR .RS 4 -The official (canonical) name of the host\&. -.RE -.PP + The official (canonical) name of the host\&. + .RE + .PP \fBh_aliases\fR .RS 4 -A NULL\-terminated array of alternate names (nicknames) for the host\&. -.RE -.PP + A NULL\-terminated array of alternate names (nicknames) for the host\&. + .RE + .PP \fBh_addrtype\fR .RS 4 -The type of address being returned \- usually + The type of address being returned \- usually \fBPF_INET\fR or \fBPF_INET6\fR\&. -.RE -.PP + .RE + .PP \fBh_length\fR .RS 4 -The length of the address in bytes\&. -.RE -.PP + The length of the address in bytes\&. + .RE + .PP \fBh_addr_list\fR .RS 4 -A + A \fBNULL\fR terminated array of network addresses for the host\&. Host addresses are returned in network byte order\&. -.RE -.PP + .RE + .PP \fBlwres_getipnodebyname()\fR looks up addresses of protocol family \fIaf\fR @@ -115,35 +117,35 @@ for the hostname \fIname\fR\&. The \fIflags\fR parameter contains ORed flag bits to specify the types of addresses that are searched for, and the types of addresses that are returned\&. The flag bits are: -.PP + .PP \fBAI_V4MAPPED\fR .RS 4 -This is used with an + This is used with an \fIaf\fR of AF_INET6, and causes IPv4 addresses to be returned as IPv4\-mapped IPv6 addresses\&. -.RE -.PP + .RE + .PP \fBAI_ALL\fR .RS 4 -This is used with an + This is used with an \fIaf\fR of AF_INET6, and causes all known addresses (IPv6 and IPv4) to be returned\&. If AI_V4MAPPED is also set, the IPv4 addresses are return as mapped IPv6 addresses\&. -.RE -.PP + .RE + .PP \fBAI_ADDRCONFIG\fR .RS 4 -Only return an IPv6 or IPv4 address if here is an active network interface of that type\&. This is not currently implemented in the BIND 9 lightweight resolver, and the flag is ignored\&. -.RE -.PP + Only return an IPv6 or IPv4 address if here is an active network interface of that type\&. This is not currently implemented in the BIND 9 lightweight resolver, and the flag is ignored\&. + .RE + .PP \fBAI_DEFAULT\fR .RS 4 -This default sets the + This default sets the \fBAI_V4MAPPED\fR and \fBAI_ADDRCONFIG\fR flag bits\&. -.RE -.PP + .RE + .PP \fBlwres_getipnodebyaddr()\fR performs a reverse lookup of address \fIsrc\fR @@ -155,7 +157,7 @@ denotes the protocol family, typically \fBPF_INET\fR or \fBPF_INET6\fR\&. -.PP + .PP \fBlwres_freehostent()\fR releases all the memory associated with the \fBstruct hostent\fR @@ -168,8 +170,8 @@ and is freed, as is the memory for the \fBhostent\fR structure itself\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP If an error occurs, \fBlwres_getipnodebyname()\fR and @@ -180,31 +182,31 @@ to an appropriate error code and the function returns a \fBNULL\fR pointer\&. The error codes and their meanings are defined in : -.PP + .PP \fBHOST_NOT_FOUND\fR .RS 4 -No such host is known\&. -.RE -.PP + No such host is known\&. + .RE + .PP \fBNO_ADDRESS\fR .RS 4 -The server recognised the request and the name but no address is available\&. Another type of request to the name server for the domain might return an answer\&. -.RE -.PP + The server recognised the request and the name but no address is available\&. Another type of request to the name server for the domain might return an answer\&. + .RE + .PP \fBTRY_AGAIN\fR .RS 4 -A temporary and possibly transient error occurred, such as a failure of a server to respond\&. The request may succeed if retried\&. -.RE -.PP + A temporary and possibly transient error occurred, such as a failure of a server to respond\&. The request may succeed if retried\&. + .RE + .PP \fBNO_RECOVERY\fR .RS 4 -An unexpected failure occurred, and retrying the request is pointless\&. -.RE -.PP + An unexpected failure occurred, and retrying the request is pointless\&. + .RE + .PP \fBlwres_hstrerror\fR(3) translates these error codes to suitable error messages\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBRFC2553\fR(), \fBlwres\fR(3), \fBlwres_gethostent\fR(3), diff --git a/lib/lwres/man/lwres_getipnode.html b/lib/lwres/man/lwres_getipnode.html index a0fad6846b..c651805a5c 100644 --- a/lib/lwres/man/lwres_getipnode.html +++ b/lib/lwres/man/lwres_getipnode.html @@ -10,7 +10,7 @@ lwres_getipnode - +
diff --git a/lib/lwres/man/lwres_getnameinfo.3 b/lib/lwres/man/lwres_getnameinfo.3 index f29c200a97..6d048c4e9c 100644 --- a/lib/lwres/man/lwres_getnameinfo.3 +++ b/lib/lwres/man/lwres_getnameinfo.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_getnameinfo .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,25 +35,27 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_getnameinfo \- lightweight resolver socket address structure to hostname and service name -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'int\ lwres_getnameinfo('u .BI "int lwres_getnameinfo(const\ struct\ sockaddr\ *" "sa" ", size_t\ " "salen" ", char\ *" "host" ", size_t\ " "hostlen" ", char\ *" "serv" ", size_t\ " "servlen" ", int\ " "flags" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP This function is equivalent to the \fBgetnameinfo\fR(3) function defined in RFC2133\&. \fBlwres_getnameinfo()\fR returns the hostname for the -\fBstruct sockaddr\fR\fIsa\fR +\fBstruct sockaddr\fR +\fIsa\fR which is \fIsalen\fR bytes long\&. The hostname is of length @@ -62,7 +64,7 @@ and is returned via \fI*host\&.\fR The maximum length of the hostname is 1025 bytes: \fBNI_MAXHOST\fR\&. -.PP + .PP The name of the service associated with the port number in \fIsa\fR is returned in @@ -72,49 +74,49 @@ It is bytes long\&. The maximum length of the service name is \fBNI_MAXSERV\fR \- 32 bytes\&. -.PP + .PP The \fIflags\fR argument sets the following bits: -.PP + .PP \fBNI_NOFQDN\fR .RS 4 -A fully qualified domain name is not required for local hosts\&. The local part of the fully qualified domain name is returned instead\&. -.RE -.PP + A fully qualified domain name is not required for local hosts\&. The local part of the fully qualified domain name is returned instead\&. + .RE + .PP \fBNI_NUMERICHOST\fR .RS 4 -Return the address in numeric form, as if calling inet_ntop(), instead of a host name\&. -.RE -.PP + Return the address in numeric form, as if calling inet_ntop(), instead of a host name\&. + .RE + .PP \fBNI_NAMEREQD\fR .RS 4 -A name is required\&. If the hostname cannot be found in the DNS and this flag is set, a non\-zero error code is returned\&. If the hostname is not found and the flag is not set, the address is returned in numeric form\&. -.RE -.PP + A name is required\&. If the hostname cannot be found in the DNS and this flag is set, a non\-zero error code is returned\&. If the hostname is not found and the flag is not set, the address is returned in numeric form\&. + .RE + .PP \fBNI_NUMERICSERV\fR .RS 4 -The service name is returned as a digit string representing the port number\&. -.RE -.PP + The service name is returned as a digit string representing the port number\&. + .RE + .PP \fBNI_DGRAM\fR .RS 4 -Specifies that the service being looked up is a datagram service, and causes getservbyport() to be called with a second argument of "udp" instead of its default of "tcp"\&. This is required for the few ports (512\-514) that have different services for UDP and TCP\&. -.RE -.SH "RETURN VALUES" -.PP + Specifies that the service being looked up is a datagram service, and causes getservbyport() to be called with a second argument of "udp" instead of its default of "tcp"\&. This is required for the few ports (512\-514) that have different services for UDP and TCP\&. + .RE + .SH "RETURN VALUES" + .PP \fBlwres_getnameinfo()\fR returns 0 on success or a non\-zero error code if an error occurs\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBRFC2133\fR(), \fBgetservbyport\fR(3), \fBlwres\fR(3), \fBlwres_getnameinfo\fR(3), \fBlwres_getnamebyaddr\fR(3)\&. \fBlwres_net_ntop\fR(3)\&. -.SH "BUGS" -.PP + .SH "BUGS" + .PP RFC2133 fails to define what the nonzero return values of \fBgetnameinfo\fR(3) are\&. diff --git a/lib/lwres/man/lwres_getnameinfo.html b/lib/lwres/man/lwres_getnameinfo.html index cf0ee71297..d185db0b19 100644 --- a/lib/lwres/man/lwres_getnameinfo.html +++ b/lib/lwres/man/lwres_getnameinfo.html @@ -10,7 +10,7 @@ lwres_getnameinfo - +
diff --git a/lib/lwres/man/lwres_getrrsetbyname.3 b/lib/lwres/man/lwres_getrrsetbyname.3 index 91cbcaf6aa..8d622cee92 100644 --- a/lib/lwres/man/lwres_getrrsetbyname.3 +++ b/lib/lwres/man/lwres_getrrsetbyname.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_getrrsetbyname .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,29 +35,31 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_getrrsetbyname, lwres_freerrset \- retrieve DNS records -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'int\ lwres_getrrsetbyname('u .BI "int lwres_getrrsetbyname(const\ char\ *" "hostname" ", unsigned\ int\ " "rdclass" ", unsigned\ int\ " "rdtype" ", unsigned\ int\ " "flags" ", struct\ rrsetinfo\ **" "res" ");" .HP \w'void\ lwres_freerrset('u .BI "void lwres_freerrset(struct\ rrsetinfo\ *" "rrset" ");" -.PP + .PP The following structures are used: -.PP + .PP .nf struct rdatainfo { unsigned int rdi_length; /* length of data */ unsigned char *rdi_data; /* record data */ }; .fi -.PP +.sp + .PP .nf struct rrsetinfo { unsigned int rri_flags; /* RRSET_VALIDATED\&.\&.\&. */ @@ -72,8 +74,8 @@ struct rrsetinfo { }; .fi .sp -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP \fBlwres_getrrsetbyname()\fR gets a set of resource records associated with a \fIhostname\fR, @@ -83,7 +85,7 @@ gets a set of resource records associated with a is a pointer a to null\-terminated string\&. The \fIflags\fR field is currently unused and must be zero\&. -.PP + .PP After a successful call to \fBlwres_getrrsetbyname()\fR, \fI*res\fR @@ -108,7 +110,7 @@ and are in uncompressed DNS wire format\&. Properties of the rdataset are represented in the \fBrri_flags\fR bitfield\&. If the RRSET_VALIDATED bit is set, the data has been DNSSEC validated and the signatures verified\&. -.PP + .PP All of the information returned by \fBlwres_getrrsetbyname()\fR is dynamically allocated: the @@ -125,41 +127,41 @@ is a pointer to a \fBstruct rrset\fR created by a call to \fBlwres_getrrsetbyname()\fR\&. -.PP -.SH "RETURN VALUES" -.PP + .PP + .SH "RETURN VALUES" + .PP \fBlwres_getrrsetbyname()\fR returns zero on success, and one of the following error codes if an error occurred: -.PP + .PP \fBERRSET_NONAME\fR .RS 4 -the name does not exist -.RE -.PP + the name does not exist + .RE + .PP \fBERRSET_NODATA\fR .RS 4 -the name exists, but does not have data of the desired type -.RE -.PP + the name exists, but does not have data of the desired type + .RE + .PP \fBERRSET_NOMEMORY\fR .RS 4 -memory could not be allocated -.RE -.PP + memory could not be allocated + .RE + .PP \fBERRSET_INVAL\fR .RS 4 -a parameter is invalid -.RE -.PP + a parameter is invalid + .RE + .PP \fBERRSET_FAIL\fR .RS 4 -other failure -.RE -.PP + other failure + .RE + .PP .RS 4 -.RE -.SH "SEE ALSO" -.PP + .RE + .SH "SEE ALSO" + .PP \fBlwres\fR(3)\&. .SH "AUTHOR" .PP diff --git a/lib/lwres/man/lwres_getrrsetbyname.html b/lib/lwres/man/lwres_getrrsetbyname.html index 37028b5b6a..e8dc4cc02d 100644 --- a/lib/lwres/man/lwres_getrrsetbyname.html +++ b/lib/lwres/man/lwres_getrrsetbyname.html @@ -10,7 +10,7 @@ lwres_getrrsetbyname - +
diff --git a/lib/lwres/man/lwres_gnba.3 b/lib/lwres/man/lwres_gnba.3 index ce6561ad32..0c7d45a875 100644 --- a/lib/lwres/man/lwres_gnba.3 +++ b/lib/lwres/man/lwres_gnba.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_gnba .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,15 +35,16 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_gnbarequest_render, lwres_gnbaresponse_render, lwres_gnbarequest_parse, lwres_gnbaresponse_parse, lwres_gnbaresponse_free, lwres_gnbarequest_free \- lightweight resolver getnamebyaddress message handling -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'lwres_result_t\ lwres_gnbarequest_render('u .BI "lwres_result_t lwres_gnbarequest_render(lwres_context_t\ *" "ctx" ", lwres_gnbarequest_t\ *" "req" ", lwres_lwpacket_t\ *" "pkt" ", lwres_buffer_t\ *" "b" ");" .HP \w'lwres_result_t\ lwres_gnbaresponse_render('u @@ -56,19 +57,19 @@ lwres_gnbarequest_render, lwres_gnbaresponse_render, lwres_gnbarequest_parse, lw .BI "void lwres_gnbaresponse_free(lwres_context_t\ *" "ctx" ", lwres_gnbaresponse_t\ **" "structp" ");" .HP \w'void\ lwres_gnbarequest_free('u .BI "void lwres_gnbarequest_free(lwres_context_t\ *" "ctx" ", lwres_gnbarequest_t\ **" "structp" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP These are low\-level routines for creating and parsing lightweight resolver address\-to\-name lookup request and response messages\&. -.PP + .PP There are four main functions for the getnamebyaddr opcode\&. One render function converts a getnamebyaddr request structure \(em \fBlwres_gnbarequest_t\fR \(em to the lightweight resolver\*(Aqs canonical format\&. It is complemented by a parse function that converts a packet in this canonical format to a getnamebyaddr request structure\&. Another render function converts the getnamebyaddr response structure \(em \fBlwres_gnbaresponse_t\fR to the canonical format\&. This is complemented by a parse function which converts a packet in canonical format to a getnamebyaddr response structure\&. -.PP + .PP These structures are defined in lwres/lwres\&.h\&. They are shown below\&. -.PP + .PP .if n \{\ .RS 4 .\} @@ -78,7 +79,8 @@ lwres/lwres\&.h\&. They are shown below\&. .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -91,7 +93,8 @@ typedef struct { .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -110,7 +113,8 @@ typedef struct { .if n \{\ .RE .\} -.PP +.sp + .PP \fBlwres_gnbarequest_render()\fR uses resolver context \fIctx\fR @@ -126,7 +130,7 @@ are then appended to the buffer in canonical format\&. performs the same task, except it converts a getnamebyaddr response structure \fBlwres_gnbaresponse_t\fR to the lightweight resolver\*(Aqs canonical format\&. -.PP + .PP \fBlwres_gnbarequest_parse()\fR uses context \fIctx\fR @@ -146,7 +150,7 @@ offers the same semantics as except it yields a \fBlwres_gnbaresponse_t\fR structure\&. -.PP + .PP \fBlwres_gnbaresponse_free()\fR and \fBlwres_gnbarequest_free()\fR @@ -158,11 +162,12 @@ or \fBlwres_gnbarequest_t\fR structures referenced via \fIstructp\fR\&. Any memory associated with ancillary buffers and strings for those structures is also discarded\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP The getnamebyaddr opcode functions \fBlwres_gnbarequest_render()\fR, -\fBlwres_gnbaresponse_render()\fR\fBlwres_gnbarequest_parse()\fR +\fBlwres_gnbaresponse_render()\fR +\fBlwres_gnbarequest_parse()\fR and \fBlwres_gnbaresponse_parse()\fR all return @@ -190,8 +195,8 @@ if in the packet header structure \fBlwres_lwpacket_t\fR indicate that the packet is not a response to an earlier query\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBlwres_packet\fR(3)\&. .SH "AUTHOR" .PP diff --git a/lib/lwres/man/lwres_gnba.html b/lib/lwres/man/lwres_gnba.html index f1e124081e..0aba713ffc 100644 --- a/lib/lwres/man/lwres_gnba.html +++ b/lib/lwres/man/lwres_gnba.html @@ -10,7 +10,7 @@ lwres_gnba - +
diff --git a/lib/lwres/man/lwres_hstrerror.3 b/lib/lwres/man/lwres_hstrerror.3 index 3b919a14f3..5b63a12e42 100644 --- a/lib/lwres/man/lwres_hstrerror.3 +++ b/lib/lwres/man/lwres_hstrerror.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_hstrerror .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,21 +35,22 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_herror, lwres_hstrerror \- lightweight resolver error message generation -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'void\ lwres_herror('u .BI "void lwres_herror(const\ char\ *" "s" ");" .HP \w'const\ char\ *\ lwres_hstrerror('u .BI "const char * lwres_hstrerror(int\ " "err" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP \fBlwres_herror()\fR prints the string \fIs\fR @@ -59,37 +60,37 @@ followed by the string generated by \fBlwres_hstrerror()\fR for the error code stored in the global variable \fBlwres_h_errno\fR\&. -.PP + .PP \fBlwres_hstrerror()\fR returns an appropriate string for the error code gievn by \fIerr\fR\&. The values of the error codes and messages are as follows: -.PP + .PP \fBNETDB_SUCCESS\fR .RS 4 -Resolver Error 0 (no error) -.RE -.PP + Resolver Error 0 (no error) + .RE + .PP \fBHOST_NOT_FOUND\fR .RS 4 -Unknown host -.RE -.PP + Unknown host + .RE + .PP \fBTRY_AGAIN\fR .RS 4 -Host name lookup failure -.RE -.PP + Host name lookup failure + .RE + .PP \fBNO_RECOVERY\fR .RS 4 -Unknown server error -.RE -.PP + Unknown server error + .RE + .PP \fBNO_DATA\fR .RS 4 -No address associated with name -.RE -.SH "RETURN VALUES" -.PP + No address associated with name + .RE + .SH "RETURN VALUES" + .PP The string Unknown resolver error is returned by @@ -97,8 +98,8 @@ is returned by when the value of \fBlwres_h_errno\fR is not a valid error code\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBherror\fR(3), \fBlwres_hstrerror\fR(3)\&. .SH "AUTHOR" diff --git a/lib/lwres/man/lwres_hstrerror.html b/lib/lwres/man/lwres_hstrerror.html index d358fbc5ae..a6e6d002ed 100644 --- a/lib/lwres/man/lwres_hstrerror.html +++ b/lib/lwres/man/lwres_hstrerror.html @@ -10,7 +10,7 @@ lwres_hstrerror - +
diff --git a/lib/lwres/man/lwres_inetntop.3 b/lib/lwres/man/lwres_inetntop.3 index bc9745efc2..1ed0b22d1c 100644 --- a/lib/lwres/man/lwres_inetntop.3 +++ b/lib/lwres/man/lwres_inetntop.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_inetntop .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,33 +35,34 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_net_ntop \- lightweight resolver IP address presentation -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'const\ char\ *\ lwres_net_ntop('u .BI "const char * lwres_net_ntop(int\ " "af" ", const\ void\ *" "src" ", char\ *" "dst" ", size_t\ " "size" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP \fBlwres_net_ntop()\fR converts an IP address of protocol family \fIaf\fR \(em IPv4 or IPv6 \(em at location \fIsrc\fR from network format to its conventional representation as a string\&. For IPv4 addresses, that string would be a dotted\-decimal\&. An IPv6 address would be represented in colon notation as described in RFC1884\&. -.PP + .PP The generated string is copied to \fIdst\fR provided \fIsize\fR indicates it is long enough to store the ASCII representation of the address\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP If successful, the function returns \fIdst\fR: a pointer to a string containing the presentation format of the address\&. \fBlwres_net_ntop()\fR @@ -74,8 +75,8 @@ to if the protocol family given in \fIaf\fR is not supported\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBRFC1884\fR(), \fBinet_ntop\fR(3), \fBerrno\fR(3)\&. diff --git a/lib/lwres/man/lwres_inetntop.html b/lib/lwres/man/lwres_inetntop.html index 313ba34726..1b60d693ab 100644 --- a/lib/lwres/man/lwres_inetntop.html +++ b/lib/lwres/man/lwres_inetntop.html @@ -10,7 +10,7 @@ lwres_inetntop - +
diff --git a/lib/lwres/man/lwres_noop.3 b/lib/lwres/man/lwres_noop.3 index 85ed16d659..bcad99c1df 100644 --- a/lib/lwres/man/lwres_noop.3 +++ b/lib/lwres/man/lwres_noop.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_noop .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,15 +35,16 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_nooprequest_render, lwres_noopresponse_render, lwres_nooprequest_parse, lwres_noopresponse_parse, lwres_noopresponse_free, lwres_nooprequest_free \- lightweight resolver no\-op message handling -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'lwres_result_t\ lwres_nooprequest_render('u .BI "lwres_result_t lwres_nooprequest_render(lwres_context_t\ *" "ctx" ", lwres_nooprequest_t\ *" "req" ", lwres_lwpacket_t\ *" "pkt" ", lwres_buffer_t\ *" "b" ");" .HP \w'lwres_result_t\ lwres_noopresponse_render('u @@ -56,23 +57,23 @@ lwres_nooprequest_render, lwres_noopresponse_render, lwres_nooprequest_parse, lw .BI "void lwres_noopresponse_free(lwres_context_t\ *" "ctx" ", lwres_noopresponse_t\ **" "structp" ");" .HP \w'void\ lwres_nooprequest_free('u .BI "void lwres_nooprequest_free(lwres_context_t\ *" "ctx" ", lwres_nooprequest_t\ **" "structp" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP These are low\-level routines for creating and parsing lightweight resolver no\-op request and response messages\&. -.PP + .PP The no\-op message is analogous to a \fBping\fR packet: a packet is sent to the resolver daemon and is simply echoed back\&. The opcode is intended to allow a client to determine if the server is operational or not\&. -.PP + .PP There are four main functions for the no\-op opcode\&. One render function converts a no\-op request structure \(em \fBlwres_nooprequest_t\fR \(em to the lightweight resolver\*(Aqs canonical format\&. It is complemented by a parse function that converts a packet in this canonical format to a no\-op request structure\&. Another render function converts the no\-op response structure \(em \fBlwres_noopresponse_t\fR to the canonical format\&. This is complemented by a parse function which converts a packet in canonical format to a no\-op response structure\&. -.PP + .PP These structures are defined in lwres/lwres\&.h\&. They are shown below\&. -.PP + .PP .if n \{\ .RS 4 .\} @@ -82,7 +83,8 @@ lwres/lwres\&.h\&. They are shown below\&. .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -95,7 +97,8 @@ typedef struct { .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -108,9 +111,10 @@ typedef struct { .if n \{\ .RE .\} -.PP +.sp + .PP Although the structures have different types, they are identical\&. This is because the no\-op opcode simply echos whatever data was sent: the response is therefore identical to the request\&. -.PP + .PP \fBlwres_nooprequest_render()\fR uses resolver context \fIctx\fR @@ -126,7 +130,7 @@ are then appended to the buffer in canonical format\&. performs the same task, except it converts a no\-op response structure \fBlwres_noopresponse_t\fR to the lightweight resolver\*(Aqs canonical format\&. -.PP + .PP \fBlwres_nooprequest_parse()\fR uses context \fIctx\fR @@ -146,7 +150,7 @@ offers the same semantics as except it yields a \fBlwres_noopresponse_t\fR structure\&. -.PP + .PP \fBlwres_noopresponse_free()\fR and \fBlwres_nooprequest_free()\fR @@ -158,11 +162,12 @@ or \fBlwres_nooprequest_t\fR structures referenced via \fIstructp\fR\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP The no\-op opcode functions \fBlwres_nooprequest_render()\fR, -\fBlwres_noopresponse_render()\fR\fBlwres_nooprequest_parse()\fR +\fBlwres_noopresponse_render()\fR +\fBlwres_nooprequest_parse()\fR and \fBlwres_noopresponse_parse()\fR all return @@ -190,8 +195,8 @@ if in the packet header structure \fBlwres_lwpacket_t\fR indicate that the packet is not a response to an earlier query\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBlwres_packet\fR(3) .SH "AUTHOR" .PP diff --git a/lib/lwres/man/lwres_noop.html b/lib/lwres/man/lwres_noop.html index 64482ed537..47aa8012ab 100644 --- a/lib/lwres/man/lwres_noop.html +++ b/lib/lwres/man/lwres_noop.html @@ -10,7 +10,7 @@ lwres_noop - +
diff --git a/lib/lwres/man/lwres_packet.3 b/lib/lwres/man/lwres_packet.3 index 12b0026490..d506cd7283 100644 --- a/lib/lwres/man/lwres_packet.3 +++ b/lib/lwres/man/lwres_packet.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_packet .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,26 +35,27 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_lwpacket_renderheader, lwres_lwpacket_parseheader \- lightweight resolver packet handling functions -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'lwres_result_t\ lwres_lwpacket_renderheader('u .BI "lwres_result_t lwres_lwpacket_renderheader(lwres_buffer_t\ *" "b" ", lwres_lwpacket_t\ *" "pkt" ");" .HP \w'lwres_result_t\ lwres_lwpacket_parseheader('u .BI "lwres_result_t lwres_lwpacket_parseheader(lwres_buffer_t\ *" "b" ", lwres_lwpacket_t\ *" "pkt" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP These functions rely on a \fBstruct lwres_lwpacket\fR which is defined in lwres/lwpacket\&.h\&. -.PP + .PP .if n \{\ .RS 4 .\} @@ -64,7 +65,8 @@ typedef struct lwres_lwpacket lwres_lwpacket_t; .if n \{\ .RE .\} -.PP +.sp + .PP .if n \{\ .RS 4 .\} @@ -84,78 +86,80 @@ struct lwres_lwpacket { .if n \{\ .RE .\} -.PP +.sp + .PP The elements of this structure are: -.PP + .PP \fBlength\fR .RS 4 -the overall packet length, including the entire packet header\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&. -.RE -.PP + the overall packet length, including the entire packet header\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&. + .RE + .PP \fBversion\fR .RS 4 -the header format\&. There is currently only one format, + the header format\&. There is currently only one format, \fBLWRES_LWPACKETVERSION_0\fR\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&. -.RE -.PP + .RE + .PP \fBpktflags\fR .RS 4 -library\-defined flags for this packet: for instance whether the packet is a request or a reply\&. Flag values can be set, but not defined by the caller\&. This field is filled in by the application with the exception of the LWRES_LWPACKETFLAG_RESPONSE bit, which is set by the library in the lwres_gabn_*() and lwres_gnba_*() calls\&. -.RE -.PP + library\-defined flags for this packet: for instance whether the packet is a request or a reply\&. Flag values can be set, but not defined by the caller\&. This field is filled in by the application with the exception of the LWRES_LWPACKETFLAG_RESPONSE bit, which is set by the library in the lwres_gabn_*() and lwres_gnba_*() calls\&. + .RE + .PP \fBserial\fR .RS 4 -is set by the requestor and is returned in all replies\&. If two or more packets from the same source have the same serial number and are from the same source, they are assumed to be duplicates and the latter ones may be dropped\&. This field must be set by the application\&. -.RE -.PP + is set by the requestor and is returned in all replies\&. If two or more packets from the same source have the same serial number and are from the same source, they are assumed to be duplicates and the latter ones may be dropped\&. This field must be set by the application\&. + .RE + .PP \fBopcode\fR .RS 4 -indicates the operation\&. Opcodes between 0x00000000 and 0x03ffffff are reserved for use by the lightweight resolver library\&. Opcodes between 0x04000000 and 0xffffffff are application defined\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&. -.RE -.PP + indicates the operation\&. Opcodes between 0x00000000 and 0x03ffffff are reserved for use by the lightweight resolver library\&. Opcodes between 0x04000000 and 0xffffffff are application defined\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&. + .RE + .PP \fBresult\fR .RS 4 -is only valid for replies\&. Results between 0x04000000 and 0xffffffff are application defined\&. Results between 0x00000000 and 0x03ffffff are reserved for library use\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&. -.RE -.PP + is only valid for replies\&. Results between 0x04000000 and 0xffffffff are application defined\&. Results between 0x00000000 and 0x03ffffff are reserved for library use\&. This field is filled in by the lwres_gabn_*() and lwres_gnba_*() calls\&. + .RE + .PP \fBrecvlength\fR .RS 4 -is the maximum buffer size that the receiver can handle on requests and the size of the buffer needed to satisfy a request when the buffer is too large for replies\&. This field is supplied by the application\&. -.RE -.PP + is the maximum buffer size that the receiver can handle on requests and the size of the buffer needed to satisfy a request when the buffer is too large for replies\&. This field is supplied by the application\&. + .RE + .PP \fBauthtype\fR .RS 4 -defines the packet level authentication that is used\&. Authorisation types between 0x1000 and 0xffff are application defined and types between 0x0000 and 0x0fff are reserved for library use\&. Currently these are not used and must be zero\&. -.RE -.PP + defines the packet level authentication that is used\&. Authorisation types between 0x1000 and 0xffff are application defined and types between 0x0000 and 0x0fff are reserved for library use\&. Currently these are not used and must be zero\&. + .RE + .PP \fBauthlen\fR .RS 4 -gives the length of the authentication data\&. Since packet authentication is currently not used, this must be zero\&. -.RE -.PP + gives the length of the authentication data\&. Since packet authentication is currently not used, this must be zero\&. + .RE + .PP The following opcodes are currently defined: -.PP + .PP \fBNOOP\fR .RS 4 -Success is always returned and the packet contents are echoed\&. The lwres_noop_*() functions should be used for this type\&. -.RE -.PP + Success is always returned and the packet contents are echoed\&. The lwres_noop_*() functions should be used for this type\&. + .RE + .PP \fBGETADDRSBYNAME\fR .RS 4 -returns all known addresses for a given name\&. The lwres_gabn_*() functions should be used for this type\&. -.RE -.PP + returns all known addresses for a given name\&. The lwres_gabn_*() functions should be used for this type\&. + .RE + .PP \fBGETNAMEBYADDR\fR .RS 4 -return the hostname for the given address\&. The lwres_gnba_*() functions should be used for this type\&. -.RE -.PP + return the hostname for the given address\&. The lwres_gnba_*() functions should be used for this type\&. + .RE + .PP \fBlwres_lwpacket_renderheader()\fR transfers the contents of lightweight resolver packet structure -\fBlwres_lwpacket_t\fR\fI*pkt\fR +\fBlwres_lwpacket_t\fR +\fI*pkt\fR in network byte order to the lightweight resolver buffer, \fI*b\fR\&. -.PP + .PP \fBlwres_lwpacket_parseheader()\fR performs the converse operation\&. It transfers data in network byte order from buffer \fI*b\fR @@ -164,8 +168,8 @@ to resolver packet \fIb\fR should correspond to a \fBlwres_lwpacket_t\fR\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP Successful calls to \fBlwres_lwpacket_renderheader()\fR and diff --git a/lib/lwres/man/lwres_packet.html b/lib/lwres/man/lwres_packet.html index 14b151f402..54872d5aaf 100644 --- a/lib/lwres/man/lwres_packet.html +++ b/lib/lwres/man/lwres_packet.html @@ -10,7 +10,7 @@ lwres_packet - +
diff --git a/lib/lwres/man/lwres_resutil.3 b/lib/lwres/man/lwres_resutil.3 index 4263c180d0..87fad166d1 100644 --- a/lib/lwres/man/lwres_resutil.3 +++ b/lib/lwres/man/lwres_resutil.3 @@ -9,7 +9,7 @@ '\" t .\" Title: lwres_resutil .\" Author: -.\" Generator: DocBook XSL Stylesheets v1.78.1 +.\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2007-06-18 .\" Manual: BIND9 .\" Source: ISC @@ -35,15 +35,16 @@ .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- -.SH "NAME" + .SH "NAME" lwres_string_parse, lwres_addr_parse, lwres_getaddrsbyname, lwres_getnamebyaddr \- lightweight resolver utility functions -.SH "SYNOPSIS" + .SH "SYNOPSIS" .sp .ft B .nf #include .fi .ft +.sp .HP \w'lwres_result_t\ lwres_string_parse('u .BI "lwres_result_t lwres_string_parse(lwres_buffer_t\ *" "b" ", char\ **" "c" ", uint16_t\ *" "len" ");" .HP \w'lwres_result_t\ lwres_addr_parse('u @@ -52,8 +53,8 @@ lwres_string_parse, lwres_addr_parse, lwres_getaddrsbyname, lwres_getnamebyaddr .BI "lwres_result_t lwres_getaddrsbyname(lwres_context_t\ *" "ctx" ", const\ char\ *" "name" ", uint32_t\ " "addrtypes" ", lwres_gabnresponse_t\ **" "structp" ");" .HP \w'lwres_result_t\ lwres_getnamebyaddr('u .BI "lwres_result_t lwres_getnamebyaddr(lwres_context_t\ *" "ctx" ", uint32_t\ " "addrtype" ", uint16_t\ " "addrlen" ", const\ unsigned\ char\ *" "addr" ", lwres_gnbaresponse_t\ **" "structp" ");" -.SH "DESCRIPTION" -.PP + .SH "DESCRIPTION" + .PP \fBlwres_string_parse()\fR retrieves a DNS\-encoded string starting the current pointer of lightweight resolver buffer \fIb\fR: i\&.e\&. @@ -63,7 +64,7 @@ and the length of that string is given by \fI*len\fR\&. The buffer\*(Aqs current pointer is advanced to point at the character following the string length, the encoded string, and the trailing \fBNULL\fR character\&. -.PP + .PP \fBlwres_addr_parse()\fR extracts an address from the buffer \fIb\fR\&. The buffer\*(Aqs current pointer @@ -75,7 +76,7 @@ and indicates the size in bytes of the address that was copied\&. \fBb\->current\fR is advanced to point at the next byte of available data in the buffer following the encoded address\&. -.PP + .PP \fBlwres_getaddrsbyname()\fR and \fBlwres_getnamebyaddr()\fR @@ -103,11 +104,11 @@ typedef struct { .if n \{\ .RE .\} -.PP + .PP The contents of this structure are not manipulated directly but they are controlled through the \fBlwres_gabn\fR(3) functions\&. -.PP + .PP The lightweight resolver uses \fBlwres_getaddrsbyname()\fR to perform forward lookups\&. Hostname @@ -122,7 +123,7 @@ for IPv4 addresses and \fBLWRES_ADDRTYPE_V6\fR for IPv6 addresses\&. Results of the lookup are returned in \fI*structp\fR\&. -.PP + .PP \fBlwres_getnamebyaddr()\fR performs reverse lookups\&. Resolver context \fIctx\fR @@ -136,8 +137,8 @@ and its length is \fIaddrlen\fR bytes\&. The result of the function call is made available through \fI*structp\fR\&. -.SH "RETURN VALUES" -.PP + .SH "RETURN VALUES" + .PP Successful calls to \fBlwres_string_parse()\fR and @@ -149,7 +150,7 @@ Both functions return if the buffer is corrupt or \fBLWRES_R_UNEXPECTEDEND\fR if the buffer has less space than expected for the components of the encoded string or address\&. -.PP + .PP \fBlwres_getaddrsbyname()\fR returns \fBLWRES_R_SUCCESS\fR @@ -158,11 +159,11 @@ on success and it returns if the hostname \fIname\fR could not be found\&. -.PP + .PP \fBLWRES_R_SUCCESS\fR is returned by a successful call to \fBlwres_getnamebyaddr()\fR\&. -.PP + .PP Both \fBlwres_getaddrsbyname()\fR and @@ -172,8 +173,8 @@ return when memory allocation requests fail and \fBLWRES_R_UNEXPECTEDEND\fR if the buffers used for sending queries and receiving replies are too small\&. -.SH "SEE ALSO" -.PP + .SH "SEE ALSO" + .PP \fBlwres_buffer\fR(3), \fBlwres_gabn\fR(3)\&. .SH "AUTHOR" diff --git a/lib/lwres/man/lwres_resutil.html b/lib/lwres/man/lwres_resutil.html index 7468548363..f2c77acc82 100644 --- a/lib/lwres/man/lwres_resutil.html +++ b/lib/lwres/man/lwres_resutil.html @@ -10,7 +10,7 @@ lwres_resutil - +
diff --git a/version b/version index d90d43c23f..6193d5738c 100644 --- a/version +++ b/version @@ -5,7 +5,7 @@ PRODUCT=BIND DESCRIPTION="(Extended Support Version)" MAJORVER=9 MINORVER=11 -PATCHVER=24 +PATCHVER=25 RELEASETYPE= RELEASEVER= EXTENSIONS=