X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from mail-in-05.arcor-online.net (mail-in-05.arcor-online.net [151.189.21.45]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mail.alpinelinux.org (Postfix) with ESMTPS id 6860ADC1360 for ; Sat, 7 Apr 2012 20:32:36 +0000 (UTC) Received: from mail-in-12-z2.arcor-online.net (mail-in-12-z2.arcor-online.net [151.189.8.29]) by mx.arcor.de (Postfix) with ESMTP id CC2E9E3971 for ; Sat, 7 Apr 2012 22:32:34 +0200 (CEST) Received: from mail-in-12.arcor-online.net (mail-in-12.arcor-online.net [151.189.21.52]) by mail-in-12-z2.arcor-online.net (Postfix) with ESMTP id B7CB31DF159 for ; Sat, 7 Apr 2012 22:32:34 +0200 (CEST) Received: from [192.168.6.209] (85-127-182-57.dynamic.xdsl-line.inode.at [85.127.182.57]) (Authenticated sender: panthera.tigris@arcor.de) by mail-in-12.arcor-online.net (Postfix) with ESMTPA id 37AF1263C7 for ; Sat, 7 Apr 2012 22:32:34 +0200 (CEST) X-DKIM: Sendmail DKIM Filter v2.8.2 mail-in-12.arcor-online.net 37AF1263C7 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arcor.de; s=mail-in; t=1333830754; bh=+AWx9zHqKPH/S+OMwanZ4Ztc9tbYy5S4d07Rl4psy5U=; h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type; b=M2Zi56C2DRQsgKY/XZ404hz6Q/LgQ+fFtMdiWdaG3RAZUxLvtJDxrHbkQIASpwqtC V7RWobWBGlXgVSs+twIDnho0MEkbSOLiCU0F7PZqzMXFoqrP1m7GMdfZxLRzXulrx1 1zJm455gSMWZJ4OBNTamkjwqCOATBUxZ3z9Vvnao= Message-ID: <4F80A461.7000404@arcor.de> Date: Sat, 07 Apr 2012 22:32:33 +0200 From: Der Tiger User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120329 Thunderbird/11.0.1 X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 To: "alpine-devel@lists.alpinelinux.org" Subject: [alpine-devel] Packet forwarding doesn't work (or I'm a too stupid) Content-Type: multipart/alternative; boundary="------------070409030608030802060404" This is a multi-part message in MIME format. --------------070409030608030802060404 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi, I'm at a total loss. I've completely set up my Alpine based router, only to discover, it doesn't forward packets. This behaviour is verified on a physical machine and a VirtualBox machine with two NICs, each. [PC 192.168.2.1] | [eth1:192.168.2.254 | Alpine | eth0:192.168.1.1] | [Modem 192.168.1.254] I've: 1) booted the most recent Alpine ISO image and logged in as root 2) apk add iptables 3) ip link set up eth0 4) ip link set up eth1 5) ip address add 192.168.1.1/24 dev eth0 6) ip address add 192.168.2.254/24 dev eth1 7) ip route add default via 192.168.1.254 dev eth0 which results in: ##>iptables -S -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT ##>iptables -t nat -S -P PREROUTING ACCEPT -P POSTROUTING ACCEPT -P OUTPUT ACCEPT ##>ip route show default via 192.168.1.254 dev eth0 192.168.2.0/24 dev eth1 src 192.168.2.254 192.168.1.0/24 dev eth0 src 192.168.1.1 Whatever I try, I can't ping 192.168.1.254 (connected to eth0 of the router) from the pc 192.168.2.1 (connected to eth1 of the router). Pinging both, the pc and the modem, from the router works perfectly. The pc can, of course, ping the router at 192.168.2.254 and even the remote interface at 192.168.1.1, but not the modem at 192.168.1.254. Packet logging does neither show outgoing, nor incoming packets rejected or dropped. Later on,I've installed Privoxy, dhcpcd (for eth0), BIND and other daemons on the physical router. All traffic originating from the router, e.g. dhcpcd and BIND, adds to the packet count in the OUTPUT chain of iptables' filter table and reaches it's destination. All HTTP traffic passing through Privoxy adds to both, the INPUT and the OUTPUT chains, while HTTPS traffic cannot be digested by Privoxy and should therefore be bypassing Privoxy through the FORWARD chain. But while I'm sure the corresponding nat and filter rules are working, there are no packets registered passing through the FORWARD chain. Whatever protocol (HTTPS,FTP,POP3) is send, all packet counters remain zero and no connections are established.It looks like the packets are dropped, somewhere. My reference is another Linux router with 2.16.x kernel, where I extracted those long-term tested and optimized iptables rules from. I also made sure the same kernel modules are loaded on both routers. While the 2.16.x kernel router forwards packets as expected, the Alpine router does not. I've already spent days trying to figure out, what's wrong. Meanwhile I ran out of things to check, so I'd really appreciate if anybody would make any suggestions! The www search didn't yield results, either. Has anyone had any similar behaviour? Does packet forwarding generally work on all of your Alpine systems? Am I just totally off? 8-/ Thanks for your help, Tiger ##>iptables-save # Generated by iptables-save v1.4.12.1 on Fri Apr 6 23:13:23 2012 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] :fw-drp-log - [0:0] :fw-rej - [0:0] :fw-rej-fin - [0:0] :fw-rej-log - [0:0] :fw-www-acc - [0:0] :in-dhcpd - [0:0] :in-drp-log - [0:0] :in-icmp - [0:0] :in-rej - [0:0] :in-rej-fin - [0:0] :in-rej-log - [0:0] [0:0] -A INPUT -p icmp -m comment --comment ICMP -j in-icmp [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -m comment --comment "RELATED,ESTABLISHED" -j ACCEPT [0:0] -A INPUT -i lo -m comment --comment "Local Traffic" -j ACCEPT [0:0] -A INPUT -s 127.0.0.1/32 -m state --state NEW -m comment --comment "Local Traffic" -j DROP [0:0] -A INPUT -d 127.0.0.1/32 -m state --state NEW -m comment --comment "Local Traffic" -j DROP [0:0] -A INPUT -s 192.168.2.0/24 -m comment --comment "LAN Traffic" -j ACCEPT [0:0] -A INPUT -s 192.168.3.0/24 -m comment --comment "VoIP Traffic" -j ACCEPT [0:0] -A INPUT -p tcp -m tcp --dport 2222 -m comment --comment SSH -j ACCEPT [0:0] -A INPUT -i eth1 -p udp -m comment --comment DHCP -m udp --dport 67 -j ACCEPT [0:0] -A INPUT -s 192.168.1.254/32 -p udp -m udp --dport 5060 -m comment --comment "SIP from Modem" -j ACCEPT [0:0] -A INPUT -p udp -m udp --dport 17000:17031 -m comment --comment RTP -j ACCEPT [0:0] -A INPUT -j DROP [0:0] -A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu [0:0] -A FORWARD -m state --state RELATED,ESTABLISHED -m comment --comment "RELATED,ESTABLISHED" -j ACCEPT [0:0] -A FORWARD -s 127.0.0.1/32 -m state --state NEW -m comment --comment "Drop Local Traffic" -j fw-drp-log [0:0] -A FORWARD -d 127.0.0.1/32 -m state --state NEW -m comment --comment "Drop Local Traffic" -j fw-drp-log [0:0] -A FORWARD -p tcp -m tcp --dport 139 -m comment --comment "Drop NETBIOS/Samba" -j DROP [0:0] -A FORWARD -p tcp -m tcp --dport 445 -m comment --comment "Drop NETBIOS/Samba" -j DROP [0:0] -A FORWARD -p udp -m udp --dport 137:138 -m comment --comment "Drop NETBIOS/Samba" -j DROP [0:0] -A FORWARD -p tcp -m tcp --dport 80 -m comment --comment "Reject unsoliceted HTTP" -j fw-rej-log [0:0] -A FORWARD -p udp -m udp --dport 53 -m comment --comment "Reject unsoliceted DNS" -j fw-rej-log [0:0] -A FORWARD -j fw-www-acc [0:0] -A FORWARD -j fw-rej-log [0:0] -A OUTPUT -o ppp0 -j ACCEPT [0:0] -A OUTPUT -o eth0 -j ACCEPT [0:0] -A OUTPUT -o eth1 -j ACCEPT [0:0] -A fw-drp-log -m limit --limit 1/sec --limit-burst 3 -j LOG --log-prefix "fw-forward-drop " [0:0] -A fw-drp-log -j DROP [0:0] -A fw-rej -p udp -m limit --limit 1/sec --limit-burst 3 -j fw-rej-fin [0:0] -A fw-rej ! -p udp -m limit --limit 1/sec --limit-burst 3 -j fw-rej-fin [0:0] -A fw-rej -j DROP [0:0] -A fw-rej-fin ! -p icmp -j REJECT --reject-with icmp-admin-prohibited [0:0] -A fw-rej-fin -j DROP [0:0] -A fw-rej-log -m limit --limit 1/sec --limit-burst 3 -j LOG --log-prefix "fw-forward-reject " [0:0] -A fw-rej-log -j fw-rej [0:0] -A fw-www-acc -s 192.168.2.128/25 -m comment --comment "Solicited LAN Outbound" -j ACCEPT [0:0] -A fw-www-acc -s 192.168.3.128/25 -m comment --comment "Solicited VoIP Outbound" -j ACCEPT [0:0] -A in-dhcpd -i eth1 -m comment --comment "Accept eth1" -j ACCEPT [0:0] -A in-dhcpd -j DROP [0:0] -A in-drp-log -m limit --limit 1/sec --limit-burst 3 -j LOG --log-prefix "fw-input-drop " [0:0] -A in-drp-log -j DROP [0:0] -A in-icmp -p icmp -m icmp --icmp-type 8 -m length --length 0:100 -m limit --limit 1/sec -m comment --comment "Ping Limit 1/sec" -j ACCEPT [0:0] -A in-icmp -m state --state RELATED -m comment --comment RELATED -j ACCEPT [0:0] -A in-rej -p udp -m limit --limit 1/sec --limit-burst 3 -j in-rej-fin [0:0] -A in-rej ! -p udp -m limit --limit 1/sec --limit-burst 3 -j in-rej-fin [0:0] -A in-rej -j DROP [0:0] -A in-rej-fin -p tcp -j REJECT --reject-with tcp-reset [0:0] -A in-rej-fin -p udp -j REJECT --reject-with icmp-port-unreachable [0:0] -A in-rej-fin ! -p icmp -j REJECT --reject-with icmp-proto-unreachable [0:0] -A in-rej-fin -j DROP [0:0] -A in-rej-log -m limit --limit 1/sec --limit-burst 3 -j LOG --log-prefix "fw-input-reject " [0:0] -A in-rej-log -j in-rej COMMIT # Completed on Fri Apr 6 23:13:23 2012 # Generated by iptables-save v1.4.12.1 on Fri Apr 6 23:13:23 2012 *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :post-out-ovpn - [0:0] :pre-in-dns - [0:0] :pre-in-privoxy - [0:0] [0:0] -A PREROUTING -p udp -m comment --comment "DNS Redirect" -m udp --dport 53 -j pre-in-dns [0:0] -A PREROUTING -p tcp -m comment --comment "Privoxy Redirect" -m tcp --dport 80 -j pre-in-privoxy [0:0] -A POSTROUTING -s 192.168.0.0/16 -m comment --comment Masquerading -j MASQUERADE [0:0] -A pre-in-dns -s 192.168.0.0/16 -p udp -m comment --comment "Force DNS thru BIND" -j REDIRECT --to-ports 53 [0:0] -A pre-in-privoxy -s 192.168.0.0/16 -p tcp -m comment --comment "Privoxy HTTP Redirect" -j REDIRECT --to-ports 8081 COMMIT # Completed on Fri Apr 6 23:13:23 2012 # Generated by iptables-save v1.4.12.1 on Fri Apr 6 23:13:23 2012 *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] COMMIT # Completed on Fri Apr 6 23:13:23 2012 ##>lsmod Module Size Used by Not tainted iptable_mangle 1470 0 ipt_REDIRECT 1133 2 ipt_MASQUERADE 1576 1 iptable_nat 3590 1 nf_nat 13271 3 ipt_REDIRECT,ipt_MASQUERADE,iptable_nat xt_length 1194 1 ipt_REJECT 2087 4 ipt_LOG 6324 4 xt_limit 1976 9 xt_TCPMSS 3037 1 xt_tcpudp 2301 12 nf_conntrack_ipv4 10348 10 iptable_nat,nf_nat nf_defrag_ipv4 1305 1 nf_conntrack_ipv4 xt_state 1197 7 nf_conntrack 51077 5 ipt_MASQUERADE,iptable_nat,nf_nat,nf_conntrack_ipv4,xt_state xt_comment 945 29 iptable_filter 1398 1 ip_tables 18588 3 iptable_mangle,iptable_nat,iptable_filter x_tables 15642 14 iptable_mangle,ipt_REDIRECT,ipt_MASQUERADE,iptable_nat,xt_length,ipt_REJECT,ipt_LOG,xt_limit,xt_TCPMSS,xt_tcpudp,xt_state,xt_comment,iptable_filter,ip_tables pppoe 9200 0 pppox 1680 1 pppoe ppp_generic 22543 2 pppoe,pppox slhc 3905 1 ppp_generic ipv6 274324 26 af_packet 20808 2 evdev 10176 7 usbhid 15727 0 hid 72924 1 usbhid usbkbd 4222 0 serio_raw 3824 0 psmouse 33674 0 pcspkr 1761 0 i2c_i801 7356 0 i2c_core 16104 1 i2c_i801 snd_hda_codec_realtek 273890 1 snd_hda_intel 18741 0 snd_hda_codec 55393 2 snd_hda_codec_realtek,snd_hda_intel snd_hwdep 5900 1 snd_hda_codec snd_pcm 61650 2 snd_hda_intel,snd_hda_codec snd_timer 18580 1 snd_pcm snd 53957 6 snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer soundcore 4489 1 snd snd_page_alloc 6391 2 snd_hda_intel,snd_pcm shpchp 22100 0 pci_hotplug 20196 1 shpchp iTCO_wdt 12227 0 iTCO_vendor_support 1778 1 iTCO_wdt e1000e 118081 0 r8169 34717 0 firmware_class 5345 1 r8169 mii 3339 1 r8169 video 10919 0 backlight 3814 1 video button 4332 0 processor 23414 0 ehci_hcd 32356 0 uhci_hcd 18888 0 ahci 20207 0 libahci 16233 1 ahci libata 146299 2 ahci,libahci loop 14314 0 ext4 226545 2 mbcache 4595 1 ext4 jbd2 46759 1 ext4 crc16 1247 1 ext4 usb_storage 32709 2 usb_libusual 10254 1 usb_storage usbcore 121728 7 usbhid,usbkbd,ehci_hcd,uhci_hcd,usb_storage,usb_libusual sd_mod 23519 3 scsi_mod 84453 3 libata,usb_storage,sd_mod ##>ip6tables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination --------------070409030608030802060404 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQogIDxoZWFkPg0KICAgIDxtZXRhIGh0dHAtZXF1aXY9ImNvbnRlbnQtdHlwZSIgY29u dGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4NCiAgPC9oZWFkPg0KICA8Ym9keSBiZ2Nv bG9yPSIjRkZGRkZGIiB0ZXh0PSIjMDAwMDAwIj4NCiAgICA8dHQ+IEhpLDxicj4NCiAgICAgIDxi cj4NCiAgICAgIEknbSBhdCBhIHRvdGFsIGxvc3MuIEkndmUgY29tcGxldGVseSBzZXQgdXAgbXkg QWxwaW5lIGJhc2VkDQogICAgICByb3V0ZXIsIG9ubHkgdG8gZGlzY292ZXIsIGl0IGRvZXNuJ3Qg Zm9yd2FyZCBwYWNrZXRzLiBUaGlzDQogICAgICBiZWhhdmlvdXIgaXMgdmVyaWZpZWQgb24gYSBw aHlzaWNhbCBtYWNoaW5lIGFuZCBhIFZpcnR1YWxCb3gNCiAgICAgIG1hY2hpbmUgd2l0aCB0d28g TklDcywgZWFjaC48L3R0PiA8dHQ+PGJyPg0KICAgICAgPGJyPg0KICAgIDwvdHQ+IDx0dD4gwqAg W1BDIDE5Mi4xNjguMi4xXTxicj4NCiAgICAgIMKgwqDCoMKgIHw8YnI+DQogICAgICDCoCBbZXRo MToxOTIuMTY4LjIuMjU0IHwgQWxwaW5lIHwgZXRoMDoxOTIuMTY4LjEuMV08YnI+DQogICAgICDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB8PGJyPg0KICAgICAgwqAgwqAgwqDCoCDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgW01vZGVtIDE5Mi4xNjguMS4yNTRdPGJyPg0KICAgICAgPGJy Pg0KICAgICAgSSd2ZTo8L3R0PiA8dHQ+PGJyPg0KICAgICAgPGJyPg0KICAgICAgMSkgYm9vdGVk IHRoZSBtb3N0IHJlY2VudCBBbHBpbmUgSVNPIGltYWdlIGFuZCBsb2dnZWQgaW4gYXMgcm9vdDwv dHQ+DQogICAgPHR0Pjxicj4NCiAgICAgIDIpIGFwayBhZGQgaXB0YWJsZXM8YnI+DQogICAgICAz KSBpcCBsaW5rIHNldCB1cCBldGgwPGJyPg0KICAgICAgNCkgaXAgbGluayBzZXQgdXAgZXRoMTxi cj4NCiAgICAgIDUpIGlwIGFkZHJlc3MgYWRkIDE5Mi4xNjguMS4xLzI0IGRldiBldGgwPGJyPg0K ICAgICAgNikgaXAgYWRkcmVzcyBhZGQgMTkyLjE2OC4yLjI1NC8yNCBkZXYgZXRoMTxicj4NCiAg ICAgIDcpIGlwIHJvdXRlIGFkZCBkZWZhdWx0IHZpYSAxOTIuMTY4LjEuMjU0IGRldiBldGgwPGJy Pg0KICAgICAgPGJyPg0KICAgICAgd2hpY2ggcmVzdWx0cyBpbjo8L3R0PiA8dHQ+PGJyPg0KICAg ICAgPGJyPg0KICAgICAgIyMmZ3Q7aXB0YWJsZXMgLVM8L3R0PiA8dHQ+PGJyPg0KICAgICAgLVAg SU5QVVQgQUNDRVBUPGJyPg0KICAgICAgLVAgRk9SV0FSRCBBQ0NFUFQ8YnI+DQogICAgICAtUCBP VVRQVVQgQUNDRVBUIDxicj4NCiAgICAgICMjJmd0O2lwdGFibGVzIC10IG5hdCAtUzxicj4NCiAg ICAgIC1QIFBSRVJPVVRJTkcgQUNDRVBUPGJyPg0KICAgICAgLVAgUE9TVFJPVVRJTkcgQUNDRVBU PGJyPg0KICAgICAgLVAgT1VUUFVUIEFDQ0VQVDxicj4NCiAgICAgICMjJmd0O2lwIHJvdXRlIHNo b3c8YnI+DQogICAgICBkZWZhdWx0IHZpYSAxOTIuMTY4LjEuMjU0IGRldiBldGgwPGJyPg0KICAg ICAgMTkyLjE2OC4yLjAvMjQgZGV2IGV0aDEgc3JjIDE5Mi4xNjguMi4yNTQgPGJyPg0KICAgICAg MTkyLjE2OC4xLjAvMjQgZGV2IGV0aDAgc3JjIDE5Mi4xNjguMS4xPGJyPg0KICAgIDwvdHQ+DQog ICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo YXJzZXQ9VVRGLTgiPg0KICAgIDx0dD48YnI+DQogICAgICBXaGF0ZXZlciBJIHRyeSwgSSBjYW4n dCBwaW5nIDE5Mi4xNjguMS4yNTQgKGNvbm5lY3RlZCB0byBldGgwIG9mDQogICAgICB0aGUgcm91 dGVyKSBmcm9tIHRoZSBwYyAxOTIuMTY4LjIuMSAoY29ubmVjdGVkIHRvIGV0aDEgb2YgdGhlDQog ICAgICByb3V0ZXIpLiBQaW5naW5nIGJvdGgsIHRoZSBwYyBhbmQgdGhlIG1vZGVtLCBmcm9tIHRo ZSByb3V0ZXIgd29ya3MNCiAgICAgIHBlcmZlY3RseS4gVGhlIHBjIGNhbiwgb2YgY291cnNlLCBw aW5nIHRoZSByb3V0ZXIgYXQgMTkyLjE2OC4yLjI1NA0KICAgICAgYW5kIGV2ZW4gdGhlIHJlbW90 ZSBpbnRlcmZhY2UgYXQgMTkyLjE2OC4xLjEsIGJ1dCBub3QgdGhlIG1vZGVtIGF0DQogICAgICAx OTIuMTY4LjEuMjU0LiBQYWNrZXQgbG9nZ2luZyBkb2VzIG5laXRoZXIgc2hvdyBvdXRnb2luZywg bm9yDQogICAgICBpbmNvbWluZyBwYWNrZXRzIHJlamVjdGVkIG9yIGRyb3BwZWQuPGJyPg0KICAg ICAgPGJyPg0KICAgIDwvdHQ+PHR0PkxhdGVyIG9uLDwvdHQ+PHR0PiBJJ3ZlIGluc3RhbGxlZCBQ cml2b3h5LCBkaGNwY2QgKGZvcg0KICAgICAgZXRoMCksIEJJTkQgYW5kIG90aGVyIGRhZW1vbnMg PC90dD48dHQ+b24gdGhlIHBoeXNpY2FsIHJvdXRlcjwvdHQ+PHR0Pi4NCiAgICAgIEFsbCB0cmFm ZmljIG9yaWdpbmF0aW5nIGZyb20gdGhlIHJvdXRlciwgZS5nLiBkaGNwY2QgYW5kIEJJTkQsDQog ICAgICBhZGRzIHRvIHRoZSBwYWNrZXQgY291bnQgaW4gdGhlIE9VVFBVVCBjaGFpbiBvZiBpcHRh YmxlcycgZmlsdGVyDQogICAgICB0YWJsZSBhbmQgcmVhY2hlcyBpdCdzIGRlc3RpbmF0aW9uLiBB bGwgSFRUUCB0cmFmZmljIHBhc3NpbmcNCiAgICAgIHRocm91Z2ggUHJpdm94eSBhZGRzIHRvIGJv dGgsIHRoZSBJTlBVVCBhbmQgdGhlIE9VVFBVVCBjaGFpbnMsDQogICAgICB3aGlsZSBIVFRQUyB0 cmFmZmljIGNhbm5vdCBiZSBkaWdlc3RlZCBieSBQcml2b3h5IGFuZCBzaG91bGQNCiAgICAgIHRo ZXJlZm9yZSBiZSBieXBhc3NpbmcgUHJpdm94eSB0aHJvdWdoIHRoZSBGT1JXQVJEIGNoYWluLiBC dXQNCiAgICAgIHdoaWxlIEknbSBzdXJlIHRoZSBjb3JyZXNwb25kaW5nIG5hdCBhbmQgZmlsdGVy IHJ1bGVzIGFyZSB3b3JraW5nLA0KICAgICAgdGhlcmUgYXJlIG5vIHBhY2tldHMgcmVnaXN0ZXJl ZCBwYXNzaW5nIHRocm91Z2ggdGhlIEZPUldBUkQgY2hhaW4uDQogICAgICBXaGF0ZXZlciBwcm90 b2NvbCAoSFRUUFMsRlRQLFBPUDMpIGlzIHNlbmQsIGFsbCBwYWNrZXQgY291bnRlcnMNCiAgICAg IHJlbWFpbiB6ZXJvIGFuZCBubyBjb25uZWN0aW9ucyBhcmUgZXN0YWJsaXNoZWQuPC90dD48dHQ+ IEl0IGxvb2tzDQogICAgICBsaWtlIHRoZSBwYWNrZXRzIGFyZSBkcm9wcGVkLCBzb21ld2hlcmUu PGJyPg0KICAgICAgPGJyPg0KICAgICAgTXkgcmVmZXJlbmNlIGlzIGFub3RoZXIgTGludXggcm91 dGVyIHdpdGggMi4xNi54IGtlcm5lbCwgd2hlcmUgSQ0KICAgICAgZXh0cmFjdGVkIHRob3NlIGxv bmctdGVybSB0ZXN0ZWQgYW5kIG9wdGltaXplZCBpcHRhYmxlcyBydWxlcw0KICAgICAgZnJvbS4g SSBhbHNvIG1hZGUgc3VyZSB0aGUgc2FtZSBrZXJuZWwgbW9kdWxlcyBhcmUgbG9hZGVkIG9uIGJv dGgNCiAgICAgIHJvdXRlcnMuIFdoaWxlIHRoZSAyLjE2Lngga2VybmVsIHJvdXRlciBmb3J3YXJk cyBwYWNrZXRzIGFzDQogICAgICBleHBlY3RlZCwgdGhlIEFscGluZSByb3V0ZXIgZG9lcyBub3Qu PC90dD4gPHR0Pjxicj4NCiAgICAgIDxicj4NCiAgICAgIEkndmUgYWxyZWFkeSBzcGVudCBkYXlz IHRyeWluZyB0byBmaWd1cmUgb3V0LCB3aGF0J3Mgd3JvbmcuDQogICAgICBNZWFud2hpbGUgSSBy YW4gb3V0IG9mIHRoaW5ncyB0byBjaGVjaywgc28gSSdkIHJlYWxseSBhcHByZWNpYXRlDQogICAg ICBpZiBhbnlib2R5IHdvdWxkIG1ha2UgYW55IHN1Z2dlc3Rpb25zITwvdHQ+IDx0dD5UaGUgd3d3 IHNlYXJjaA0KICAgICAgZGlkbid0IHlpZWxkIHJlc3VsdHMsIGVpdGhlci48YnI+DQogICAgICA8 YnI+DQogICAgICBIYXMgYW55b25lIGhhZCBhbnkgc2ltaWxhciBiZWhhdmlvdXI/IERvZXMgcGFj a2V0IGZvcndhcmRpbmcNCiAgICAgIGdlbmVyYWxseSB3b3JrIG9uIGFsbCBvZiB5b3VyIEFscGlu ZSBzeXN0ZW1zPyBBbSBJIGp1c3QgdG90YWxseQ0KICAgICAgb2ZmPyA4LS88L3R0PiA8dHQ+PGJy Pg0KICAgICAgPGJyPg0KICAgICAgVGhhbmtzIGZvciB5b3VyIGhlbHAsIFRpZ2VyPC90dD4gPHR0 Pjxicj4NCiAgICAgIDxicj4NCiAgICAgICMjJmd0O2lwdGFibGVzLXNhdmU8L3R0PiA8dHQ+PGJy Pg0KICAgICAgIyBHZW5lcmF0ZWQgYnkgaXB0YWJsZXMtc2F2ZSB2MS40LjEyLjEgb24gRnJpIEFw csKgIDYgMjM6MTM6MjMgMjAxMjxicj4NCiAgICAgICpmaWx0ZXI8YnI+DQogICAgICA6SU5QVVQg RFJPUCBbMDowXTxicj4NCiAgICAgIDpGT1JXQVJEIERST1AgWzA6MF08YnI+DQogICAgICA6T1VU UFVUIEFDQ0VQVCBbMDowXTxicj4NCiAgICAgIDpmdy1kcnAtbG9nIC0gWzA6MF08YnI+DQogICAg ICA6ZnctcmVqIC0gWzA6MF08YnI+DQogICAgICA6ZnctcmVqLWZpbiAtIFswOjBdPGJyPg0KICAg ICAgOmZ3LXJlai1sb2cgLSBbMDowXTxicj4NCiAgICAgIDpmdy13d3ctYWNjIC0gWzA6MF08YnI+ DQogICAgICA6aW4tZGhjcGQgLSBbMDowXTxicj4NCiAgICAgIDppbi1kcnAtbG9nIC0gWzA6MF08 YnI+DQogICAgICA6aW4taWNtcCAtIFswOjBdPGJyPg0KICAgICAgOmluLXJlaiAtIFswOjBdPGJy Pg0KICAgICAgOmluLXJlai1maW4gLSBbMDowXTxicj4NCiAgICAgIDppbi1yZWotbG9nIC0gWzA6 MF08YnI+DQogICAgICBbMDowXSAtQSBJTlBVVCAtcCBpY21wIC1tIGNvbW1lbnQgLS1jb21tZW50 IElDTVAgLWogaW4taWNtcDxicj4NCiAgICAgIFswOjBdIC1BIElOUFVUIC1tIHN0YXRlIC0tc3Rh dGUgUkVMQVRFRCxFU1RBQkxJU0hFRCAtbSBjb21tZW50DQogICAgICAtLWNvbW1lbnQgIlJFTEFU RUQsRVNUQUJMSVNIRUQiIC1qIEFDQ0VQVDxicj4NCiAgICAgIFswOjBdIC1BIElOUFVUIC1pIGxv IC1tIGNvbW1lbnQgLS1jb21tZW50ICJMb2NhbCBUcmFmZmljIiAtag0KICAgICAgQUNDRVBUPGJy Pg0KICAgICAgWzA6MF0gLUEgSU5QVVQgLXMgMTI3LjAuMC4xLzMyIC1tIHN0YXRlIC0tc3RhdGUg TkVXIC1tIGNvbW1lbnQNCiAgICAgIC0tY29tbWVudCAiTG9jYWwgVHJhZmZpYyIgLWogRFJPUDxi cj4NCiAgICAgIFswOjBdIC1BIElOUFVUIC1kIDEyNy4wLjAuMS8zMiAtbSBzdGF0ZSAtLXN0YXRl IE5FVyAtbSBjb21tZW50DQogICAgICAtLWNvbW1lbnQgIkxvY2FsIFRyYWZmaWMiIC1qIERST1A8 YnI+DQogICAgICBbMDowXSAtQSBJTlBVVCAtcyAxOTIuMTY4LjIuMC8yNCAtbSBjb21tZW50IC0t Y29tbWVudCAiTEFODQogICAgICBUcmFmZmljIiAtaiBBQ0NFUFQ8YnI+DQogICAgICBbMDowXSAt QSBJTlBVVCAtcyAxOTIuMTY4LjMuMC8yNCAtbSBjb21tZW50IC0tY29tbWVudCAiVm9JUA0KICAg ICAgVHJhZmZpYyIgLWogQUNDRVBUPGJyPg0KICAgICAgWzA6MF0gLUEgSU5QVVQgLXAgdGNwIC1t IHRjcCAtLWRwb3J0IDIyMjIgLW0gY29tbWVudCAtLWNvbW1lbnQgU1NIDQogICAgICAtaiBBQ0NF UFQ8YnI+DQogICAgICBbMDowXSAtQSBJTlBVVCAtaSBldGgxIC1wIHVkcCAtbSBjb21tZW50IC0t Y29tbWVudCBESENQIC1tIHVkcA0KICAgICAgLS1kcG9ydCA2NyAtaiBBQ0NFUFQ8YnI+DQogICAg ICBbMDowXSAtQSBJTlBVVCAtcyAxOTIuMTY4LjEuMjU0LzMyIC1wIHVkcCAtbSB1ZHAgLS1kcG9y dCA1MDYwIC1tDQogICAgICBjb21tZW50IC0tY29tbWVudCAiU0lQIGZyb20gTW9kZW0iIC1qIEFD Q0VQVDxicj4NCiAgICAgIFswOjBdIC1BIElOUFVUIC1wIHVkcCAtbSB1ZHAgLS1kcG9ydCAxNzAw MDoxNzAzMSAtbSBjb21tZW50DQogICAgICAtLWNvbW1lbnQgUlRQIC1qIEFDQ0VQVDxicj4NCiAg ICAgIFswOjBdIC1BIElOUFVUIC1qIERST1A8YnI+DQogICAgICBbMDowXSAtQSBGT1JXQVJEIC1v IHBwcDAgLXAgdGNwIC1tIHRjcCAtLXRjcC1mbGFncyBTWU4sUlNUIFNZTiAtag0KICAgICAgVENQ TVNTIC0tY2xhbXAtbXNzLXRvLXBtdHU8YnI+DQogICAgICBbMDowXSAtQSBGT1JXQVJEIC1tIHN0 YXRlIC0tc3RhdGUgUkVMQVRFRCxFU1RBQkxJU0hFRCAtbSBjb21tZW50DQogICAgICAtLWNvbW1l bnQgIlJFTEFURUQsRVNUQUJMSVNIRUQiIC1qIEFDQ0VQVDxicj4NCiAgICAgIFswOjBdIC1BIEZP UldBUkQgLXMgMTI3LjAuMC4xLzMyIC1tIHN0YXRlIC0tc3RhdGUgTkVXIC1tIGNvbW1lbnQNCiAg ICAgIC0tY29tbWVudCAiRHJvcCBMb2NhbCBUcmFmZmljIiAtaiBmdy1kcnAtbG9nPGJyPg0KICAg ICAgWzA6MF0gLUEgRk9SV0FSRCAtZCAxMjcuMC4wLjEvMzIgLW0gc3RhdGUgLS1zdGF0ZSBORVcg LW0gY29tbWVudA0KICAgICAgLS1jb21tZW50ICJEcm9wIExvY2FsIFRyYWZmaWMiIC1qIGZ3LWRy cC1sb2c8YnI+DQogICAgICBbMDowXSAtQSBGT1JXQVJEIC1wIHRjcCAtbSB0Y3AgLS1kcG9ydCAx MzkgLW0gY29tbWVudCAtLWNvbW1lbnQNCiAgICAgICJEcm9wIE5FVEJJT1MvU2FtYmEiIC1qIERS T1A8YnI+DQogICAgICBbMDowXSAtQSBGT1JXQVJEIC1wIHRjcCAtbSB0Y3AgLS1kcG9ydCA0NDUg LW0gY29tbWVudCAtLWNvbW1lbnQNCiAgICAgICJEcm9wIE5FVEJJT1MvU2FtYmEiIC1qIERST1A8 YnI+DQogICAgICBbMDowXSAtQSBGT1JXQVJEIC1wIHVkcCAtbSB1ZHAgLS1kcG9ydCAxMzc6MTM4 IC1tIGNvbW1lbnQNCiAgICAgIC0tY29tbWVudCAiRHJvcCBORVRCSU9TL1NhbWJhIiAtaiBEUk9Q PGJyPg0KICAgICAgWzA6MF0gLUEgRk9SV0FSRCAtcCB0Y3AgLW0gdGNwIC0tZHBvcnQgODAgLW0g Y29tbWVudCAtLWNvbW1lbnQNCiAgICAgICJSZWplY3QgdW5zb2xpY2V0ZWQgSFRUUCIgLWogZnct cmVqLWxvZzxicj4NCiAgICAgIFswOjBdIC1BIEZPUldBUkQgLXAgdWRwIC1tIHVkcCAtLWRwb3J0 IDUzIC1tIGNvbW1lbnQgLS1jb21tZW50DQogICAgICAiUmVqZWN0IHVuc29saWNldGVkIEROUyIg LWogZnctcmVqLWxvZzxicj4NCiAgICAgIFswOjBdIC1BIEZPUldBUkQgLWogZnctd3d3LWFjYzxi cj4NCiAgICAgIFswOjBdIC1BIEZPUldBUkQgLWogZnctcmVqLWxvZzxicj4NCiAgICAgIFswOjBd IC1BIE9VVFBVVCAtbyBwcHAwIC1qIEFDQ0VQVDxicj4NCiAgICAgIFswOjBdIC1BIE9VVFBVVCAt byBldGgwIC1qIEFDQ0VQVDxicj4NCiAgICAgIFswOjBdIC1BIE9VVFBVVCAtbyBldGgxIC1qIEFD Q0VQVDxicj4NCiAgICAgIFswOjBdIC1BIGZ3LWRycC1sb2cgLW0gbGltaXQgLS1saW1pdCAxL3Nl YyAtLWxpbWl0LWJ1cnN0IDMgLWogTE9HDQogICAgICAtLWxvZy1wcmVmaXggImZ3LWZvcndhcmQt ZHJvcCAiPGJyPg0KICAgICAgWzA6MF0gLUEgZnctZHJwLWxvZyAtaiBEUk9QPGJyPg0KICAgICAg WzA6MF0gLUEgZnctcmVqIC1wIHVkcCAtbSBsaW1pdCAtLWxpbWl0IDEvc2VjIC0tbGltaXQtYnVy c3QgMyAtag0KICAgICAgZnctcmVqLWZpbjxicj4NCiAgICAgIFswOjBdIC1BIGZ3LXJlaiAhIC1w IHVkcCAtbSBsaW1pdCAtLWxpbWl0IDEvc2VjIC0tbGltaXQtYnVyc3QgMyAtag0KICAgICAgZnct cmVqLWZpbjxicj4NCiAgICAgIFswOjBdIC1BIGZ3LXJlaiAtaiBEUk9QPGJyPg0KICAgICAgWzA6 MF0gLUEgZnctcmVqLWZpbiAhIC1wIGljbXAgLWogUkVKRUNUIC0tcmVqZWN0LXdpdGgNCiAgICAg IGljbXAtYWRtaW4tcHJvaGliaXRlZDxicj4NCiAgICAgIFswOjBdIC1BIGZ3LXJlai1maW4gLWog RFJPUDxicj4NCiAgICAgIFswOjBdIC1BIGZ3LXJlai1sb2cgLW0gbGltaXQgLS1saW1pdCAxL3Nl YyAtLWxpbWl0LWJ1cnN0IDMgLWogTE9HDQogICAgICAtLWxvZy1wcmVmaXggImZ3LWZvcndhcmQt cmVqZWN0ICI8YnI+DQogICAgICBbMDowXSAtQSBmdy1yZWotbG9nIC1qIGZ3LXJlajxicj4NCiAg ICAgIFswOjBdIC1BIGZ3LXd3dy1hY2MgLXMgMTkyLjE2OC4yLjEyOC8yNSAtbSBjb21tZW50IC0t Y29tbWVudA0KICAgICAgIlNvbGljaXRlZCBMQU4gT3V0Ym91bmQiIC1qIEFDQ0VQVDxicj4NCiAg ICAgIFswOjBdIC1BIGZ3LXd3dy1hY2MgLXMgMTkyLjE2OC4zLjEyOC8yNSAtbSBjb21tZW50IC0t Y29tbWVudA0KICAgICAgIlNvbGljaXRlZCBWb0lQIE91dGJvdW5kIiAtaiBBQ0NFUFQ8YnI+DQog ICAgICBbMDowXSAtQSBpbi1kaGNwZCAtaSBldGgxIC1tIGNvbW1lbnQgLS1jb21tZW50ICJBY2Nl cHQgZXRoMSIgLWoNCiAgICAgIEFDQ0VQVDxicj4NCiAgICAgIFswOjBdIC1BIGluLWRoY3BkIC1q IERST1A8YnI+DQogICAgICBbMDowXSAtQSBpbi1kcnAtbG9nIC1tIGxpbWl0IC0tbGltaXQgMS9z ZWMgLS1saW1pdC1idXJzdCAzIC1qIExPRw0KICAgICAgLS1sb2ctcHJlZml4ICJmdy1pbnB1dC1k cm9wICI8YnI+DQogICAgICBbMDowXSAtQSBpbi1kcnAtbG9nIC1qIERST1A8YnI+DQogICAgICBb MDowXSAtQSBpbi1pY21wIC1wIGljbXAgLW0gaWNtcCAtLWljbXAtdHlwZSA4IC1tIGxlbmd0aCAt LWxlbmd0aA0KICAgICAgMDoxMDAgLW0gbGltaXQgLS1saW1pdCAxL3NlYyAtbSBjb21tZW50IC0t Y29tbWVudCAiUGluZyBMaW1pdA0KICAgICAgMS9zZWMiIC1qIEFDQ0VQVDxicj4NCiAgICAgIFsw OjBdIC1BIGluLWljbXAgLW0gc3RhdGUgLS1zdGF0ZSBSRUxBVEVEIC1tIGNvbW1lbnQgLS1jb21t ZW50DQogICAgICBSRUxBVEVEIC1qIEFDQ0VQVDxicj4NCiAgICAgIFswOjBdIC1BIGluLXJlaiAt cCB1ZHAgLW0gbGltaXQgLS1saW1pdCAxL3NlYyAtLWxpbWl0LWJ1cnN0IDMgLWoNCiAgICAgIGlu LXJlai1maW48YnI+DQogICAgICBbMDowXSAtQSBpbi1yZWogISAtcCB1ZHAgLW0gbGltaXQgLS1s aW1pdCAxL3NlYyAtLWxpbWl0LWJ1cnN0IDMgLWoNCiAgICAgIGluLXJlai1maW48YnI+DQogICAg ICBbMDowXSAtQSBpbi1yZWogLWogRFJPUDxicj4NCiAgICAgIFswOjBdIC1BIGluLXJlai1maW4g LXAgdGNwIC1qIFJFSkVDVCAtLXJlamVjdC13aXRoIHRjcC1yZXNldDxicj4NCiAgICAgIFswOjBd IC1BIGluLXJlai1maW4gLXAgdWRwIC1qIFJFSkVDVCAtLXJlamVjdC13aXRoDQogICAgICBpY21w LXBvcnQtdW5yZWFjaGFibGU8YnI+DQogICAgICBbMDowXSAtQSBpbi1yZWotZmluICEgLXAgaWNt cCAtaiBSRUpFQ1QgLS1yZWplY3Qtd2l0aA0KICAgICAgaWNtcC1wcm90by11bnJlYWNoYWJsZTxi cj4NCiAgICAgIFswOjBdIC1BIGluLXJlai1maW4gLWogRFJPUDxicj4NCiAgICAgIFswOjBdIC1B IGluLXJlai1sb2cgLW0gbGltaXQgLS1saW1pdCAxL3NlYyAtLWxpbWl0LWJ1cnN0IDMgLWogTE9H DQogICAgICAtLWxvZy1wcmVmaXggImZ3LWlucHV0LXJlamVjdCAiPGJyPg0KICAgICAgWzA6MF0g LUEgaW4tcmVqLWxvZyAtaiBpbi1yZWo8YnI+DQogICAgICBDT01NSVQ8YnI+DQogICAgICAjIENv bXBsZXRlZCBvbiBGcmkgQXBywqAgNiAyMzoxMzoyMyAyMDEyPGJyPg0KICAgICAgIyBHZW5lcmF0 ZWQgYnkgaXB0YWJsZXMtc2F2ZSB2MS40LjEyLjEgb24gRnJpIEFwcsKgIDYgMjM6MTM6MjMgMjAx Mjxicj4NCiAgICAgICpuYXQ8YnI+DQogICAgICA6UFJFUk9VVElORyBBQ0NFUFQgWzA6MF08YnI+ DQogICAgICA6SU5QVVQgQUNDRVBUIFswOjBdPGJyPg0KICAgICAgOk9VVFBVVCBBQ0NFUFQgWzA6 MF08YnI+DQogICAgICA6UE9TVFJPVVRJTkcgQUNDRVBUIFswOjBdPGJyPg0KICAgICAgOnBvc3Qt b3V0LW92cG4gLSBbMDowXTxicj4NCiAgICAgIDpwcmUtaW4tZG5zIC0gWzA6MF08YnI+DQogICAg ICA6cHJlLWluLXByaXZveHkgLSBbMDowXTxicj4NCiAgICAgIFswOjBdIC1BIFBSRVJPVVRJTkcg LXAgdWRwIC1tIGNvbW1lbnQgLS1jb21tZW50ICJETlMgUmVkaXJlY3QiIC1tDQogICAgICB1ZHAg LS1kcG9ydCA1MyAtaiBwcmUtaW4tZG5zPGJyPg0KICAgICAgWzA6MF0gLUEgUFJFUk9VVElORyAt cCB0Y3AgLW0gY29tbWVudCAtLWNvbW1lbnQgIlByaXZveHkgUmVkaXJlY3QiDQogICAgICAtbSB0 Y3AgLS1kcG9ydCA4MCAtaiBwcmUtaW4tcHJpdm94eTxicj4NCiAgICAgIFswOjBdIC1BIFBPU1RS T1VUSU5HIC1zIDE5Mi4xNjguMC4wLzE2IC1tIGNvbW1lbnQgLS1jb21tZW50DQogICAgICBNYXNx dWVyYWRpbmcgLWogTUFTUVVFUkFERTxicj4NCiAgICAgIFswOjBdIC1BIHByZS1pbi1kbnMgLXMg MTkyLjE2OC4wLjAvMTYgLXAgdWRwIC1tIGNvbW1lbnQgLS1jb21tZW50DQogICAgICAiRm9yY2Ug RE5TIHRocnUgQklORCIgLWogUkVESVJFQ1QgLS10by1wb3J0cyA1Mzxicj4NCiAgICAgIFswOjBd IC1BIHByZS1pbi1wcml2b3h5IC1zIDE5Mi4xNjguMC4wLzE2IC1wIHRjcCAtbSBjb21tZW50DQog ICAgICAtLWNvbW1lbnQgIlByaXZveHkgSFRUUCBSZWRpcmVjdCIgLWogUkVESVJFQ1QgLS10by1w b3J0cyA4MDgxPGJyPg0KICAgICAgQ09NTUlUPGJyPg0KICAgICAgIyBDb21wbGV0ZWQgb24gRnJp IEFwcsKgIDYgMjM6MTM6MjMgMjAxMjxicj4NCiAgICAgICMgR2VuZXJhdGVkIGJ5IGlwdGFibGVz LXNhdmUgdjEuNC4xMi4xIG9uIEZyaSBBcHLCoCA2IDIzOjEzOjIzIDIwMTI8YnI+DQogICAgICAq bWFuZ2xlPGJyPg0KICAgICAgOlBSRVJPVVRJTkcgQUNDRVBUIFswOjBdPGJyPg0KICAgICAgOklO UFVUIEFDQ0VQVCBbMDowXTxicj4NCiAgICAgIDpGT1JXQVJEIEFDQ0VQVCBbMDowXTxicj4NCiAg ICAgIDpPVVRQVVQgQUNDRVBUIFswOjBdPGJyPg0KICAgICAgOlBPU1RST1VUSU5HIEFDQ0VQVCBb MDowXTxicj4NCiAgICAgIENPTU1JVDxicj4NCiAgICAgICMgQ29tcGxldGVkIG9uIEZyaSBBcHLC oCA2IDIzOjEzOjIzIDIwMTI8YnI+DQogICAgICA8YnI+DQogICAgICAjIyZndDtsc21vZDwvdHQ+ IDx0dD48YnI+DQogICAgICBNb2R1bGXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IFNpemXCoCBVc2VkIGJ5wqDCoMKgIE5vdCB0YWludGVkPGJyPg0KICAgICAgaXB0YWJsZV9tYW5n bGXCoMKgwqDCoMKgwqDCoMKgwqAgMTQ3MMKgIDAgPGJyPg0KICAgICAgaXB0X1JFRElSRUNUwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAxMTMzwqAgMiA8YnI+DQogICAgICBpcHRfTUFTUVVFUkFERcKg wqDCoMKgwqDCoMKgwqDCoCAxNTc2wqAgMSA8YnI+DQogICAgICBpcHRhYmxlX25hdMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCAzNTkwwqAgMSA8YnI+DQogICAgICBuZl9uYXTCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAxMzI3McKgIDMNCiAgICAgIGlwdF9SRURJUkVDVCxpcHRfTUFT UVVFUkFERSxpcHRhYmxlX25hdDxicj4NCiAgICAgIHh0X2xlbmd0aMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgMTE5NMKgIDEgPGJyPg0KICAgICAgaXB0X1JFSkVDVMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDIwODfCoCA0IDxicj4NCiAgICAgIGlwdF9MT0fCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCA2MzI0wqAgNCA8YnI+DQogICAgICB4dF9saW1pdMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAxOTc2wqAgOSA8YnI+DQogICAgICB4dF9UQ1BNU1PCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDMwMzfCoCAxIDxicj4NCiAgICAgIHh0X3RjcHVkcMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjMwMSAxMiA8YnI+DQogICAgICBuZl9jb25udHJhY2tf aXB2NMKgwqDCoMKgwqAgMTAzNDggMTAgaXB0YWJsZV9uYXQsbmZfbmF0PGJyPg0KICAgICAgbmZf ZGVmcmFnX2lwdjTCoMKgwqDCoMKgwqDCoMKgwqAgMTMwNcKgIDEgbmZfY29ubnRyYWNrX2lwdjQ8 YnI+DQogICAgICB4dF9zdGF0ZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMTk3wqAg NyA8YnI+DQogICAgICBuZl9jb25udHJhY2vCoMKgwqDCoMKgwqDCoMKgwqDCoCA1MTA3N8KgIDUN CiAgICAgIGlwdF9NQVNRVUVSQURFLGlwdGFibGVfbmF0LG5mX25hdCxuZl9jb25udHJhY2tfaXB2 NCx4dF9zdGF0ZTxicj4NCiAgICAgIHh0X2NvbW1lbnTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIDk0NSAyOSA8YnI+DQogICAgICBpcHRhYmxlX2ZpbHRlcsKgwqDCoMKgwqDCoMKgwqDCoCAx Mzk4wqAgMSA8YnI+DQogICAgICBpcF90YWJsZXPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAx ODU4OMKgIDMNCiAgICAgIGlwdGFibGVfbWFuZ2xlLGlwdGFibGVfbmF0LGlwdGFibGVfZmlsdGVy PGJyPg0KICAgICAgeF90YWJsZXPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE1NjQyIDE0 DQppcHRhYmxlX21hbmdsZSxpcHRfUkVESVJFQ1QsaXB0X01BU1FVRVJBREUsaXB0YWJsZV9uYXQs eHRfbGVuZ3RoLGlwdF9SRUpFQ1QsaXB0X0xPRyx4dF9saW1pdCx4dF9UQ1BNU1MseHRfdGNwdWRw LHh0X3N0YXRlLHh0X2NvbW1lbnQsaXB0YWJsZV9maWx0ZXIsaXBfdGFibGVzPGJyPg0KICAgICAg cHBwb2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOTIwMMKgIDAgPGJyPg0K ICAgICAgcHBwb3jCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTY4MMKgIDEg cHBwb2U8YnI+DQogICAgICBwcHBfZ2VuZXJpY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjI1NDPC oCAyIHBwcG9lLHBwcG94PGJyPg0KICAgICAgc2xoY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDM5MDXCoCAxIHBwcF9nZW5lcmljPGJyPg0KICAgICAgaXB2NsKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjc0MzI0IDI2IDxicj4NCiAgICAgIGFmX3BhY2tl dMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIwODA4wqAgMiA8YnI+DQogICAgICBldmRldsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTAxNzbCoCA3IDxicj4NCiAgICAgIHVz YmhpZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDE1NzI3wqAgMCA8YnI+DQogICAg ICBoaWTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA3MjkyNMKgIDEgdXNi aGlkPGJyPg0KICAgICAgdXNia2JkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA0 MjIywqAgMCA8YnI+DQogICAgICBzZXJpb19yYXfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IDM4MjTCoCAwIDxicj4NCiAgICAgIHBzbW91c2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgMzM2NzTCoCAwIDxicj4NCiAgICAgIHBjc3BrcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgMTc2McKgIDAgPGJyPg0KICAgICAgaTJjX2k4MDHCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgNzM1NsKgIDAgPGJyPg0KICAgICAgaTJjX2NvcmXCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDE2MTA0wqAgMSBpMmNfaTgwMTxicj4NCiAgICAgIHNuZF9oZGFfY29kZWNf cmVhbHRla8KgwqAgMjczODkwwqAgMSA8YnI+DQogICAgICBzbmRfaGRhX2ludGVswqDCoMKgwqDC oMKgwqDCoMKgIDE4NzQxwqAgMCA8YnI+DQogICAgICBzbmRfaGRhX2NvZGVjwqDCoMKgwqDCoMKg wqDCoMKgIDU1MzkzwqAgMg0KICAgICAgc25kX2hkYV9jb2RlY19yZWFsdGVrLHNuZF9oZGFfaW50 ZWw8YnI+DQogICAgICBzbmRfaHdkZXDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDU5MDDC oCAxIHNuZF9oZGFfY29kZWM8YnI+DQogICAgICBzbmRfcGNtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIDYxNjUwwqAgMiBzbmRfaGRhX2ludGVsLHNuZF9oZGFfY29kZWM8YnI+DQogICAg ICBzbmRfdGltZXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxODU4MMKgIDEgc25kX3BjbTxi cj4NCiAgICAgIHNuZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDUzOTU3 wqAgNg0Kc25kX2hkYV9jb2RlY19yZWFsdGVrLHNuZF9oZGFfaW50ZWwsc25kX2hkYV9jb2RlYyxz bmRfaHdkZXAsc25kX3BjbSxzbmRfdGltZXI8YnI+DQogICAgICBzb3VuZGNvcmXCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIDQ0ODnCoCAxIHNuZDxicj4NCiAgICAgIHNuZF9wYWdlX2FsbG9j wqDCoMKgwqDCoMKgwqDCoMKgIDYzOTHCoCAyIHNuZF9oZGFfaW50ZWwsc25kX3BjbTxicj4NCiAg ICAgIHNocGNocMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIyMTAwwqAgMCA8YnI+ DQogICAgICBwY2lfaG90cGx1Z8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMjAxOTbCoCAxIHNocGNo cDxicj4NCiAgICAgIGlUQ09fd2R0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxMjIyN8Kg IDAgPGJyPg0KICAgICAgaVRDT192ZW5kb3Jfc3VwcG9ydMKgwqDCoMKgIDE3NzjCoCAxIGlUQ09f d2R0PGJyPg0KICAgICAgZTEwMDBlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDExODA4 McKgIDAgPGJyPg0KICAgICAgcjgxNjnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IDM0NzE3wqAgMCA8YnI+DQogICAgICBmaXJtd2FyZV9jbGFzc8KgwqDCoMKgwqDCoMKgwqDCoCA1 MzQ1wqAgMSByODE2OTxicj4NCiAgICAgIG1pacKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgMzMzOcKgIDEgcjgxNjk8YnI+DQogICAgICB2aWRlb8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgMTA5MTnCoCAwIDxicj4NCiAgICAgIGJhY2tsaWdodMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzgxNMKgIDEgdmlkZW88YnI+DQogICAgICBidXR0b27C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQzMzLCoCAwIDxicj4NCiAgICAgIHBy b2Nlc3NvcsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDIzNDE0wqAgMCA8YnI+DQogICAgICBl aGNpX2hjZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMzIzNTbCoCAwIDxicj4NCiAgICAg IHVoY2lfaGNkwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxODg4OMKgIDAgPGJyPg0KICAg ICAgYWhjacKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAyMDIwN8KgIDAgPGJy Pg0KICAgICAgbGliYWhjacKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNjIzM8KgIDEg YWhjaTxicj4NCiAgICAgIGxpYmF0YcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAxNDYy OTnCoCAyIGFoY2ksbGliYWhjaTxicj4NCiAgICAgIGxvb3DCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgMTQzMTTCoCAwIDxicj4NCiAgICAgIGV4dDTCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIDIyNjU0NcKgIDIgPGJyPg0KICAgICAgbWJjYWNoZcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQ1OTXCoCAxIGV4dDQ8YnI+DQogICAgICBqYmQywqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDQ2NzU5wqAgMSBleHQ0PGJyPg0KICAg ICAgY3JjMTbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTI0N8KgIDEgZXh0 NDxicj4NCiAgICAgIHVzYl9zdG9yYWdlwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAzMjcwOcKgIDIg PGJyPg0KICAgICAgdXNiX2xpYnVzdWFswqDCoMKgwqDCoMKgwqDCoMKgwqAgMTAyNTTCoCAxIHVz Yl9zdG9yYWdlPGJyPg0KICAgICAgdXNiY29yZcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg MTIxNzI4wqAgNw0KICAgICAgdXNiaGlkLHVzYmtiZCxlaGNpX2hjZCx1aGNpX2hjZCx1c2Jfc3Rv cmFnZSx1c2JfbGlidXN1YWw8YnI+DQogICAgICBzZF9tb2TCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCAyMzUxOcKgIDMgPGJyPg0KICAgICAgc2NzaV9tb2TCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIDg0NDUzwqAgMyBsaWJhdGEsdXNiX3N0b3JhZ2Usc2RfbW9kPGJyPg0KICAg ICAgPGJyPg0KICAgIDwvdHQ+IDx0dD4jIyZndDtpcDZ0YWJsZXMgLUw8YnI+DQogICAgICBDaGFp biBJTlBVVCAocG9saWN5IEFDQ0VQVCk8YnI+DQogICAgICB0YXJnZXTCoMKgwqDCoCBwcm90IG9w dCBzb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRlc3RpbmF0aW9uwqDCoMKgwqDC oMKgwqDCoCA8YnI+DQogICAgICA8YnI+DQogICAgICBDaGFpbiBGT1JXQVJEIChwb2xpY3kgQUND RVBUKTxicj4NCiAgICAgIHRhcmdldMKgwqDCoMKgIHByb3Qgb3B0IHNvdXJjZcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgZGVzdGluYXRpb27CoMKgwqDCoMKgwqDCoMKgIDxicj4NCiAgICAg IDxicj4NCiAgICAgIENoYWluIE9VVFBVVCAocG9saWN5IEFDQ0VQVCk8YnI+DQogICAgICB0YXJn ZXTCoMKgwqDCoCBwcm90IG9wdCBzb3VyY2XCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRl c3RpbmF0aW9uwqDCoMKgwqDCoMKgwqDCoCA8YnI+DQogICAgPC90dD48YnI+DQogIDwvYm9keT4N CjwvaHRtbD4NCg== --------------070409030608030802060404-- --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---