From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id wJAPFOHixWYzCQ8AWB0awg (envelope-from ) for ; Wed, 21 Aug 2024 08:51:45 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=lists.lttng.org header.i=@lists.lttng.org header.a=rsa-sha256 header.s=default header.b=O5lz4W4M; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 3798A1E0D0; Wed, 21 Aug 2024 08:51:45 -0400 (EDT) Received: from lists.lttng.org (lists.lttng.org [167.114.26.123]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 0E5F11E0AC for ; Wed, 21 Aug 2024 08:51:43 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1724244702; bh=QEFEeDOUcz/15MDpZcGAgj86Y9TuhAYS16H1K8dKYTo=; h=References:In-Reply-To:Date:To:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=O5lz4W4M+g8YddiFsqJDOwhOXd+ztgTvEmUpO4tgJ4mVe9m39pFPwiwpysGa8K+2K qU349ZnOz6ASjqzYyZ4lNE4rwJ6MRzxAl/ECDajfl2yHyMhh/bwKJq3aHVDkt3iWDP FcudVECztOEua93hF8ugp0ePa3Api62yuqUQmeVqzgAyt8dZ5CIlFGuaNol0SqVYHI TjteDOb5e1FDKKnRyYIhpyaeRmu0wmqzTW/F0jgmaT+yo/W4xTKvV9Tu8XPv6A+Ww1 mL6/GyfG4nxZhwsmFYg+GgZw8/ho5crK4O6TJl68H52KvdJbXjzXKqq/tZhJi+e28b 56H0Oqyx8iZQw== Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4WpmRy2Cs9z1Bvw; Wed, 21 Aug 2024 08:51:42 -0400 (EDT) Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com [IPv6:2607:f8b0:4864:20::534]) by lists.lttng.org (Postfix) with ESMTPS id 4WpmRx0bmkz1C1m for ; Wed, 21 Aug 2024 08:51:40 -0400 (EDT) Received: by mail-pg1-x534.google.com with SMTP id 41be03b00d2f7-7cd830e0711so671596a12.0 for ; Wed, 21 Aug 2024 05:51:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724244700; x=1724849500; 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=cshWLkVMVjb1k9frDBprMPitqWAc1xx7U2a3VtTTqpw=; b=Rgj7mEg3D131XS6E98kyDRceMfEFPzC8lRQ7prDlTaECGKMM+Xdr8Zo1TAiwdDqubm yjDnpfN3jManPo8UkcYWQ6nLUFXUve6FbzH9FhyhGV0jJ/o6XHx3BFj8af7/84aKxtz5 MHLbVI+1XdFn0wohhfhubL/2lpwnjzi4uj7QUt55ioIHLuAH1QiQqnNrjlBZ9ybRmkFz C12Bni5mlCjWe7e5LKTwpGET6j4kgbsNCUysTcKnzE3EubG1LXsWuw4DUXE2eicQafhL 1JYDQJoTlbPdBl1POCLhy8wnQX1o2r1Xveir8wTnWBD1RNsSNlLXts+UDyWRmBv3vUMc bzvg== X-Gm-Message-State: AOJu0YxT0JpOfAe0SV6H9pAHDQ8ICvXYQhjUVIqEN7SbSiAmJX4664A2 fWWtC8ATrUiK2eYsrpbD+WcJ2agnOJOC0V6NXzuGrUW96RGWBZLkGjbNkGfTNiZxvwHpryPrJdW DrXP6QZPg19N97ue/ct1StjsUHpw= X-Google-Smtp-Source: AGHT+IHkW3zHgNSwo23YGCIqEhX2H2YDFaDOvUG1IzbADfzRrLNqpad/up9bR3n4z2DekedO8sZaATVeStCYXehwK5g= X-Received: by 2002:a17:90b:1953:b0:2d4:91c:8882 with SMTP id 98e67ed59e1d1-2d5e99a5c36mr3873510a91.11.1724244699388; Wed, 21 Aug 2024 05:51:39 -0700 (PDT) MIME-Version: 1.0 References: <33527830-3bf3-4bc3-a53d-55eaefb74902@efficios.com> <09087915-9e15-4485-b3d3-f48b245690ec@efficios.com> <85e9d8f5-572e-4d3b-87f7-5ad7d21dfb3f@efficios.com> <5471fd8d-060a-416f-81ff-914818aa72c3@efficios.com> In-Reply-To: <5471fd8d-060a-416f-81ff-914818aa72c3@efficios.com> Date: Wed, 21 Aug 2024 08:51:28 -0400 Message-ID: To: Kienan Stewart Cc: lttng-dev@lists.lttng.org, yocto@lists.yoctoproject.org Subject: Re: [lttng-dev] Using lttng-ust 2.13.6 from Yocto Kirkstone and getting weird segfault saying strlen_asimd.S can't be found. X-BeenThere: lttng-dev@lists.lttng.org X-Mailman-Version: 2.1.39 Precedence: list List-Id: LTTng development list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Brian Hutchinson via lttng-dev Reply-To: Brian Hutchinson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" VXBkYXRlLgoKRmluYWxseSBmaWd1cmVkIG91dCBob3cgdG8gbWFrZSBhIGRlbW9uc3RyYXRvciBz byB5b3UgYWxsIGNvdWxkCnJlcHJvZHVjZSB0aGUgc2VnZmF1bHQgcHJvYmxlbS4KCkFmdGVyIG11 Y2ggZ29pbmcgaW4gY2lyY2xlcywgYSBjb2xsZWFndWUgZm91bmQgdGhlIGlzc3VlLiAgU2ltcGx5 IGFkZAotZnBhY2stc3RydWN0PTEgdG8gaGVsbG8gZXhhbXBsZS4KCmdjYyAtZnBhY2stc3RydWN0 PTEgLWMgLUkuIGhlbGxvLXRwLmMKZ2NjIC1mcGFjay1zdHJ1Y3Q9MSAtYyBoZWxsby5jCmdjYyAt byBoZWxsbyBoZWxsby5vIGhlbGxvLXRwLm8gLWxsdHRuZy11c3QgLWxkbAoKSSBrbm93IC4uLiB5 b3UncmUgZ29ubmEgc2F5IGRvbid0IGRvIHRoYXQsIGJ1dCB0aGlzIGlzIGVtYmVkZGVkIGFuZApt aWxsaW9ucyBvZiBsaW5lcyBvZiBjb2RlIHNvIGl0IGlzIHdoYXQgaXQgaXMuCgpSZWdhcmRzLAoK QnJpYW4KCk9uIFR1ZSwgSnVsIDMwLCAyMDI0IGF0IDExOjU44oCvQU0gS2llbmFuIFN0ZXdhcnQg PGtzdGV3YXJ0QGVmZmljaW9zLmNvbT4gd3JvdGU6Cj4KPiBIaSBCcmlhbiwKPgo+IE9uIDcvMzAv MjQgMTE6NTQgQU0sIEJyaWFuIEh1dGNoaW5zb24gd3JvdGU6Cj4gPiBIaSBLaWVuYW4sCj4gPgo+ ID4gSSBub3RpY2VkIGxvb2tpbmcgdGhydSB0aGUgMzhrIGxpbmUgTFRUTkdfVVNUX0RFQlVHIHNl c3Npb24gdGhpcyBsaW5lOgo+ID4KPiA+ICIgICAgICAgODEwOiAgICAgL3Vzci9saWIvbGlibHR0 bmctdXN0LnNvLjE6IGVycm9yOiBzeW1ib2wgbG9va3VwCj4gPiBlcnJvcjogdW5kZWZpbmVkIHN5 bWJvbDogbHR0X3Byb2JlX3JlZ2lzdGVyIChmYXRhbCkiCj4gPiAgPiAuLi4gYW5kIGl0IGpvZ2dl ZCBteSBtZW1vcnkgdGhhdCBJIGRpZCBzZWUgc29tZSBhYmkgY29uZmxpY3QgbWVzc2FnZXMKPiA+ IGluIGx0dG5nLXVzdCAibWFrZSBjaGVjayIgdGhhdCBJIGRvbid0IGtub3cgaWYgdGhleSBhcmUg Imdvb2QiIG9yCj4gPiAiYmFkIiBidXQgY291bGQgYmUgcmVsYXRlZD8/Pwo+ID4KPgo+IFRoaXMg aXMgaG93IGx0dG5nLXVzdC5zby4xIGNoZWNrcyBmb3IgbHR0bmctdXN0LnNvLjAgaW4gdGhlIHNh bWUKPiBwcm9jZXNzLiBJdCdzIG5vcm1hbC4KPgo+IEMuZi4KPiBodHRwczovL2dpdGh1Yi5jb20v bHR0bmcvbHR0bmctdXN0L2Jsb2IvNWRiODU1ODM5ZDQ1MjZjYjJiODBjNDUwOTY4ODRiN2Y2MTM2 ZGE5Zi9zcmMvbGliL2x0dG5nLXVzdC9sdHRuZy11c3QtY29tbS5jI0wyMjIxCj4KPiA+IEFueXdh eSwgYXR0YWNoaW5nIGEgdGFyIG9mIGx0dG5nLXVzdCBhbmQgbHR0bmctdG9vbHMgIm1ha2UgY2hl Y2siIGZvcgo+ID4geW91ciBlbmpveW1lbnQuCj4gPgo+ID4gUmVnYXJkcywKPiA+Cj4gPiBCcmlh bgo+ID4KPiA+Cj4gPgo+ID4KPiA+IE9uIFR1ZSwgSnVsIDMwLCAyMDI0IGF0IDg6NDDigK9BTSBC cmlhbiBIdXRjaGluc29uIDxiLmh1dGNobWFuQGdtYWlsLmNvbT4gd3JvdGU6Cj4gPj4KPiA+PiBP biBNb24sIEp1bCAyOSwgMjAyNCBhdCAzOjAz4oCvUE0gS2llbmFuIFN0ZXdhcnQgPGtzdGV3YXJ0 QGVmZmljaW9zLmNvbT4gd3JvdGU6Cj4gPj4+Cj4gPj4+IEhpIEJyaWFuLAo+ID4+Pgo+ID4+PiBP biA3LzI1LzI0IDM6NTQgUE0sIEJyaWFuIEh1dGNoaW5zb24gd3JvdGU6Cj4gPj4+PiBIaSBLaWVu YW4sCj4gPj4+Pgo+ID4+Pj4gSSdsbCBhbnN3ZXIgeW91ciBxdWVzdGlvbnMgYmVsb3csIGJ1dCBJ J3ZlIGdvdCBxdWVzdGlvbnMgb24gd2hhdCBJIHNhdwo+ID4+Pj4gYnVpbGRpbmcgYW5kIGluc3Rh bGxpbmcgbHR0bmctdG9vbHMgKDIuMTMuMTMpIGFuZCBsdHRuZy11c3QgKDIuMTMuOCkuCj4gPj4+ Pgo+ID4+Pj4gQmFzZWQgb24gdGhlIHN0cnVnZ2xlcyBJJ3ZlIGhhZCB0cnlpbmcgdG8gZ2V0IGx0 dG5nIHRvIHdvcmsgd2l0aCBteQo+ID4+Pj4gYXBwIG92ZXIgdmFyaW91cyBZb2N0byB2ZXJzaW9u cyAoRHVuZmVsbCAmIEtpcmtzdG9uZSkgYW5kIGx0dG5nCj4gPj4+PiB2ZXJzaW9uLCBJIHRoaW5r IHRoZSBwcm9ibGVtcyBJJ20gZmFjaW5nIGFyZSBtb3N0bHkgYXJvdW5kIEMrKyBhbmQKPiA+Pj4+ IHdlYWsgYW5kIGhpZGRlbiBzeW1ib2xzIGluIFlvY3RvIHRvb2xjaGFpbi4KPiA+Pj4+Cj4gPj4+ PiBXaGVuIEkgc3RhcnRlZCBteSBhcHAgd2l0aCB0aGUgb3B0aW9ucyB5b3UgbWVudGlvbmVkIHBy ZXZpb3VzbHkgYQo+ID4+Pj4gd2hpbGUgYmFjaywgSWQgc2VlIHRoaW5ncyBsaWtlOgo+ID4+Pj4K PiA+Pj4+ICMgTFRUTkdfVVNUX0RFQlVHPTEgTFRUTkdfVVNUX1JFR0lTVEVSX1RJTUVPVVQ9LTEg L29wdC90Yy9UcmFmZmljQ29udHJvbGxlcgo+ID4+Pj4gbGlibHR0bmdfdXN0X3RyYWNlcG9pbnRb NDAxMi80MDEyXTogWW91ciBjb21waWxlciB0cmVhdHMgd2VhayBzeW1ib2xzCj4gPj4+PiB3aXRo IGhpZGRlbiB2aXNpYmlsaXR5IGZvciBpbnRlZ2VyIG9iamVjdHMgYXMgU0FNRSBhZGRyZXNzIGJl dHdlZW4KPiA+Pj4+IGNvbXBpbGUgdW5pdHMgcGFydCBvZiB0aGUgc2FtZSBtb2R1bGUuIChpbiBj aGVja193ZWFrX2hpZGRlbigpIGF0Cj4gPj4+PiB0cmFjZXBvaW50LmM6MTAxMikKPiA+Pj4+IGxp Ymx0dG5nX3VzdF90cmFjZXBvaW50WzQwMTIvNDAxMl06IFlvdXIgY29tcGlsZXIgdHJlYXRzIHdl YWsgc3ltYm9scwo+ID4+Pj4gd2l0aCBoaWRkZW4gdmlzaWJpbGl0eSBmb3IgcG9pbnRlciBvYmpl Y3RzIGFzIFNBTUUgYWRkcmVzcyBiZXR3ZWVuCj4gPj4+PiBjb21waWxlIHVuaXRzIHBhcnQgb2Yg dGhlIHNhbWUgbW9kdWxlLiAoaW4gY2hlY2tfd2Vha19oaWRkZW4oKSBhdAo+ID4+Pj4gdHJhY2Vw b2ludC5jOjEwMTYpCj4gPj4+PiBsaWJsdHRuZ191c3RfdHJhY2Vwb2ludFs0MDEyLzQwMTJdOiBZ b3VyIGNvbXBpbGVyIHRyZWF0cyB3ZWFrIHN5bWJvbHMKPiA+Pj4+IHdpdGggaGlkZGVuIHZpc2li aWxpdHkgZm9yIDI0LWJ5dGUgc3RydWN0dXJlIG9iamVjdHMgYXMgU0FNRSBhZGRyZXNzCj4gPj4+ PiBiZXR3ZWVuIGNvbXBpbGUgdW5pdHMgcGFydCBvZiB0aGUgc2FtZSBtb2R1bGUuIChpbiBjaGVj a193ZWFrX2hpZGRlbigpCj4gPj4+PiBhdCB0cmFjZXBvaW50LmM6MTAyMCkKPiA+Pj4+Cj4gPj4+ Cj4gPj4+IFRoZXNlIG1lc3NhZ2VzIGFyZSBleHRyYSBpbmZvcm1hdGlvbiBmb3IgZGVidWdnaW5n IGFuZCBub3QgaW5kaWNhdGl2ZSBvZgo+ID4+PiBhIHByb2JsZW0gaW4gb2YgaXRzZWxmLiBDLmYu Cj4gPj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy11c3QvYmxvYi8yNGY3MTkzYzli OTE4YmY3MTRhNDBlOWZjOTA4ZWViNDk3OGFkYTFjL3NyYy9saWIvbHR0bmctdXN0LXRyYWNlcG9p bnQvdHJhY2Vwb2ludC5jI0wxMDEwCj4gPj4+Cj4gPj4+IFRoZXJlIGlzIGEgdW5pdCB0ZXN0IHJl bGF0ZWQgdG8gdGhpczoKPiA+Pj4gaHR0cHM6Ly9naXRodWIuY29tL2x0dG5nL2x0dG5nLXVzdC9i bG9iLzI0ZjcxOTNjOWI5MThiZjcxNGE0MGU5ZmM5MDhlZWI0OTc4YWRhMWMvdGVzdHMvdW5pdC9n Y2Mtd2Vhay1oaWRkZW4vbWFpbi5jI0w3Ngo+ID4+Pgo+ID4+Pgo+ID4+Pj4gSSBmdXJ0aGVyIHJl c2VhcmNoZWQgdGhpcyB3aG9sZSAnd2VhayBzeW1ib2wnIGFuZCAnaGlkZGVuIHZpc2liaWxpdHkn Cj4gPj4+PiB0b3BpYyBpbiB0aGUgbHR0bmctZGV2IGFyY2hpdmVzIGFuZCBpdCBzbWVsbHMgYSBs b3QgbGlrZSB3aGF0IEkndmUKPiA+Pj4+IGJlZW4gc2VlaW5nLiAgWW91IHNob3VsZCBiZSBhYmxl IHRvIG1peCBib3RoIHRyYWNlZiBhbmQgdHJhY2Vwb2ludAo+ID4+Pj4gY2FsbHMgaW4gc291Y2Ug Y29kZSAuLi4gYnV0IEkgY291bGQgbm90LiAgSSBjb3VsZCBnZXQgYSB0cmFjZWYgY2FsbCB0bwo+ ID4+Pj4gd29yayBidXQgaWYgSSBwdXQgYSB0cmFjZXBvaW50IGNhbGwgaW4gdGhlIHNhbWUgY29k ZSB0aGVuIG5vdGhpbmcKPiA+Pj4+IHdvdWxkIHdvcmsuICBUaGlzIHdhcyB3aXRoIER1bmZlbGwg My4xLjcgYW5kIGVhcmxpZXIgdmVyc2lvbnMgb2YKPiA+Pj4+IGx0dG5nLgo+ID4+Pj4KPiA+Pj4+ IEF0IG9uZSBwb2ludCBJIGNvdWxkIGdldCBhIHRyYWNlcG9pbnQgY2FsbCB0byB3b3JrIGJ1dCBJ J2QgaGF2ZSB0byBsZXQKPiA+Pj4+IG91ciBjbWFrZSBidWlsZCBzeXN0ZW0gYnVpbGQgYW5kIGxp bmsgdGhlIHRwcC5jIGZpbGUgYW5kIHRoZW4gdHVybgo+ID4+Pj4gYXJvdW5kIGFuZCB1c2UgZ2Nj IHRvIHJlY29tcGlsZSBpdCBhbmQgY29weSBpdCB0byB3aGVyZSBhbGwgdGhlCj4gPj4+PiBvYmpl Y3RzIHdlcmUgdG8gY3JlYXRlIHRoZSBodWdlIC5hIGxpYnJhcnkgdGhlIGFwcCB3YXMgYnVpbHQg YWdhaW5zdC4KPiA+Pj4+IFRoYXQncyB3aGVuIEkgZmlyc3QgbGVhcm5lZCB0aGVyZSBhcmUgaXNz dWVzIHdpdGggQysrLiAgSSB0aGluayBnKysgaXMKPiA+Pj4+IHVzZWQgdG8gYnVpbGQgZXZlbiAu YyBmaWxlcyB0aGF0IGFyZW4ndCBjKysuCj4gPj4+Pgo+ID4+Pj4gVGhlbiBpZiBJIHRyaWVkIHRv IHB1dCBhIHRyYWNlcG9pbnQgaW4gYW5vdGhlciBzdWIgcHJvamVjdCwgbm9uZSBvZgo+ID4+Pj4g dGhlIHRyYWNlcG9pbnRzIHdvdWxkIHdvcmsgYW5kIEknZCBnZXQgZW1wdHkgdHJhY2VzLiAgVGhp cyBpcyBhCj4gPj4+PiBzeW1wdG9tIG9mIHRoZSAnd2VhayBzeW1ib2xzIHdpdGggaGlkZGVuIHZp c2liaWxpdHknIGlzc3VlIC4uLiBhbmQgSQo+ID4+Pj4gZmluYWxseSBmb3VuZCBvdGhlcnMgdGhh dCB3ZXJlIGhhdmluZyBzYW1lIGlzc3VlIGluIHRoZSBhcmNoaXZlcy4gIEkKPiA+Pj4+IGRvbid0 IGZ1bGx5IHVuZGVyc3RhbmQgdGhlIGlzc3VlcyBoZXJlLCBhbHRob3VnaCBJIGRvIHVuZGVyc3Rh bmQgc29tZQo+ID4+Pj4gb2Ygd2hhdCdzIGdvaW5nIG9uIC4uLiBJIGp1c3QgZG9uJ3Qga25vdyB3 aGF0IHRvIGRvIGFib3V0IGl0Lgo+ID4+Pj4KPiA+Pj4KPiA+Pj4gWW91IHNhaWQgaW5pdGlhbGx5 IHNhaWQgdGhhdCB5b3UncmUgdXNpbmcgYGx0dG5nX3VzdF90cmFjZXBvaW50YCBleGFjdGx5Cj4g Pj4+IGFzIHRoZSBoZWxsbyB3b3JsZCBmcm9tIHRoZSBkb2N1bWVudGF0aW9uOyBob3dldmVyLCB5 b3UgaGF2ZSBqdXN0Cj4gPj4+IGRlc2NyaWJlZCBzZXZlcmFsIGF0dGVtcHRzIGF0IGRvaW5nIGRp ZmZlcmVudCB0aGluZ3MuIFdoaWNoIGNhc2UgYXJlIHdlCj4gPj4+IHRyeWluZyB0byB1bmRlcnN0 YW5kIGhlcmU/Cj4gPj4KPiA+PiBsdHRuZ191c3RfdHJhY2Vwb2ludC4gIEkgb25seSBtZW50aW9u ZWQgcHJpb3IgdGVzdHMgZm9yIGNvbnRleHQgdG8KPiA+PiBzaW1pbGFyIHN0cnVnZ2xlcyBmcm9t IGEgeWVhciBvciBtb3JlIGFnby4KPiA+Pgo+ID4+Cj4gPj4+Cj4gPj4+PiBBdCB0aGlzIHBvaW50 IEkgd2FzIGJlaW5nIGVuY291cmFnZWQgdG8ga2VlcCB1cGdyYWRpbmcgdG8gbmV3ZXIKPiA+Pj4+ IHZlcnNpb25zIG9mIGx0dG5nLiAgT3VyIGFwcCBuZXZlciBjaGFuZ2VkLCBnY2MgJiBsdHRuZyBl dGMuLCBrZXB0Cj4gPj4+PiBjaGFuZ2luZy4gIE5vdyB3aXRoIG5ld2VyIHZlcnNpb25zIG5vdGhp bmcgcnVucywgYWxsIEkgZ2V0IGlzIGFuCj4gPj4+PiBpbW1lZGlhdGUgc2VnZmF1bHQuICBBZ2Fp biwgSSdtIGJ1aWxkaW5nIGp1c3QgbGlrZSBJIGRpZCBiZWZvcmUgYSB5ZWFyCj4gPj4+PiBvciBz byBhZ28gd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBZb2N0byBhbmQgbHR0bmcuICBJIHNheSBhbGwg b2YgdGhhdAo+ID4+Pj4gdG8gZ2l2ZSBwZXJzcGVjdGl2ZSBhbmQgaGlzdG9yeSBvZiB3aGF0IEkn dmUgc2VlbiBhbmQgZXhwZXJpZW5jZWQuCj4gPj4+PiBOb3cgdGhpcyBUTFMgdGhpbmcgaGFzIGVu dGVyZWQgdGhlIHBpY3R1cmUgdG9vIGFuZCBzbyBmYXIgSSd2ZSBvbmx5Cj4gPj4+PiBjaGFuZ2Vk IGx0dG5nLCBJIGRvbid0IGtub3cgaWYgSSBzaG91bGQgYmUgYXBwbHlpbmcgcGF0Y2hlcyB0byBt eSBnY2MKPiA+Pj4+IGZvciB0aGF0IGlzc3VlLiAgTGlrZSBJIHNhaWQsIEknbSBjdXJyZW50bHkg dXNpbmcgWW9jdG8gS2lya3N0b25lCj4gPj4+PiA0LjAuMTggYW5kIDYuMS4zOCBrZXJuZWwuCj4g Pj4+Pgo+ID4+Pj4gTm93IEknbGwgbW92ZSBpbnRvIHRoZSBhcmVhIG9mIHRoaW5ncyBJJ3ZlIHNl ZW4gYnVpbGRpbmcvaW5zdGFsbGluZwo+ID4+Pj4gbHR0bmctdG9vbHMgYW5kIGx0dG5nLXVzdCBu YXRpdmVseSBvbiB0aGUgdGFyZ2V0IGVudmlyb25tZW50IEkndmUKPiA+Pj4+IHNldHVwIHdoZXJl IEkgY2FuIHJ1biAnbWFrZSBjaGVjaycgZXRjLiAgVGhlc2UgYXJlIGluIHRoZSBjYXRlZ29yeSBv Zgo+ID4+Pj4gImhleSwgaXMgdGhpcyBvaywgc2hvdWxkIEkgYmUgd29ycmllZCBhYm91dCB0aGlz IjoKPiA+Pj4+Cj4gPj4+PiBXaGlsZSBidWlsZGluZyBsdHRuZy10b29scyBJIHNlZSB0aGluZ3Mg bGlrZToKPiA+Pj4+Cj4gPj4+PiAqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhlY3V0YWJsZSB1 c2Vyc3BhY2UtcHJvYmUtZWxmLWJpbmFyeSBhZ2FpbnN0Cj4gPj4+PiB0aGUgbG9hZGFibGUgbW9k dWxlCj4gPj4+PiAqKiogbGliZm9vLnNvIGlzIG5vdCBwb3J0YWJsZSEKPiA+Pj4+Cj4gPj4+Cj4g Pj4+IFRoZSBsaWJyYXJ5IGlzIGZvciBhIHRlc3QgcHJvZ3JhbS4gTXkgdW5kZXJzdGFuZGluZyBp cyB0aGF0IHRoZSBsaWJyYXJ5Cj4gPj4+IGlzIGNvbXBpbGVkIHRoYXQgd2F5IHRvIGZvcmNlIGEg c3RyaXBwZWQgc2hhcmVkIG9iamVjdCB0byBiZSBwcm9kdWNlZCBpbgo+ID4+PiBvcmRlciB0byB2 YWxpZGF0ZSB0aGF0IHN5bWJvbCBsb29rdXBzIGluIGxpYnJhcmllcyB3aXRoIG5vIHN5bXRhYgo+ ID4+PiBmdW5jdGlvbiBhcyBleHBlY3RlZCBieSB1c2luZyB0aGUgZHluc3ltIHRhYmxlLgo+ID4+ Pgo+ID4+PiBDLmYuCj4gPj4+IGh0dHBzOi8vZ2l0aHViLmNvbS9sdHRuZy9sdHRuZy10b29scy9j b21taXQvZWYzZGZlNWQzMWM4OGZiNTQ4MTg5YTY0NDFhYWY4YjJhZmMwYmQ0Ygo+ID4+Pgo+ID4+ Pj4gSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL3NyYy9jb21tb24vbWFjcm9zLmg6MTUs Cj4gPj4+PiAgICAgICAgICAgICAgICAgICBmcm9tIC4uLy4uLy4uL2luY2x1ZGUvbHR0bmcvaGVh bHRoLWludGVybmFsLmg6MTksCj4gPj4+PiAgICAgICAgICAgICAgICAgICBmcm9tIGx0dG5nLWN0 bC1oZWFsdGguYzoxOToKPiA+Pj4+IEluIGZ1bmN0aW9uICdsdHRuZ19zdHJubGVuJywKPiA+Pj4+ ICAgICAgaW5saW5lZCBmcm9tICdsdHRuZ19zdHJuY3B5JyBhdCAuLi8uLi8uLi9zcmMvY29tbW9u L21hY3Jvcy5oOjEyODo2LAo+ID4+Pj4gICAgICBpbmxpbmVkIGZyb20gJ3NldF9oZWFsdGhfc29j a2V0X3BhdGgnIGF0IGx0dG5nLWN0bC1oZWFsdGguYzoxNDY6OSwKPiA+Pj4+ICAgICAgaW5saW5l ZCBmcm9tICdsdHRuZ19oZWFsdGhfcXVlcnknIGF0IGx0dG5nLWN0bC1oZWFsdGguYzoyNjQ6ODoK PiA+Pj4+IC4uLy4uLy4uL3NyYy9jb21tb24vY29tcGF0L3N0cmluZy5oOjE5OjE2OiB3YXJuaW5n OiAnc3RybmxlbicKPiA+Pj4+IHNwZWNpZmllZCBib3VuZCA0MDk2IG1heSBleGNlZWQgc291cmNl IHNpemUgMzcgWy1Xc3RyaW5nb3Atb3ZlcnJlYWRdCj4gPj4+PiAgICAgMTkgfCAgICAgICAgIHJl dHVybiBzdHJubGVuKHN0ciwgbWF4KTsKPiA+Pj4+ICAgICAgICB8ICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+Cj4gPj4+PiBsdHRuZy1jdGwtaGVhbHRoLmM6IEF0IHRvcCBsZXZlbDoK PiA+Pj4+IGNjMTogbm90ZTogdW5yZWNvZ25pemVkIGNvbW1hbmQtbGluZSBvcHRpb24KPiA+Pj4+ ICctV25vLWluY29tcGxldGUtc2V0am1wLWRlY2xhcmF0aW9uJyBtYXkgaGF2ZSBiZWVuIGludGVu ZGVkIHRvIHNpbGVuY2UKPiA+Pj4+IGVhcmxpZXIgZGlhZ25vc3RpY3MKPiA+Pj4KPiA+Pj4gVGhp cyB3YXJuaW5nIGlzIGFkZHJlc3NlZCBpbgo+ID4+PiBodHRwczovL2dpdGh1Yi5jb20vbHR0bmcv bHR0bmctdG9vbHMvY29tbWl0L2IyNWE1OTkxNjEwNmU1MDU1YmU1MTZmNjFmMTgzYTQ4ZjQ1OWIw YjMKPiA+Pj4KPiA+Pj4+ICoqIFdhcm5pbmc6IExpbmtpbmcgdGhlIHNoYXJlZCBsaWJyYXJ5IGxp YmJhci5sYSBhZ2FpbnN0IHRoZSBsb2FkYWJsZSBtb2R1bGUKPiA+Pj4+ICoqKiBsaWJ6enouc28g aXMgbm90IHBvcnRhYmxlIQo+ID4+Pj4KPiA+Pj4+ICoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBz aGFyZWQgbGlicmFyeSBsaWJmb28ubGEgYWdhaW5zdCB0aGUgbG9hZGFibGUgbW9kdWxlCj4gPj4+ PiAqKiogbGliYmFyLnNvIGlzIG5vdCBwb3J0YWJsZSEKPiA+Pj4+Cj4gPj4+PiBXaGlsZSBpbnN0 YWxsaW5nIGx0dG5nLXRvb2xzIEkgc2VlIHRoaW5ncyBsaWtlIHRoaXM6Cj4gPj4+Pgo+ID4+Pj4g bWFrZVs0XTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvb3B0L2x0dG5nL2x0dG5nLXRvb2xzLTIuMTMu MTMvc3JjL2xpYi9sdHRuZy1jdGwnCj4gPj4+PiAgICBDQyAgICAgICBsdHRuZy1jdGwubG8KPiA+ Pj4+ICAgIENDICAgICAgIHNuYXBzaG90LmxvCj4gPj4+PiAgICBDQyAgICAgICBsdHRuZy1jdGwt aGVhbHRoLmxvCj4gPj4+PiBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vc3JjL2NvbW1v bi9tYWNyb3MuaDoxNSwKPiA+Pj4+ICAgICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vLi4vaW5j bHVkZS9sdHRuZy9oZWFsdGgtaW50ZXJuYWwuaDoxOSwKPiA+Pj4+ICAgICAgICAgICAgICAgICAg IGZyb20gbHR0bmctY3RsLWhlYWx0aC5jOjE5Ogo+ID4+Pj4gSW4gZnVuY3Rpb24gJ2x0dG5nX3N0 cm5sZW4nLAo+ID4+Pj4gICAgICBpbmxpbmVkIGZyb20gJ2x0dG5nX3N0cm5jcHknIGF0IC4uLy4u Ly4uL3NyYy9jb21tb24vbWFjcm9zLmg6MTI4OjYsCj4gPj4+PiAgICAgIGlubGluZWQgZnJvbSAn c2V0X2hlYWx0aF9zb2NrZXRfcGF0aCcgYXQgbHR0bmctY3RsLWhlYWx0aC5jOjE0Njo5LAo+ID4+ Pj4gICAgICBpbmxpbmVkIGZyb20gJ2x0dG5nX2hlYWx0aF9xdWVyeScgYXQgbHR0bmctY3RsLWhl YWx0aC5jOjI2NDo4Ogo+ID4+Pj4gLi4vLi4vLi4vc3JjL2NvbW1vbi9jb21wYXQvc3RyaW5nLmg6 MTk6MTY6IHdhcm5pbmc6ICdzdHJubGVuJwo+ID4+Pj4gc3BlY2lmaWVkIGJvdW5kIDQwOTYgbWF5 IGV4Y2VlZCBzb3VyY2Ugc2l6ZSAzNyBbLVdzdHJpbmdvcC1vdmVycmVhZF0KPiA+Pj4+ICAgICAx OSB8ICAgICAgICAgcmV0dXJuIHN0cm5sZW4oc3RyLCBtYXgpOwo+ID4+Pj4gICAgICAgIHwgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KPiA+Pj4+IGx0dG5nLWN0bC1oZWFsdGguYzog QXQgdG9wIGxldmVsOgo+ID4+Pj4gY2MxOiBub3RlOiB1bnJlY29nbml6ZWQgY29tbWFuZC1saW5l IG9wdGlvbgo+ID4+Pj4gJy1Xbm8taW5jb21wbGV0ZS1zZXRqbXAtZGVjbGFyYXRpb24nIG1heSBo YXZlIGJlZW4gaW50ZW5kZWQgdG8gc2lsZW5jZQo+ID4+Pj4gZWFybGllciBkaWFnbm9zdGljcwo+ ID4+Pj4KPiA+Pj4+IE1ha2luZyBpbnN0YWxsIGluIHRyaWdnZXItY29uZGl0aW9uLWV2ZW50LW1h dGNoZXMKPiA+Pj4+IG1ha2VbMl06IEVudGVyaW5nIGRpcmVjdG9yeQo+ID4+Pj4gJy9vcHQvbHR0 bmcvbHR0bmctdG9vbHMtMi4xMy4xMy9kb2MvZXhhbXBsZXMvdHJpZ2dlci1jb25kaXRpb24tZXZl bnQtbWF0Y2hlcycKPiA+Pj4+ICAgIENDICAgICAgIGluc3RydW1lbnRlZC1hcHAubwo+ID4+Pj4g ICAgQ0MgICAgICAgdHJhY2Vwb2ludC10cmlnZ2VyLWV4YW1wbGUubwo+ID4+Pj4gICAgQVIgICAg ICAgbGlidHJhY2Vwb2ludC10cmlnZ2VyLWV4YW1wbGUuYQo+ID4+Pj4gYXI6IGB1JyBtb2RpZmll ciBpZ25vcmVkIHNpbmNlIGBEJyBpcyB0aGUgZGVmYXVsdCAoc2VlIGBVJykKPiA+Pj4+Cj4gPj4+ PiBXaGlsZSBidWlsZGluZyBsdHRuZy11c3QgSSBzZWUgdGhpbmdzIGxpa2U6Cj4gPj4+Pgo+ID4+ Pj4gTWFraW5nIGFsbCBpbiB1dGlscwo+ID4+Pj4gbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5 Cj4gPj4+PiAnL2hvbWUvaWFkbWluL2x0dG5nLXVzdC9sdHRuZy11c3QtMi4xMy44L3Rlc3RzL3V0 aWxzJwo+ID4+Pj4gICAgQ0MgICAgICAgdGFwLm8KPiA+Pj4+ICAgIEFSICAgICAgIGxpYnRhcC5h Cj4gPj4+PiBhcjogYHUnIG1vZGlmaWVyIGlnbm9yZWQgc2luY2UgYEQnIGlzIHRoZSBkZWZhdWx0 IChzZWUgYFUnKQo+ID4+Pj4KPiA+Pj4KPiA+Pj4gV2hpbGUgbGlidG9vbCBub3cgdXNlcyBgY3Jg IGJ5IGRlZmF1bHQsIGF1dG9tYWtlIHN0aWxsIGRlZmluZXMgdGhlCj4gPj4+IGRlZmF1bHQgdG8g YGNydWAgd2hpY2ggaXMgd2hhdCBlbmRzIHVwIGdldHRpbmcgdXNlZCBpbiB0aGUgZXhhbXBsZS4K PiA+Pj4gU2luY2UgbWFueSBkaXN0cm9zIGhhdmUgY2hhbmdlZCB0aGUgY29uZmlndXJhdGlvbiBv ZiBhciBzdWNoIHRoYXQgJ0QnIGlzCj4gPj4+IHRoZSBkZWZhdWx0IHJhdGhlciB0aGFuIHRoZSBw cmV2aW91cyBiZWhhdmlvdXIgJ1UnLCAndScgaXMgcmVkdW5kYW50Lgo+ID4+Pgo+ID4+PiBUaGUg YmVoYXZpb3VyIGluIGF1dG9tYWtlIGhhcyBiZWVuIGNoYW5nZWQgaW4gYXV0b21ha2UgMS4xNi45 MCsuCj4gPj4+Cj4gPj4+IEMuZi4KPiA+Pj4gaHR0cHM6Ly9naXRodWIuY29tL2F1dG90b29scy1t aXJyb3IvbGlidG9vbC9jb21taXQvNDE4MTI5YmM2M2FmYzMxMjcwMWU4NGNiOGFmYTVjYTQxM2Rm MWFiNQo+ID4+Pgo+ID4+PiBDLmYuCj4gPj4+IGh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9j Z2l0L2F1dG9tYWtlLmdpdC9jb21taXQvP2lkPThjZGJkZGE1YWVjNjUyYzM1NmZlNmRiYmE5Njgx MDIwMjE3NmFlNzUKPiA+Pj4KPiA+Pj4+ICoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBzaGFyZWQg bGlicmFyeSBsaWJ6ZXJvLmxhIGFnYWluc3QgdGhlCj4gPj4+PiBsb2FkYWJsZSBtb2R1bGUKPiA+ Pj4+ICoqKiBsaWJmYWtldXN0MC5zbyBpcyBub3QgcG9ydGFibGUhCj4gPj4+PiAgICBDQ0xEICAg ICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMAo+ID4+Pj4KPiA+Pj4+ICoqKiBXYXJuaW5nOiBMaW5r aW5nIHRoZSBleGVjdXRhYmxlIGFwcF9ub3VzdF9pbmRpcmVjdF9hYmkwIGFnYWluc3QKPiA+Pj4+ IHRoZSBsb2FkYWJsZSBtb2R1bGUKPiA+Pj4+ICoqKiBsaWJ6ZXJvLnNvIGlzIG5vdCBwb3J0YWJs ZSEKPiA+Pj4+ICAgIENDICAgICAgIGFwcF9ub3VzdF9pbmRpcmVjdF9hYmkwX2FiaTEtYXBwX25v dXN0Lm8KPiA+Pj4+ICAgIENDICAgICAgIGxpYm9uZS5sbwo+ID4+Pj4gICAgQ0NMRCAgICAgbGli b25lLmxhCj4gPj4+PiAgICBDQ0xEICAgICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMF9hYmkxCj4g Pj4+Pgo+ID4+Pj4gKioqIFdhcm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1dGFibGUgYXBwX25vdXN0 X2luZGlyZWN0X2FiaTBfYWJpMQo+ID4+Pj4gYWdhaW5zdCB0aGUgbG9hZGFibGUgbW9kdWxlCj4g Pj4+PiAqKiogbGliemVyby5zbyBpcyBub3QgcG9ydGFibGUhCj4gPj4+Pgo+ID4+Pj4gKioqIFdh cm5pbmc6IExpbmtpbmcgdGhlIGV4ZWN1dGFibGUgYXBwX25vdXN0X2luZGlyZWN0X2FiaTBfYWJp MQo+ID4+Pj4gYWdhaW5zdCB0aGUgbG9hZGFibGUgbW9kdWxlCj4gPj4+PiAqKiogbGlib25lLnNv IGlzIG5vdCBwb3J0YWJsZSEKPiA+Pj4+ICAgIENDICAgICAgIGFwcF9ub3VzdF9pbmRpcmVjdF9h YmkxLWFwcF9ub3VzdC5vCj4gPj4+PiAgICBDQ0xEICAgICBhcHBfbm91c3RfaW5kaXJlY3RfYWJp MQo+ID4+Pj4KPiA+Pj4+ICoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBleGVjdXRhYmxlIGFwcF9u b3VzdF9pbmRpcmVjdF9hYmkwX2FiaTEKPiA+Pj4+IGFnYWluc3QgdGhlIGxvYWRhYmxlIG1vZHVs ZQo+ID4+Pj4gKioqIGxpYm9uZS5zbyBpcyBub3QgcG9ydGFibGUhCj4gPj4+PiAgICBDQyAgICAg ICBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMS1hcHBfbm91c3Qubwo+ID4+Pj4gICAgQ0NMRCAgICAg YXBwX25vdXN0X2luZGlyZWN0X2FiaTEKPiA+Pj4+Cj4gPj4+PiAqKiogV2FybmluZzogTGlua2lu ZyB0aGUgZXhlY3V0YWJsZSBhcHBfbm91c3RfaW5kaXJlY3RfYWJpMSBhZ2FpbnN0Cj4gPj4+PiB0 aGUgbG9hZGFibGUgbW9kdWxlCj4gPj4+PiAqKiogbGlib25lLnNvIGlzIG5vdCBwb3J0YWJsZSEK PiA+Pj4+ICAgIENDICAgICAgIGFwcF91c3Qubwo+ID4+Pj4gICAgQ0MgICAgICAgdHAubwo+ID4+ Pj4gICAgQ0NMRCAgICAgYXBwX3VzdAo+ID4+Pj4gICAgQ0MgICAgICAgYXBwX3VzdF9kbG9wZW4u bwo+ID4+Pj4gICAgQ0NMRCAgICAgYXBwX3VzdF9kbG9wZW4KPiA+Pj4+ICAgIENDICAgICAgIGFw cF91c3RfaW5kaXJlY3RfYWJpMC1hcHBfdXN0Lm8KPiA+Pj4+ICAgIENDICAgICAgIGFwcF91c3Rf aW5kaXJlY3RfYWJpMC10cC5vCj4gPj4+PiAgICBDQ0xEICAgICBhcHBfdXN0X2luZGlyZWN0X2Fi aTAKPiA+Pj4+Cj4gPj4+PiAqKiogV2FybmluZzogTGlua2luZyB0aGUgZXhlY3V0YWJsZSBhcHBf dXN0X2luZGlyZWN0X2FiaTAgYWdhaW5zdCB0aGUKPiA+Pj4+IGxvYWRhYmxlIG1vZHVsZQo+ID4+ Pj4gKioqIGxpYnplcm8uc28gaXMgbm90IHBvcnRhYmxlIQo+ID4+Pj4gICAgQ0MgICAgICAgYXBw X3VzdF9pbmRpcmVjdF9hYmkwX2FiaTEtYXBwX3VzdC5vCj4gPj4+PiAgICBDQyAgICAgICBhcHBf dXN0X2luZGlyZWN0X2FiaTBfYWJpMS10cC5vCj4gPj4+PiAgICBDQ0xEICAgICBhcHBfdXN0X2lu ZGlyZWN0X2FiaTBfYWJpMQo+ID4+Pj4KPiA+Pj4+ICoqKiBXYXJuaW5nOiBMaW5raW5nIHRoZSBl eGVjdXRhYmxlIGFwcF91c3RfaW5kaXJlY3RfYWJpMF9hYmkxIGFnYWluc3QKPiA+Pj4+IHRoZSBs b2FkYWJsZSBtb2R1bGUKPiA+Pj4+ICoqKiBsaWJ6ZXJvLnNvIGlzIG5vdCBwb3J0YWJsZSEKPiA+ Pj4+Cj4gPj4+PiBJIGRvbid0IGtub3cgaWYgdGhlc2UgYXJlIG9rIG9yIGlmIEkgc2hvdWxkIGJl IHdvcnJpZWQgYWJvdXQgYW55IG9mIHRoYXQuCj4gPj4+Pgo+ID4+Pgo+ID4+PiBUaGVzZSBhcmUg YWxsIGZvciBkaWZmZXJlbnQgdGVzdHMuCj4gPj4+Cj4gPj4+PiAuLi4gbm93IG9uIHRvIHlvdXIg cXVlc3Rpb25zIGJlbG93Lgo+ID4+Pj4KPiA+Pj4+Cj4gPj4+Pgo+ID4+Pj4gT24gV2VkLCBKdWwg MjQsIDIwMjQgYXQgMTI6MDTigK9QTSBLaWVuYW4gU3Rld2FydCA8a3N0ZXdhcnRAZWZmaWNpb3Mu Y29tPiB3cm90ZToKPiA+Pj4+Pgo+ID4+Pj4+IEhpIEJyaWFuLAo+ID4+Pj4+Cj4gPj4+Pj4gT24g Ny8yMi8yNCA2OjAwIFBNLCBCcmlhbiBIdXRjaGluc29uIHdyb3RlOgo+ID4+Pj4+PiBIaSBLaWVu YW4sCj4gPj4+Pj4+Cj4gPj4+Pj4+IFRvb2sgYSB3aGlsZSB0byBnYXRoZXIgeW91ciBncm9jZXJ5 IGxpc3QgYnV0IEkgdGhpbmsgSSBoYXZlIG1vc3Qgb2YgaXQKPiA+Pj4+Pj4gYmVsb3cgOykKPiA+ Pj4+Pgo+ID4+Pj4+IHRoYW5rcyBmb3IgYWxsIHRoZSBleHRyYSBpbmZvLiBSZXBsaWVzIGlubGlu ZSBiZWxvdywgYnV0IEknbGwgY3V0IGEgbG90Cj4gPj4+Pj4gb2YgdGhlIGxvbmcgb3V0cHV0IGZv ciByZWFkYWJpbGl0eS4KPiA+Pj4+Pgo+ID4+Pj4+IHRsO2RyIHRoZSBlbnZpcm9ubWVudCBjb250 aW51ZXMgdG8gYmUgd2VpcmQsIGJ1dCBteSBwcmVzZW50IHN1c3BpY2lvbiBpcwo+ID4+Pj4+IHRo YXQgc29tZXRoaW5nIGluIGVpdGhlciBjb21waWxhdGlvbiwgdGhlIGxpbmtpbmcgb2YgeW91ciBh cHAgKGVnLiB3aXRoCj4gPj4+Pj4gbGQgd2hlbiBwcm9kdWNpbmcgdGhlIGV4ZWN1dGFibGUpLCBv ciBzb21lIHBvc3QgbGlua2luZyBzdHJpcHBpbmcgbWlnaHQKPiA+Pj4+PiBiZSBjYXVzaW5nIGlz c3Vlcy4KPiA+Pj4+Cj4gPj4+PiBJJ20gbm90IGF3YXJlIG9mIGFueSBzdHJpcHBpbmcgdGhhdCdz IGdvaW5nIG9uLiAgSW4gZmFjdCBldmVyeXRoaW5nIGlzCj4gPj4+PiBiZWluZyBidWlsdCB3aXRo IGRlYnVnIHN5bWJvbHMgYXQgdGhlIG1vbWVudCBhbmQgSSBldmVuIHR1cm5lZCBvZmYKPiA+Pj4+ IG9wdGltaXphdGlvbiAuLi4gZXZlbiB1c2VkIHRoZSBkZWJ1ZyBmcmllbmRseSAtTyBmbGFnIHRv IHNlZSBpZiB0aGF0Cj4gPj4+PiBtYWRlIGEgZGlmZmVyZW5jZS4KPiA+Pj4+Cj4gPj4+Pj4KPiA+ Pj4+PiBJIHdpbGwgc3RvcCBkaWdnaW5nIGludG8gZnVydGhlciBoeXBvdGhldGljYWxzIG9uIG15 IHNpZGUgYXMgdGhlcmUgaXMgbm8KPiA+Pj4+PiByZXByb2R1Y2VyIGZvciBib3RoIHRoZSBlbnZp cm9ubWVudCBhbmQgdGhlIGFwcGxpY2F0aW9uLiBJZiB5b3UgZXZlciBlbmQKPiA+Pj4+PiB1cCB3 aXRoIGEgbWluaW1hbCByZXByb2R1Y2VyIHRoYXQgeW91IGNhbiBzaGFyZSwgSSdkIGJlIG1vcmUg dGhhbiBoYXBweQo+ID4+Pj4+IHRvIGV4YW1pbmUgaXQuCj4gPj4+Pgo+ID4+Pj4gSSdtIHBsYW5u aW5nIG9uIHRyeWluZyB0byBtYWtlIGEgc21hbGwgcmVwcm9kdWNlciBJIGNhbiBzaGFyZSBidXQg bm90IHRoZXJlIHlldC4KPiA+Pj4+Cj4gPj4+Cj4gPj4+IEdyZWF0ISBJIGFwcHJlY2lhdGUgdGhh dCB5b3UncmUgdGFraW5nIHRoZSB0aW1lIHRvIGRvIHNvLgo+ID4+Pgo+ID4+Pj4+Cj4gPj4+Pj4+ Cj4gPj4+Pj4+IEkgbWF5IGhhdmUgbm90IGJlZW4gY2xlYXIuICBNb3N0IG9mIHRoZSBhcHBsaWNh dGlvbiBjb21wb25lbnRzIGFyZQo+ID4+Pj4+PiBzdGF0aWNhbGx5IGxpbmtlZCBidXQgSSB0aGlu ayB0aGVyZSBhcmUgc29tZSB0aGF0IGFyZSBidWlsdCBhcyBzaGFyZWQKPiA+Pj4+Pj4gb2JqZWN0 cyAoLnNvJ3MpIHNvIHRoYXQncyB3aGF0IEkgd2FzIHJlZmVycmluZyB0by4gIEkga25vdyB0aGF0 Cj4gPj4+Pj4+IGx0dG5nLXVzdCBpcyBkeW5hbWljYWxseSBsaW5rZWQgLi4uIEkgdGhpbmsgdGhl IGx0dG5nLXVzdCBkb2NzIHNheSB0aGlzCj4gPj4+Pj4+IGlzIG9ubHkgb3B0aW9uIGJ1dCBhbHNv IG1ha2VzIHJlZmVyZW5jZSB0byB0aGUgZmFjdCBzdGF0aWMgbGlua2luZyB3YXMKPiA+Pj4+Pj4g b25jZSBwb3NzaWJsZSAoaW4gc29tZSB2ZXJzaW9ucyBvZiB0aGUgZG9jdW1lbnRhdGlvbikgYnV0 IG5vdCBzdXBwb3J0ZWQKPiA+Pj4+Pj4gYW55bW9yZSAoSSBwcm9iYWJseSBoYXZlIHRoZSBkb2Nz IG1lbW9yaXplZCBieSBub3cgaGEsIGhhIC4uLiBJJ3ZlCj4gPj4+Pj4+IGxvb2tlZCBhdCBtYW55 LCBtYW55IHZlcnNpb25zIG9mIHRoZW0pLgo+ID4+Pj4+Pgo+ID4+Pj4+PiBKdXN0IGZvciBmdWxs IGRpc2Nsb3N1cmUgbXkgbGRkIGxvb2tzIGxpa2U6Cj4gPj4+Pj4+Cj4gPj4+Pj4+ICAgICAgICAg ICBsaW51eC12ZHNvLnNvLjEgKDB4MDAwMGZmZmZhYjE5NjAwMCkKPiA+Pj4+Pj4gICAgICAgICAg IGxpYmZjZ2kuc28uMCA9PiAvdXNyL2xpYi9saWJmY2dpLnNvLjAgKDB4MDAwMGZmZmZhNTdmMDAw MCkKPiA+Pj4+Pj4gICAgICAgICAgIGxpYmx0dG5nLXVzdC5zby4xID0+IC91c3IvbGliL2xpYmx0 dG5nLXVzdC5zby4xCj4gPj4+Pj4+ICgweDAwMDBmZmZmYTU3NTAwMDApCj4gPj4+Pj4+ICAgICAg ICAgICBsaWJ4bWwyLnNvLjIgPT4gL3Vzci9saWIvbGlieG1sMi5zby4yICgweDAwMDBmZmZmYTU1 ZDAwMDApCj4gPj4+Pj4+ICAgICAgICAgICBsaWJydC5zby4xID0+IC9saWIvbGlicnQuc28uMSAo MHgwMDAwZmZmZmE1NWIwMDAwKQo+ID4+Pj4+PiAgICAgICAgICAgbGlibS5zby42ID0+IC9saWIv bGlibS5zby42ICgweDAwMDBmZmZmYTU1MTAwMDApCj4gPj4+Pj4+ICAgICAgICAgICBsaWJzdGRj Kysuc28uNiA9PiAvdXNyL2xpYi9saWJzdGRjKysuc28uNiAoMHgwMDAwZmZmZmE1MmYwMDAwKQo+ ID4+Pj4+PiAgICAgICAgICAgbGliZ2NjX3Muc28uMSA9PiAvbGliL2xpYmdjY19zLnNvLjEgKDB4 MDAwMGZmZmZhNTJjMDAwMCkKPiA+Pj4+Pj4gICAgICAgICAgIGxpYmMuc28uNiA9PiAvbGliL2xp YmMuc28uNiAoMHgwMDAwZmZmZmE1MTEwMDAwKQo+ID4+Pj4+PiAgICAgICAgICAgL2xpYi9sZC1s aW51eC1hYXJjaDY0LnNvLjEgKDB4MDAwMGZmZmZhYjE1ZDAwMCkKPiA+Pj4+Pj4gICAgICAgICAg IGxpYmx0dG5nLXVzdC1jb21tb24uc28uMSA9Pgo+ID4+Pj4+PiAvdXNyL2xvY2FsL2xpYi9saWJs dHRuZy11c3QtY29tbW9uLnNvLjEgKDB4MDAwMGZmZmZhNTBlMDAwMCkKPiA+Pj4+Pj4gICAgICAg ICAgIGxpYmx0dG5nLXVzdC10cmFjZXBvaW50LnNvLjEgPT4KPiA+Pj4+Pj4gL3Vzci9sb2NhbC9s aWIvbGlibHR0bmctdXN0LXRyYWNlcG9pbnQuc28uMSAoMHgwMDAwZmZmZmE1MGEwMDAwKQo+ID4+ Pj4+PiAgICAgICAgICAgbGlicHRocmVhZC5zby4wID0+IC9saWIvbGlicHRocmVhZC5zby4wICgw eDAwMDBmZmZmYTUwODAwMDApCj4gPj4+Pj4+ICAgICAgICAgICBsaWJ6LnNvLjEgPT4gL2xpYi9s aWJ6LnNvLjEgKDB4MDAwMGZmZmZhNTA1MDAwMCkKPiA+Pj4+Pj4KPiA+Pj4+Pj4KPiA+Pj4+Pgo+ ID4+Pj4+IEkgZmluZCBpdCB2ZXJ5IHN1c3BpY2lvdXMgdGhhdCBgbGlibHR0bmctdXN0LnNvLjFg IGlzIGluIGAvdXNyL2xpYmAsCj4gPj4+Pj4gd2hpbGUgdGhlIG90aGVyIGx0dG5nLXVzdCBsaWJy YXJpZXMgYXJlIGJlaW5nIGxvYWRlZCBmcm9tIGAvdXNyL2xvY2FsL2xpYmAuCj4gPj4+Pgo+ID4+ Pj4gU28gWW9jdG8gcHV0cyBhbGwgb2YgdGhlIGx0dG5nIGxpYnMgaW50byAvdXNyL2xpYi4gIFdo ZW4gSSBzZW50IHRoZQo+ID4+Pj4gcHJldmlvdXMgaW5mbyBJIHdhcyB1c2luZyBsdHRuZy10b29s cyBhbmQgbW9kdWxlcyBidWlsdCBieSBZb2N0by9PRQo+ID4+Pj4gYW5kIEkgc2V0dXAgYSBuYXRp dmUgYnVpbGQgZW52aXJvbm1lbnQgb24gdGhlIHRhcmdldCBzbyBJIGNvdWxkIHJ1bgo+ID4+Pj4g J21ha2UgY2hlY2snIGV0Yy4sIGFuZCB0aGF0J3Mgd2h5IHRoZXJlIHdlcmUgdGhpbmdzIGluIC91 c3IvbG9jYWwvbGliCj4gPj4+PiBiZWNhdXNlIHRoYXQncyB3aGVyZSB5b3UgZ3V5cyB3YW50IHN0 dWZmIHRvIGJlLiAgU28gSSBhY3R1YWxseSBsZWZ0Cj4gPj4+PiB0aGUgbHR0bmctdXN0IGluc3Rh bGxhYmxlcyBpbiAvdXNyL2xvY2FsL2J1aWxkIGJ1dCBhbHNvIGNvcGllZCB0aGVtIHRvCj4gPj4+ PiAvdXNyL2xpYiB0byBvdmVyd3JpdGUgb2xkIFlvY3RvIHZlcnNpb25zIHRoZXJlLgo+ID4+Pj4K PiA+Pj4KPiA+Pj4gSXQncyBub3Qgc28gbXVjaCB0aGF0IGl0J3MgIndoZXJlIHdlIHdhbnQgaXQg dG8gYmUiLiBUaGUgZG9jdW1lbnRhdGlvbgo+ID4+PiB1c2VzIGAvdXNyL2xvY2FsL2xpYmAgYmVj YXVzZSBgL3Vzci9sb2NhbGAgaXMgbWVhbnQgZm9yIHNvZnR3YXJlCj4gPj4+IGluc3RhbGxlZCBi eSB0aGUgc3lzYWRtaW4gYWRtaW5pc3RyYXRvciwgYXMgaXMgdGhlIGNhc2Ugd2hlbiBidWlsZGlu ZyBhCj4gPj4+IGN1c3RvbSB2ZXJzaW9uLiBgL3Vzci9saWJgIHNob3VsZCBiZSB1c2VkIGJ5IHBh Y2thZ2VzIHNoaXBwZWQgd2l0aCB0aGUKPiA+Pj4gc3lzdGVtLgo+ID4+Pgo+ID4+PiBDLmYuIGh0 dHBzOi8vcmVmc3BlY3MubGludXhmb3VuZGF0aW9uLm9yZy9GSFNfMy4wL2Zocy9jaDA0czA5Lmh0 bWwKPiA+Pj4KPiA+Pj4gWW91J3JlIGZyZWUgdG8gZG8gYXMgeW91IHNlZSBmaXQsIGJ1dCB3aGVu IHlvdSBzdGFydCBtaXhpbmcgYW5kIG1hdGNoaW5nCj4gPj4+IGxpYnJhcmllcyBhbmQgc29tZSBh cmUgcHV0IGluIC91c3IvbGliIGJ5IHlvdXIgc3lzdGVtIHBhY2thZ2VzIGFuZCBzb21lCj4gPj4+ IHlvdSBtb3ZlIHRoZXJlIG1hbnVhbGx5IEkgZmluZCBpdCBtb3JlIGRpZmZpY3VsdCB0byBmb2xs b3cgd2hhdCBpcyBnb2luZyBvbi4KPiA+Pj4KPiA+Pj4+Pgo+ID4+Pj4+IFRoaXMgaW5mb3JtYXRp b24gYWxzbyBtYXRjaGVzIHRoZSBzdGF0ZWR1bXAgYW5kIHRoZSBMRF9ERUJVRyBpbmZvIGZyb20K PiA+Pj4+PiBsYXRlciBvbi4KPiA+Pj4+Pgo+ID4+Pj4+IENvdWxkIHlvdSB2ZXJpZnkgc29tZSBv ZiB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOgo+ID4+Pj4+Cj4gPj4+Pj4gMS4gSW4geW91ciBi dWlsZCByb290IGZvciBsdHRuZy11c3QsIGVudW1lcmF0ZSBhbGwgdGhlIGxpYmx0dG5nKnNvCj4g Pj4+Pj4gZmlsZXMuIEZvciBlYWNoIHNoYXJlZCBvYmplY3QsIHJ1biBgZmlsZSAkbGlibmFtZWAg YW5kIHJlY29yZCB0aGUgdmFsdWUKPiA+Pj4+PiBvZiB0aGUgQnVpbGRJRCBoYXNoLlI1am93Cj4g Pj4+Pgo+ID4+Pj4gU29ycnksIEknbSBub3QgZm9sbG93aW5nIHlvdSBoZXJlLiAgVGhlIG9ubHkg YnVpbGRJRCBoYXNoIEkgY2FuIHRoaW5rCj4gPj4+PiBvZiBpcyB3aXRoICdldS11bnN0cmlwIC1u JyBidXQgdGhhdCdzIG9uIGNvcmUgZmlsZXMsIG5vdCBpbmRpdmlkdWFsCj4gPj4+PiBsaWJzLiAg QW5kIGxvb2tpbmcgYXQgdGhlIG9wdGlvbnMgSSBoYXZlIGZvciAnZmlsZScgb24gbXkgdGFyZ2V0 LCBJCj4gPj4+PiBkb24ndCBzZWUgYW55dGhpbmcgdGhhdCBsb29rcyBsaWtlIHdoYXQgeW91IGFy ZSBhc2tpbmcuCj4gPj4+Cj4gPj4+IFBlcmhhcHMgSSB3YXNuJ3QgY2xlYXIsIHRoZSBjb21tYW5k IHRvIHJ1biBpcyByZWFsbHkganVzdCBgZmlsZWAuIEFzIGEKPiA+Pj4gZnVsbGVyIGV4YW1wbGU6 Cj4gPj4+Cj4gPj4+IGBgYAo+ID4+PiAkIGZpbGUgLi9zcmMvbGliL2x0dG5nLXVzdC1mb3JrLy5s aWJzL2xpYmx0dG5nLXVzdC1mb3JrLnNvLjEuMC4wCj4gPj4+IC4vc3JjL2xpYi9sdHRuZy11c3Qt Zm9yay8ubGlicy9saWJsdHRuZy11c3QtZm9yay5zby4xLjAuMDogRUxGIDY0LWJpdAo+ID4+PiBM U0Igc2hhcmVkIG9iamVjdCwgeDg2LTY0LCB2ZXJzaW9uIDEgKFNZU1YpLCBkeW5hbWljYWxseSBs aW5rZWQsCj4gPj4+IEJ1aWxkSURbc2hhMV09YjJiNGEwZmM0NDljZjMxN2UzMmMyM2UwYmI1N2Vh MWFkNzAyYjcwMiwgd2l0aCBkZWJ1Z19pbmZvLAo+ID4+PiBub3Qgc3RyaXBwZWQKPiA+Pgo+ID4+ IE9rLCBmZWVsIHN0dXBpZCBub3cuICBXaGVuIEkgcmFuIHRoZSBjb21tYW5kIGJlZm9yZSwgSSB1 c2VkIHNob3J0IG5hbWUKPiA+PiBhbmQgZGlkbid0IGRvIGl0IG9uIHRoZSBsb25nIG5hbWUgYW5k IGp1c3QgZ290IGJhY2s6Cj4gPj4KPiA+PiAjIGZpbGUgL3Vzci9saWIvbGlibHR0bmctdXN0LnNv Cj4gPj4gL3Vzci9saWIvbGlibHR0bmctdXN0LnNvOiBzeW1ib2xpYyBsaW5rIHRvIGxpYmx0dG5n LXVzdC5zby4xLjAuMAo+ID4+Cj4gPj4gLi4uIGFuZCBpbW1lZGlhdGVseSBsb29rZWQgYXQgbWFu IHBhZ2UgdG8gdHJ5IHRvIGZpZ3VyZSBvdXQgd2hhdAo+ID4+IHN3aXRjaCBzaG93ZWQgQnVpbGRJ RCBldGMuLCBoYSwgaGEuCj4gPj4KPiA+PiBXaGVuIEkgZG8gaXQgb24gbG9uZyBuYW1lIGhlcmUg aXMgd2hhdCBJIHNlZToKPiA+Pgo+ID4+ICMgZmlsZSAvdXNyL2xpYi9saWJsdHRuZy11c3QtY29t bW9uLnNvLjEuMC4wCj4gPj4gL3Vzci9saWIvbGlibHR0bmctdXN0LWNvbW1vbi5zby4xLjAuMDog RUxGIDY0LWJpdCBMU0Igc2hhcmVkIG9iamVjdCwKPiA+PiBBUk0gYWFyY2g2NCwgdmVyc2lvbiAx IChTWVNWKSwgZHluYW1pY2FsbHkgbGlua2VkLAo+ID4+IEJ1aWxkSURbc2hhMV09YTUwYzlhNzcx NjNiNmI5MWUxZjg0ZTU3ZDE2N2M3Yjc3YWU3MDdhMywgd2l0aAo+ID4+IGRlYnVnX2luZm8sIG5v dCBzdHJpcHBlZAo+ID4+ICMgZmlsZSAvdXNyL2xpYi9saWJsdHRuZy11c3QtY3RsLnNvLjUuMC4w Cj4gPj4gL3Vzci9saWIvbGlibHR0bmctdXN0LWN0bC5zby41LjAuMDogRUxGIDY0LWJpdCBMU0Ig c2hhcmVkIG9iamVjdCwgQVJNCj4gPj4gYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgZHluYW1p Y2FsbHkgbGlua2VkLAo+ID4+IEJ1aWxkSURbc2hhMV09NTQ3Y2NjYWMwODcyMWVkMWM5YTdmM2M3 ZWJmMWRlODRkZGJhN2ZiYSwgd2l0aAo+ID4+IGRlYnVnX2luZm8sIG5vdCBzdHJpcHBlZAo+ID4+ ICMgZmlsZSAvdXNyL2xpYi9saWJsdHRuZy11c3QtY3lnLXByb2ZpbGUtZmFzdC5zby4xLjAuMAo+ ID4+IC91c3IvbGliL2xpYmx0dG5nLXVzdC1jeWctcHJvZmlsZS1mYXN0LnNvLjEuMC4wOiBFTEYg NjQtYml0IExTQiBzaGFyZWQKPiA+PiBvYmplY3QsIEFSTSBhYXJjaDY0LCB2ZXJzaW9uIDEgKFNZ U1YpLCBkeW5hbWljYWxseSBsaW5rZWQsCj4gPj4gQnVpbGRJRFtzaGExXT1hZDVmNzFlZjVlODNh YjlhOTcyNDg4OTc2YzQ3ZGIyNjVkMzM2MGI5LCB3aXRoCj4gPj4gZGVidWdfaW5mbywgbm90IHN0 cmlwcGVkCj4gPj4gIyBmaWxlIC91c3IvbGliL2xpYmx0dG5nLXVzdC1jeWctcHJvZmlsZS5zby4x LjAuMAo+ID4+IC91c3IvbGliL2xpYmx0dG5nLXVzdC1jeWctcHJvZmlsZS5zby4xLjAuMDogRUxG IDY0LWJpdCBMU0Igc2hhcmVkCj4gPj4gb2JqZWN0LCBBUk0gYWFyY2g2NCwgdmVyc2lvbiAxIChT WVNWKSwgZHluYW1pY2FsbHkgbGlua2VkLAo+ID4+IEJ1aWxkSURbc2hhMV09YzJjMjQ2YzE5NzNi ZDMyNDFhYTRmNzIyOWZjYmNiMjdlYmUwOGU4Miwgd2l0aAo+ID4+IGRlYnVnX2luZm8sIG5vdCBz dHJpcHBlZAo+ID4+ICMgZmlsZSAvdXNyL2xpYi9saWJsdHRuZy11c3QtZGwuc28uMS4wLjAKPiA+ PiAvdXNyL2xpYi9saWJsdHRuZy11c3QtZGwuc28uMS4wLjA6IEVMRiA2NC1iaXQgTFNCIHNoYXJl ZCBvYmplY3QsIEFSTQo+ID4+IGFhcmNoNjQsIHZlcnNpb24gMSAoU1lTViksIGR5bmFtaWNhbGx5 IGxpbmtlZCwKPiA+PiBCdWlsZElEW3NoYTFdPTYwODJlZTg4YzkzOTQzMTliYzNhZGZmMTZiMGIz ZWE5ZjhkNTQ5ZWMsIHdpdGgKPiA+PiBkZWJ1Z19pbmZvLCBub3Qgc3RyaXBwZWQKPiA+PiAjIGZp bGUgL3Vzci9saWIvbGlibHR0bmctdXN0LWZkLnNvLjEuMC4wCj4gPj4gL3Vzci9saWIvbGlibHR0 bmctdXN0LWZkLnNvLjEuMC4wOiBFTEYgNjQtYml0IExTQiBzaGFyZWQgb2JqZWN0LCBBUk0KPiA+ PiBhYXJjaDY0LCB2ZXJzaW9uIDEgKFNZU1YpLCBkeW5hbWljYWxseSBsaW5rZWQsCj4gPj4gQnVp bGRJRFtzaGExXT1hMjgxMzI0NWFmOTFhYmU5ODYxNTc3MWRmZDdkNWYxOWIwMzNhNDEwLCB3aXRo Cj4gPj4gZGVidWdfaW5mbywgbm90IHN0cmlwcGVkCj4gPj4gIyBmaWxlIC91c3IvbGliL2xpYmx0 dG5nLXVzdC1mb3JrLnNvLjEuMC4wCj4gPj4gL3Vzci9saWIvbGlibHR0bmctdXN0LWZvcmsuc28u MS4wLjA6IEVMRiA2NC1iaXQgTFNCIHNoYXJlZCBvYmplY3QsIEFSTQo+ID4+IGFhcmNoNjQsIHZl cnNpb24gMSAoU1lTViksIGR5bmFtaWNhbGx5IGxpbmtlZCwKPiA+PiBCdWlsZElEW3NoYTFdPTg2 YWZhNTM4MDg1MDI4NzM4MzBjMDIyOTBmNDc3ZDRmZjgwMTNhZmIsIHdpdGgKPiA+PiBkZWJ1Z19p bmZvLCBub3Qgc3RyaXBwZWQKPiA+PiAjIGZpbGUgL3Vzci9saWIvbGlibHR0bmctdXN0LWxpYmMt d3JhcHBlci5zby4xLjAuMAo+ID4+IC91c3IvbGliL2xpYmx0dG5nLXVzdC1saWJjLXdyYXBwZXIu c28uMS4wLjA6IEVMRiA2NC1iaXQgTFNCIHNoYXJlZAo+ID4+IG9iamVjdCwgQVJNIGFhcmNoNjQs IHZlcnNpb24gMSAoU1lTViksIGR5bmFtaWNhbGx5IGxpbmtlZCwKPiA+PiBCdWlsZElEW3NoYTFd PTUyZjM5MTg3NWEzNzhiNWYyYzQ2NzQ3YTU4MDIwYjg2Y2I3YzlhODMsIHdpdGgKPiA+PiBkZWJ1 Z19pbmZvLCBub3Qgc3RyaXBwZWQKPiA+PiAjIGZpbGUgL3Vzci9saWIvbGlibHR0bmctdXN0LXB0 aHJlYWQtd3JhcHBlci5zby4xLjAuMAo+ID4+IC91c3IvbGliL2xpYmx0dG5nLXVzdC1wdGhyZWFk LXdyYXBwZXIuc28uMS4wLjA6IEVMRiA2NC1iaXQgTFNCIHNoYXJlZAo+ID4+IG9iamVjdCwgQVJN IGFhcmNoNjQsIHZlcnNpb24gMSAoU1lTViksIGR5bmFtaWNhbGx5IGxpbmtlZCwKPiA+PiBCdWls ZElEW3NoYTFdPTcxMjcyMjNhN2U4ZWQ2N2M2Njk3Yjk1YWUxZjhhYzEwN2RmN2U0N2UsIHdpdGgK PiA+PiBkZWJ1Z19pbmZvLCBub3Qgc3RyaXBwZWQKPiA+PiAjIGZpbGUgL3Vzci9saWIvbGlibHR0 bmctdXN0LXRyYWNlcG9pbnQuc28uMS4wLjAKPiA+PiAvdXNyL2xpYi9saWJsdHRuZy11c3QtdHJh Y2Vwb2ludC5zby4xLjAuMDogRUxGIDY0LWJpdCBMU0Igc2hhcmVkCj4gPj4gb2JqZWN0LCBBUk0g YWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgZHluYW1pY2FsbHkgbGlua2VkLAo+ID4+IEJ1aWxk SURbc2hhMV09NTk3MWI0ZDg0ZWMxZWZlNjFjNmQ0N2MzOGU5MmRlMjA1NjlmMGY0OSwgd2l0aAo+ ID4+IGRlYnVnX2luZm8sIG5vdCBzdHJpcHBlZAo+ID4+ICMgZmlsZSAvdXNyL2xpYi9saWJsdHRu Zy11c3Quc28uMS4wLjAKPiA+PiAvdXNyL2xpYi9saWJsdHRuZy11c3Quc28uMS4wLjA6IEVMRiA2 NC1iaXQgTFNCIHNoYXJlZCBvYmplY3QsIEFSTQo+ID4+IGFhcmNoNjQsIHZlcnNpb24gMSAoU1lT ViksIGR5bmFtaWNhbGx5IGxpbmtlZCwKPiA+PiBCdWlsZElEW3NoYTFdPWNlNzA5N2FlOWJiZjQy YTAyZGNjZDM4NmZkZmJkMzdlMzIyNDg1OGIsIHdpdGgKPiA+PiBkZWJ1Z19pbmZvLCBub3Qgc3Ry aXBwZWQKPiA+Pgo+ID4+Cj4gPj4gY3V0dGluZyBzb21lIHN0dWZmIG91dCBjYXVzZSBpdCdzIGdl dHRpbmcgbG9uZyBhZ2Fpbi4KPiA+Pgo+ID4+Pgo+ID4+PiBTb3VuZHMgbGlrZSBgbWFrZSBjaGVj a2AgZm9yIGx0dG5nLXRvb2xzIHBhc3NlZCB0aGVuPwo+ID4+Cj4gPj4gQXQgZmlyc3Qgbm8uICBC dXQgSSB0aGluayB0aGlzIGlzIGJlY2F1c2UgSSBidWlsdCB0aGUgbmV3IGx0dG5nLXRvb2xzCj4g Pj4gaW4gbXkgb24gdGFyZ2V0IG5hdGl2ZSBlbnZpcm9ubWVudCBhbmQgcmFuIG1ha2UgY2hlY2sg YW5kIGZvcmdvdCB0byBkbwo+ID4+IG1ha2UgaW5zdGFsbCBmaXJzdCwgc28gaXQgd2FzIHVzaW5n IHRoZSBvbGRlciB2ZXJzaW9uIG9mIGx0dG5nLXRvb2xzLgo+ID4+Cj4gPj4gU28gdGhlbiBJIHJh biBtYWtlIGluc3RhbGwgb2YgbHR0bmctdG9vbHMgYW5kIGV2ZW4gZGlkIGEgbWFrZSBjbGVhbgo+ ID4+IGFuZCByZWJ1aWxkIG9mIGx0dG5nLXVzdCBhbmQgcmUtaW5zdGFsbGVkIGl0IGFuZCByYW4g bWFrZSBjaGVjayBvbgo+ID4+IGJvdGggKGFuZCB0aGluZ3MgbG9va2VkIGEgbG90IGJldHRlcikg Li4uIHRoYXQncyB3aGVyZSB0aG9zZSB3YXJuaW5ncwo+ID4+IGV0Yy4sIEkgYXNrZWQgeW91IGFi b3V0IGNhbWUgZnJvbS4KPiA+Pgo+ID4+Pgo+ID4+PiBNeSB1bmRlcnN0YW5kaW5nIGF0IHRoaXMg cG9pbnQgaXMgdGhlIHVuaXQgdGVzdHMgYXJlIHBhc3NpbmcgZm9yCj4gPj4+IExUVG5nLVVTVCBv biB5b3VyIHN5c3RlbSwgYXMgYXJlIHRoZSB1bml0IGFuZCByZWdyZXNzaW9uIHRlc3RzIGZvcgo+ ID4+PiBMVFRuZy10b29scy4gVGhlIGV4YW1wbGUgcHJvZ3JhbXMgc2hpcHBlZCB3aXRoIExUVG5n LVVTVCB3b3JrIG9uIHlvdXIKPiA+Pj4gc3lzdGVtLCBhcyBkb2VzIHRoZSBleGFtcGxlIGZyb20g dGhlIGRvY3VtZW50YXRpb24uIFRoZSBzdGF0ZWR1bXAKPiA+Pj4gdHJhY2Vwb2ludHMgbG9hZGVk IGZyb20gTFRUbmctVVNUIGFyZSBhbHNvIHdvcmtpbmcgZmluZSwgYXMgZXZpbmNlZCBieQo+ID4+ PiB0aGUgcHJvZ3JhbSBsb2dzIGFuZCB0aGUgTFRUbmcgdHJhY2UgeW91IHNoYXJlZC4KPiA+Pj4K PiA+Pj4gRGVzcGl0ZSBteSBjb25mdXNpb24gYWJvdXQgaG93IGV4YWN0bHkgeW91J3JlIHVzaW5n IHRoZSBgaGVsbG8gd29ybGRgCj4gPj4+IHRyYWNlcG9pbnQgaW4geW91ciBhcHBsaWNhdGlvbiAo YXMgeW91J3ZlIG5vdyBkZXNjcmliZWQgc2V2ZXJhbAo+ID4+PiB2YXJpYXRpb25zKSwgdGhlIGRp cmVjdGlvbiB0aGlzIHBvaW50cyB0byBmb3IgbWUgYXJlIGRldGFpbHMgcmVsYXRlZCB0bwo+ID4+ PiBob3cgeW91J3JlIHVzaW5nIExUVG5nLVVTVCBhbmQvb3IgaG93IGFyZSB5b3VyIGJ1aWxkaW5n IGFuZCBsaW5raW5nIHlvdXIKPiA+Pj4gYXBwbGljYXRpb24uIFRvIGJlIGNsZWFyLCBJIGRvbid0 IG1lYW4gdG8gc2F5IHRoYXQgdGhlcmUgaXMgb3IgaXMgbm90IGFuCj4gPj4+IGlzc3VlIGluIExU VG5nLVVTVCwgYnV0IHRvIHBvaW50IGF0IHdoZXJlIHRvIGV4YW1pbmUgbmV4dCBpbiBkZXRhaWwK PiA+Pj4gaW5jbHVkaW5nIGFuYWx5c2lzIG9mIHRoZSBwcm9kdWNlZCBvYmplY3QgZmlsZXMuCj4g Pj4KPiA+PiBJIGNvbXBhcmVkIHRoZSBkb2MvZXhhbXBsZXMvaGVsbG8tc3RhdGljLWxpYiB0byB3 aGF0IEkgcGlja2VkIG91dCBvZgo+ID4+IHRoZSBMVFRuZyBkb2N1bWVudGF0aW9uIG9uIHRoZSB3 ZWIgc2l0ZSAiUXVpY2sgc3RhcnQiIHNlY3Rpb24gYW5kIHRoZQo+ID4+IHRyYWNlcHJvdmlkZXIg aGVhZGRlciBmaWxlIGlzIGluY2x1ZGluZyBzdGRkZWYuaCBhbmQgbWluZSBpc24ndCBhbmQKPiA+ PiB0aGUgZG9jL2V4YW1wbGVzL2hlbGxvLXN0YXRpYy1saWIvaGVsbG8uYyBjb2RlIGlzIGRvaW5n IGEgc2lnaGFuZGxlcgo+ID4+IGFuZCBtaW5lIGlzbid0IGRvaW5nIGFueSBvZiB0aGF0IGVpdGhl ci4gIEkgdGhpbmsgSSd2ZSBwcm9iYWJseSBwb3N0ZWQKPiA+PiBpdCBiZWZvcmUgYnV0IHdpbGwg ZG8gaXQgYWdhaW4uICBIZXJlIGlzIHdoYXQgSSdtIGNhbGxpbmcgbXkgImhlbGxvIi4KPiA+PiBJ dCdzIGZyb20gdGhlIGx0dG5nIGRvY3VtZW50YXRpb24gYnV0IEkgY3V0IGl0IGRvd24gZXZlbiBm dXJ0aGVyIGp1c3QKPiA+PiB0byBtYWtlIHN1cmUgSSBkaWRuJ3QgZmF0IGZpbmdlciBzb21ldGhp bmcuICBMaWtlIEkgc2FpZCBiZWZvcmUsIHRoZQo+ID4+IGZ1bGwgaGVsbG8gZXhhbXBsZSBmcm9t IHRoZSBkb2N1bWVudGF0aW9uIHdvcmtzLiAgQnV0IHdoZW4gSSBjYWxsCj4gPj4gcHJldHR5IG11 Y2ggdGhlIHNhbWUgY29kZSBmcm9tIG15IGFwcCBpdCBzZWcgZmF1bHRzLgo+ID4+Cj4gPj4gSSBk b24ndCBrbm93IGlmIHRoZSBkaWZmZXJlbmNlcyBJIHNlZSBiZXR3ZWVuIG15ICJoZWxsbyIgYW5k IHRoZQo+ID4+ICJoZWxsby1zdGF0aWMtbGliIiBtYXR0ZXIuCj4gPj4KPiA+PiBoZWxsby10cC5o Ogo+ID4+Cj4gPj4gI3VuZGVmIExUVE5HX1VTVF9UUkFDRVBPSU5UX1BST1ZJREVSCj4gPj4gI2Rl ZmluZSBMVFROR19VU1RfVFJBQ0VQT0lOVF9QUk9WSURFUiBoZWxsb193b3JsZAo+ID4+Cj4gPj4g I3VuZGVmIExUVE5HX1VTVF9UUkFDRVBPSU5UX0lOQ0xVREUKPiA+PiAjZGVmaW5lIExUVE5HX1VT VF9UUkFDRVBPSU5UX0lOQ0xVREUgIi4vaGVsbG8tdHAuaCIKPiA+Pgo+ID4+ICNpZiAhZGVmaW5l ZChfSEVMTE9fVFBfSCkgfHwgZGVmaW5lZChMVFROR19VU1RfVFJBQ0VQT0lOVF9IRUFERVJfTVVM VElfUkVBRCkKPiA+PiAjZGVmaW5lIF9IRUxMT19UUF9ICj4gPj4KPiA+PiAjaW5jbHVkZSA8bHR0 bmcvdHJhY2Vwb2ludC5oPgo+ID4+Cj4gPj4gTFRUTkdfVVNUX1RSQUNFUE9JTlRfRVZFTlQoCj4g Pj4gICAgIGhlbGxvX3dvcmxkLAo+ID4+ICAgICBteV9maXJzdF90cmFjZXBvaW50LAo+ID4+ICAg ICBMVFROR19VU1RfVFBfQVJHUygKPiA+PiAgICAgICAgIGludCwgbXlfaW50ZWdlcl9hcmcKPiA+ PiAgICAgKSwKPiA+PiAgICAgTFRUTkdfVVNUX1RQX0ZJRUxEUygKPiA+PiAgICAgICAgIGx0dG5n X3VzdF9maWVsZF9pbnRlZ2VyKGludCwgbXlfaW50ZWdlcl9maWVsZCwgbXlfaW50ZWdlcl9hcmcp Cj4gPj4gICAgICkKPiA+PiApCj4gPj4KPiA+PiAjZW5kaWYgLyogX0hFTExPX1RQX0ggKi8KPiA+ Pgo+ID4+ICNpbmNsdWRlIDxsdHRuZy90cmFjZXBvaW50LWV2ZW50Lmg+Cj4gPj4KPiA+PiBoZWxs by10cC5jOgo+ID4+Cj4gPj4gI2RlZmluZSBMVFROR19VU1RfVFJBQ0VQT0lOVF9DUkVBVEVfUFJP QkVTCj4gPj4KPiA+PiAjaW5jbHVkZSAiaGVsbG8tdHAuaCIKPiA+Pgo+ID4+ICBGcm9tIG15X2Fw cDoKPiA+Pgo+ID4+ICNkZWZpbmUgTFRUTkdfVVNUX1RSQUNFUE9JTlRfREVGSU5FCj4gPj4gLy8j ZGVmaW5lIExUVE5HX1VTVF9UUkFDRVBPSU5UX1BST0JFX0RZTkFNSUNfTElOS0FHRQo+ID4+ICNp bmNsdWRlICJoZWxsby10cC5oIgo+ID4+Cj4gPj4gLgo+ID4+IC4KPiA+PiAuCj4gPj4gbHR0bmdf dXN0X3RyYWNlcG9pbnQoaGVsbG9fd29ybGQsIG15X2ZpcnN0X3RyYWNlcG9pbnQsIDIzLCAiaGkg dGhlcmUhIik7Cj4gPj4KPiA+PiBJbiB0aGUgYWJvdmUgY2FzZSB0aGUgdHBwIGlzIHN0YXRpYyBi dXQgSSd2ZSB0cmllZCB0byBtYWtlIGl0IGEgc2hhcmVkCj4gPj4gb2JqZWN0IHRvbyAodGh1cyB0 aGUgY29tbWVudGVkIG91dCBEWU5BTUlDX0xJTktBR0UgYWJvdmUpIGJ1dCBnZXQgdGhlCj4gPj4g c2FtZSByZXN1bHQuCj4gPj4KPiA+PiBBZ2FpbiwgSSB0aGluayB0aGUgaXNzdWUgaXMgcHJvYmFi bHkgZysrIGFuZCB3ZWFrL2hpZGRlbiBzeW1ib2wKPiA+PiByZWxhdGVkIGFuZCBvciBUTFMgYnV0 IHRoYXQncyBiYXNlZCBvbiB0aGUgdG90YWxpdHkgb2Ygd2hhdCBJJ3ZlCj4gPj4gZXhwZXJpZW5j ZWQgb3ZlciB0aGUgcGFzdCB5ZWFyIG9yIHNvIGFuZCBzZWVpbmcgdGhlCj4gPj4gZXhwZXJpZW5j ZXMvcHJvYmxlbXMgb2Ygb3RoZXJzIGluIHRoZSBsdHRuZy1kZXYgYXJjaGl2ZXMuCj4gPj4KPiA+ PiBSZWdhcmRzLAo+ID4+Cj4gPj4gQnJpYW4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KbHR0bmctZGV2IG1haWxpbmcgbGlzdApsdHRuZy1kZXZAbGlzdHMu bHR0bmcub3JnCmh0dHBzOi8vbGlzdHMubHR0bmcub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5m by9sdHRuZy1kZXYK