Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp638986imm; Mon, 21 May 2018 11:41:46 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpOz2w2Zxsa372/QaOQIJIXrtgbOiYdtA14HFbXDtSOd0SHZHXKA8402B/7I6rhbGvpKpLf X-Received: by 2002:a63:887:: with SMTP id 129-v6mr16409794pgi.17.1526928106717; Mon, 21 May 2018 11:41:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526928106; cv=none; d=google.com; s=arc-20160816; b=W4tETNGi1kThhEoIL1A1ltltDqHiz9cRj5PVknwUM0kKpXrlebWmXM/tLbfC3b/59K 3RGvr/CLu6dGXtkjCbhYpzhjRB3cQGc1QMKguQwhkAgoCaVt+X4oU2hUJgsAutpQhwvC 2uPAM98Dd0Uuhv4DSpI1KD+I5gEeHlHjWO4ilM29g1vsd3mdmsCuzKqj6au9Uf06f+V/ CUvqgFL0ekrZALoMF+RF7SeV712REOdc/bQSiRVfbEFmn99tZVXslOmAgSkWVy22NXMO yY0uxZ6JDUAZhvwfRTSmS4ZsJ0IrbAza3hyIAza5wfqP+pteXsdhzb84FlcY/DAcQsME 7Ijg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:spamdiagnosticmetadata:spamdiagnosticoutput :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=PVG96M4WG+joqaf/G1X5CTJrpvLWKjcbn9ltRiW5QZE=; b=MfEz13a9SnhFDt29F0PUBWNenCF9m7SQUDDUroEM1y+d67M/vtka/KiHVZ/1zxWBGe 9fGja/PijVQvoUuXSlvz1vkdh9NNhRJYQ+CeF7DGS0H9X9218Xl/sjkbw/Ba5Yx7qUJU wrOnBONLp2ZII+twgVIzkIYYlZzzgSSUO+drqIRFuSNyUeTdhty9PuAnqCjRlL1+td/M cVWYSWUIypf92eMvOENzIFjhdzs9Y/AKS1whYPA+6UWxqQjwNS9KCw0CdWrrjHOePV4r xuLVOUBy8G7lryxuYa/8baY+kkG9kxQ2Yo6oMAJHckIaP13yBzIsYIAMnmxVPy99+Kiu yysA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@impinj.com header.s=selector1 header.b=UfgkOkRf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=impinj.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k8-v6si5252385plt.410.2018.05.21.11.41.31; Mon, 21 May 2018 11:41:46 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@impinj.com header.s=selector1 header.b=UfgkOkRf; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=impinj.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751177AbeEUSjz (ORCPT + 99 others); Mon, 21 May 2018 14:39:55 -0400 Received: from mail-by2nam01on0094.outbound.protection.outlook.com ([104.47.34.94]:12512 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751087AbeEUSjx (ORCPT ); Mon, 21 May 2018 14:39:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=impinj.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PVG96M4WG+joqaf/G1X5CTJrpvLWKjcbn9ltRiW5QZE=; b=UfgkOkRfuq9eKQFv/xPgfgjiPEP4iksy8dhy3WQCyUpGy9QBdcYCSCrhrlI6dqCroiBnn9yLa4F0hj84+/g942hGm1L/iJ8cnPoimqhJAlqAXYYp9j7JNdADhEJTdh+oo8C9MMJpSL0nbhaR+ERL9C3JoN5lFw3msj4SpoSqXZg= Received: from MWHPR0601MB3708.namprd06.prod.outlook.com (10.167.236.38) by MWHPR0601MB3756.namprd06.prod.outlook.com (10.167.236.149) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.776.11; Mon, 21 May 2018 18:39:51 +0000 Received: from MWHPR0601MB3708.namprd06.prod.outlook.com ([fe80::5559:9fbf:bd40:733c]) by MWHPR0601MB3708.namprd06.prod.outlook.com ([fe80::5559:9fbf:bd40:733c%13]) with mapi id 15.20.0776.015; Mon, 21 May 2018 18:39:51 +0000 From: Trent Piepho To: "tytso@mit.edu" CC: "jannh@google.com" , "linux-kernel@vger.kernel.org" , "sultanxda@gmail.com" Subject: Re: Linux messages full of `random: get_random_u32 called from` Thread-Topic: Linux messages full of `random: get_random_u32 called from` Thread-Index: AQHT7kdToFVQBFTDwEKKqlsN6SNLmqQ0xEiAgAFWBgCAAAdxAIAEZ+UA Date: Mon, 21 May 2018 18:39:50 +0000 Message-ID: <1526927990.31570.81.camel@impinj.com> References: <20180427201036.GL5965@thunk.org> <1526606822.30073.64.camel@impinj.com> <20180518023209.GD15263@thunk.org> <1526684178.31570.26.camel@impinj.com> <20180518232256.GA23628@thunk.org> In-Reply-To: <20180518232256.GA23628@thunk.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=tpiepho@impinj.com; x-originating-ip: [216.207.205.253] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;MWHPR0601MB3756;7:hV321DN8skmPS1C6luiyFFyunHn2/61BdpKTYt/YEYowPali0SJHwiSTfrgxGiZYC7L0bo9ZgPLXbzFsGCp5GPE33Aw7s7xsCVQFda+5/KN56ODulRO9N3xgTnnqChH+o6YsmAN6HK7b5ggOqQ9+95AQaiq9gm5EdY7FupRBIDgImppODRXYPyBcPItkX2Ky/DESUrusgC131vVeUkvv2L3/wZo2Jp3f7y8UkZrkvww0pPAZNjxRg1jJ2Ijn5ALj x-ms-exchange-antispam-srfa-diagnostics: SOS; x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:MWHPR0601MB3756; x-ms-traffictypediagnostic: MWHPR0601MB3756: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(166708455590820)(192374486261705); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011)(7699016);SRVR:MWHPR0601MB3756;BCL:0;PCL:0;RULEID:;SRVR:MWHPR0601MB3756; x-forefront-prvs: 06793E740F x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(346002)(39380400002)(39850400004)(396003)(366004)(377424004)(199004)(189003)(2171002)(6512007)(6306002)(103116003)(186003)(3660700001)(14454004)(6246003)(39060400002)(6916009)(15650500001)(8676002)(1730700003)(81166006)(81156014)(8936002)(446003)(97736004)(66066001)(486006)(2616005)(2351001)(476003)(11346002)(53936002)(5660300001)(478600001)(54906003)(316002)(966005)(2900100001)(305945005)(7736002)(6436002)(99286004)(76176011)(59450400001)(6486002)(5640700003)(2906002)(6116002)(105586002)(3846002)(86362001)(106356001)(26005)(5250100002)(229853002)(2501003)(4326008)(36756003)(25786009)(102836004)(93886005)(68736007)(3280700002)(6506007)(81973001);DIR:OUT;SFP:1102;SCL:1;SRVR:MWHPR0601MB3756;H:MWHPR0601MB3708.namprd06.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: impinj.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 8ZTMW857lCq+xCL+CDESlWtL5tI2Opsn8TdGUURguE54xH/rzYjvNxn0YIJZ+2Ob/4dBVCQV6yuZBZPKKlRP/9PZvB0bwuc3mm/rvEChZSl91bNrF1424CMTvKK9K4w+y5W5vwp18WF60Owzwo97P3VGlbun+G/aMhg0vF0Bu5nQBKGvNlwuhMVA3iqxFY4R spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 33ad705e-b0b3-4748-e6c3-08d5bf4a3cc5 X-OriginatorOrg: impinj.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33ad705e-b0b3-4748-e6c3-08d5bf4a3cc5 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 May 2018 18:39:50.9943 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 6de70f0f-7357-4529-a415-d8cbb7e93e5e X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR0601MB3756 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gRnJpLCAyMDE4LTA1LTE4IGF0IDE5OjIyIC0wNDAwLCBUaGVvZG9yZSBZLiBUcydvIHdyb3Rl Og0KPiBPbiBGcmksIE1heSAxOCwgMjAxOCBhdCAxMDo1NjoxOFBNICswMDAwLCBUcmVudCBQaWVw aG8gd3JvdGU6DQo+ID4gDQo+ID4gTGV0J3MgbG9vayBhdCB3aGF0IHdlJ3JlIGRvaW5nIGFmdGVy IHRoaXMgZml4Og0KPiA+IFdhbnQgbm9uLWNyeXB0b2dyYXBoaWMgcmFuZG9tIGRhdGEgZm9yIFVV SUQsIGFzayBrZXJuZWwgZm9yIGl0Lg0KPiA+IEtlcm5lbCBoYXMgbm9uLWNyeXB0b2dyYXBoaWMg cmFuZG9tIGRhdGEsIHdvbid0IGdpdmUgaXQgdG8gdXMuDQo+ID4gV2FpdCBvbmUgc2Vjb25kIGZv ciBjcnlwdG9ncmFwaGljIHJhbmRvbSBkYXRhLCB3aGljaCB3ZSBkaWRuJ3QgbmVlZC4NCj4gPiBH aXZlIHVwIGFuZCBjcmVhdGUgb3VyIG93biByYW5kb20gZGF0YSwgd2hpY2ggaXMgbm9uLWNyeXB0 b2dyYXBoaWMgYW5kDQo+ID4gZXZlbiB3b3JzZSB0aGFuIHdoYXQgdGhlIGtlcm5lbCBjb3VsZCBo YXZlIGdpdmVuIHVzIGZyb20gdGhlIHN0YXJ0Lg0KPiA+IA0KPiA+IHV0aWwtbGludXggZmFsbHMg YmFjayB0byByYW5kKCkgc2VlZGVkIHdpdGggdGhlIHBpZCwgdWlkLCB0dl9zZWMsIGFuZA0KPiA+ IHR2X3VzZWMgZnJvbSBnZXR0aW1lb2ZkYXkoKS4gIFByZXR0eSBiYWQgb24gYW4gZW1iZWRkZWQg c3lzdGVtIHdpdGggbm8NCj4gPiBSVEMgYW5kIHdvcnNlIHRoYW4gd2hhdCB0aGUga2VybmVsIGlu IGNybmdfaW5pdCAxIHN0YXRlIGNhbiBnaXZlIHVzLg0KPiANCj4gU28gd2hhdCB1dGlsLWxpbnV4 J3MgbGlidXVpZCBjb3VsZCBkbyBpcyBmYWxsIGJhY2sgdG8gdXNpbmcNCj4gL2Rldi91cmFuZG9t IGluc3RlYWQuICBXaGV0aGVyIG9yIG5vdCB5b3UgcmV0cnkgZm9yIGEgc2Vjb25kIGJlZm9yZQ0K PiB5b3UgZmFsbCBiYWNrIHRvIC9kZXYvdXJhbmRvbSByZWFsbHkgZGVwZW5kcyBvbiBob3cgaW1w b3J0YW50IHRoZQ0KPiBzZWNvbmQgVSBpbiBVVUlEICgidW5pcXVlIikgaXMgdG8geW91LiAgSWYg eW91IHVzZSBsb3dlciBxdWFsaXR5DQo+IHJhbmRvbW5lc3MsIHlvdSBjYW4gcG90ZW50aWFsbHkg cmlzayBnZXR0aW5nIG5vbi11bmlxdWUgVVVJRCdzLg0KDQpEb2VzIGl0IHJlYWxseSBtYXR0ZXIg aG93IGxvbmcgb25lIHdhaXRzPyAgVGhlIGZhY3QgdGhhdCB0aGVyZSBpcyBhDQpmYWxsYmFjayB0 aGF0IGNhbiBiZSB1c2VkIHdvdWxkIHNlZW0gdG8gcHJvdmlkZSBhIGd1YXJhbnRlZSBvZg0KcmFu ZG9tbmVzcy91bmlxdW5lc3Mgb25seSBhcyBnb29kIGFzIHRoYXQgZmFsbGJhY2suDQoNCkFuZCBo ZXJlIGlzIHRoZSBmYWxsYmFjaywgaHR0cHM6Ly9naXRodWIuY29tL2thcmVsemFrL3V0aWwtbGlu dXgvYmxvYi9tDQphc3Rlci9saWIvcmFuZHV0aWxzLmMjTDY0DQoNCkl0IGRvZXNuJ3Qgc2VlbSBh bGwgdGhhdCBncmVhdC4gIENhbiB3ZSBzYXkgdGhhdCB0aGUga2VybmVsLCBlLmcuDQp1cmFuZG9t LCBjYW4gYWx3YXlzIHByb3ZpZGUgcmFuZG9tIGRhdGEgYXQgbGVhc3QgYXMgZ29vZCBhcyB0aGUg YWJvdmUNCndpdGhvdXQgYmxvY2tpbmc/ICBJZiB0aGUga2VybmVsIGlzIGFsd2F5cyBhcyBnb29k IG9yIGJldHRlciwgdGhlbg0Kd2hhdCdzIHRoZSBwb2ludCBvZiBoYXZpbmcgdGhlIGluZmVyaW9y IGZhbGxiYWNrPw0KDQo+IElmIHlvdSBkb24ndCB3b3JyeSBsZWFraW5nIHlvdXIgY29tcHV0ZXIn cyBpZGVudGl0eSBhbmQgdGhlIHRpbWUgd2hlbg0KPiB0aGUgVVVJRCB3YXMgZ2VuZXJhdGVkLCB0 aGUgYXBwbGljYXRpb24gY291bGQgYWxzbyB1c2UgdGhlIHRpbWUtYmFzZWQNCj4gVVVJRCdzLiAg VGhlcmUgYXJlIHByaXZhY3kgaW1wbGljYXRpb25zIGZvciBkb2luZyBzbywgaXQncyBub3QNCg0K bGlidXVpZCB3aWxsIHN0aWxsIGFzayBmb3IgcmFuZG9tIGRhdGEgdG8gaW5pdGlhbGl6ZSBpdHMg Y2xvY2sgZmlsZToNCg0KaHR0cHM6Ly9naXRodWIuY29tL2thcmVsemFrL3V0aWwtbGludXgvYmxv Yi9tYXN0ZXIvbGlidXVpZC9zcmMvZ2VuX3V1aWQNCi5jI0wyODENCg0KDQo+ID4gSXQgd291bGQg c2VlbSB0byBiZSBhIGZhY3QgdGhhdCB0aGVyZSB3aWxsIGJlIHVzZXJzIG9mIG5vbi0NCj4gPiBj cnlwdG9ncmFwaGljIHJhbmRvbSBkYXRhIGluIGVhcmx5IGJvb3QuICBXaGF0IGlzIHRoZSBiZXN0 IHByYWN0aWNlIGZvcg0KPiA+IHRoYXQ/ICBUbyBmYWxsIGJhY2sgdG8gZWFjaCB1c2VyIHRyeWlu ZyAidG8gZmluZCByYW5kb21seS1sb29raW5nDQo+ID4gdGhpbmdzIG9uIGFuIDE5OTBzIFVuaXgu IiAgVGhhdCBkb2Vzbid0IHNlZW0gZ29vZCB0byBtZS4gIEJ1dCB3aGF0J3MNCj4gPiB0aGUgYmV0 dGVyIHdheT8NCj4gDQo+IFdlIGNvdWxkIGFkZCBhIG5ldyBmbGFnIHRvIGdldHJhbmRvbSgyKSwg YnV0IGFwcGxpY2F0aW9uIGF1dGhvcnMgY2FuDQo+IGp1c3QgYXMgZWFzaWx5IGZhbGwgYmFjayB0 byB1c2luZyAvZGV2L3VyYW5kb20uICBUaGUgcmVhbCBjb25jZXJuIEkNCg0KSSB3b3VsZG4ndCBz YXkganVzdCBhcyBlYXNpbHkuICBJdCdzIGEgbW9yZSBjb21wbGV4IGNvZGUgcGF0aCwNCmRvY3Vt ZW50ZWQgYWNyb3NzIG11bHRpcGxlIG1hbiBwYWdlcyBhbmQgcmVxdWlyZXMgY2VydGFpbiBmaWxl IHN5c3RlbQ0KYWNjZXNzIHRoYXQgZ2V0cmFuZG9tKCkgZG9lc24ndC4gIEJ1dCBpdCdzIGNlcnRh aW5seSByZWFkaWx5DQphY2hpZXZhYmxlLCBzbyBtYXliZSB0aGF0J3MgZ29vZCBlbm91Z2guICBJ IHRoaW5rIGEgZmxhZyB0byBnZXRyYW5kb20NCndvdWxkIHJlc3VsdCBpbiBmZXdlciBtaXN0YWtl cyBpbiB1c2Vyc3BhY2UgY29kZS4NCg0KPiBoYXZlIGlzIGFwcGxpY2F0aW9uIGF1dGhvcnMgdGhh dCBhY3R1YWxseSAqcmVhbGx5KiBuZWVkIGNyeXB0b2dyYXBoaWMNCj4gcmFuZG9tbmVzcywgYnV0 IHRoZXkncmUgdG9vIGxhenkgdG8gZmlndXJlIG91dCBhIHdheSB0byBkZWZlciBrZXkNCj4gZ2Vu ZXJhdGlvbiB1bnRpbCB0aGUgbGFzdCBwb3NzaWJsZSBtb21lbnQuDQoNCldvdWxkIGl0IGJlIHNh ZmUgdG8gc2F5IHRoZSB0aGUgcmFuZHV0aWxzIGNvZGUgaW4gdXRpbC1saW51eCB3b3VsZCBiZQ0K YmV0dGVyIG9mZiBmYWxsaW5nIGJhY2sgdG8gL2Rldi91cmFuZG9tIGluc3RlYWQgb2Ygd2hhdCBp dCBkb2VzPw0KDQpJZiBhdXRob3JzIHRoYXQgcmVhbGx5IG5lZWQgY3J5cHRvZ3JhcGhpYyBkYXRh IHVzZSByYW5kb21fZ2V0X2J5dGVzKCkNCm9yIHV1aWRfZ2VuZXJhdGUoKSwgdGhleSdsbCBnZXQg Y29kZSB0aGF0IGF1dG9tYXRpY2FsbHkgZmFsbHMgYmFjayB0bw0KZ2V0dGltZW9mZGF5KCkuICBB bmQgcHJvYmFibHkgbm90IGV2ZW4ga25vdyBpdC4NCg0KSSBnZXQgeW91ciBjb25jZXJuIGFib3V0 IGxhenkgYXV0aG9ycyB1c2luZyBhbiBBUEkgdGhhdCBpc24ndA0KYXBwcm9wcmlhdGUgZm9yIHRo ZWlyIHVzZSBjYXNlLg0KDQpCdXQgd2UgaGF2ZSB0aGlzIGFwaSBhbHJlYWR5LCBpbiB1dGlsLWxp bnV4IGFuZCBjb2RlIGNvcGllZC9pbnNwaXJlZCBieQ0KaXQsIGFuZCBpdCBzZWVtcyB0aGVyZSBh cmUgdXNlIGNhc2VzIHdoZXJlIGl0IGlzIGFwcHJvcHJpYXRlLiAgSWYgd2UNCm1ha2UgaXQgYmV0 dGVyKCopLCB0aGVuIGRvZXMgdGhlIHJpc2sgb2YgaXQgYmVpbmcgdXNlZCB3aGVyZSBpdA0Kc2hv dWxkbid0IGdvIHVwPw0KDQooKikgQmV0dGVyOiB1c2UgdGhlIGJlc3QgYXZhaWxhYmxlIHJhbmRv bSBkYXRhIHRoYXQgY2FuIGJlIHByb3ZpZGVkDQp3aXRob3V0IGJsb2NraW5nLg0KDQoNCj4gVGhl cmUgYXJlIG90aGVyIHRoaW5ncyB3ZSBjYW4gZG8gdG8gYWRkIHN1cHBvcnQgaW4gdGhlIGJvb3Rs b2FkZXIgdG8NCj4gcmVhZCBhbiBlbnRyb3B5IHN0YXRlIGZpbGUgYW5kIGluamVjdCBpdCBpbnRv IHRoZSBrZXJuZWwgYWxvbmdzaWRlIHRoZQ0KPiBpbml0cmQgYW5kIGJvb3QgY29tbWFuZCBsaW5l LiAgQnV0IHRoYXQgZG9lc24ndCBjb21wbGV0ZWx5IHNvbHZlIHRoZQ0KPiBwcm9ibGVtOyB5b3Ug c3RpbGwgaGF2ZSB0byBkZWFsIHdpdGggdGhlICJmcmVzdCBmcm9tIHRoZSBmYWN0b3J5LA0KDQpU aGlzIGlzIHByb2JsZW1hdGljIG9uIGEgbnVtYmVyIG9mIGVtYmVkZGVkIHBsYXRmb3Jtcy4NCg0K VGhlIGJvb3Rsb2FkZXIgbWlnaHQgaGF2ZSBubyB3cml0YWJsZSBwZXJzaXN0ZW50IHN0b3JhZ2Ug dG8gcmVhZC93cml0ZSANCnRoaXMgZW50cm9weSBmcm9tLiAgVGhpcyByZXF1aXJlcyBkcml2ZXJz IGZvciB0aGUgc3RvcmFnZSBoYXJkd2FyZSwNCmFiaWxpdHkgdG8gZGVhbCB3aXRoIHRoZSBzdG9y YWdlIGJlaW5nIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZSwgYW5kDQpzZWN1cml0eSBvZiB0aGUg c3RvcmFnZS4gIEFzc3VtaW5nIGhhcmR3YXJlIGZvciB3cml0YWJsZSBzdG9yYWdlIGV2ZW4NCmV4 aXN0cy4NCg0KU28gaWYgSSB3YW50IHUtYm9vdCB0byByZWFkL3dyaXRlIGFuIGVuY3J5cHRlZCBh bmQgYXV0aGVudGljYXRlZCBmbGFzaA0KZmlsZSBzeXN0ZW0sIHRoZXJlIGlzIGEgbG90IG9mIGNv ZGUgdG8gcHV0IGluIHRoZSBib290bG9hZGVyISAgQW5kIG5vdw0Kd2UgaGF2ZSB0byB3b3JyeSBh Ym91dCB0aGF0IGJlaW5nIGV4cGxvaXRlZC4gIE1heWJlIHRoaXMgbWVhbnMgdGhlDQpib290bG9h ZGVyIG5lZWRzIGFuIGVuY3J5cHRpb24ga2V5IHRoYXQgaXQgZGlkbid0IHByZXZpb3VzIG5lZWQg aGF2ZQ0KYWNjZXNzIHRvLg0KDQpTb21lIHN5c3RlbXMgaGF2ZSBhIGxpbWl0IG9uIGJvb3Rsb2Fk ZXIgc2l6ZSBhbmQgUkFNLiAgQ3ljbG9uZSA1IGlzDQo2NGtCLCB3aGljaCBwcmV0dHkgbXVjaCBy ZXF1aXJlcyBhIHR3byBzdGFnZSBib290bG9hZGVyLiAgQXJyaWEgMTAgaGFzDQoyNTZrQiBhbmQg Ym9vdHMgaW4gYSBzaW5nbGUgc3RhZ2UsIGJ1dCBib290bG9hZGVyIGZlYXR1cmVzIGFyZSBxdWl0 ZQ0KbGltaXRlZC4gIE9uIGlteDIzLCBpdCdzIHBvc3NpYmxlIHRvIGJvb3QgZGlyZWN0bHkgaW50 byBsaW51eCB3aXRoIG5vDQpib290bG9hZGVyIGF0IGFsbC4gIFRoZSBjcHUncyByb20gY2FuIGlu aXRpYWxpemUgdGhlIGhhcmR3YXJlIGVub3VnaCB0bw0KcnVuIGxpbnV4IGp1c3QgZnJvbSBpbmZv IGluIHRoZSBteHMgYm9vdCBpbWFnZSBmb3JtYXQuDQo=