From owner-freebsd-questions@freebsd.org Mon Oct 5 21:09:38 2015 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 92F1599A946 for ; Mon, 5 Oct 2015 21:09:38 +0000 (UTC) (envelope-from niklaas@kulturflatrate.net) Received: from mail2.kulturflatrate.net (mail.financecomm.com [178.63.105.5]) by mx1.freebsd.org (Postfix) with ESMTP id EB8B48DB for ; Mon, 5 Oct 2015 21:09:37 +0000 (UTC) (envelope-from niklaas@kulturflatrate.net) Received: from [10.0.0.38] (mail.kulturflatrate.net [IPv6:2a01:488:66:1000:2ea3:77dd:0:1]) (Authenticated sender: niklaas@kulturflatrate.net) by mail2.kulturflatrate.net (Postfix) with ESMTPSA id A18182D979 for ; Mon, 5 Oct 2015 23:09:27 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=kulturflatrate.net; s=default; t=1444079367; bh=y/JHumY9jVlUH7SqU4vhqZAo+1+CdONsKqvGRRfH3B8=; h=To:From:Subject:Date; b=TZjUZ++CYCN3wdHD/HyciUCOH0KvMzgD9+FiGQZlg+vnwhMAXOrU4oEskQQIroyu6 j/o0h6YbGUwHUPEzwGo72wEU8RCI/yHjVzTVwQXxLMLkUTcZ3oeGUFxe9xBYyHLTOk jxfi7MNEOraYDXLPHe7j5pWaLZQ9UbgwVEkyXHow= To: freebsd-questions@freebsd.org From: Niklaas Baudet von Gersdorff Subject: PF stops tmux from working?! X-Enigmail-Draft-Status: N1110 Message-ID: <5612E791.4040708@kulturflatrate.net> Date: Mon, 5 Oct 2015 23:11:45 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------090805090001050005030609" X-Content-Filtered-By: Mailman/MimeDel 2.1.20 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Oct 2015 21:09:38 -0000 This is a multi-part message in MIME format. --------------090805090001050005030609 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit I have a host with several jails on it. The jails have a public IPv6 assigned to the external interface. Using PF as firewall, I was used to block all incoming traffic and I initially set > pass out on $ext_if proto { tcp udp } all Recently, I changed the settings to also restrict outgoing traffic. E.g. there are some jails that are only allowed to send traffic within my IPv6 network. Since I restricted the access, in some jails, I cannot use tmux anymore which I don't understand because I wouldn't have thought of a relation between a terminal multiplexer and a firewall. > tmux -vvvvvvvv created some logfiles that I attached but they don't look promising. (The respective tmux-client-19034.log is empty.) I have read that it's possible to do some debugging with > truss tmux which, in fact, turned out some results that might relate the dysfunction of tmux to the changes of the firewall. The full file is attached, the lines that I assume relevant follow: > connect(5,{ AF_UNIX "/tmp/tmux-1001/default" },24) ERR#61 'Connection refused' > stat("/usr/share/nls/C/libc.cat",0x7fffffffdcd8) ERR#2 'No such file or directory' > stat("/usr/share/nls/libc/C",0x7fffffffdcd8) ERR#2 'No such file or directory' > stat("/usr/local/share/nls/C/libc.cat",0x7fffffffdcd8) ERR#2 'No such file or directory' > stat("/usr/local/share/nls/libc/C",0x7fffffffdcd8) ERR#2 'No such file or directory' [...] > socket(PF_INET,SOCK_DGRAM,0) ERR#43 'Protocol not supported' > poll({4/POLLIN},1,0) = 0 (0x0) > fcntl(0,F_GETFL,) = 6 (0x6) > fcntl(0,F_SETFL,0x2) = 0 (0x0) > process exit, rval = 1 I have no clue what the above line mean but what made me suspicious is line > socket(PF_INET,SOCK_DGRAM,0) ERR#43 'Protocol not supported' because I relate "/PF/_INET" to the /pf/ firewall. Searching for "SOCK_DGRAM" lead me to https://www.freebsd.org/doc/en/books/developers-handbook/sockets-essential-functions.html which starts at a point where my knowledge has already left me miles before. I don't have to allow my jails to use tmux through some settings in my pf configuration, do I?! Most probably I'm assuming the wrong cause for the error. Does anybody have an idea why tmux stopped working? Interestingly tmux still works in some other jails. In each jail, the same version of tmux is installed. > $ pkg info tmux > tmux-2.0_1 > Name : tmux > Version : 2.0_1 > Installed on : Sun Sep 6 18:21:36 CEST 2015 > Origin : sysutils/tmux > Architecture : freebsd:10:x86:64 > Prefix : /usr/local > Categories : sysutils > Licenses : ISCL > Maintainer : mat@FreeBSD.org > WWW : http://www.sourceforge.net/projects/tmux/ > Comment : Terminal Multiplexer > Options : > BACKSPACE : off > DOCS : on > EXAMPLES : on > LIBEVENT_STATIC: off > Shared Libs required: > libevent-2.0.so.5 > Annotations : > repo_type : binary > repository : financecomm > Flat size : 579KiB > Description : > Tmux is a terminal multiplexer, it enables a number of terminals to be accessed > and controlled from a single terminal. tmux is intended to be a simple, modern, > BSD-licensed alternative to programs such as GNU screen. > > WWW: http://www.sourceforge.net/projects/tmux/ Although tmux doesn't work in some jails, in those screen works without any problems. -- Niklaas --------------090805090001050005030609 Content-Type: text/plain; charset=UTF-8; name="truss-tmux" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="truss-tmux" bW1hcCgweDAsMzI3NjgsUFJPVF9SRUFEfFBST1RfV1JJVEUsTUFQX1BSSVZBVEV8TUFQX0FO T04sLTEsMHgwKSA9IDM0MzY2NTU0MTEyICgweDgwMDY4MDAwMCkKaXNzZXR1Z2lkKDB4ODAw ODdmZjMwLDB4N2ZmZmZmZmZlZmNjLDB4NDAsMHgwLDB4ZmZmZjgwMDgwMDg4MGY2NCwweDAp ID0gMCAoMHgwKQpsc3RhdCgiL2V0YyIseyBtb2RlPWRyd3hyLXhyLXggLGlub2RlPTE2LHNp emU9MTA4LGJsa3NpemU9NzE2OCB9KSA9IDAgKDB4MCkKbHN0YXQoIi9ldGMvbGlibWFwLmNv bmYiLHsgbW9kZT0tcnctci0tci0tICxpbm9kZT0xMjExNSxzaXplPTEwOSxibGtzaXplPTQw OTYgfSkgPSAwICgweDApCm9wZW4oIi9ldGMvbGlibWFwLmNvbmYiLE9fQ0xPRVhFQywwMTc2 MCkJID0gMyAoMHgzKQpmc3RhdCgzLHsgbW9kZT0tcnctci0tci0tICxpbm9kZT0xMjExNSxz aXplPTEwOSxibGtzaXplPTQwOTYgfSkgPSAwICgweDApCm1tYXAoMHgwLDEwOSxQUk9UX1JF QUQsTUFQX1BSSVZBVEUsMywweDApCSA9IDM0MzY2NTg2ODgwICgweDgwMDY4ODAwMCkKY2xv c2UoMykJCQkJCSA9IDAgKDB4MCkKbHN0YXQoIi91c3IiLHsgbW9kZT1kcnd4ci14ci14ICxp bm9kZT0yMSxzaXplPTE2LGJsa3NpemU9NDA5NiB9KSA9IDAgKDB4MCkKbHN0YXQoIi91c3Iv bG9jYWwiLHsgbW9kZT1kcnd4ci14ci14ICxpbm9kZT0xMDcsc2l6ZT0xNSxibGtzaXplPTQw OTYgfSkgPSAwICgweDApCmxzdGF0KCIvdXNyL2xvY2FsL2V0YyIseyBtb2RlPWRyd3hyLXhy LXggLGlub2RlPTI2LHNpemU9MjYsYmxrc2l6ZT00MDk2IH0pID0gMCAoMHgwKQpsc3RhdCgi L3Vzci9sb2NhbC9ldGMvbGlibWFwLmQiLDB4N2ZmZmZmZmZjNTE4KQkgRVJSIzIgJ05vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnknCm11bm1hcCgweDgwMDY4ODAwMCwxMDkpCQkJCSA9IDAg KDB4MCkKYWNjZXNzKCIvdXNyL2xpYi9saWJ1dGlsLnNvLjkiLDApCQkgRVJSIzIgJ05vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnknCmFjY2VzcygiL3Vzci9sb2NhbC9saWIvbGlidXRpbC5z by45IiwwKQkJIEVSUiMyICdObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5JwpvcGVuKCIvdmFy L3J1bi9sZC1lbGYuc28uaGludHMiLE9fQ0xPRVhFQywwMzIwNDM3NzApID0gMyAoMHgzKQpy ZWFkKDMsIkVobnRcXkFcMFwwXDBcTV5AXDBcMFwwRFwwXDBcMFwwIi4uLiwxMjgpID0gMTI4 ICgweDgwKQpsc2VlaygzLDB4ODAsU0VFS19TRVQpCQkJCSA9IDEyOCAoMHg4MCkKcmVhZCgz LCIvbGliOi91c3IvbGliOi91c3IvbGliL2NvbXBhdDovdSIuLi4sNjgpID0gNjggKDB4NDQp CmNsb3NlKDMpCQkJCQkgPSAwICgweDApCmFjY2VzcygiL2xpYi9saWJ1dGlsLnNvLjkiLDAp CQkJID0gMCAoMHgwKQpvcGVuKCIvbGliL2xpYnV0aWwuc28uOSIsT19DTE9FWEVDLDAzMjA0 Mzc3MCkJID0gMyAoMHgzKQpmc3RhdCgzLHsgbW9kZT0tci0tci0tci0tICxpbm9kZT0xNDMs c2l6ZT03MDI0MCxibGtzaXplPTcwNjU2IH0pID0gMCAoMHgwKQptbWFwKDB4MCw0MDk2LFBS T1RfUkVBRCxNQVBfUFJJVkFURXxNQVBfUFJFRkFVTFRfUkVBRCwzLDB4MCkgPSAzNDM2NjU4 Njg4MCAoMHg4MDA2ODgwMDApCm1tYXAoMHgwLDIxNzA4ODAsUFJPVF9OT05FLE1BUF9QUklW QVRFfE1BUF9BTk9OfE1BUF9OT0NPUkUsLTEsMHgwKSA9IDM0MzY4NjU1MzYwICgweDgwMDg4 MTAwMCkKbW1hcCgweDgwMDg4MTAwMCw2NTUzNixQUk9UX1JFQUR8UFJPVF9FWEVDLE1BUF9Q UklWQVRFfE1BUF9GSVhFRHxNQVBfTk9DT1JFfE1BUF9QUkVGQVVMVF9SRUFELDMsMHgwKSA9 IDM0MzY4NjU1MzYwICgweDgwMDg4MTAwMCkKbW1hcCgweDgwMGE5MDAwMCw4MTkyLFBST1Rf UkVBRHxQUk9UX1dSSVRFLE1BUF9QUklWQVRFfE1BUF9GSVhFRHxNQVBfUFJFRkFVTFRfUkVB RCwzLDB4ZjAwMCkgPSAzNDM3MDgxMzk1MiAoMHg4MDBhOTAwMDApCm1tYXAoMHg4MDBhOTIw MDAsNDA5NixQUk9UX1JFQUR8UFJPVF9XUklURSxNQVBfUFJJVkFURXxNQVBfRklYRUR8TUFQ X0FOT04sLTEsMHgwKSA9IDM0MzcwODIyMTQ0ICgweDgwMGE5MjAwMCkKbXVubWFwKDB4ODAw Njg4MDAwLDQwOTYpCQkJID0gMCAoMHgwKQpjbG9zZSgzKQkJCQkJID0gMCAoMHgwKQphY2Nl c3MoIi91c3IvbGliL2xpYm5jdXJzZXMuc28uOCIsMCkJCSBFUlIjMiAnTm8gc3VjaCBmaWxl IG9yIGRpcmVjdG9yeScKYWNjZXNzKCIvdXNyL2xvY2FsL2xpYi9saWJuY3Vyc2VzLnNvLjgi LDApCSBFUlIjMiAnTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScKYWNjZXNzKCIvbGliL2xp Ym5jdXJzZXMuc28uOCIsMCkJCSA9IDAgKDB4MCkKb3BlbigiL2xpYi9saWJuY3Vyc2VzLnNv LjgiLE9fQ0xPRVhFQywwMzIwNDM3NzApID0gMyAoMHgzKQpmc3RhdCgzLHsgbW9kZT0tci0t ci0tci0tICxpbm9kZT0xMTYsc2l6ZT0zMDk5NzYsYmxrc2l6ZT0xMzEwNzIgfSkgPSAwICgw eDApCm1tYXAoMHgwLDQwOTYsUFJPVF9SRUFELE1BUF9QUklWQVRFfE1BUF9QUkVGQVVMVF9S RUFELDMsMHgwKSA9IDM0MzY2NTg2ODgwICgweDgwMDY4ODAwMCkKbW1hcCgweDAsMjQwODQ0 OCxQUk9UX05PTkUsTUFQX1BSSVZBVEV8TUFQX0FOT058TUFQX05PQ09SRSwtMSwweDApID0g MzQzNzA4MjYyNDAgKDB4ODAwYTkzMDAwKQptbWFwKDB4ODAwYTkzMDAwLDI5MDgxNixQUk9U X1JFQUR8UFJPVF9FWEVDLE1BUF9QUklWQVRFfE1BUF9GSVhFRHxNQVBfTk9DT1JFfE1BUF9Q UkVGQVVMVF9SRUFELDMsMHgwKSA9IDM0MzcwODI2MjQwICgweDgwMGE5MzAwMCkKbW1hcCgw eDgwMGNkYTAwMCwyMDQ4MCxQUk9UX1JFQUR8UFJPVF9XUklURSxNQVBfUFJJVkFURXxNQVBf RklYRUR8TUFQX1BSRUZBVUxUX1JFQUQsMywweDQ3MDAwKSA9IDM0MzczMjE0MjA4ICgweDgw MGNkYTAwMCkKbXVubWFwKDB4ODAwNjg4MDAwLDQwOTYpCQkJID0gMCAoMHgwKQpjbG9zZSgz KQkJCQkJID0gMCAoMHgwKQphY2Nlc3MoIi91c3IvbGliL2xpYmV2ZW50LTIuMC5zby41Iiww KQkJIEVSUiMyICdObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5JwphY2Nlc3MoIi91c3IvbG9j YWwvbGliL2xpYmV2ZW50LTIuMC5zby41IiwwKQkgPSAwICgweDApCm9wZW4oIi91c3IvbG9j YWwvbGliL2xpYmV2ZW50LTIuMC5zby41IixPX0NMT0VYRUMsMDMyMDQzNzcwKSA9IDMgKDB4 MykKZnN0YXQoMyx7IG1vZGU9LXJ3eHIteHIteCAsaW5vZGU9Mjg1LHNpemU9MjcyNzYwLGJs a3NpemU9MTMxMDcyIH0pID0gMCAoMHgwKQptbWFwKDB4MCw0MDk2LFBST1RfUkVBRCxNQVBf UFJJVkFURXxNQVBfUFJFRkFVTFRfUkVBRCwzLDB4MCkgPSAzNDM2NjU4Njg4MCAoMHg4MDA2 ODgwMDApCm1tYXAoMHgwLDIzNzE1ODQsUFJPVF9OT05FLE1BUF9QUklWQVRFfE1BUF9BTk9O fE1BUF9OT0NPUkUsLTEsMHgwKSA9IDM0MzczMjM0Njg4ICgweDgwMGNkZjAwMCkKbW1hcCgw eDgwMGNkZjAwMCwyNjYyNDAsUFJPVF9SRUFEfFBST1RfRVhFQyxNQVBfUFJJVkFURXxNQVBf RklYRUR8TUFQX05PQ09SRXxNQVBfUFJFRkFVTFRfUkVBRCwzLDB4MCkgPSAzNDM3MzIzNDY4 OCAoMHg4MDBjZGYwMDApCm1tYXAoMHg4MDBmMjAwMDAsODE5MixQUk9UX1JFQUR8UFJPVF9X UklURSxNQVBfUFJJVkFURXxNQVBfRklYRUR8TUFQX1BSRUZBVUxUX1JFQUQsMywweDQxMDAw KSA9IDM0Mzc1NTk4MDgwICgweDgwMGYyMDAwMCkKbXVubWFwKDB4ODAwNjg4MDAwLDQwOTYp CQkJID0gMCAoMHgwKQpjbG9zZSgzKQkJCQkJID0gMCAoMHgwKQphY2Nlc3MoIi91c3IvbGli L2xpYnVsb2cuc28uMCIsMCkJCSBFUlIjMiAnTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScK YWNjZXNzKCIvdXNyL2xvY2FsL2xpYi9saWJ1bG9nLnNvLjAiLDApCQkgRVJSIzIgJ05vIHN1 Y2ggZmlsZSBvciBkaXJlY3RvcnknCmFjY2VzcygiL2xpYi9saWJ1bG9nLnNvLjAiLDApCQkJ ID0gMCAoMHgwKQpvcGVuKCIvbGliL2xpYnVsb2cuc28uMCIsT19DTE9FWEVDLDAzMjA0Mzc3 MCkJID0gMyAoMHgzKQpmc3RhdCgzLHsgbW9kZT0tci0tci0tci0tICxpbm9kZT0xNDAsc2l6 ZT04NjA4LGJsa3NpemU9ODcwNCB9KSA9IDAgKDB4MCkKbW1hcCgweDAsNDA5NixQUk9UX1JF QUQsTUFQX1BSSVZBVEV8TUFQX1BSRUZBVUxUX1JFQUQsMywweDApID0gMzQzNjY1ODY4ODAg KDB4ODAwNjg4MDAwKQptbWFwKDB4MCwyMTA1MzQ0LFBST1RfTk9ORSxNQVBfUFJJVkFURXxN QVBfQU5PTnxNQVBfTk9DT1JFLC0xLDB4MCkgPSAzNDM3NTYwNjI3MiAoMHg4MDBmMjIwMDAp Cm1tYXAoMHg4MDBmMjIwMDAsODE5MixQUk9UX1JFQUR8UFJPVF9FWEVDLE1BUF9QUklWQVRF fE1BUF9GSVhFRHxNQVBfTk9DT1JFfE1BUF9QUkVGQVVMVF9SRUFELDMsMHgwKSA9IDM0Mzc1 NjA2MjcyICgweDgwMGYyMjAwMCkKbW1hcCgweDgwMTEyMzAwMCw0MDk2LFBST1RfUkVBRHxQ Uk9UX1dSSVRFLE1BUF9QUklWQVRFfE1BUF9GSVhFRHxNQVBfUFJFRkFVTFRfUkVBRCwzLDB4 MTAwMCkgPSAzNDM3NzcwNzUyMCAoMHg4MDExMjMwMDApCm11bm1hcCgweDgwMDY4ODAwMCw0 MDk2KQkJCSA9IDAgKDB4MCkKY2xvc2UoMykJCQkJCSA9IDAgKDB4MCkKYWNjZXNzKCIvdXNy L2xpYi9saWJjLnNvLjciLDApCQkJIEVSUiMyICdObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5 JwphY2Nlc3MoIi91c3IvbG9jYWwvbGliL2xpYmMuc28uNyIsMCkJCSBFUlIjMiAnTm8gc3Vj aCBmaWxlIG9yIGRpcmVjdG9yeScKYWNjZXNzKCIvbGliL2xpYmMuc28uNyIsMCkJCQkgPSAw ICgweDApCm9wZW4oIi9saWIvbGliYy5zby43IixPX0NMT0VYRUMsMDMyMDQzNzcwKQkgPSAz ICgweDMpCmZzdGF0KDMseyBtb2RlPS1yLS1yLS1yLS0gLGlub2RlPTgyNjMxLHNpemU9MTYz MTUyMCxibGtzaXplPTEzMTA3MiB9KSA9IDAgKDB4MCkKbW1hcCgweDAsNDA5NixQUk9UX1JF QUQsTUFQX1BSSVZBVEV8TUFQX1BSRUZBVUxUX1JFQUQsMywweDApID0gMzQzNjY1ODY4ODAg KDB4ODAwNjg4MDAwKQptbWFwKDB4MCwzODQyMDQ4LFBST1RfTk9ORSxNQVBfUFJJVkFURXxN QVBfQU5PTnxNQVBfTk9DT1JFLC0xLDB4MCkgPSAzNDM3NzcxMTYxNiAoMHg4MDExMjQwMDAp Cm1tYXAoMHg4MDExMjQwMDAsMTUyMzcxMixQUk9UX1JFQUR8UFJPVF9FWEVDLE1BUF9QUklW QVRFfE1BUF9GSVhFRHxNQVBfTk9DT1JFfE1BUF9QUkVGQVVMVF9SRUFELDMsMHgwKSA9IDM0 Mzc3NzExNjE2ICgweDgwMTEyNDAwMCkKbW1hcCgweDgwMTQ5ODAwMCw0OTE1MixQUk9UX1JF QUR8UFJPVF9XUklURSxNQVBfUFJJVkFURXxNQVBfRklYRUR8TUFQX1BSRUZBVUxUX1JFQUQs MywweDE3NDAwMCkgPSAzNDM4MTMzMjQ4MCAoMHg4MDE0OTgwMDApCm1tYXAoMHg4MDE0YTQw MDAsMTcyMDMyLFBST1RfUkVBRHxQUk9UX1dSSVRFLE1BUF9QUklWQVRFfE1BUF9GSVhFRHxN QVBfQU5PTiwtMSwweDApID0gMzQzODEzODE2MzIgKDB4ODAxNGE0MDAwKQptdW5tYXAoMHg4 MDA2ODgwMDAsNDA5NikJCQkgPSAwICgweDApCmNsb3NlKDMpCQkJCQkgPSAwICgweDApCmFj Y2VzcygiL3Vzci9saWIvbGlidGhyLnNvLjMiLDApCQkgRVJSIzIgJ05vIHN1Y2ggZmlsZSBv ciBkaXJlY3RvcnknCmFjY2VzcygiL3Vzci9sb2NhbC9saWIvbGlidGhyLnNvLjMiLDApCQkg RVJSIzIgJ05vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknCmFjY2VzcygiL2xpYi9saWJ0aHIu c28uMyIsMCkJCQkgPSAwICgweDApCm9wZW4oIi9saWIvbGlidGhyLnNvLjMiLE9fQ0xPRVhF QywwMzIwNDM3NzApCSA9IDMgKDB4MykKZnN0YXQoMyx7IG1vZGU9LXItLXItLXItLSAsaW5v ZGU9MTE0LHNpemU9MTA1MTA0LGJsa3NpemU9MTA1NDcyIH0pID0gMCAoMHgwKQptbWFwKDB4 MCw0MDk2LFBST1RfUkVBRCxNQVBfUFJJVkFURXxNQVBfUFJFRkFVTFRfUkVBRCwzLDB4MCkg PSAzNDM2NjU4Njg4MCAoMHg4MDA2ODgwMDApCm1tYXAoMHgwLDIyNDg3MDQsUFJPVF9OT05F LE1BUF9QUklWQVRFfE1BUF9BTk9OfE1BUF9OT0NPUkUsLTEsMHgwKSA9IDM0MzgxNTUzNjY0 ICgweDgwMTRjZTAwMCkKbW1hcCgweDgwMTRjZTAwMCwxMDI0MDAsUFJPVF9SRUFEfFBST1Rf RVhFQyxNQVBfUFJJVkFURXxNQVBfRklYRUR8TUFQX05PQ09SRXxNQVBfUFJFRkFVTFRfUkVB RCwzLDB4MCkgPSAzNDM4MTU1MzY2NCAoMHg4MDE0Y2UwMDApCm1tYXAoMHg4MDE2ZTYwMDAs ODE5MixQUk9UX1JFQUR8UFJPVF9XUklURSxNQVBfUFJJVkFURXxNQVBfRklYRUR8TUFQX1BS RUZBVUxUX1JFQUQsMywweDE4MDAwKSA9IDM0MzgzNzQ5MTIwICgweDgwMTZlNjAwMCkKbW1h cCgweDgwMTZlODAwMCw0NTA1NixQUk9UX1JFQUR8UFJPVF9XUklURSxNQVBfUFJJVkFURXxN QVBfRklYRUR8TUFQX0FOT04sLTEsMHgwKSA9IDM0MzgzNzU3MzEyICgweDgwMTZlODAwMCkK bXVubWFwKDB4ODAwNjg4MDAwLDQwOTYpCQkJID0gMCAoMHgwKQpjbG9zZSgzKQkJCQkJID0g MCAoMHgwKQphY2Nlc3MoIi9saWIvbGlibWQuc28uNiIsMCkJCQkgPSAwICgweDApCm9wZW4o Ii9saWIvbGlibWQuc28uNiIsT19DTE9FWEVDLDAzMjA0Mzc3MCkJID0gMyAoMHgzKQpmc3Rh dCgzLHsgbW9kZT0tci0tci0tci0tICxpbm9kZT0xMzQsc2l6ZT02NjQ1NixibGtzaXplPTY2 NTYwIH0pID0gMCAoMHgwKQptbWFwKDB4MCw0MDk2LFBST1RfUkVBRCxNQVBfUFJJVkFURXxN QVBfUFJFRkFVTFRfUkVBRCwzLDB4MCkgPSAzNDM2NjU4Njg4MCAoMHg4MDA2ODgwMDApCm1t YXAoMHgwLDIxNjI2ODgsUFJPVF9OT05FLE1BUF9QUklWQVRFfE1BUF9BTk9OfE1BUF9OT0NP UkUsLTEsMHgwKSA9IDM0MzgzODAyMzY4ICgweDgwMTZmMzAwMCkKbW1hcCgweDgwMTZmMzAw MCw2NTUzNixQUk9UX1JFQUR8UFJPVF9FWEVDLE1BUF9QUklWQVRFfE1BUF9GSVhFRHxNQVBf Tk9DT1JFfE1BUF9QUkVGQVVMVF9SRUFELDMsMHgwKSA9IDM0MzgzODAyMzY4ICgweDgwMTZm MzAwMCkKbW1hcCgweDgwMTkwMjAwMCw0MDk2LFBST1RfUkVBRHxQUk9UX1dSSVRFLE1BUF9Q UklWQVRFfE1BUF9GSVhFRHxNQVBfUFJFRkFVTFRfUkVBRCwzLDB4ZjAwMCkgPSAzNDM4NTk2 MDk2MCAoMHg4MDE5MDIwMDApCm11bm1hcCgweDgwMDY4ODAwMCw0MDk2KQkJCSA9IDAgKDB4 MCkKY2xvc2UoMykJCQkJCSA9IDAgKDB4MCkKbW1hcCgweDAsMzY4NjQsUFJPVF9SRUFEfFBS T1RfV1JJVEUsTUFQX1BSSVZBVEV8TUFQX0FOT04sLTEsMHgwKSA9IDM0MzY2NTg2ODgwICgw eDgwMDY4ODAwMCkKbXVubWFwKDB4ODAwNjkwMDAwLDQwOTYpCQkJID0gMCAoMHgwKQptbWFw KDB4MCwxMDI0MDAsUFJPVF9SRUFEfFBST1RfV1JJVEUsTUFQX1BSSVZBVEV8TUFQX0FOT04s LTEsMHgwKSA9IDM0MzY2NjE5NjQ4ICgweDgwMDY5MDAwMCkKc3lzYXJjaCgweDgxLDB4N2Zm ZmZmZmZkZjA4LDB4NCwweDAsMHhmZmZmZmZmZmZmMWYxMjgwLDB4ZjAwMDAwMDApID0gMCAo MHgwKQpzaWdwcm9jbWFzayhTSUdfQkxPQ0ssU0lHSFVQfFNJR0lOVHxTSUdRVUlUfFNJR0tJ TEx8U0lHUElQRXxTSUdBTFJNfFNJR1RFUk18U0lHVVJHfFNJR1NUT1B8U0lHVFNUUHxTSUdD T05UfFNJR0NITER8U0lHVFRJTnxTSUdUVE9VfFNJR0lPfFNJR1hDUFV8U0lHWEZTWnxTSUdW VEFMUk18U0lHUFJPRnxTSUdXSU5DSHxTSUdJTkZPfFNJR1VTUjF8U0lHVVNSMiwweDApID0g MCAoMHgwKQpzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywweDAsMHgwKQkJID0gMCAoMHgwKQpy ZWFkbGluaygiL2V0Yy9tYWxsb2MuY29uZiIsMHg3ZmZmZmZmZmQ2MzAsMTAyNCkgRVJSIzIg J05vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknCmlzc2V0dWdpZCgweDgwMTI2ZjU3ZSwweDdm ZmZmZmZmZDYzMCwweGZmZmZmZmZmZmZmZmZmZmYsMHgyLDB4M2MsMHhmZmZmZmZmZjBmZmZm ZmZmKSA9IDAgKDB4MCkKbW1hcCgweDAsNDE5NDMwNCxQUk9UX1JFQUR8UFJPVF9XUklURSxN QVBfUFJJVkFURXxNQVBfQU5PTiwtMSwweDApID0gMzQzODU5NjUwNTYgKDB4ODAxOTAzMDAw KQptdW5tYXAoMHg4MDE5MDMwMDAsNDE5NDMwNCkJCQkgPSAwICgweDApCm1tYXAoMHgwLDgz ODQ1MTIsUFJPVF9SRUFEfFBST1RfV1JJVEUsTUFQX1BSSVZBVEV8TUFQX0FOT04sLTEsMHgw KSA9IDM0Mzg1OTY1MDU2ICgweDgwMTkwMzAwMCkKbXVubWFwKDB4ODAxOTAzMDAwLDMxMzM0 NDApCQkJID0gMCAoMHgwKQptdW5tYXAoMHg4MDIwMDAwMDAsMTA1Njc2OCkJCQkgPSAwICgw eDApCnNpZ3Byb2NtYXNrKFNJR19CTE9DSyxTSUdIVVB8U0lHSU5UfFNJR1FVSVR8U0lHS0lM THxTSUdQSVBFfFNJR0FMUk18U0lHVEVSTXxTSUdVUkd8U0lHU1RPUHxTSUdUU1RQfFNJR0NP TlR8U0lHQ0hMRHxTSUdUVElOfFNJR1RUT1V8U0lHSU98U0lHWENQVXxTSUdYRlNafFNJR1ZU QUxSTXxTSUdQUk9GfFNJR1dJTkNIfFNJR0lORk98U0lHVVNSMXxTSUdVU1IyLDB4MCkgPSAw ICgweDApCnNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLDB4MCwweDApCQkgPSAwICgweDApCnNp Z3Byb2NtYXNrKFNJR19CTE9DSyxTSUdIVVB8U0lHSU5UfFNJR1FVSVR8U0lHS0lMTHxTSUdQ SVBFfFNJR0FMUk18U0lHVEVSTXxTSUdVUkd8U0lHU1RPUHxTSUdUU1RQfFNJR0NPTlR8U0lH Q0hMRHxTSUdUVElOfFNJR1RUT1V8U0lHSU98U0lHWENQVXxTSUdYRlNafFNJR1ZUQUxSTXxT SUdQUk9GfFNJR1dJTkNIfFNJR0lORk98U0lHVVNSMXxTSUdVU1IyLDB4MCkgPSAwICgweDAp CnNpZ3Byb2NtYXNrKFNJR19TRVRNQVNLLDB4MCwweDApCQkgPSAwICgweDApCnNpZ3Byb2Nt YXNrKFNJR19CTE9DSyxTSUdIVVB8U0lHSU5UfFNJR1FVSVR8U0lHS0lMTHxTSUdQSVBFfFNJ R0FMUk18U0lHVEVSTXxTSUdVUkd8U0lHU1RPUHxTSUdUU1RQfFNJR0NPTlR8U0lHQ0hMRHxT SUdUVElOfFNJR1RUT1V8U0lHSU98U0lHWENQVXxTSUdYRlNafFNJR1ZUQUxSTXxTSUdQUk9G fFNJR1dJTkNIfFNJR0lORk98U0lHVVNSMXxTSUdVU1IyLDB4MCkgPSAwICgweDApCnNpZ3By b2NtYXNrKFNJR19TRVRNQVNLLDB4MCwweDApCQkgPSAwICgweDApCmdldHBpZCgpCQkJCQkg PSAxOTA2NyAoMHg0YTdiKQpfX3N5c2N0bCgweDdmZmZmZmZmZGE1MCwweDIsMHg4MDE2ZjI4 YTAsMHg3ZmZmZmZmZmRhNTgsMHgwLDB4MCkgPSAwICgweDApCl9fc3lzY3RsKDB4N2ZmZmZm ZmZkOTcwLDB4MiwweDdmZmZmZmZmZDliMCwweDdmZmZmZmZmZDlhOCwweDgwMTRlMmVkYyww eGQpID0gMCAoMHgwKQpfX3N5c2N0bCgweDdmZmZmZmZmZDliMCwweDMsMHg4MDE2ZjEzMmMs MHg3ZmZmZmZmZmRhNTgsMHgwLDB4MCkgPSAwICgweDApCm1tYXAoMHgwLDQxOTQzMDQsUFJP VF9SRUFEfFBST1RfV1JJVEUsTUFQX1BSSVZBVEV8TUFQX0FOT04sLTEsMHgwKSA9IDM0Mzkz MjkyODAwICgweDgwMjAwMDAwMCkKdGhyX3NlbGYoMHg4MDIwMDY0MDAsMHgxLDB4MCwweDgw MDY4OTMyMCwweDQwLDB4ODAyMDE2MDEwKSA9IDAgKDB4MCkKbW1hcCgweDdmZmZmZmJmZTAw MCw0MDk2LFBST1RfTk9ORSxNQVBfQU5PTiwtMSwweDApID0gMTQwNzM3NDg0MTUyODMyICgw eDdmZmZmZmJmZTAwMCkKcnRwcmlvX3RocmVhZCgweDAsMHgxOGFkNCwweDdmZmZmZmZmZGEy OCwweDgwMjAwNjVhMCwweGZmZmZmZmZmLDB4MCkgPSAwICgweDApCnN5c2FyY2goMHg4MSww eDdmZmZmZmZmZGEzOCwweDAsMHg4MDE2ZjBmMDAsMHhmZmZmZmZmZiwweDApID0gMCAoMHgw KQpzaWdhY3Rpb24oMzIseyAweDgwMTRkYmE3MCBTQV9TSUdJTkZPIHNzX3QgfSwweDApID0g MCAoMHgwKQpzaWdwcm9jbWFzayhTSUdfVU5CTE9DSywweDAsMHgwKQkJID0gMCAoMHgwKQpf dW10eF9vcCgweDdmZmZmZmZmZDllOCwweDMsMHgxLDB4MCwweDAsMHgwKQkgPSAwICgweDAp Cm1wcm90ZWN0KDB4MCwwLFBST1RfTk9ORSkJCQkgPSAwICgweDApCnNpZ3Byb2NtYXNrKFNJ R19CTE9DSyxTSUdIVVB8U0lHSU5UfFNJR1FVSVR8U0lHSUxMfFNJR1RSQVB8U0lHQUJSVHxT SUdFTVR8U0lHRlBFfFNJR0tJTEx8U0lHQlVTfFNJR1NFR1Z8U0lHU1lTfFNJR1BJUEV8U0lH QUxSTXxTSUdURVJNfFNJR1VSR3xTSUdTVE9QfFNJR1RTVFB8U0lHQ09OVHxTSUdDSExEfFNJ R1RUSU58U0lHVFRPVXxTSUdJT3xTSUdYQ1BVfFNJR1hGU1p8U0lHVlRBTFJNfFNJR1BST0Z8 U0lHV0lOQ0h8U0lHSU5GT3xTSUdVU1IxfFNJR1VTUjIsMHgwKSA9IDAgKDB4MCkKc2lncHJv Y21hc2soU0lHX1NFVE1BU0ssMHgwLDB4MCkJCSA9IDAgKDB4MCkKb3BlbigiL3Vzci9zaGFy ZS9sb2NhbGUvZW5fR0IuVVRGLTgvTENfVElNRSIsT19DTE9FWEVDLDAxNTYzMDI0NTAwMCkg PSAzICgweDMpCmZzdGF0KDMseyBtb2RlPS1yLS1yLS1yLS0gLGlub2RlPTc0NTEyLHNpemU9 Mzc3LGJsa3NpemU9NDA5NiB9KSA9IDAgKDB4MCkKcmVhZCgzLCJKYW5cbkZlYlxuTWFyXG5B cHJcbk1heVxuSnVuXG5KdSIuLi4sMzc3KSA9IDM3NyAoMHgxNzkpCmNsb3NlKDMpCQkJCQkg PSAwICgweDApCl9fZ2V0Y3dkKCIvdXNyL2hvbWUvbmlrbGFhcyIsMTAyNCkJCSA9IDAgKDB4 MCkKYWNjZXNzKCIvdXNyL2xvY2FsL2Jpbi96c2giLDEpCQkJID0gMCAoMHgwKQphY2Nlc3Mo Ii9ob21lL25pa2xhYXMvLnRtdXguY29uZiIsNCkJCSBFUlIjMiAnTm8gc3VjaCBmaWxlIG9y IGRpcmVjdG9yeScKZ2V0dWlkKCkJCQkJCSA9IDEwMDEgKDB4M2U5KQpta2RpcigiL3RtcC8v dG11eC0xMDAxIiwwNzAwKQkJCSBFUlIjMTcgJ0ZpbGUgZXhpc3RzJwpsc3RhdCgiL3RtcC8v dG11eC0xMDAxIix7IG1vZGU9ZHJ3eC0tLS0tLSAsaW5vZGU9NzU5LHNpemU9MyxibGtzaXpl PTEzMTA3MiB9KSA9IDAgKDB4MCkKbHN0YXQoIi90bXAiLHsgbW9kZT1kcnd4cnd4cnd0ICxp bm9kZT0xMCxzaXplPTEyLGJsa3NpemU9NDA5NiB9KSA9IDAgKDB4MCkKbHN0YXQoIi90bXAv dG11eC0xMDAxIix7IG1vZGU9ZHJ3eC0tLS0tLSAsaW5vZGU9NzU5LHNpemU9MyxibGtzaXpl PTEzMTA3MiB9KSA9IDAgKDB4MCkKZ2V0cGlkKCkJCQkJCSA9IDE5MDY3ICgweDRhN2IpCl9f c3lzY3RsKDB4N2ZmZmZmZmZlMzMwLDB4NCwweDAsMHgwLDB4ODAyMDI5ODAwLDB4MjQpID0g MCAoMHgwKQpfX3N5c2N0bCgweDdmZmZmZmZmZTE5MCwweDIsMHg3ZmZmZmZmZmUxZDAsMHg3 ZmZmZmZmZmUxYzgsMHg4MDEyNmJmN2MsMHhmKSA9IDAgKDB4MCkKX19zeXNjdGwoMHg3ZmZm ZmZmZmUxZDAsMHgyLDB4N2ZmZmZmZmZlMzQwLDB4N2ZmZmZmZmZlMzQ4LDB4MCwweDApID0g MCAoMHgwKQppc3NldHVnaWQoMHg3ZmZmZmZmZmUzMTAsMHg4MDBkMTY3NTMsMHg2LDB4ODAw ZDE2NGMwLDB4N2ZmN2ZmMmU3YmNiLDB4ODA4MDgwODA4MDgwODA4MCkgPSAwICgweDApCmlz c2V0dWdpZCgweDdmZmZmZmZmZTMxMCwweDgwMGQxNjcxMCwweDQsMHg4MDBkMTY0YzAsMHg3 ZmY3ZmYyZTdjMGMsMHg4MDgwODA4MDgwODA4MDgwKSA9IDAgKDB4MCkKc29ja2V0cGFpcigw eDEsMHgxLDB4MCwweDgwMjA3MzEzMCwweDIwLDB4ODAyMDFlMDEwKSA9IDAgKDB4MCkKZmNu dGwoMyxGX0dFVEZELCkJCQkJID0gMCAoMHgwKQpmY250bCgzLEZfU0VURkQsRkRfQ0xPRVhF QykJCQkgPSAwICgweDApCmZjbnRsKDQsRl9HRVRGRCwpCQkJCSA9IDAgKDB4MCkKZmNudGwo NCxGX1NFVEZELEZEX0NMT0VYRUMpCQkJID0gMCAoMHgwKQpmY250bCgzLEZfR0VURkwsKQkJ CQkgPSAyICgweDIpCmZjbnRsKDMsRl9TRVRGTCxPX05PTkJMT0NLfDB4MikJCQkgPSAwICgw eDApCmZjbnRsKDQsRl9HRVRGTCwpCQkJCSA9IDIgKDB4MikKZmNudGwoNCxGX1NFVEZMLE9f Tk9OQkxPQ0t8MHgyKQkJCSA9IDAgKDB4MCkKaXNzZXR1Z2lkKDB4ODAwZDE0NjY4LDB4MCww eDgwMjAxZWJjMCwweDgwMjA3MzAwMCwweDgwMGQwMjNhMCwweDgwMjA3MzA4MCkgPSAwICgw eDApCnNvY2tldChQRl9MT0NBTCxTT0NLX1NUUkVBTSwwKQkJCSA9IDUgKDB4NSkKY29ubmVj dCg1LHsgQUZfVU5JWCAiL3RtcC90bXV4LTEwMDEvZGVmYXVsdCIgfSwyNCkgRVJSIzYxICdD b25uZWN0aW9uIHJlZnVzZWQnCnN0YXQoIi91c3Ivc2hhcmUvbmxzL0MvbGliYy5jYXQiLDB4 N2ZmZmZmZmZkY2Q4KSBFUlIjMiAnTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeScKc3RhdCgi L3Vzci9zaGFyZS9ubHMvbGliYy9DIiwweDdmZmZmZmZmZGNkOCkJIEVSUiMyICdObyBzdWNo IGZpbGUgb3IgZGlyZWN0b3J5JwpzdGF0KCIvdXNyL2xvY2FsL3NoYXJlL25scy9DL2xpYmMu Y2F0IiwweDdmZmZmZmZmZGNkOCkgRVJSIzIgJ05vIHN1Y2ggZmlsZSBvciBkaXJlY3Rvcnkn CnN0YXQoIi91c3IvbG9jYWwvc2hhcmUvbmxzL2xpYmMvQyIsMHg3ZmZmZmZmZmRjZDgpIEVS UiMyICdObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5JwpjbG9zZSg1KQkJCQkJID0gMCAoMHgw KQpvcGVuKCIvdG1wL3RtdXgtMTAwMS9kZWZhdWx0LmxvY2siLE9fV1JPTkxZfE9fQ1JFQVQs MDYwMCkgPSA1ICgweDUpCmZsb2NrKDB4NSwweDYsMHgxODAsMHg0NGI3YTQsMHg4MDFiZGJm NzMsMHg4MDgwODA4MDgwODA4MDgwKSA9IDAgKDB4MCkKc29ja2V0KFBGX0xPQ0FMLFNPQ0tf U1RSRUFNLDApCQkJID0gNiAoMHg2KQpjb25uZWN0KDYseyBBRl9VTklYICIvdG1wL3RtdXgt MTAwMS9kZWZhdWx0IiB9LDI0KSBFUlIjNjEgJ0Nvbm5lY3Rpb24gcmVmdXNlZCcKY2xvc2Uo NikJCQkJCSA9IDAgKDB4MCkKdW5saW5rKCIvdG1wL3RtdXgtMTAwMS9kZWZhdWx0IikJCSA9 IDAgKDB4MCkKc29ja2V0cGFpcigweDEsMHgxLDB4MCwweDdmZmZmZmZmZTFmOCwweDEwMTAx MDEwMTAxMDEwMSwweDgwODA4MDgwODA4MDgwODApID0gMCAoMHgwKQpmb3JrKCkJCQkJCQkg PSAxOTA2OCAoMHg0YTdjKQpjbG9zZSg3KQkJCQkJID0gMCAoMHgwKQpjbG9zZSg1KQkJCQkJ ID0gMCAoMHgwKQpmY250bCg2LEZfR0VURkwsKQkJCQkgPSAyICgweDIpCmZjbnRsKDYsRl9T RVRGTCxPX05PTkJMT0NLfDB4MikJCQkgPSAwICgweDApCmdldHBpZCgpCQkJCQkgPSAxOTA2 NyAoMHg0YTdiKQpfX3N5c2N0bCgweDdmZmZmZmZmZTI3MCwweDQsMHgwLDB4MCwweDgwMjAy OTgwMCwweDI2KSA9IDAgKDB4MCkKZ2V0cGlkKCkJCQkJCSA9IDE5MDY3ICgweDRhN2IpCmZj bnRsKDAsRl9HRVRGTCwpCQkJCSA9IDIgKDB4MikKZmNudGwoMCxGX1NFVEZMLE9fTk9OQkxP Q0t8MHgyKQkJCSA9IDAgKDB4MCkKc2lnYWN0aW9uKFNJR0lOVCx7IFNJR19JR04gU0FfUkVT VEFSVCBzc190IH0sMHgwKSA9IDAgKDB4MCkKc2lnYWN0aW9uKFNJR1BJUEUseyBTSUdfSUdO IFNBX1JFU1RBUlQgc3NfdCB9LDB4MCkgPSAwICgweDApCnNpZ2FjdGlvbihTSUdVU1IyLHsg U0lHX0lHTiBTQV9SRVNUQVJUIHNzX3QgfSwweDApID0gMCAoMHgwKQpzaWdhY3Rpb24oU0lH VFNUUCx7IFNJR19JR04gU0FfUkVTVEFSVCBzc190IH0sMHgwKSA9IDAgKDB4MCkKc2lnYWN0 aW9uKFNJR0hVUCx7IDB4ODAwZDAyYTQwIFNBX1JFU1RBUlQgc3NfdCB9LHsgU0lHX0RGTCAw eDAgc3NfdCB9KSA9IDAgKDB4MCkKc2lnYWN0aW9uKFNJR0NITEQseyAweDgwMGQwMmE0MCBT QV9SRVNUQVJUIHNzX3QgfSx7IFNJR19ERkwgMHgwIHNzX3QgfSkgPSAwICgweDApCnNpZ2Fj dGlvbihTSUdDT05ULHsgMHg4MDBkMDJhNDAgU0FfUkVTVEFSVCBzc190IH0seyBTSUdfREZM IFNBX1JFU1RBUlQgc3NfdCB9KSA9IDAgKDB4MCkKc2lnYWN0aW9uKFNJR1RFUk0seyAweDgw MGQwMmE0MCBTQV9SRVNUQVJUIHNzX3QgfSx7IFNJR19ERkwgU0FfUkVTVEFSVCBzc190IH0p ID0gMCAoMHgwKQpzaWdhY3Rpb24oU0lHVVNSMSx7IDB4ODAwZDAyYTQwIFNBX1JFU1RBUlQg c3NfdCB9LHsgU0lHX0RGTCBTQV9SRVNUQVJUIHNzX3QgfSkgPSAwICgweDApCnNpZ2FjdGlv bihTSUdXSU5DSCx7IDB4ODAwZDAyYTQwIFNBX1JFU1RBUlQgc3NfdCB9LHsgU0lHX0RGTCAw eDAgc3NfdCB9KSA9IDAgKDB4MCkKaW9jdGwoMCxUSU9DR0VUQSwweGZmZmZlMjQwKQkJCSA9 IDAgKDB4MCkKaW9jdGwoMCxGSU9ER05BTUUsMHhmZmZmZTI2MCkJCQkgPSAwICgweDApCm9w ZW4oIi4iLE9fUkRPTkxZLDAwKQkJCQkgPSA1ICgweDUpCmR1cCgweDAsMHg4MDIwMTYxYzAs MHgwLDB4MTAsMHhmZmZmODAwODAyMDIzM2E4LDB4ODAyMDIxMDEwKSA9IDcgKDB4NykKcG9s bCh7NC9QT0xMSU4gNi9QT0xMSU58UE9MTE9VVH0sMiwtMSkJCSA9IDEgKDB4MSkKc2VuZG1z ZygweDYsMHg3ZmZmZmZmZmExODAsMHgwLDB4NSwweDQwMDAsMHg4MDBmMjAxMzApID0gOTQg KDB4NWUpCmNsb3NlKDUpCQkJCQkgPSAwICgweDApCnBvbGwoezQvUE9MTElOIDYvUE9MTElO fFBPTExPVVR9LDIsLTEpCQkgPSAxICgweDEpCnNlbmRtc2coMHg2LDB4N2ZmZmZmZmZhMTgw LDB4MCwweDcsMHg0MDAwLDB4ODAwZjIwMTMwKSA9IDE2ICgweDEwKQpjbG9zZSg3KQkJCQkJ ID0gMCAoMHgwKQpwb2xsKHs0L1BPTExJTiA2L1BPTExJTnxQT0xMT1VUfSwyLC0xKQkJID0g MSAoMHgxKQpzZW5kbXNnKDB4NiwweDdmZmZmZmZmYTE4MCwweDAsMHg3ZmZmZmZmZmEzYzgs MHg0MDAwLDB4ODAwZjIwMTMwKSA9IDE0NDYgKDB4NWE2KQpwb2xsKHs0L1BPTExJTiA2L1BP TExJTn0sMiwtMSkJCQkgPSAxICgweDEpCnNvY2tldChQRl9JTkVULFNPQ0tfREdSQU0sMCkJ CQkgRVJSIzQzICdQcm90b2NvbCBub3Qgc3VwcG9ydGVkJwpwb2xsKHs0L1BPTExJTn0sMSww KQkJCQkgPSAwICgweDApCmZjbnRsKDAsRl9HRVRGTCwpCQkJCSA9IDYgKDB4NikKZmNudGwo MCxGX1NFVEZMLDB4MikJCQkJID0gMCAoMHgwKQpwcm9jZXNzIGV4aXQsIHJ2YWwgPSAxCg== --------------090805090001050005030609--