From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id HI0fI7ZuFGSKPxIAWB0awg (envelope-from ) for ; Fri, 17 Mar 2023 09:44:22 -0400 Received: by simark.ca (Postfix, from userid 112) id 80A041E223; Fri, 17 Mar 2023 09:44:22 -0400 (EDT) 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=aXM7zC6n; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,NICE_REPLY_A, RCVD_IN_DNSWL_HI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 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 RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 0AE201E110 for ; Fri, 17 Mar 2023 09:44:21 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.lttng.org; s=default; t=1679060660; bh=CycFO05O+l0ZUw2PlrIccFaxUL+T22+6sO/FsIPjqBk=; h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=aXM7zC6n6qL9y5Nbytv0YNZU1zejbgppl1/9YpdOZHQIq9pEUGqu5jl8mDkLZ8B8k FtZo0os0UeFJUwk75bekRXQpUyhDLcoQvUu4CDZW0Crh90XyqbzNX6TGbW8mqC7D8E L08cYCAdRRZztPJuNnXXVRio3EF2MSvafXRmMZyR3P4QBauMO/GSILiSnQ7Oa55zC5 QtCuNY1jdZX7EcDuHS5vdn/OsFI462zXC3+OJ2Gj2Fu2gQE3L36DLCzIBT8esQO9h5 kFhJR8tGRbvqkUo0046ceRsC5dUHShdS2gWUoNDSOVZsvi9l+kb0SsZ22ZBbE+G6NP 8hAx9Y7uIvXjg== Received: from lists-lttng01.efficios.com (localhost [IPv6:::1]) by lists.lttng.org (Postfix) with ESMTP id 4PdQN42vTjz2CXG; Fri, 17 Mar 2023 09:44:20 -0400 (EDT) Received: from smtpout.efficios.com (smtpout.efficios.com [167.114.26.122]) by lists.lttng.org (Postfix) with ESMTPS id 4PdQN25qWvz2CXF for ; Fri, 17 Mar 2023 09:44:18 -0400 (EDT) Received: from [172.16.0.188] (192-222-143-198.qc.cable.ebox.net [192.222.143.198]) by smtpout.efficios.com (Postfix) with ESMTPSA id 4PdQMw26jLzqq6; Fri, 17 Mar 2023 09:44:12 -0400 (EDT) Message-ID: <3b41f7b2-401f-6455-e6e2-a9bfeeabe93d@efficios.com> Date: Fri, 17 Mar 2023 09:44:22 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Content-Language: en-US To: =?UTF-8?B?T25kxZllaiBTdXLDvQ==?= , lttng-dev@lists.lttng.org, paulmck References: <9C7806BF-FD55-45EE-B234-A8274145E19F@sury.org> In-Reply-To: <9C7806BF-FD55-45EE-B234-A8274145E19F@sury.org> Subject: Re: [lttng-dev] userspace-rcu and ThreadSanitizer 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: Mathieu Desnoyers via lttng-dev Reply-To: Mathieu Desnoyers Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: lttng-dev-bounces@lists.lttng.org Sender: "lttng-dev" T24gMjAyMy0wMy0xNCAwODoyNiwgT25kxZllaiBTdXLDvSB2aWEgbHR0bmctZGV2IHdyb3RlOgo+ IEhleSwKPiAKPiB3ZSB1c2UgVGhyZWFkU2FuaXRpemVyIGluIEJJTkQgOSBDSSBxdWl0ZSBleHRl bnNpdmVseSBhbmQgd2l0aCB1c2Vyc3BhY2UtcmN1Cj4gaXQncyBsaXQgbGlrZSBhbiBBbWVyaWNh biBob3VzZSBvbiBTYXR1cm5hbGlhIDspLgoKSGFoYSwgSSBoYXZlIG5vIGRvdWJ0IGFib3V0IGl0 LiBVc2Vyc3BhY2UgUkNVIGlzIGFsbCBhYm91dCBjb25jdXJyZW50IAphY2Nlc3NlcywgYW5kIHNv IGZhciBwb3NzZXNzZXMgbm8gVFNBTiBhbm5vdGF0aW9ucy4KCj4gCj4gSSBoYXZlIHR3byBxdWVz dGlvbnM6Cj4gCj4gMS4gSSd2ZSB0cmllZCB0byBoZWxwIFRTQU4gYnkgcmVwbGFjaW5nIHRoZSBj dXN0b20gYXRvbWljcyB3aXRoIF9fYXRvbWljIGdjYwo+ICAgIHByaW1pdGl2ZXMgLSB0aGF0IHNl ZW1zIHRvIHdvcmsgcHJldHR5IHdlbGwuICBOb3RlIHRoYXQgdXNpbmcgQzExIHN0ZGF0b21pY3MK PiAgICBpcyBmcmFua2x5IG5vdCBwb3NzaWJsZSBoZXJlIGJlY2F1c2UgaXQgd291bGQgcmVxdWly ZSB3cmFwcGluZyBldmVyeXRoaW5nIGludG8KPiAgICBfQXRvbWljKCkuCgpBZ3JlZWQuIGdjYyBf X2F0b21pYyBzZWVtcyB0byBiZSB0aGUgd2F5IHRvIGdvLgoKPiAKPiAgICBEbyB5b3Ugd2FudCBt ZSB0byBjb250cmlidXRlIHRoaXMgYmFjaz8gQW5kIGhvdyBzaG91bGQgSSBwbHVnIHRoaXMgaW50 byB0aGUKPiAgICBleGlzdGluZyBzdHJ1Y3R1cmU/ICBUaGlzIHRvdWNoZXM6Cj4gCj4gaW5jbHVk ZS91cmN1L3N0YXRpYy9wb2ludGVyLmgKPiBpbmNsdWRlL3VyY3Uvc3lzdGVtLmgKPiBpbmNsdWRl L3VyY3UvdWF0b21pYy5oCgpJIHdvdWxkIGluZGVlZCBsaWtlIHRvIHJlbW92ZSBhbGwgdGhlIGN1 c3RvbSBhdG9taWNzIGFzc2VtYmx5IGNvZGUgZnJvbSAKbGlidXJjdSBub3cgdGhhdCB0aGVyZSBh cmUgZ29vZCBhdG9taWNzIHN1cHBvcnQgaW4gdGhlIG1ham9yIGNvbXBpbGVycyAKKGdjYyBhbmQg Y2xhbmcpLiBJIGFtIGFsc28gdGVtcHRlZCB0byBidW1wIHRoZSBiYXNlIGNvbXBpbGVyIHZlcnNp b24gCnJlcXVpcmVtZW50cyAoZm9yIGJvdGggZ2NjIGFuZCBjbGFuZykgdG8gc29tZXRoaW5nIGxl c3MgYW5jaWVudCB0aGFuIAp3aGF0IHdlIGhhdmUgY3VycmVudGx5IGZvciB0aGUgbmV4dCBsaWJ1 cmN1IHJlbGVhc2VzIGlmIGl0IGhlbHBzIHVzIHJlbHkgCm9uIG5vbi1idWdneSBhdG9taWNzIGlt cGxlbWVudGF0aW9ucy4gVGhlIGN1cnJlbnRseSBzdXBwb3J0ZWQgY29tcGlsZXJzIAphcmUgc3Rh dGVkIGluIHRoZSBSRUFETUUubWQgZmlsZToKCiJMaW51eCBBUk0gZGVwZW5kcyBvbiBydW5uaW5n IGEgTGludXgga2VybmVsIDIuNi4xNSBvciBiZXR0ZXIsIEdDQyA0LjQgCm9yIGJldHRlci4KClRo ZSBDIGNvbXBpbGVyIHVzZWQgbmVlZHMgdG8gc3VwcG9ydCBhdCBsZWFzdCBDOTkuIFRoZSBDKysg Y29tcGlsZXIgdXNlZApuZWVkcyB0byBzdXBwb3J0IGF0IGxlYXN0IEMrKzExLgoKVGhlIEdDQyBj b21waWxlciB2ZXJzaW9ucyAzLjMsIDMuNCwgNC4wLCA0LjEsIDQuMiwgNC4zLCA0LjQgYW5kIDQu NSBhcmUKc3VwcG9ydGVkLCB3aXRoIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uczoKCiAgIC0gR0ND IDMuMyBhbmQgMy40IGhhdmUgYSBidWcgdGhhdCBwcmV2ZW50cyB0aGVtIGZyb20gZ2VuZXJhdGlu ZyB2b2xhdGlsZQogICAgIGFjY2Vzc2VzIHRvIG9mZnNldHMgaW4gYSBUTFMgc3RydWN0dXJlIG9u IDMyLWJpdCB4ODYuIFRoZXNlIAp2ZXJzaW9ucyBhcmUKICAgICB0aGVyZWZvcmUgbm90IGNvbXBh dGlibGUgd2l0aCBgbGlidXJjdWAgb24geDg2IDMyLWJpdAogICAgIChpMzg2LCBpNDg2LCBpNTg2 LCBpNjg2KS4KICAgICBUaGUgcHJvYmxlbSBoYXMgYmVlbiByZXBvcnRlZCB0byB0aGUgR0NDIGNv bW11bml0eToKICAgICA8aHR0cDovL3d3dy5tYWlsLWFyY2hpdmUuY29tL2djYy1idWdzQGdjYy5n bnUub3JnL21zZzI4MTI1NS5odG1sPgogICAtIEdDQyAzLjMgY2Fubm90IG1hdGNoIHRoZSAieGNo ZyIgaW5zdHJ1Y3Rpb24gb24gMzItYml0IHg4NiBidWlsZC4KICAgICBTZWUgPGh0dHA6Ly9rZXJu ZWx0cmFwLm9yZy9ub2RlLzc1MDc+CiAgIC0gQWxwaGEsIGlhNjQgYW5kIEFSTSBhcmNoaXRlY3R1 cmVzIGRlcGVuZCBvbiBHQ0MgNC54IHdpdGggYXRvbWljIApidWlsdGlucwogICAgIHN1cHBvcnQu IEZvciBBUk0gdGhpcyB3YXMgaW50cm9kdWNlZCB3aXRoIEdDQyA0LjQ6CiAgICAgPGh0dHA6Ly9n Y2MuZ251Lm9yZy9nY2MtNC40L2NoYW5nZXMuaHRtbD4uCiAgIC0gTGludXggYWFyY2g2NCBkZXBl bmRzIG9uIEdDQyA1LjEgb3IgYmV0dGVyIGJlY2F1c2UgcHJpb3IgdmVyc2lvbnMKICAgICBwZXJm b3JtIHVuc2FmZSBhY2Nlc3MgdG8gZGVhbGxvY2F0ZWQgc3RhY2suCgpDbGFuZyB2ZXJzaW9uIDMu MCAoYmFzZWQgb24gTExWTSAzLjApIGlzIHN1cHBvcnRlZC4iCgpGb3IgZ2NjLCBJIHdvbmRlciBp ZiBnY2MtNC44IGhhcyBhcHByb3ByaWF0ZSBzdXBwb3J0IGZvciBfX2F0b21pYyBvbiBhbGwgCnN1 cHBvcnRlZCBhcmNoaXRlY3R1cmVzIHN1cHBvcnRlZCBieSBsaWJ1cmN1ID8KCkkgYWxzbyB3b25k ZXIgd2hhdCB3b3VsZCBiZSBhIGdvb2QgY29uc2VydmF0aXZlIGJhc2VsaW5lIHZlcnNpb24gZm9y IGNsYW5nLgoKQXMgd2UgaW50cm9kdWNlIGEgbmV3ZXIgY29tcGlsZXIgYmFzZWxpbmUgdmVyc2lv biwgSSB3b3VsZCBiZSB0ZW1wdGVkIHRvIAphZGQgYSBjb21waWxlciB2ZXJzaW9uIGRldGVjdGlv biBpbiBpbmNsdWRlL3VyY3UvY29tcGlsZXIuaCBhbmQgI3dhcm4gCndoZW5ldmVyIHRoZSBjb21w aWxlciBpcyB0b28gb2xkLiBUaGlzIGlzIHNpbWlsYXIgdG8gd2hhdCB3ZSBkbyBmb3IgdGhlCmNv bXBpbGVyIGRpc2FsbG93IGxpc3Qgd2l0aCBVUkNVX0dDQ19WRVJTSU9OLCBidXQgZW5mb3JjZWQg d2l0aCBhIAp3YXJuaW5nIHJhdGhlciB0aGFuIGEgI2Vycm9yLiBUaGUgbGFzdCB0aGluZyBJIHdh bnQgaXMgdG8gZW5kIHVwIHdhc3RpbmcgCnBlb3BsZSdzIHRpbWUgZHVlIHRvIGNvbXBpbGluZyB3 aXRoIGEgYnVnZ3kgb2xkIGNvbXBpbGVyLCBzbyBJIGZhdm9yIGEgCiJmYWlsIGVhcmx5IiBhcHBy b2FjaC4KCj4gCj4gCj4gMi4gSSBrbm93IHRoZXJlJ3MgS1RTQU4sIHNvIGl0IG11c3Qgd29yayBz b21laG93LCBidXQgd2FzIHRoZXJlIGFueSBzdWNjZXNzCj4gICAgb24gdXNpbmcgVGhyZWFkU2Fu aXRpemVyIG9uIHByb2plY3RzIHVzaW5nIFVzZXJzcGFjZS1SQ1U/ICBJdCBtb3N0bHkgc2VlbXMK PiAgICB0byBoaWdobGlnaHQgdGhlIENEUyBwYXJ0cyBvZiB0aGUgY29kZS4KCk5vdCBBRkFJSy4K Cj4gCj4gSSBjYW4gaGVscCBUU0FOIHRvIHVuZGVyc3RhbmQgc29tZSBvZiB0aGUgY29kZSBvciBz dXBwcmVzcyBzb21lIG9mIHRoZSB3YXJuaW5ncywKPiBidXQgSSBkbyB3YW50IHRvIHByZXZlbnQg dGhlIGNvZGUgdG8gYmUgZnVsbCBvZiBzdHVmZiBsaWtlIHRoaXM6Cj4gCj4gc3RhdGljIHZvaWQK PiBkZXN0cm95X2FkYm5hbWVfcmN1X2hlYWQoc3RydWN0IHJjdV9oZWFkICpyY3VfaGVhZCkgewo+ ICAgICAgICAgIGRuc19hZGJuYW1lX3QgKmFkYm5hbWUgPSBjYWFfY29udGFpbmVyX29mKHJjdV9o ZWFkLCBkbnNfYWRibmFtZV90LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJjdV9oZWFkKTsKPiAKPiAjaWZkZWYgX19TQU5JVElaRV9USFJFQURf Xwo+ICAgICAgICAgIFNQSU5MT0NLKCZhZGJuYW1lLT5sb2NrKTsKPiAgICAgICAgICBTUElOVU5M T0NLKCZhZGJuYW1lLT5sb2NrKTsKPiAjZW5kaWYKPiAKPiAgICAgICAgICBkZXN0cm95X2FkYm5h bWUoYWRibmFtZSk7Cj4gfQoKSW5kZWVkLCB3ZSdkIHdhbnQgdG8gaW1wcm92ZSB0aGUgbGlidXJj dSBoZWFkZXIgZmlsZXMgYW5kIGltcGxlbWVudGF0aW9uIApieSBhZGRpbmcgdGhlIGFwcHJvcHJp YXRlIGFubm90YXRpb24gdGhlcmUuCgo+IAo+IEkgYW0gYWJzb2x1dGVseSBzdXJlIHRoYXQgdGhl IGFkYm5hbWUgY2FuIGJlIGRlc3Ryb3llZCBoZXJlIChiZWNhdXNlIG9mIHRoZQo+IHJlZmVyZW5j ZSBjb3VudGluZyksIGJ1dCBUU0FOIGhhZCBhIHByb2JsZW0gd2l0aCBpdC4gRG9pbmcgdGhlICJm YWtlIiBiYXJyaWVyCj4gd2l0aCBhIHNwaW5sb2NrIGhlcmUgbWFkZSBpdCBzdG9wIGNvbnNpZGVy IHRoaXMgdG8gYmUgYSBkYXRhIHJhY2UuCj4gCj4gSSBhbHNvIGhhZCB0byBkaXNhYmxlIHRoZSBh dXRvX3Jlc2l6ZSBvZiBjZHNfbGZodCB3aGVuIHJ1bm5pbmcgdW5kZXIgVFNBTi4KPiAKPiBJIGFt IGFsc28gd29ycmllZCB0aGF0IGJ5IGhpZGluZyBzb21lIGNvZGUgZnJvbSBUU0FOLCB3ZSBtaWdo dCBtaXNzIGEgbGVnaXRpbWF0ZQo+IGVycm9yLgo+IAo+IEFsbCBJIGZvdW5kIHVzaW5nIEdvb2ds ZSB3YXMgdGhpcyBub3RpY2UgZnJvbSAyMDE0Ogo+IGh0dHBzOi8vd3d3Lm1haWwtYXJjaGl2ZS5j b20vdmFsZ3JpbmQtdXNlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0L21zZzA1MTIxLmh0bWwKPiAK PiBhbmQgcGVyaGFwcyB0aGlzOgo+IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvc2FuaXRpemVy cy9pc3N1ZXMvMTQxNQo+IAo+IChQZXJoYXBzLCBJIHNob3VsZCBsb29rIGludG8gYW5ub3RhdGlu ZyB1cmN1IGNvZGUgd2l0aCBUU0FOIGFubm90YXRpb25zPykKClllcywgSSBzdXNwZWN0IHdlJ2xs IHdhbnQgdG8gYWRkIFRTQU4gYW5ub3RhdGlvbiB0byBsaWJ1cmN1IGNvZGUsIGFuZCAKcGVyaGFw cyBIZWxncmluZCBhbmQgRFJEIGFubm90YXRpb25zIGFzIHdlbGwgd2hpbGUgd2UgYXJlIGF0IGl0 LiBUaG9zZSAKdG9vbHMgYXJlIHZlcnkgdmFsdWFibGUgZGV2ZWxvcG1lbnQgdG9vbHMsIHdoaWNo IG1ha2VzIGl0IHdvcnRod2hpbGUgdG8gCmFkZCB0aGUgcmVsZXZhbnQgYW5ub3RhdGlvbnMgdG8g aGVscCB0aGVtIGZpZ3VyZSBvdXQgbGlidXJjdSBpbnRyaWNhY2llcy4KCj4gCj4gfn5+fgo+IAo+ IDMuIEFzIGFuIGV4dHJhIGJvbnVzLCB0aGlzIGlzIGdvaW5nIHRvIGJlIG5lZWRlZCB3aXRoIGNs YW5nLTE3IGFzIG5vcmV0dXJuIGlzIG5vdwo+IHJlc2VydmVkIHdvcmQ6CgpTdXJlLCBjYW4geW91 IHBsZWFzZSBzdWJtaXQgdGhlIHBhdGNoIGFzIGEgc2VwYXJhdGUgZW1haWwgd2l0aCAKc3ViamVj dC9jb21taXQgbWVzc2FnZS9zaWduZWQtb2ZmLWJ5IHRhZyA/CgpUaGFua3MhCgpNYXRoaWV1Cgo+ IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VyY3UvdWF0b21pYy9nZW5lcmljLmggYi9pbmNsdWRl L3VyY3UvdWF0b21pYy9nZW5lcmljLmgKPiBpbmRleCA4OWQxY2ZhLi5jMzc2MmIwIDEwMDY0NAo+ IC0tLSBhL2luY2x1ZGUvdXJjdS91YXRvbWljL2dlbmVyaWMuaAo+ICsrKyBiL2luY2x1ZGUvdXJj dS91YXRvbWljL2dlbmVyaWMuaAo+IEBAIC0zOCw3ICszOCw3IEBAIGV4dGVybiAiQyIgewo+ICAg I2VuZGlmCj4gCj4gICAjaWYgIWRlZmluZWQgX19PUFRJTUlaRV9fICB8fCBkZWZpbmVkIFVBVE9N SUNfTk9fTElOS19FUlJPUgo+IC1zdGF0aWMgaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19p bmxpbmUsIG5vcmV0dXJuKSkKPiArc3RhdGljIGlubGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNf aW5saW5lLCBfX25vcmV0dXJuX18pKQo+ICAgdm9pZCBfdWF0b21pY19saW5rX2Vycm9yKHZvaWQp Cj4gICB7Cj4gICAjaWZkZWYgSUxMRUdBTF9JTlNUUgo+IGRpZmYgLS1naXQgYS9zcmMvdXJjdS1j YWxsLXJjdS1pbXBsLmggYi9zcmMvdXJjdS1jYWxsLXJjdS1pbXBsLmgKPiBpbmRleCAxODc3Mjdl Li5jYzc2ZjUzIDEwMDY0NAo+IC0tLSBhL3NyYy91cmN1LWNhbGwtcmN1LWltcGwuaAo+ICsrKyBi L3NyYy91cmN1LWNhbGwtcmN1LWltcGwuaAo+IEBAIC0xMDU1LDcgKzEwNTUsNyBAQCB2b2lkIHVy Y3VfcmVnaXN0ZXJfcmN1bGZoYXNoX2F0Zm9yayhzdHJ1Y3QgdXJjdV9hdGZvcmsgKmF0Zm9yaykK PiAgICAqIFRoaXMgdW5yZWdpc3RyYXRpb24gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCwgbWVhbnQg b25seSBmb3IgaW50ZXJuYWwKPiAgICAqIHVzZSBieSByY3VsZmhhc2guCj4gICAgKi8KPiAtX19h dHRyaWJ1dGVfXygobm9yZXR1cm4pKQo+ICtfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQo+ ICAgdm9pZCB1cmN1X3VucmVnaXN0ZXJfcmN1bGZoYXNoX2F0Zm9yayhzdHJ1Y3QgdXJjdV9hdGZv cmsgKmF0Zm9yayBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKPiAgIHsKPiAgICAgICAgICB1cmN1 X2RpZShFUEVSTSk7Cj4gCj4gCj4gT25kcmVqCj4gLS0KPiBPbmTFmWVqIFN1csO9IChIZS9IaW0p Cj4gb25kcmVqQHN1cnkub3JnCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBsdHRuZy1kZXYgbWFpbGluZyBsaXN0Cj4gbHR0bmctZGV2QGxpc3Rz Lmx0dG5nLm9yZwo+IGh0dHBzOi8vbGlzdHMubHR0bmcub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0 aW5mby9sdHRuZy1kZXYKCi0tIApNYXRoaWV1IERlc25veWVycwpFZmZpY2lPUyBJbmMuCmh0dHBz Oi8vd3d3LmVmZmljaW9zLmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbHR0bmctZGV2IG1haWxpbmcgbGlzdApsdHRuZy1kZXZAbGlzdHMubHR0bmcu b3JnCmh0dHBzOi8vbGlzdHMubHR0bmcub3JnL2NnaS1iaW4vbWFpbG1hbi9saXN0aW5mby9sdHRu Zy1kZXYK