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 A38D04C148 for ; Wed, 8 Oct 2025 09:52:45 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'fRUYwvBoHbqEBHytOXdNwAHlIFLaiio1LNt6x72McYk=', expected b'Z/Lh0mbSjyNIJdLX2n7wHcEYr4Yn/2tDpshN0vrlztg=')) header.d=googlemail.com 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=1759917154; h=mime-version : references : in-reply-to : date : message-id : to : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=fRUYwvBoHbqEBHytOXdNwAHlIFLaiio1LNt6x72McYk=; b=klygTYxe/gvnhS2TpCrWjuPRDGYOgPNp1UJo9tEREBYN9u+tvietLOsU3QY2Ot6c2gc/m Q7vwD+OZRuCALgA0dXI1+4LRtovF6WkYPYL2YZYApQzpwYedvojuq/4bIklipoWG/lqHEZG xnrVYGmXVVA49n5RiKIzB5Z/tbx/XPZspbNFUyMtvaYWC7TtZmpShsR7oLz2ffGY4Q+yL6/ nV4Wkl3rMW0cLAyMBrzftkJb+2gs5OY+/0sdXaICCbzTfbw4WxcQO6uTT+QK8Bccx0WxBSp nPxUGjz2+d+xjNgrk7KInwg76gF6WaadzfytrsHOMBctrPEGlcltL2s6mBbg== Received: from [172.18.0.2] (unknown [172.19.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 1A80368F16E; Wed, 8 Oct 2025 12:52:34 +0300 (EEST) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1759917128; b=ERM0uVABtLtsQMkYYzHsQY7wJF5DqRRqjacxBrN6gvroR9WkO+u5JixLjaUMCBaUUf5HG anS9PAHIELj0la0AVqjRRqgShKzmVSGwCFsACHK68aTl3ZkxCwJ6SVnXmnxhrGix++hpYZw F48L+QZdc20HC5d3DhTvtjVC4+IdNO6zmW63Q4uipA1pOyFjFsdu2kQeV82DOo3SAQlDJZ3 j+z6egpbtT23HKGwa1k9k3w0PRUfciDfRBurok0tak8dCZvWRAjoDEq5WpuU6P0Jx9W1lsr 8Lp1eL018pmeHpUEhGjaToYiIxLsBmh/+hj0v6XrEUD4XxpuEPFPbi9nz1iA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1759917128; 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=fRUYwvBoHbqEBHytOXdNwAHlIFLaiio1LNt6x72McYk=; b=XtzKjhQDLHVOPy7OTSfPCL+HhwzSk0YxlhnoDxfdj7bJJl3nDYQq8KE5fQlvI8+tTKycq QvmO1MJZ130zs9zhPp8plZ9TllkA9Ab51YjvCo1RxjLDf6L6Zu2um6RSnKy4zDm0x8gHFbH 0PWeGqjab2szZ/M9kTIxMSVeLm0qzTfzGAJ6AHh5//0zvwpEYBnWVTdlIfQRHY0wvmoXELF h18gkh/tOJ7mQrYYMSrhRhDBZ4MqfAGWB87ev+8hyZJfMU6/vb0O0xyTWL7fO4S/pZYPrMf /aAkxy2KkaGulx5drfdjdSmYP29gtVkC5IIL4RGJTZa8nyBUtc78dG6na/sA== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=googlemail.com; arc=none; dmarc=pass header.from=googlemail.com policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=googlemail.com; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=googlemail.com policy.dmarc=quarantine Received: from mail-vs1-f53.google.com (mail-vs1-f53.google.com [209.85.217.53]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 93F5E68F060 for ; Wed, 8 Oct 2025 12:51:56 +0300 (EEST) Received: by mail-vs1-f53.google.com with SMTP id ada2fe7eead31-5b62ab6687dso7278769137.0 for ; Wed, 08 Oct 2025 02:51:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20230601; t=1759917115; x=1760521915; darn=ffmpeg.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Z/Lh0mbSjyNIJdLX2n7wHcEYr4Yn/2tDpshN0vrlztg=; b=fIDp3v9YvO0mobWyTUaopN/HgeCH0aS+HcWxsIGPCsBCWDqra3Oy1mSPzWNo15vB10 AtFYyuL4hIadk7rJQ1KYqcH9//VNu0fBo2P3QGuY7WFrMPcoKzrC7rq5Mub5dKn8qCtU agvWV6RTXKrVtJ0pfhZRB6lCS0kkP/a1XMZU3TVHGKGEgWeBUf0dKC9rXt4f1G+RnXkL FHqGyb1zP/qD3C6RD8ul8BwRkzybp5Xy6/Jtnvyo609SoYe+9h478xS0TYs3GUT/9YUb U73NpxU/ZhJSW++PZ71pqDUU+09/EC6+N1qPR4XPBGmfu9jOuaGq79A8BsuWww//nvec y6iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759917115; x=1760521915; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Z/Lh0mbSjyNIJdLX2n7wHcEYr4Yn/2tDpshN0vrlztg=; b=vR34sFQx5FwBEnox61IFVT48Y2pxGMjJmJIvLkGQUgCyQXt5TqP9oHXQCylrluwkud aeZlhqfOHZysFhunCIEFoYHU7iafP/qfu3tD5z3xEOYTATZTt0+Cq0I1uOgNaaZwVrao QAYP9xNb5X+rKwVb5rnZCb5/JncmkUlNkzsqWGpwCLECP6xXctjJb3n9croqzShjwodh t0758jdUlj75h8EmoGtIoRMh/zF7MnWkdbvZqEYQSXfSKqYPBCrxhr36sUiezacMQHbG DHK1pep6V4OnytRZlayWG+HnzWwm6lp6LGbpegbJY3a1dSiCmYXWPqTcT3e5eX6FkFds XE/A== X-Gm-Message-State: AOJu0YyRmV/V3LdnYg7XKrQ2v8sYFRR5xMVz38yCIGoMECPsvE7QgHTA sABaXhf25pAS5iEqvcP4MzsNh0dMNVNTyHAJYtfWrUxXdErkKX67h3EjQHAJx+YX8wc53tKhkJI cRfjrIKT+ljcwYxPbS31UDDwR4xrPWvc92RA9 X-Gm-Gg: ASbGncsKZWdusWLDm/HffYhBeK0+y93/Q0BEj5EL/UI13/yILc+TANImG3xoDD7TjKn tNE6QkRllNy8FgrEkzTkuSCdHAJ+1Nz8jt+e8vWwxzVW7VB9t64uYIO9wUNeo/2S59dGtxksXtp hlPTeWWTSoR0Y9Fi0DUL5VhL6Aoy6y/WaUlcDtfBeG8yhDQIMa8+o2Cid6ZKHBs1k39Jtf2KaTH 6Bir9C7Xdxm2gkEfRdQ0bZX5MNnptJ0w4eNFZWCqf163EMrJ3JE1e6/E5rfKudbrVG2i3p61UTb X-Google-Smtp-Source: AGHT+IGmzksoFPyTOIzw7SiczT4bVnuqt28FFJTALsQlrvxUoYGi+ayMLXWM7SX30EdbooL/740iJTjbWvFAHSnBo3M= X-Received: by 2002:a05:690e:385:b0:635:4ed0:5728 with SMTP id 956f58d0204a3-63ccb911aa8mr2339169d50.44.1759916739296; Wed, 08 Oct 2025 02:45:39 -0700 (PDT) MIME-Version: 1.0 References: <175975743841.65.5931684494133012869@bf249f23a2c8> In-Reply-To: <175975743841.65.5931684494133012869@bf249f23a2c8> Date: Wed, 8 Oct 2025 18:45:29 +0900 X-Gm-Features: AS18NWCEsnk_nQM-2QDmuvD24F3P1aPOmQBnE4zmb4gmDSicUOpiLsdWKcIotP8 Message-ID: To: FFmpeg development discussions and patches Message-ID-Hash: BWEN736E42TIJLY5GHLLZBTWRQLI5U6I X-Message-ID-Hash: BWEN736E42TIJLY5GHLLZBTWRQLI5U6I X-MailFrom: SRS0=fZ53=4R=googlemail.com=kieran618@ffmpeg.org 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; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] Re: [PATCH] avutil/crc: add arm64 crc32 asm (PR #20654) 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: Kieran Kunhya via ffmpeg-devel Cc: Zhao Zhili , Kieran Kunhya Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Archived-At: List-Archive: List-Post: T24gTW9uLCBPY3QgNiwgMjAyNSBhdCAxMDozMeKAr1BNIFpoYW8gWmhpbGkgdmlhIGZmbXBlZy1k ZXZlbA0KPGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnPiB3cm90ZToNCj4NCj4gUFIgIzIwNjU0IG9w ZW5lZCBieSBaaGFvIFpoaWxpIChxdWluaykNCj4gVVJMOiBodHRwczovL2NvZGUuZmZtcGVnLm9y Zy9GRm1wZWcvRkZtcGVnL3B1bGxzLzIwNjU0DQo+IFBhdGNoIFVSTDogaHR0cHM6Ly9jb2RlLmZm bXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMDY1NC5wYXRjaA0KPg0KPg0KPiA+RnJvbSBh YjZmZDdhMjczYjg4MDgwZTg3OGMwYzZkY2Y1ZTk1NmNiZmYwMjZlIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQ0KPiBGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+DQo+IERh dGU6IE1vbiwgNiBPY3QgMjAyNSAxMzo0MToxNiArMDgwMA0KPiBTdWJqZWN0OiBbUEFUQ0ggMS8z XSBhdnV0aWwvY3B1OiBhZGQgQ1BVIGZlYXR1cmUgZmxhZyBmb3IgYXJtIGNyYzMyDQo+DQo+IC0t LQ0KPiAgbGliYXZ1dGlsL2FhcmNoNjQvY3B1LmMgfCA1ICsrKysrDQo+ICBsaWJhdnV0aWwvY3B1 LmMgICAgICAgICB8IDEgKw0KPiAgbGliYXZ1dGlsL2NwdS5oICAgICAgICAgfCAxICsNCj4gIGxp YmF2dXRpbC90ZXN0cy9jcHUuYyAgIHwgMSArDQo+ICA0IGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0 aW9ucygrKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2FhcmNoNjQvY3B1LmMgYi9saWJh dnV0aWwvYWFyY2g2NC9jcHUuYw0KPiBpbmRleCBlODJjMGYxOWFiLi5kZTBkNzA5MDYyIDEwMDY0 NA0KPiAtLS0gYS9saWJhdnV0aWwvYWFyY2g2NC9jcHUuYw0KPiArKysgYi9saWJhdnV0aWwvYWFy Y2g2NC9jcHUuYw0KPiBAQCAtMjQsNiArMjQsNyBAQA0KPiAgI2luY2x1ZGUgPHN0ZGludC5oPg0K PiAgI2luY2x1ZGUgPHN5cy9hdXh2Lmg+DQo+DQo+ICsjZGVmaW5lIEhXQ0FQX0FBUkNINjRfQ1JD MzIgICAoMSA8PCA3KQ0KPiAgI2RlZmluZSBIV0NBUF9BQVJDSDY0X0FTSU1ERFAgKDEgPDwgMjAp DQo+ICAjZGVmaW5lIEhXQ0FQX0FBUkNINjRfU1ZFICAgICAoMSA8PCAyMikNCj4gICNkZWZpbmUg SFdDQVAyX0FBUkNINjRfU1ZFMiAgICgxIDw8IDEpDQo+IEBAIC0zNiw2ICszNyw4IEBAIHN0YXRp YyBpbnQgZGV0ZWN0X2ZsYWdzKHZvaWQpDQo+ICAgICAgdW5zaWduZWQgbG9uZyBod2NhcCA9IGZm X2dldGF1eHZhbChBVF9IV0NBUCk7DQo+ICAgICAgdW5zaWduZWQgbG9uZyBod2NhcDIgPSBmZl9n ZXRhdXh2YWwoQVRfSFdDQVAyKTsNCj4NCj4gKyAgICBpZiAoaHdjYXAgJiBIV0NBUF9BQVJDSDY0 X0NSQzMyKQ0KPiArICAgICAgICBmbGFncyB8PSBBVl9DUFVfRkxBR19DUkMzMjsNCj4gICAgICBp ZiAoaHdjYXAgJiBIV0NBUF9BQVJDSDY0X0FTSU1ERFApDQo+ICAgICAgICAgIGZsYWdzIHw9IEFW X0NQVV9GTEFHX0RPVFBST0Q7DQo+ICAgICAgaWYgKGh3Y2FwICYgSFdDQVBfQUFSQ0g2NF9TVkUp DQo+IEBAIC02Nyw2ICs3MCw4IEBAIHN0YXRpYyBpbnQgZGV0ZWN0X2ZsYWdzKHZvaWQpDQo+ICAg ICAgICAgIGZsYWdzIHw9IEFWX0NQVV9GTEFHX0RPVFBST0Q7DQo+ICAgICAgaWYgKGhhdmVfZmVh dHVyZSgiaHcub3B0aW9uYWwuYXJtLkZFQVRfSThNTSIpKQ0KPiAgICAgICAgICBmbGFncyB8PSBB Vl9DUFVfRkxBR19JOE1NOw0KPiArICAgIGlmIChoYXZlX2ZlYXR1cmUoImh3Lm9wdGlvbmFsLmFy bXY4X2NyYzMyIikpDQo+ICsgICAgICAgIGZsYWdzIHw9IEFWX0NQVV9GTEFHX0NSQzMyOw0KPg0K PiAgICAgIHJldHVybiBmbGFnczsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC9jcHUu YyBiL2xpYmF2dXRpbC9jcHUuYw0KPiBpbmRleCA4ZjliNzg1ZWJjLi5kOTc1M2Q1OGZhIDEwMDY0 NA0KPiAtLS0gYS9saWJhdnV0aWwvY3B1LmMNCj4gKysrIGIvbGliYXZ1dGlsL2NwdS5jDQo+IEBA IC0xODYsNiArMTg2LDcgQEAgaW50IGF2X3BhcnNlX2NwdV9jYXBzKHVuc2lnbmVkICpmbGFncywg Y29uc3QgY2hhciAqcykNCj4gICAgICAgICAgeyAiaThtbSIsICAgICBOVUxMLCAwLCBBVl9PUFRf VFlQRV9DT05TVCwgeyAuaTY0ID0gQVZfQ1BVX0ZMQUdfSThNTSAgICAgfSwgICAgLnVuaXQgPSAi ZmxhZ3MiIH0sDQo+ICAgICAgICAgIHsgInN2ZSIsICAgICAgTlVMTCwgMCwgQVZfT1BUX1RZUEVf Q09OU1QsIHsgLmk2NCA9IEFWX0NQVV9GTEFHX1NWRSAgICAgIH0sICAgIC51bml0ID0gImZsYWdz IiB9LA0KPiAgICAgICAgICB7ICJzdmUyIiwgICAgIE5VTEwsIDAsIEFWX09QVF9UWVBFX0NPTlNU LCB7IC5pNjQgPSBBVl9DUFVfRkxBR19TVkUyICAgICB9LCAgICAudW5pdCA9ICJmbGFncyIgfSwN Cj4gKyAgICAgICAgeyAiY3JjMzIiLCAgICBOVUxMLCAwLCBBVl9PUFRfVFlQRV9DT05TVCwgeyAu aTY0ID0gQVZfQ1BVX0ZMQUdfQ1JDMzIgICAgfSwgICAgLnVuaXQgPSAiZmxhZ3MiIH0sDQo+ICAj ZWxpZiBBUkNIX01JUFMNCj4gICAgICAgICAgeyAibW1pIiwgICAgICBOVUxMLCAwLCBBVl9PUFRf VFlQRV9DT05TVCwgeyAuaTY0ID0gQVZfQ1BVX0ZMQUdfTU1JICAgICAgfSwgICAgLnVuaXQgPSAi ZmxhZ3MiIH0sDQo+ICAgICAgICAgIHsgIm1zYSIsICAgICAgTlVMTCwgMCwgQVZfT1BUX1RZUEVf Q09OU1QsIHsgLmk2NCA9IEFWX0NQVV9GTEFHX01TQSAgICAgIH0sICAgIC51bml0ID0gImZsYWdz IiB9LA0KPiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2NwdS5oIGIvbGliYXZ1dGlsL2NwdS5oDQo+ IGluZGV4IDVlZjVkYTU4ZWIuLjExZDdlMTNiOTkgMTAwNjQ0DQo+IC0tLSBhL2xpYmF2dXRpbC9j cHUuaA0KPiArKysgYi9saWJhdnV0aWwvY3B1LmgNCj4gQEAgLTc0LDYgKzc0LDcgQEANCj4gICNk ZWZpbmUgQVZfQ1BVX0ZMQUdfSThNTSAgICAgICAgICgxIDw8IDkpDQo+ICAjZGVmaW5lIEFWX0NQ VV9GTEFHX1NWRSAgICAgICAgICAoMSA8PDEwKQ0KPiAgI2RlZmluZSBBVl9DUFVfRkxBR19TVkUy ICAgICAgICAgKDEgPDwxMSkNCj4gKyNkZWZpbmUgQVZfQ1BVX0ZMQUdfQ1JDMzIgICAgICAgICgx IDw8MTIpDQo+ICAjZGVmaW5lIEFWX0NQVV9GTEFHX1NFVEVORCAgICAgICAoMSA8PDE2KQ0KPg0K PiAgI2RlZmluZSBBVl9DUFVfRkxBR19NTUkgICAgICAgICAgKDEgPDwgMCkNCj4gZGlmZiAtLWdp dCBhL2xpYmF2dXRpbC90ZXN0cy9jcHUuYyBiL2xpYmF2dXRpbC90ZXN0cy9jcHUuYw0KPiBpbmRl eCBmZDJlMzI5MDFkLi5hNTA1OGY4OTFlIDEwMDY0NA0KPiAtLS0gYS9saWJhdnV0aWwvdGVzdHMv Y3B1LmMNCj4gKysrIGIvbGliYXZ1dGlsL3Rlc3RzL2NwdS5jDQo+IEBAIC00OCw2ICs0OCw3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3Qgew0KPiAgICAgIHsgQVZfQ1BVX0ZMQUdfSThNTSwgICAgICAi aThtbSIgICAgICAgfSwNCj4gICAgICB7IEFWX0NQVV9GTEFHX1NWRSwgICAgICAgInN2ZSIgICAg ICAgIH0sDQo+ICAgICAgeyBBVl9DUFVfRkxBR19TVkUyLCAgICAgICJzdmUyIiAgICAgICB9LA0K PiArICAgIHsgQVZfQ1BVX0ZMQUdfQ1JDMzIsICAgICAiY3JjMzIiICAgICAgfSwNCj4gICNlbGlm IEFSQ0hfQVJNDQo+ICAgICAgeyBBVl9DUFVfRkxBR19BUk1WNVRFLCAgICJhcm12NXRlIiAgICB9 LA0KPiAgICAgIHsgQVZfQ1BVX0ZMQUdfQVJNVjYsICAgICAiYXJtdjYiICAgICAgfSwNCj4gLS0N Cj4gMi40OS4xDQo+DQo+DQo+ID5Gcm9tIGNiZGNkZmYyYjg3YTA1ZjIxZTQ3N2FhNjg2Yjc5ZmY0 OWNlNjRmMjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQo+IEZyb206IFpoYW8gWmhpbGkgPHpo aWxpemhhb0B0ZW5jZW50LmNvbT4NCj4gRGF0ZTogTW9uLCA2IE9jdCAyMDI1IDE3OjE5OjA1ICsw ODAwDQo+IFN1YmplY3Q6IFtQQVRDSCAyLzNdIGF2dXRpbC9jcmM6IHVzZSBhcm02NCBjcmMzMiBp bnN0cnVjdGlvbg0KPg0KPiBPbiBycGk1IEE3Ng0KPiBjcmNfMzJfaWVlZV9sZV9jOiAgICAgICAg ICAgICAgICAgICAgMjM0MTAuOCAoIDEuMDB4KQ0KPiBjcmNfMzJfaWVlZV9sZV9jcmMzMjogICAg ICAgICAgICAgICAgIDEwNzIuNyAoMjEuODJ4KQ0KPg0KPiBPbiBSSzM1NjYgQTU1DQo+IGNyY18z Ml9pZWVlX2xlX2M6ICAgICAgICAgICAgICAgICAgICAyODc3OC44ICggMS4wMHgpDQo+IGNyY18z Ml9pZWVlX2xlX2NyYzMyOiAgICAgICAgICAgICAgICAgMjYyNS44ICgxMC45NngpDQo+IC0tLQ0K PiAgZG9jL0FQSWNoYW5nZXMgICAgICAgICAgICAgICB8ICAzICsrDQo+ICBsaWJhdnV0aWwvYWFy Y2g2NC9NYWtlZmlsZSAgIHwgIDQgKystDQo+ICBsaWJhdnV0aWwvYWFyY2g2NC9jcmMuUyAgICAg IHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIGxpYmF2dXRpbC9hYXJjaDY0L2Ny Y19pbml0LmMgfCAzNiArKysrKysrKysrKysrKysrKysrKysrDQo+ICBsaWJhdnV0aWwvY3JjLmMg ICAgICAgICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKystDQo+ICBsaWJhdnV0aWwvY3JjLmgg ICAgICAgICAgICAgIHwgMjUgKysrKysrKysrKysrKysrKw0KPiAgbGliYXZ1dGlsL2NyY19pbnRl cm5hbC5oICAgICB8IDI4ICsrKysrKysrKysrKysrKysrDQo+ICBsaWJhdnV0aWwvdmVyc2lvbi5o ICAgICAgICAgIHwgIDIgKy0NCj4gIHRlc3RzL2NoZWNrYXNtL01ha2VmaWxlICAgICAgfCAgMSAr DQo+ICB0ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5jICAgIHwgIDIgKysNCj4gIHRlc3RzL2NoZWNr YXNtL2NoZWNrYXNtLmggICAgfCAgMSArDQo+ICB0ZXN0cy9jaGVja2FzbS9oYXNoLmMgICAgICAg IHwgNTggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ICAxMiBmaWxlcyBj aGFuZ2VkLCAyMjkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NCBsaWJhdnV0aWwvYWFyY2g2NC9jcmMuUw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxp YmF2dXRpbC9hYXJjaDY0L2NyY19pbml0LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWJhdnV0 aWwvY3JjX2ludGVybmFsLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9jaGVja2FzbS9o YXNoLmMNCj4NCj4gZGlmZiAtLWdpdCBhL2RvYy9BUEljaGFuZ2VzIGIvZG9jL0FQSWNoYW5nZXMN Cj4gaW5kZXggNmU3ZjVkMjAzNy4uMzhlOGQzZjQwMyAxMDA2NDQNCj4gLS0tIGEvZG9jL0FQSWNo YW5nZXMNCj4gKysrIGIvZG9jL0FQSWNoYW5nZXMNCj4gQEAgLTIsNiArMiw5IEBAIFRoZSBsYXN0 IHZlcnNpb24gaW5jcmVhc2VzIG9mIGFsbCBsaWJyYXJpZXMgd2VyZSBvbiAyMDI1LTAzLTI4DQo+ DQo+ICBBUEkgY2hhbmdlcywgbW9zdCByZWNlbnQgZmlyc3Q6DQo+DQo+ICsyMDI1LTEwLXh4IC0g eHh4eHh4eHh4eCAtIGxhdnUgNjAuMTQuMTAwIC0gY3JjLmgNCj4gKyAgQWRkIGF2X2NyY19nZXQg YW5kIGF2X2NyYzIgZm9yIEFTTSBvcHRpbWl6YXRpb24uDQo+ICsNCj4gIDIwMjUtMDgteHggLSB4 eHh4eHh4eHh4IC0gbGF2ZiA2Mi42LjEwMCAtIG9nZ3BhcnNldm9yYmlzLmggb2dncGFyc2VvcHVz Lmggb2dncGFyc2VmbGFjLmgNCj4gICAgRHJvcCBoZWFkZXIgcGFja2V0cyBmcm9tIHNlY29uZGFy eSBjaGFpbmVkIG9nZy97ZmxhYywgb3B1cywgdm9yYmlzfSBzdHJlYW1zDQo+ICAgIGZyb20gZGVt dXhlciBvdXRwdXQuDQo+IGRpZmYgLS1naXQgYS9saWJhdnV0aWwvYWFyY2g2NC9NYWtlZmlsZSBi L2xpYmF2dXRpbC9hYXJjaDY0L01ha2VmaWxlDQo+IGluZGV4IDk5MmU5NWU0ZGYuLjgyNTgzNjgz MWQgMTAwNjQ0DQo+IC0tLSBhL2xpYmF2dXRpbC9hYXJjaDY0L01ha2VmaWxlDQo+ICsrKyBiL2xp YmF2dXRpbC9hYXJjaDY0L01ha2VmaWxlDQo+IEBAIC0xLDggKzEsMTAgQEANCj4gIE9CSlMgKz0g YWFyY2g2NC9jcHUubyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQo+ICsgICAgICAgIGFhcmNoNjQvY3JjX2luaXQubyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAgICAgICAgICBhYXJjaDY0L2Zsb2F0X2RzcF9p bml0Lm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gICAgICAgICAg YWFyY2g2NC90eF9mbG9hdF9pbml0Lm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcDQo+DQo+IC1ORU9OLU9CSlMgKz0gYWFyY2g2NC9mbG9hdF9kc3BfbmVvbi5vICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArTkVPTi1PQkpTICs9IGFhcmNoNjQvY3Jj Lm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAg ICAgICAgICBhYXJjaDY0L2Zsb2F0X2RzcF9uZW9uLm8gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ICAgICAgICAgICAgICAgYWFyY2g2NC90eF9mbG9hdF9uZW9uLm8gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPg0KPiAgU1ZFLU9CSlMgKz0gYWFyY2g2NC9j cHVfc3ZlLm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gZGlm ZiAtLWdpdCBhL2xpYmF2dXRpbC9hYXJjaDY0L2NyYy5TIGIvbGliYXZ1dGlsL2FhcmNoNjQvY3Jj LlMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYmNhN2E4OWMz MA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2xpYmF2dXRpbC9hYXJjaDY0L2NyYy5TDQo+IEBA IC0wLDAgKzEsNDMgQEANCj4gKy8qDQo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjUgWmhhbyBaaGls aSA8cXVpbmtibGFja0Bmb3htYWlsLmNvbT4NCj4gKyAqDQo+ICsgKiBUaGlzIGZpbGUgaXMgcGFy dCBvZiBGRm1wZWcuDQo+ICsgKg0KPiArICogRkZtcGVnIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCj4gKyAqIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQo+ICsg KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBM aWNlbnNlLCBvcg0KPiArICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCj4g KyAqDQo+ICsgKiBGRm1wZWcgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwNCj4gKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQo+ICsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQo+ICsgKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KPiArICoNCj4gKyAqIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFs b25nDQo+ICsgKiB3aXRoIEZGbXBlZzsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuLA0KPiArICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v ciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4NCj4gKyAqLw0KPiArDQo+ICsjaW5jbHVkZSAi YXNtLlMiDQo+ICsNCj4gK2Z1bmN0aW9uIGZmX2NyYzMyX2FhcmNoNjQsIGV4cG9ydD0xDQo+ICsg ICAgICAgIGJpYyAgICAgICAgICAgICB4NSwgeDMsICMxNQ0KPiArICAgICAgICBhbmQgICAgICAg ICAgICAgeDQsIHgzLCAjMTUNCj4gKyAgICAgICAgbW92ICAgICAgICAgICAgIHcwLCB3MQ0KPiAr ICAgICAgICBjYnogICAgICAgICAgICAgeDUsIDJmDQo+ICsxOg0KPiArICAgICAgICBsZHAgICAg ICAgICAgICAgeDYsIHg3LCBbeDJdLCAjMTYNCj4gKyAgICAgICAgc3VicyAgICAgICAgICAgIHg1 LCB4NSwgIzE2DQo+ICsgICAgICAgIGNyYzMyeCAgICAgICAgICB3MCwgdzAsIHg2DQo+ICsgICAg ICAgIGNyYzMyeCAgICAgICAgICB3MCwgdzAsIHg3DQo+ICsgICAgICAgIGIubmUgICAgICAgICAg ICAxYg0KPiArMjoNCj4gKyAgICAgICAgY2J6ICAgICAgICAgICAgIHg0LCA0Zg0KPiArMzoNCj4g KyAgICAgICAgbGRyYiAgICAgICAgICAgIHc1LCBbeDJdLCAjMQ0KPiArICAgICAgICBzdWJzICAg ICAgICAgICAgeDQsIHg0LCAjMQ0KPiArICAgICAgICBjcmMzMmIgICAgICAgICAgdzAsIHcwLCB3 NQ0KPiArICAgICAgICBiLm5lICAgICAgICAgICAgM2INCj4gKzQ6DQo+ICsgICAgICAgIHJldA0K PiArZW5kZnVuYw0KPiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2FhcmNoNjQvY3JjX2luaXQuYyBi L2xpYmF2dXRpbC9hYXJjaDY0L2NyY19pbml0LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uYTVhNzlmNjdlOA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2xp YmF2dXRpbC9hYXJjaDY0L2NyY19pbml0LmMNCj4gQEAgLTAsMCArMSwzNiBAQA0KPiArLyoNCj4g KyAqIENvcHlyaWdodCAoYykgMjAyNSBaaGFvIFpoaWxpIDxxdWlua2JsYWNrQGZveG1haWwuY29t Pg0KPiArICoNCj4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4NCj4gKyAqDQo+ICsg KiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQ0KPiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4gKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQo+ICsgKiAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KPiArICoNCj4gKyAqIEZGbXBlZyBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiArICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YN Cj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUNCj4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuDQo+ICsgKg0KPiArICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcNCj4gKyAqIHdpdGggRkZtcGVnOyBp ZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sDQo+ICsg KiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEg VVNBLg0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvYWFyY2g2NC9jcHUuaCIN Cj4gKyNpbmNsdWRlICJsaWJhdnV0aWwvYXR0cmlidXRlcy5oIg0KPiArI2luY2x1ZGUgImxpYmF2 dXRpbC9jcmNfaW50ZXJuYWwuaCINCj4gKw0KPiArdWludDMyX3QgZmZfY3JjMzJfYWFyY2g2NChj b25zdCBBVkNSQyAqY3JjdGFiLCB1aW50MzJfdCBjcmMsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHVpbnQ4X3QgKmJ1ZmZlciwgc2l6ZV90IGxlbmd0aCk7DQo+ICsNCj4gK2F2 X2NvbGQgdm9pZCBmZl9jcmNfZ2V0X2FhcmNoNjQoQVZDUkNJZCBjcmNfaWQsIEFWQ1JDQ3R4ICpj dHgpDQo+ICt7DQo+ICsgICAgaWYgKGNyY19pZCAhPSBBVl9DUkNfMzJfSUVFRV9MRSkNCj4gKyAg ICAgICAgcmV0dXJuOw0KPiArDQo+ICsgICAgaW50IGNwdV9mbGFncyA9IGF2X2dldF9jcHVfZmxh Z3MoKTsNCj4gKyAgICBpZiAoY3B1X2ZsYWdzICYgQVZfQ1BVX0ZMQUdfQ1JDMzIpDQo+ICsgICAg ICAgIGN0eC0+Zm4gPSBmZl9jcmMzMl9hYXJjaDY0Ow0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvbGli YXZ1dGlsL2NyYy5jIGIvbGliYXZ1dGlsL2NyYy5jDQo+IGluZGV4IDcwM2I1NmY0ZTAuLjJiYzQ1 YzJhNzYgMTAwNjQ0DQo+IC0tLSBhL2xpYmF2dXRpbC9jcmMuYw0KPiArKysgYi9saWJhdnV0aWwv Y3JjLmMNCj4gQEAgLTIzLDcgKzIzLDcgQEANCj4gICNpbmNsdWRlICJ0aHJlYWQuaCINCj4gICNp bmNsdWRlICJhdmFzc2VydC5oIg0KPiAgI2luY2x1ZGUgImJzd2FwLmgiDQo+IC0jaW5jbHVkZSAi Y3JjLmgiDQo+ICsjaW5jbHVkZSAiY3JjX2ludGVybmFsLmgiDQo+ICAjaW5jbHVkZSAiZXJyb3Iu aCINCj4NCj4gICNpZiBDT05GSUdfSEFSRENPREVEX1RBQkxFUw0KPiBAQCAtNDEzLDMgKzQxMywz MCBAQCB1aW50MzJfdCBhdl9jcmMoY29uc3QgQVZDUkMgKmN0eCwgdWludDMyX3QgY3JjLA0KPg0K PiAgICAgIHJldHVybiBjcmM7DQo+ICB9DQo+ICsNCj4gK2ludCBhdl9jcmNfZ2V0KEFWQ1JDSWQg Y3JjX2lkLCBBVkNSQ0N0eCAqY3R4KQ0KPiArew0KPiArICAgIGlmICghY3R4KQ0KPiArICAgICAg ICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOw0KPiArDQo+ICsgICAgY3R4LT5jcmN0YWIgPSBOVUxM Ow0KPiArICAgIGN0eC0+Zm4gPSBOVUxMOw0KPiArI2lmIEFSQ0hfQUFSQ0g2NA0KPiArICAgIGZm X2NyY19nZXRfYWFyY2g2NChjcmNfaWQsIGN0eCk7DQo+ICsjZW5kaWYNCj4gKyAgICBpZiAoY3R4 LT5mbikNCj4gKyAgICAgICAgcmV0dXJuIDA7DQo+ICsNCj4gKyAgICBjdHgtPmNyY3RhYiA9IGF2 X2NyY19nZXRfdGFibGUoY3JjX2lkKTsNCj4gKyAgICBpZiAoIWN0eC0+Y3JjdGFiKQ0KPiArICAg ICAgICByZXR1cm4gQVZFUlJPUl9CVUc7DQo+ICsgICAgY3R4LT5mbiA9IGF2X2NyYzsNCj4gKw0K PiArICAgIHJldHVybiAwOw0KPiArfQ0KPiArDQo+ICt1aW50MzJfdCBhdl9jcmMyKEFWQ1JDQ3R4 ICpjdHgsIHVpbnQzMl90IGNyYywNCj4gKyAgICAgICAgICAgICAgICAgY29uc3QgdWludDhfdCAq YnVmZmVyLCBzaXplX3QgbGVuZ3RoKQ0KPiArew0KPiArICAgIHJldHVybiBjdHgtPmZuKGN0eC0+ Y3JjdGFiLCBjcmMsIGJ1ZmZlciwgbGVuZ3RoKTsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL2xpYmF2 dXRpbC9jcmMuaCBiL2xpYmF2dXRpbC9jcmMuaA0KPiBpbmRleCA3ZjU5ODEyYTE4Li4wYzU0NGI1 M2JiIDEwMDY0NA0KPiAtLS0gYS9saWJhdnV0aWwvY3JjLmgNCj4gKysrIGIvbGliYXZ1dGlsL2Ny Yy5oDQo+IEBAIC01Nyw2ICs1NywxMiBAQCB0eXBlZGVmIGVudW0gew0KPiAgICAgIEFWX0NSQ19N QVgsICAgICAgICAgLyo8IE5vdCBwYXJ0IG9mIHB1YmxpYyBBUEkhIERvIG5vdCB1c2Ugb3V0c2lk ZSBsaWJhdnV0aWwuICovDQo+ICB9QVZDUkNJZDsNCj4NCj4gK3R5cGVkZWYgc3RydWN0IEFWQ1JD Q3R4IHsNCj4gKyAgICBjb25zdCBBVkNSQyAqY3JjdGFiOw0KPiArICAgIHVpbnQzMl90ICgqZm4p KGNvbnN0IEFWQ1JDICpjcmN0YWIsIHVpbnQzMl90IGNyYywgY29uc3QgdWludDhfdCAqYnVmZmVy LA0KPiArICAgICAgICAgICAgICAgICAgIHNpemVfdCBsZW5ndGgpOw0KPiArfSBBVkNSQ0N0eDsN Cj4gKw0KPiAgLyoqDQo+ICAgKiBJbml0aWFsaXplIGEgQ1JDIHRhYmxlLg0KPiAgICogQHBhcmFt IGN0eCBtdXN0IGJlIGFuIGFycmF5IG9mIHNpemUgc2l6ZW9mKEFWQ1JDKSoyNTcgb3Igc2l6ZW9m KEFWQ1JDKSoxMDI0DQo+IEBAIC05NSw2ICsxMDEsMjUgQEAgY29uc3QgQVZDUkMgKmF2X2NyY19n ZXRfdGFibGUoQVZDUkNJZCBjcmNfaWQpOw0KPiAgdWludDMyX3QgYXZfY3JjKGNvbnN0IEFWQ1JD ICpjdHgsIHVpbnQzMl90IGNyYywNCj4gICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpi dWZmZXIsIHNpemVfdCBsZW5ndGgpIGF2X3B1cmU7DQo+DQo+ICsvKioNCj4gKyAqIEdldCBhIEFW Q1JDQ3R4IGRlcGVuZHMgb24gQVZDUkNJZA0KPiArICogQHBhcmFtIGNyY19pZCAgICBJRCBvZiBh IHN0YW5kYXJkIENSQw0KPiArICogQHBhcmFtIGN0eCAgICAgICBBVkNSQ0N0eCB3aGljaCB3aWxs IGJlIHNldA0KPiArICogQHJldHVybiAgICAgICAgICA8IDAgb24gZmFpbHVyZQ0KPiArICovDQo+ ICtpbnQgYXZfY3JjX2dldChBVkNSQ0lkIGNyY19pZCwgQVZDUkNDdHggKmN0eCk7DQo+ICsNCj4g Ky8qKg0KPiArICogQ2FsY3VsYXRlIHRoZSBDUkMgb2YgYSBibG9jay4NCj4gKyAqIEBwYXJhbSBj dHggICAgICAgQVZDUkNDdHggZ2V0IGZyb20gYXZfY3JjX2dldCgpDQo+ICsgKiBAcGFyYW0gY3Jj ICAgICAgIENSQyBvZiBwcmV2aW91cyBibG9ja3MgaWYgYW55IG9yIGluaXRpYWwgdmFsdWUgZm9y IENSQw0KPiArICogQHBhcmFtIGJ1ZmZlciAgICBidWZmZXIgd2hvc2UgQ1JDIHRvIGNhbGN1bGF0 ZQ0KPiArICogQHBhcmFtIGxlbmd0aCAgICBsZW5ndGggb2YgdGhlIGJ1ZmZlcg0KPiArICogQHJl dHVybiAgICAgICAgICBDUkMgdXBkYXRlZCB3aXRoIHRoZSBkYXRhIGZyb20gdGhlIGdpdmVuIGJs b2NrDQo+ICsgKi8NCj4gK3VpbnQzMl90IGF2X2NyYzIoQVZDUkNDdHggKmN0eCwgdWludDMyX3Qg Y3JjLA0KPiArICAgICAgICAgICAgICAgICBjb25zdCB1aW50OF90ICpidWZmZXIsIHNpemVfdCBs ZW5ndGgpIGF2X3B1cmU7DQo+ICsNCj4gIC8qKg0KPiAgICogQH0NCj4gICAqLw0KPiBkaWZmIC0t Z2l0IGEvbGliYXZ1dGlsL2NyY19pbnRlcm5hbC5oIGIvbGliYXZ1dGlsL2NyY19pbnRlcm5hbC5o DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjRiMGQwMjBmMjgN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9saWJhdnV0aWwvY3JjX2ludGVybmFsLmgNCj4gQEAg LTAsMCArMSwyOCBAQA0KPiArLyoNCj4gKyAqIENvcHlyaWdodCAoYykgMjAyNSBaaGFvIFpoaWxp IDxxdWlua2JsYWNrQGZveG1haWwuY29tPg0KPiArICoNCj4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIEZGbXBlZy4NCj4gKyAqDQo+ICsgKiBGRm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQ0KPiArICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4gKyAq IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExp Y2Vuc2UsIG9yDQo+ICsgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KPiAr ICoNCj4gKyAqIEZGbXBlZyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLA0KPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4gKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCj4gKyAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQo+ICsgKg0KPiArICogWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxv bmcNCj4gKyAqIHdpdGggRkZtcGVnOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIEluYy4sDQo+ICsgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y LCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLg0KPiArICovDQo+ICsNCj4gKyNpZm5kZWYgQVZV VElMX0NSQ19JTlRFUk5BTF9IDQo+ICsjZGVmaW5lIEFWVVRJTF9DUkNfSU5URVJOQUxfSA0KPiAr DQo+ICsjaW5jbHVkZSAibGliYXZ1dGlsL2NyYy5oIg0KPiArDQo+ICt2b2lkIGZmX2NyY19nZXRf YWFyY2g2NChBVkNSQ0lkIGNyY19pZCwgQVZDUkNDdHggKmN0eCk7DQo+ICsNCj4gKyNlbmRpZiAv LyBBVlVUSUxfQ1JDX0lOVEVSTkFMX0gNCj4gZGlmZiAtLWdpdCBhL2xpYmF2dXRpbC92ZXJzaW9u LmggYi9saWJhdnV0aWwvdmVyc2lvbi5oDQo+IGluZGV4IDEwOTk3MTUwNzYuLjE3NmI5OWFlZjMg MTAwNjQ0DQo+IC0tLSBhL2xpYmF2dXRpbC92ZXJzaW9uLmgNCj4gKysrIGIvbGliYXZ1dGlsL3Zl cnNpb24uaA0KPiBAQCAtNzksNyArNzksNyBAQA0KPiAgICovDQo+DQo+ICAjZGVmaW5lIExJQkFW VVRJTF9WRVJTSU9OX01BSk9SICA2MA0KPiAtI2RlZmluZSBMSUJBVlVUSUxfVkVSU0lPTl9NSU5P UiAgMTMNCj4gKyNkZWZpbmUgTElCQVZVVElMX1ZFUlNJT05fTUlOT1IgIDE0DQo+ICAjZGVmaW5l IExJQkFWVVRJTF9WRVJTSU9OX01JQ1JPIDEwMA0KPg0KPiAgI2RlZmluZSBMSUJBVlVUSUxfVkVS U0lPTl9JTlQgICBBVl9WRVJTSU9OX0lOVChMSUJBVlVUSUxfVkVSU0lPTl9NQUpPUiwgXA0KPiBk aWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vTWFrZWZpbGUgYi90ZXN0cy9jaGVja2FzbS9NYWtl ZmlsZQ0KPiBpbmRleCAxNTg5YTE1ZTJmLi5hMjU1YzhlNzQyIDEwMDY0NA0KPiAtLS0gYS90ZXN0 cy9jaGVja2FzbS9NYWtlZmlsZQ0KPiArKysgYi90ZXN0cy9jaGVja2FzbS9NYWtlZmlsZQ0KPiBA QCAtODUsNiArODUsNyBAQCBDSEVDS0FTTU9CSlMtJChDT05GSUdfU1dTQ0FMRSkgICs9ICQoU1dT Q0FMRU9CSlMpDQo+ICAjIGxpYmF2dXRpbCB0ZXN0cw0KPiAgQVZVVElMT0JKUyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICs9IGFlcy5vDQo+ICBBVlVUSUxPQkpTICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKz0gYXZfdHgubw0KPiArQVZVVElMT0JKUyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICs9IGhhc2gubw0KPiAgQVZVVElMT0JKUyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICs9IGZpeGVkX2RzcC5vDQo+ICBBVlVUSUxPQkpTICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKz0gZmxvYXRfZHNwLm8NCj4gIEFWVVRJTE9CSlMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICArPSBsbHMubw0KPiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2thc20vY2hl Y2thc20uYyBiL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmMNCj4gaW5kZXggZTU5ZDM2NmYyYi4u YjIyNTI1OTQ0MyAxMDA2NDQNCj4gLS0tIGEvdGVzdHMvY2hlY2thc20vY2hlY2thc20uYw0KPiAr KysgYi90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5jDQo+IEBAIC0zMjAsNiArMzIwLDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCB7DQo+ICAjZW5kaWYNCj4gICNpZiBDT05GSUdfQVZVVElMDQo+ICAg ICAgICAgIHsgImFlcyIsICAgICAgIGNoZWNrYXNtX2NoZWNrX2FlcyB9LA0KPiArICAgICAgICB7 ICJoYXNoIiwgICAgICBjaGVja2FzbV9jaGVja19oYXNoIH0sDQo+ICAgICAgICAgIHsgImZpeGVk X2RzcCIsIGNoZWNrYXNtX2NoZWNrX2ZpeGVkX2RzcCB9LA0KPiAgICAgICAgICB7ICJmbG9hdF9k c3AiLCBjaGVja2FzbV9jaGVja19mbG9hdF9kc3AgfSwNCj4gICAgICAgICAgeyAibGxzIiwgICAg ICAgY2hlY2thc21fY2hlY2tfbGxzIH0sDQo+IEBAIC0zNDEsNiArMzQyLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCB7DQo+ICAgICAgeyAiSThNTSIsICAgICAiaThtbSIsICAgICBBVl9DUFVfRkxB R19JOE1NIH0sDQo+ICAgICAgeyAiU1ZFIiwgICAgICAic3ZlIiwgICAgICBBVl9DUFVfRkxBR19T VkUgfSwNCj4gICAgICB7ICJTVkUyIiwgICAgICJzdmUyIiwgICAgIEFWX0NQVV9GTEFHX1NWRTIg fSwNCj4gKyAgICB7ICJDUkMzMiIsICAgICJjcmMzMiIsICAgIEFWX0NQVV9GTEFHX0NSQzMyIH0s DQo+ICAjZWxpZiBBUkNIX0FSTQ0KPiAgICAgIHsgIkFSTVY1VEUiLCAgImFybXY1dGUiLCAgQVZf Q1BVX0ZMQUdfQVJNVjVURSB9LA0KPiAgICAgIHsgIkFSTVY2IiwgICAgImFybXY2IiwgICAgQVZf Q1BVX0ZMQUdfQVJNVjYgfSwNCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNt LmggYi90ZXN0cy9jaGVja2FzbS9jaGVja2FzbS5oDQo+IGluZGV4IGVkYTgwNmU4NzAuLjZmMjQx NThiZjQgMTAwNjQ0DQo+IC0tLSBhL3Rlc3RzL2NoZWNrYXNtL2NoZWNrYXNtLmgNCj4gKysrIGIv dGVzdHMvY2hlY2thc20vY2hlY2thc20uaA0KPiBAQCAtMTA1LDYgKzEwNSw3IEBAIHZvaWQgY2hl Y2thc21fY2hlY2tfaDI2NGNocm9tYSh2b2lkKTsNCj4gIHZvaWQgY2hlY2thc21fY2hlY2tfaDI2 NGRzcCh2b2lkKTsNCj4gIHZvaWQgY2hlY2thc21fY2hlY2tfaDI2NHByZWQodm9pZCk7DQo+ICB2 b2lkIGNoZWNrYXNtX2NoZWNrX2gyNjRxcGVsKHZvaWQpOw0KPiArdm9pZCBjaGVja2FzbV9jaGVj a19oYXNoKHZvaWQpOw0KPiAgdm9pZCBjaGVja2FzbV9jaGVja19oZXZjX2FkZF9yZXModm9pZCk7 DQo+ICB2b2lkIGNoZWNrYXNtX2NoZWNrX2hldmNfZGVibG9jayh2b2lkKTsNCj4gIHZvaWQgY2hl Y2thc21fY2hlY2tfaGV2Y19pZGN0KHZvaWQpOw0KPiBkaWZmIC0tZ2l0IGEvdGVzdHMvY2hlY2th c20vaGFzaC5jIGIvdGVzdHMvY2hlY2thc20vaGFzaC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjUxNjk2MzZlZjENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysg Yi90ZXN0cy9jaGVja2FzbS9oYXNoLmMNCj4gQEAgLTAsMCArMSw1OCBAQA0KPiArLyoNCj4gKyAq IENvcHlyaWdodCAoYykgMjAyNSBaaGFvIFpoaWxpIDxxdWlua2JsYWNrQGZveG1haWwuY29tPg0K PiArICoNCj4gKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEZGbXBlZy4NCj4gKyAqDQo+ICsgKiBG Rm1wZWcgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQ0KPiArICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCj4gKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQo+ICsgKiAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLg0KPiArICoNCj4gKyAqIEZGbXBlZyBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KPiArICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCj4g KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUNCj4gKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuDQo+ICsgKg0KPiArICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcNCj4gKyAqIHdpdGggRkZtcGVnOyBpZiBu b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sDQo+ICsgKiA1 MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNB Lg0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRlICJjaGVja2FzbS5oIg0KPiArI2luY2x1ZGUgImxp YmF2dXRpbC9jcmMuaCINCj4gKw0KPiArI2RlZmluZSBCVUZfU0laRSAoODE5MiArIDExKQ0KPiAr DQo+ICtzdGF0aWMgdm9pZCBjaGVja19jcmModm9pZCkNCj4gK3sNCj4gKyAgICB1aW50OF90IGJ1 ZltCVUZfU0laRV07DQo+ICsNCj4gKyAgICBmb3IgKGludCBpID0gMDsgaSA8IHNpemVvZihidWYp OyBpKyspDQo+ICsgICAgICAgIGJ1ZltpXSA9IHJuZCgpOw0KPiArDQo+ICsgICAgQVZDUkNDdHgg Y3R4Ow0KPiArICAgIHVpbnQzMl90IGNyYzAgPSBVSU5UMzJfTUFYOw0KPiArICAgIHVpbnQzMl90 IGNyYzEgPSBVSU5UMzJfTUFYOw0KPiArICAgIGF2X2NyY19nZXQoQVZfQ1JDXzMyX0lFRUVfTEUs ICZjdHgpOw0KPiArDQo+ICsgICAgZGVjbGFyZV9mdW5jKHVpbnQzMl90LCBjb25zdCBBVkNSQyAq Y3JjdGFiLCB1aW50MzJfdCBjcmMsDQo+ICsgICAgICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3Qg KmJ1ZmZlciwgc2l6ZV90IGxlbmd0aCk7DQo+ICsgICAgLyogTGVhdmUgY3JjdGFiIGFzIE5VTEwg aXMgYW4gb3B0aW1pemF0aW9uIGZvciByZWFsIHVzZWNhc2UsIGJ1dCBkb2Vzbid0DQo+ICsgICAg ICogd29yayB3aXRoIGNhbGxfcmVmLg0KPiArICAgICAqLw0KPiArICAgIGlmICghY3R4LmNyY3Rh YikNCj4gKyAgICAgICAgY3R4LmNyY3RhYiA9IGF2X2NyY19nZXRfdGFibGUoQVZfQ1JDXzMyX0lF RUVfTEUpOw0KPiArICAgIGlmIChjaGVja19mdW5jKGN0eC5mbiwgImNyY18zMl9pZWVlX2xlIikp IHsNCj4gKyAgICAgICAgY3JjMCA9IGNhbGxfcmVmKGN0eC5jcmN0YWIsIGNyYzAsIGJ1Ziwgc2l6 ZW9mKGJ1ZikpOw0KPiArICAgICAgICBjcmMxID0gY2FsbF9uZXcoY3R4LmNyY3RhYiwgY3JjMSwg YnVmLCBzaXplb2YoYnVmKSk7DQo+ICsgICAgICAgIGlmIChjcmMwICE9IGNyYzEpDQo+ICsgICAg ICAgICAgICBmYWlsKCk7DQo+ICsgICAgICAgIGJlbmNoX25ldyhjdHguY3JjdGFiLCBVSU5UMzJf TUFYLCBidWYsIHNpemVvZihidWYpKTsNCj4gKyAgICB9DQo+ICt9DQo+ICsNCj4gK3ZvaWQgY2hl Y2thc21fY2hlY2tfaGFzaCh2b2lkKQ0KPiArew0KPiArICAgIGNoZWNrX2NyYygpOw0KPiArICAg IHJlcG9ydCgiY3JjIik7DQo+ICt9DQo+IC0tDQo+IDIuNDkuMQ0KPg0KPg0KPiA+RnJvbSAxM2Jh ODcyZDEwMzllZWNkMDQ1N2MzZTMwZTlkNTNmMDQzZWQ4NWU5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQ0KPiBGcm9tOiBaaGFvIFpoaWxpIDx6aGlsaXpoYW9AdGVuY2VudC5jb20+DQo+IERhdGU6 IE1vbiwgNiBPY3QgMjAyNSAxODo0MTowMiArMDgwMA0KPiBTdWJqZWN0OiBbUEFUQ0ggMy8zXSBh dnV0aWwvaGFzaDogVXNlIG5ldyBjcmMgQVBJDQo+DQo+IC0tLQ0KPiAgbGliYXZ1dGlsL2hhc2gu YyB8IDEzICsrKysrKysrKystLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvbGliYXZ1dGlsL2hhc2guYyBiL2xp YmF2dXRpbC9oYXNoLmMNCj4gaW5kZXggZmJjMjQxOTRkZS4uYjI5ZGUxMDU1MSAxMDA2NDQNCj4g LS0tIGEvbGliYXZ1dGlsL2hhc2guYw0KPiArKysgYi9saWJhdnV0aWwvaGFzaC5jDQo+IEBAIC02 Niw3ICs2Niw3IEBAIGVudW0gaGFzaHR5cGUgew0KPiAgdHlwZWRlZiBzdHJ1Y3QgQVZIYXNoQ29u dGV4dCB7DQo+ICAgICAgdm9pZCAqY3R4Ow0KPiAgICAgIGVudW0gaGFzaHR5cGUgdHlwZTsNCj4g LSAgICBjb25zdCBBVkNSQyAqY3JjdGFiOw0KPiArICAgIEFWQ1JDQ3R4IGNyY2N0eDsNCj4gICAg ICB1aW50MzJfdCBjcmM7DQo+ICB9IEFWSGFzaENvbnRleHQ7DQo+DQo+IEBAIC0xMzcsNyArMTM3 LDE0IEBAIGludCBhdl9oYXNoX2FsbG9jKEFWSGFzaENvbnRleHQgKipjdHgsIGNvbnN0IGNoYXIg Km5hbWUpDQo+ICAgICAgY2FzZSBTSEE1MTJfMjU2Og0KPiAgICAgIGNhc2UgU0hBMzg0Og0KPiAg ICAgIGNhc2UgU0hBNTEyOiAgcmVzLT5jdHggPSBhdl9zaGE1MTJfYWxsb2MoKTsgYnJlYWs7DQo+ IC0gICAgY2FzZSBDUkMzMjogICByZXMtPmNyY3RhYiA9IGF2X2NyY19nZXRfdGFibGUoQVZfQ1JD XzMyX0lFRUVfTEUpOyBicmVhazsNCj4gKyAgICBjYXNlIENSQzMyOiB7DQo+ICsgICAgICAgIGlu dCBlcnIgPSBhdl9jcmNfZ2V0KEFWX0NSQ18zMl9JRUVFX0xFLCAmcmVzLT5jcmNjdHgpOw0KPiAr ICAgICAgICBpZiAoZXJyIDwgMCkgew0KPiArICAgICAgICAgICAgYXZfZnJlZShyZXMpOw0KPiAr ICAgICAgICAgICAgcmV0dXJuIGVycjsNCj4gKyAgICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICAg ICAgYnJlYWs7DQo+ICAgICAgY2FzZSBBRExFUjMyOiBicmVhazsNCj4gICAgICB9DQo+ICAgICAg aWYgKGkgIT0gQURMRVIzMiAmJiBpICE9IENSQzMyICYmICFyZXMtPmN0eCkgew0KPiBAQCAtMTg1 LDcgKzE5Miw3IEBAIHZvaWQgYXZfaGFzaF91cGRhdGUoQVZIYXNoQ29udGV4dCAqY3R4LCBjb25z dCB1aW50OF90ICpzcmMsIHNpemVfdCBsZW4pDQo+ICAgICAgY2FzZSBTSEE1MTJfMjU2Og0KPiAg ICAgIGNhc2UgU0hBMzg0Og0KPiAgICAgIGNhc2UgU0hBNTEyOiAgYXZfc2hhNTEyX3VwZGF0ZShj dHgtPmN0eCwgc3JjLCBsZW4pOyBicmVhazsNCj4gLSAgICBjYXNlIENSQzMyOiAgIGN0eC0+Y3Jj ID0gYXZfY3JjKGN0eC0+Y3JjdGFiLCBjdHgtPmNyYywgc3JjLCBsZW4pOyBicmVhazsNCj4gKyAg ICBjYXNlIENSQzMyOiAgIGN0eC0+Y3JjID0gYXZfY3JjMigmY3R4LT5jcmNjdHgsIGN0eC0+Y3Jj LCBzcmMsIGxlbik7IGJyZWFrOw0KPiAgICAgIGNhc2UgQURMRVIzMjogY3R4LT5jcmMgPSBhdl9h ZGxlcjMyX3VwZGF0ZShjdHgtPmNyYywgc3JjLCBsZW4pOyBicmVhazsNCj4gICAgICB9DQo+ICB9 DQo+IC0tDQoNCkp1c3QgRllJOg0KaHR0cHM6Ly9naXRodWIuY29tL2NvcnNpeC9mYXN0LWNyYzMy DQoNClRoZSBpbnN0cnVjdGlvbiBpdHNlbGYgaXNuJ3QgdGhlIGZhc3Rlc3Qgd2F5Lg0KDQpLaWVy YW4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmZmbXBl Zy1kZXZlbCBtYWlsaW5nIGxpc3QgLS0gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKVG8gdW5zdWJz Y3JpYmUgc2VuZCBhbiBlbWFpbCB0byBmZm1wZWctZGV2ZWwtbGVhdmVAZmZtcGVnLm9yZwo=