Received: by 10.223.164.202 with SMTP id h10csp87495wrb; Tue, 7 Nov 2017 03:22:31 -0800 (PST) X-Google-Smtp-Source: ABhQp+SXDUlsH5MHptcZlllFAaGP9GHOpeqpN0VHLVD0PjZImpTHjXrygL+eDFq3Y3eXTGjJzMyl X-Received: by 10.98.13.157 with SMTP id 29mr20114032pfn.160.1510053751157; Tue, 07 Nov 2017 03:22:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510053751; cv=none; d=google.com; s=arc-20160816; b=i5MTP+WtyhiNG86cvNXYSImsFs1AAXpK4CjXHJLZG7a/f0NJk2SwYxTRbBEMFN13c9 ewAdVtVVZfQI+kQ5lpLJUCVWbK13uR8L5KpT1yVcrVYEqdB2+zi4FOkPVJKJEbDGQSpq bA+Edptdl3u485qRnUzGjjN3yfDziHqid35g1I39UJgIq142Wd9B5LI2q4+arw9mi1pp CPiHIuhtVATB5qImVAeYwxFGVlFDo7bDQ0RUdFzgqSkT/TNVAm0HLoxArIa2EbEiRTYM TIwBEbc6QS9TjkqTNXv8YD22dguKfWXG6x87pWYdV65FlvabJdAdM9XRN/viYNUBSJME R87w== 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 :dlp-reaction:dlp-version:dlp-product:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:arc-authentication-results; bh=764gW23kbzvikYDvfBF860HcvSJEkLhnyzgreBuxHo4=; b=Ki0sFtulo0yIj0pdiLKHOUgK+cFiDwpdbOHF5NgVV+BlxzG6hPJVN/8ad6SkIithsI B7+ECLgKiSxUcb0wB1i9xPcunpWgtIO28VRascwP29z3XpUkNnsM/HKQLxrYq/0/FYS/ /XcUnqMHD2duE2LdcKBgzrIMC5g+qxCWZ06sN+is+xHRh9aZ5tSzymyxwA+G/4kUofLw x4XmXdyuj/m3O470sbcYD7O0TgDPvwhtflv9ocY3iGGZvKG3Od4c8xlVUt1+x2EMDoTV QAH2iPOIM6hr1TjsX1bQmVycx1JbH+0HZSqM2++K3z1V8hEkb5uuoXecO6mf89l1VBAY Kmxw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k4si951461pgp.422.2017.11.07.03.22.17; Tue, 07 Nov 2017 03:22:31 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751688AbdKGIup (ORCPT + 91 others); Tue, 7 Nov 2017 03:50:45 -0500 Received: from mga07.intel.com ([134.134.136.100]:23967 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750985AbdKGIuo (ORCPT ); Tue, 7 Nov 2017 03:50:44 -0500 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP; 07 Nov 2017 00:50:39 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,357,1505804400"; d="scan'208";a="1240724567" Received: from irsmsx110.ger.corp.intel.com ([163.33.3.25]) by fmsmga002.fm.intel.com with ESMTP; 07 Nov 2017 00:49:43 -0800 Received: from irsmsx102.ger.corp.intel.com ([169.254.2.180]) by irsmsx110.ger.corp.intel.com ([163.33.3.25]) with mapi id 14.03.0319.002; Tue, 7 Nov 2017 08:49:09 +0000 From: "Reshetova, Elena" To: Randy Dunlap , "peterz@infradead.org" CC: "linux-kernel@vger.kernel.org" , "gregkh@linuxfoundation.org" , "keescook@chromium.org" , "tglx@linutronix.de" , "mingo@redhat.com" , "ishkamiel@gmail.com" Subject: RE: [PATCH] refcount_t: documentation for memory ordering differences Thread-Topic: [PATCH] refcount_t: documentation for memory ordering differences Thread-Index: AQHTVwSTyI/lWDEZjkyKtZEqmaJnUKMHtHWAgADmS3A= Date: Tue, 7 Nov 2017 08:49:08 +0000 Message-ID: <2236FBA76BA1254E88B949DDB74E612B802BA1F0@IRSMSX102.ger.corp.intel.com> References: <1509975151-13569-1-git-send-email-elena.reshetova@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-ctpclassification: CTP_IC x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZmQxMTQxNzQtMjlhZS00YTlhLTg0NTItMTYyM2E0YzgxZDY5IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJ2RlRtTEw2U3gyK3hVUGF0bnRUMEp6Q0hETnFQSGc5ZlZYWmJTVFhtRXp5RGM2cVBOZkRQYjVnQ3dFNjJSeDBzIn0= x-originating-ip: [163.33.239.181] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org DQpIaSBSYW5keSwgDQoNClRoYW5rIHlvdSBmb3IgeW91ciBjb3JyZWN0aW9ucyEgSSB3aWxsIGZp eCB0aGUgbGFuZ3VhZ2UtcmVsYXRlZCBpc3N1ZXMgaW4gdGhlDQpuZXh0IHZlcnNpb24uIE1vcmUg b24gY29udGVudCBiZWxvdy4NCg0KPiBPbiAxMS8wNi8yMDE3IDA1OjMyIEFNLCBFbGVuYSBSZXNo ZXRvdmEgd3JvdGU6DQo+ID4gU29tZSBmdW5jdGlvbnMgZnJvbSByZWZjb3VudF90IEFQSSBwcm92 aWRlIGRpZmZlcmVudA0KPiA+IG1lbW9yeSBvcmRlcmluZyBndWFyYW50ZWVzIHRoYXQgdGhlaXIg YXRvbWljIGNvdW50ZXJwYXJ0cy4NCj4gPiBUaGlzIGFkZHMgYSBkb2N1bWVudCBvdXRsaW5pbmcg dGhlIGRpZmZlcmVuY2VzIGFuZA0KPiA+IHNob3dpbmcgZXhhbXBsZXMuDQo+ID4NCj4gPiBTaWdu ZWQtb2ZmLWJ5OiBFbGVuYSBSZXNoZXRvdmEgPGVsZW5hLnJlc2hldG92YUBpbnRlbC5jb20+DQo+ ID4gLS0tDQo+ID4gIERvY3VtZW50YXRpb24vcmVmY291bnQtdnMtYXRvbWljLnR4dCB8IDIzNA0K PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ICAxIGZpbGUgY2hhbmdl ZCwgMjM0IGluc2VydGlvbnMoKykNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IERvY3VtZW50YXRp b24vcmVmY291bnQtdnMtYXRvbWljLnR4dA0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL0RvY3VtZW50 YXRpb24vcmVmY291bnQtdnMtYXRvbWljLnR4dCBiL0RvY3VtZW50YXRpb24vcmVmY291bnQtdnMt DQo+IGF0b21pYy50eHQNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAwMDAw MDAuLjA5ZWZkMmINCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvRG9jdW1lbnRhdGlvbi9y ZWZjb3VudC12cy1hdG9taWMudHh0DQo+ID4gQEAgLTAsMCArMSwyMzQgQEANCj4gPiArPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ICtyZWZjb3VudF90IEFQSSBjb21wYXJl IHRvIGF0b21pY190DQo+ID4gKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4g PiArDQo+ID4gK1RoZSBnb2FsIG9mIHJlZmNvdW50X3QgQVBJIGlzIHRvIHByb3ZpZGUgYSBtaW5p bWFsIEFQSSBmb3IgaW1wbGVtZW50aW5nDQo+ID4gK29iamVjdCdzIHJlZmVyZW5jZSBjb3VudGVy cy4gV2hpbGUgYSBnZW5lcmljIGFyY2hpdGVjdHVyZS1pbmRlcGVuZGVudA0KPiA+ICtpbXBsZW1l bnRhdGlvbiBmcm9tIGxpYi9yZWZjb3VudC5jIHVzZXMgYXRvbWljIG9wZXJhdGlvbnMgdW5kZXJu ZWF0aCwNCj4gPiArdGhlcmUgaXMgYSBudW1iZXIgb2YgZGlmZmVyZW5jZXMgYmV0d2VlbiBzb21l IG9mIHRoZSByZWZjb3VudF8qKCkgYW5kDQo+IA0KPiAgICB0aGVyZSBhcmUNCj4gDQo+ID4gK2F0 b21pY18qKCkgZnVuY3Rpb25zIHdpdGggcmVnYXJkcyB0byB0aGUgbWVtb3J5IG9yZGVyaW5nIGd1 YXJhbnRlZXMuDQo+ID4gK1RoaXMgZG9jdW1lbnQgb3V0bGluZXMgdGhlIGRpZmZlcmVuY2VzIGFu ZCBwcm92aWRlcyByZXNwZWN0aXZlIGV4YW1wbGVzDQo+ID4gK2luIG9yZGVyIHRvIGhlbHAgbWFp bnRhaW5lcnMgdmFsaWRhdGUgdGhlaXIgY29kZSBhZ2FpbnN0IHRoZSBjaGFuZ2UgaW4NCj4gPiAr dGhlc2UgbWVtb3J5IG9yZGVyaW5nIGd1YXJhbnRlZXMuDQo+ID4gKw0KPiA+ICttZW1vcnktYmFy cmllcnMudHh0IGFuZCBhdG9taWNfdC50eHQgcHJvdmlkZSBtb3JlIGJhY2tncm91bmQgdG8gdGhl DQo+ID4gK21lbW9yeSBvcmRlcmluZyBpbiBnZW5lcmFsIGFuZCBmb3IgYXRvbWljIG9wZXJhdGlv bnMgc3BlY2lmaWNhbGx5Lg0KPiA+ICsNCj4gPiArU3VtbWFyeSBvZiB0aGUgZGlmZmVyZW5jZXMN Cj4gPiArPT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gPiArDQo+ID4gKyAxKSBUaGVyZSBp cyBubyBkaWZmZXJlbmNlIGJldHdlZW4gcmVzcGVjdGl2ZSBub24tUk1XIG9wcywgaS5lLg0KPiA+ ICsgICByZWZjb3VudF9zZXQoKSAmIHJlZmNvdW50X3JlYWQoKSBoYXZlIGV4YWN0bHkgdGhlIHNh bWUgb3JkZXJpbmcNCj4gPiArICAgZ3VhcmFudGVlcyAobWVhbmluZyBmdWxseSB1bm9yZGVyZWQp IGFzIGF0b21pY19zZXQoKSBhbmQgYXRvbWljX3JlYWQoKS4NCj4gPiArIDIpIEZvciB0aGUgaW5j cmVtZW50LWJhc2VkIG9wcyB0aGF0IHJldHVybiBubyB2YWx1ZSAobmFtZWx5DQo+ID4gKyAgIHJl ZmNvdW50X2luYygpICYgcmVmY291bnRfYWRkKCkpIG1lbW9yeSBvcmRlcmluZyBndWFyYW50ZWVz IGFyZQ0KPiA+ICsgICBleGFjdGx5IHRoZSBzYW1lIChtZWFuaW5nIGZ1bGx5IHVub3JkZXJlZCkg YXMgcmVzcGVjdGl2ZSBhdG9taWMNCj4gPiArICAgZnVuY3Rpb25zIChhdG9taWNfaW5jKCkgJiBh dG9taWNfYWRkKCkpLg0KPiA+ICsgMykgRm9yIHRoZSBkZWNyZW1lbnQtYmFzZWQgb3BzIHRoYXQg cmV0dXJuIG5vIHZhbHVlIChuYW1lbHkNCj4gPiArICAgcmVmY291bnRfZGVjKCkpIG1lbW9yeSBv cmRlcmluZyBndWFyYW50ZWVzIGFyZSBzbGlnaHRseQ0KPiA+ICsgICBzdHJvbmdlciB0aGFuIHJl c3BlY3RpdmUgYXRvbWljIGNvdW50ZXJwYXJ0IChhdG9taWNfZGVjKCkpLg0KPiA+ICsgICBXaGls ZSBhdG9taWNfZGVjKCkgaXMgZnVsbHkgdW5vcmRlcmVkLCByZWZjb3VudF9kZWMoKSBkb2VzDQo+ ID4gKyAgIHByb3ZpZGUgYSBSRUxFQVNFIG1lbW9yeSBvcmRlcmluZyBndWFyYW50ZWUgKHNlZSBu ZXh0IHNlY3Rpb24pLg0KPiA+ICsgNCkgRm9yIHRoZSByZXN0IG9mIGluY3JlbWVudC1iYXNlZCBS TVcgb3BzIChyZWZjb3VudF9pbmNfbm90X3plcm8oKSwNCj4gPiArICAgcmVmY291bnRfYWRkX25v dF96ZXJvKCkpIHRoZSBtZW1vcnkgb3JkZXJpbmcgZ3VhcmFudGVlcyBhcmUgcmVsYXhlZA0KPiA+ ICsgICBjb21wYXJlIHRvIHRoZWlyIGF0b21pYyBjb3VudGVycGFydHMgKGF0b21pY19pbmNfbm90 X3plcm8oKSkuDQo+IA0KPiAgICAgICBjb21wYXJlZA0KPiANCj4gPiArICAgUmVmY291bnQgdmFy aWFudHMgcHJvdmlkZSBubyBtZW1vcnkgb3JkZXJpbmcgZ3VhcmFudGVlcyBhcGFydCBmcm9tDQo+ ID4gKyAgIGNvbnRyb2wgZGVwZW5kZW5jeSBvbiBzdWNjZXNzLCB3aGlsZSBhdG9taWNzIHByb3Zp ZGUgYSBmdWxsIG1lbW9yeQ0KPiANCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcHJvdmlkZSBmdWxsIG1lbW9yeQ0KPiANCj4gPiArICAgb3JkZXJp bmcgZ3VhcmFudGVlcyAoc2VlIG5leHQgc2VjdGlvbikuDQo+ID4gKyA1KSBUaGUgcmVzdCBvZiBk ZWNyZW1lbnQtYmFzZWQgUk1XIG9wcyAocmVmY291bnRfZGVjX2FuZF90ZXN0KCksDQo+ID4gKyAg IHJlZmNvdW50X3N1Yl9hbmRfdGVzdCgpLCByZWZjb3VudF9kZWNfaWZfb25lKCksIHJlZmNvdW50 X2RlY19ub3Rfb25lKCkpDQo+ID4gKyAgIHByb3ZpZGUgb25seSBSRUxFQVNFIG1lbW9yeSBvcmRl cmluZyBhbmQgY29udHJvbCBkZXBlbmRlbmN5IG9uIHN1Y2Nlc3MNCj4gPiArICAgKHNlZSBuZXh0 IHNlY3Rpb24pLiBUaGUgcmVzcGVjdGl2ZSBhdG9taWMgY291bnRlcnBhcnRzDQo+ID4gKyAgIChh dG9taWNfZGVjX2FuZF90ZXN0KCksIGF0b21pY19zdWJfYW5kX3Rlc3QoKSkgcHJvdmlkZSBmdWxs IG1lbW9yeSBvcmRlcmluZy4NCj4gPiArIDYpIFRoZSBsb2NrLWJhc2VkIFJNVyBvcHMgKHJlZmNv dW50X2RlY19hbmRfbG9jaygpICYNCj4gPiArICAgcmVmY291bnRfZGVjX2FuZF9tdXRleF9sb2Nr KCkpIGFsd2F5IHByb3ZpZGUgUkVMRUFTRSBtZW1vcnkgb3JkZXJpbmcNCj4gPiArICAgYW5kIEFD UVVJUkUgbWVtb3J5IG9yZGVyaW5nICYgY29udHJvbCBkZXBlbmRlbmN5IG9uIHN1Y2Nlc3MNCj4g PiArICAgKHNlZSBuZXh0IHNlY3Rpb24pLiBUaGUgcmVzcGVjdGl2ZSBhdG9taWMgY291bnRlcnBh cnRzDQo+ID4gKyAgIChhdG9taWNfZGVjX2FuZF9sb2NrKCkgJiBhdG9taWNfZGVjX2FuZF9tdXRl eF9sb2NrKCkpDQo+ID4gKyAgIHByb3ZpZGUgZnVsbCBtZW1vcnkgb3JkZXJpbmcuDQo+ID4gKw0K PiA+ICsNCj4gPiArDQo+ID4gK0RldGFpbHMgYW5kIGV4YW1wbGVzDQo+ID4gKz09PT09PT09PT09 PT09PT09PT09DQo+ID4gKw0KPiA+ICtIZXJlIHdlIGNvbnNpZGVyIHRoZSBjYXNlcyAzKS02KSB0 aGF0IGRvIHByZXNlbnQgZGlmZmVyZW5jZXMgdG9nZXRoZXINCj4gPiArd2l0aCByZXNwZWN0aXZl IGV4YW1wbGVzLg0KPiA+ICsNCj4gPiArY2FzZSAzKSAtIGRlY3JlbWVudC1iYXNlZCBSTVcgb3Bz IHRoYXQgcmV0dXJuIG5vIHZhbHVlDQo+ID4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArRnVuY3Rpb24gY2hhbmdlczoN Cj4gPiArICAgICAgICAgICAgICAgIGF0b21pY19kZWMoKSAtLT4gcmVmY291bnRfZGVjKCkNCj4g PiArDQo+ID4gK01lbW9yeSBvcmRlcmluZyBndWFyYW50ZWUgY2hhbmdlczoNCj4gPiArICAgICAg ICAgICAgICAgIGZ1bGx5IHVub3JkZXJlZCAtLT4gUkVMRUFTRSBvcmRlcmluZw0KPiA+ICsNCj4g PiArUkVMRUFTRSBvcmRlcmluZyBndWFyYW50ZWVzIHRoYXQgcHJpb3IgbG9hZHMgYW5kIHN0b3Jl cyBhcmUNCj4gPiArY29tcGxldGVkIGJlZm9yZSB0aGUgb3BlcmF0aW9uLiBJbXBsZW1lbnRlZCB1 c2luZyBzbXBfc3RvcmVfcmVsZWFzZSgpLg0KPiA+ICsNCj4gPiArRXhhbXBsZXM6DQo+ID4gK35+ fn5+fn5+fg0KPiA+ICsNCj4gPiArRm9yIGZ1bGx5IHVub3JkZXJlZCBvcGVyYXRpb25zIHN0b3Jl cyB0byBhLCBiIGFuZCBjIGNhbg0KPiA+ICtoYXBwZW4gaW4gYW55IHNlcXVlbmNlOg0KPiA+ICsN Cj4gPiArUDAoaW50ICphLCBpbnQgKmIsIGludCAqYykNCj4gPiArICB7DQo+ID4gKwkgIFdSSVRF X09OQ0UoKmEsIDEpOw0KPiA+ICsJICBXUklURV9PTkNFKCpiLCAxKTsNCj4gPiArCSAgV1JJVEVf T05DRSgqYywgMSk7DQo+ID4gKyAgfQ0KPiA+ICsNCj4gPiArDQo+ID4gK0ZvciBhIFJFTEVBU0Ug b3JkZXJlZCBvcGVyYXRpb24sIHJlYWQgYW5kIHdyaXRlIGZyb20vdG8gQGENCj4gDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWQgb3Igd3JpdGUgICg/PykNCj4gDQo+ ID4gK2lzIGd1YXJhbnRlZWQgdG8gaGFwcGVuIGJlZm9yZSBzdG9yZSB0byBAYi4gVGhlcmUgYXJl IG5vDQo+IA0KPiBJZiB5b3Ugd2FudCB0byBrZWVwICJyZWFkIGFuZCB3cml0ZSIgYWJvdmUsIHBs ZWFzZSBjaGFuZ2UgImlzIiB0byAiYXJlIi4NCg0KSSB0aGluayBJIGFsc28gZGlkbid0IGFkZCBh ICJyZWFkIiBpbiB0aGUgZXhhbXBsZSwgdGhhbmsgeW91IGZvciBwb2ludGluZyBvdXQsIA0Kd2ls bCBmaXguIA0KDQo+IA0KPiBBcmUgIndyaXRlIiBhbmQgInN0b3JlIiB0aGUgc2FtZT8gIFRoZXkg c2VlbSB0byBiZSB1c2VkIGludGVyY2hhbmdlYWJseS4NCg0KWWVzLCAid3JpdGUiIGFuZCAic3Rv cmUiIGlzIHRoZSBzYW1lIHRoaW5nLCBtYXliZSBJIHNob3VsZCBpbmRlZWQgc3RpY2sgdG8ganVz dCBvbmUNCndheSBvZiBwcmVzZW50aW5nIGl0IG5vdCB0byBjb25mdXNlIGFueW9uZS4gDQoNCj4g DQo+ID4gK2d1YXJhbnRlZXMgb24gdGhlIG9yZGVyIG9mIHN0b3JlL3JlYWQgdG8vZnJvbSBAYzoN Cj4gPiArDQo+ID4gK1AwKGludCAqYSwgaW50ICpiLCBpbnQgKmMpDQo+ID4gKyAgew0KPiA+ICsg ICAgICBSRUFEX09OQ0UoKmEpOw0KPiA+ICsgICAgICBXUklURV9PTkNFKCphLCAxKTsNCj4gPiAr ICAgICAgc21wX3N0b3JlX3JlbGVhc2UoYiwgMSk7DQo+ID4gKyAgICAgIFdSSVRFX09OQ0UoKmMs IDEpOw0KPiA+ICsgICAgICBSRUFEX09OQ0UoKmMpOw0KPiA+ICsgIH0NCj4gPiArDQo+ID4gKw0K PiA+ICtjYXNlIDQpIC0gaW5jcmVtZW50LWJhc2VkIFJNVyBvcHMgdGhhdCByZXR1cm4gYSB2YWx1 ZQ0KPiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiA+ICsNCj4gPiArRnVuY3Rpb24gY2hhbmdlczoNCj4gPiArICAgICAgICAgICAgICAg IGF0b21pY19pbmNfbm90X3plcm8oKSAtLT4gcmVmY291bnRfaW5jX25vdF96ZXJvKCkNCj4gPiAr ICAgICAgICAgICAgICAgIG5vIGF0b21pYyBjb3VudGVycGFydCAtLT4gcmVmY291bnRfYWRkX25v dF96ZXJvKCkNCj4gPiArDQo+ID4gK01lbW9yeSBvcmRlcmluZyBndWFyYW50ZWVzIGNoYW5nZXM6 DQo+ID4gKyAgICAgICAgICAgICAgICBmdWxseSBvcmRlcmVkIC0tPiBjb250cm9sIGRlcGVuZGVu Y3kgb24gc3VjY2VzcyBmb3Igc3RvcmVzDQo+ID4gKw0KPiA+ICtDb250cm9sIGRlcGVuZGVuY3kg b24gc3VjY2VzcyBndWFyYW50ZWVzIHRoYXQgaWYgYSByZWZlcmVuY2UgZm9yIGFuDQo+ID4gK29i amVjdCB3YXMgc3VjY2Vzc2Z1bGx5IG9idGFpbmVkIChyZWZlcmVuY2UgY291bnRlciBpbmNyZW1l bnQgb3INCj4gPiArYWRkaXRpb24gaGFwcGVuZWQsIGZ1bmN0aW9ucyByZXR1cm5lZCB0cnVlKSwg dGhlbiBmdXJ0aGVyIHN0b3JlcyBhcmUgb3JkZXJlZA0KPiA+ICthZ2FpbnN0IHRoaXMgb3BlcmF0 aW9uLiBDb250cm9sIGRlcGVuZGVuY3kgb24gc3RvcmVzIGFyZSBub3QgaW1wbGVtZW50ZWQNCj4g PiArdXNpbmcgYW55IGV4cGxpY2l0IGJhcnJpZXJzLCBidXQgd2UgcmVseSBvbiBDUFUgbm90IHRv IHNwZWN1bGF0ZSBvbiBzdG9yZXMuDQo+ID4gKw0KPiA+ICsqTm90ZSo6IHdlIHJlYWxseSBhc3N1 bWUgaGVyZSB0aGF0IG5lY2Vzc2FyeSBvcmRlcmluZyBpcyBwcm92aWRlZCBhcyBhIHJlc3VsdA0K PiA+ICtvZiBvYnRhaW5pbmcgcG9pbnRlciB0byB0aGUgb2JqZWN0IQ0KPiA+ICsNCj4gPiArRXhh bXBsZXM6DQo+ID4gK35+fn5+fn5+fg0KPiA+ICsNCj4gPiArRm9yIGEgZnVsbHkgb3JkZXJlZCBh dG9taWMgb3BlcmF0aW9uIHNtcF9tYigpIGJhcnJpZXJzIGFyZSBpbnNlcnRlZCBiZWZvcmUNCj4g PiArYW5kIGFmdGVyIHRoZSBhY3R1YWwgb3BlcmF0aW9uOg0KPiA+ICsNCj4gPiArUDAoaW50ICph LCBpbnQgKmIsIGludCAqYykNCj4gPiArICB7DQo+ID4gKwkgIFdSSVRFX09OQ0UoKmIsIDIpOw0K PiA+ICsgICAgICBSRUFEX09OQ0UoKmMpOw0KPiA+ICsgICAgICBpZiAoICh7IHNtcF9tYigpOyBy ZXQgPSBkb19hdG9taWNfaW5jX25vdF96ZXJvKCphKTsgc21wX21iKCk7IHJldCB9KSApIHsNCj4g PiArICAgICAgICAgc2FmZWx5X3BlcmZvcm1fb3BlcmF0aW9uX29uX29iamVjdF9wcm90ZWN0ZWRf YnlfQGEoKTsNCj4gPiArICAgICAgICAgLi4uDQo+ID4gKyAgICAgIH0NCj4gPiArCSAgV1JJVEVf T05DRSgqYywgMik7DQo+ID4gKyAgICAgIFJFQURfT05DRSgqYik7DQo+ID4gKyAgfQ0KPiANCj4g Zml4IGluZGVudGF0aW9uIGFib3ZlPyAgb3IgaXMgaXQgbWVhbnQgdG8gYmUgZnVua3k/DQoNClVw cywgd2Fzbid0IGZ1bmt5IHdoZW4gSSBzZW50IGl0LCB3aWxsIGNoZWNrIG15IGVkaXRvciBzZXR0 aW5ncy4gDQoNCj4gDQo+ID4gKw0KPiA+ICtUaGVzZSBiYXJyaWVycyBndWFyYW50ZWUgdGhhdCBh bGwgcHJpb3IgbG9hZHMgYW5kIHN0b3JlcyAoQGIgYW5kIEBjKQ0KPiA+ICthcmUgY29tcGxldGVk IGJlZm9yZSB0aGUgb3BlcmF0aW9uLCBhcyB3ZWxsIGFzIGFsbCBsYXRlciBsb2FkcyBhbmQNCj4g PiArc3RvcmVzIChAYiBhbmQgQGMpIGFyZSBjb21wbGV0ZWQgYWZ0ZXIgdGhlIG9wZXJhdGlvbi4N Cj4gPiArDQo+ID4gK0ZvciBhIGZ1bGx5IHVub3JkZXJlZCByZWZjb3VudCBvcGVyYXRpb24gc21w X21iKCkgYmFycmllcnMgYXJlIGFic2VudA0KPiA+ICthbmQgb25seSBjb250cm9sIGRlcGVuZGVu Y3kgb24gc3RvcmVzIGlzIGd1YXJhbnRlZWQ6DQo+IA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGFyZQ0KPiANCj4gPiArDQo+ID4gK1AwKGludCAqYSwgaW50ICpi LCBpbnQgKmMpDQo+ID4gKyAgew0KPiA+ICsJICBXUklURV9PTkNFKCpiLCAyKTsNCj4gPiArICAg ICAgUkVBRF9PTkNFKCpjKTsNCj4gPiArICAgICAgaWYgKCAoeyByZXQgPSBkb19yZWZjb3VudF9p bmNfbm90X3plcm8oKmEpOyByZXQgfSkgKSB7DQo+ID4gKyAgICAgICAgIHBlcmZvcm1fc3RvcmVf b3BlcmF0aW9uX29uX29iamVjdF9wcm90ZWN0ZWRfYnlfQGEoKTsNCj4gPiArICAgICAgICAgLyog aGVyZSB3ZSBhc3N1bWUgdGhhdCBuZWNlc3Nhcnkgb3JkZXJpbmcgaXMgcHJvdmlkZWQNCj4gPiAr ICAgICAgICAgICogdXNpbmcgb3RoZXIgbWVhbnMsIHN1Y2ggYXMgbG9ja3MgZXRjLiAqLw0KPiA+ ICsgICAgICAgICAuLi4NCj4gPiArICAgICAgfQ0KPiA+ICsJICBXUklURV9PTkNFKCpjLCAyKTsN Cj4gPiArICAgICAgUkVBRF9PTkNFKCpiKTsNCj4gPiArICAgfQ0KPiANCj4gaW5kZW50YXRpb24/ DQoNCldpbGwgZml4LiANCg0KPiANCj4gPiArDQo+ID4gK05vIGd1YXJhbnRlZXMgb24gb3JkZXIg b2Ygc3RvcmVzIGFuZCBsb2FkcyB0by9mcm9tIEBiIGFuZCBAYy4NCj4gPiArDQo+ID4gKw0KPiA+ ICtjYXNlIDUpIC0gZGVjcmVtZW50LWJhc2VkIFJNVyBvcHMgdGhhdCByZXR1cm4gYSB2YWx1ZQ0K PiA+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiA+ICsNCj4gPiArRnVuY3Rpb24gY2hhbmdlczoNCj4gPiArICAgICAgICAgICAgICAgIGF0 b21pY19kZWNfYW5kX3Rlc3QoKSAtLT4gcmVmY291bnRfZGVjX2FuZF90ZXN0KCkNCj4gPiArICAg ICAgICAgICAgICAgIGF0b21pY19zdWJfYW5kX3Rlc3QoKSAtLT4gcmVmY291bnRfc3ViX2FuZF90 ZXN0KCkNCj4gPiArICAgICAgICAgICAgICAgIG5vIGF0b21pYyBjb3VudGVycGFydCAtLT4gcmVm Y291bnRfZGVjX2lmX29uZSgpDQo+ID4gKyAgICAgICAgICAgICAgICBhdG9taWNfYWRkX3VubGVz cygmdmFyLCAtMSwgMSkgLS0+IHJlZmNvdW50X2RlY19ub3Rfb25lKCZ2YXIpDQo+ID4gKw0KPiA+ ICtNZW1vcnkgb3JkZXJpbmcgZ3VhcmFudGVlcyBjaGFuZ2VzOg0KPiA+ICsgICAgICAgICAgICAg ICAgZnVsbHkgb3JkZXJlZCAtLT4gUkVMRUFTRSBvcmRlcmluZyArIGNvbnRyb2wgZGVwZW5kZW5j eSBvbiBzdWNjZXNzIGZvcg0KPiBzdG9yZXMNCj4gPiArDQo+ID4gK05vdGU6IGF0b21pY19hZGRf dW5sZXNzKCkgb25seSBwcm92aWRlcyBmdWxsIG9yZGVyIG9uIHN1Y2Nlc3MuDQo+ID4gKw0KPiA+ ICtFeGFtcGxlczoNCj4gPiArfn5+fn5+fn5+DQo+ID4gKw0KPiA+ICtGb3IgYSBmdWxseSBvcmRl cmVkIGF0b21pYyBvcGVyYXRpb24gc21wX21iKCkgYmFycmllcnMgYXJlIGluc2VydGVkIGJlZm9y ZQ0KPiA+ICthbmQgYWZ0ZXIgdGhlIGFjdHVhbCBvcGVyYXRpb246DQo+ID4gKw0KPiA+ICtQMChp bnQgKmEsIGludCAqYiwgaW50ICpjKQ0KPiA+ICsgIHsNCj4gPiArCSAgV1JJVEVfT05DRSgqYiwg Mik7DQo+ID4gKyAgICAgIFJFQURfT05DRSgqYyk7DQo+ID4gKyAgICAgIGlmICggKHsgc21wX21i KCk7IHJldCA9IGRvX2F0b21pY19kZWNfYW5kX3Rlc3QoKmEpOyBzbXBfbWIoKTsgcmV0IH0pICkg ew0KPiA+ICsgICAgICAgICBzYWZlbHlfZnJlZV90aGVfb2JqZWN0X3Byb3RlY3RlZF9ieV9AYSgp Ow0KPiA+ICsgICAgICAgICAuLi4NCj4gPiArICAgICAgfQ0KPiA+ICsJICBXUklURV9PTkNFKCpj LCAyKTsNCj4gPiArICAgICAgUkVBRF9PTkNFKCpiKTsNCj4gPiArICB9DQo+IA0KPiBpbmRlbnRh dGlvbj8NCg0KWWVzLg0KDQo+IA0KPiA+ICsNCj4gPiArVGhlc2UgYmFycmllcnMgZ3VhcmFudGVl IHRoYXQgYWxsIHByaW9yIGxvYWRzIGFuZCBzdG9yZXMgKEBiIGFuZCBAYykNCj4gPiArYXJlIGNv bXBsZXRlZCBiZWZvcmUgdGhlIG9wZXJhdGlvbiwgYXMgd2VsbCBhcyBhbGwgbGF0ZXIgbG9hZHMg YW5kDQo+ID4gK3N0b3JlcyAoQGIgYW5kIEBjKSBhcmUgY29tcGxldGVkIGFmdGVyIHRoZSBvcGVy YXRpb24uDQo+ID4gKw0KPiA+ICsNCj4gPiArUDAoaW50ICphLCBpbnQgKmIsIGludCAqYykNCj4g PiArICB7DQo+ID4gKwkgIFdSSVRFX09OQ0UoKmIsIDIpOw0KPiA+ICsgICAgICBSRUFEX09OQ0Uo KmMpOw0KPiA+ICsgICAgICBpZiAoICh7IHNtcF9zdG9yZV9yZWxlYXNlKCphKTsgcmV0ID0gZG9f cmVmY291bnRfZGVjX2FuZF90ZXN0KCphKTsgcmV0IH0pICkgew0KPiA+ICsgICAgICAgICBzYWZl bHlfZnJlZV90aGVfb2JqZWN0X3Byb3RlY3RlZF9ieV9AYSgpOw0KPiA+ICsgICAgICAgICAvKiBo ZXJlIHdlIGtub3cgdGhhdCB0aGlzIGlzIDEgLS0+IDAgdHJhbnNpdGlvbg0KPiA+ICsgICAgICAg ICAgKiBhbmQgdGhlcmVmb3JlIHdlIGFyZSB0aGUgbGFzdCB1c2VyIG9mIHRoaXMgb2JqZWN0DQo+ ID4gKyAgICAgICAgICAqIHNvIG5vIGNvbmN1cnJlbmN5IGlzc3VlcyBhcmUgcHJlc2VudCAqLw0K PiA+ICsgICAgICAgICAuLi4NCj4gPiArICAgICAgfQ0KPiA+ICsJICBXUklURV9PTkNFKCpjLCAy KTsNCj4gPiArICAgICAgUkVBRF9PTkNFKCpiKTsNCj4gPiArICB9DQo+IA0KPiBvZGQgaW5kZW50 YXRpb24gaW50ZW5kZWQ/DQoNCk5vd2hlcmUgaW50ZW5kZWQsIHdpbGwgZml4LiANCg0KPiANCj4g PiArDQo+ID4gK0hlcmUgc21wX3N0b3JlX3JlbGVhc2UoKSBndWFyYW50ZWVzIHRoYXQgYSBzdG9y ZSB0byBAYiBhbmQgcmVhZA0KPiA+ICtmcm9tIEBjIGhhcHBlbnMgYmVmb3JlIHRoZSBvcGVyYXRp b24uIEhvd2V2ZXIsIHRoZXJlIGlzIG5vDQo+IA0KPiAgICAgICAgICAgIGhhcHBlbg0KPiANCj4g PiArZ3VhcmFudGVlIG9uIHRoZSBvcmRlciBvZiBzdG9yZSB0byBAYyBhbmQgcmVhZCB0byBAYiBm b2xsb3dpbmcNCj4gPiArdGhlIGlmIGNhdXNlLg0KPiANCj4gICAgICAgICAgIGNsYXVzZSAoPykN Cg0KWWVzLCBhbGwgdHlwb3MsIHRoYW5rIHlvdSB2ZXJ5IG11Y2ggZm9yIHRoZSBwcm9vZiByZWFk aW5nIQ0KSSB3aWxsIHdhaXQgZm9yIG1vcmUgcGVvcGxlIGZlZWRiYWNrIGJlZm9yZSBzZW5kaW5n IGEgbmV3IHYNCmNvcnJlY3RlZCB2ZXJzaW9uIHNpbmNlIEkgdGhpbmsgdGhlcmUgaXMgcHJvYmFi bHkgbW9yZSB0byBmaXggaW4gZXhhbXBsZXMuIA0KDQpCZXN0IFJlZ2FyZHMsDQpFbGVuYS4NCj4g DQo+ID4gKw0KPiA+ICsNCj4gPiArY2FzZSA2KSAtIGxvY2stYmFzZWQgUk1XDQo+ID4gKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ICsNCj4gPiArRnVuY3Rpb24gY2hhbmdlczoNCj4gPiAr DQo+ID4gKyAgICAgICAgICAgICAgICBhdG9taWNfZGVjX2FuZF9sb2NrKCkgLS0+IHJlZmNvdW50 X2RlY19hbmRfbG9jaygpDQo+ID4gKyAgICAgICAgICAgICAgICBhdG9taWNfZGVjX2FuZF9tdXRl eF9sb2NrKCkgLS0+IHJlZmNvdW50X2RlY19hbmRfbXV0ZXhfbG9jaygpDQo+ID4gKw0KPiA+ICtN ZW1vcnkgb3JkZXJpbmcgZ3VhcmFudGVlcyBjaGFuZ2VzOg0KPiA+ICsgICAgICAgICAgICAgICAg ZnVsbHkgb3JkZXJlZCAtLT4gUkVMRUFTRSBvcmRlcmluZyBhbHdheXMsIGFuZCBvbiBzdWNjZXNz IEFDUVVJUkUNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyaW5n ICYgY29udHJvbCBkZXBlbmRlbmN5IGZvciBzdG9yZXMNCj4gPiArDQo+ID4gKw0KPiA+ICtBQ1FV SVJFIG9yZGVyaW5nIGd1YXJhbnRlZXMgdGhhdCBsb2FkcyBhbmQgc3RvcmVzIGlzc3VlZCBhZnRl ciB0aGUgQUNRVUlSRQ0KPiA+ICtvcGVyYXRpb24gYXJlIGNvbXBsZXRlZCBhZnRlciB0aGUgb3Bl cmF0aW9uLiBJbiB0aGlzIGNhc2UgaW1wbGVtZW50ZWQNCj4gPiArdXNpbmcgc3Bpbl9sb2NrKCku DQo+ID4gKw0KPiA+ICsNCj4gPg0KPiANCj4gDQo+IC0tDQo+IH5SYW5keQ0K From 1583352695871364422@xxx Mon Nov 06 21:13:19 +0000 2017 X-GM-THRID: 1583324615343508740 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread