Return-path: Received: from mail-ig0-f176.google.com ([209.85.213.176]:38376 "EHLO mail-ig0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752322AbcDYKAB (ORCPT ); Mon, 25 Apr 2016 06:00:01 -0400 Received: by mail-ig0-f176.google.com with SMTP id m9so59541949ige.1 for ; Mon, 25 Apr 2016 03:00:00 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1460367328-12082-8-git-send-email-arend@broadcom.com> References: <1460367328-12082-1-git-send-email-arend@broadcom.com> <1460367328-12082-8-git-send-email-arend@broadcom.com> Date: Mon, 25 Apr 2016 12:00:00 +0200 Message-ID: (sfid-20160425_120009_293117_9293E9DC) Subject: Re: [PATCH 7/8] brcmfmac: revise handling events in receive path From: =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= To: Arend van Spriel , Hante Meuleman , Pieter-Paul Giesberts , Franky Lin Cc: Kalle Valo , linux-wireless , brcm80211 development Content-Type: multipart/mixed; boundary=001a11c3184e5dc7b405314c3db9 Sender: linux-wireless-owner@vger.kernel.org List-ID: --001a11c3184e5dc7b405314c3db9 Content-Type: text/plain; charset=UTF-8 On 11 April 2016 at 11:35, Arend van Spriel wrote: > Move event handling out of brcmf_netif_rx() avoiding the need > to pass a flag. This flag is only ever true for USB hosts as > other interface use separate brcmf_rx_event() function. > > Reviewed-by: Hante Meuleman > Reviewed-by: Pieter-Paul Giesberts > Reviewed-by: Franky Lin > Signed-off-by: Arend van Spriel With this patch applied I'm getting: Unable to handle kernel NULL pointer dereference at virtual address 000001fc on the first brcmf_netif_rx call. I'm using D-Link DIR-885L with 14e4:4365 (BCM4366). --001a11c3184e5dc7b405314c3db9 Content-Type: text/plain; charset=US-ASCII; name="brcmfmac-null-pointer-dereference.txt" Content-Disposition: attachment; filename="brcmfmac-null-pointer-dereference.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_inftzrqv0 WyAgIDQ0LjA4NjU3OV0gVW5hYmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVm ZXJlbmNlIGF0IHZpcnR1YWwgYWRkcmVzcyAwMDAwMDFmYwpbICAgNDQuMDk0NzA2XSBwZ2QgPSBj MDAwNDAwMApbICAgNDQuMDk3NDE1XSBbMDAwMDAxZmNdICpwZ2Q9MDAwMDAwMDAKWyAgIDQ0LjEw MTAxOV0gSW50ZXJuYWwgZXJyb3I6IE9vcHM6IDE3IFsjMV0gU01QIEFSTQpbICAgNDQuMTA1NzI2 XSBNb2R1bGVzIGxpbmtlZCBpbjogcHBwb2UgcHBwX2FzeW5jIGlwdGFibGVfbmF0IGJyY21mbWFj IGI0MyBwcHBveCBwcHBfZ2VuZXJpYyBuZl9uYXRfaXB2NCBuZl9jb25udHJhY2tfaXB2NiBuZl9j b25udHJhY2tfaXB2NCBtYWM4MDIxMSBpcHRfUkVKRUNUIGlwdF9NQVNRVUVSQURFIGNmZzgwMjEx IHh0X3RpbWUgeHRfdGNwdWRwIHh0X3N0YXRlIHh0X25hdCB4dF9tdWx0aXBvcnQgeHRfbWFyayB4 dF9tYWMgeHRfbGltaXQgeHRfaWQgeHRfY29ubnRuClsgICA0NC4xNjg3NjVdIENQVTogMCBQSUQ6 IDYzMiBDb21tOiBpcnEvMzItYnJjbWZfcGMgTm90IHRhaW50ZWQgNC40LjcgIzYKWyAgIDQ0LjE3 NTMwNV0gSGFyZHdhcmUgbmFtZTogQkNNNTMwMVgKWyAgIDQ0LjE3ODc5OV0gdGFzazogYzdhMTY0 MDAgdGk6IGM3M2RlMDAwIHRhc2sudGk6IGM3M2RlMDAwClsgICA0NC4xODQyMTVdIFBDIGlzIGF0 IGdldF9ycHNfY3B1KzB4MjQvMHgzMzAKWyAgIDQ0LjE4ODQxMF0gTFIgaXMgYXQgbmV0aWZfcnhf aW50ZXJuYWwrMHg4Yy8weGJjClsgICA0NC4xOTMwMzhdIHBjIDogWzxjMDI1MTI4ND5dICAgIGxy IDogWzxjMDI1M2ZmOD5dICAgIHBzcjogNjAwMDAwMTMKWyAgIDQ0LjE5MzAzOF0gc3AgOiBjNzNk ZmRjOCAgaXAgOiBjNzNkZmUxOCAgZnAgOiBjNzNkZmUxNApbICAgNDQuMjA0NTQzXSByMTA6IDAw MDAwMDAwICByOSA6IGM4Y2U1MDAwICByOCA6IGM4Y2U1MDAwClsgICA0NC4yMDk3NzRdIHI3IDog YzdhMDhlODAgIHI2IDogMDAwMDAwMDAgIHI1IDogYzA0N2M4NDggIHI0IDogYzc5N2EzYzAKWyAg IDQ0LjIxNjMxMV0gcjMgOiAwMDAwMDAwMCAgcjIgOiBjNzNkZmUyNCAgcjEgOiBjNzk3YTNjMCAg cjAgOiAwMDAwMDAwMApbICAgNDQuMjIyODQ5XSBGbGFnczogblpDdiAgSVJRcyBvbiAgRklRcyBv biAgTW9kZSBTVkNfMzIgIElTQSBBUk0gIFNlZ21lbnQgbm9uZQpbICAgNDQuMjI5OTk1XSBDb250 cm9sOiAxMGM1Mzg3ZCAgVGFibGU6IDA3M2QwMDRhICBEQUM6IDAwMDAwMDUxClsgICA0NC4yMzU3 NDhdIFByb2Nlc3MgaXJxLzMyLWJyY21mX3BjIChwaWQ6IDYzMiwgc3RhY2sgbGltaXQgPSAweGM3 M2RlMTkwKQpbICAgNDQuMjQyNDU5XSBTdGFjazogKDB4YzczZGZkYzggdG8gMHhjNzNlMDAwMCkK WyAgIDQ0LjI0NjgyMV0gZmRjMDogICAgICAgICAgICAgICAgICAgYzZlYzgzMjAgMDAwMDAwMDAg YzczZGZlMTQgYzczZGZlMjQgYzAwMTljM2MgYzAwOWM5M2MKWyAgIDQ0LjI1NTAxMl0gZmRlMDog YzA0N2VjYzQgYzA0YmQ1NTAgYzdhMDhlMDAgYzc5N2EzYzAgYzA0N2M4NDggYzc5N2EzYzAgYzdh MDhlODAgYzhjZTUwMDAKWyAgIDQ0LjI2MzIxMV0gZmUwMDogYzhjZTUwMDAgMDAwMDAwMDAgYzcz ZGZlNDQgYzczZGZlMTggYzAyNTNmZjggYzAyNTEyNmMgYzAwMGFjZjQgYzczZGZlM2MKWyAgIDQ0 LjI3MTQwMV0gZmUyMDogYzAwMWE3NjAgYzczZGZlMjggYzcxZDg0MTAgYzcxZDgwMDAgYzc5N2Ez YzAgMDAwMDAwMDAgYzczZGZlNWMgYzczZGZlNDgKWyAgIDQ0LjI3OTU5Ml0gZmU0MDogYzAyNTQw NzQgYzAyNTNmNzggYzc5N2EzYzAgMDAwMDAwMDAgYzczZGZlNzQgYzczZGZlNjAgYmYyMWY0MGMg YzAyNTQwNzAKWyAgIDQ0LjI4Nzc5MV0gZmU2MDogYzcxMmE5YzAgMDAwMDAwMDAgYzczZGZlYmMg YzczZGZlNzggYmYyMjRlYTQgYmYyMWYzNmMgYzdhMTY0MDAgYzZkZDE4NDAKWyAgIDQ0LjI5NTk4 MV0gZmU4MDogMDAwMDAwMDAgMDAwMDAwMTQgYzA0Nzc4NDAgMDAwMTllN2MgYzczZGZlYmMgYzcx MmE5YzAgMDAwMTAwMDAgYzc4N2UzYzAKWyAgIDQ0LjMwNDE3Ml0gZmVhMDogYzAwNTdiYjAgYzcx OWMxZTQgYzA0N2Y4NDIgMDAwMDAwMDAgYzczZGZlZGMgYzczZGZlYzAgYmYyMjRmOGMgYmYyMjRh MzgKWyAgIDQ0LjMxMjM3Ml0gZmVjMDogYzdhZDcwMDAgMDAwMTAwMDAgYzc4N2UzYzAgYzAwNTdi YjAgYzczZGZmMDQgYzczZGZlZTAgYmYyMjk2MDggYmYyMjRmNmMKWyAgIDQ0LjMyMDU3MF0gZmVl MDogYzcxOWMxYzAgYzcxOWMxYzAgYzc4N2UzYzAgYzAwNTdiYjAgYzcxOWMxZTQgYzA0N2Y4NDIg YzczZGZmMjQgYzczZGZmMDgKWyAgIDQ0LjMyODc2MV0gZmYwMDogYzAwNTdiZDQgYmYyMjk0NTAg Yzc4N2UzYzAgYzcxOWMxYzAgYzczZGUwMDAgYzAwNTdiYjAgYzczZGZmNWMgYzczZGZmMjgKWyAg IDQ0LjMzNjk1MV0gZmYyMDogYzAwNTdlYjggYzAwNTdiYmMgMDAwMDAwMDAgYzAwNTdkMGMgMDAw MDAwMDAgYzcyNDRkODAgMDAwMDAwMDAgYzcxOWMxYzAKWyAgIDQ0LjM0NTE0MV0gZmY0MDogYzAw NTdkYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgYzczZGZmYWMgYzczZGZmNjAgYzAwMzkz YTQgYzAwNTdkY2MKWyAgIDQ0LjM1MzMzMl0gZmY2MDogYzczZGZmOGMgMDAwMDAwMDAgYzAwMjI4 Y2MgYzcxOWMxYzAgMDAwMDAwMDAgMDAwMDAwMDAgYzczZGZmNzggYzczZGZmNzgKWyAgIDQ0LjM2 MTUyMl0gZmY4MDogMDAwMDAwMDAgMDAwMDAwMDAgYzczZGZmODggYzczZGZmODggYzcyNDRkODAg YzAwMzkyYzQgMDAwMDAwMDAgMDAwMDAwMDAKWyAgIDQ0LjM2OTcxMl0gZmZhMDogMDAwMDAwMDAg YzczZGZmYjAgYzAwMDk3YjggYzAwMzkyZDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw MDAwMDAKWyAgIDQ0LjM3NzkwM10gZmZjMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgIDQ0LjM4NjA5NF0g ZmZlMDogMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMTMgMDAwMDAw MDAgYzczZGZmZjQgMDAwMDAwMDAKWyAgIDQ0LjM5NDI4MV0gQmFja3RyYWNlOiAKWyAgIDQ0LjM5 Njc0M10gWzxjMDI1MTI2MD5dIChnZXRfcnBzX2NwdSkgZnJvbSBbPGMwMjUzZmY4Pl0gKG5ldGlm X3J4X2ludGVybmFsKzB4OGMvMHhiYykKWyAgIDQ0LjQwNDY3NF0gIHIxMDowMDAwMDAwMCByOTpj OGNlNTAwMCByODpjOGNlNTAwMCByNzpjN2EwOGU4MCByNjpjNzk3YTNjMCByNTpjMDQ3Yzg0OApb ICAgNDQuNDEyNTU5XSAgcjQ6Yzc5N2EzYzAKWyAgIDQ0LjQxNTEwNl0gWzxjMDI1M2Y2Yz5dIChu ZXRpZl9yeF9pbnRlcm5hbCkgZnJvbSBbPGMwMjU0MDc0Pl0gKG5ldGlmX3J4X25pKzB4MTAvMHg0 NCkKWyAgIDQ0LjQyMzAzOV0gIHI1OjAwMDAwMDAwIHI0OmM3OTdhM2MwClsgICA0NC40MjY2NjVd IFs8YzAyNTQwNjQ+XSAobmV0aWZfcnhfbmkpIGZyb20gWzxiZjIxZjQwYz5dIChicmNtZl9uZXRp Zl9yeCsweGFjLzB4YmMgW2JyY21mbWFjXSkKWyAgIDQ0LjQzNTI5NF0gIHI1OjAwMDAwMDAwIHI0 OmM3OTdhM2MwClsgICA0NC40Mzg5MDldIFs8YmYyMWYzNjA+XSAoYnJjbWZfbmV0aWZfcnggW2Jy Y21mbWFjXSkgZnJvbSBbPGJmMjI0ZWE0Pl0gKGJyY21mX21zZ2J1Zl90eGRhdGErMHg1YzAvMHg2 N2MgW2JyY21mbWFjXSkKWyAgIDQ0LjQ0OTM2MF0gIHI1OjAwMDAwMDAwIHI0OmM3MTJhOWMwClsg ICA0NC40NTI5NzNdIFs8YmYyMjRhMmM+XSAoYnJjbWZfbXNnYnVmX3R4ZGF0YSBbYnJjbWZtYWNd KSBmcm9tIFs8YmYyMjRmOGM+XSAoYnJjbWZfcHJvdG9fbXNnYnVmX3J4X3RyaWdnZXIrMHgyYy8w eGQwIFticmNtZm1hY10pClsgICA0NC40NjQ1NTddICByMTA6MDAwMDAwMDAgcjk6YzA0N2Y4NDIg cjg6YzcxOWMxZTQgcjc6YzAwNTdiYjAgcjY6Yzc4N2UzYzAgcjU6MDAwMTAwMDAKWyAgIDQ0LjQ3 MjQ0M10gIHI0OmM3MTJhOWMwClsgICA0NC40NzUwMDJdIFs8YmYyMjRmNjA+XSAoYnJjbWZfcHJv dG9fbXNnYnVmX3J4X3RyaWdnZXIgW2JyY21mbWFjXSkgZnJvbSBbPGJmMjI5NjA4Pl0gKGJyY21m X3BjaWVfaXNyX3RocmVhZCsweDFjNC8weDIzOCBbYnJjbWZtYWNdKQpbICAgNDQuNDg2OTM1XSAg cjc6YzAwNTdiYjAgcjY6Yzc4N2UzYzAgcjU6MDAwMTAwMDAgcjQ6YzdhZDcwMDAKWyAgIDQ0LjQ5 MjY0OF0gWzxiZjIyOTQ0ND5dIChicmNtZl9wY2llX2lzcl90aHJlYWQgW2JyY21mbWFjXSkgZnJv bSBbPGMwMDU3YmQ0Pl0gKGlycV90aHJlYWRfZm4rMHgyNC8weDNjKQpbICAgNDQuNTAyMDU0XSAg cjk6YzA0N2Y4NDIgcjg6YzcxOWMxZTQgcjc6YzAwNTdiYjAgcjY6Yzc4N2UzYzAgcjU6YzcxOWMx YzAgcjQ6YzcxOWMxYzAKWyAgIDQ0LjUwOTg1N10gWzxjMDA1N2JiMD5dIChpcnFfdGhyZWFkX2Zu KSBmcm9tIFs8YzAwNTdlYjg+XSAoaXJxX3RocmVhZCsweGY4LzB4MWU0KQpbICAgNDQuNTE3NDQy XSAgcjc6YzAwNTdiYjAgcjY6YzczZGUwMDAgcjU6YzcxOWMxYzAgcjQ6Yzc4N2UzYzAKWyAgIDQ0 LjUyMzE1MF0gWzxjMDA1N2RjMD5dIChpcnFfdGhyZWFkKSBmcm9tIFs8YzAwMzkzYTQ+XSAoa3Ro cmVhZCsweGUwLzB4ZjQpClsgICA0NC41MzAxMjRdICByMTA6MDAwMDAwMDAgcjk6MDAwMDAwMDAg cjg6MDAwMDAwMDAgcjc6YzAwNTdkYzAgcjY6YzcxOWMxYzAgcjU6MDAwMDAwMDAKWyAgIDQ0LjUz ODAxMF0gIHI0OmM3MjQ0ZDgwClsgICA0NC41NDA1NTddIFs8YzAwMzkyYzQ+XSAoa3RocmVhZCkg ZnJvbSBbPGMwMDA5N2I4Pl0gKHJldF9mcm9tX2ZvcmsrMHgxNC8weDNjKQpbICAgNDQuNTQ3Nzkz XSAgcjc6MDAwMDAwMDAgcjY6MDAwMDAwMDAgcjU6YzAwMzkyYzQgcjQ6YzcyNDRkODAKWyAgIDQ0 LjU1MzQ5OF0gQ29kZTogZTUwYjIwNDAgZTFhMDYwMDAgZTM1MzAwMDAgZTFhMDQwMDEgKGU1OTAy MWZjKSAKWyAgIDQ0LjU1OTYyNV0gLS0tWyBlbmQgdHJhY2UgZmJjNTk0MGU4OTViMDg5MCBdLS0t ClsgICA0NC41NjQyNzZdIFVuYWJsZSB0byBoYW5kbGUga2VybmVsIHBhZ2luZyByZXF1ZXN0IGF0 IHZpcnR1YWwgYWRkcmVzcyBmZmZmZmZlYwpbICAgNDQuNTcxNTI2XSBwZ2QgPSBjMDAwNDAwMApb ICAgNDQuNTc0MjM3XSBbZmZmZmZmZWNdICpwZ2Q9MDdmZmY4NDEsICpwdGU9MDAwMDAwMDAsICpw cHRlPTAwMDAwMDAwClsgICA0NC41ODA1NTBdIEludGVybmFsIGVycm9yOiBPb3BzOiAyNyBbIzJd IFNNUCBBUk0KWyAgIDQ0LjU4NTI2NF0gTW9kdWxlcyBsaW5rZWQgaW46IHBwcG9lIHBwcF9hc3lu YyBpcHRhYmxlX25hdCBicmNtZm1hYyBiNDMgcHBwb3ggcHBwX2dlbmVyaWMgbmZfbmF0X2lwdjQg bmZfY29ubnRyYWNrX2lwdjYgbmZfY29ubnRyYWNrX2lwdjQgbWFjODAyMTEgaXB0X1JFSkVDVCBp cHRfTUFTUVVFUkFERSBjZmc4MDIxMSB4dF90aW1lIHh0X3RjcHVkcCB4dF9zdGF0ZSB4dF9uYXQg eHRfbXVsdGlwb3J0IHh0X21hcmsgeHRfbWFjIHh0X2xpbWl0IHh0X2lkIHh0X2Nvbm50bgpbICAg NDQuNjQ4MzAyXSBDUFU6IDAgUElEOiA2MzIgQ29tbTogaXJxLzMyLWJyY21mX3BjIFRhaW50ZWQ6 IEcgICAgICBEICAgICAgICAgNC40LjcgIzYKWyAgIDQ0LjY1NjA2Ml0gSGFyZHdhcmUgbmFtZTog QkNNNTMwMVgKWyAgIDQ0LjY1OTU1NF0gdGFzazogYzdhMTY0MDAgdGk6IGM3M2RlMDAwIHRhc2su dGk6IGM3M2RlMDAwClsgICA0NC42NjQ5NjJdIFBDIGlzIGF0IGt0aHJlYWRfZGF0YSsweDEwLzB4 MTgKWyAgIDQ0LjY2OTE1NV0gTFIgaXMgYXQgaXJxX3RocmVhZF9kdG9yKzB4NTgvMHhiNApbICAg NDQuNjczNjAzXSBwYyA6IFs8YzAwMzk4NDQ+XSAgICBsciA6IFs8YzAwNTdkNjQ+XSAgICBwc3I6 IDIwMDAwMTEzClsgICA0NC42NzM2MDNdIHNwIDogYzczZGZiZDAgIGlwIDogYzczZGZiZTAgIGZw IDogYzczZGZiZGMKWyAgIDQ0LjY4NTEwOV0gcjEwOiAwMDAwMDAwMCAgcjkgOiBjMDQ4MDg3OCAg cjggOiBjNzNkZmMxOApbICAgNDQuNjkwMzQwXSByNyA6IGM3YTE2NDAwICByNiA6IDAwMDAwMDAw ICByNSA6IGM3YTE2NDAwICByNCA6IGM3YTE2NDAwClsgICA0NC42OTY4NzZdIHIzIDogMDAwMDAw MDAgIHIyIDogMDAwMDAwN2MgIHIxIDogMDAwMDAwMDAgIHIwIDogYzdhMTY0MDAKWyAgIDQ0Ljcw MzQxNF0gRmxhZ3M6IG56Q3YgIElSUXMgb24gIEZJUXMgb24gIE1vZGUgU1ZDXzMyICBJU0EgQVJN ICBTZWdtZW50IG5vbmUKWyAgIDQ0LjcxMDU1OV0gQ29udHJvbDogMTBjNTM4N2QgIFRhYmxlOiAw NzNkMDA0YSAgREFDOiAwMDAwMDA1MQpbICAgNDQuNzE2MzEzXSBQcm9jZXNzIGlycS8zMi1icmNt Zl9wYyAocGlkOiA2MzIsIHN0YWNrIGxpbWl0ID0gMHhjNzNkZTE5MCkKWyAgIDQ0LjcyMzAyM10g U3RhY2s6ICgweGM3M2RmYmQwIHRvIDB4YzczZTAwMDApClsgICA0NC43MjczODZdIGZiYzA6ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGM3M2RmYmY0IGM3M2RmYmUwIGMwMDU3 ZDY0IGMwMDM5ODQwClsgICA0NC43MzU1ODZdIGZiZTA6IGM3YTE2NDAwIGMwNDk0MGRjIGM3M2Rm YzE0IGM3M2RmYmY4IGMwMDM3Y2E4IGMwMDU3ZDE4IGM3YTE2NDAwIDAwMDAwMDAwClsgICA0NC43 NDM3ODVdIGZjMDA6IGMwNDkzNWVjIGM3YTE2NDAwIGM3M2RmYzM0IGM3M2RmYzE4IGMwMDIyNDhj IGMwMDM3YzE0IGM3M2RmYzM0IGM3M2RmYzI4ClsgICA0NC43NTE5ODVdIGZjMjA6IGMwMDIxNTM4 IGM3YTE2NDAwIGM3M2RmYzc0IGM3M2RmYzM4IGMwMDE3NGE4IGMwMDIyMTNjIGM3M2RlMTkwIDAw MDAwMDBiClsgICA0NC43NjAxODNdIGZjNDA6IGMwMDFhYjg0IDYwMDAwMTEzIGMwNDBjYTEwIDAw MDAwMWZjIGM3M2RmZDc4IDAwMDAwMDE3IDAwMDAwMDAwIGM3YTE2NDAwClsgICA0NC43NjgzODNd IGZjNjA6IDAwMDAwMDAwIDAwMDAwMDE3IGM3M2RmYzhjIGM3M2RmYzc4IGMwMDFhZDA0IGMwMDE3 MjVjIDAwMDAwMDE3IDAwMDAwMWZjClsgICA0NC43NzY1ODJdIGZjODA6IGM3M2RmY2NjIGM3M2Rm YzkwIGMwMDFhZmEwIGMwMDFhY2I0IDAwMDAwMDAxIDAwMDAwMDAwIGM3M2RmYzk0IDAwMDAwMDAz ClsgICA0NC43ODQ3NzJdIGZjYTA6IGM3M2RmY2Q0IDAwMDAwMDE3IDAwMDAwMWZjIGMwNDgwZDU4 IGM3M2RmZDc4IGM4Y2U1MDAwIGM4Y2U1MDAwIDAwMDAwMDAwClsgICA0NC43OTI5NzJdIGZjYzA6 IGM3M2RmZDc0IGM3M2RmY2QwIGMwMDA5MmVjIGMwMDFhZDMwIGMwMDg4MjkwIGMwMDg2MTk4IDAw MDAwMTQxIGM2ZGQxODQwClsgICA0NC44MDExNzBdIGZjZTA6IGM3M2RmZDE0IDAwMDAwMTA0IGMw NDdmNzgwIGMwNDdlZTA0IGZmZmZmZmY4IDAwMDAwMDAwIDAwMDAwMDA4IGZmZmZmZmZmClsgICA0 NC44MDkzNjFdIGZkMDA6IDQwMDAwMDkzIDAwMDAwMDAxIGM2ZWRmNTgwIDAwMDAwMDAwIDAwMDAw MDAwIDAwMDAwMDAwIGMwNDdmNzg4IDAyMGI1MjIwClsgICA0NC44MTc1NTFdIGZkMjA6IGM3M2Rm ZGFjIGMwNDdmNzgwIDAwMDAwMDAzIDAyMDk1MjIwIGM2YWNjMDAwIGM2YWNjMDAwIDAwMDAwMDAx IGEwMDAwMDEzClsgICA0NC44MjU3NTFdIGZkNDA6IGM3M2RmZGNjIGM3M2RmZDUwIDAwMDAwNzQw IDgwMTAwMDA4IGM3YTA0OWMwIGM3YTA0OWMwIGMwMjUxMjg0IDYwMDAwMDEzClsgICA0NC44MzM5 NDldIGZkNjA6IGZmZmZmZmZmIGM3M2RmZGFjIGM3M2RmZTE0IGM3M2RmZDc4IGMwMDBhMDAwIGMw MDA5MmJjIDAwMDAwMDAwIGM3OTdhM2MwClsgICA0NC44NDIxNDBdIGZkODA6IGM3M2RmZTI0IDAw MDAwMDAwIGM3OTdhM2MwIGMwNDdjODQ4IDAwMDAwMDAwIGM3YTA4ZTgwIGM4Y2U1MDAwIGM4Y2U1 MDAwClsgICA0NC44NTAzMzBdIGZkYTA6IDAwMDAwMDAwIGM3M2RmZTE0IGM3M2RmZTE4IGM3M2Rm ZGM4IGMwMjUzZmY4IGMwMjUxMjg0IDYwMDAwMDEzIGZmZmZmZmZmClsgICA0NC44NTg1MjFdIGZk YzA6IDAwMDAwMDUxIDAwMDAwODAwIGM2ZWM4MzIwIDAwMDAwMDAwIGM3M2RmZTE0IGM3M2RmZTI0 IGMwMDE5YzNjIGMwMDljOTNjClsgICA0NC44NjY3MTFdIGZkZTA6IGMwNDdlY2M0IGMwNGJkNTUw IGM3YTA4ZTAwIGM3OTdhM2MwIGMwNDdjODQ4IGM3OTdhM2MwIGM3YTA4ZTgwIGM4Y2U1MDAwClsg ICA0NC44NzQ5MDJdIGZlMDA6IGM4Y2U1MDAwIDAwMDAwMDAwIGM3M2RmZTQ0IGM3M2RmZTE4IGMw MjUzZmY4IGMwMjUxMjZjIGMwMDBhY2Y0IGM3M2RmZTNjClsgICA0NC44ODMxMDJdIGZlMjA6IGMw MDFhNzYwIGM3M2RmZTI4IGM3MWQ4NDEwIGM3MWQ4MDAwIGM3OTdhM2MwIDAwMDAwMDAwIGM3M2Rm ZTVjIGM3M2RmZTQ4ClsgICA0NC44OTEzMDBdIGZlNDA6IGMwMjU0MDc0IGMwMjUzZjc4IGM3OTdh M2MwIDAwMDAwMDAwIGM3M2RmZTc0IGM3M2RmZTYwIGJmMjFmNDBjIGMwMjU0MDcwClsgICA0NC44 OTk0OTFdIGZlNjA6IGM3MTJhOWMwIDAwMDAwMDAwIGM3M2RmZWJjIGM3M2RmZTc4IGJmMjI0ZWE0 IGJmMjFmMzZjIGM3YTE2NDAwIGM2ZGQxODQwClsgICA0NC45MDc2ODFdIGZlODA6IDAwMDAwMDAw IDAwMDAwMDE0IGMwNDc3ODQwIDAwMDE5ZTdjIGM3M2RmZWJjIGM3MTJhOWMwIDAwMDEwMDAwIGM3 ODdlM2MwClsgICA0NC45MTU4ODFdIGZlYTA6IGMwMDU3YmIwIGM3MTljMWU0IGMwNDdmODQyIDAw MDAwMDAwIGM3M2RmZWRjIGM3M2RmZWMwIGJmMjI0ZjhjIGJmMjI0YTM4ClsgICA0NC45MjQwNzld IGZlYzA6IGM3YWQ3MDAwIDAwMDEwMDAwIGM3ODdlM2MwIGMwMDU3YmIwIGM3M2RmZjA0IGM3M2Rm ZWUwIGJmMjI5NjA4IGJmMjI0ZjZjClsgICA0NC45MzIyNzBdIGZlZTA6IGM3MTljMWMwIGM3MTlj MWMwIGM3ODdlM2MwIGMwMDU3YmIwIGM3MTljMWU0IGMwNDdmODQyIGM3M2RmZjI0IGM3M2RmZjA4 ClsgICA0NC45NDA0NzBdIGZmMDA6IGMwMDU3YmQ0IGJmMjI5NDUwIGM3ODdlM2MwIGM3MTljMWMw IGM3M2RlMDAwIGMwMDU3YmIwIGM3M2RmZjVjIGM3M2RmZjI4ClsgICA0NC45NDg2NjhdIGZmMjA6 IGMwMDU3ZWI4IGMwMDU3YmJjIDAwMDAwMDAwIGMwMDU3ZDBjIDAwMDAwMDAwIGM3MjQ0ZDgwIDAw MDAwMDAwIGM3MTljMWMwClsgICA0NC45NTY4NThdIGZmNDA6IGMwMDU3ZGMwIDAwMDAwMDAwIDAw MDAwMDAwIDAwMDAwMDAwIGM3M2RmZmFjIGM3M2RmZjYwIGMwMDM5M2E0IGMwMDU3ZGNjClsgICA0 NC45NjUwNDldIGZmNjA6IGM3M2RmZjhjIDAwMDAwMDAwIGMwMDIyOGNjIGM3MTljMWMwIDAwMDAw MDAwIDAwMDAwMDAwIGM3M2RmZjc4IGM3M2RmZjc4ClsgICA0NC45NzMyNDBdIGZmODA6IDAwMDAw MDAxIDAwMDEwMDAxIGM3M2RmZjg4IGM3M2RmZjg4IGM3MjQ0ZDgwIGMwMDM5MmM0IDAwMDAwMDAw IDAwMDAwMDAwClsgICA0NC45ODE0MzhdIGZmYTA6IDAwMDAwMDAwIGM3M2RmZmIwIGMwMDA5N2I4 IGMwMDM5MmQwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICA0NC45ODk2 MjldIGZmYzA6IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICA0NC45OTc4MjhdIGZmZTA6IDAwMDAwMDAwIDAw MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDEzIDAwMDAwMDAwIGM3M2RmZmY0IDAwMDAw MDAwClsgICA0NS4wMDYwMjRdIEJhY2t0cmFjZTogClsgICA0NS4wMDg0ODNdIFs8YzAwMzk4MzQ+ XSAoa3RocmVhZF9kYXRhKSBmcm9tIFs8YzAwNTdkNjQ+XSAoaXJxX3RocmVhZF9kdG9yKzB4NTgv MHhiNCkKWyAgIDQ1LjAxNjM0NF0gWzxjMDA1N2QwYz5dIChpcnFfdGhyZWFkX2R0b3IpIGZyb20g WzxjMDAzN2NhOD5dICh0YXNrX3dvcmtfcnVuKzB4YTAvMHhiNCkKWyAgIDQ1LjAyNDI3N10gIHI1 OmMwNDk0MGRjIHI0OmM3YTE2NDAwClsgICA0NS4wMjc4NzddIFs8YzAwMzdjMDg+XSAodGFza193 b3JrX3J1bikgZnJvbSBbPGMwMDIyNDhjPl0gKGRvX2V4aXQrMHgzNWMvMHg3Y2MpClsgICA0NS4w MzUyODddICByNzpjN2ExNjQwMCByNjpjMDQ5MzVlYyByNTowMDAwMDAwMCByNDpjN2ExNjQwMApb ICAgNDUuMDQxMDAzXSBbPGMwMDIyMTMwPl0gKGRvX2V4aXQpIGZyb20gWzxjMDAxNzRhOD5dIChk aWUrMHgyNTgvMHgyZGMpClsgICA0NS4wNDc1NDJdICByNzpjN2ExNjQwMApbICAgNDUuMDUwMDkz XSBbPGMwMDE3MjUwPl0gKGRpZSkgZnJvbSBbPGMwMDFhZDA0Pl0gKF9fZG9fa2VybmVsX2ZhdWx0 LnBhcnQuMCsweDVjLzB4N2MpClsgICA0NS4wNTc5MzVdICByMTA6MDAwMDAwMTcgcjk6MDAwMDAw MDAgcjg6YzdhMTY0MDAgcjc6MDAwMDAwMDAgcjY6MDAwMDAwMTcgcjU6YzczZGZkNzgKWyAgIDQ1 LjA2NTgyMF0gIHI0OjAwMDAwMWZjClsgICA0NS4wNjgzNjZdIFs8YzAwMWFjYTg+XSAoX19kb19r ZXJuZWxfZmF1bHQucGFydC4wKSBmcm9tIFs8YzAwMWFmYTA+XSAoZG9fcGFnZV9mYXVsdCsweDI3 Yy8weDI5NCkKWyAgIDQ1LjA3NzI1N10gIHI3OjAwMDAwMWZjIHI0OjAwMDAwMDE3ClsgICA0NS4w ODA4NTZdIFs8YzAwMWFkMjQ+XSAoZG9fcGFnZV9mYXVsdCkgZnJvbSBbPGMwMDA5MmVjPl0gKGRv X0RhdGFBYm9ydCsweDNjLzB4YmMpClsgICA0NS4wODg1MjldICByMTA6MDAwMDAwMDAgcjk6Yzhj ZTUwMDAgcjg6YzhjZTUwMDAgcjc6YzczZGZkNzggcjY6YzA0ODBkNTggcjU6MDAwMDAxZmMKWyAg IDQ1LjA5NjQxNV0gIHI0OjAwMDAwMDE3ClsgICA0NS4wOTg5NjFdIFs8YzAwMDkyYjA+XSAoZG9f RGF0YUFib3J0KSBmcm9tIFs8YzAwMGEwMDA+XSAoX19kYWJ0X3N2YysweDQwLzB4NjApClsgICA0 NS4xMDYzNzNdIEV4Y2VwdGlvbiBzdGFjaygweGM3M2RmZDc4IHRvIDB4YzczZGZkYzApClsgICA0 NS4xMTE0MzFdIGZkNjA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDAwMDAwMDAwIGM3OTdhM2MwClsgICA0NS4xMTk2MjRdIGZkODA6IGM3M2Rm ZTI0IDAwMDAwMDAwIGM3OTdhM2MwIGMwNDdjODQ4IDAwMDAwMDAwIGM3YTA4ZTgwIGM4Y2U1MDAw IGM4Y2U1MDAwClsgICA0NS4xMjc4MjJdIGZkYTA6IDAwMDAwMDAwIGM3M2RmZTE0IGM3M2RmZTE4 IGM3M2RmZGM4IGMwMjUzZmY4IGMwMjUxMjg0IDYwMDAwMDEzIGZmZmZmZmZmClsgICA0NS4xMzYw MDldICByNzpjNzNkZmRhYyByNjpmZmZmZmZmZiByNTo2MDAwMDAxMyByNDpjMDI1MTI4NApbICAg NDUuMTQxNzI0XSBbPGMwMjUxMjYwPl0gKGdldF9ycHNfY3B1KSBmcm9tIFs8YzAyNTNmZjg+XSAo bmV0aWZfcnhfaW50ZXJuYWwrMHg4Yy8weGJjKQpbICAgNDUuMTQ5NjU4XSAgcjEwOjAwMDAwMDAw IHI5OmM4Y2U1MDAwIHI4OmM4Y2U1MDAwIHI3OmM3YTA4ZTgwIHI2OmM3OTdhM2MwIHI1OmMwNDdj ODQ4ClsgICA0NS4xNTc1NDNdICByNDpjNzk3YTNjMApbICAgNDUuMTYwMDg5XSBbPGMwMjUzZjZj Pl0gKG5ldGlmX3J4X2ludGVybmFsKSBmcm9tIFs8YzAyNTQwNzQ+XSAobmV0aWZfcnhfbmkrMHgx MC8weDQ0KQpbICAgNDUuMTY4MDIzXSAgcjU6MDAwMDAwMDAgcjQ6Yzc5N2EzYzAKWyAgIDQ1LjE3 MTY0NV0gWzxjMDI1NDA2ND5dIChuZXRpZl9yeF9uaSkgZnJvbSBbPGJmMjFmNDBjPl0gKGJyY21m X25ldGlmX3J4KzB4YWMvMHhiYyBbYnJjbWZtYWNdKQpbICAgNDUuMTgwMjcwXSAgcjU6MDAwMDAw MDAgcjQ6Yzc5N2EzYzAKWyAgIDQ1LjE4Mzg4NF0gWzxiZjIxZjM2MD5dIChicmNtZl9uZXRpZl9y eCBbYnJjbWZtYWNdKSBmcm9tIFs8YmYyMjRlYTQ+XSAoYnJjbWZfbXNnYnVmX3R4ZGF0YSsweDVj MC8weDY3YyBbYnJjbWZtYWNdKQpbICAgNDUuMTk0MzM0XSAgcjU6MDAwMDAwMDAgcjQ6YzcxMmE5 YzAKWyAgIDQ1LjE5Nzk0N10gWzxiZjIyNGEyYz5dIChicmNtZl9tc2didWZfdHhkYXRhIFticmNt Zm1hY10pIGZyb20gWzxiZjIyNGY4Yz5dIChicmNtZl9wcm90b19tc2didWZfcnhfdHJpZ2dlcisw eDJjLzB4ZDAgW2JyY21mbWFjXSkKWyAgIDQ1LjIwOTUzMl0gIHIxMDowMDAwMDAwMCByOTpjMDQ3 Zjg0MiByODpjNzE5YzFlNCByNzpjMDA1N2JiMCByNjpjNzg3ZTNjMCByNTowMDAxMDAwMApbICAg NDUuMjE3NDE4XSAgcjQ6YzcxMmE5YzAKWyAgIDQ1LjIxOTk3N10gWzxiZjIyNGY2MD5dIChicmNt Zl9wcm90b19tc2didWZfcnhfdHJpZ2dlciBbYnJjbWZtYWNdKSBmcm9tIFs8YmYyMjk2MDg+XSAo YnJjbWZfcGNpZV9pc3JfdGhyZWFkKzB4MWM0LzB4MjM4IFticmNtZm1hY10pClsgICA0NS4yMzE5 MTBdICByNzpjMDA1N2JiMCByNjpjNzg3ZTNjMCByNTowMDAxMDAwMCByNDpjN2FkNzAwMApbICAg NDUuMjM3NjIyXSBbPGJmMjI5NDQ0Pl0gKGJyY21mX3BjaWVfaXNyX3RocmVhZCBbYnJjbWZtYWNd KSBmcm9tIFs8YzAwNTdiZDQ+XSAoaXJxX3RocmVhZF9mbisweDI0LzB4M2MpClsgICA0NS4yNDcw MjhdICByOTpjMDQ3Zjg0MiByODpjNzE5YzFlNCByNzpjMDA1N2JiMCByNjpjNzg3ZTNjMCByNTpj NzE5YzFjMCByNDpjNzE5YzFjMApbICAgNDUuMjU0ODMxXSBbPGMwMDU3YmIwPl0gKGlycV90aHJl YWRfZm4pIGZyb20gWzxjMDA1N2ViOD5dIChpcnFfdGhyZWFkKzB4ZjgvMHgxZTQpClsgICA0NS4y NjI0MDhdICByNzpjMDA1N2JiMCByNjpjNzNkZTAwMCByNTpjNzE5YzFjMCByNDpjNzg3ZTNjMApb ICAgNDUuMjY4MTE1XSBbPGMwMDU3ZGMwPl0gKGlycV90aHJlYWQpIGZyb20gWzxjMDAzOTNhND5d IChrdGhyZWFkKzB4ZTAvMHhmNCkKWyAgIDQ1LjI3NTA5MV0gIHIxMDowMDAwMDAwMCByOTowMDAw MDAwMCByODowMDAwMDAwMCByNzpjMDA1N2RjMCByNjpjNzE5YzFjMCByNTowMDAwMDAwMApbICAg NDUuMjgyOTc2XSAgcjQ6YzcyNDRkODAKWyAgIDQ1LjI4NTUyMl0gWzxjMDAzOTJjND5dIChrdGhy ZWFkKSBmcm9tIFs8YzAwMDk3Yjg+XSAocmV0X2Zyb21fZm9yaysweDE0LzB4M2MpClsgICA0NS4y OTI3NjBdICByNzowMDAwMDAwMCByNjowMDAwMDAwMCByNTpjMDAzOTJjNCByNDpjNzI0NGQ4MApb ICAgNDUuMjk4NDY0XSBDb2RlOiBlMWEwYzAwZCBlOTJkZDgwMCBlMjRjYjAwNCBlNTkwMzI1YyAo ZTUxMzAwMTQpIApbICAgNDUuMzA0NTk1XSAtLS1bIGVuZCB0cmFjZSBmYmM1OTQwZTg5NWIwODkx IF0tLS0KWyAgIDQ1LjMwOTI0Ml0gRml4aW5nIHJlY3Vyc2l2ZSBmYXVsdCBidXQgcmVib290IGlz IG5lZWRlZCEK --001a11c3184e5dc7b405314c3db9--