From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 21A874E339 for ; Mon, 19 Jan 2026 21:09:42 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'RqTGuTv7HJz4yFhGjFKCmwH/Hysc9uYY5fBDjoJjoBY=', expected b'XaaJV3Ov/iF8yEewbiCESjtJ0QShU2m0uJB0SeUsbBA=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1768856949; h=content-type : mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-transfer-encoding : from; bh=RqTGuTv7HJz4yFhGjFKCmwH/Hysc9uYY5fBDjoJjoBY=; b=nBTDYijyvTVknamZPf/bwe0bFouyddK/3qQc67wbWtzIiI2negyJQX7Hz8asN3jL2d40a aVoyILUspwCj36/T7CINb7ZW2E1nMwRr1gfmWjFeUCYrEmVjwbZnFEmqF7vmZ3yAuAtZnnY dhf7TSey9CxN5x+rMnvv9A3WbwLrvy0onK2Y97Jh5De039Sisl2p6HtxAiI17p/UEPYOHWC eqoo8AzFRcoTBZe5Zkz0nvH2FbnaSgvoDhBXw48oCgQfNaKQM9b2f5cnhCjPoo1S+EyFx7C 9/jKCrL6Tfy4kW0WL1Rk6+sL07wTF7dFEytg0bPHfvTdYPlbDU1XIfwxYRaA== Received: from [172.20.0.4] (unknown [172.20.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 6481B690E80; Mon, 19 Jan 2026 23:09:09 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1768856930; b=m8bcDj5DvEp5FXOBeQZtUPVSgmzgXH6wISya3SXJmqOWoWKs0hVnne5OOV3G4jx3fzUL1 zjWkJ08V8leGgA3rV244UpsJTS2oNFDIhd5DiDm30BdAy1y8KpO1qGVqyEuKifSmGJ32iNP S4b0UrjOAW9jQv1mwCRH7fcurXbb4blEBbxpLYFNPlwXJ0AJ5Bi8XKrOVLfOEkSng66dOyz 3Rlr4R+fCJyAsng9//0nai9Vz8yndGAIbZQ8YHFYXHoKtGQMFaITXxFWWpxeEyRoKsWkCyT RspSrr/taM/1Iz2UpoR899eu8jELleW8bseTEMCABo46OXmKRYDIggHGppEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1768856930; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=RqTGuTv7HJz4yFhGjFKCmwH/Hysc9uYY5fBDjoJjoBY=; b=gg+M2PCUKQsyht8jVU/pL4+ut2PHkA5DXv3pZXQZaH3P8ow5IdHV83Ufjtvpbz71xO5xp edxIn3eZ+GB3TyRlR+P+wjb2ndaKM7n1TrtAA5UdVmTyJ9SaSia2ID0LBAl5jnLy27NYDXk R6FOxPYQuIbmUZjitfZbfsOFBL4y3Yb6cwYvQW9pjnGA/ALRxtH9v0yLD7tjVnUY+LVHUv0 7DFiFBFYhAYVhYjLPDOytRmz9Su5aZomCWz3Ojy0Ugn2MxNIXYtytfK/nuAf+hM+u19JzVg qHozCLhb35IjfM+QNjMydyW+RiRqKneRxB57RnIOR6l6eQopCotCHwMFS7vg== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1768856922; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=XaaJV3Ov/iF8yEewbiCESjtJ0QShU2m0uJB0SeUsbBA=; b=g1e0/Ej7vn0E2qSP/dKo1K5maAeROhA0D07ih4xNPesIsPhFsTlK5gk+iVo520Ji2FuTt 25usHgnPp9PY4ab8I4D5EBVIqadkEWJvQx8dqEqWrmj6wP6x0AMyU2c9ECQV6OtKylnctTK 12/O1WPuxVdyb5QBDsSGq3+Z4xqNvj23WzhnWNrNdNRy0u53/reNniDXFqp1Ckxk5roMju9 mGYSYeIXHc2x4WM1kVpFW8YvAjNRu355eAoq2aYTTLdIstcmcYcc297zfdwv1Cv4Qgqz19K myg4kvJzSSVwf+XhUva0A47sXB0P1WBd/VPezWM0QIn9GiXOOoFWDa6+mzyQ== Received: from 69dab402ede7 (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id C907268D5DE for ; Mon, 19 Jan 2026 23:08:42 +0200 (EET) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Mon, 19 Jan 2026 21:08:42 -0000 Message-ID: <176885692298.25.4052962131016255941@4457048688e7> Message-ID-Hash: FFVAJ7FGAKG3ABJUUVKK3NK74XMTNISG X-Message-ID-Hash: FFVAJ7FGAKG3ABJUUVKK3NK74XMTNISG X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PR] avfilter/af_afade: incremental crossfade for memory efficiency (PR #21522) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: realies via ffmpeg-devel Cc: realies Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: UFIgIzIxNTIyIG9wZW5lZCBieSByZWFsaWVzClVSTDogaHR0cHM6Ly9jb2RlLmZmbXBlZy5vcmcv RkZtcGVnL0ZGbXBlZy9wdWxscy8yMTUyMgpQYXRjaCBVUkw6IGh0dHBzOi8vY29kZS5mZm1wZWcu b3JnL0ZGbXBlZy9GRm1wZWcvcHVsbHMvMjE1MjIucGF0Y2gKCiMjIFN1bW1hcnkKCkltcGxlbWVu dHMgaW5jcmVtZW50YWwgY3Jvc3NmYWRlIHByb2Nlc3NpbmcgdGhhdCByZWR1Y2VzIHBlYWsgbWVt b3J5IHVzYWdlIGJ5IH43OCUgZm9yIGxvbmcgY3Jvc3NmYWRlcyBhbmQgaW1wcm92ZXMgQ1BVIHBl cmZvcm1hbmNlIGJ5IHVwIHRvIDMwJS4KCioqS2V5IGNoYW5nZXM6KioKLSBQcm9jZXNzIGNyb3Nz ZmFkZSBzYW1wbGVzIGluY3JlbWVudGFsbHkgYXMgaW5wdXQgMSBkZWxpdmVycyB0aGVtLCBpbnN0 ZWFkIG9mIGJ1ZmZlcmluZyBhbGwgc2FtcGxlcyBmaXJzdAotIE1vZGlmaWVkIGZhZGUgY3VydmUg Y2FsY3VsYXRpb24gdG8gYWNjZXB0IG9mZnNldCBwYXJhbWV0ZXIgZm9yIGNvcnJlY3QgZ2FpbiBh dCBhbnkgcG9zaXRpb24KLSBSZW1vdmVzIDYwLXNlY29uZCBkdXJhdGlvbiBsaW1pdCAobWVtb3J5 IG5vdyBzY2FsZXMgZWZmaWNpZW50bHkpCi0gVXBkYXRlcyBgZmF0ZS1maWx0ZXItYWNyb3NzZmFk ZWAgcmVmZXJlbmNlIChmcmFtZSBib3VuZGFyaWVzIGNoYW5nZSwgYXVkaW8gc2FtcGxlcyB1bmNo YW5nZWQpCgojIyBBcHByb2FjaAoKVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gd2FpdHMgZm9y IEFMTCBgbmJfc2FtcGxlc2AgZnJvbSBpbnB1dCAxIGJlZm9yZSBwcm9jZXNzaW5nOgpgYGAKSW5w dXQgMCBGSUZPOiAgWz09PT09PT09PSBuYl9zYW1wbGVzID09PT09PT09PV0KSW5wdXQgMSBGSUZP OiAgWz09PT09PT09PSBuYl9zYW1wbGVzID09PT09PT09PV0KT3V0cHV0IGZyYW1lOiAgWz09PT09 PT09PSBuYl9zYW1wbGVzID09PT09PT09PV0KUGVhayBtZW1vcnk6ICAgfjMgw5cgbmJfc2FtcGxl cwpgYGAKClRoaXMgcGF0Y2ggY29uc3VtZXMgZnJvbSBpbnB1dCAxIGluY3JlbWVudGFsbHkgYXMg c2FtcGxlcyBhcnJpdmU6CmBgYApJbnB1dCAwIEZJRk86ICBbPT09PT09PT09IG5iX3NhbXBsZXMg PT09PT09PT09XSAgPC0gZHJhaW5pbmcgYXMgd2UgcHJvY2VzcwpJbnB1dCAxIEZJRk86ICBbfjRL XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC0gc21hbGwsIGNvbnN1bWVkIGltbWVkaWF0 ZWx5Ck91dHB1dCBmcmFtZTogIFt+NEtdICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8LSBz bWFsbCBjaHVua3MKUGVhayBtZW1vcnk6ICAgfjEgw5cgbmJfc2FtcGxlcwpgYGAKClRoZSBzbWFs bGVyIG91dHB1dCBmcmFtZXMgY2F1c2UgYGZhdGUtZmlsdGVyLWFjcm9zc2ZhZGVgIHRvIHJlcG9y dCBkaWZmZXJlbnQgZnJhbWUgQ1JDcywgYnV0IHRoZSBhdWRpbyBzYW1wbGVzIGFyZSBpZGVudGlj YWwgKHZlcmlmaWVkIHZpYSBNRDUgb24gZmluYWwgV0FWIG91dHB1dCkuCgojIyBCZW5jaG1hcmsg UmVzdWx0cwoKQWxsIHJlc3VsdHMgbWVhc3VyZWQgdXNpbmcgdGhlIHJlcHJvZHVjdGlvbiBzY3Jp cHQgYmVsb3cuCgojIyMgTWVtb3J5Cgp8IER1cmF0aW9uIHwgQmFzZWxpbmUgfCBJbmNyZW1lbnRh bCB8IFJlZHVjdGlvbiB8CnwtLS0tLS0tLS0tfC0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwtLS0t LS0tLS0tLXwKfCAxIG1pbiB8IDQyIE1CIHwgMTcgTUIgfCA1OCUgfAp8IDEwIG1pbiB8IDMyNyBN QiB8IDY5IE1CIHwgNzglIHwKfCAzMCBtaW4gfCA4MzMgTUIgfCAxODQgTUIgfCA3NyUgfAp8IDYw IG1pbiB8IDE2NjggTUIgfCAzNTcgTUIgfCA3OCUgfAoKIyMjIENQVSAoMyBydW5zIGF2ZXJhZ2Vk KQoKfCBEdXJhdGlvbiB8IEJhc2VsaW5lIHwgSW5jcmVtZW50YWwgfCBDaGFuZ2UgfAp8LS0tLS0t LS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18LS0tLS0tLS18CnwgMSBtaW4gfCAwLjIxcyB8 IDAuMTlzIHwgLTklIHwKfCAxMCBtaW4gfCAwLjM0cyB8IDAuMjdzIHwgLTIwJSB8CnwgMzAgbWlu IHwgMC41OHMgfCAwLjQycyB8IC0yNyUgfAp8IDYwIG1pbiB8IDAuOTVzIHwgMC42NnMgfCAtMzAl IHwKCiMjIE5vdGVzCgotICoqTXVsdGktaW5wdXQgc3VwcG9ydCoqOiBJbmNyZW1lbnRhbCBtb2Rl IGlzIG9ubHkgdXNlZCBmb3IgdGhlIGZpbmFsIGNyb3NzZmFkZSAobGFzdCB0d28gaW5wdXRzKS4g RWFybGllciBjcm9zc2ZhZGVzIHVzZSB0aGUgb3JpZ2luYWwgYXBwcm9hY2ggc2luY2UgaW50ZXJt ZWRpYXRlIGNsaXBzIG5lZWQgYnVmZmVyaW5nIGZvciB0aGUgbmV4dCBjcm9zc2ZhZGUuCi0gKipT aG9ydCBpbnB1dCBoYW5kbGluZyoqOiBJZiBpbnB1dCBkdXJhdGlvbiBpcyBzaG9ydGVyIHRoYW4g Y3Jvc3NmYWRlIGR1cmF0aW9uLCB0aGUgY3Jvc3NmYWRlIGlzIGdyYWNlZnVsbHkgc2hvcnRlbmVk IHdpdGggYSB3YXJuaW5nIChtYXRjaGluZyBvcmlnaW5hbCBiZWhhdmlvcikuCi0gKipMYXJnZSBz YW1wbGUgY291bnRzKio6IFRlc3RlZCB3aXRoID5VSU5UMzJfTUFYIHNhbXBsZXMgKDYuNWggY3Jv c3NmYWRlIGF0IDE5MmtIeikgdG8gdmVyaWZ5IGludDY0IGhhbmRsaW5nLgoKPGRldGFpbHM+Cjxz dW1tYXJ5PjxiPlJlcHJvZHVjdGlvbiBTY3JpcHQ8L2I+PC9zdW1tYXJ5PgoKYGBgYmFzaAojIS9i aW4vYmFzaAojIFJlcHJvZHVjZXMgYWxsIGJlbmNobWFyayByZXN1bHRzLiBSZXF1aXJlczogRG9j a2VyLCBnaXQKc2V0IC1lCgpXT1JLRElSPSQobWt0ZW1wIC1kKQp0cmFwICJybSAtcmYgJFdPUktE SVIiIEVYSVQKY2QgIiRXT1JLRElSIgoKZ2l0IGNsb25lIC0tZGVwdGggMSAtYiBhY3Jvc3NmYWRl LWluY3JlbWVudGFsLW1lbW9yeSBcCiAgICBodHRwczovL2dpdGh1Yi5jb20vcmVhbGllcy9GRm1w ZWcuZ2l0IGZmbXBlZy1wcgoKZG9ja2VyIHJ1biAtLXJtIC1pIFwKICAgIC12ICIkV09SS0RJUi9m Zm1wZWctcHIiOi9zcmM6cm8gXAogICAgLXcgL2J1aWxkIFwKICAgIGdoY3IuaW8vYnRibi9mZm1w ZWctYnVpbGRzL2xpbnV4NjQtZ3BsOmxhdGVzdCBcCiAgICBiYXNoIC1jICcKc2V0IC1lCmFwdC1n ZXQgdXBkYXRlIC1xcSAmJiBhcHQtZ2V0IGluc3RhbGwgLXFxIC15IHRpbWUgYmMgPi9kZXYvbnVs bCAyPiYxCgplY2hvICI9PT0gQnVpbGRpbmcgSU5DUkVNRU5UQUwgKHRoaXMgUFIpID09PSIKY3Ag LXIgL3NyYy8qIC4KLi9jb25maWd1cmUgLS1lbmFibGUtZ3BsIC0tZGlzYWJsZS1kb2MgLS1kaXNh YmxlLW5ldHdvcmsgLS1kaXNhYmxlLWF1dG9kZXRlY3QgLS1kaXNhYmxlLWRlYnVnIC0tcXVpZXQK bWFrZSAtaiQobnByb2MpIDI+JjEgfCB0YWlsIC0xCmNwIGZmbXBlZyAvZmZtcGVnLWluY3IKCmVj aG8gIj09PSBCdWlsZGluZyBCQVNFTElORSAoc3RvY2sgKyBsaW1pdCByZW1vdmVkKSA9PT0iCmN1 cmwgLXNMICJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vRkZtcGVnL0ZGbXBlZy9t YXN0ZXIvbGliYXZmaWx0ZXIvYWZfYWZhZGUuYyIgLW8gbGliYXZmaWx0ZXIvYWZfYWZhZGUuYwpz ZWQgLWkgInMvNjAwMDAwMDAvSU5UNjRfTUFYXC8yLyIgbGliYXZmaWx0ZXIvYWZfYWZhZGUuYwpt YWtlIC1qJChucHJvYykgMj4mMSB8IHRhaWwgLTEKY3AgZmZtcGVnIC9mZm1wZWctYmFzZQoKZWNo byAiPT09IENyZWF0aW5nIHRlc3QgYXVkaW8gKDY1IG1pbiBtb25vIDQ0LjFrSHopID09PSIKL2Zm bXBlZy1iYXNlIC15IC1mIGxhdmZpIC1pICJzaW5lPWZyZXF1ZW5jeT00NDA6ZHVyYXRpb249Mzkw MCIgLWFyIDQ0MTAwIC90bXAvaW4xLndhdiAyPi9kZXYvbnVsbAovZmZtcGVnLWJhc2UgLXkgLWYg bGF2ZmkgLWkgInNpbmU9ZnJlcXVlbmN5PTg4MDpkdXJhdGlvbj0zOTAwIiAtYXIgNDQxMDAgL3Rt cC9pbjIud2F2IDI+L2Rldi9udWxsCgplY2hvICIiCmVjaG8gIj09PSBPVVRQVVQgVkVSSUZJQ0FU SU9OIChNRDUpID09PSIKZm9yIGQgaW4gNjAgNjAwIDE4MDAgMzYwMDsgZG8KICAgIC9mZm1wZWct YmFzZSAteSAtaSAvdG1wL2luMS53YXYgLWkgL3RtcC9pbjIud2F2IC1maWx0ZXJfY29tcGxleCAi YWNyb3NzZmFkZT1kPSR7ZH06YzE9dHJpOmMyPXRyaSIgL3RtcC9iLndhdiAyPi9kZXYvbnVsbAog ICAgL2ZmbXBlZy1pbmNyIC15IC1pIC90bXAvaW4xLndhdiAtaSAvdG1wL2luMi53YXYgLWZpbHRl cl9jb21wbGV4ICJhY3Jvc3NmYWRlPWQ9JHtkfTpjMT10cmk6YzI9dHJpIiAvdG1wL2kud2F2IDI+ L2Rldi9udWxsCiAgICBbICIkKG1kNXN1bSAvdG1wL2Iud2F2IHwgY3V0IC1kIiAiIC1mMSkiID0g IiQobWQ1c3VtIC90bXAvaS53YXYgfCBjdXQgLWQiICIgLWYxKSIgXSAmJiBlY2hvICIkKChkLzYw KSkgbWluOiBJREVOVElDQUwiIHx8IGVjaG8gIiQoKGQvNjApKSBtaW46IERJRkZFUiIKZG9uZQoK ZWNobyAiIgplY2hvICI9PT0gRURHRSBDQVNFOiBTaG9ydCBpbnB1dCAoMTBzIGlucHV0LCAyMHMg Y3Jvc3NmYWRlKSA9PT0iCi9mZm1wZWctYmFzZSAteSAtZiBsYXZmaSAtaSAic2luZT1mcmVxdWVu Y3k9NDQwOmR1cmF0aW9uPTEwIiAtYXIgNDQxMDAgL3RtcC9zaG9ydC53YXYgMj4vZGV2L251bGwK L2ZmbXBlZy1pbmNyIC1pIC90bXAvc2hvcnQud2F2IC1pIC90bXAvaW4yLndhdiAtZmlsdGVyX2Nv bXBsZXggImFjcm9zc2ZhZGU9ZD0yMCIgLWYgbnVsbCAtIDI+JjEgfCBncmVwIC1vICJJbnB1dC4q c2hvcnRlci4qIgoKZWNobyAiIgplY2hvICI9PT0gTUVNT1JZID09PSIKZWNobyAifCBEdXJhdGlv biB8IEJhc2VsaW5lIHwgSW5jcmVtZW50YWwgfCBSZWR1Y3Rpb24gfCIKZWNobyAifC0tLS0tLS0t LS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tfCIKZm9yIGQgaW4gNjAgNjAw IDE4MDAgMzYwMDsgZG8KICAgIG1lbV9iPSQoL3Vzci9iaW4vdGltZSAtdiAvZmZtcGVnLWJhc2Ug LXkgLWkgL3RtcC9pbjEud2F2IC1pIC90bXAvaW4yLndhdiAtZmlsdGVyX2NvbXBsZXggImFjcm9z c2ZhZGU9ZD0ke2R9OmMxPXRyaTpjMj10cmkiIC1mIG51bGwgLSAyPiYxIHwgZ3JlcCAiTWF4aW11 bSByZXNpZGVudCIgfCBhd2sgIntwcmludCBcJDZ9IikKICAgIG1lbV9pPSQoL3Vzci9iaW4vdGlt ZSAtdiAvZmZtcGVnLWluY3IgLXkgLWkgL3RtcC9pbjEud2F2IC1pIC90bXAvaW4yLndhdiAtZmls dGVyX2NvbXBsZXggImFjcm9zc2ZhZGU9ZD0ke2R9OmMxPXRyaTpjMj10cmkiIC1mIG51bGwgLSAy PiYxIHwgZ3JlcCAiTWF4aW11bSByZXNpZGVudCIgfCBhd2sgIntwcmludCBcJDZ9IikKICAgIHBy aW50ZiAifCAlcyBtaW4gfCAlZCBNQiB8ICVkIE1CIHwgJWQlJSB8XG4iICIkKChkLzYwKSkiICIk KChtZW1fYi8xMDI0KSkiICIkKChtZW1faS8xMDI0KSkiICIkKCgobWVtX2ItbWVtX2kpKjEwMC9t ZW1fYikpIgpkb25lCgplY2hvICIiCmVjaG8gIj09PSBDUFUgKDMgcnVucyBhdmVyYWdlZCkgPT09 IgplY2hvICJ8IER1cmF0aW9uIHwgQmFzZWxpbmUgfCBJbmNyZW1lbnRhbCB8IENoYW5nZSB8Igpl Y2hvICJ8LS0tLS0tLS0tLXwtLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS18LS0tLS0tLS18Igpmb3Ig ZCBpbiA2MCA2MDAgMTgwMCAzNjAwOyBkbwogICAgdGI9MDsgdGk9MAogICAgZm9yIGkgaW4gMSAy IDM7IGRvCiAgICAgICAgdGI9JChlY2hvICIkdGIgKyAkKC91c3IvYmluL3RpbWUgLWYgIiVlIiAv ZmZtcGVnLWJhc2UgLXkgLWkgL3RtcC9pbjEud2F2IC1pIC90bXAvaW4yLndhdiAtZmlsdGVyX2Nv bXBsZXggImFjcm9zc2ZhZGU9ZD0ke2R9OmMxPXRyaTpjMj10cmkiIC1mIG51bGwgLSAyPiYxIHwg dGFpbCAtMSkiIHwgYmMpCiAgICAgICAgdGk9JChlY2hvICIkdGkgKyAkKC91c3IvYmluL3RpbWUg LWYgIiVlIiAvZmZtcGVnLWluY3IgLXkgLWkgL3RtcC9pbjEud2F2IC1pIC90bXAvaW4yLndhdiAt ZmlsdGVyX2NvbXBsZXggImFjcm9zc2ZhZGU9ZD0ke2R9OmMxPXRyaTpjMj10cmkiIC1mIG51bGwg LSAyPiYxIHwgdGFpbCAtMSkiIHwgYmMpCiAgICBkb25lCiAgICBhYj0kKGVjaG8gInNjYWxlPTI7 ICR0Yi8zIiB8IGJjKTsgYWk9JChlY2hvICJzY2FsZT0yOyAkdGkvMyIgfCBiYykKICAgIGNoPSQo ZWNobyAic2NhbGU9MDsgKCgkYWktJGFiKSoxMDApLyRhYiIgfCBiYyk7IFsgJGNoIC1ndCAwIF0g JiYgY2g9IiskY2giCiAgICBwcmludGYgInwgJXMgbWluIHwgJXNzIHwgJXNzIHwgJXMlJSB8XG4i ICIkKChkLzYwKSkiICIkYWIiICIkYWkiICIkY2giCmRvbmUKJwpgYGAKCjwvZGV0YWlscz4KCjxk ZXRhaWxzPgo8c3VtbWFyeT48Yj5UZXN0IEVudmlyb25tZW50PC9iPjwvc3VtbWFyeT4KCmBgYApE b2NrZXI6IGdoY3IuaW8vYnRibi9mZm1wZWctYnVpbGRzL2xpbnV4NjQtZ3BsOmxhdGVzdApHQ0M6 IDE1IChVYnVudHUgMTUuMi4wLTR1YnVudHU0KQpBdWRpbzogUENNIFMxNkxFLCA0NDEwMCBIeiwg bW9ubyBzaW5lIHdhdmVzCmBgYAoKPC9kZXRhaWxzPgoKCkZyb20gNzQ1N2YyMjhjMWJkOGQyZDA4 NTViZDVkYWVlYzJkMzAxNzNkZTg2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogcmVh bGllcyA8ZmZtcGVnQHJlYWxpLmVzPgpEYXRlOiBUaHUsIDE1IEphbiAyMDI2IDAwOjIzOjI2ICsw MjAwClN1YmplY3Q6IFtQQVRDSF0gYXZmaWx0ZXIvYWZfYWZhZGU6IGluY3JlbWVudGFsIGNyb3Nz ZmFkZSBmb3IgbWVtb3J5CiBlZmZpY2llbmN5CgpQcm9jZXNzIGNyb3NzZmFkZSBzYW1wbGVzIGlu Y3JlbWVudGFsbHkgYXMgaW5wdXQgMSBkZWxpdmVycyB0aGVtLAppbnN0ZWFkIG9mIHdhaXRpbmcg Zm9yIGFsbCBzYW1wbGVzIHRvIGJ1ZmZlci4gVGhpcyByZWR1Y2VzIHBlYWsKbWVtb3J5IHVzYWdl IGJ5IDU4LTc4JSBmb3IgbG9uZyBjcm9zc2ZhZGVzLgoKLSBBZGQgY3Jvc3NmYWRlX2luX3Byb2dy ZXNzLCBjcm9zc2ZhZGVfb2Zmc2V0LCBjcm9zc2ZhZGVfdG90YWwgc3RhdGUKLSBBZGQgcGFzc19j cm9zc2ZhZGVfY2h1bmsoKSBmb3IgaW5jcmVtZW50YWwgcHJvY2Vzc2luZwotIE1vZGlmeSBhY3Rp dmF0ZSgpIHRvIHVzZSBpbmNyZW1lbnRhbCBtb2RlIGZvciBvdmVybGFwIGNyb3NzZmFkZXMKLSBV cGRhdGUgY3Jvc3NmYWRlIG1hY3JvcyB0byBhY2NlcHQgb2Zmc2V0L3RvdGFsIHBhcmFtZXRlcnMK LSBIYW5kbGUgc2hvcnQgaW5wdXQgZ3JhY2VmdWxseSAoY3Jvc3NmYWRlIHNob3J0ZW5lZCB3aXRo IHdhcm5pbmcpCi0gUmVtb3ZlIDYwLXNlY29uZCBkdXJhdGlvbiBsaW1pdCAobWVtb3J5IG5vdyBz Y2FsZXMgZWZmaWNpZW50bHkpCgpWYWxpZGF0ZWQ6Ci0gQXVkaW8gb3V0cHV0IGJ5dGUtaWRlbnRp Y2FsIHRvIGJhc2VsaW5lIChNRDUgdmVyaWZpZWQpCi0gTWVtb3J5OiA0MiBNQiAtPiAxNyBNQiBm b3IgMSBtaW4gY3Jvc3NmYWRlICg1OCUgcmVkdWN0aW9uKQogICAgICAgICAgMTY2OCBNQiAtPiAz NTcgTUIgZm9yIDYwIG1pbiBjcm9zc2ZhZGUgKDc4JSByZWR1Y3Rpb24pCi0gVGVzdGVkIHdpdGgg PlVJTlQzMl9NQVggc2FtcGxlcyAoNi41aCBjcm9zc2ZhZGUgYXQgMTkya0h6KQotLS0KIGxpYmF2 ZmlsdGVyL2FmX2FmYWRlLmMgICAgICAgICAgIHwgMTk0ICsrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0KIHRlc3RzL3JlZi9mYXRlL2ZpbHRlci1hY3Jvc3NmYWRlIHwgIDIyICsrKy0KIDIg ZmlsZXMgY2hhbmdlZCwgMjAxIGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2xpYmF2ZmlsdGVyL2FmX2FmYWRlLmMgYi9saWJhdmZpbHRlci9hZl9hZmFkZS5jCmlu ZGV4IDA1NWYyMzRmN2MuLmMyYzYzYTU2MzkgMTAwNjQ0Ci0tLSBhL2xpYmF2ZmlsdGVyL2FmX2Fm YWRlLmMKKysrIGIvbGliYXZmaWx0ZXIvYWZfYWZhZGUuYwpAQCAtNDcsNiArNDcsMTEgQEAgdHlw ZWRlZiBzdHJ1Y3QgQXVkaW9GYWRlQ29udGV4dCB7CiAgICAgaW50NjRfdCBwdHM7CiAgICAgaW50 IHhmYWRlX2lkeDsKIAorICAgIC8qIEluY3JlbWVudGFsIGNyb3NzZmFkZSBzdGF0ZSAqLworICAg IGludCBjcm9zc2ZhZGVfaW5fcHJvZ3Jlc3M7CisgICAgaW50NjRfdCBjcm9zc2ZhZGVfb2Zmc2V0 OworICAgIGludDY0X3QgY3Jvc3NmYWRlX3RvdGFsOworCiAgICAgdm9pZCAoKmZhZGVfc2FtcGxl cykodWludDhfdCAqKmRzdCwgdWludDhfdCAqIGNvbnN0ICpzcmMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IG5iX3NhbXBsZXMsIGludCBjaGFubmVscywgaW50IGRpcmVjdGlvbiwKICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IHN0YXJ0LCBpbnQ2NF90IHJhbmdlLCBpbnQg Y3VydmUsCkBAIC01NSw3ICs2MCw4IEBAIHR5cGVkZWYgc3RydWN0IEF1ZGlvRmFkZUNvbnRleHQg ewogICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmJfc2FtcGxlcywgaW50IGNoYW5uZWxz LCBkb3VibGUgdW5pdHkpOwogICAgIHZvaWQgKCpjcm9zc2ZhZGVfc2FtcGxlcykodWludDhfdCAq KmRzdCwgdWludDhfdCAqIGNvbnN0ICpjZjAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50OF90ICogY29uc3QgKmNmMSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBuYl9zYW1wbGVzLCBpbnQgY2hhbm5lbHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbnQgbmJfc2FtcGxlcywgaW50NjRfdCB0b3RhbF9zYW1wbGVzLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50NjRfdCBvZmZzZXQsIGludCBjaGFubmVscywKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludCBjdXJ2ZTAsIGludCBjdXJ2ZTEpOwogfSBBdWRpb0ZhZGVD b250ZXh0OwogCkBAIC00NTcsOCArNDYzLDggQEAgc3RhdGljIGNvbnN0IEFWT3B0aW9uIGFjcm9z c2ZhZGVfb3B0aW9uc1tdID0gewogICAgIHsgIm4iLCAgICAgICAgICAgICJzZXQgbnVtYmVyIG9m IGlucHV0IGZpbGVzIHRvIGNyb3NzIGZhZGUiLCAgICAgICBPRkZTRVQobmJfaW5wdXRzKSwgICAg QVZfT1BUX1RZUEVfSU5ULCAgICB7Lmk2NCA9IDJ9LCAgICAgMSwgSU5UMzJfTUFYLCBGTEFHUyB9 LAogICAgIHsgIm5iX3NhbXBsZXMiLCAgICJzZXQgbnVtYmVyIG9mIHNhbXBsZXMgZm9yIGNyb3Nz IGZhZGUgZHVyYXRpb24iLCBPRkZTRVQobmJfc2FtcGxlcyksICAgQVZfT1BUX1RZUEVfSU5UNjQs ICB7Lmk2NCA9IDQ0MTAwfSwgMSwgSU5UMzJfTUFYLzEwLCBGTEFHUyB9LAogICAgIHsgIm5zIiwg ICAgICAgICAgICJzZXQgbnVtYmVyIG9mIHNhbXBsZXMgZm9yIGNyb3NzIGZhZGUgZHVyYXRpb24i LCBPRkZTRVQobmJfc2FtcGxlcyksICAgQVZfT1BUX1RZUEVfSU5UNjQsICB7Lmk2NCA9IDQ0MTAw fSwgMSwgSU5UMzJfTUFYLzEwLCBGTEFHUyB9LAotICAgIHsgImR1cmF0aW9uIiwgICAgICJzZXQg Y3Jvc3MgZmFkZSBkdXJhdGlvbiIsICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQoZHVyYXRp b24pLCAgICAgQVZfT1BUX1RZUEVfRFVSQVRJT04sIHsuaTY0ID0gMCB9LCAgMCwgNjAwMDAwMDAs IEZMQUdTIH0sCi0gICAgeyAiZCIsICAgICAgICAgICAgInNldCBjcm9zcyBmYWRlIGR1cmF0aW9u IiwgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChkdXJhdGlvbiksICAgICBBVl9PUFRfVFlQ RV9EVVJBVElPTiwgey5pNjQgPSAwIH0sICAwLCA2MDAwMDAwMCwgRkxBR1MgfSwKKyAgICB7ICJk dXJhdGlvbiIsICAgICAic2V0IGNyb3NzIGZhZGUgZHVyYXRpb24iLCAgICAgICAgICAgICAgICAg ICAgICAgT0ZGU0VUKGR1cmF0aW9uKSwgICAgIEFWX09QVF9UWVBFX0RVUkFUSU9OLCB7Lmk2NCA9 IDAgfSwgIDAsIElOVDY0X01BWC8yLCBGTEFHUyB9LAorICAgIHsgImQiLCAgICAgICAgICAgICJz ZXQgY3Jvc3MgZmFkZSBkdXJhdGlvbiIsICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQoZHVy YXRpb24pLCAgICAgQVZfT1BUX1RZUEVfRFVSQVRJT04sIHsuaTY0ID0gMCB9LCAgMCwgSU5UNjRf TUFYLzIsIEZMQUdTIH0sCiAgICAgeyAib3ZlcmxhcCIsICAgICAgIm92ZXJsYXAgMXN0IHN0cmVh bSBlbmQgd2l0aCAybmQgc3RyZWFtIHN0YXJ0IiwgIE9GRlNFVChvdmVybGFwKSwgICAgICBBVl9P UFRfVFlQRV9CT09MLCAgIHsuaTY0ID0gMSAgICB9LCAwLCAgMSwgRkxBR1MgfSwKICAgICB7ICJv IiwgICAgICAgICAgICAib3ZlcmxhcCAxc3Qgc3RyZWFtIGVuZCB3aXRoIDJuZCBzdHJlYW0gc3Rh cnQiLCAgT0ZGU0VUKG92ZXJsYXApLCAgICAgIEFWX09QVF9UWVBFX0JPT0wsICAgey5pNjQgPSAx ICAgIH0sIDAsICAxLCBGTEFHUyB9LAogICAgIHsgImN1cnZlMSIsICAgICAgICJzZXQgZmFkZSBj dXJ2ZSB0eXBlIGZvciAxc3Qgc3RyZWFtIiwgICAgICAgICAgICBPRkZTRVQoY3VydmUpLCAgICAg ICAgQVZfT1BUX1RZUEVfSU5ULCAgICB7Lmk2NCA9IFRSSSAgfSwgTk9ORSwgTkJfQ1VSVkVTIC0g MSwgRkxBR1MsIC51bml0ID0gImN1cnZlIiB9LApAQCAtNDk3LDE0ICs1MDMsMTUgQEAgQVZGSUxU RVJfREVGSU5FX0NMQVNTKGFjcm9zc2ZhZGUpOwogI2RlZmluZSBDUk9TU0ZBREVfUExBTkFSKG5h bWUsIHR5cGUpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKIHN0 YXRpYyB2b2lkIGNyb3NzZmFkZV9zYW1wbGVzXyMjIG5hbWUgIyNwKHVpbnQ4X3QgKipkc3QsIHVp bnQ4X3QgKiBjb25zdCAqY2YwLCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50OF90ICogY29uc3QgKmNmMSwgICAgICAgICAgICAgICAgXAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IG5iX3NhbXBsZXMsIGludCBjaGFu bmVscywgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludCBuYl9zYW1wbGVzLCBpbnQ2NF90IHRvdGFsLCAgICAgICBcCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IG9mZnNldCwgaW50IGNoYW5uZWxzLCAg ICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGN1 cnZlMCwgaW50IGN1cnZlMSkgICAgICAgICAgICAgIFwKIHsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CiAgICAgaW50IGksIGM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBm b3IgKGkgPSAwOyBpIDwgbmJfc2FtcGxlczsgaSsrKSB7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGRvdWJsZSBnYWluMCA9IGZhZGVfZ2FpbihjdXJ2 ZTAsIG5iX3NhbXBsZXMgLSAxIC0gaSwgbmJfc2FtcGxlcywwLiwxLik7XAotICAgICAgICBkb3Vi bGUgZ2FpbjEgPSBmYWRlX2dhaW4oY3VydmUxLCBpLCBuYl9zYW1wbGVzLCAwLiwgMS4pOyAgICAg ICAgICAgICAgIFwKKyAgICAgICAgZG91YmxlIGdhaW4wID0gZmFkZV9nYWluKGN1cnZlMCwgdG90 YWwgLSAxIC0gKG9mZnNldCArIGkpLCB0b3RhbCwwLiwxLik7XAorICAgICAgICBkb3VibGUgZ2Fp bjEgPSBmYWRlX2dhaW4oY3VydmUxLCBvZmZzZXQgKyBpLCB0b3RhbCwgMC4sIDEuKTsgICAgICAg ICAgIFwKICAgICAgICAgZm9yIChjID0gMDsgYyA8IGNoYW5uZWxzOyBjKyspIHsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICB0eXBlICpkID0gKHR5 cGUgKilkc3RbY107ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAog ICAgICAgICAgICAgY29uc3QgdHlwZSAqczAgPSAodHlwZSAqKWNmMFtjXTsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTUxOCw3ICs1MjUsOCBAQCBzdGF0aWMgdm9pZCBj cm9zc2ZhZGVfc2FtcGxlc18jIyBuYW1lICMjcCh1aW50OF90ICoqZHN0LCB1aW50OF90ICogY29u c3QgKmNmMCwgXAogI2RlZmluZSBDUk9TU0ZBREUobmFtZSwgdHlwZSkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKIHN0YXRpYyB2b2lkIGNyb3NzZmFkZV9z YW1wbGVzXyMjIG5hbWUgKHVpbnQ4X3QgKipkc3QsIHVpbnQ4X3QgKiBjb25zdCAqY2YwLCBcCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50OF90ICogY29uc3QgKmNm MSwgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IG5iX3NhbXBsZXMsIGludCBjaGFubmVscywgICAgICAgIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBuYl9zYW1wbGVzLCBpbnQ2NF90IHRvdGFsLCAg ICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IG9m ZnNldCwgaW50IGNoYW5uZWxzLCAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50IGN1cnZlMCwgaW50IGN1cnZlMSkgICAgICAgICAgICAgIFwKIHsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCiAgICAgdHlwZSAqZCA9ICh0eXBlICopZHN0WzBdOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtNTI3LDggKzUzNSw4IEBA IHN0YXRpYyB2b2lkIGNyb3NzZmFkZV9zYW1wbGVzXyMjIG5hbWUgKHVpbnQ4X3QgKipkc3QsIHVp bnQ4X3QgKiBjb25zdCAqY2YwLCBcCiAgICAgaW50IGksIGMsIGsgPSAwOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKICAgICBmb3IgKGkgPSAwOyBpIDwgbmJfc2FtcGxlczsgaSsrKSB7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgIGRvdWJsZSBnYWluMCA9IGZh ZGVfZ2FpbihjdXJ2ZTAsIG5iX3NhbXBsZXMgLSAxLWksbmJfc2FtcGxlcywwLiwxLik7XAotICAg ICAgICBkb3VibGUgZ2FpbjEgPSBmYWRlX2dhaW4oY3VydmUxLCBpLCBuYl9zYW1wbGVzLCAwLiwg MS4pOyAgICAgICAgICAgIFwKKyAgICAgICAgZG91YmxlIGdhaW4wID0gZmFkZV9nYWluKGN1cnZl MCwgdG90YWwgLSAxIC0gKG9mZnNldCtpKSwgdG90YWwsMC4sMS4pO1wKKyAgICAgICAgZG91Ymxl IGdhaW4xID0gZmFkZV9nYWluKGN1cnZlMSwgb2Zmc2V0ICsgaSwgdG90YWwsIDAuLCAxLik7ICAg ICAgICBcCiAgICAgICAgIGZvciAoYyA9IDA7IGMgPCBjaGFubmVsczsgYysrLCBrKyspICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICAgICAgZFtrXSA9IHMwW2tdICog Z2FpbjAgKyBzMVtrXSAqIGdhaW4xOyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICB9 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCkBAIC01NzAsNiArNTc4LDY0IEBAIHN0YXRpYyBpbnQgcGFzc19zYW1w bGVzKEFWRmlsdGVyTGluayAqaW5saW5rLCBBVkZpbHRlckxpbmsgKm91dGxpbmssIHVuc2lnbmVk IG5iCiAgICAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShvdXRsaW5rLCBpbik7CiB9CiAKKy8qIFBy b2Nlc3MgYSBjaHVuayBvZiBjcm9zc2ZhZGUgc2FtcGxlcyBpbmNyZW1lbnRhbGx5LgorICogVGhp cyBjb25zdW1lcyBzYW1wbGVzIGFzIHRoZXkgYmVjb21lIGF2YWlsYWJsZSwgcmVkdWNpbmcgcGVh ayBtZW1vcnkgdXNhZ2UKKyAqIGJ5IG5vdCB3YWl0aW5nIGZvciBhbGwgaW5wdXQgMSBzYW1wbGVz IHRvIGJlIGJ1ZmZlcmVkLiAqLworc3RhdGljIGludCBwYXNzX2Nyb3NzZmFkZV9jaHVuayhBVkZp bHRlckNvbnRleHQgKmN0eCwgY29uc3QgaW50IGlkeDAsIGNvbnN0IGludCBpZHgxLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgY2h1bmtfc2FtcGxlcywgaW50NjRfdCB0b3Rh bF9zYW1wbGVzKQoreworICAgIEF1ZGlvRmFkZUNvbnRleHQgKnMgPSBjdHgtPnByaXY7CisgICAg QVZGaWx0ZXJMaW5rICpvdXRsaW5rID0gY3R4LT5vdXRwdXRzWzBdOworICAgIEFWRnJhbWUgKm91 dCwgKmNmWzJdID0geyBOVUxMIH07CisgICAgaW50IHJldDsKKworICAgIEFWRmlsdGVyTGluayAq aW4wID0gY3R4LT5pbnB1dHNbaWR4MF07CisgICAgQVZGaWx0ZXJMaW5rICppbjEgPSBjdHgtPmlu cHV0c1tpZHgxXTsKKworICAgIG91dCA9IGZmX2dldF9hdWRpb19idWZmZXIob3V0bGluaywgY2h1 bmtfc2FtcGxlcyk7CisgICAgaWYgKCFvdXQpCisgICAgICAgIHJldHVybiBBVkVSUk9SKEVOT01F TSk7CisKKyAgICByZXQgPSBmZl9pbmxpbmtfY29uc3VtZV9zYW1wbGVzKGluMCwgY2h1bmtfc2Ft cGxlcywgY2h1bmtfc2FtcGxlcywgJmNmWzBdKTsKKyAgICBpZiAocmV0IDwgMCkgeworICAgICAg ICBhdl9mcmFtZV9mcmVlKCZvdXQpOworICAgICAgICByZXR1cm4gcmV0OworICAgIH0KKyAgICBh dl9hc3NlcnQxKHJldCk7CisKKyAgICByZXQgPSBmZl9pbmxpbmtfY29uc3VtZV9zYW1wbGVzKGlu MSwgY2h1bmtfc2FtcGxlcywgY2h1bmtfc2FtcGxlcywgJmNmWzFdKTsKKyAgICBpZiAocmV0IDwg MCkgeworICAgICAgICBhdl9mcmFtZV9mcmVlKCZvdXQpOworICAgICAgICBhdl9mcmFtZV9mcmVl KCZjZlswXSk7CisgICAgICAgIHJldHVybiByZXQ7CisgICAgfQorICAgIGF2X2Fzc2VydDEocmV0 KTsKKworICAgIHMtPmNyb3NzZmFkZV9zYW1wbGVzKG91dC0+ZXh0ZW5kZWRfZGF0YSwgY2ZbMF0t PmV4dGVuZGVkX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgY2ZbMV0tPmV4dGVuZGVk X2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmtfc2FtcGxlcywgdG90YWxfc2Ft cGxlcywgcy0+Y3Jvc3NmYWRlX29mZnNldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBvdXQt PmNoX2xheW91dC5uYl9jaGFubmVscywKKyAgICAgICAgICAgICAgICAgICAgICAgICBzLT5jdXJ2 ZSwgcy0+Y3VydmUyKTsKKyAgICBvdXQtPnB0cyA9IHMtPnB0czsKKyAgICBzLT5wdHMgKz0gYXZf cmVzY2FsZV9xKGNodW5rX3NhbXBsZXMsCisgICAgICAgIChBVlJhdGlvbmFsKXsgMSwgb3V0bGlu ay0+c2FtcGxlX3JhdGUgfSwgb3V0bGluay0+dGltZV9iYXNlKTsKKworICAgIHMtPmNyb3NzZmFk ZV9vZmZzZXQgKz0gY2h1bmtfc2FtcGxlczsKKworICAgIC8qIENoZWNrIGlmIGNyb3NzZmFkZSBp cyBjb21wbGV0ZSAqLworICAgIGlmIChzLT5jcm9zc2ZhZGVfb2Zmc2V0ID49IHRvdGFsX3NhbXBs ZXMpIHsKKyAgICAgICAgcy0+Y3Jvc3NmYWRlX2luX3Byb2dyZXNzID0gMDsKKyAgICAgICAgcy0+ Y3Jvc3NmYWRlX29mZnNldCA9IDA7CisgICAgICAgIHMtPmNyb3NzZmFkZV90b3RhbCA9IDA7Cisg ICAgICAgIHMtPnhmYWRlX2lkeCsrOworICAgICAgICBmZl9maWx0ZXJfc2V0X3JlYWR5KGN0eCwg MTApOworICAgIH0KKworICAgIGF2X2ZyYW1lX2ZyZWUoJmNmWzBdKTsKKyAgICBhdl9mcmFtZV9m cmVlKCZjZlsxXSk7CisgICAgcmV0dXJuIGZmX2ZpbHRlcl9mcmFtZShvdXRsaW5rLCBvdXQpOwor fQorCiBzdGF0aWMgaW50IHBhc3NfY3Jvc3NmYWRlKEFWRmlsdGVyQ29udGV4dCAqY3R4LCBjb25z dCBpbnQgaWR4MCwgY29uc3QgaW50IGlkeDEpCiB7CiAgICAgQXVkaW9GYWRlQ29udGV4dCAqcyA9 IGN0eC0+cHJpdjsKQEAgLTYyNiw3ICs2OTIsNyBAQCBzdGF0aWMgaW50IHBhc3NfY3Jvc3NmYWRl KEFWRmlsdGVyQ29udGV4dCAqY3R4LCBjb25zdCBpbnQgaWR4MCwgY29uc3QgaW50IGlkeDEpCiAg ICAgICAgIH0KIAogICAgICAgICBzLT5jcm9zc2ZhZGVfc2FtcGxlcyhvdXQtPmV4dGVuZGVkX2Rh dGEsIGNmWzBdLT5leHRlbmRlZF9kYXRhLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj ZlsxXS0+ZXh0ZW5kZWRfZGF0YSwgbmJfc2FtcGxlcywKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2ZbMV0tPmV4dGVuZGVkX2RhdGEsIG5iX3NhbXBsZXMsIG5iX3NhbXBsZXMsIDAsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzLCBz LT5jdXJ2ZSwgcy0+Y3VydmUyKTsKICAgICAgICAgb3V0LT5wdHMgPSBzLT5wdHM7CiAgICAgICAg IHMtPnB0cyArPSBhdl9yZXNjYWxlX3EobmJfc2FtcGxlcywKQEAgLTcwNiw2ICs3NzIsNDkgQEAg c3RhdGljIGludCBhY3RpdmF0ZShBVkZpbHRlckNvbnRleHQgKmN0eCkKIAogICAgIEZGX0ZJTFRF Ul9GT1JXQVJEX1NUQVRVU19CQUNLX0FMTChvdXRsaW5rLCBjdHgpOwogCisgICAgLyogSGFuZGxl IGluY3JlbWVudGFsIGNyb3NzZmFkZSBpbiBwcm9ncmVzcyAob3ZlcmxhcCBtb2RlIG9ubHkpICov CisgICAgaWYgKHMtPmNyb3NzZmFkZV9pbl9wcm9ncmVzcykgeworICAgICAgICBBVkZpbHRlckxp bmsgKmluMSA9IGN0eC0+aW5wdXRzW2lkeDFdOworICAgICAgICBpbnQ2NF90IHJlbWFpbmluZyA9 IHMtPmNyb3NzZmFkZV90b3RhbCAtIHMtPmNyb3NzZmFkZV9vZmZzZXQ7CisgICAgICAgIGludCBh dmFpbGFibGUwID0gZmZfaW5saW5rX3F1ZXVlZF9zYW1wbGVzKGluMCk7CisgICAgICAgIGludCBh dmFpbGFibGUxID0gZmZfaW5saW5rX3F1ZXVlZF9zYW1wbGVzKGluMSk7CisgICAgICAgIGludCBj aHVuayA9IEZGTUlOMyhhdmFpbGFibGUwLCBhdmFpbGFibGUxLCByZW1haW5pbmcpOworCisgICAg ICAgIGlmIChjaHVuayA+IDApIHsKKyAgICAgICAgICAgIGludCByZXQgPSBwYXNzX2Nyb3NzZmFk ZV9jaHVuayhjdHgsIGlkeDAsIGlkeDEsIGNodW5rLCBzLT5jcm9zc2ZhZGVfdG90YWwpOworICAg ICAgICAgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgICAgICAgICBzLT5jcm9zc2ZhZGVfaW5f cHJvZ3Jlc3MgPSAwOworICAgICAgICAgICAgICAgIHMtPmNyb3NzZmFkZV9vZmZzZXQgPSAwOwor ICAgICAgICAgICAgICAgIHMtPmNyb3NzZmFkZV90b3RhbCA9IDA7CisgICAgICAgICAgICB9Cisg ICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICB9IGVsc2UgaWYgKGZmX291dGxpbmtfZnJh bWVfd2FudGVkKG91dGxpbmspKSB7CisgICAgICAgICAgICAvKiBDaGVjayBpZiBpbnB1dCAxIGVu ZGVkIHByZW1hdHVyZWx5ICovCisgICAgICAgICAgICBpZiAoZmZfb3V0bGlua19nZXRfc3RhdHVz KGluMSkpIHsKKyAgICAgICAgICAgICAgICBpbnQ2NF90IHJlbWFpbmluZyA9IHMtPmNyb3NzZmFk ZV90b3RhbCAtIHMtPmNyb3NzZmFkZV9vZmZzZXQ7CisgICAgICAgICAgICAgICAgaWYgKHJlbWFp bmluZyA+IDAgJiYgYXZhaWxhYmxlMCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgaW50IHRv X3Bhc3MgPSBGRk1JTihyZW1haW5pbmcsIGF2YWlsYWJsZTApOworICAgICAgICAgICAgICAgICAg ICBhdl9sb2coY3R4LCBBVl9MT0dfV0FSTklORywgIklucHV0ICVkIGVuZGVkIHByZW1hdHVyZWx5 LCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAicGFzc2luZyAlZCBvZiAlIlBSSWQ2NCIg cmVtYWluaW5nIHNhbXBsZXMgZnJvbSBpbnB1dCAlZC5cbiIsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBpZHgxLCB0b19wYXNzLCByZW1haW5pbmcsIGlkeDApOworICAgICAgICAgICAgICAg ICAgICBpbnQgcmV0ID0gcGFzc19zYW1wbGVzKGluMCwgb3V0bGluaywgdG9fcGFzcywgJnMtPnB0 cyk7CisgICAgICAgICAgICAgICAgICAgIGlmIChyZXQgPCAwKQorICAgICAgICAgICAgICAgICAg ICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcy0+ Y3Jvc3NmYWRlX2luX3Byb2dyZXNzID0gMDsKKyAgICAgICAgICAgICAgICBzLT5jcm9zc2ZhZGVf b2Zmc2V0ID0gMDsKKyAgICAgICAgICAgICAgICBzLT5jcm9zc2ZhZGVfdG90YWwgPSAwOworICAg ICAgICAgICAgICAgIHMtPnhmYWRlX2lkeCsrOworICAgICAgICAgICAgICAgIGZmX2ZpbHRlcl9z ZXRfcmVhZHkoY3R4LCAxMCk7CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAg ICB9CisgICAgICAgICAgICAvKiBOZWVkIG1vcmUgc2FtcGxlcyBmcm9tIGlucHV0IDEgKi8KKyAg ICAgICAgICAgIGZmX2lubGlua19yZXF1ZXN0X2ZyYW1lKGluMSk7CisgICAgICAgICAgICByZXR1 cm4gMDsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKICAgICBpZiAoaWR4 MCA9PSBzLT5uYl9pbnB1dHMgLSAxKSB7CiAgICAgICAgIC8qIExhc3QgYWN0aXZlIGlucHV0LCBy ZWFkIHVudGlsIEVPRiAqLwogICAgICAgICBpZiAoZmZfaW5saW5rX3F1ZXVlZF9mcmFtZXMoaW4w KSkKQEAgLTc0MCwxMSArODQ5LDY4IEBAIHN0YXRpYyBpbnQgYWN0aXZhdGUoQVZGaWx0ZXJDb250 ZXh0ICpjdHgpCiAgICAgLyogSWYgdGhpcyBjbGlwIGlzIHNhbmR3aWNoZWQgYmV0d2VlbiB0d28g b3RoZXIgY2xpcHMsIGJ1ZmZlciBhdCBsZWFzdAogICAgICAqIHR3aWNlIHRoZSB0b3RhbCBjcm9z c2ZhZGUgZHVyYXRpb24gdG8gZW5zdXJlIHRoYXQgd2Ugd29uJ3QgcmVhY2ggRU9GCiAgICAgICog ZHVyaW5nIHRoZSBzZWNvbmQgZmFkZSAoaW4gd2hpY2ggY2FzZSB3ZSB3b3VsZCBzaG9ydGVuIHRo ZSBmYWRlKSAqLwotICAgIGludCBuZWVkZWRfc2FtcGxlcyA9IHMtPm5iX3NhbXBsZXM7Ci0gICAg aWYgKGlkeDEgPCBzLT5uYl9pbnB1dHMgLSAxKQotICAgICAgICBuZWVkZWRfc2FtcGxlcyAqPSAy OworICAgIGludDY0X3QgbmVlZGVkX3NhbXBsZXMgPSBzLT5uYl9zYW1wbGVzOworICAgIGlmIChp ZHgxIDwgcy0+bmJfaW5wdXRzIC0gMSkgeworICAgICAgICBpZiAobmVlZGVkX3NhbXBsZXMgPiBJ TlQ2NF9NQVggLyAyKQorICAgICAgICAgICAgbmVlZGVkX3NhbXBsZXMgPSBJTlQ2NF9NQVg7Cisg ICAgICAgIGVsc2UKKyAgICAgICAgICAgIG5lZWRlZF9zYW1wbGVzICo9IDI7CisgICAgfQogCi0g ICAgaWYgKHF1ZXVlZF9zYW1wbGVzMSA+PSBuZWVkZWRfc2FtcGxlcyB8fCBmZl9vdXRsaW5rX2dl dF9zdGF0dXMoaW4xKSkgeworICAgIC8qIEZvciBvdmVybGFwIG1vZGUsIHVzZSBpbmNyZW1lbnRh bCBjcm9zc2ZhZGUgdG8gcmVkdWNlIG1lbW9yeSAqLworICAgIGlmIChzLT5vdmVybGFwICYmIGlk eDEgPT0gcy0+bmJfaW5wdXRzIC0gMSkgeworICAgICAgICAvKiBDaGVjayBpZiBpbnB1dCAxIGVu ZGVkIGJlZm9yZSBjcm9zc2ZhZGUgY291bGQgc3RhcnQgKi8KKyAgICAgICAgaWYgKGZmX291dGxp bmtfZ2V0X3N0YXR1cyhpbjEpICYmIHF1ZXVlZF9zYW1wbGVzMSA9PSAwKSB7CisgICAgICAgICAg ICBpZiAocXVldWVkX3NhbXBsZXMwID4gMCkgeworICAgICAgICAgICAgICAgIGF2X2xvZyhjdHgs IEFWX0xPR19XQVJOSU5HLCAiSW5wdXQgJWQgZW5kZWQgYmVmb3JlIGNyb3NzZmFkZSwgIgorICAg ICAgICAgICAgICAgICAgICAgICAicGFzc2luZyByZW1haW5pbmcgJWQgc2FtcGxlcyBmcm9tIGlu cHV0ICVkLlxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgaWR4MSwgcXVldWVkX3NhbXBsZXMw LCBpZHgwKTsKKyAgICAgICAgICAgICAgICBpbnQgcmV0ID0gcGFzc19zYW1wbGVzKGluMCwgb3V0 bGluaywgcXVldWVkX3NhbXBsZXMwLCAmcy0+cHRzKTsKKyAgICAgICAgICAgICAgICBpZiAocmV0 IDwgMCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgICAgIH0KKyAg ICAgICAgICAgIHMtPnhmYWRlX2lkeCsrOworICAgICAgICAgICAgZmZfZmlsdGVyX3NldF9yZWFk eShjdHgsIDEwKTsKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIGlm IChxdWV1ZWRfc2FtcGxlczAgPT0gMCkgeworICAgICAgICAgICAgLyogSW5wdXQgMCBpcyBlbXB0 eSwgbm8gY3Jvc3NmYWRlIHBvc3NpYmxlIC0gc2tpcCB0byBuZXh0IGlucHV0ICovCisgICAgICAg ICAgICBhdl9sb2coY3R4LCBBVl9MT0dfV0FSTklORywgIklucHV0ICVkIGlzIGVtcHR5LCBza2lw cGluZyBjcm9zc2ZhZGUuXG4iLCBpZHgwKTsKKyAgICAgICAgICAgIHMtPnhmYWRlX2lkeCsrOwor ICAgICAgICAgICAgZmZfZmlsdGVyX3NldF9yZWFkeShjdHgsIDEwKTsKKyAgICAgICAgICAgIHJl dHVybiAwOworICAgICAgICB9CisgICAgICAgIGlmIChxdWV1ZWRfc2FtcGxlczEgPiAwKSB7Cisg ICAgICAgICAgICAvKiBTdGFydCBpbmNyZW1lbnRhbCBjcm9zc2ZhZGUgKi8KKyAgICAgICAgICAg IGludDY0X3QgdG90YWwgPSBGRk1JTihxdWV1ZWRfc2FtcGxlczAsIHMtPm5iX3NhbXBsZXMpOwor ICAgICAgICAgICAgaWYgKHRvdGFsIDwgcy0+bmJfc2FtcGxlcykgeworICAgICAgICAgICAgICAg IGF2X2xvZyhjdHgsIEFWX0xPR19XQVJOSU5HLCAiSW5wdXQgJWQgZHVyYXRpb24gKCVkIHNhbXBs ZXMpICIKKyAgICAgICAgICAgICAgICAgICAgICAgImlzIHNob3J0ZXIgdGhhbiBjcm9zc2ZhZGUg ZHVyYXRpb24gKCUiUFJJZDY0IiBzYW1wbGVzKSwgIgorICAgICAgICAgICAgICAgICAgICAgICAi Y3Jvc3NmYWRlIHdpbGwgYmUgc2hvcnRlci5cbiIsCisgICAgICAgICAgICAgICAgICAgICAgIGlk eDAsIHF1ZXVlZF9zYW1wbGVzMCwgcy0+bmJfc2FtcGxlcyk7CisgICAgICAgICAgICB9CisgICAg ICAgICAgICBpbnQgY2h1bmsgPSBGRk1JTjMocXVldWVkX3NhbXBsZXMwLCBxdWV1ZWRfc2FtcGxl czEsIHRvdGFsKTsKKyAgICAgICAgICAgIHMtPmNyb3NzZmFkZV9pbl9wcm9ncmVzcyA9IDE7Cisg ICAgICAgICAgICBzLT5jcm9zc2ZhZGVfb2Zmc2V0ID0gMDsKKyAgICAgICAgICAgIHMtPmNyb3Nz ZmFkZV90b3RhbCA9IHRvdGFsOworICAgICAgICAgICAgaW50IHJldCA9IHBhc3NfY3Jvc3NmYWRl X2NodW5rKGN0eCwgaWR4MCwgaWR4MSwgY2h1bmssIHRvdGFsKTsKKyAgICAgICAgICAgIGlmIChy ZXQgPCAwKSB7CisgICAgICAgICAgICAgICAgcy0+Y3Jvc3NmYWRlX2luX3Byb2dyZXNzID0gMDsK KyAgICAgICAgICAgICAgICBzLT5jcm9zc2ZhZGVfb2Zmc2V0ID0gMDsKKyAgICAgICAgICAgICAg ICBzLT5jcm9zc2ZhZGVfdG90YWwgPSAwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0 dXJuIHJldDsKKyAgICAgICAgfQorICAgICAgICBpZiAoZmZfb3V0bGlua19mcmFtZV93YW50ZWQo b3V0bGluaykpIHsKKyAgICAgICAgICAgIC8qIE5lZWQgc2FtcGxlcyBmcm9tIGlucHV0IDEgdG8g c3RhcnQgY3Jvc3NmYWRlICovCisgICAgICAgICAgICBmZl9pbmxpbmtfcmVxdWVzdF9mcmFtZShp bjEpOworICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIEZG RVJST1JfTk9UX1JFQURZOworICAgIH0KKworICAgIC8qIE5vbi1vdmVybGFwIG1vZGUgb3Igc2Fu ZHdpY2hlZCBjbGlwczogdXNlIG9yaWdpbmFsIGJsb2NraW5nIGJlaGF2aW9yICovCisgICAgaWYg KChpbnQ2NF90KXF1ZXVlZF9zYW1wbGVzMSA+PSBuZWVkZWRfc2FtcGxlcyB8fCBmZl9vdXRsaW5r X2dldF9zdGF0dXMoaW4xKSkgewogICAgICAgICAvKiBUaGUgZmlyc3QgZmlsdGVyIG1heSBFT0Yg YmVmb3JlIGRlbGl2ZXJpbmcgYW55IHNhbXBsZXMsIGluIHdoaWNoCiAgICAgICAgICAqIGNhc2Ug aXQncyBwb3NzaWJsZSBmb3IgcGFzc19jcm9zc2ZhZGUoKSB0byBiZSBhIG5vLW9wLiBKdXN0IGVu c3VyZQogICAgICAgICAgKiB0aGUgYWN0aXZhdGUoKSBmdW5jdGlvbiBydW5zIGFnYWluIGFmdGVy IGluY3JlbWVudGluZyB0aGUgaW5kZXggdG8KZGlmZiAtLWdpdCBhL3Rlc3RzL3JlZi9mYXRlL2Zp bHRlci1hY3Jvc3NmYWRlIGIvdGVzdHMvcmVmL2ZhdGUvZmlsdGVyLWFjcm9zc2ZhZGUKaW5kZXgg ZmU0NWQ0ZWMxMC4uNTgzNGQ2MWE0OSAxMDA2NDQKLS0tIGEvdGVzdHMvcmVmL2ZhdGUvZmlsdGVy LWFjcm9zc2ZhZGUKKysrIGIvdGVzdHMvcmVmL2ZhdGUvZmlsdGVyLWFjcm9zc2ZhZGUKQEAgLTEw OCw2ICsxMDgsMjYgQEAKIDAsICAgICA0OTU4ODgsICAgICA0OTU4ODgsICAgICA0MDk2LCAgICAx NjM4NCwgMHhlMjRmYTYwYgogMCwgICAgIDQ5OTk4NCwgICAgIDQ5OTk4NCwgICAgIDQwOTYsICAg IDE2Mzg0LCAweDk2YjFiZjllCiAwLCAgICAgNTA0MDgwLCAgICAgNTA0MDgwLCAgICAgMzA3MCwg ICAgMTIyODAsIDB4MTM2OGE2NDEKLTAsICAgICA1MDcxNTAsICAgICA1MDcxNTAsICAgIDg4MjAw LCAgIDM1MjgwMCwgMHhmZGIxOWI1ZAorMCwgICAgIDUwNzE1MCwgICAgIDUwNzE1MCwgICAgIDgx OTIsICAgIDMyNzY4LCAweDZlNGZlZmQ3CiswLCAgICAgNTE1MzQyLCAgICAgNTE1MzQyLCAgICAg NDA5NiwgICAgMTYzODQsIDB4MzE2MGJjNjAKKzAsICAgICA1MTk0MzgsICAgICA1MTk0MzgsICAg ICA0MDk2LCAgICAxNjM4NCwgMHgwMTMyZDQ1NgorMCwgICAgIDUyMzUzNCwgICAgIDUyMzUzNCwg ICAgIDQwOTYsICAgIDE2Mzg0LCAweDFmODcwYWFkCiswLCAgICAgNTI3NjMwLCAgICAgNTI3NjMw LCAgICAgNDA5NiwgICAgMTYzODQsIDB4NDczMDhiN2UKKzAsICAgICA1MzE3MjYsICAgICA1MzE3 MjYsICAgICA0MDk2LCAgICAxNjM4NCwgMHhjOWJiNTc1NAorMCwgICAgIDUzNTgyMiwgICAgIDUz NTgyMiwgICAgIDQwOTYsICAgIDE2Mzg0LCAweDQzM2MxMjllCiswLCAgICAgNTM5OTE4LCAgICAg NTM5OTE4LCAgICAgNDA5NiwgICAgMTYzODQsIDB4OWJmOWViNGEKKzAsICAgICA1NDQwMTQsICAg ICA1NDQwMTQsICAgICA0MDk2LCAgICAxNjM4NCwgMHg4NWVkN2UxNAorMCwgICAgIDU0ODExMCwg ICAgIDU0ODExMCwgICAgIDQwOTYsICAgIDE2Mzg0LCAweDhjNjc2ODM1CiswLCAgICAgNTUyMjA2 LCAgICAgNTUyMjA2LCAgICAgNDA5NiwgICAgMTYzODQsIDB4NTlmNzk4ODAKKzAsICAgICA1NTYz MDIsICAgICA1NTYzMDIsICAgICA0MDk2LCAgICAxNjM4NCwgMHgwN2I4ZTA3ZgorMCwgICAgIDU2 MDM5OCwgICAgIDU2MDM5OCwgICAgIDQwOTYsICAgIDE2Mzg0LCAweDRjNjQ3Y2ZiCiswLCAgICAg NTY0NDk0LCAgICAgNTY0NDk0LCAgICAgNDA5NiwgICAgMTYzODQsIDB4NmU2ZTk2M2UKKzAsICAg ICA1Njg1OTAsICAgICA1Njg1OTAsICAgICA0MDk2LCAgICAxNjM4NCwgMHgzN2JjMjFjYQorMCwg ICAgIDU3MjY4NiwgICAgIDU3MjY4NiwgICAgIDQwOTYsICAgIDE2Mzg0LCAweGM3ZmJhMTZjCisw LCAgICAgNTc2NzgyLCAgICAgNTc2NzgyLCAgICAgNDA5NiwgICAgMTYzODQsIDB4NzFkNDc2ODUK KzAsICAgICA1ODA4NzgsICAgICA1ODA4NzgsICAgICA0MDk2LCAgICAxNjM4NCwgMHgyMjE5Njcy OAorMCwgICAgIDU4NDk3NCwgICAgIDU4NDk3NCwgICAgIDQwOTYsICAgIDE2Mzg0LCAweDg2Y2I2 NTI0CiswLCAgICAgNTg5MDcwLCAgICAgNTg5MDcwLCAgICAgNDA5NiwgICAgMTYzODQsIDB4MzI5 M2NmNTIKKzAsICAgICA1OTMxNjYsICAgICA1OTMxNjYsICAgICAyMTg0LCAgICAgODczNiwgMHhk MDQ1ZTZlYQogMCwgICAgIDU5NTM1MCwgICAgIDU5NTM1MCwgICAgIDE5MTIsICAgICA3NjQ4LCAw eDVkNzE5MzhjCiAwLCAgICAgNTk3MjYyLCAgICAgNTk3MjYyLCAgICAgMzA5NywgICAgMTIzODgs IDB4ZDg1MmY0YzUKLS0gCjIuNTIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAtLSBmZm1wZWctZGV2ZWxA ZmZtcGVnLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRvIGZmbXBlZy1kZXZlbC1s ZWF2ZUBmZm1wZWcub3JnCg==