Skip to contentSkip to conversation

stale nfs file handle with exported loopback mounts

DISCUSSION [email protected] 2 participants 2 messages Oct 31, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

hi !

i tried latest grml build (lenny/sid) as server today (suse 9.3 as client).

error still existing, but a little bit different:

if i cd to the loopback-mount dir`s on the client, i see the contents of th= e parent directory, i.e. i get a recursion.

regards
roland

Quoted 17 lines

-----Urspr=FCngliche Nachricht-----
Von: [email protected]
Gesendet: 30.10.07 21:05:56
An: Neil Brown <[email protected]>
CC: [email protected]
Betreff: Re: [NFS] stale nfs file handle with exported loopback mounts

=

Quoted 2 lines

I recommend replacing subtree_check with no_subtree_check, but it shouldn't make an important difference in this case.

=

ok, i leave it as is.
=

Quoted 7 lines
Quoted 3 lines

This should work with nfs-utils 1.1.0 or later. With earlier releases you need to explicitly export the subordinate filesystems too. =

=

mhh - opensuse doesn`t have nfs-utils package, but it has nfs-client-1.1.=

0-8 which looks like they repackaged nfs-utils 1.1.0

Quoted 26 lines

=

Quoted 1 line

It is a little odd that the errors are inconsistent.

=

ok, but only a minor issue, if an issue at all, isn`t it ? =

Quoted 2 lines

Can you find any log messages from mountd in syslog? What do they say?

=

yes, on the client i`m getting :
=

Jun  3 21:36:01 linux kernel: nfs_update_inode: inode number mismatch
Jun  3 21:36:01 linux kernel: expected (0:11/0x2), got (0:11/0x13881)
Jun  3 21:36:01 linux kernel: nfs_update_inode: inode number mismatch
Jun  3 21:36:01 linux kernel: expected (0:11/0x2), got (0:11/0x13881)
Jun  3 21:36:17 linux kernel: nfs_update_inode: inode number mismatch
Jun  3 21:36:17 linux kernel: expected (0:11/0x2), got (0:11/0x13881)
Jun  3 21:36:17 linux kernel: nfs_update_inode: inode number mismatch
Jun  3 21:36:17 linux kernel: expected (0:11/0x2), got (0:11/0x13881)
Jun  3 21:36:20 linux kernel: nfs_update_inode: inode number mismatch
Jun  3 21:36:20 linux kernel: expected (0:11/0x2), got (0:11/0x13881)
Jun  3 21:36:20 linux kernel: nfs_update_inode: inode number mismatch
Quoted 6 lines

=

=

no error message on the server:

Oct 26 10:09:31 opensuse103 mountd[4293]: authenticated unmount request f=

rom 10.0.0.40:1014 for /mnt (/mnt)

Quoted 1 line
Oct 26 10:10:07 opensuse103 mountd[4293]: authenticated mount request fro=

m 10.0.0.40:612 for /mnt (/mnt)

Quoted 1 line
Oct 26 10:10:43 opensuse103 mountd[4293]: authenticated unmount request f=

rom 10.0.0.40:623 for /mnt (/mnt)

Quoted 1 line
Oct 26 10:10:52 opensuse103 mountd[4293]: authenticated mount request fro=

m 10.0.0.40:624 for /mnt (/mnt)

Quoted 6 lines

=

Quoted 3 lines

Also what does
cat /proc/fs/nfsd/exports
=

Quoted 7 lines
Quoted 1 line

on the server show.

=

opensuse103:~ # cat /proc/fs/nfsd/exports
# Version 1.1
# Path Client(Flags) # IPs
/mnt/iso1 *(ro,no_root_squash,sync,wdelay,crossmnt,uuid=3D2c49fef2:=

ba464293:9b2bf2b8:322ccbcb)

Quoted 1 line

/mnt/iso3 *(ro,no_root_squash,sync,wdelay,crossmnt,uuid=3D27ae9c67:=

0b794b36:8b5e9e17:37b569eb)

Quoted 1 line

/mnt *(ro,no_root_squash,sync,wdelay,crossmnt,uuid=3D08164ee4:2db141eb=

:ac961701:49c74396)

Quoted 1 line

/mnt/iso2 *(ro,no_root_squash,sync,wdelay,crossmnt,uuid=3D2aad6ea5:=

a05d4441:b94c48e6:e5d9981e)

Quoted 7 lines

=

=

Quoted 2 lines

Finally, a tcpdump:
=

Quoted 7 lines
Quoted 4 lines

tcpdump -s 0 -w /tmp/tcpdump port 2049
=

while you run the experiment might help.

=

ah - this seems to give a hint, but i don`t have a clue why the server (1=

0.0.0.30) is telling the client (10.0.0.40) a "RPC Version mismatch".

Quoted 1 line

I also tried --no-nfs-version 4 for rpc.mountd (setting in /etc/sysconfi=

g/nfs), but this didn`t make a difference.

Quoted 4 lines

=

here is the tcpdump output - i did =

Quoted 8 lines

=

- mount
- ls / ls -la / cd to subdirs
=

10:15:06.480542 IP 10.0.0.40.0 > 10.0.0.30.2049: 0 null 10:15:06.480572 IP 10.0.0.30.2049 > 10.0.0.40.0: reply ERR 0: RPC Version=

mismatch (167772160-0)

Quoted 1 line

10:15:06.480765 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 2031114913 win =

1460 <nop,nop,timestamp 686128 737918>

Quoted 1 line

10:15:06.480821 IP 10.0.0.40.2079804678 > 10.0.0.30.2049: 108 fsinfo fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C743963CD81908

Quoted 1 line

10:15:06.480833 IP 10.0.0.30.2049 > 10.0.0.40.1022: . ack 108 win 181 <no=

p,nop,timestamp 737918 686128>

Quoted 1 line

10:15:06.513365 IP 10.0.0.30.2049 > 10.0.0.40.2079804678: reply ok 84 fsi=

nfo rtmax 65536 rtpref 65536 wtmax 65536 wtpref 65536 dtpref 4096

Quoted 1 line

10:15:06.514408 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 85 win 1460 <no=

p,nop,timestamp 686160 737926>

Quoted 1 line

10:15:06.514902 IP 10.0.0.40.2096581894 > 10.0.0.30.2049: 108 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C743963CD81908

Quoted 1 line

10:15:06.515256 IP 10.0.0.30.2049 > 10.0.0.40.2096581894: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:15:06.553865 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 201 win 1460 <n=

op,nop,timestamp 686201 737926>

Quoted 1 line

10:16:03.091784 IP 10.0.0.40.2113359110 > 10.0.0.30.2049: 108 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C7439647219C8C

Quoted 1 line

10:16:03.093366 IP 10.0.0.30.2049 > 10.0.0.40.2113359110: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:03.096046 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 317 win 1460 <n=

op,nop,timestamp 743610 752071>

Quoted 1 line

10:16:03.097370 IP 10.0.0.40.2130136326 > 10.0.0.30.2049: 112 access fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000001F 001f

Quoted 1 line

10:16:03.098156 IP 10.0.0.30.2049 > 10.0.0.40.2130136326: reply ok 124 ac=

cess c 0003

Quoted 1 line

10:16:03.156812 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 441 win 1460 <n=

op,nop,timestamp 743651 752072>

Quoted 1 line

10:16:08.967804 IP 10.0.0.40.2146913542 > 10.0.0.30.2049: 108 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C7439600000000

Quoted 1 line

10:16:08.968305 IP 10.0.0.30.2049 > 10.0.0.40.2146913542: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:08.974285 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 557 win 1460 <n=

op,nop,timestamp 749477 753540>

Quoted 1 line

10:16:08.975739 IP 10.0.0.40.2163690758 > 10.0.0.30.2049: 132 readdirplus=

fh Unknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000000=
0 512 bytes @ 0

Quoted 1 line

10:16:08.975985 IP 10.0.0.30.2049 > 10.0.0.40.2163690758: reply ok 1448 r=

eaddirplus

Quoted 1 line

10:16:08.976510 IP 10.0.0.30.2049 > 10.0.0.40.1684108288: reply Unknown r=

pc response code=3D2021855861 340

Quoted 1 line

10:16:08.982238 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 2345 win 2184 <=

nop,nop,timestamp 749479 753541>

Quoted 1 line

10:16:08.984415 IP 10.0.0.40.2180467974 > 10.0.0.30.2049: 116 lookup fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C7439600000004 "is= o3"

Quoted 1 line

10:16:08.984931 IP 10.0.0.30.2049 > 10.0.0.40.2180467974: reply ok 232 lo=

okup fh Unknown/0100060027AE9C670B794B368B5E9E1737B569EB0000000100000002000= 041ED

Quoted 1 line

10:16:09.008819 IP 10.0.0.40.2197245190 > 10.0.0.30.2049: 104 getattr fh =

Unknown/0100060027AE9C670B794B368B5E9E1737B569EB0000000FDD22CC3C7002F0AC

Quoted 1 line

10:16:09.010946 IP 10.0.0.30.2049 > 10.0.0.40.2197245190: reply ok 188 ge=

tattr REG 2 ids 5/0 sz 0

Quoted 1 line

10:16:09.032541 IP 10.0.0.40.2214022406 > 10.0.0.30.2049: 128 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E66D0700

Quoted 1 line

10:16:09.033405 IP 10.0.0.30.2049 > 10.0.0.40.2214022406: reply ok 188 ge=

tattr REG 1 ids 1/0 sz 0

Quoted 1 line

10:16:09.033490 IP 10.0.0.40.2230799622 > 10.0.0.30.2049: 128 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E56D0700

Quoted 1 line

10:16:09.036811 IP 10.0.0.30.2049 > 10.0.0.40.2230799622: reply ok 188 ge=

tattr REG 1 ids 1/0 sz 0

Quoted 1 line

10:16:09.037823 IP 10.0.0.40.2247576838 > 10.0.0.30.2049: 108 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C7439600000000

Quoted 1 line

10:16:09.039817 IP 10.0.0.30.2049 > 10.0.0.40.2247576838: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:09.040423 IP 10.0.0.40.2264354054 > 10.0.0.30.2049: 112 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000000F

Quoted 1 line

10:16:09.040856 IP 10.0.0.30.2049 > 10.0.0.40.2264354054: reply ok 188 ge=

tattr REG 2 ids 5/0 sz 0

Quoted 1 line

10:16:09.041590 IP 10.0.0.40.2281131270 > 10.0.0.30.2049: 116 lookup fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C7439600000004 "is= o2"

Quoted 1 line

10:16:09.041920 IP 10.0.0.30.2049 > 10.0.0.40.2281131270: reply ok 232 lo=

okup fh Unknown/010006002AAD6EA5A05D4441B94C48E6E5D9981E0000000100000002000= 041ED

Quoted 1 line

10:16:09.049633 IP 10.0.0.40.2297908486 > 10.0.0.30.2049: 104 getattr fh =

Unknown/010006002AAD6EA5A05D4441B94C48E6E5D9981E0000000F5FDC84454326E193

Quoted 1 line

10:16:09.049781 IP 10.0.0.30.2049 > 10.0.0.40.2297908486: reply ok 188 ge=

tattr REG 2 ids 5/0 sz 0

Quoted 1 line

10:16:09.063218 IP 10.0.0.40.2314685702 > 10.0.0.30.2049: 128 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E46D0700

Quoted 1 line

10:16:09.072505 IP 10.0.0.30.2049 > 10.0.0.40.2314685702: reply ok 188 ge=

tattr REG 1 ids 1/0 sz 0

Quoted 1 line

10:16:09.091698 IP 10.0.0.40.2331462918 > 10.0.0.30.2049: 124 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E46D0700

Quoted 1 line

10:16:09.092022 IP 10.0.0.30.2049 > 10.0.0.40.2331462918: reply ok 116 ge=

tattr REG 100644 ids 0/0 sz 1048576

Quoted 1 line

10:16:09.128971 IP 10.0.0.40.2348240134 > 10.0.0.30.2049: 128 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E36D0700

Quoted 1 line

10:16:09.129304 IP 10.0.0.30.2049 > 10.0.0.40.2348240134: reply ok 188 ge=

tattr REG 1 ids 1/0 sz 0

Quoted 1 line

10:16:09.184155 IP 10.0.0.40.2365017350 > 10.0.0.30.2049: 124 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E36D0700

Quoted 1 line

10:16:09.184582 IP 10.0.0.30.2049 > 10.0.0.40.2365017350: reply ok 116 ge=

tattr REG 100644 ids 0/0 sz 1048576

Quoted 1 line

10:16:09.189234 IP 10.0.0.40.2381794566 > 10.0.0.30.2049: 116 lookup fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C7439600000004 "is= o1"

Quoted 1 line

10:16:09.189435 IP 10.0.0.30.2049 > 10.0.0.40.2381794566: reply ok 232 lo=

okup fh Unknown/010006002C49FEF2BA4642939B2BF2B8322CCBCB0000000100000002000= 041ED

Quoted 1 line

10:16:09.193476 IP 10.0.0.40.2398571782 > 10.0.0.30.2049: 104 getattr fh =

Unknown/010006002C49FEF2BA4642939B2BF2B8322CCBCB0000000F58896A884A0C62B7

Quoted 1 line

10:16:09.193652 IP 10.0.0.30.2049 > 10.0.0.40.2398571782: reply ok 188 ge=

tattr REG 2 ids 5/0 sz 0

Quoted 1 line

10:16:09.194937 IP 10.0.0.40.2415348998 > 10.0.0.30.2049: 128 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E76D0700

Quoted 1 line

10:16:09.195033 IP 10.0.0.30.2049 > 10.0.0.40.2415348998: reply ok 188 ge=

tattr REG 1 ids 1/0 sz 0

Quoted 1 line

10:16:09.195230 IP 10.0.0.40.2432126214 > 10.0.0.30.2049: 128 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E86D0700

Quoted 1 line

10:16:09.323635 IP 10.0.0.30.2049 > 10.0.0.40.1022: . ack 2572 win 416 <n=

op,nop,timestamp 753629 749566>

Quoted 1 line

10:16:09.324345 IP 10.0.0.30.2049 > 10.0.0.40.2432126214: reply ok 188 ge=

tattr REG 1 ids 1/0 sz 0

Quoted 1 line

10:16:09.341475 IP 10.0.0.40.2448903430 > 10.0.0.30.2049: 128 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E26D0700

Quoted 1 line

10:16:09.341524 IP 10.0.0.30.2049 > 10.0.0.40.1022: . ack 2700 win 449 <n=

op,nop,timestamp 753632 749707>

Quoted 1 line

10:16:09.341928 IP 10.0.0.30.2049 > 10.0.0.40.2448903430: reply ok 188 ge=

tattr REG 1 ids 1/0 sz 0

Quoted 1 line

10:16:09.342117 IP 10.0.0.40.2465680646 > 10.0.0.30.2049: 124 getattr fh =

Unknown/01000702813801000000000008164EE42DB141EBAC96170149C74396E26D0700

Quoted 1 line

10:16:09.343404 IP 10.0.0.30.2049 > 10.0.0.40.2465680646: reply ok 116 ge=

tattr REG 100644 ids 0/0 sz 1048576

Quoted 1 line

10:16:09.389316 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 5573 win 2184 <=

nop,nop,timestamp 749751 753633>

Quoted 1 line

10:16:13.449513 IP 10.0.0.40.2482457862 > 10.0.0.30.2049: 108 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C7439647219CB5

Quoted 1 line

10:16:13.449815 IP 10.0.0.30.2049 > 10.0.0.40.2482457862: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:13.452344 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 5689 win 2184 <=

nop,nop,timestamp 753943 754660>

Quoted 1 line

10:16:13.453973 IP 10.0.0.40.2499235078 > 10.0.0.30.2049: 100 getattr fh =

Unknown/010006002C49FEF2BA4642939B2BF2B8322CCBCB47219C8C0000000047219C8C

Quoted 1 line

10:16:13.454154 IP 10.0.0.30.2049 > 10.0.0.40.2499235078: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:13.456194 IP 10.0.0.40.2516012294 > 10.0.0.30.2049: 108 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C7439647219C8C

Quoted 1 line

10:16:13.456361 IP 10.0.0.30.2049 > 10.0.0.40.2516012294: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:13.458282 IP 10.0.0.40.2532789510 > 10.0.0.30.2049: 116 lookup fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C7439600000004 "is= o1"

Quoted 1 line

10:16:13.458461 IP 10.0.0.30.2049 > 10.0.0.40.2532789510: reply ok 232 lo=

okup fh Unknown/010006002C49FEF2BA4642939B2BF2B8322CCBCB0000000100000002000= 041ED

Quoted 1 line

10:16:13.510637 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 6153 win 2184 <=

nop,nop,timestamp 753985 754662>

Quoted 1 line

10:16:14.030110 IP 10.0.0.40.2549566726 > 10.0.0.30.2049: 112 access fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000001F 001f

Quoted 1 line

10:16:14.030927 IP 10.0.0.30.2049 > 10.0.0.40.2549566726: reply ok 124 ac=

cess c 0003

Quoted 1 line

10:16:14.033436 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 6277 win 2184 <=

nop,nop,timestamp 754548 754805>

Quoted 1 line

10:16:14.034732 IP 10.0.0.40.2566343942 > 10.0.0.30.2049: 108 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C7439600000000

Quoted 1 line

10:16:14.034980 IP 10.0.0.30.2049 > 10.0.0.40.2566343942: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:14.037319 IP 10.0.0.40.2583121158 > 10.0.0.30.2049: 112 access fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000001F 001f

Quoted 1 line

10:16:14.037486 IP 10.0.0.30.2049 > 10.0.0.40.2583121158: reply ok 124 ac=

cess c 0003

Quoted 1 line

10:16:14.040323 IP 10.0.0.40.2599898374 > 10.0.0.30.2049: 132 readdirplus=

fh Unknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000000=
0 512 bytes @ 0

Quoted 1 line

10:16:14.040554 IP 10.0.0.30.2049 > 10.0.0.40.2599898374: reply ok 1448 r=

eaddirplus

Quoted 1 line

10:16:14.041020 IP 10.0.0.30.2049 > 10.0.0.40.1684108288: reply Unknown r=

pc response code=3D2021855861 340

Quoted 1 line

10:16:14.043583 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 8305 win 2908 <=

nop,nop,timestamp 754550 754808>

Quoted 1 line

10:16:14.045104 IP 10.0.0.40.2616675590 > 10.0.0.30.2049: 112 access fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000001F 001f

Quoted 1 line

10:16:14.045402 IP 10.0.0.30.2049 > 10.0.0.40.2616675590: reply ok 124 ac=

cess c 0003

Quoted 1 line

10:16:14.047830 IP 10.0.0.40.2633452806 > 10.0.0.30.2049: 112 access fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000001F 001f

Quoted 1 line

10:16:14.048039 IP 10.0.0.30.2049 > 10.0.0.40.2633452806: reply ok 124 ac=

cess c 0003

Quoted 1 line

10:16:14.099385 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 8553 win 2908 <=

nop,nop,timestamp 754592 754810>

Quoted 1 line

10:16:14.293714 IP 10.0.0.40.2650230022 > 10.0.0.30.2049: 108 getattr fh =

Unknown/01000700813801000000000008164EE42DB141EBAC96170149C7439600000000

Quoted 1 line

10:16:14.294019 IP 10.0.0.30.2049 > 10.0.0.40.2650230022: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:14.297263 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 8669 win 2908 <=

nop,nop,timestamp 754763 754871>

Quoted 1 line

10:16:14.297272 IP 10.0.0.40.2667007238 > 10.0.0.30.2049: 112 access fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000001F 001f

Quoted 1 line

10:16:14.297466 IP 10.0.0.30.2049 > 10.0.0.40.2667007238: reply ok 124 ac=

cess c 0003

Quoted 1 line

10:16:14.297586 IP 10.0.0.40.2683784454 > 10.0.0.30.2049: 112 access fh U=

nknown/01000700813801000000000008164EE42DB141EBAC96170149C743960000001F 001f

Quoted 1 line

10:16:14.297987 IP 10.0.0.30.2049 > 10.0.0.40.2683784454: reply ok 124 ac=

cess c 0003

Quoted 1 line

10:16:14.301165 IP 10.0.0.40.2700561670 > 10.0.0.30.2049: 104 access fh U=

nknown/010006002C49FEF2BA4642939B2BF2B8322CCBCB0000001F47219C8C00000000 001f

Quoted 1 line

10:16:14.301405 IP 10.0.0.30.2049 > 10.0.0.40.2700561670: reply ok 124 ac=

cess c 0003

Quoted 1 line

10:16:14.351229 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 9041 win 2908 <=

nop,nop,timestamp 754810 754873>

Quoted 1 line

10:16:14.842633 IP 10.0.0.40.2717338886 > 10.0.0.30.2049: 100 getattr fh =

Unknown/010006002C49FEF2BA4642939B2BF2B8322CCBCB0000000047219C8C00000000

Quoted 1 line

10:16:14.851711 IP 10.0.0.30.2049 > 10.0.0.40.2717338886: reply ok 116 ge=

tattr DIR 40755 ids 0/0 sz 4096

Quoted 1 line

10:16:14.856846 IP 10.0.0.40.1022 > 10.0.0.30.2049: . ack 9157 win 2908 <=

nop,nop,timestamp 755272 755008>

Quoted 5 lines

=

=

Quoted 1 line
Quoted 1 line

does somebody have such setup up and running and can tell his distro =

/ kernel and nfs-utils version ?

Quoted 19 lines
Quoted 6 lines
Quoted 1 line

maybe i change distro then.

=

I doubt that it is a distro-specific thing. As long as you have nfs-utils-1.1.0 it should work. I don't have a 10.3 box set up yet, but it works fine on Debian/unstable for me.

=

ok, will try this on debian.
=

Quoted 1 line

Maybe try adding the "no_root_squash" export option.

no difference
=

Quoted 1 line

What does "ls -l /export" on the server show?

nothing unusual. no errors, just the dirs/mountpoints =

Quoted 40 lines

Thanks for your help!
=

regards
roland
=

=

Quoted 31 lines

=

Quoted 10 lines · On Saturday October 27, [email protected] wrote:

Hello !
=

with 2.6.22 i`m trying to export loopback mounted iso-images. =

this is /etc/exports:
=

/export *(ro,crossmnt,subtree_check)

=

I recommend replacing subtree_check with no_subtree_check, but it shouldn't make an important difference in this case.
=

=

This should work with nfs-utils 1.1.0 or later. With earlier releases you need to explicitly export the subordinate filesystems too. =

Quoted 6 lines

=

in /export, i have loopback mounted iso-images
=

after mounting on the client side under /mnt (tried one older and one=

recent system) , i`m getting:

Quoted 38 lines
Quoted 37 lines
Quoted 12 lines

=

vmhost:/mnt # ls -la
/bin/ls: iso1: Input/output error
/bin/ls: iso2 Input/output error
/bin/ls: iso3: Input/output error
total 10128
drwxrwxrwt 18 root root 270336 Oct 26 08:45 .

drwxrwxrwt  186 root root   20760 Oct 27 17:45 ..
drwxr-xr-x    2 root root   16384 Jan  1  1970 iso1
drwxr-xr-x    2 root root   16384 Jan  1  1970 iso2
drwxr-xr-x    2 root root   16384 Jan  1  1970 iso3
Quoted 6 lines

=

vmhost:/mnt/iso1 # ls
/bin/ls: .: Stale NFS file handle
vmhost:/mnt/iso1 # ls -la
/bin/ls: .: Input/output error

=

It is a little odd that the errors are inconsistent. =

Can you find any log messages from mountd in syslog? What do they say?
Also what does
cat /proc/fs/nfsd/exports
=

on the server show.
=

Finally, a tcpdump:
=

tcpdump -s 0 -w /tmp/tcpdump port 2049
=

Quoted 6 lines
Quoted 6 lines

while you run the experiment might help.
=

Quoted 3 lines

=

im unsure if i should blame suse here (its an opensuse 10.3 box whi=

ch seems to have nfs-utils 1.1.0)

Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

=

does somebody have such setup up and running and can tell his distro =

/ kernel and nfs-utils version ?

Quoted 12 lines
Quoted 11 lines
Quoted 1 line

maybe i change distro then.

=

I doubt that it is a distro-specific thing. As long as you have nfs-utils-1.1.0 it should work. I don't have a 10.3 box set up yet, but it works fine on Debian/unstable for me. =

Maybe try adding the "no_root_squash" export option. What does "ls -l /export" on the server show? =

Quoted 6 lines
Quoted 2 lines

NeilBrown
=

=

=

_____________________________________________________________________
Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen!
http://smartsurfer.web.de/?mc=3D100071&distributionid=3D000000000066

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs

#1 lore raw

T24gV2VkLCBPY3QgMzEsIDIwMDcgYXQgMDk6NDY6MTNQTSArMDEwMCwgZGV2emVyb0B3ZWIuZGUg d3JvdGU6Cj4gaGkgIQo+IAo+IGkgdHJpZWQgbGF0ZXN0IGdybWwgYnVpbGQgKGxlbm55L3NpZCkg YXMgc2VydmVyIHRvZGF5IChzdXNlIDkuMyBhcyBjbGllbnQpLgo+IAo+IGVycm9yIHN0aWxsIGV4 aXN0aW5nLCBidXQgYSBsaXR0bGUgYml0IGRpZmZlcmVudDoKPiAKPiBpZiBpIGNkIHRvIHRoZSBs b29wYmFjay1tb3VudCBkaXJgcyBvbiB0aGUgY2xpZW50LCBpIHNlZSB0aGUgY29udGVudHMgb2Yg dGhlIHBhcmVudCBkaXJlY3RvcnksIGkuZS4gaSBnZXQgYSByZWN1cnNpb24uCgpUaGF0IHN1Z2dl c3RzIHNvbWV0aGluZyBmdW5reSBpbiB0aGUgd2F5IHdlJ3JlIGlkZW50aWZ5aW5nIHRob3NlCmZp bGVzeXN0ZW1zIGluIHRoZSBmaWxlaGFuZGxlLiAgSWYgeW91IGFkZCBhbiBleHBsaWNpdCBleHBv cnQgZm9yIGVhY2gKb25lLCBlYWNoIHdpdGggaXRzIG93biAiZnNpZD14eXoiIG9wdGlvbiAod2l0 aCB4eXogd2hhdGV2ZXIgcG9zaXRpdmUKaW50ZWdlciB5b3UnZCBsaWtlLCBhcyBsb25nIGFzIGl0 J3MgZGlmZmljdWx0IGZvciBleHBvcnQpLCBkb2VzIHRoZQpwcm9ibGVtIGdvIGF3YXk/PwoKLS1i LgoKPiAKPiByZWdhcmRzCj4gcm9sYW5kCj4gCj4gCj4gCj4gPiAtLS0tLVVyc3Byw7xuZ2xpY2hl IE5hY2hyaWNodC0tLS0tCj4gPiBWb246IGRldnplcm9Ad2ViLmRlCj4gPiBHZXNlbmRldDogMzAu MTAuMDcgMjE6MDU6NTYKPiA+IEFuOiBOZWlsIEJyb3duIDxuZWlsYkBzdXNlLmRlPgo+ID4gQ0M6 IE5GU0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKPiA+IEJldHJlZmY6IFJlOiBbTkZTXSBzdGFsZSBu ZnMgZmlsZSBoYW5kbGUgd2l0aCBleHBvcnRlZCBsb29wYmFjayBtb3VudHMKPiAKPiAKPiA+IAo+ ID4gPiBJIHJlY29tbWVuZCByZXBsYWNpbmcgc3VidHJlZV9jaGVjayB3aXRoIG5vX3N1YnRyZWVf Y2hlY2ssIGJ1dCBpdAo+ID4gPiBzaG91bGRuJ3QgbWFrZSBhbiBpbXBvcnRhbnQgZGlmZmVyZW5j ZSBpbiB0aGlzIGNhc2UuCj4gPiAKPiA+IG9rLCBpIGxlYXZlIGl0IGFzIGlzLgo+ID4gCj4gPiA+ IFRoaXMgc2hvdWxkIHdvcmsgd2l0aCBuZnMtdXRpbHMgMS4xLjAgb3IgbGF0ZXIuICBXaXRoIGVh cmxpZXIgcmVsZWFzZXMKPiA+ID4geW91IG5lZWQgdG8gZXhwbGljaXRseSBleHBvcnQgdGhlIHN1 Ym9yZGluYXRlIGZpbGVzeXN0ZW1zIHRvby4KPiA+ID4gCj4gPiAKPiA+IG1oaCAtIG9wZW5zdXNl IGRvZXNuYHQgaGF2ZSBuZnMtdXRpbHMgcGFja2FnZSwgYnV0IGl0IGhhcyBuZnMtY2xpZW50LTEu MS4wLTggd2hpY2ggbG9va3MgbGlrZSB0aGV5IHJlcGFja2FnZWQgbmZzLXV0aWxzIDEuMS4wCj4g PiAKPiA+ID4gSXQgaXMgYSBsaXR0bGUgb2RkIHRoYXQgdGhlIGVycm9ycyBhcmUgaW5jb25zaXN0 ZW50Lgo+ID4gCj4gPiBvaywgYnV0IG9ubHkgYSBtaW5vciBpc3N1ZSwgaWYgYW4gaXNzdWUgYXQg YWxsLCBpc25gdCBpdCA/Cj4gPiAKPiA+ID4gQ2FuIHlvdSBmaW5kIGFueSBsb2cgbWVzc2FnZXMg ZnJvbSBtb3VudGQgaW4gc3lzbG9nPyAgV2hhdCBkbyB0aGV5Cj4gPiA+IHNheT8KPiA+IAo+ID4g eWVzLCBvbiB0aGUgY2xpZW50IGlgbSBnZXR0aW5nIDoKPiA+IAo+ID4gSnVuICAzIDIxOjM2OjAx IGxpbnV4IGtlcm5lbDogbmZzX3VwZGF0ZV9pbm9kZTogaW5vZGUgbnVtYmVyIG1pc21hdGNoCj4g PiBKdW4gIDMgMjE6MzY6MDEgbGludXgga2VybmVsOiBleHBlY3RlZCAoMDoxMS8weDIpLCBnb3Qg KDA6MTEvMHgxMzg4MSkKPiA+IEp1biAgMyAyMTozNjowMSBsaW51eCBrZXJuZWw6IG5mc191cGRh dGVfaW5vZGU6IGlub2RlIG51bWJlciBtaXNtYXRjaAo+ID4gSnVuICAzIDIxOjM2OjAxIGxpbnV4 IGtlcm5lbDogZXhwZWN0ZWQgKDA6MTEvMHgyKSwgZ290ICgwOjExLzB4MTM4ODEpCj4gPiBKdW4g IDMgMjE6MzY6MTcgbGludXgga2VybmVsOiBuZnNfdXBkYXRlX2lub2RlOiBpbm9kZSBudW1iZXIg bWlzbWF0Y2gKPiA+IEp1biAgMyAyMTozNjoxNyBsaW51eCBrZXJuZWw6IGV4cGVjdGVkICgwOjEx LzB4MiksIGdvdCAoMDoxMS8weDEzODgxKQo+ID4gSnVuICAzIDIxOjM2OjE3IGxpbnV4IGtlcm5l bDogbmZzX3VwZGF0ZV9pbm9kZTogaW5vZGUgbnVtYmVyIG1pc21hdGNoCj4gPiBKdW4gIDMgMjE6 MzY6MTcgbGludXgga2VybmVsOiBleHBlY3RlZCAoMDoxMS8weDIpLCBnb3QgKDA6MTEvMHgxMzg4 MSkKPiA+IEp1biAgMyAyMTozNjoyMCBsaW51eCBrZXJuZWw6IG5mc191cGRhdGVfaW5vZGU6IGlu b2RlIG51bWJlciBtaXNtYXRjaAo+ID4gSnVuICAzIDIxOjM2OjIwIGxpbnV4IGtlcm5lbDogZXhw ZWN0ZWQgKDA6MTEvMHgyKSwgZ290ICgwOjExLzB4MTM4ODEpCj4gPiBKdW4gIDMgMjE6MzY6MjAg bGludXgga2VybmVsOiBuZnNfdXBkYXRlX2lub2RlOiBpbm9kZSBudW1iZXIgbWlzbWF0Y2gKPiA+ IAo+ID4gCj4gPiBubyBlcnJvciBtZXNzYWdlIG9uIHRoZSBzZXJ2ZXI6Cj4gPiBPY3QgMjYgMTA6 MDk6MzEgb3BlbnN1c2UxMDMgbW91bnRkWzQyOTNdOiBhdXRoZW50aWNhdGVkIHVubW91bnQgcmVx dWVzdCBmcm9tIDEwLjAuMC40MDoxMDE0IGZvciAvbW50ICgvbW50KQo+ID4gT2N0IDI2IDEwOjEw OjA3IG9wZW5zdXNlMTAzIG1vdW50ZFs0MjkzXTogYXV0aGVudGljYXRlZCBtb3VudCByZXF1ZXN0 IGZyb20gMTAuMC4wLjQwOjYxMiBmb3IgL21udCAoL21udCkKPiA+IE9jdCAyNiAxMDoxMDo0MyBv cGVuc3VzZTEwMyBtb3VudGRbNDI5M106IGF1dGhlbnRpY2F0ZWQgdW5tb3VudCByZXF1ZXN0IGZy b20gMTAuMC4wLjQwOjYyMyBmb3IgL21udCAoL21udCkKPiA+IE9jdCAyNiAxMDoxMDo1MiBvcGVu c3VzZTEwMyBtb3VudGRbNDI5M106IGF1dGhlbnRpY2F0ZWQgbW91bnQgcmVxdWVzdCBmcm9tIDEw LjAuMC40MDo2MjQgZm9yIC9tbnQgKC9tbnQpCj4gPiAKPiA+ID4gQWxzbyB3aGF0IGRvZXMKPiA+ ID4gICAgY2F0IC9wcm9jL2ZzL25mc2QvZXhwb3J0cwo+ID4gPiAKPiA+ID4gb24gdGhlIHNlcnZl ciBzaG93Lgo+ID4gCj4gPiBvcGVuc3VzZTEwMzp+ICMgY2F0IC9wcm9jL2ZzL25mc2QvZXhwb3J0 cwo+ID4gIyBWZXJzaW9uIDEuMQo+ID4gIyBQYXRoIENsaWVudChGbGFncykgIyBJUHMKPiA+IC9t bnQvaXNvMSAgICAgICAqKHJvLG5vX3Jvb3Rfc3F1YXNoLHN5bmMsd2RlbGF5LGNyb3NzbW50LHV1 aWQ9MmM0OWZlZjI6YmE0NjQyOTM6OWIyYmYyYjg6MzIyY2NiY2IpCj4gPiAvbW50L2lzbzMgICAg ICAgKihybyxub19yb290X3NxdWFzaCxzeW5jLHdkZWxheSxjcm9zc21udCx1dWlkPTI3YWU5YzY3 OjBiNzk0YjM2OjhiNWU5ZTE3OjM3YjU2OWViKQo+ID4gL21udCAgICAqKHJvLG5vX3Jvb3Rfc3F1 YXNoLHN5bmMsd2RlbGF5LGNyb3NzbW50LHV1aWQ9MDgxNjRlZTQ6MmRiMTQxZWI6YWM5NjE3MDE6 NDljNzQzOTYpCj4gPiAvbW50L2lzbzIgICAgICAgKihybyxub19yb290X3NxdWFzaCxzeW5jLHdk ZWxheSxjcm9zc21udCx1dWlkPTJhYWQ2ZWE1OmEwNWQ0NDQxOmI5NGM0OGU2OmU1ZDk5ODFlKQo+ ID4gCj4gPiAKPiA+ID4gRmluYWxseSwgYSB0Y3BkdW1wOgo+ID4gPiAKPiA+ID4gICB0Y3BkdW1w IC1zIDAgLXcgL3RtcC90Y3BkdW1wIHBvcnQgMjA0OQo+ID4gPiAKPiA+ID4gd2hpbGUgeW91IHJ1 biB0aGUgZXhwZXJpbWVudCBtaWdodCBoZWxwLgo+ID4gCj4gPiBhaCAtIHRoaXMgc2VlbXMgdG8g Z2l2ZSBhIGhpbnQsIGJ1dCBpIGRvbmB0IGhhdmUgYSBjbHVlIHdoeSB0aGUgc2VydmVyICgxMC4w LjAuMzApIGlzIHRlbGxpbmcgdGhlIGNsaWVudCAoMTAuMC4wLjQwKSBhICJSUEMgVmVyc2lvbiBt aXNtYXRjaCIuCj4gPiBJIGFsc28gdHJpZWQgIC0tbm8tbmZzLXZlcnNpb24gNCBmb3IgcnBjLm1v dW50ZCAoc2V0dGluZyBpbiAvZXRjL3N5c2NvbmZpZy9uZnMpLCBidXQgdGhpcyBkaWRuYHQgbWFr ZSBhIGRpZmZlcmVuY2UuCj4gPiAKPiA+IGhlcmUgaXMgdGhlIHRjcGR1bXAgb3V0cHV0IC0gaSBk aWQgCj4gPiAKPiA+IC0gbW91bnQKPiA+IC0gbHMgLyBscyAtbGEgLyBjZCB0byBzdWJkaXJzCj4g PiAKPiA+IDEwOjE1OjA2LjQ4MDU0MiBJUCAxMC4wLjAuNDAuMCA+IDEwLjAuMC4zMC4yMDQ5OiAw IG51bGwKPiA+IDEwOjE1OjA2LjQ4MDU3MiBJUCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4w OiByZXBseSBFUlIgMDogUlBDIFZlcnNpb24gbWlzbWF0Y2ggKDE2Nzc3MjE2MC0wKQo+ID4gMTA6 MTU6MDYuNDgwNzY1IElQIDEwLjAuMC40MC4xMDIyID4gMTAuMC4wLjMwLjIwNDk6IC4gYWNrIDIw MzExMTQ5MTMgd2luIDE0NjAgPG5vcCxub3AsdGltZXN0YW1wIDY4NjEyOCA3Mzc5MTg+Cj4gPiAx MDoxNTowNi40ODA4MjEgSVAgMTAuMC4wLjQwLjIwNzk4MDQ2NzggPiAxMC4wLjAuMzAuMjA0OTog MTA4IGZzaW5mbyBmaCBVbmtub3duLzAxMDAwNzAwODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRC MTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2M0NEODE5MDgKPiA+IDEwOjE1OjA2LjQ4MDgzMyBJUCAxMC4w LjAuMzAuMjA0OSA+IDEwLjAuMC40MC4xMDIyOiAuIGFjayAxMDggd2luIDE4MSA8bm9wLG5vcCx0 aW1lc3RhbXAgNzM3OTE4IDY4NjEyOD4KPiA+IDEwOjE1OjA2LjUxMzM2NSBJUCAxMC4wLjAuMzAu MjA0OSA+IDEwLjAuMC40MC4yMDc5ODA0Njc4OiByZXBseSBvayA4NCBmc2luZm8gcnRtYXggNjU1 MzYgcnRwcmVmIDY1NTM2IHd0bWF4IDY1NTM2IHd0cHJlZiA2NTUzNiBkdHByZWYgNDA5Ngo+ID4g MTA6MTU6MDYuNTE0NDA4IElQIDEwLjAuMC40MC4xMDIyID4gMTAuMC4wLjMwLjIwNDk6IC4gYWNr IDg1IHdpbiAxNDYwIDxub3Asbm9wLHRpbWVzdGFtcCA2ODYxNjAgNzM3OTI2Pgo+ID4gMTA6MTU6 MDYuNTE0OTAyIElQIDEwLjAuMC40MC4yMDk2NTgxODk0ID4gMTAuMC4wLjMwLjIwNDk6IDEwOCBn ZXRhdHRyIGZoIFVua25vd24vMDEwMDA3MDA4MTM4MDEwMDAwMDAwMDAwMDgxNjRFRTQyREIxNDFF QkFDOTYxNzAxNDlDNzQzOTYzQ0Q4MTkwOAo+ID4gMTA6MTU6MDYuNTE1MjU2IElQIDEwLjAuMC4z MC4yMDQ5ID4gMTAuMC4wLjQwLjIwOTY1ODE4OTQ6IHJlcGx5IG9rIDExNiBnZXRhdHRyIERJUiA0 MDc1NSBpZHMgMC8wIHN6IDQwOTYKPiA+IDEwOjE1OjA2LjU1Mzg2NSBJUCAxMC4wLjAuNDAuMTAy MiA+IDEwLjAuMC4zMC4yMDQ5OiAuIGFjayAyMDEgd2luIDE0NjAgPG5vcCxub3AsdGltZXN0YW1w IDY4NjIwMSA3Mzc5MjY+Cj4gPiAxMDoxNjowMy4wOTE3ODQgSVAgMTAuMC4wLjQwLjIxMTMzNTkx MTAgPiAxMC4wLjAuMzAuMjA0OTogMTA4IGdldGF0dHIgZmggVW5rbm93bi8wMTAwMDcwMDgxMzgw MTAwMDAwMDAwMDAwODE2NEVFNDJEQjE0MUVCQUM5NjE3MDE0OUM3NDM5NjQ3MjE5QzhDCj4gPiAx MDoxNjowMy4wOTMzNjYgSVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAuNDAuMjExMzM1OTExMDog cmVwbHkgb2sgMTE2IGdldGF0dHIgRElSIDQwNzU1IGlkcyAwLzAgc3ogNDA5Ngo+ID4gMTA6MTY6 MDMuMDk2MDQ2IElQIDEwLjAuMC40MC4xMDIyID4gMTAuMC4wLjMwLjIwNDk6IC4gYWNrIDMxNyB3 aW4gMTQ2MCA8bm9wLG5vcCx0aW1lc3RhbXAgNzQzNjEwIDc1MjA3MT4KPiA+IDEwOjE2OjAzLjA5 NzM3MCBJUCAxMC4wLjAuNDAuMjEzMDEzNjMyNiA+IDEwLjAuMC4zMC4yMDQ5OiAxMTIgYWNjZXNz IGZoIFVua25vd24vMDEwMDA3MDA4MTM4MDEwMDAwMDAwMDAwMDgxNjRFRTQyREIxNDFFQkFDOTYx NzAxNDlDNzQzOTYwMDAwMDAxRiAwMDFmCj4gPiAxMDoxNjowMy4wOTgxNTYgSVAgMTAuMC4wLjMw LjIwNDkgPiAxMC4wLjAuNDAuMjEzMDEzNjMyNjogcmVwbHkgb2sgMTI0IGFjY2VzcyBjIDAwMDMK PiA+IDEwOjE2OjAzLjE1NjgxMiBJUCAxMC4wLjAuNDAuMTAyMiA+IDEwLjAuMC4zMC4yMDQ5OiAu IGFjayA0NDEgd2luIDE0NjAgPG5vcCxub3AsdGltZXN0YW1wIDc0MzY1MSA3NTIwNzI+Cj4gPiAx MDoxNjowOC45Njc4MDQgSVAgMTAuMC4wLjQwLjIxNDY5MTM1NDIgPiAxMC4wLjAuMzAuMjA0OTog MTA4IGdldGF0dHIgZmggVW5rbm93bi8wMTAwMDcwMDgxMzgwMTAwMDAwMDAwMDAwODE2NEVFNDJE QjE0MUVCQUM5NjE3MDE0OUM3NDM5NjAwMDAwMDAwCj4gPiAxMDoxNjowOC45NjgzMDUgSVAgMTAu MC4wLjMwLjIwNDkgPiAxMC4wLjAuNDAuMjE0NjkxMzU0MjogcmVwbHkgb2sgMTE2IGdldGF0dHIg RElSIDQwNzU1IGlkcyAwLzAgc3ogNDA5Ngo+ID4gMTA6MTY6MDguOTc0Mjg1IElQIDEwLjAuMC40 MC4xMDIyID4gMTAuMC4wLjMwLjIwNDk6IC4gYWNrIDU1NyB3aW4gMTQ2MCA8bm9wLG5vcCx0aW1l c3RhbXAgNzQ5NDc3IDc1MzU0MD4KPiA+IDEwOjE2OjA4Ljk3NTczOSBJUCAxMC4wLjAuNDAuMjE2 MzY5MDc1OCA+IDEwLjAuMC4zMC4yMDQ5OiAxMzIgcmVhZGRpcnBsdXMgZmggVW5rbm93bi8wMTAw MDcwMDgxMzgwMTAwMDAwMDAwMDAwODE2NEVFNDJEQjE0MUVCQUM5NjE3MDE0OUM3NDM5NjAwMDAw MDAwIDUxMiBieXRlcyBAIDAKPiA+IDEwOjE2OjA4Ljk3NTk4NSBJUCAxMC4wLjAuMzAuMjA0OSA+ IDEwLjAuMC40MC4yMTYzNjkwNzU4OiByZXBseSBvayAxNDQ4IHJlYWRkaXJwbHVzCj4gPiAxMDox NjowOC45NzY1MTAgSVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAuNDAuMTY4NDEwODI4ODogcmVw bHkgVW5rbm93biBycGMgcmVzcG9uc2UgY29kZT0yMDIxODU1ODYxIDM0MAo+ID4gMTA6MTY6MDgu OTgyMjM4IElQIDEwLjAuMC40MC4xMDIyID4gMTAuMC4wLjMwLjIwNDk6IC4gYWNrIDIzNDUgd2lu IDIxODQgPG5vcCxub3AsdGltZXN0YW1wIDc0OTQ3OSA3NTM1NDE+Cj4gPiAxMDoxNjowOC45ODQ0 MTUgSVAgMTAuMC4wLjQwLjIxODA0Njc5NzQgPiAxMC4wLjAuMzAuMjA0OTogMTE2IGxvb2t1cCBm aCBVbmtub3duLzAxMDAwNzAwODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcw MTQ5Qzc0Mzk2MDAwMDAwMDQgImlzbzMiCj4gPiAxMDoxNjowOC45ODQ5MzEgSVAgMTAuMC4wLjMw LjIwNDkgPiAxMC4wLjAuNDAuMjE4MDQ2Nzk3NDogcmVwbHkgb2sgMjMyIGxvb2t1cCBmaCBVbmtu b3duLzAxMDAwNjAwMjdBRTlDNjcwQjc5NEIzNjhCNUU5RTE3MzdCNTY5RUIwMDAwMDAwMTAwMDAw MDAyMDAwMDQxRUQKPiA+IDEwOjE2OjA5LjAwODgxOSBJUCAxMC4wLjAuNDAuMjE5NzI0NTE5MCA+ IDEwLjAuMC4zMC4yMDQ5OiAxMDQgZ2V0YXR0ciBmaCBVbmtub3duLzAxMDAwNjAwMjdBRTlDNjcw Qjc5NEIzNjhCNUU5RTE3MzdCNTY5RUIwMDAwMDAwRkREMjJDQzNDNzAwMkYwQUMKPiA+IDEwOjE2 OjA5LjAxMDk0NiBJUCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4yMTk3MjQ1MTkwOiByZXBs eSBvayAxODggZ2V0YXR0ciBSRUcgMiBpZHMgNS8wIHN6IDAKPiA+IDEwOjE2OjA5LjAzMjU0MSBJ UCAxMC4wLjAuNDAuMjIxNDAyMjQwNiA+IDEwLjAuMC4zMC4yMDQ5OiAxMjggZ2V0YXR0ciBmaCBV bmtub3duLzAxMDAwNzAyODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5 Qzc0Mzk2RTY2RDA3MDAKPiA+IDEwOjE2OjA5LjAzMzQwNSBJUCAxMC4wLjAuMzAuMjA0OSA+IDEw LjAuMC40MC4yMjE0MDIyNDA2OiByZXBseSBvayAxODggZ2V0YXR0ciBSRUcgMSBpZHMgMS8wIHN6 IDAKPiA+IDEwOjE2OjA5LjAzMzQ5MCBJUCAxMC4wLjAuNDAuMjIzMDc5OTYyMiA+IDEwLjAuMC4z MC4yMDQ5OiAxMjggZ2V0YXR0ciBmaCBVbmtub3duLzAxMDAwNzAyODEzODAxMDAwMDAwMDAwMDA4 MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2RTU2RDA3MDAKPiA+IDEwOjE2OjA5LjAzNjgx MSBJUCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4yMjMwNzk5NjIyOiByZXBseSBvayAxODgg Z2V0YXR0ciBSRUcgMSBpZHMgMS8wIHN6IDAKPiA+IDEwOjE2OjA5LjAzNzgyMyBJUCAxMC4wLjAu NDAuMjI0NzU3NjgzOCA+IDEwLjAuMC4zMC4yMDQ5OiAxMDggZ2V0YXR0ciBmaCBVbmtub3duLzAx MDAwNzAwODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2MDAw MDAwMDAKPiA+IDEwOjE2OjA5LjAzOTgxNyBJUCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4y MjQ3NTc2ODM4OiByZXBseSBvayAxMTYgZ2V0YXR0ciBESVIgNDA3NTUgaWRzIDAvMCBzeiA0MDk2 Cj4gPiAxMDoxNjowOS4wNDA0MjMgSVAgMTAuMC4wLjQwLjIyNjQzNTQwNTQgPiAxMC4wLjAuMzAu MjA0OTogMTEyIGdldGF0dHIgZmggVW5rbm93bi8wMTAwMDcwMDgxMzgwMTAwMDAwMDAwMDAwODE2 NEVFNDJEQjE0MUVCQUM5NjE3MDE0OUM3NDM5NjAwMDAwMDBGCj4gPiAxMDoxNjowOS4wNDA4NTYg SVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAuNDAuMjI2NDM1NDA1NDogcmVwbHkgb2sgMTg4IGdl dGF0dHIgUkVHIDIgaWRzIDUvMCBzeiAwCj4gPiAxMDoxNjowOS4wNDE1OTAgSVAgMTAuMC4wLjQw LjIyODExMzEyNzAgPiAxMC4wLjAuMzAuMjA0OTogMTE2IGxvb2t1cCBmaCBVbmtub3duLzAxMDAw NzAwODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2MDAwMDAw MDQgImlzbzIiCj4gPiAxMDoxNjowOS4wNDE5MjAgSVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAu NDAuMjI4MTEzMTI3MDogcmVwbHkgb2sgMjMyIGxvb2t1cCBmaCBVbmtub3duLzAxMDAwNjAwMkFB RDZFQTVBMDVENDQ0MUI5NEM0OEU2RTVEOTk4MUUwMDAwMDAwMTAwMDAwMDAyMDAwMDQxRUQKPiA+ IDEwOjE2OjA5LjA0OTYzMyBJUCAxMC4wLjAuNDAuMjI5NzkwODQ4NiA+IDEwLjAuMC4zMC4yMDQ5 OiAxMDQgZ2V0YXR0ciBmaCBVbmtub3duLzAxMDAwNjAwMkFBRDZFQTVBMDVENDQ0MUI5NEM0OEU2 RTVEOTk4MUUwMDAwMDAwRjVGREM4NDQ1NDMyNkUxOTMKPiA+IDEwOjE2OjA5LjA0OTc4MSBJUCAx MC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4yMjk3OTA4NDg2OiByZXBseSBvayAxODggZ2V0YXR0 ciBSRUcgMiBpZHMgNS8wIHN6IDAKPiA+IDEwOjE2OjA5LjA2MzIxOCBJUCAxMC4wLjAuNDAuMjMx NDY4NTcwMiA+IDEwLjAuMC4zMC4yMDQ5OiAxMjggZ2V0YXR0ciBmaCBVbmtub3duLzAxMDAwNzAy ODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2RTQ2RDA3MDAK PiA+IDEwOjE2OjA5LjA3MjUwNSBJUCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4yMzE0Njg1 NzAyOiByZXBseSBvayAxODggZ2V0YXR0ciBSRUcgMSBpZHMgMS8wIHN6IDAKPiA+IDEwOjE2OjA5 LjA5MTY5OCBJUCAxMC4wLjAuNDAuMjMzMTQ2MjkxOCA+IDEwLjAuMC4zMC4yMDQ5OiAxMjQgZ2V0 YXR0ciBmaCBVbmtub3duLzAxMDAwNzAyODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJB Qzk2MTcwMTQ5Qzc0Mzk2RTQ2RDA3MDAKPiA+IDEwOjE2OjA5LjA5MjAyMiBJUCAxMC4wLjAuMzAu MjA0OSA+IDEwLjAuMC40MC4yMzMxNDYyOTE4OiByZXBseSBvayAxMTYgZ2V0YXR0ciBSRUcgMTAw NjQ0IGlkcyAwLzAgc3ogMTA0ODU3Ngo+ID4gMTA6MTY6MDkuMTI4OTcxIElQIDEwLjAuMC40MC4y MzQ4MjQwMTM0ID4gMTAuMC4wLjMwLjIwNDk6IDEyOCBnZXRhdHRyIGZoIFVua25vd24vMDEwMDA3 MDI4MTM4MDEwMDAwMDAwMDAwMDgxNjRFRTQyREIxNDFFQkFDOTYxNzAxNDlDNzQzOTZFMzZEMDcw MAo+ID4gMTA6MTY6MDkuMTI5MzA0IElQIDEwLjAuMC4zMC4yMDQ5ID4gMTAuMC4wLjQwLjIzNDgy NDAxMzQ6IHJlcGx5IG9rIDE4OCBnZXRhdHRyIFJFRyAxIGlkcyAxLzAgc3ogMAo+ID4gMTA6MTY6 MDkuMTg0MTU1IElQIDEwLjAuMC40MC4yMzY1MDE3MzUwID4gMTAuMC4wLjMwLjIwNDk6IDEyNCBn ZXRhdHRyIGZoIFVua25vd24vMDEwMDA3MDI4MTM4MDEwMDAwMDAwMDAwMDgxNjRFRTQyREIxNDFF QkFDOTYxNzAxNDlDNzQzOTZFMzZEMDcwMAo+ID4gMTA6MTY6MDkuMTg0NTgyIElQIDEwLjAuMC4z MC4yMDQ5ID4gMTAuMC4wLjQwLjIzNjUwMTczNTA6IHJlcGx5IG9rIDExNiBnZXRhdHRyIFJFRyAx MDA2NDQgaWRzIDAvMCBzeiAxMDQ4NTc2Cj4gPiAxMDoxNjowOS4xODkyMzQgSVAgMTAuMC4wLjQw LjIzODE3OTQ1NjYgPiAxMC4wLjAuMzAuMjA0OTogMTE2IGxvb2t1cCBmaCBVbmtub3duLzAxMDAw NzAwODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2MDAwMDAw MDQgImlzbzEiCj4gPiAxMDoxNjowOS4xODk0MzUgSVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAu NDAuMjM4MTc5NDU2NjogcmVwbHkgb2sgMjMyIGxvb2t1cCBmaCBVbmtub3duLzAxMDAwNjAwMkM0 OUZFRjJCQTQ2NDI5MzlCMkJGMkI4MzIyQ0NCQ0IwMDAwMDAwMTAwMDAwMDAyMDAwMDQxRUQKPiA+ IDEwOjE2OjA5LjE5MzQ3NiBJUCAxMC4wLjAuNDAuMjM5ODU3MTc4MiA+IDEwLjAuMC4zMC4yMDQ5 OiAxMDQgZ2V0YXR0ciBmaCBVbmtub3duLzAxMDAwNjAwMkM0OUZFRjJCQTQ2NDI5MzlCMkJGMkI4 MzIyQ0NCQ0IwMDAwMDAwRjU4ODk2QTg4NEEwQzYyQjcKPiA+IDEwOjE2OjA5LjE5MzY1MiBJUCAx MC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4yMzk4NTcxNzgyOiByZXBseSBvayAxODggZ2V0YXR0 ciBSRUcgMiBpZHMgNS8wIHN6IDAKPiA+IDEwOjE2OjA5LjE5NDkzNyBJUCAxMC4wLjAuNDAuMjQx NTM0ODk5OCA+IDEwLjAuMC4zMC4yMDQ5OiAxMjggZ2V0YXR0ciBmaCBVbmtub3duLzAxMDAwNzAy ODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2RTc2RDA3MDAK PiA+IDEwOjE2OjA5LjE5NTAzMyBJUCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4yNDE1MzQ4 OTk4OiByZXBseSBvayAxODggZ2V0YXR0ciBSRUcgMSBpZHMgMS8wIHN6IDAKPiA+IDEwOjE2OjA5 LjE5NTIzMCBJUCAxMC4wLjAuNDAuMjQzMjEyNjIxNCA+IDEwLjAuMC4zMC4yMDQ5OiAxMjggZ2V0 YXR0ciBmaCBVbmtub3duLzAxMDAwNzAyODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJB Qzk2MTcwMTQ5Qzc0Mzk2RTg2RDA3MDAKPiA+IDEwOjE2OjA5LjMyMzYzNSBJUCAxMC4wLjAuMzAu MjA0OSA+IDEwLjAuMC40MC4xMDIyOiAuIGFjayAyNTcyIHdpbiA0MTYgPG5vcCxub3AsdGltZXN0 YW1wIDc1MzYyOSA3NDk1NjY+Cj4gPiAxMDoxNjowOS4zMjQzNDUgSVAgMTAuMC4wLjMwLjIwNDkg PiAxMC4wLjAuNDAuMjQzMjEyNjIxNDogcmVwbHkgb2sgMTg4IGdldGF0dHIgUkVHIDEgaWRzIDEv MCBzeiAwCj4gPiAxMDoxNjowOS4zNDE0NzUgSVAgMTAuMC4wLjQwLjI0NDg5MDM0MzAgPiAxMC4w LjAuMzAuMjA0OTogMTI4IGdldGF0dHIgZmggVW5rbm93bi8wMTAwMDcwMjgxMzgwMTAwMDAwMDAw MDAwODE2NEVFNDJEQjE0MUVCQUM5NjE3MDE0OUM3NDM5NkUyNkQwNzAwCj4gPiAxMDoxNjowOS4z NDE1MjQgSVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAuNDAuMTAyMjogLiBhY2sgMjcwMCB3aW4g NDQ5IDxub3Asbm9wLHRpbWVzdGFtcCA3NTM2MzIgNzQ5NzA3Pgo+ID4gMTA6MTY6MDkuMzQxOTI4 IElQIDEwLjAuMC4zMC4yMDQ5ID4gMTAuMC4wLjQwLjI0NDg5MDM0MzA6IHJlcGx5IG9rIDE4OCBn ZXRhdHRyIFJFRyAxIGlkcyAxLzAgc3ogMAo+ID4gMTA6MTY6MDkuMzQyMTE3IElQIDEwLjAuMC40 MC4yNDY1NjgwNjQ2ID4gMTAuMC4wLjMwLjIwNDk6IDEyNCBnZXRhdHRyIGZoIFVua25vd24vMDEw MDA3MDI4MTM4MDEwMDAwMDAwMDAwMDgxNjRFRTQyREIxNDFFQkFDOTYxNzAxNDlDNzQzOTZFMjZE MDcwMAo+ID4gMTA6MTY6MDkuMzQzNDA0IElQIDEwLjAuMC4zMC4yMDQ5ID4gMTAuMC4wLjQwLjI0 NjU2ODA2NDY6IHJlcGx5IG9rIDExNiBnZXRhdHRyIFJFRyAxMDA2NDQgaWRzIDAvMCBzeiAxMDQ4 NTc2Cj4gPiAxMDoxNjowOS4zODkzMTYgSVAgMTAuMC4wLjQwLjEwMjIgPiAxMC4wLjAuMzAuMjA0 OTogLiBhY2sgNTU3MyB3aW4gMjE4NCA8bm9wLG5vcCx0aW1lc3RhbXAgNzQ5NzUxIDc1MzYzMz4K PiA+IDEwOjE2OjEzLjQ0OTUxMyBJUCAxMC4wLjAuNDAuMjQ4MjQ1Nzg2MiA+IDEwLjAuMC4zMC4y MDQ5OiAxMDggZ2V0YXR0ciBmaCBVbmtub3duLzAxMDAwNzAwODEzODAxMDAwMDAwMDAwMDA4MTY0 RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2NDcyMTlDQjUKPiA+IDEwOjE2OjEzLjQ0OTgxNSBJ UCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4yNDgyNDU3ODYyOiByZXBseSBvayAxMTYgZ2V0 YXR0ciBESVIgNDA3NTUgaWRzIDAvMCBzeiA0MDk2Cj4gPiAxMDoxNjoxMy40NTIzNDQgSVAgMTAu MC4wLjQwLjEwMjIgPiAxMC4wLjAuMzAuMjA0OTogLiBhY2sgNTY4OSB3aW4gMjE4NCA8bm9wLG5v cCx0aW1lc3RhbXAgNzUzOTQzIDc1NDY2MD4KPiA+IDEwOjE2OjEzLjQ1Mzk3MyBJUCAxMC4wLjAu NDAuMjQ5OTIzNTA3OCA+IDEwLjAuMC4zMC4yMDQ5OiAxMDAgZ2V0YXR0ciBmaCBVbmtub3duLzAx MDAwNjAwMkM0OUZFRjJCQTQ2NDI5MzlCMkJGMkI4MzIyQ0NCQ0I0NzIxOUM4QzAwMDAwMDAwNDcy MTlDOEMKPiA+IDEwOjE2OjEzLjQ1NDE1NCBJUCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4y NDk5MjM1MDc4OiByZXBseSBvayAxMTYgZ2V0YXR0ciBESVIgNDA3NTUgaWRzIDAvMCBzeiA0MDk2 Cj4gPiAxMDoxNjoxMy40NTYxOTQgSVAgMTAuMC4wLjQwLjI1MTYwMTIyOTQgPiAxMC4wLjAuMzAu MjA0OTogMTA4IGdldGF0dHIgZmggVW5rbm93bi8wMTAwMDcwMDgxMzgwMTAwMDAwMDAwMDAwODE2 NEVFNDJEQjE0MUVCQUM5NjE3MDE0OUM3NDM5NjQ3MjE5QzhDCj4gPiAxMDoxNjoxMy40NTYzNjEg SVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAuNDAuMjUxNjAxMjI5NDogcmVwbHkgb2sgMTE2IGdl dGF0dHIgRElSIDQwNzU1IGlkcyAwLzAgc3ogNDA5Ngo+ID4gMTA6MTY6MTMuNDU4MjgyIElQIDEw LjAuMC40MC4yNTMyNzg5NTEwID4gMTAuMC4wLjMwLjIwNDk6IDExNiBsb29rdXAgZmggVW5rbm93 bi8wMTAwMDcwMDgxMzgwMTAwMDAwMDAwMDAwODE2NEVFNDJEQjE0MUVCQUM5NjE3MDE0OUM3NDM5 NjAwMDAwMDA0ICJpc28xIgo+ID4gMTA6MTY6MTMuNDU4NDYxIElQIDEwLjAuMC4zMC4yMDQ5ID4g MTAuMC4wLjQwLjI1MzI3ODk1MTA6IHJlcGx5IG9rIDIzMiBsb29rdXAgZmggVW5rbm93bi8wMTAw MDYwMDJDNDlGRUYyQkE0NjQyOTM5QjJCRjJCODMyMkNDQkNCMDAwMDAwMDEwMDAwMDAwMjAwMDA0 MUVECj4gPiAxMDoxNjoxMy41MTA2MzcgSVAgMTAuMC4wLjQwLjEwMjIgPiAxMC4wLjAuMzAuMjA0 OTogLiBhY2sgNjE1MyB3aW4gMjE4NCA8bm9wLG5vcCx0aW1lc3RhbXAgNzUzOTg1IDc1NDY2Mj4K PiA+IDEwOjE2OjE0LjAzMDExMCBJUCAxMC4wLjAuNDAuMjU0OTU2NjcyNiA+IDEwLjAuMC4zMC4y MDQ5OiAxMTIgYWNjZXNzIGZoIFVua25vd24vMDEwMDA3MDA4MTM4MDEwMDAwMDAwMDAwMDgxNjRF RTQyREIxNDFFQkFDOTYxNzAxNDlDNzQzOTYwMDAwMDAxRiAwMDFmCj4gPiAxMDoxNjoxNC4wMzA5 MjcgSVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAuNDAuMjU0OTU2NjcyNjogcmVwbHkgb2sgMTI0 IGFjY2VzcyBjIDAwMDMKPiA+IDEwOjE2OjE0LjAzMzQzNiBJUCAxMC4wLjAuNDAuMTAyMiA+IDEw LjAuMC4zMC4yMDQ5OiAuIGFjayA2Mjc3IHdpbiAyMTg0IDxub3Asbm9wLHRpbWVzdGFtcCA3NTQ1 NDggNzU0ODA1Pgo+ID4gMTA6MTY6MTQuMDM0NzMyIElQIDEwLjAuMC40MC4yNTY2MzQzOTQyID4g MTAuMC4wLjMwLjIwNDk6IDEwOCBnZXRhdHRyIGZoIFVua25vd24vMDEwMDA3MDA4MTM4MDEwMDAw MDAwMDAwMDgxNjRFRTQyREIxNDFFQkFDOTYxNzAxNDlDNzQzOTYwMDAwMDAwMAo+ID4gMTA6MTY6 MTQuMDM0OTgwIElQIDEwLjAuMC4zMC4yMDQ5ID4gMTAuMC4wLjQwLjI1NjYzNDM5NDI6IHJlcGx5 IG9rIDExNiBnZXRhdHRyIERJUiA0MDc1NSBpZHMgMC8wIHN6IDQwOTYKPiA+IDEwOjE2OjE0LjAz NzMxOSBJUCAxMC4wLjAuNDAuMjU4MzEyMTE1OCA+IDEwLjAuMC4zMC4yMDQ5OiAxMTIgYWNjZXNz IGZoIFVua25vd24vMDEwMDA3MDA4MTM4MDEwMDAwMDAwMDAwMDgxNjRFRTQyREIxNDFFQkFDOTYx NzAxNDlDNzQzOTYwMDAwMDAxRiAwMDFmCj4gPiAxMDoxNjoxNC4wMzc0ODYgSVAgMTAuMC4wLjMw LjIwNDkgPiAxMC4wLjAuNDAuMjU4MzEyMTE1ODogcmVwbHkgb2sgMTI0IGFjY2VzcyBjIDAwMDMK PiA+IDEwOjE2OjE0LjA0MDMyMyBJUCAxMC4wLjAuNDAuMjU5OTg5ODM3NCA+IDEwLjAuMC4zMC4y MDQ5OiAxMzIgcmVhZGRpcnBsdXMgZmggVW5rbm93bi8wMTAwMDcwMDgxMzgwMTAwMDAwMDAwMDAw ODE2NEVFNDJEQjE0MUVCQUM5NjE3MDE0OUM3NDM5NjAwMDAwMDAwIDUxMiBieXRlcyBAIDAKPiA+ IDEwOjE2OjE0LjA0MDU1NCBJUCAxMC4wLjAuMzAuMjA0OSA+IDEwLjAuMC40MC4yNTk5ODk4Mzc0 OiByZXBseSBvayAxNDQ4IHJlYWRkaXJwbHVzCj4gPiAxMDoxNjoxNC4wNDEwMjAgSVAgMTAuMC4w LjMwLjIwNDkgPiAxMC4wLjAuNDAuMTY4NDEwODI4ODogcmVwbHkgVW5rbm93biBycGMgcmVzcG9u c2UgY29kZT0yMDIxODU1ODYxIDM0MAo+ID4gMTA6MTY6MTQuMDQzNTgzIElQIDEwLjAuMC40MC4x MDIyID4gMTAuMC4wLjMwLjIwNDk6IC4gYWNrIDgzMDUgd2luIDI5MDggPG5vcCxub3AsdGltZXN0 YW1wIDc1NDU1MCA3NTQ4MDg+Cj4gPiAxMDoxNjoxNC4wNDUxMDQgSVAgMTAuMC4wLjQwLjI2MTY2 NzU1OTAgPiAxMC4wLjAuMzAuMjA0OTogMTEyIGFjY2VzcyBmaCBVbmtub3duLzAxMDAwNzAwODEz ODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0Mzk2MDAwMDAwMUYgMDAx Zgo+ID4gMTA6MTY6MTQuMDQ1NDAyIElQIDEwLjAuMC4zMC4yMDQ5ID4gMTAuMC4wLjQwLjI2MTY2 NzU1OTA6IHJlcGx5IG9rIDEyNCBhY2Nlc3MgYyAwMDAzCj4gPiAxMDoxNjoxNC4wNDc4MzAgSVAg MTAuMC4wLjQwLjI2MzM0NTI4MDYgPiAxMC4wLjAuMzAuMjA0OTogMTEyIGFjY2VzcyBmaCBVbmtu b3duLzAxMDAwNzAwODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJBQzk2MTcwMTQ5Qzc0 Mzk2MDAwMDAwMUYgMDAxZgo+ID4gMTA6MTY6MTQuMDQ4MDM5IElQIDEwLjAuMC4zMC4yMDQ5ID4g MTAuMC4wLjQwLjI2MzM0NTI4MDY6IHJlcGx5IG9rIDEyNCBhY2Nlc3MgYyAwMDAzCj4gPiAxMDox NjoxNC4wOTkzODUgSVAgMTAuMC4wLjQwLjEwMjIgPiAxMC4wLjAuMzAuMjA0OTogLiBhY2sgODU1 MyB3aW4gMjkwOCA8bm9wLG5vcCx0aW1lc3RhbXAgNzU0NTkyIDc1NDgxMD4KPiA+IDEwOjE2OjE0 LjI5MzcxNCBJUCAxMC4wLjAuNDAuMjY1MDIzMDAyMiA+IDEwLjAuMC4zMC4yMDQ5OiAxMDggZ2V0 YXR0ciBmaCBVbmtub3duLzAxMDAwNzAwODEzODAxMDAwMDAwMDAwMDA4MTY0RUU0MkRCMTQxRUJB Qzk2MTcwMTQ5Qzc0Mzk2MDAwMDAwMDAKPiA+IDEwOjE2OjE0LjI5NDAxOSBJUCAxMC4wLjAuMzAu MjA0OSA+IDEwLjAuMC40MC4yNjUwMjMwMDIyOiByZXBseSBvayAxMTYgZ2V0YXR0ciBESVIgNDA3 NTUgaWRzIDAvMCBzeiA0MDk2Cj4gPiAxMDoxNjoxNC4yOTcyNjMgSVAgMTAuMC4wLjQwLjEwMjIg PiAxMC4wLjAuMzAuMjA0OTogLiBhY2sgODY2OSB3aW4gMjkwOCA8bm9wLG5vcCx0aW1lc3RhbXAg NzU0NzYzIDc1NDg3MT4KPiA+IDEwOjE2OjE0LjI5NzI3MiBJUCAxMC4wLjAuNDAuMjY2NzAwNzIz OCA+IDEwLjAuMC4zMC4yMDQ5OiAxMTIgYWNjZXNzIGZoIFVua25vd24vMDEwMDA3MDA4MTM4MDEw MDAwMDAwMDAwMDgxNjRFRTQyREIxNDFFQkFDOTYxNzAxNDlDNzQzOTYwMDAwMDAxRiAwMDFmCj4g PiAxMDoxNjoxNC4yOTc0NjYgSVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4wLjAuNDAuMjY2NzAwNzIz ODogcmVwbHkgb2sgMTI0IGFjY2VzcyBjIDAwMDMKPiA+IDEwOjE2OjE0LjI5NzU4NiBJUCAxMC4w LjAuNDAuMjY4Mzc4NDQ1NCA+IDEwLjAuMC4zMC4yMDQ5OiAxMTIgYWNjZXNzIGZoIFVua25vd24v MDEwMDA3MDA4MTM4MDEwMDAwMDAwMDAwMDgxNjRFRTQyREIxNDFFQkFDOTYxNzAxNDlDNzQzOTYw MDAwMDAxRiAwMDFmCj4gPiAxMDoxNjoxNC4yOTc5ODcgSVAgMTAuMC4wLjMwLjIwNDkgPiAxMC4w LjAuNDAuMjY4Mzc4NDQ1NDogcmVwbHkgb2sgMTI0IGFjY2VzcyBjIDAwMDMKPiA+IDEwOjE2OjE0 LjMwMTE2NSBJUCAxMC4wLjAuNDAuMjcwMDU2MTY3MCA+IDEwLjAuMC4zMC4yMDQ5OiAxMDQgYWNj ZXNzIGZoIFVua25vd24vMDEwMDA2MDAyQzQ5RkVGMkJBNDY0MjkzOUIyQkYyQjgzMjJDQ0JDQjAw MDAwMDFGNDcyMTlDOEMwMDAwMDAwMCAwMDFmCj4gPiAxMDoxNjoxNC4zMDE0MDUgSVAgMTAuMC4w LjMwLjIwNDkgPiAxMC4wLjAuNDAuMjcwMDU2MTY3MDogcmVwbHkgb2sgMTI0IGFjY2VzcyBjIDAw MDMKPiA+IDEwOjE2OjE0LjM1MTIyOSBJUCAxMC4wLjAuNDAuMTAyMiA+IDEwLjAuMC4zMC4yMDQ5 OiAuIGFjayA5MDQxIHdpbiAyOTA4IDxub3Asbm9wLHRpbWVzdGFtcCA3NTQ4MTAgNzU0ODczPgo+ ID4gMTA6MTY6MTQuODQyNjMzIElQIDEwLjAuMC40MC4yNzE3MzM4ODg2ID4gMTAuMC4wLjMwLjIw NDk6IDEwMCBnZXRhdHRyIGZoIFVua25vd24vMDEwMDA2MDAyQzQ5RkVGMkJBNDY0MjkzOUIyQkYy QjgzMjJDQ0JDQjAwMDAwMDAwNDcyMTlDOEMwMDAwMDAwMAo+ID4gMTA6MTY6MTQuODUxNzExIElQ IDEwLjAuMC4zMC4yMDQ5ID4gMTAuMC4wLjQwLjI3MTczMzg4ODY6IHJlcGx5IG9rIDExNiBnZXRh dHRyIERJUiA0MDc1NSBpZHMgMC8wIHN6IDQwOTYKPiA+IDEwOjE2OjE0Ljg1Njg0NiBJUCAxMC4w LjAuNDAuMTAyMiA+IDEwLjAuMC4zMC4yMDQ5OiAuIGFjayA5MTU3IHdpbiAyOTA4IDxub3Asbm9w LHRpbWVzdGFtcCA3NTUyNzIgNzU1MDA4Pgo+ID4gCj4gPiAKPiA+ID4gPiBkb2VzIHNvbWVib2R5 IGhhdmUgc3VjaCBzZXR1cCB1cCBhbmQgcnVubmluZyBhbmQgY2FuIHRlbGwgaGlzIGRpc3RybyAv IGtlcm5lbCBhbmQgbmZzLXV0aWxzIHZlcnNpb24gPwo+ID4gPiA+IG1heWJlIGkgY2hhbmdlIGRp c3RybyB0aGVuLgo+ID4gPiAKPiA+ID4gSSBkb3VidCB0aGF0IGl0IGlzIGEgZGlzdHJvLXNwZWNp ZmljIHRoaW5nLiAgQXMgbG9uZyBhcyB5b3UgaGF2ZQo+ID4gPiBuZnMtdXRpbHMtMS4xLjAgaXQg c2hvdWxkIHdvcmsuICBJIGRvbid0IGhhdmUgYSAxMC4zIGJveAo+ID4gPiBzZXQgdXAgeWV0LCBi dXQgaXQgd29ya3MgZmluZSBvbiBEZWJpYW4vdW5zdGFibGUgZm9yIG1lLgo+ID4gCj4gPiBvaywg d2lsbCB0cnkgdGhpcyBvbiBkZWJpYW4uCj4gPiAKPiA+ID4gTWF5YmUgdHJ5IGFkZGluZyB0aGUg Im5vX3Jvb3Rfc3F1YXNoIiBleHBvcnQgb3B0aW9uLgo+ID4gbm8gZGlmZmVyZW5jZQo+ID4gCj4g PiA+IFdoYXQgZG9lcyAibHMgLWwgL2V4cG9ydCIgb24gdGhlIHNlcnZlciBzaG93Pwo+ID4gbm90 aGluZyB1bnVzdWFsLiBubyBlcnJvcnMsIGp1c3QgdGhlIGRpcnMvbW91bnRwb2ludHMKPiA+IAo+ ID4gVGhhbmtzIGZvciB5b3VyIGhlbHAhCj4gPiAKPiA+IHJlZ2FyZHMKPiA+IHJvbGFuZAo+ID4g Cj4gPiAKPiA+ID4gCj4gPiA+IE9uIFNhdHVyZGF5IE9jdG9iZXIgMjcsIGRldnplcm9Ad2ViLmRl IHdyb3RlOgo+ID4gPiA+IEhlbGxvICEKPiA+ID4gPiAKPiA+ID4gPiB3aXRoIDIuNi4yMiBpYG0g dHJ5aW5nIHRvIGV4cG9ydCBsb29wYmFjayBtb3VudGVkIGlzby1pbWFnZXMuCj4gPiA+ID4gCj4g PiA+ID4gdGhpcyBpcyAvZXRjL2V4cG9ydHM6Cj4gPiA+ID4gCj4gPiA+ID4gL2V4cG9ydCAqKHJv LGNyb3NzbW50LHN1YnRyZWVfY2hlY2spCj4gPiA+IAo+ID4gPiBJIHJlY29tbWVuZCByZXBsYWNp bmcgc3VidHJlZV9jaGVjayB3aXRoIG5vX3N1YnRyZWVfY2hlY2ssIGJ1dCBpdAo+ID4gPiBzaG91 bGRuJ3QgbWFrZSBhbiBpbXBvcnRhbnQgZGlmZmVyZW5jZSBpbiB0aGlzIGNhc2UuCj4gPiA+IAo+ ID4gPiAKPiA+ID4gVGhpcyBzaG91bGQgd29yayB3aXRoIG5mcy11dGlscyAxLjEuMCBvciBsYXRl ci4gIFdpdGggZWFybGllciByZWxlYXNlcwo+ID4gPiB5b3UgbmVlZCB0byBleHBsaWNpdGx5IGV4 cG9ydCB0aGUgc3Vib3JkaW5hdGUgZmlsZXN5c3RlbXMgdG9vLgo+ID4gPiAKPiA+ID4gPiAKPiA+ ID4gPiBpbiAvZXhwb3J0LCBpIGhhdmUgbG9vcGJhY2sgbW91bnRlZCBpc28taW1hZ2VzCj4gPiA+ ID4gCj4gPiA+ID4gYWZ0ZXIgbW91bnRpbmcgb24gdGhlIGNsaWVudCBzaWRlIHVuZGVyIC9tbnQg KHRyaWVkIG9uZSBvbGRlciBhbmQgb25lIHJlY2VudCBzeXN0ZW0pICwgaWBtIGdldHRpbmc6Cj4g PiA+ID4gCj4gPiA+ID4gdm1ob3N0Oi9tbnQgIyBscyAtbGEKPiA+ID4gPiAvYmluL2xzOiBpc28x OiBJbnB1dC9vdXRwdXQgZXJyb3IKPiA+ID4gPiAvYmluL2xzOiBpc28yICBJbnB1dC9vdXRwdXQg ZXJyb3IKPiA+ID4gPiAvYmluL2xzOiBpc28zOiBJbnB1dC9vdXRwdXQgZXJyb3IKPiA+ID4gPiB0 b3RhbCAxMDEyOAo+ID4gPiA+IGRyd3hyd3hyd3QgICAxOCByb290IHJvb3QgIDI3MDMzNiBPY3Qg MjYgMDg6NDUgLgo+ID4gPiA+IGRyd3hyd3hyd3QgIDE4NiByb290IHJvb3QgICAyMDc2MCBPY3Qg MjcgMTc6NDUgLi4KPiA+ID4gPiBkcnd4ci14ci14ICAgIDIgcm9vdCByb290ICAgMTYzODQgSmFu ICAxICAxOTcwIGlzbzEKPiA+ID4gPiBkcnd4ci14ci14ICAgIDIgcm9vdCByb290ICAgMTYzODQg SmFuICAxICAxOTcwIGlzbzIKPiA+ID4gPiBkcnd4ci14ci14ICAgIDIgcm9vdCByb290ICAgMTYz ODQgSmFuICAxICAxOTcwIGlzbzMKPiA+ID4gPiAKPiA+ID4gPiB2bWhvc3Q6L21udC9pc28xICMg bHMKPiA+ID4gPiAvYmluL2xzOiAuOiBTdGFsZSBORlMgZmlsZSBoYW5kbGUKPiA+ID4gPiB2bWhv c3Q6L21udC9pc28xICMgbHMgLWxhCj4gPiA+ID4gL2Jpbi9sczogLjogSW5wdXQvb3V0cHV0IGVy cm9yCj4gPiA+IAo+ID4gPiBJdCBpcyBhIGxpdHRsZSBvZGQgdGhhdCB0aGUgZXJyb3JzIGFyZSBp bmNvbnNpc3RlbnQuCj4gPiA+IAo+ID4gPiBDYW4geW91IGZpbmQgYW55IGxvZyBtZXNzYWdlcyBm cm9tIG1vdW50ZCBpbiBzeXNsb2c/ICBXaGF0IGRvIHRoZXkKPiA+ID4gc2F5Pwo+ID4gPiBBbHNv IHdoYXQgZG9lcwo+ID4gPiAgICBjYXQgL3Byb2MvZnMvbmZzZC9leHBvcnRzCj4gPiA+IAo+ID4g PiBvbiB0aGUgc2VydmVyIHNob3cuCj4gPiA+IAo+ID4gPiBGaW5hbGx5LCBhIHRjcGR1bXA6Cj4g PiA+IAo+ID4gPiAgIHRjcGR1bXAgLXMgMCAtdyAvdG1wL3RjcGR1bXAgcG9ydCAyMDQ5Cj4gPiA+ IAo+ID4gPiB3aGlsZSB5b3UgcnVuIHRoZSBleHBlcmltZW50IG1pZ2h0IGhlbHAuCj4gPiA+IAo+ ID4gPiA+IAo+ID4gPiA+IGlgbSB1bnN1cmUgaWYgaSBzaG91bGQgYmxhbWUgc3VzZSBoZXJlIChp dGBzIGFuIG9wZW5zdXNlIDEwLjMgYm94IHdoaWNoIHNlZW1zIHRvIGhhdmUgbmZzLXV0aWxzIDEu MS4wKQo+ID4gPiA+IAo+ID4gPiA+IGRvZXMgc29tZWJvZHkgaGF2ZSBzdWNoIHNldHVwIHVwIGFu ZCBydW5uaW5nIGFuZCBjYW4gdGVsbCBoaXMgZGlzdHJvIC8ga2VybmVsIGFuZCBuZnMtdXRpbHMg dmVyc2lvbiA/Cj4gPiA+ID4gbWF5YmUgaSBjaGFuZ2UgZGlzdHJvIHRoZW4uCj4gPiA+IAo+ID4g PiBJIGRvdWJ0IHRoYXQgaXQgaXMgYSBkaXN0cm8tc3BlY2lmaWMgdGhpbmcuICBBcyBsb25nIGFz IHlvdSBoYXZlCj4gPiA+IG5mcy11dGlscy0xLjEuMCBpdCBzaG91bGQgd29yay4gIEkgZG9uJ3Qg aGF2ZSBhIDEwLjMgYm94Cj4gPiA+IHNldCB1cCB5ZXQsIGJ1dCBpdCB3b3JrcyBmaW5lIG9uIERl Ymlhbi91bnN0YWJsZSBmb3IgbWUuCj4gPiA+IAo+ID4gPiBNYXliZSB0cnkgYWRkaW5nIHRoZSAi bm9fcm9vdF9zcXVhc2giIGV4cG9ydCBvcHRpb24uCj4gPiA+IFdoYXQgZG9lcyAibHMgLWwgL2V4 cG9ydCIgb24gdGhlIHNlcnZlciBzaG93Pwo+ID4gPiAKPiA+ID4gTmVpbEJyb3duCj4gPiA+IAo+ ID4gCj4gPiAKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBEZXIgV0VCLkRFIFNtYXJ0U3VyZmVyIGhp bGZ0IGJpcyB6dSA3MCUgSWhyZXIgT25saW5la29zdGVuIHp1IHNwYXJlbiEKPiBodHRwOi8vc21h cnRzdXJmZXIud2ViLmRlLz9tYz0xMDAwNzEmZGlzdHJpYnV0aW9uaWQ9MDAwMDAwMDAwMDY2Cj4g Cj4gCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IFRoaXMgU0YubmV0IGVtYWlsIGlzIHNwb25zb3JlZCBi eTogU3BsdW5rIEluYy4KPiBTdGlsbCBncmVwcGluZyB0aHJvdWdoIGxvZyBmaWxlcyB0byBmaW5k IHByb2JsZW1zPyAgU3RvcC4KPiBOb3cgU2VhcmNoIGxvZyBldmVudHMgYW5kIGNvbmZpZ3VyYXRp b24gZmlsZXMgdXNpbmcgQUpBWCBhbmQgYSBicm93c2VyLgo+IERvd25sb2FkIHlvdXIgRlJFRSBj b3B5IG9mIFNwbHVuayBub3cgPj4gaHR0cDovL2dldC5zcGx1bmsuY29tLwo+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gTkZTIG1haWxsaXN0ICAtICBO RlNAbGlzdHMuc291cmNlZm9yZ2UubmV0Cj4gaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQv bGlzdHMvbGlzdGluZm8vbmZzCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClRoaXMgU0YubmV0IGVtYWlsIGlz IHNwb25zb3JlZCBieTogU3BsdW5rIEluYy4KU3RpbGwgZ3JlcHBpbmcgdGhyb3VnaCBsb2cgZmls ZXMgdG8gZmluZCBwcm9ibGVtcz8gIFN0b3AuCk5vdyBTZWFyY2ggbG9nIGV2ZW50cyBhbmQgY29u ZmlndXJhdGlvbiBmaWxlcyB1c2luZyBBSkFYIGFuZCBhIGJyb3dzZXIuCkRvd25sb2FkIHlvdXIg RlJFRSBjb3B5IG9mIFNwbHVuayBub3cgPj4gaHR0cDovL2dldC5zcGx1bmsuY29tLwpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpORlMgbWFpbGxpc3QgIC0g IE5GU0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKaHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQv bGlzdHMvbGlzdGluZm8vbmZzCg==