<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>154800</bug_id>
          
          <creation_ts>2016-02-28 13:17:22 -0800</creation_ts>
          <short_desc>[[PreventExtensions]] should be a virtual method in the method table.</short_desc>
          <delta_ts>2016-03-01 00:11:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1169028</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-02-28 13:17:22 -0800</bug_when>
    <thetext>This will make us more consistent with the specification and is necessary for proxies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169339</commentid>
    <comment_count>1</comment_count>
      <attachid>272537</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-02-29 18:59:44 -0800</bug_when>
    <thetext>Created attachment 272537
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169340</commentid>
    <comment_count>2</comment_count>
      <attachid>272537</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2016-02-29 19:01:29 -0800</bug_when>
    <thetext>Comment on attachment 272537
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169342</commentid>
    <comment_count>3</comment_count>
      <attachid>272538</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-02-29 19:19:53 -0800</bug_when>
    <thetext>Created attachment 272538
patch

it should build now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1169385</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-03-01 00:11:50 -0800</bug_when>
    <thetext>landed in:
http://trac.webkit.org/changeset/197391</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272537</attachid>
            <date>2016-02-29 18:59:44 -0800</date>
            <delta_ts>2016-02-29 19:19:53 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>14901</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk3MzgwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBA
CisyMDE2LTAyLTI5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFtbUHJldmVudEV4dGVuc2lvbnNdXSBzaG91bGQgYmUgYSB2aXJ0dWFsIG1ldGhvZCBpbiB0aGUg
bWV0aG9kIHRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU0ODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBtYWtlcyB1cyBtb3JlIGNvbnNpc3RlbnQgd2l0aCBob3cgdGhlIEVTNiBzcGVj
aWZpY2F0aW9uIG1vZGVscyB0aGUKKyAgICAgICAgW1tQcmV2ZW50RXh0ZW5zaW9uc11dIHRyYXAu
IE1vdmluZyB0aGlzIG1ldGhvZCBpbnRvIENsYXNzSW5mbzo6bWV0aG9kVGFibGUgCisgICAgICAg
IGlzIGEgcHJlcmVxdWlzaXRlIGZvciBpbXBsZW1lbnRpbmcgUHJveHkuW1tQcmV2ZW50RXh0ZW5z
aW9uc11dLgorCisgICAgICAgICogcnVudGltZS9DbGFzc0luZm8uaDoKKyAgICAgICAgKiBydW50
aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6Z2V0R2VuZXJpY1Byb3BlcnR5
TmFtZXMpOgorICAgICAgICAoSlNDOjpKU0NlbGw6OnByZXZlbnRFeHRlbnNpb25zKToKKyAgICAg
ICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNNb2R1bGVOYW1lc3Bh
Y2VPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6SlNN
b2R1bGVOYW1lc3BhY2VPYmplY3QpOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9i
amVjdDo6ZGVzdHJveSk6CisgICAgICAgICogcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVj
dC5oOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6Y3JlYXRlKToKKyAg
ICAgICAgKEpTQzo6SlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q6Om1vZHVsZVJlY29yZCk6CisgICAg
ICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpmcmVl
emUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHJldmVudEV4dGVuc2lvbnMpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBy
dW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojppc1NlYWxlZCk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0Ojppc0Zyb3plbik6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
Ojppc0V4dGVuc2libGUpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3RvclNlYWwpOgorICAgICAgICAoSlNDOjpv
YmplY3RDb25zdHJ1Y3RvckZyZWV6ZSk6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVjdG9y
UHJldmVudEV4dGVuc2lvbnMpOgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3RvcklzU2Vh
bGVkKToKKyAgICAgICAgKiBydW50aW1lL1JlZmxlY3RPYmplY3QuY3BwOgorICAgICAgICAoSlND
OjpyZWZsZWN0T2JqZWN0UHJldmVudEV4dGVuc2lvbnMpOgorICAgICAgICAqIHJ1bnRpbWUvU3Ry
dWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpTdHJ1Y3R1cmUpOgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OnByZXZlbnRFeHRlbnNpb25zVHJhbnNpdGlvbik6CisgICAgICAg
ICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKwogMjAxNi0wMi0yOSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbREZHXVtGVExdW0IzXSBTdXBwb3J0IGZs
b29yIGFuZCBjZWlsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0lu
Zm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0lu
Zm8uaAkocmV2aXNpb24gMTk3Mzc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q2xhc3NJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw2ICsxMDMsOSBAQCBzdHJ1Y3QgTWV0
aG9kVGFibGUgewogICAgIHR5cGVkZWYgUGFzc1JlZlB0cjxBcnJheUJ1ZmZlclZpZXc+ICgqR2V0
VHlwZWRBcnJheUltcGwpKEpTQXJyYXlCdWZmZXJWaWV3Kik7CiAgICAgR2V0VHlwZWRBcnJheUlt
cGwgZ2V0VHlwZWRBcnJheUltcGw7CiAKKyAgICB0eXBlZGVmIGJvb2wgKCpQcmV2ZW50RXh0ZW5z
aW9uc0Z1bmN0aW9uUHRyKShKU09iamVjdCosIEV4ZWNTdGF0ZSopOworICAgIFByZXZlbnRFeHRl
bnNpb25zRnVuY3Rpb25QdHIgcHJldmVudEV4dGVuc2lvbnM7CisKICAgICB0eXBlZGVmIHZvaWQg
KCpEdW1wVG9TdHJlYW1GdW5jdGlvblB0cikoY29uc3QgSlNDZWxsKiwgUHJpbnRTdHJlYW0mKTsK
ICAgICBEdW1wVG9TdHJlYW1GdW5jdGlvblB0ciBkdW1wVG9TdHJlYW07CiAKQEAgLTE1NCw2ICsx
NTcsNyBAQCBzdHJ1Y3QgTWV0aG9kVGFibGUgewogICAgICAgICAmQ2xhc3NOYW1lOjpkZWZpbmVP
d25Qcm9wZXJ0eSwgXAogICAgICAgICAmQ2xhc3NOYW1lOjpzbG93RG93bkFuZFdhc3RlTWVtb3J5
LCBcCiAgICAgICAgICZDbGFzc05hbWU6OmdldFR5cGVkQXJyYXlJbXBsLCBcCisgICAgICAgICZD
bGFzc05hbWU6OnByZXZlbnRFeHRlbnNpb25zLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmR1bXBU
b1N0cmVhbSwgXAogICAgICAgICAmQ2xhc3NOYW1lOjplc3RpbWF0ZWRTaXplIFwKICAgICB9LCBc
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAJKHJldmlzaW9u
IDE5NzM3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3MCw0ICsyNzAsOSBAQCB2b2lkIEpTQ2VsbDo6Z2V0R2VuZXJpY1By
b3BlcnR5TmFtZXMoSlNPCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAor
Ym9vbCBKU0NlbGw6OnByZXZlbnRFeHRlbnNpb25zKEpTT2JqZWN0KiwgRXhlY1N0YXRlKikKK3sK
KyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBK
U0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCShyZXZpc2lvbiAx
OTczNzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMgdWludDMy
X3QgZ2V0RW51bWVyYWJsZUxlbmd0aChFeGVjU3RhdGUqLCBKU09iamVjdCopOwogICAgIHN0YXRp
YyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZ2V0U3RydWN0dXJlUHJvcGVydHlOYW1lcyhK
U09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2Rl
KTsKICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCB2b2lkIGdldEdlbmVyaWNQcm9w
ZXJ0eU5hbWVzKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVt
ZXJhdGlvbk1vZGUpOworICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIGJvb2wgcHJl
dmVudEV4dGVuc2lvbnMoSlNPYmplY3QqLCBFeGVjU3RhdGUqKTsKIAogICAgIHN0YXRpYyBTdHJp
bmcgY2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0Kik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIGJvb2wgY3VzdG9tSGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBKU1ZhbHVl
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNl
T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U01vZHVsZU5hbWVzcGFjZU9iamVjdC5jcHAJKHJldmlzaW9uIDE5NzM3OSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksOCArNDksOSBAQCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6SlNNb2R1
bGVOYW1lc3BhCiB7CiB9CiAKLXZvaWQgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNNb2R1bGVSZWNv
cmQqIG1vZHVsZVJlY29yZCwgY29uc3QgSWRlbnRpZmllclNldCYgZXhwb3J0cykKK3ZvaWQgSlNN
b2R1bGVOYW1lc3BhY2VPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwg
Y29uc3QgSWRlbnRpZmllclNldCYgZXhwb3J0cykKIHsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5m
bygpKSk7CiAKQEAgLTc4LDcgKzc5LDggQEAgdm9pZCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6
ZmluaXNoQ3JlYQogICAgIC8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21h
LTI2Mi82LjAvI3NlYy1tb2R1bGUtbmFtZXNwYWNlLWV4b3RpYy1vYmplY3RzLXNldHByb3RvdHlw
ZW9mLXYKICAgICAvLyBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIv
Ni4wLyNzZWMtbW9kdWxlLW5hbWVzcGFjZS1leG90aWMtb2JqZWN0cy1pc2V4dGVuc2libGUKICAg
ICAvLyBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMt
bW9kdWxlLW5hbWVzcGFjZS1leG90aWMtb2JqZWN0cy1wcmV2ZW50ZXh0ZW5zaW9ucwotICAgIHBy
ZXZlbnRFeHRlbnNpb25zKHZtKTsKKyAgICBtZXRob2RUYWJsZSh2bSktPnByZXZlbnRFeHRlbnNp
b25zKHRoaXMsIGV4ZWMpOworICAgIEFTU0VSVCghZXhlYy0+aGFkRXhjZXB0aW9uKCkpOwogfQog
CiB2b2lkIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3QuaAkocmV2aXNpb24gMTk3Mzc5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAt
NDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0
KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgY29uc3Qg
SWRlbnRpZmllclNldCYgZXhwb3J0cykKICAgICB7CiAgICAgICAgIEpTTW9kdWxlTmFtZXNwYWNl
T2JqZWN0KiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU01vZHVsZU5hbWVz
cGFjZU9iamVjdD4oZXhlYy0+dm0oKS5oZWFwKSkgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QoZXhl
Yy0+dm0oKSwgc3RydWN0dXJlKTsKLSAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihleGVj
LT52bSgpLCBnbG9iYWxPYmplY3QsIG1vZHVsZVJlY29yZCwgZXhwb3J0cyk7CisgICAgICAgIG9i
amVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBtb2R1bGVSZWNvcmQsIGV4
cG9ydHMpOwogICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgIH0KIApAQCAtNjIsNyArNjIsNyBA
QCBwdWJsaWM6CiAgICAgSlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCgpIHsgcmV0dXJuIG1f
bW9kdWxlUmVjb3JkLmdldCgpOyB9CiAKIHByb3RlY3RlZDoKLSAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU01vZHVsZVJlY29y
ZCosIGNvbnN0IElkZW50aWZpZXJTZXQmIGV4cG9ydHMpOworICAgIEpTX0VYUE9SVF9QUklWQVRF
IHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBKU01vZHVs
ZVJlY29yZCosIGNvbnN0IElkZW50aWZpZXJTZXQmIGV4cG9ydHMpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiAKIHByaXZh
dGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShy
ZXZpc2lvbiAxOTczNzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NzUsMTIgKzE2NzUsMTUgQEAgdm9pZCBKU09iamVj
dDo6ZnJlZXplKFZNJiB2bSkKICAgICBzZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVyZTo6ZnJlZXpl
VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSkpOwogfQogCi12b2lkIEpTT2JqZWN0OjpwcmV2
ZW50RXh0ZW5zaW9ucyhWTSYgdm0pCitib29sIEpTT2JqZWN0OjpwcmV2ZW50RXh0ZW5zaW9ucyhK
U09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgaWYgKCFpc0V4dGVuc2li
bGUoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZSh2
bSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6OnByZXZlbnRFeHRlbnNpb25zVHJh
bnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSkpOworICAgIGlmICghb2JqZWN0LT5pc0V4dGVuc2li
bGUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOwor
ICAgIG9iamVjdC0+ZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKHZtKTsKKyAgICBvYmplY3Qt
PnNldFN0cnVjdHVyZSh2bSwgU3RydWN0dXJlOjpwcmV2ZW50RXh0ZW5zaW9uc1RyYW5zaXRpb24o
dm0sIG9iamVjdC0+c3RydWN0dXJlKHZtKSkpOworICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lk
IEpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMoRXhlY1N0YXRlKiBleGVjKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAxOTcz
NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02MTQsNyArNjE0LDcgQEAgcHVibGljOgogCiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgdm9pZCBzZWFsKFZNJik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmcmVlemUoVk0m
KTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByZXZlbnRFeHRlbnNpb25zKFZNJik7Cisg
ICAgc3RhdGljIGJvb2wgcHJldmVudEV4dGVuc2lvbnMoSlNPYmplY3QqLCBFeGVjU3RhdGUqKTsK
ICAgICBib29sIGlzU2VhbGVkKFZNJiB2bSkgeyByZXR1cm4gc3RydWN0dXJlKHZtKS0+aXNTZWFs
ZWQodm0pOyB9CiAgICAgYm9vbCBpc0Zyb3plbihWTSYgdm0pIHsgcmV0dXJuIHN0cnVjdHVyZSh2
bSktPmlzRnJvemVuKHZtKTsgfQogICAgIGJvb2wgaXNFeHRlbnNpYmxlKCkgeyByZXR1cm4gc3Ry
dWN0dXJlKCktPmlzRXh0ZW5zaWJsZSgpOyB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwCShyZXZpc2lvbiAxOTczNzkp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTUxNiw3ICs1MTYsOSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIG9iamVjdENvbnN0CiAgICAgfQogCiAgICAgLy8gMy4gU2V0IHRoZSBbW0V4dGVuc2li
bGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBvZiBPIHRvIGZhbHNlLgotICAgIG9iamVjdC0+cHJldmVu
dEV4dGVuc2lvbnMoZXhlYy0+dm0oKSk7CisgICAgb2JqZWN0LT5tZXRob2RUYWJsZShleGVjLT52
bSgpKS0+cHJldmVudEV4dGVuc2lvbnMob2JqZWN0LCBleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFk
RXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsK
IAogICAgIC8vIDQuIFJldHVybiBPLgogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2JqKTsK
QEAgLTU1NCw3ICs1NTYsOSBAQCBKU09iamVjdCogb2JqZWN0Q29uc3RydWN0b3JGcmVlemUoRXhl
Y1N0CiAgICAgfQogCiAgICAgLy8gMy4gU2V0IHRoZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBw
cm9wZXJ0eSBvZiBPIHRvIGZhbHNlLgotICAgIG9iamVjdC0+cHJldmVudEV4dGVuc2lvbnMoZXhl
Yy0+dm0oKSk7CisgICAgb2JqZWN0LT5tZXRob2RUYWJsZShleGVjLT52bSgpKS0+cHJldmVudEV4
dGVuc2lvbnMob2JqZWN0LCBleGVjKTsKKyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisg
ICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgLy8gNC4gUmV0dXJuIE8uCiAgICAgcmV0dXJu
IG9iamVjdDsKQEAgLTU2NiwxNiArNTcwLDIwIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwgb2JqZWN0Q29uc3QKICAgICBKU1ZhbHVlIG9iaiA9IGV4ZWMtPmFyZ3VtZW50KDApOwogICAg
IGlmICghb2JqLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2Jq
KTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKG9iamVjdENvbnN0cnVjdG9yRnJlZXplKGV4
ZWMsIGFzT2JqZWN0KG9iaikpKTsKKyAgICBKU09iamVjdCogcmVzdWx0ID0gb2JqZWN0Q29uc3Ry
dWN0b3JGcmVlemUoZXhlYywgYXNPYmplY3Qob2JqKSk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7CisgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yUHJldmVudEV4dGVuc2lvbnMoRXhlY1N0YXRlKiBl
eGVjKQogewotICAgIEpTVmFsdWUgb2JqID0gZXhlYy0+YXJndW1lbnQoMCk7Ci0gICAgaWYgKCFv
YmouaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShvYmopOwotICAg
IGFzT2JqZWN0KG9iaiktPnByZXZlbnRFeHRlbnNpb25zKGV4ZWMtPnZtKCkpOwotICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUob2JqKTsKKyAgICBKU1ZhbHVlIGFyZ3VtZW50ID0gZXhlYy0+YXJn
dW1lbnQoMCk7CisgICAgaWYgKCFhcmd1bWVudC5pc09iamVjdCgpKQorICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGFyZ3VtZW50KTsKKyAgICBKU09iamVjdCogb2JqZWN0ID0gYXNPYmpl
Y3QoYXJndW1lbnQpOworICAgIG9iamVjdC0+bWV0aG9kVGFibGUoZXhlYy0+dm0oKSktPnByZXZl
bnRFeHRlbnNpb25zKG9iamVjdCwgZXhlYyk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShv
YmplY3QpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVj
dG9ySXNTZWFsZWQoRXhlY1N0YXRlKiBleGVjKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVmbGVjdE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5jcHAJKHJldmlzaW9uIDE5NzM3OSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmplY3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xODYsOCArMTg2LDExIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgcmVm
bGVjdE9iamUKICAgICBKU1ZhbHVlIHRhcmdldCA9IGV4ZWMtPmFyZ3VtZW50KDApOwogICAgIGlm
ICghdGFyZ2V0LmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhy
b3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJSZWZsZWN0LnByZXZlbnRFeHRlbnNpb25z
IHJlcXVpcmVzIHRoZSBmaXJzdCBhcmd1bWVudCBiZSBhbiBvYmplY3QiKSkpOwotICAgIGFzT2Jq
ZWN0KHRhcmdldCktPnByZXZlbnRFeHRlbnNpb25zKGV4ZWMtPnZtKCkpOwotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHRydWUpKTsKKyAgICBKU09iamVjdCogb2JqZWN0ID0g
YXNPYmplY3QodGFyZ2V0KTsKKyAgICBib29sIHJlc3VsdCA9IG9iamVjdC0+bWV0aG9kVGFibGUo
ZXhlYy0+dm0oKSktPnByZXZlbnRFeHRlbnNpb25zKG9iamVjdCwgZXhlYyk7CisgICAgaWYgKGV4
ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFs
dWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4ocmVzdWx0KSk7CiB9
CiAKIC8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3Nl
Yy1yZWZsZWN0LnNldHByb3RvdHlwZW9mCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDE5NzM3OSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMyw3ICsy
MDMsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIEpTR2xvYmFsT2JqCiAgICAgc2V0
SGFzUmVhZE9ubHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNsdWRpbmdQcm90byhjbGFzc0lu
Zm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVzKCkpOwogICAgIHNldEhhc05v
bkVudW1lcmFibGVQcm9wZXJ0aWVzKGZhbHNlKTsKICAgICBzZXRBdHRyaWJ1dGVzSW5QcmV2aW91
cygwKTsKLSAgICBzZXRQcmV2ZW50RXh0ZW5zaW9ucyhmYWxzZSk7CisgICAgc2V0UHJldmVudEV4
dGVuc2lvbnNCaXRmaWVsZChmYWxzZSk7CiAgICAgc2V0RGlkVHJhbnNpdGlvbihmYWxzZSk7CiAg
ICAgc2V0U3RhdGljRnVuY3Rpb25zUmVpZmllZChmYWxzZSk7CiAgICAgc2V0SGFzUmFyZURhdGEo
ZmFsc2UpOwpAQCAtMjM1LDcgKzIzNSw3IEBAIFN0cnVjdHVyZTo6U3RydWN0dXJlKFZNJiB2bSkK
ICAgICBzZXRIYXNSZWFkT25seU9yR2V0dGVyU2V0dGVyUHJvcGVydGllc0V4Y2x1ZGluZ1Byb3Rv
KG1fY2xhc3NJbmZvLT5oYXNTdGF0aWNTZXR0ZXJPclJlYWRvbmx5UHJvcGVydGllcygpKTsKICAg
ICBzZXRIYXNOb25FbnVtZXJhYmxlUHJvcGVydGllcyhmYWxzZSk7CiAgICAgc2V0QXR0cmlidXRl
c0luUHJldmlvdXMoMCk7Ci0gICAgc2V0UHJldmVudEV4dGVuc2lvbnMoZmFsc2UpOworICAgIHNl
dFByZXZlbnRFeHRlbnNpb25zQml0ZmllbGQoZmFsc2UpOwogICAgIHNldERpZFRyYW5zaXRpb24o
ZmFsc2UpOwogICAgIHNldFN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQoZmFsc2UpOwogICAgIHNldEhh
c1JhcmVEYXRhKGZhbHNlKTsKQEAgLTI2Niw3ICsyNjYsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVy
ZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgc2V0SGFzUmVhZE9ubHlPckdldHRlclNldHRlclBy
b3BlcnRpZXNFeGNsdWRpbmdQcm90byhwcmV2aW91cy0+aGFzUmVhZE9ubHlPckdldHRlclNldHRl
clByb3BlcnRpZXNFeGNsdWRpbmdQcm90bygpKTsKICAgICBzZXRIYXNOb25FbnVtZXJhYmxlUHJv
cGVydGllcyhwcmV2aW91cy0+aGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXMoKSk7CiAgICAgc2V0
QXR0cmlidXRlc0luUHJldmlvdXMoMCk7Ci0gICAgc2V0UHJldmVudEV4dGVuc2lvbnMocHJldmlv
dXMtPnByZXZlbnRFeHRlbnNpb25zKCkpOworICAgIHNldFByZXZlbnRFeHRlbnNpb25zQml0Zmll
bGQocHJldmlvdXMtPnByZXZlbnRFeHRlbnNpb25zQml0ZmllbGQoKSk7CiAgICAgc2V0RGlkVHJh
bnNpdGlvbih0cnVlKTsKICAgICBzZXRTdGF0aWNGdW5jdGlvbnNSZWlmaWVkKHByZXZpb3VzLT5z
dGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwogICAgIHNldEhhc1JhcmVEYXRhKGZhbHNlKTsKQEAg
LTYyNSw3ICs2MjUsNyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6cHJldmVudEV4dGVuc2lvbnNU
CiAgICAgc3RydWN0dXJlLT5tYXRlcmlhbGl6ZVByb3BlcnR5TWFwSWZOZWNlc3Nhcnkodm0sIGRl
ZmVyR0MpOwogICAgIHRyYW5zaXRpb24tPnByb3BlcnR5VGFibGUoKS5zZXQodm0sIHRyYW5zaXRp
b24sIHN0cnVjdHVyZS0+Y29weVByb3BlcnR5VGFibGVGb3JQaW5uaW5nKHZtKSk7CiAgICAgdHJh
bnNpdGlvbi0+bV9vZmZzZXQgPSBzdHJ1Y3R1cmUtPm1fb2Zmc2V0OwotICAgIHRyYW5zaXRpb24t
PnNldFByZXZlbnRFeHRlbnNpb25zKHRydWUpOworICAgIHRyYW5zaXRpb24tPnNldFByZXZlbnRF
eHRlbnNpb25zQml0ZmllbGQodHJ1ZSk7CiAgICAgdHJhbnNpdGlvbi0+cGluKCk7CiAKICAgICB0
cmFuc2l0aW9uLT5jaGVja09mZnNldENvbnNpc3RlbmN5KCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24gMTk3Mzc5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4
Myw3ICsxODMsNyBAQCBwdWJsaWM6CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGlzU2Vh
bGVkKFZNJik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc0Zyb3plbihWTSYpOwotICAg
IGJvb2wgaXNFeHRlbnNpYmxlKCkgY29uc3QgeyByZXR1cm4gIXByZXZlbnRFeHRlbnNpb25zKCk7
IH0KKyAgICBib29sIGlzRXh0ZW5zaWJsZSgpIGNvbnN0IHsgcmV0dXJuICFwcmV2ZW50RXh0ZW5z
aW9uc0JpdGZpZWxkKCk7IH0KICAgICBib29sIHB1dFdpbGxHcm93T3V0T2ZMaW5lU3RvcmFnZSgp
OwogICAgIHNpemVfdCBzdWdnZXN0ZWROZXdPdXRPZkxpbmVTdG9yYWdlQ2FwYWNpdHkoKTsgCiAK
QEAgLTU3OSw3ICs1NzksNyBAQCBwdWJsaWM6CiAgICAgREVGSU5FX0JJVEZJRUxEKGJvb2wsIGhh
c1JlYWRPbmx5T3JHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzRXhjbHVkaW5nUHJvdG8sIEhhc1JlYWRP
bmx5T3JHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzRXhjbHVkaW5nUHJvdG8sIDEsIDQpOwogICAgIERF
RklORV9CSVRGSUVMRChib29sLCBoYXNOb25FbnVtZXJhYmxlUHJvcGVydGllcywgSGFzTm9uRW51
bWVyYWJsZVByb3BlcnRpZXMsIDEsIDUpOwogICAgIERFRklORV9CSVRGSUVMRCh1bnNpZ25lZCwg
YXR0cmlidXRlc0luUHJldmlvdXMsIEF0dHJpYnV0ZXNJblByZXZpb3VzLCAxNCwgNik7Ci0gICAg
REVGSU5FX0JJVEZJRUxEKGJvb2wsIHByZXZlbnRFeHRlbnNpb25zLCBQcmV2ZW50RXh0ZW5zaW9u
cywgMSwgMjApOworICAgIERFRklORV9CSVRGSUVMRChib29sLCBwcmV2ZW50RXh0ZW5zaW9uc0Jp
dGZpZWxkLCBQcmV2ZW50RXh0ZW5zaW9uc0JpdGZpZWxkLCAxLCAyMCk7CiAgICAgREVGSU5FX0JJ
VEZJRUxEKGJvb2wsIGRpZFRyYW5zaXRpb24sIERpZFRyYW5zaXRpb24sIDEsIDIxKTsKICAgICBE
RUZJTkVfQklURklFTEQoYm9vbCwgc3RhdGljRnVuY3Rpb25zUmVpZmllZCwgU3RhdGljRnVuY3Rp
b25zUmVpZmllZCwgMSwgMjIpOwogICAgIERFRklORV9CSVRGSUVMRChib29sLCBoYXNSYXJlRGF0
YSwgSGFzUmFyZURhdGEsIDEsIDIzKTsK
</data>
<flag name="review"
          id="297312"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>272538</attachid>
            <date>2016-02-29 19:19:53 -0800</date>
            <delta_ts>2016-02-29 19:19:53 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>14919</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTk3MzgwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ2IEBA
CisyMDE2LTAyLTI5ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFtbUHJldmVudEV4dGVuc2lvbnNdXSBzaG91bGQgYmUgYSB2aXJ0dWFsIG1ldGhvZCBpbiB0aGUg
bWV0aG9kIHRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU0ODAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyBtYWtlcyB1cyBtb3JlIGNvbnNpc3RlbnQgd2l0aCBob3cgdGhlIEVTNiBzcGVj
aWZpY2F0aW9uIG1vZGVscyB0aGUKKyAgICAgICAgW1tQcmV2ZW50RXh0ZW5zaW9uc11dIHRyYXAu
IE1vdmluZyB0aGlzIG1ldGhvZCBpbnRvIENsYXNzSW5mbzo6bWV0aG9kVGFibGUgCisgICAgICAg
IGlzIGEgcHJlcmVxdWlzaXRlIGZvciBpbXBsZW1lbnRpbmcgUHJveHkuW1tQcmV2ZW50RXh0ZW5z
aW9uc11dLgorCisgICAgICAgICogcnVudGltZS9DbGFzc0luZm8uaDoKKyAgICAgICAgKiBydW50
aW1lL0pTQ2VsbC5jcHA6CisgICAgICAgIChKU0M6OkpTQ2VsbDo6Z2V0R2VuZXJpY1Byb3BlcnR5
TmFtZXMpOgorICAgICAgICAoSlNDOjpKU0NlbGw6OnByZXZlbnRFeHRlbnNpb25zKToKKyAgICAg
ICAgKiBydW50aW1lL0pTQ2VsbC5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNNb2R1bGVOYW1lc3Bh
Y2VPYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6SlNN
b2R1bGVOYW1lc3BhY2VPYmplY3QpOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9i
amVjdDo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9i
amVjdDo6ZGVzdHJveSk6CisgICAgICAgICogcnVudGltZS9KU01vZHVsZU5hbWVzcGFjZU9iamVj
dC5oOgorICAgICAgICAoSlNDOjpKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6Y3JlYXRlKToKKyAg
ICAgICAgKEpTQzo6SlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q6Om1vZHVsZVJlY29yZCk6CisgICAg
ICAgICogcnVudGltZS9KU09iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTT2JqZWN0OjpmcmVl
emUpOgorICAgICAgICAoSlNDOjpKU09iamVjdDo6cHJldmVudEV4dGVuc2lvbnMpOgorICAgICAg
ICAoSlNDOjpKU09iamVjdDo6cmVpZnlBbGxTdGF0aWNQcm9wZXJ0aWVzKToKKyAgICAgICAgKiBy
dW50aW1lL0pTT2JqZWN0Lmg6CisgICAgICAgIChKU0M6OkpTT2JqZWN0Ojppc1NlYWxlZCk6Cisg
ICAgICAgIChKU0M6OkpTT2JqZWN0Ojppc0Zyb3plbik6CisgICAgICAgIChKU0M6OkpTT2JqZWN0
Ojppc0V4dGVuc2libGUpOgorICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3Bw
OgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3RvclNlYWwpOgorICAgICAgICAoSlNDOjpv
YmplY3RDb25zdHJ1Y3RvckZyZWV6ZSk6CisgICAgICAgIChKU0M6Om9iamVjdENvbnN0cnVjdG9y
UHJldmVudEV4dGVuc2lvbnMpOgorICAgICAgICAoSlNDOjpvYmplY3RDb25zdHJ1Y3RvcklzU2Vh
bGVkKToKKyAgICAgICAgKiBydW50aW1lL1JlZmxlY3RPYmplY3QuY3BwOgorICAgICAgICAoSlND
OjpyZWZsZWN0T2JqZWN0UHJldmVudEV4dGVuc2lvbnMpOgorICAgICAgICAqIHJ1bnRpbWUvU3Ry
dWN0dXJlLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlOjpTdHJ1Y3R1cmUpOgorICAgICAg
ICAoSlNDOjpTdHJ1Y3R1cmU6OnByZXZlbnRFeHRlbnNpb25zVHJhbnNpdGlvbik6CisgICAgICAg
ICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKwogMjAxNi0wMi0yOSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbREZHXVtGVExdW0IzXSBTdXBwb3J0IGZs
b29yIGFuZCBjZWlsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0lu
Zm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9DbGFzc0lu
Zm8uaAkocmV2aXNpb24gMTk3Mzc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
Q2xhc3NJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw2ICsxMDMsOSBAQCBzdHJ1Y3QgTWV0
aG9kVGFibGUgewogICAgIHR5cGVkZWYgUGFzc1JlZlB0cjxBcnJheUJ1ZmZlclZpZXc+ICgqR2V0
VHlwZWRBcnJheUltcGwpKEpTQXJyYXlCdWZmZXJWaWV3Kik7CiAgICAgR2V0VHlwZWRBcnJheUlt
cGwgZ2V0VHlwZWRBcnJheUltcGw7CiAKKyAgICB0eXBlZGVmIGJvb2wgKCpQcmV2ZW50RXh0ZW5z
aW9uc0Z1bmN0aW9uUHRyKShKU09iamVjdCosIEV4ZWNTdGF0ZSopOworICAgIFByZXZlbnRFeHRl
bnNpb25zRnVuY3Rpb25QdHIgcHJldmVudEV4dGVuc2lvbnM7CisKICAgICB0eXBlZGVmIHZvaWQg
KCpEdW1wVG9TdHJlYW1GdW5jdGlvblB0cikoY29uc3QgSlNDZWxsKiwgUHJpbnRTdHJlYW0mKTsK
ICAgICBEdW1wVG9TdHJlYW1GdW5jdGlvblB0ciBkdW1wVG9TdHJlYW07CiAKQEAgLTE1NCw2ICsx
NTcsNyBAQCBzdHJ1Y3QgTWV0aG9kVGFibGUgewogICAgICAgICAmQ2xhc3NOYW1lOjpkZWZpbmVP
d25Qcm9wZXJ0eSwgXAogICAgICAgICAmQ2xhc3NOYW1lOjpzbG93RG93bkFuZFdhc3RlTWVtb3J5
LCBcCiAgICAgICAgICZDbGFzc05hbWU6OmdldFR5cGVkQXJyYXlJbXBsLCBcCisgICAgICAgICZD
bGFzc05hbWU6OnByZXZlbnRFeHRlbnNpb25zLCBcCiAgICAgICAgICZDbGFzc05hbWU6OmR1bXBU
b1N0cmVhbSwgXAogICAgICAgICAmQ2xhc3NOYW1lOjplc3RpbWF0ZWRTaXplIFwKICAgICB9LCBc
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAJKHJldmlzaW9u
IDE5NzM3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3MCw0ICsyNzAsOSBAQCB2b2lkIEpTQ2VsbDo6Z2V0R2VuZXJpY1By
b3BlcnR5TmFtZXMoSlNPCiAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAor
Ym9vbCBKU0NlbGw6OnByZXZlbnRFeHRlbnNpb25zKEpTT2JqZWN0KiwgRXhlY1N0YXRlKikKK3sK
KyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBK
U0MKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQ2VsbC5oCShyZXZpc2lvbiAx
OTczNzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0NlbGwuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjA2LDYgKzIwNiw3IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMgdWludDMy
X3QgZ2V0RW51bWVyYWJsZUxlbmd0aChFeGVjU3RhdGUqLCBKU09iamVjdCopOwogICAgIHN0YXRp
YyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIHZvaWQgZ2V0U3RydWN0dXJlUHJvcGVydHlOYW1lcyhK
U09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZUFycmF5JiwgRW51bWVyYXRpb25Nb2Rl
KTsKICAgICBzdGF0aWMgTk9fUkVUVVJOX0RVRV9UT19DUkFTSCB2b2lkIGdldEdlbmVyaWNQcm9w
ZXJ0eU5hbWVzKEpTT2JqZWN0KiwgRXhlY1N0YXRlKiwgUHJvcGVydHlOYW1lQXJyYXkmLCBFbnVt
ZXJhdGlvbk1vZGUpOworICAgIHN0YXRpYyBOT19SRVRVUk5fRFVFX1RPX0NSQVNIIGJvb2wgcHJl
dmVudEV4dGVuc2lvbnMoSlNPYmplY3QqLCBFeGVjU3RhdGUqKTsKIAogICAgIHN0YXRpYyBTdHJp
bmcgY2xhc3NOYW1lKGNvbnN0IEpTT2JqZWN0Kik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3Rh
dGljIGJvb2wgY3VzdG9tSGFzSW5zdGFuY2UoSlNPYmplY3QqLCBFeGVjU3RhdGUqLCBKU1ZhbHVl
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNl
T2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U01vZHVsZU5hbWVzcGFjZU9iamVjdC5jcHAJKHJldmlzaW9uIDE5NzM3OSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDksOCArNDksOSBAQCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6SlNNb2R1
bGVOYW1lc3BhCiB7CiB9CiAKLXZvaWQgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNNb2R1bGVSZWNv
cmQqIG1vZHVsZVJlY29yZCwgY29uc3QgSWRlbnRpZmllclNldCYgZXhwb3J0cykKK3ZvaWQgSlNN
b2R1bGVOYW1lc3BhY2VPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwg
Y29uc3QgSWRlbnRpZmllclNldCYgZXhwb3J0cykKIHsKKyAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5m
bygpKSk7CiAKQEAgLTc4LDcgKzc5LDggQEAgdm9pZCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6
ZmluaXNoQ3JlYQogICAgIC8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21h
LTI2Mi82LjAvI3NlYy1tb2R1bGUtbmFtZXNwYWNlLWV4b3RpYy1vYmplY3RzLXNldHByb3RvdHlw
ZW9mLXYKICAgICAvLyBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIv
Ni4wLyNzZWMtbW9kdWxlLW5hbWVzcGFjZS1leG90aWMtb2JqZWN0cy1pc2V4dGVuc2libGUKICAg
ICAvLyBodHRwOi8vd3d3LmVjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMt
bW9kdWxlLW5hbWVzcGFjZS1leG90aWMtb2JqZWN0cy1wcmV2ZW50ZXh0ZW5zaW9ucwotICAgIHBy
ZXZlbnRFeHRlbnNpb25zKHZtKTsKKyAgICBtZXRob2RUYWJsZSh2bSktPnByZXZlbnRFeHRlbnNp
b25zKHRoaXMsIGV4ZWMpOworICAgIEFTU0VSVCghZXhlYy0+aGFkRXhjZXB0aW9uKCkpOwogfQog
CiB2b2lkIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0OjpkZXN0cm95KEpTQ2VsbCogY2VsbCkKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTTW9kdWxlTmFtZXNwYWNlT2JqZWN0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNNb2R1bGVO
YW1lc3BhY2VPYmplY3QuaAkocmV2aXNpb24gMTk3Mzc5KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAt
NDEsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0
KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCwgY29uc3Qg
SWRlbnRpZmllclNldCYgZXhwb3J0cykKICAgICB7CiAgICAgICAgIEpTTW9kdWxlTmFtZXNwYWNl
T2JqZWN0KiBvYmplY3QgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxKU01vZHVsZU5hbWVz
cGFjZU9iamVjdD4oZXhlYy0+dm0oKS5oZWFwKSkgSlNNb2R1bGVOYW1lc3BhY2VPYmplY3QoZXhl
Yy0+dm0oKSwgc3RydWN0dXJlKTsKLSAgICAgICAgb2JqZWN0LT5maW5pc2hDcmVhdGlvbihleGVj
LT52bSgpLCBnbG9iYWxPYmplY3QsIG1vZHVsZVJlY29yZCwgZXhwb3J0cyk7CisgICAgICAgIG9i
amVjdC0+ZmluaXNoQ3JlYXRpb24oZXhlYywgZ2xvYmFsT2JqZWN0LCBtb2R1bGVSZWNvcmQsIGV4
cG9ydHMpOwogICAgICAgICByZXR1cm4gb2JqZWN0OwogICAgIH0KIApAQCAtNjIsNyArNjIsNyBA
QCBwdWJsaWM6CiAgICAgSlNNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCgpIHsgcmV0dXJuIG1f
bW9kdWxlUmVjb3JkLmdldCgpOyB9CiAKIHByb3RlY3RlZDoKLSAgICBKU19FWFBPUlRfUFJJVkFU
RSB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU01vZHVsZVJlY29y
ZCosIGNvbnN0IElkZW50aWZpZXJTZXQmIGV4cG9ydHMpOworICAgIEpTX0VYUE9SVF9QUklWQVRF
IHZvaWQgZmluaXNoQ3JlYXRpb24oRXhlY1N0YXRlKiwgSlNHbG9iYWxPYmplY3QqLCBKU01vZHVs
ZVJlY29yZCosIGNvbnN0IElkZW50aWZpZXJTZXQmIGV4cG9ydHMpOwogICAgIEpTX0VYUE9SVF9Q
UklWQVRFIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0KFZNJiwgU3RydWN0dXJlKik7CiAKIHByaXZh
dGU6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuY3BwCShy
ZXZpc2lvbiAxOTczNzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVj
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2NzUsMTIgKzE2NzUsMTUgQEAgdm9pZCBKU09iamVj
dDo6ZnJlZXplKFZNJiB2bSkKICAgICBzZXRTdHJ1Y3R1cmUodm0sIFN0cnVjdHVyZTo6ZnJlZXpl
VHJhbnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSkpOwogfQogCi12b2lkIEpTT2JqZWN0OjpwcmV2
ZW50RXh0ZW5zaW9ucyhWTSYgdm0pCitib29sIEpTT2JqZWN0OjpwcmV2ZW50RXh0ZW5zaW9ucyhK
U09iamVjdCogb2JqZWN0LCBFeGVjU3RhdGUqIGV4ZWMpCiB7Ci0gICAgaWYgKCFpc0V4dGVuc2li
bGUoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGVudGVyRGljdGlvbmFyeUluZGV4aW5nTW9kZSh2
bSk7Ci0gICAgc2V0U3RydWN0dXJlKHZtLCBTdHJ1Y3R1cmU6OnByZXZlbnRFeHRlbnNpb25zVHJh
bnNpdGlvbih2bSwgc3RydWN0dXJlKHZtKSkpOworICAgIGlmICghb2JqZWN0LT5pc0V4dGVuc2li
bGUoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBWTSYgdm0gPSBleGVjLT52bSgpOwor
ICAgIG9iamVjdC0+ZW50ZXJEaWN0aW9uYXJ5SW5kZXhpbmdNb2RlKHZtKTsKKyAgICBvYmplY3Qt
PnNldFN0cnVjdHVyZSh2bSwgU3RydWN0dXJlOjpwcmV2ZW50RXh0ZW5zaW9uc1RyYW5zaXRpb24o
dm0sIG9iamVjdC0+c3RydWN0dXJlKHZtKSkpOworICAgIHJldHVybiB0cnVlOwogfQogCiB2b2lk
IEpTT2JqZWN0OjpyZWlmeUFsbFN0YXRpY1Byb3BlcnRpZXMoRXhlY1N0YXRlKiBleGVjKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCShyZXZpc2lvbiAxOTcz
NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02MTQsNyArNjE0LDcgQEAgcHVibGljOgogCiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgdm9pZCBzZWFsKFZNJik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBmcmVlemUoVk0m
KTsKLSAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByZXZlbnRFeHRlbnNpb25zKFZNJik7Cisg
ICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGljIGJvb2wgcHJldmVudEV4dGVuc2lvbnMoSlNPYmpl
Y3QqLCBFeGVjU3RhdGUqKTsKICAgICBib29sIGlzU2VhbGVkKFZNJiB2bSkgeyByZXR1cm4gc3Ry
dWN0dXJlKHZtKS0+aXNTZWFsZWQodm0pOyB9CiAgICAgYm9vbCBpc0Zyb3plbihWTSYgdm0pIHsg
cmV0dXJuIHN0cnVjdHVyZSh2bSktPmlzRnJvemVuKHZtKTsgfQogICAgIGJvb2wgaXNFeHRlbnNp
YmxlKCkgeyByZXR1cm4gc3RydWN0dXJlKCktPmlzRXh0ZW5zaWJsZSgpOyB9CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1Y3Rvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3Bw
CShyZXZpc2lvbiAxOTczNzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmpl
Y3RDb25zdHJ1Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxNiw3ICs1MTYsOSBAQCBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0CiAgICAgfQogCiAgICAgLy8gMy4g
U2V0IHRoZSBbW0V4dGVuc2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBvZiBPIHRvIGZhbHNlLgot
ICAgIG9iamVjdC0+cHJldmVudEV4dGVuc2lvbnMoZXhlYy0+dm0oKSk7CisgICAgb2JqZWN0LT5t
ZXRob2RUYWJsZShleGVjLT52bSgpKS0+cHJldmVudEV4dGVuc2lvbnMob2JqZWN0LCBleGVjKTsK
KyAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoSlNWYWx1ZSgpKTsKIAogICAgIC8vIDQuIFJldHVybiBPLgogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUob2JqKTsKQEAgLTU1NCw3ICs1NTYsOSBAQCBKU09iamVjdCogb2JqZWN0Q29u
c3RydWN0b3JGcmVlemUoRXhlY1N0CiAgICAgfQogCiAgICAgLy8gMy4gU2V0IHRoZSBbW0V4dGVu
c2libGVdXSBpbnRlcm5hbCBwcm9wZXJ0eSBvZiBPIHRvIGZhbHNlLgotICAgIG9iamVjdC0+cHJl
dmVudEV4dGVuc2lvbnMoZXhlYy0+dm0oKSk7CisgICAgb2JqZWN0LT5tZXRob2RUYWJsZShleGVj
LT52bSgpKS0+cHJldmVudEV4dGVuc2lvbnMob2JqZWN0LCBleGVjKTsKKyAgICBpZiAoZXhlYy0+
aGFkRXhjZXB0aW9uKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgLy8gNC4gUmV0
dXJuIE8uCiAgICAgcmV0dXJuIG9iamVjdDsKQEAgLTU2NiwxNiArNTcwLDIwIEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0Q29uc3QKICAgICBKU1ZhbHVlIG9iaiA9IGV4ZWMt
PmFyZ3VtZW50KDApOwogICAgIGlmICghb2JqLmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUob2JqKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKG9iamVjdENv
bnN0cnVjdG9yRnJlZXplKGV4ZWMsIGFzT2JqZWN0KG9iaikpKTsKKyAgICBKU09iamVjdCogcmVz
dWx0ID0gb2JqZWN0Q29uc3RydWN0b3JGcmVlemUoZXhlYywgYXNPYmplY3Qob2JqKSk7CisgICAg
aWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCiBF
bmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdENvbnN0cnVjdG9yUHJldmVudEV4dGVu
c2lvbnMoRXhlY1N0YXRlKiBleGVjKQogewotICAgIEpTVmFsdWUgb2JqID0gZXhlYy0+YXJndW1l
bnQoMCk7Ci0gICAgaWYgKCFvYmouaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShvYmopOwotICAgIGFzT2JqZWN0KG9iaiktPnByZXZlbnRFeHRlbnNpb25zKGV4ZWMt
PnZtKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUob2JqKTsKKyAgICBKU1ZhbHVlIGFy
Z3VtZW50ID0gZXhlYy0+YXJndW1lbnQoMCk7CisgICAgaWYgKCFhcmd1bWVudC5pc09iamVjdCgp
KQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFyZ3VtZW50KTsKKyAgICBKU09iamVj
dCogb2JqZWN0ID0gYXNPYmplY3QoYXJndW1lbnQpOworICAgIG9iamVjdC0+bWV0aG9kVGFibGUo
ZXhlYy0+dm0oKSktPnByZXZlbnRFeHRlbnNpb25zKG9iamVjdCwgZXhlYyk7CisgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShvYmplY3QpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIG9iamVjdENvbnN0cnVjdG9ySXNTZWFsZWQoRXhlY1N0YXRlKiBleGVjKQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVmbGVjdE9iamVjdC5jcHAJKHJldmlz
aW9uIDE5NzM3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZmxlY3RPYmpl
Y3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODYsOCArMTg2LDExIEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgcmVmbGVjdE9iamUKICAgICBKU1ZhbHVlIHRhcmdldCA9IGV4ZWMtPmFy
Z3VtZW50KDApOwogICAgIGlmICghdGFyZ2V0LmlzT2JqZWN0KCkpCiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJSZWZsZWN0
LnByZXZlbnRFeHRlbnNpb25zIHJlcXVpcmVzIHRoZSBmaXJzdCBhcmd1bWVudCBiZSBhbiBvYmpl
Y3QiKSkpOwotICAgIGFzT2JqZWN0KHRhcmdldCktPnByZXZlbnRFeHRlbnNpb25zKGV4ZWMtPnZt
KCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKHRydWUpKTsKKyAgICBK
U09iamVjdCogb2JqZWN0ID0gYXNPYmplY3QodGFyZ2V0KTsKKyAgICBib29sIHJlc3VsdCA9IG9i
amVjdC0+bWV0aG9kVGFibGUoZXhlYy0+dm0oKSktPnByZXZlbnRFeHRlbnNpb25zKG9iamVjdCwg
ZXhlYyk7CisgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQorICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jv
b2xlYW4ocmVzdWx0KSk7CiB9CiAKIC8vIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9y
Zy9lY21hLTI2Mi82LjAvI3NlYy1yZWZsZWN0LnNldHByb3RvdHlwZW9mCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHJldmlzaW9uIDE5NzM3OSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIwMyw3ICsyMDMsNyBAQCBTdHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIEpT
R2xvYmFsT2JqCiAgICAgc2V0SGFzUmVhZE9ubHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNs
dWRpbmdQcm90byhjbGFzc0luZm8tPmhhc1N0YXRpY1NldHRlck9yUmVhZG9ubHlQcm9wZXJ0aWVz
KCkpOwogICAgIHNldEhhc05vbkVudW1lcmFibGVQcm9wZXJ0aWVzKGZhbHNlKTsKICAgICBzZXRB
dHRyaWJ1dGVzSW5QcmV2aW91cygwKTsKLSAgICBzZXRQcmV2ZW50RXh0ZW5zaW9ucyhmYWxzZSk7
CisgICAgc2V0UHJldmVudEV4dGVuc2lvbnNCaXRmaWVsZChmYWxzZSk7CiAgICAgc2V0RGlkVHJh
bnNpdGlvbihmYWxzZSk7CiAgICAgc2V0U3RhdGljRnVuY3Rpb25zUmVpZmllZChmYWxzZSk7CiAg
ICAgc2V0SGFzUmFyZURhdGEoZmFsc2UpOwpAQCAtMjM1LDcgKzIzNSw3IEBAIFN0cnVjdHVyZTo6
U3RydWN0dXJlKFZNJiB2bSkKICAgICBzZXRIYXNSZWFkT25seU9yR2V0dGVyU2V0dGVyUHJvcGVy
dGllc0V4Y2x1ZGluZ1Byb3RvKG1fY2xhc3NJbmZvLT5oYXNTdGF0aWNTZXR0ZXJPclJlYWRvbmx5
UHJvcGVydGllcygpKTsKICAgICBzZXRIYXNOb25FbnVtZXJhYmxlUHJvcGVydGllcyhmYWxzZSk7
CiAgICAgc2V0QXR0cmlidXRlc0luUHJldmlvdXMoMCk7Ci0gICAgc2V0UHJldmVudEV4dGVuc2lv
bnMoZmFsc2UpOworICAgIHNldFByZXZlbnRFeHRlbnNpb25zQml0ZmllbGQoZmFsc2UpOwogICAg
IHNldERpZFRyYW5zaXRpb24oZmFsc2UpOwogICAgIHNldFN0YXRpY0Z1bmN0aW9uc1JlaWZpZWQo
ZmFsc2UpOwogICAgIHNldEhhc1JhcmVEYXRhKGZhbHNlKTsKQEAgLTI2Niw3ICsyNjYsNyBAQCBT
dHJ1Y3R1cmU6OlN0cnVjdHVyZShWTSYgdm0sIFN0cnVjdHVyZSogCiAgICAgc2V0SGFzUmVhZE9u
bHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNsdWRpbmdQcm90byhwcmV2aW91cy0+aGFzUmVh
ZE9ubHlPckdldHRlclNldHRlclByb3BlcnRpZXNFeGNsdWRpbmdQcm90bygpKTsKICAgICBzZXRI
YXNOb25FbnVtZXJhYmxlUHJvcGVydGllcyhwcmV2aW91cy0+aGFzTm9uRW51bWVyYWJsZVByb3Bl
cnRpZXMoKSk7CiAgICAgc2V0QXR0cmlidXRlc0luUHJldmlvdXMoMCk7Ci0gICAgc2V0UHJldmVu
dEV4dGVuc2lvbnMocHJldmlvdXMtPnByZXZlbnRFeHRlbnNpb25zKCkpOworICAgIHNldFByZXZl
bnRFeHRlbnNpb25zQml0ZmllbGQocHJldmlvdXMtPnByZXZlbnRFeHRlbnNpb25zQml0ZmllbGQo
KSk7CiAgICAgc2V0RGlkVHJhbnNpdGlvbih0cnVlKTsKICAgICBzZXRTdGF0aWNGdW5jdGlvbnNS
ZWlmaWVkKHByZXZpb3VzLT5zdGF0aWNGdW5jdGlvbnNSZWlmaWVkKCkpOwogICAgIHNldEhhc1Jh
cmVEYXRhKGZhbHNlKTsKQEAgLTYyNSw3ICs2MjUsNyBAQCBTdHJ1Y3R1cmUqIFN0cnVjdHVyZTo6
cHJldmVudEV4dGVuc2lvbnNUCiAgICAgc3RydWN0dXJlLT5tYXRlcmlhbGl6ZVByb3BlcnR5TWFw
SWZOZWNlc3Nhcnkodm0sIGRlZmVyR0MpOwogICAgIHRyYW5zaXRpb24tPnByb3BlcnR5VGFibGUo
KS5zZXQodm0sIHRyYW5zaXRpb24sIHN0cnVjdHVyZS0+Y29weVByb3BlcnR5VGFibGVGb3JQaW5u
aW5nKHZtKSk7CiAgICAgdHJhbnNpdGlvbi0+bV9vZmZzZXQgPSBzdHJ1Y3R1cmUtPm1fb2Zmc2V0
OwotICAgIHRyYW5zaXRpb24tPnNldFByZXZlbnRFeHRlbnNpb25zKHRydWUpOworICAgIHRyYW5z
aXRpb24tPnNldFByZXZlbnRFeHRlbnNpb25zQml0ZmllbGQodHJ1ZSk7CiAgICAgdHJhbnNpdGlv
bi0+cGluKCk7CiAKICAgICB0cmFuc2l0aW9uLT5jaGVja09mZnNldENvbnNpc3RlbmN5KCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAkocmV2aXNpb24g
MTk3Mzc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE4Myw3ICsxODMsNyBAQCBwdWJsaWM6CiAKICAgICBKU19FWFBPUlRf
UFJJVkFURSBib29sIGlzU2VhbGVkKFZNJik7CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgYm9vbCBp
c0Zyb3plbihWTSYpOwotICAgIGJvb2wgaXNFeHRlbnNpYmxlKCkgY29uc3QgeyByZXR1cm4gIXBy
ZXZlbnRFeHRlbnNpb25zKCk7IH0KKyAgICBib29sIGlzRXh0ZW5zaWJsZSgpIGNvbnN0IHsgcmV0
dXJuICFwcmV2ZW50RXh0ZW5zaW9uc0JpdGZpZWxkKCk7IH0KICAgICBib29sIHB1dFdpbGxHcm93
T3V0T2ZMaW5lU3RvcmFnZSgpOwogICAgIHNpemVfdCBzdWdnZXN0ZWROZXdPdXRPZkxpbmVTdG9y
YWdlQ2FwYWNpdHkoKTsgCiAKQEAgLTU3OSw3ICs1NzksNyBAQCBwdWJsaWM6CiAgICAgREVGSU5F
X0JJVEZJRUxEKGJvb2wsIGhhc1JlYWRPbmx5T3JHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzRXhjbHVk
aW5nUHJvdG8sIEhhc1JlYWRPbmx5T3JHZXR0ZXJTZXR0ZXJQcm9wZXJ0aWVzRXhjbHVkaW5nUHJv
dG8sIDEsIDQpOwogICAgIERFRklORV9CSVRGSUVMRChib29sLCBoYXNOb25FbnVtZXJhYmxlUHJv
cGVydGllcywgSGFzTm9uRW51bWVyYWJsZVByb3BlcnRpZXMsIDEsIDUpOwogICAgIERFRklORV9C
SVRGSUVMRCh1bnNpZ25lZCwgYXR0cmlidXRlc0luUHJldmlvdXMsIEF0dHJpYnV0ZXNJblByZXZp
b3VzLCAxNCwgNik7Ci0gICAgREVGSU5FX0JJVEZJRUxEKGJvb2wsIHByZXZlbnRFeHRlbnNpb25z
LCBQcmV2ZW50RXh0ZW5zaW9ucywgMSwgMjApOworICAgIERFRklORV9CSVRGSUVMRChib29sLCBw
cmV2ZW50RXh0ZW5zaW9uc0JpdGZpZWxkLCBQcmV2ZW50RXh0ZW5zaW9uc0JpdGZpZWxkLCAxLCAy
MCk7CiAgICAgREVGSU5FX0JJVEZJRUxEKGJvb2wsIGRpZFRyYW5zaXRpb24sIERpZFRyYW5zaXRp
b24sIDEsIDIxKTsKICAgICBERUZJTkVfQklURklFTEQoYm9vbCwgc3RhdGljRnVuY3Rpb25zUmVp
ZmllZCwgU3RhdGljRnVuY3Rpb25zUmVpZmllZCwgMSwgMjIpOwogICAgIERFRklORV9CSVRGSUVM
RChib29sLCBoYXNSYXJlRGF0YSwgSGFzUmFyZURhdGEsIDEsIDIzKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>