Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sJwOs-007T3C-E9 for pgsql-hackers@arkaria.postgresql.org; Wed, 19 Jun 2024 14:35:02 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1sJwOp-00HYQd-HX for pgsql-hackers@arkaria.postgresql.org; Wed, 19 Jun 2024 14:35:00 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sJwOo-00HYAx-Sh for pgsql-hackers@lists.postgresql.org; Wed, 19 Jun 2024 14:35:00 +0000 Received: from mail-lj1-x230.google.com ([2a00:1450:4864:20::230]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sJwOl-0025if-UE for pgsql-hackers@lists.postgresql.org; Wed, 19 Jun 2024 14:34:57 +0000 Received: by mail-lj1-x230.google.com with SMTP id 38308e7fff4ca-2ec17eb4493so83347121fa.2 for ; Wed, 19 Jun 2024 07:34:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1718807694; x=1719412494; darn=lists.postgresql.org; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:from:to:cc:subject:date:message-id:reply-to; bh=4ebubR35c6EcN1ZP3BbsKHNo6rI/r++d61NFOpjpyMg=; b=FausXZ/d8iur43w4HrynVOcLULWEnUXhs5/cty+PJPE0SIzBUoN3S/OwrQUvWEw+2D C/vRVZaHKOJCZ9QpoqulLKWNJyuR0aj40BdOztWIx3ikKvsAtc8VpfTtdwYCbw7LmXC9 vs8xjWjJ4ik9lTsY218Pv3uTMUnzO6jfAjs7R9Sech4bMogcE127QjA2omWgz5pBC18l GnQBR0gZVJKujchBr8dwtRJ3uVNXS/VAcTi1tWYJ0G8SzG5oqLTRXFuxRSuZYwDgjE0y qUlV/d5vXrFkHqIAvigJ1/jyIQwI6TCDfbnEVeCinUborgUXNvys+eDuH1OrlRgqL0xU xIig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718807694; x=1719412494; h=subject:from:cc:to:content-language:user-agent:mime-version:date :message-id:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=4ebubR35c6EcN1ZP3BbsKHNo6rI/r++d61NFOpjpyMg=; b=MDOO1BqAKtXTfhlEfat+gDydmNs0/f7tDjuGqjs2KcqDQtKCvBWYhFqSFWF3J/FqOV SsHTbnjE7ssMjIx9cB6IayhmGQYmGKvwxHbnu8S64yVDk2NPOLpjvQzuYR9i3bMl5SXz CJfmF72gHFtFFu5gGnNYz3G9sTx4khdTdRqdwlxv7634O19fN1yvElbPgV9YZ0Dm/Xr7 cGQSFJ+NH/tlEMcd76Hv8wAcRpB0aopZbeMipoofpzuJWGvk1HXKsjNf0qxXEhYgS3qq yT7dXGLtkfPqIfZLgTxW+CTv2yE+BlAl1jgcTyyMrEAUZM5AYGaN1tiiewV2cVr+8xvB 07WQ== X-Gm-Message-State: AOJu0YzrDL1MhQl+7gbWfnj79/HzZqhT9bcdGZFfo3u7BMFOBlD41ive KOi9e5rae52724TaK4s0I5K4qItFDJmWTPpV0fQpLA+dPPjZuCe9DXR1b9NoAcpsigDhalfzoCw 62ISq/qtr86bQfioxWp2amieJpFjeT2Q7VETygJ9sY1gRH5x4ss5gou1djI2mgl26TpIemkKXyH EH9SUFt0CLDJ2Ge+cDAm6LQfsdZp+UdJXloN7MpznK+gN7A5+Y9fPj/vDvf7w+WQ== X-Google-Smtp-Source: AGHT+IGiBU1H28B0/UHVAlmFXfWkCq3S+al+0EOX5Rlq1bLW/ayY8PXn7AnDWWhNNMTexkzbR4BmMg== X-Received: by 2002:a2e:8811:0:b0:2ec:1779:fd5d with SMTP id 38308e7fff4ca-2ec3cec0dcemr22835141fa.19.1718807693587; Wed, 19 Jun 2024 07:34:53 -0700 (PDT) Received: from [10.137.0.18] (ip-86-49-229-30.bb.vodafone.cz. [86.49.229.30]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a6f8cc20663sm217142866b.190.2024.06.19.07.34.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 19 Jun 2024 07:34:53 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------5DbTrDJZt0gSei7HbPhz6bKJ" Message-ID: <120c63ad-3d12-415f-a7bf-3da451c31bf6@enterprisedb.com> Date: Wed, 19 Jun 2024 16:34:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: PostgreSQL Hackers Cc: John Naylor , Masahiko Sawada From: Tomas Vondra Subject: suspicious valgrind reports about radixtree/tidstore on arm64 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------5DbTrDJZt0gSei7HbPhz6bKJ Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Hi, I tried running master under valgrind on 64-bit ARM (rpi5 running debian 12.5), and I got some suspicous reports, all related to the radixtree code used by tidstore. I'm used to valgrind on arm sometimes reporting harmless issues, but this seems like it might be an actual issue. I'm attaching a snippet with a couple example reports. I can provide the complete report, but AFAIK it's all just repetitions of these cases. If needed, I can probably provide access to the rpi5 machine. regards -- Tomas Vondra EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company --------------5DbTrDJZt0gSei7HbPhz6bKJ Content-Type: text/x-log; charset=UTF-8; name="valgrind.102928.log" Content-Disposition: attachment; filename="valgrind.102928.log" Content-Transfer-Encoding: base64 PT0xMDMxOTA9PSBDb25kaXRpb25hbCBqdW1wIG9yIG1vdmUgZGVwZW5kcyBvbiB1bmluaXRp YWxpc2VkIHZhbHVlKHMpCj09MTAzMTkwPT0gICAgYXQgMHgyMUZBQzQ6IGxvY2FsX3RzX25v ZGVfMTZfc2VhcmNoX2VxIChyYWRpeHRyZWUuaDoxMDIyKQo9PTEwMzE5MD09ICAgIGJ5IDB4 MjFGQzBGOiBsb2NhbF90c19ub2RlX3NlYXJjaCAocmFkaXh0cmVlLmg6MTA1NykKPT0xMDMx OTA9PSAgICBieSAweDIyMEUyMzogbG9jYWxfdHNfZ2V0X3Nsb3RfcmVjdXJzaXZlIChyYWRp eHRyZWUuaDoxNjY3KQo9PTEwMzE5MD09ICAgIGJ5IDB4MjIxMDQzOiBsb2NhbF90c19zZXQg KHJhZGl4dHJlZS5oOjE3NDQpCj09MTAzMTkwPT0gICAgYnkgMHgyMjUzQTc6IFRpZFN0b3Jl U2V0QmxvY2tPZmZzZXRzICh0aWRzdG9yZS5jOjQyNykKPT0xMDMxOTA9PSAgICBieSAweDI5 MTJFRjogZGVhZF9pdGVtc19hZGQgKHZhY3V1bWxhenkuYzoyODkyKQo9PTEwMzE5MD09ICAg IGJ5IDB4MjhGMTkzOiBsYXp5X3NjYW5fcHJ1bmUgKHZhY3V1bWxhenkuYzoxNTAwKQo9PTEw MzE5MD09ICAgIGJ5IDB4MjhFNzY3OiBsYXp5X3NjYW5faGVhcCAodmFjdXVtbGF6eS5jOjk3 NSkKPT0xMDMxOTA9PSAgICBieSAweDI4RDhDNzogaGVhcF92YWN1dW1fcmVsICh2YWN1dW1s YXp5LmM6NDk3KQo9PTEwMzE5MD09ICAgIGJ5IDB4NEMwRDJCOiB0YWJsZV9yZWxhdGlvbl92 YWN1dW0gKHRhYmxlYW0uaDoxNzIwKQo9PTEwMzE5MD09ICAgIGJ5IDB4NEM0NThGOiB2YWN1 dW1fcmVsICh2YWN1dW0uYzoyMjEwKQo9PTEwMzE5MD09ICAgIGJ5IDB4NEMxRjhCOiB2YWN1 dW0gKHZhY3V1bS5jOjYyMikKPT0xMDMxOTA9PSAgICBieSAweDZBMjg3NzogYXV0b3ZhY3V1 bV9kb192YWNfYW5hbHl6ZSAoYXV0b3ZhY3V1bS5jOjMxMDApCj09MTAzMTkwPT0gICAgYnkg MHg2QTE0NEY6IGRvX2F1dG92YWN1dW0gKGF1dG92YWN1dW0uYzoyNDE3KQo9PTEwMzE5MD09 ICAgIGJ5IDB4NjlGRUU3OiBBdXRvVmFjV29ya2VyTWFpbiAoYXV0b3ZhY3V1bS5jOjE1Njkp Cj09MTAzMTkwPT0gICAgYnkgMHg2QTczOUI6IHBvc3RtYXN0ZXJfY2hpbGRfbGF1bmNoIChs YXVuY2hfYmFja2VuZC5jOjI2NSkKPT0xMDMxOTA9PSAgICBieSAweDZBRTlGMzogU3RhcnRD aGlsZFByb2Nlc3MgKHBvc3RtYXN0ZXIuYzozOTI4KQo9PTEwMzE5MD09ICAgIGJ5IDB4NkFF QjYzOiBTdGFydEF1dG92YWN1dW1Xb3JrZXIgKHBvc3RtYXN0ZXIuYzozOTk3KQo9PTEwMzE5 MD09ICAgIGJ5IDB4NkFFN0RGOiBwcm9jZXNzX3BtX3Btc2lnbmFsIChwb3N0bWFzdGVyLmM6 MzgwOSkKPT0xMDMxOTA9PSAgICBieSAweDZBQTkzNzogU2VydmVyTG9vcCAocG9zdG1hc3Rl ci5jOjE2NjcpCj09MTAzMTkwPT0gIFVuaW5pdGlhbGlzZWQgdmFsdWUgd2FzIGNyZWF0ZWQg YnkgYSBoZWFwIGFsbG9jYXRpb24KPT0xMDMxOTA9PSAgICBhdCAweDlEQUUzMDogTWVtb3J5 Q29udGV4dEFsbG9jIChtY3h0LmM6MTIwMSkKPT0xMDMxOTA9PSAgICBieSAweDIxRjdEMzog bG9jYWxfdHNfYWxsb2Nfbm9kZSAocmFkaXh0cmVlLmg6ODM5KQo9PTEwMzE5MD09ICAgIGJ5 IDB4MjIwOEEzOiBsb2NhbF90c19ncm93X25vZGVfNCAocmFkaXh0cmVlLmg6MTQ4NCkKPT0x MDMxOTA9PSAgICBieSAweDIyMEFERjogbG9jYWxfdHNfbm9kZV9pbnNlcnQgKHJhZGl4dHJl ZS5oOjE1NDcpCj09MTAzMTkwPT0gICAgYnkgMHgyMjBFNEY6IGxvY2FsX3RzX2dldF9zbG90 X3JlY3Vyc2l2ZSAocmFkaXh0cmVlLmg6MTY3NSkKPT0xMDMxOTA9PSAgICBieSAweDIyMTA0 MzogbG9jYWxfdHNfc2V0IChyYWRpeHRyZWUuaDoxNzQ0KQo9PTEwMzE5MD09ICAgIGJ5IDB4 MjI1M0E3OiBUaWRTdG9yZVNldEJsb2NrT2Zmc2V0cyAodGlkc3RvcmUuYzo0MjcpCj09MTAz MTkwPT0gICAgYnkgMHgyOTEyRUY6IGRlYWRfaXRlbXNfYWRkICh2YWN1dW1sYXp5LmM6Mjg5 MikKPT0xMDMxOTA9PSAgICBieSAweDI4RjE5MzogbGF6eV9zY2FuX3BydW5lICh2YWN1dW1s YXp5LmM6MTUwMCkKPT0xMDMxOTA9PSAgICBieSAweDI4RTc2NzogbGF6eV9zY2FuX2hlYXAg KHZhY3V1bWxhenkuYzo5NzUpCj09MTAzMTkwPT0gICAgYnkgMHgyOEQ4Qzc6IGhlYXBfdmFj dXVtX3JlbCAodmFjdXVtbGF6eS5jOjQ5NykKPT0xMDMxOTA9PSAgICBieSAweDRDMEQyQjog dGFibGVfcmVsYXRpb25fdmFjdXVtICh0YWJsZWFtLmg6MTcyMCkKPT0xMDMxOTA9PSAgICBi eSAweDRDNDU4RjogdmFjdXVtX3JlbCAodmFjdXVtLmM6MjIxMCkKPT0xMDMxOTA9PSAgICBi eSAweDRDMUY4QjogdmFjdXVtICh2YWN1dW0uYzo2MjIpCj09MTAzMTkwPT0gICAgYnkgMHg2 QTI4Nzc6IGF1dG92YWN1dW1fZG9fdmFjX2FuYWx5emUgKGF1dG92YWN1dW0uYzozMTAwKQo9 PTEwMzE5MD09ICAgIGJ5IDB4NkExNDRGOiBkb19hdXRvdmFjdXVtIChhdXRvdmFjdXVtLmM6 MjQxNykKPT0xMDMxOTA9PSAgICBieSAweDY5RkVFNzogQXV0b1ZhY1dvcmtlck1haW4gKGF1 dG92YWN1dW0uYzoxNTY5KQo9PTEwMzE5MD09ICAgIGJ5IDB4NkE3MzlCOiBwb3N0bWFzdGVy X2NoaWxkX2xhdW5jaCAobGF1bmNoX2JhY2tlbmQuYzoyNjUpCj09MTAzMTkwPT0gICAgYnkg MHg2QUU5RjM6IFN0YXJ0Q2hpbGRQcm9jZXNzIChwb3N0bWFzdGVyLmM6MzkyOCkKPT0xMDMx OTA9PSAgICBieSAweDZBRUI2MzogU3RhcnRBdXRvdmFjdXVtV29ya2VyIChwb3N0bWFzdGVy LmM6Mzk5NykKPT0xMDMxOTA9PSAKewogICA8aW5zZXJ0X2Ffc3VwcHJlc3Npb25fbmFtZV9o ZXJlPgogICBNZW1jaGVjazpDb25kCiAgIGZ1bjpsb2NhbF90c19ub2RlXzE2X3NlYXJjaF9l cQogICBmdW46bG9jYWxfdHNfbm9kZV9zZWFyY2gKICAgZnVuOmxvY2FsX3RzX2dldF9zbG90 X3JlY3Vyc2l2ZQogICBmdW46bG9jYWxfdHNfc2V0CiAgIGZ1bjpUaWRTdG9yZVNldEJsb2Nr T2Zmc2V0cwogICBmdW46ZGVhZF9pdGVtc19hZGQKICAgZnVuOmxhenlfc2Nhbl9wcnVuZQog ICBmdW46bGF6eV9zY2FuX2hlYXAKICAgZnVuOmhlYXBfdmFjdXVtX3JlbAogICBmdW46dGFi bGVfcmVsYXRpb25fdmFjdXVtCiAgIGZ1bjp2YWN1dW1fcmVsCiAgIGZ1bjp2YWN1dW0KICAg ZnVuOmF1dG92YWN1dW1fZG9fdmFjX2FuYWx5emUKICAgZnVuOmRvX2F1dG92YWN1dW0KICAg ZnVuOkF1dG9WYWNXb3JrZXJNYWluCiAgIGZ1bjpwb3N0bWFzdGVyX2NoaWxkX2xhdW5jaAog ICBmdW46U3RhcnRDaGlsZFByb2Nlc3MKICAgZnVuOlN0YXJ0QXV0b3ZhY3V1bVdvcmtlcgog ICBmdW46cHJvY2Vzc19wbV9wbXNpZ25hbAogICBmdW46U2VydmVyTG9vcAp9Cj09MTAzMTkw PT0gQ29uZGl0aW9uYWwganVtcCBvciBtb3ZlIGRlcGVuZHMgb24gdW5pbml0aWFsaXNlZCB2 YWx1ZShzKQo9PTEwMzE5MD09ICAgIGF0IDB4MjFGMThDOiBwZ19yaWdodG1vc3Rfb25lX3Bv czMyIChwZ19iaXR1dGlscy5oOjExNCkKPT0xMDMxOTA9PSAgICBieSAweDIxRkFDRjogbG9j YWxfdHNfbm9kZV8xNl9zZWFyY2hfZXEgKHJhZGl4dHJlZS5oOjEwMjMpCj09MTAzMTkwPT0g ICAgYnkgMHgyMUZDMEY6IGxvY2FsX3RzX25vZGVfc2VhcmNoIChyYWRpeHRyZWUuaDoxMDU3 KQo9PTEwMzE5MD09ICAgIGJ5IDB4MjFGRDU3OiBsb2NhbF90c19maW5kIChyYWRpeHRyZWUu aDoxMTExKQo9PTEwMzE5MD09ICAgIGJ5IDB4MjI1NDEzOiBUaWRTdG9yZUlzTWVtYmVyICh0 aWRzdG9yZS5jOjQ0MykKPT0xMDMxOTA9PSAgICBieSAweDRDNERCRjogdmFjX3RpZF9yZWFw ZWQgKHZhY3V1bS5jOjI1NDUpCj09MTAzMTkwPT0gICAgYnkgMHgyQTg2RDc6IGJ0dmFjdXVt cGFnZSAobmJ0cmVlLmM6MTIzNSkKPT0xMDMxOTA9PSAgICBieSAweDJBODI5QjogYnR2YWN1 dW1zY2FuIChuYnRyZWUuYzoxMDIzKQo9PTEwMzE5MD09ICAgIGJ5IDB4MkE3RjFCOiBidGJ1 bGtkZWxldGUgKG5idHJlZS5jOjgyNCkKPT0xMDMxOTA9PSAgICBieSAweDI5NkM3MzogaW5k ZXhfYnVsa19kZWxldGUgKGluZGV4YW0uYzo3NTgpCj09MTAzMTkwPT0gICAgYnkgMHg0QzRD NjM6IHZhY19idWxrZGVsX29uZV9pbmRleCAodmFjdXVtLmM6MjQ5OCkKPT0xMDMxOTA9PSAg ICBieSAweDI5MDk1NzogbGF6eV92YWN1dW1fb25lX2luZGV4ICh2YWN1dW1sYXp5LmM6MjQ0 MykKPT0xMDMxOTA9PSAgICBieSAweDI4RkQ3QjogbGF6eV92YWN1dW1fYWxsX2luZGV4ZXMg KHZhY3V1bWxhenkuYzoyMDI2KQo9PTEwMzE5MD09ICAgIGJ5IDB4MjhGQjdCOiBsYXp5X3Zh Y3V1bSAodmFjdXVtbGF6eS5jOjE5NDQpCj09MTAzMTkwPT0gICAgYnkgMHgyOEU5M0Y6IGxh enlfc2Nhbl9oZWFwICh2YWN1dW1sYXp5LmM6MTA1MCkKPT0xMDMxOTA9PSAgICBieSAweDI4 RDhDNzogaGVhcF92YWN1dW1fcmVsICh2YWN1dW1sYXp5LmM6NDk3KQo9PTEwMzE5MD09ICAg IGJ5IDB4NEMwRDJCOiB0YWJsZV9yZWxhdGlvbl92YWN1dW0gKHRhYmxlYW0uaDoxNzIwKQo9 PTEwMzE5MD09ICAgIGJ5IDB4NEM0NThGOiB2YWN1dW1fcmVsICh2YWN1dW0uYzoyMjEwKQo9 PTEwMzE5MD09ICAgIGJ5IDB4NEMxRjhCOiB2YWN1dW0gKHZhY3V1bS5jOjYyMikKPT0xMDMx OTA9PSAgICBieSAweDZBMjg3NzogYXV0b3ZhY3V1bV9kb192YWNfYW5hbHl6ZSAoYXV0b3Zh Y3V1bS5jOjMxMDApCj09MTAzMTkwPT0gIFVuaW5pdGlhbGlzZWQgdmFsdWUgd2FzIGNyZWF0 ZWQgYnkgYSBoZWFwIGFsbG9jYXRpb24KPT0xMDMxOTA9PSAgICBhdCAweDlEQUUzMDogTWVt b3J5Q29udGV4dEFsbG9jIChtY3h0LmM6MTIwMSkKPT0xMDMxOTA9PSAgICBieSAweDIxRjdE MzogbG9jYWxfdHNfYWxsb2Nfbm9kZSAocmFkaXh0cmVlLmg6ODM5KQo9PTEwMzE5MD09ICAg IGJ5IDB4MjIwNTI3OiBsb2NhbF90c19ncm93X25vZGVfMTYgKHJhZGl4dHJlZS5oOjEzODMp Cj09MTAzMTkwPT0gICAgYnkgMHgyMjBCMzM6IGxvY2FsX3RzX25vZGVfaW5zZXJ0IChyYWRp eHRyZWUuaDoxNTU0KQo9PTEwMzE5MD09ICAgIGJ5IDB4MjIwRTRGOiBsb2NhbF90c19nZXRf c2xvdF9yZWN1cnNpdmUgKHJhZGl4dHJlZS5oOjE2NzUpCj09MTAzMTkwPT0gICAgYnkgMHgy MjEwNDM6IGxvY2FsX3RzX3NldCAocmFkaXh0cmVlLmg6MTc0NCkKPT0xMDMxOTA9PSAgICBi eSAweDIyNTNBNzogVGlkU3RvcmVTZXRCbG9ja09mZnNldHMgKHRpZHN0b3JlLmM6NDI3KQo9 PTEwMzE5MD09ICAgIGJ5IDB4MjkxMkVGOiBkZWFkX2l0ZW1zX2FkZCAodmFjdXVtbGF6eS5j OjI4OTIpCj09MTAzMTkwPT0gICAgYnkgMHgyOEYxOTM6IGxhenlfc2Nhbl9wcnVuZSAodmFj dXVtbGF6eS5jOjE1MDApCj09MTAzMTkwPT0gICAgYnkgMHgyOEU3Njc6IGxhenlfc2Nhbl9o ZWFwICh2YWN1dW1sYXp5LmM6OTc1KQo9PTEwMzE5MD09ICAgIGJ5IDB4MjhEOEM3OiBoZWFw X3ZhY3V1bV9yZWwgKHZhY3V1bWxhenkuYzo0OTcpCj09MTAzMTkwPT0gICAgYnkgMHg0QzBE MkI6IHRhYmxlX3JlbGF0aW9uX3ZhY3V1bSAodGFibGVhbS5oOjE3MjApCj09MTAzMTkwPT0g ICAgYnkgMHg0QzQ1OEY6IHZhY3V1bV9yZWwgKHZhY3V1bS5jOjIyMTApCj09MTAzMTkwPT0g ICAgYnkgMHg0QzFGOEI6IHZhY3V1bSAodmFjdXVtLmM6NjIyKQo9PTEwMzE5MD09ICAgIGJ5 IDB4NkEyODc3OiBhdXRvdmFjdXVtX2RvX3ZhY19hbmFseXplIChhdXRvdmFjdXVtLmM6MzEw MCkKPT0xMDMxOTA9PSAgICBieSAweDZBMTQ0RjogZG9fYXV0b3ZhY3V1bSAoYXV0b3ZhY3V1 bS5jOjI0MTcpCj09MTAzMTkwPT0gICAgYnkgMHg2OUZFRTc6IEF1dG9WYWNXb3JrZXJNYWlu IChhdXRvdmFjdXVtLmM6MTU2OSkKPT0xMDMxOTA9PSAgICBieSAweDZBNzM5QjogcG9zdG1h c3Rlcl9jaGlsZF9sYXVuY2ggKGxhdW5jaF9iYWNrZW5kLmM6MjY1KQo9PTEwMzE5MD09ICAg IGJ5IDB4NkFFOUYzOiBTdGFydENoaWxkUHJvY2VzcyAocG9zdG1hc3Rlci5jOjM5MjgpCj09 MTAzMTkwPT0gICAgYnkgMHg2QUVCNjM6IFN0YXJ0QXV0b3ZhY3V1bVdvcmtlciAocG9zdG1h c3Rlci5jOjM5OTcpCj09MTAzMTkwPT0gCnsKICAgPGluc2VydF9hX3N1cHByZXNzaW9uX25h bWVfaGVyZT4KICAgTWVtY2hlY2s6Q29uZAogICBmdW46cGdfcmlnaHRtb3N0X29uZV9wb3Mz MgogICBmdW46bG9jYWxfdHNfbm9kZV8xNl9zZWFyY2hfZXEKICAgZnVuOmxvY2FsX3RzX25v ZGVfc2VhcmNoCiAgIGZ1bjpsb2NhbF90c19maW5kCiAgIGZ1bjpUaWRTdG9yZUlzTWVtYmVy CiAgIGZ1bjp2YWNfdGlkX3JlYXBlZAogICBmdW46YnR2YWN1dW1wYWdlCiAgIGZ1bjpidHZh Y3V1bXNjYW4KICAgZnVuOmJ0YnVsa2RlbGV0ZQogICBmdW46aW5kZXhfYnVsa19kZWxldGUK ICAgZnVuOnZhY19idWxrZGVsX29uZV9pbmRleAogICBmdW46bGF6eV92YWN1dW1fb25lX2lu ZGV4CiAgIGZ1bjpsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcwogICBmdW46bGF6eV92YWN1dW0K ICAgZnVuOmxhenlfc2Nhbl9oZWFwCiAgIGZ1bjpoZWFwX3ZhY3V1bV9yZWwKICAgZnVuOnRh YmxlX3JlbGF0aW9uX3ZhY3V1bQogICBmdW46dmFjdXVtX3JlbAogICBmdW46dmFjdXVtCiAg IGZ1bjphdXRvdmFjdXVtX2RvX3ZhY19hbmFseXplCn0KPT0xMDMxOTA9PSBDb25kaXRpb25h bCBqdW1wIG9yIG1vdmUgZGVwZW5kcyBvbiB1bmluaXRpYWxpc2VkIHZhbHVlKHMpCj09MTAz MTkwPT0gICAgYXQgMHgyMUZENjQ6IGxvY2FsX3RzX2ZpbmQgKHJhZGl4dHJlZS5oOjExMTIp Cj09MTAzMTkwPT0gICAgYnkgMHgyMjU0MTM6IFRpZFN0b3JlSXNNZW1iZXIgKHRpZHN0b3Jl LmM6NDQzKQo9PTEwMzE5MD09ICAgIGJ5IDB4NEM0REJGOiB2YWNfdGlkX3JlYXBlZCAodmFj dXVtLmM6MjU0NSkKPT0xMDMxOTA9PSAgICBieSAweDJBODZENzogYnR2YWN1dW1wYWdlIChu YnRyZWUuYzoxMjM1KQo9PTEwMzE5MD09ICAgIGJ5IDB4MkE4MjlCOiBidHZhY3V1bXNjYW4g KG5idHJlZS5jOjEwMjMpCj09MTAzMTkwPT0gICAgYnkgMHgyQTdGMUI6IGJ0YnVsa2RlbGV0 ZSAobmJ0cmVlLmM6ODI0KQo9PTEwMzE5MD09ICAgIGJ5IDB4Mjk2QzczOiBpbmRleF9idWxr X2RlbGV0ZSAoaW5kZXhhbS5jOjc1OCkKPT0xMDMxOTA9PSAgICBieSAweDRDNEM2MzogdmFj X2J1bGtkZWxfb25lX2luZGV4ICh2YWN1dW0uYzoyNDk4KQo9PTEwMzE5MD09ICAgIGJ5IDB4 MjkwOTU3OiBsYXp5X3ZhY3V1bV9vbmVfaW5kZXggKHZhY3V1bWxhenkuYzoyNDQzKQo9PTEw MzE5MD09ICAgIGJ5IDB4MjhGRDdCOiBsYXp5X3ZhY3V1bV9hbGxfaW5kZXhlcyAodmFjdXVt bGF6eS5jOjIwMjYpCj09MTAzMTkwPT0gICAgYnkgMHgyOEZCN0I6IGxhenlfdmFjdXVtICh2 YWN1dW1sYXp5LmM6MTk0NCkKPT0xMDMxOTA9PSAgICBieSAweDI4RTkzRjogbGF6eV9zY2Fu X2hlYXAgKHZhY3V1bWxhenkuYzoxMDUwKQo9PTEwMzE5MD09ICAgIGJ5IDB4MjhEOEM3OiBo ZWFwX3ZhY3V1bV9yZWwgKHZhY3V1bWxhenkuYzo0OTcpCj09MTAzMTkwPT0gICAgYnkgMHg0 QzBEMkI6IHRhYmxlX3JlbGF0aW9uX3ZhY3V1bSAodGFibGVhbS5oOjE3MjApCj09MTAzMTkw PT0gICAgYnkgMHg0QzQ1OEY6IHZhY3V1bV9yZWwgKHZhY3V1bS5jOjIyMTApCj09MTAzMTkw PT0gICAgYnkgMHg0QzFGOEI6IHZhY3V1bSAodmFjdXVtLmM6NjIyKQo9PTEwMzE5MD09ICAg IGJ5IDB4NkEyODc3OiBhdXRvdmFjdXVtX2RvX3ZhY19hbmFseXplIChhdXRvdmFjdXVtLmM6 MzEwMCkKPT0xMDMxOTA9PSAgICBieSAweDZBMTQ0RjogZG9fYXV0b3ZhY3V1bSAoYXV0b3Zh Y3V1bS5jOjI0MTcpCj09MTAzMTkwPT0gICAgYnkgMHg2OUZFRTc6IEF1dG9WYWNXb3JrZXJN YWluIChhdXRvdmFjdXVtLmM6MTU2OSkKPT0xMDMxOTA9PSAgICBieSAweDZBNzM5QjogcG9z dG1hc3Rlcl9jaGlsZF9sYXVuY2ggKGxhdW5jaF9iYWNrZW5kLmM6MjY1KQo9PTEwMzE5MD09 ICBVbmluaXRpYWxpc2VkIHZhbHVlIHdhcyBjcmVhdGVkIGJ5IGEgaGVhcCBhbGxvY2F0aW9u Cj09MTAzMTkwPT0gICAgYXQgMHg5REFFMzA6IE1lbW9yeUNvbnRleHRBbGxvYyAobWN4dC5j OjEyMDEpCj09MTAzMTkwPT0gICAgYnkgMHgyMUY3RDM6IGxvY2FsX3RzX2FsbG9jX25vZGUg KHJhZGl4dHJlZS5oOjgzOSkKPT0xMDMxOTA9PSAgICBieSAweDIyMDUyNzogbG9jYWxfdHNf Z3Jvd19ub2RlXzE2IChyYWRpeHRyZWUuaDoxMzgzKQo9PTEwMzE5MD09ICAgIGJ5IDB4MjIw QjMzOiBsb2NhbF90c19ub2RlX2luc2VydCAocmFkaXh0cmVlLmg6MTU1NCkKPT0xMDMxOTA9 PSAgICBieSAweDIyMEU0RjogbG9jYWxfdHNfZ2V0X3Nsb3RfcmVjdXJzaXZlIChyYWRpeHRy ZWUuaDoxNjc1KQo9PTEwMzE5MD09ICAgIGJ5IDB4MjIxMDQzOiBsb2NhbF90c19zZXQgKHJh ZGl4dHJlZS5oOjE3NDQpCj09MTAzMTkwPT0gICAgYnkgMHgyMjUzQTc6IFRpZFN0b3JlU2V0 QmxvY2tPZmZzZXRzICh0aWRzdG9yZS5jOjQyNykKPT0xMDMxOTA9PSAgICBieSAweDI5MTJF RjogZGVhZF9pdGVtc19hZGQgKHZhY3V1bWxhenkuYzoyODkyKQo9PTEwMzE5MD09ICAgIGJ5 IDB4MjhGMTkzOiBsYXp5X3NjYW5fcHJ1bmUgKHZhY3V1bWxhenkuYzoxNTAwKQo9PTEwMzE5 MD09ICAgIGJ5IDB4MjhFNzY3OiBsYXp5X3NjYW5faGVhcCAodmFjdXVtbGF6eS5jOjk3NSkK PT0xMDMxOTA9PSAgICBieSAweDI4RDhDNzogaGVhcF92YWN1dW1fcmVsICh2YWN1dW1sYXp5 LmM6NDk3KQo9PTEwMzE5MD09ICAgIGJ5IDB4NEMwRDJCOiB0YWJsZV9yZWxhdGlvbl92YWN1 dW0gKHRhYmxlYW0uaDoxNzIwKQo9PTEwMzE5MD09ICAgIGJ5IDB4NEM0NThGOiB2YWN1dW1f cmVsICh2YWN1dW0uYzoyMjEwKQo9PTEwMzE5MD09ICAgIGJ5IDB4NEMxRjhCOiB2YWN1dW0g KHZhY3V1bS5jOjYyMikKPT0xMDMxOTA9PSAgICBieSAweDZBMjg3NzogYXV0b3ZhY3V1bV9k b192YWNfYW5hbHl6ZSAoYXV0b3ZhY3V1bS5jOjMxMDApCj09MTAzMTkwPT0gICAgYnkgMHg2 QTE0NEY6IGRvX2F1dG92YWN1dW0gKGF1dG92YWN1dW0uYzoyNDE3KQo9PTEwMzE5MD09ICAg IGJ5IDB4NjlGRUU3OiBBdXRvVmFjV29ya2VyTWFpbiAoYXV0b3ZhY3V1bS5jOjE1NjkpCj09 MTAzMTkwPT0gICAgYnkgMHg2QTczOUI6IHBvc3RtYXN0ZXJfY2hpbGRfbGF1bmNoIChsYXVu Y2hfYmFja2VuZC5jOjI2NSkKPT0xMDMxOTA9PSAgICBieSAweDZBRTlGMzogU3RhcnRDaGls ZFByb2Nlc3MgKHBvc3RtYXN0ZXIuYzozOTI4KQo9PTEwMzE5MD09ICAgIGJ5IDB4NkFFQjYz OiBTdGFydEF1dG92YWN1dW1Xb3JrZXIgKHBvc3RtYXN0ZXIuYzozOTk3KQo9PTEwMzE5MD09 IAp7CiAgIDxpbnNlcnRfYV9zdXBwcmVzc2lvbl9uYW1lX2hlcmU+CiAgIE1lbWNoZWNrOkNv bmQKICAgZnVuOmxvY2FsX3RzX2ZpbmQKICAgZnVuOlRpZFN0b3JlSXNNZW1iZXIKICAgZnVu OnZhY190aWRfcmVhcGVkCiAgIGZ1bjpidHZhY3V1bXBhZ2UKICAgZnVuOmJ0dmFjdXVtc2Nh bgogICBmdW46YnRidWxrZGVsZXRlCiAgIGZ1bjppbmRleF9idWxrX2RlbGV0ZQogICBmdW46 dmFjX2J1bGtkZWxfb25lX2luZGV4CiAgIGZ1bjpsYXp5X3ZhY3V1bV9vbmVfaW5kZXgKICAg ZnVuOmxhenlfdmFjdXVtX2FsbF9pbmRleGVzCiAgIGZ1bjpsYXp5X3ZhY3V1bQogICBmdW46 bGF6eV9zY2FuX2hlYXAKICAgZnVuOmhlYXBfdmFjdXVtX3JlbAogICBmdW46dGFibGVfcmVs YXRpb25fdmFjdXVtCiAgIGZ1bjp2YWN1dW1fcmVsCiAgIGZ1bjp2YWN1dW0KICAgZnVuOmF1 dG92YWN1dW1fZG9fdmFjX2FuYWx5emUKICAgZnVuOmRvX2F1dG92YWN1dW0KICAgZnVuOkF1 dG9WYWNXb3JrZXJNYWluCiAgIGZ1bjpwb3N0bWFzdGVyX2NoaWxkX2xhdW5jaAp9Cj09MTAz MTkwPT0gQ29uZGl0aW9uYWwganVtcCBvciBtb3ZlIGRlcGVuZHMgb24gdW5pbml0aWFsaXNl ZCB2YWx1ZShzKQo9PTEwMzE5MD09ICAgIGF0IDB4MjI1NDIwOiBUaWRTdG9yZUlzTWVtYmVy ICh0aWRzdG9yZS5jOjQ0NikKPT0xMDMxOTA9PSAgICBieSAweDRDNERCRjogdmFjX3RpZF9y ZWFwZWQgKHZhY3V1bS5jOjI1NDUpCj09MTAzMTkwPT0gICAgYnkgMHgyQTg2RDc6IGJ0dmFj dXVtcGFnZSAobmJ0cmVlLmM6MTIzNSkKPT0xMDMxOTA9PSAgICBieSAweDJBODI5QjogYnR2 YWN1dW1zY2FuIChuYnRyZWUuYzoxMDIzKQo9PTEwMzE5MD09ICAgIGJ5IDB4MkE3RjFCOiBi dGJ1bGtkZWxldGUgKG5idHJlZS5jOjgyNCkKPT0xMDMxOTA9PSAgICBieSAweDI5NkM3Mzog aW5kZXhfYnVsa19kZWxldGUgKGluZGV4YW0uYzo3NTgpCj09MTAzMTkwPT0gICAgYnkgMHg0 QzRDNjM6IHZhY19idWxrZGVsX29uZV9pbmRleCAodmFjdXVtLmM6MjQ5OCkKPT0xMDMxOTA9 PSAgICBieSAweDI5MDk1NzogbGF6eV92YWN1dW1fb25lX2luZGV4ICh2YWN1dW1sYXp5LmM6 MjQ0MykKPT0xMDMxOTA9PSAgICBieSAweDI4RkQ3QjogbGF6eV92YWN1dW1fYWxsX2luZGV4 ZXMgKHZhY3V1bWxhenkuYzoyMDI2KQo9PTEwMzE5MD09ICAgIGJ5IDB4MjhGQjdCOiBsYXp5 X3ZhY3V1bSAodmFjdXVtbGF6eS5jOjE5NDQpCj09MTAzMTkwPT0gICAgYnkgMHgyOEU5M0Y6 IGxhenlfc2Nhbl9oZWFwICh2YWN1dW1sYXp5LmM6MTA1MCkKPT0xMDMxOTA9PSAgICBieSAw eDI4RDhDNzogaGVhcF92YWN1dW1fcmVsICh2YWN1dW1sYXp5LmM6NDk3KQo9PTEwMzE5MD09 ICAgIGJ5IDB4NEMwRDJCOiB0YWJsZV9yZWxhdGlvbl92YWN1dW0gKHRhYmxlYW0uaDoxNzIw KQo9PTEwMzE5MD09ICAgIGJ5IDB4NEM0NThGOiB2YWN1dW1fcmVsICh2YWN1dW0uYzoyMjEw KQo9PTEwMzE5MD09ICAgIGJ5IDB4NEMxRjhCOiB2YWN1dW0gKHZhY3V1bS5jOjYyMikKPT0x MDMxOTA9PSAgICBieSAweDZBMjg3NzogYXV0b3ZhY3V1bV9kb192YWNfYW5hbHl6ZSAoYXV0 b3ZhY3V1bS5jOjMxMDApCj09MTAzMTkwPT0gICAgYnkgMHg2QTE0NEY6IGRvX2F1dG92YWN1 dW0gKGF1dG92YWN1dW0uYzoyNDE3KQo9PTEwMzE5MD09ICAgIGJ5IDB4NjlGRUU3OiBBdXRv VmFjV29ya2VyTWFpbiAoYXV0b3ZhY3V1bS5jOjE1NjkpCj09MTAzMTkwPT0gICAgYnkgMHg2 QTczOUI6IHBvc3RtYXN0ZXJfY2hpbGRfbGF1bmNoIChsYXVuY2hfYmFja2VuZC5jOjI2NSkK PT0xMDMxOTA9PSAgICBieSAweDZBRTlGMzogU3RhcnRDaGlsZFByb2Nlc3MgKHBvc3RtYXN0 ZXIuYzozOTI4KQo9PTEwMzE5MD09ICBVbmluaXRpYWxpc2VkIHZhbHVlIHdhcyBjcmVhdGVk IGJ5IGEgaGVhcCBhbGxvY2F0aW9uCj09MTAzMTkwPT0gICAgYXQgMHg5REFFMzA6IE1lbW9y eUNvbnRleHRBbGxvYyAobWN4dC5jOjEyMDEpCj09MTAzMTkwPT0gICAgYnkgMHgyMUY3RDM6 IGxvY2FsX3RzX2FsbG9jX25vZGUgKHJhZGl4dHJlZS5oOjgzOSkKPT0xMDMxOTA9PSAgICBi eSAweDIyMDUyNzogbG9jYWxfdHNfZ3Jvd19ub2RlXzE2IChyYWRpeHRyZWUuaDoxMzgzKQo9 PTEwMzE5MD09ICAgIGJ5IDB4MjIwQjMzOiBsb2NhbF90c19ub2RlX2luc2VydCAocmFkaXh0 cmVlLmg6MTU1NCkKPT0xMDMxOTA9PSAgICBieSAweDIyMEU0RjogbG9jYWxfdHNfZ2V0X3Ns b3RfcmVjdXJzaXZlIChyYWRpeHRyZWUuaDoxNjc1KQo9PTEwMzE5MD09ICAgIGJ5IDB4MjIx MDQzOiBsb2NhbF90c19zZXQgKHJhZGl4dHJlZS5oOjE3NDQpCj09MTAzMTkwPT0gICAgYnkg MHgyMjUzQTc6IFRpZFN0b3JlU2V0QmxvY2tPZmZzZXRzICh0aWRzdG9yZS5jOjQyNykKPT0x MDMxOTA9PSAgICBieSAweDI5MTJFRjogZGVhZF9pdGVtc19hZGQgKHZhY3V1bWxhenkuYzoy ODkyKQo9PTEwMzE5MD09ICAgIGJ5IDB4MjhGMTkzOiBsYXp5X3NjYW5fcHJ1bmUgKHZhY3V1 bWxhenkuYzoxNTAwKQo9PTEwMzE5MD09ICAgIGJ5IDB4MjhFNzY3OiBsYXp5X3NjYW5faGVh cCAodmFjdXVtbGF6eS5jOjk3NSkKPT0xMDMxOTA9PSAgICBieSAweDI4RDhDNzogaGVhcF92 YWN1dW1fcmVsICh2YWN1dW1sYXp5LmM6NDk3KQo9PTEwMzE5MD09ICAgIGJ5IDB4NEMwRDJC OiB0YWJsZV9yZWxhdGlvbl92YWN1dW0gKHRhYmxlYW0uaDoxNzIwKQo9PTEwMzE5MD09ICAg IGJ5IDB4NEM0NThGOiB2YWN1dW1fcmVsICh2YWN1dW0uYzoyMjEwKQo9PTEwMzE5MD09ICAg IGJ5IDB4NEMxRjhCOiB2YWN1dW0gKHZhY3V1bS5jOjYyMikKPT0xMDMxOTA9PSAgICBieSAw eDZBMjg3NzogYXV0b3ZhY3V1bV9kb192YWNfYW5hbHl6ZSAoYXV0b3ZhY3V1bS5jOjMxMDAp Cj09MTAzMTkwPT0gICAgYnkgMHg2QTE0NEY6IGRvX2F1dG92YWN1dW0gKGF1dG92YWN1dW0u YzoyNDE3KQo9PTEwMzE5MD09ICAgIGJ5IDB4NjlGRUU3OiBBdXRvVmFjV29ya2VyTWFpbiAo YXV0b3ZhY3V1bS5jOjE1NjkpCj09MTAzMTkwPT0gICAgYnkgMHg2QTczOUI6IHBvc3RtYXN0 ZXJfY2hpbGRfbGF1bmNoIChsYXVuY2hfYmFja2VuZC5jOjI2NSkKPT0xMDMxOTA9PSAgICBi eSAweDZBRTlGMzogU3RhcnRDaGlsZFByb2Nlc3MgKHBvc3RtYXN0ZXIuYzozOTI4KQo9PTEw MzE5MD09ICAgIGJ5IDB4NkFFQjYzOiBTdGFydEF1dG92YWN1dW1Xb3JrZXIgKHBvc3RtYXN0 ZXIuYzozOTk3KQo9PTEwMzE5MD09IAp7CiAgIDxpbnNlcnRfYV9zdXBwcmVzc2lvbl9uYW1l X2hlcmU+CiAgIE1lbWNoZWNrOkNvbmQKICAgZnVuOlRpZFN0b3JlSXNNZW1iZXIKICAgZnVu OnZhY190aWRfcmVhcGVkCiAgIGZ1bjpidHZhY3V1bXBhZ2UKICAgZnVuOmJ0dmFjdXVtc2Nh bgogICBmdW46YnRidWxrZGVsZXRlCiAgIGZ1bjppbmRleF9idWxrX2RlbGV0ZQogICBmdW46 dmFjX2J1bGtkZWxfb25lX2luZGV4CiAgIGZ1bjpsYXp5X3ZhY3V1bV9vbmVfaW5kZXgKICAg ZnVuOmxhenlfdmFjdXVtX2FsbF9pbmRleGVzCiAgIGZ1bjpsYXp5X3ZhY3V1bQogICBmdW46 bGF6eV9zY2FuX2hlYXAKICAgZnVuOmhlYXBfdmFjdXVtX3JlbAogICBmdW46dGFibGVfcmVs YXRpb25fdmFjdXVtCiAgIGZ1bjp2YWN1dW1fcmVsCiAgIGZ1bjp2YWN1dW0KICAgZnVuOmF1 dG92YWN1dW1fZG9fdmFjX2FuYWx5emUKICAgZnVuOmRvX2F1dG92YWN1dW0KICAgZnVuOkF1 dG9WYWNXb3JrZXJNYWluCiAgIGZ1bjpwb3N0bWFzdGVyX2NoaWxkX2xhdW5jaAogICBmdW46 U3RhcnRDaGlsZFByb2Nlc3MKfQo= --------------5DbTrDJZt0gSei7HbPhz6bKJ--