<?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>195449</bug_id>
          
          <creation_ts>2019-03-07 19:21:37 -0800</creation_ts>
          <short_desc>[JSC] Make more fields lazy in JSGlobalObject</short_desc>
          <delta_ts>2019-03-07 22:18:24 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1513882</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-07 19:21:37 -0800</bug_when>
    <thetext>[JSC] Make more fields lazy in JSGlobalObject</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513883</commentid>
    <comment_count>1</comment_count>
      <attachid>363974</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-07 19:25:19 -0800</bug_when>
    <thetext>Created attachment 363974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513894</commentid>
    <comment_count>2</comment_count>
      <attachid>363974</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-07 20:05:54 -0800</bug_when>
    <thetext>Comment on attachment 363974
Patch

Oops, crashing. Investigating...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513897</commentid>
    <comment_count>3</comment_count>
      <attachid>363979</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-07 20:26:04 -0800</bug_when>
    <thetext>Created attachment 363979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513910</commentid>
    <comment_count>4</comment_count>
      <attachid>363979</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-03-07 21:14:06 -0800</bug_when>
    <thetext>Comment on attachment 363979
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=363979&amp;action=review

r=me

&gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:317
&gt; +  eval                  JSGlobalObject::m_evalFunction               DontEnum|CellProperty

Should you group this with the other CellPropertys below?  This list isn&apos;t in alphabetical order anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513912</commentid>
    <comment_count>5</comment_count>
      <attachid>363979</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-07 21:15:09 -0800</bug_when>
    <thetext>Comment on attachment 363979
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=363979&amp;action=review

&gt;&gt; Source/JavaScriptCore/runtime/JSGlobalObject.cpp:317
&gt;&gt; +  eval                  JSGlobalObject::m_evalFunction               DontEnum|CellProperty
&gt; 
&gt; Should you group this with the other CellPropertys below?  This list isn&apos;t in alphabetical order anyway.

OK, fixed :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513921</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-03-07 22:17:39 -0800</bug_when>
    <thetext>Committed r242636: &lt;https://trac.webkit.org/changeset/242636&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513922</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-07 22:18:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/48702977&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363974</attachid>
            <date>2019-03-07 19:25:19 -0800</date>
            <delta_ts>2019-03-07 20:26:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195449-20190307192518.patch</filename>
            <type>text/plain</type>
            <size>29299</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
YTc1Nzk3MDVhNTY4Y2I2ZWE1NmVhYjUyYjRmNmI3NmM5MzZiOGIwLi5kNzI5OWU2MjFiNzAxYTRl
ODc2YWMyMzkyNDA3NTgyMGNlMDJhMDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOCBAQAorMjAxOS0wMy0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE1ha2UgbW9yZSBmaWVsZHMgbGF6eSBpbiBKU0dsb2JhbE9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NDQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBtYWtlcyBtb3JlIGZpZWxkcyBsYXp5LWFsbG9jYXRlZCBpbiBKU0dsb2JhbE9iamVjdCB0
byBzYXZlIG1lbW9yeS4KKworICAgICAgICAxLiBTb21lIG1pbm9yIHN0cnVjdHVyZXMgbGlrZSBt
b2R1bGVSZWNvcmRTdHJ1Y3R1cmUuCisgICAgICAgIDIuIFNvbWUgZnVuY3Rpb25zIGxpa2UgcGFy
c2VJbnQgLyBwYXJzZUZsb2F0LiBXaGlsZSB0aGV5IGFyZSBlYWdlcmx5IGNyZWF0ZWQgaW4gSklU
IG1vZGUgYW55d2F5IHRvIG1hdGVyaWFsaXplIE51bWJlckNvbnN0cnVjdG9yLCB3ZSBjYW4gbGF6
aWx5IGFsbG9jYXRlIHRoZW0gaW4gbm9uIEpJVCBtb2RlLgorICAgICAgICAzLiBBcnJheUJ1ZmZl
ciBjb25zdHJ1Y3Rvci4gV2hpbGUgaXQgaXMgZWFnZXJseSBhbGxvY2F0ZWQgaW4gV2ViQ29yZSwg
d2UgY2FuIG1ha2UgbGF6aWx5IGFsbG9jYXRlZCBpbiBKU0MuCisKKyAgICAgICAgKiBydW50aW1l
L0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaDoKKyAgICAgICAgKiBydW50aW1lL0pTR2xvYmFsT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQpOgorICAgICAgICAo
SlNDOjpKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgICogcnVudGltZS9K
U0dsb2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6cGFyc2VJbnRG
dW5jdGlvbiBjb25zdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjpwYXJzZUZsb2F0
RnVuY3Rpb24gY29uc3QpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6ZXZhbEZ1bmN0
aW9uIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OnN0cmljdEV2YWxBY3Rp
dmF0aW9uU3RydWN0dXJlIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6Om1v
ZHVsZVJlY29yZFN0cnVjdHVyZSBjb25zdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0
Ojptb2R1bGVOYW1lc3BhY2VPYmplY3RTdHJ1Y3R1cmUgY29uc3QpOgorICAgICAgICAoSlNDOjpK
U0dsb2JhbE9iamVjdDo6cHJveHlPYmplY3RTdHJ1Y3R1cmUgY29uc3QpOgorICAgICAgICAoSlND
OjpKU0dsb2JhbE9iamVjdDo6Y2FsbGFibGVQcm94eU9iamVjdFN0cnVjdHVyZSBjb25zdCk6Cisg
ICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojpwcm94eVJldm9rZVN0cnVjdHVyZSBjb25zdCk6
CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjphcnJheUJ1ZmZlckNvbnN0cnVjdG9yIGNv
bnN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5QnVmZmVyUHJvdG90eXBl
IGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6OmFycmF5QnVmZmVyU3RydWN0
dXJlIGNvbnN0KToKKyAgICAgICAgKiB3YXNtL2pzL0pTV2ViQXNzZW1ibHlNZW1vcnkuY3BwOgor
ICAgICAgICAoSlNDOjpKU1dlYkFzc2VtYmx5TWVtb3J5OjpidWZmZXIpOgorICAgICAgICAqIHdh
c20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5jcHA6CisgICAgICAgIChKU0M6Ondl
YkFzc2VtYmx5TW9kdWxlQ3VzdG9tU2VjdGlvbnMpOgorCiAyMDE5LTAzLTA3ICBNYXJrIExhbSAg
PG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBGb2xsb3cgdXAgcmVmYWN0b3JpbmcgaW4g
dHJ5LWZpbmFsbHkgY29kZSBhZnRlciByMjQyNTkxLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGJmNThlNWQ3ODZh
ZGVlNjQ2YWE1NDFjZTgxN2ZlMWVlMDg2MmQ5OGMuLjVkMmUxMWQ3MTlhMTgxMDA4NGEyNDAwZjA3
ZmVhYmVjMTJiOThlZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxOS0wMy0wNyAg
WXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgorCisgICAgICAgIFtKU0NdIE1ha2Ug
bW9yZSBmaWVsZHMgbGF6eSBpbiBKU0dsb2JhbE9iamVjdAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NDQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGFycmF5QnVmZmVyQ29uc3RydWN0b3IoKSBz
aW5jZSBnZXREaXJlY3QgZG9lcyBub3Qgd29yayB3aXRoIGxhenkgcHJvcGVydHkuCisKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpKU0RPTUdsb2JhbE9iamVjdDo6YWRkQnVpbHRpbkdsb2JhbHMpOgorCiAyMDE5LTAzLTA3ICBK
b2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ugc3VyZSBh
biBlbXB0eSBob3N0IG1hdGNoZXMgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uICJudWxsT3Jp
Z2luIiBpbiBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbjo6bWF0Y2hlcygpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBlLmgK
aW5kZXggNDU1MGJmODc3MTdlZGFhMjY2MjBhZTUzMDc1OWM1NGYwNzRlMGViYy4uYzYyMTc4MWIx
MTM0ZGFlZmFkMzFkNDI4NTMyZGQwZjBmNzNiMTEyMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaApAQCAtMzgsNyAr
MzgsNyBAQCBjbGFzcyBKU0FycmF5QnVmZmVyUHJvdG90eXBlIGZpbmFsIDogcHVibGljIEpTTm9u
RmluYWxPYmplY3QgewogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVj
dCopOwogCiBwdWJsaWM6Ci0gICAgc3RhdGljIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIGNyZWF0
ZShWTSYsIEpTR2xvYmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgQXJyYXlCdWZmZXJTaGFyaW5nTW9k
ZSk7CisgICAgc3RhdGljIEpTQXJyYXlCdWZmZXJQcm90b3R5cGUqIGNyZWF0ZShWTSYsIEpTR2xv
YmFsT2JqZWN0KiwgU3RydWN0dXJlKiwgQXJyYXlCdWZmZXJTaGFyaW5nTW9kZSA9IEFycmF5QnVm
ZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQpOwogICAgIAogICAgIERFQ0xBUkVfSU5GTzsKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApp
bmRleCBlZWFjMzg1M2RhODJiODY2N2YyNTkzODdkY2M3MTY1ZWI4MWQ2ZGU1Li5mMWY4N2MwYmU2
OGU3OGYzOWYxNTE5OWFkNzZhNjEyZmE2N2MzZjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCkBAIC0zMTQsMTIgKzMxNCwxNiBAQCBj
b25zdCBHbG9iYWxPYmplY3RNZXRob2RUYWJsZSBKU0dsb2JhbE9iamVjdDo6c19nbG9iYWxPYmpl
Y3RNZXRob2RUYWJsZSA9IHsKICAgaXNOYU4gICAgICAgICAgICAgICAgIEpTQnVpbHRpbiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgaXNG
aW5pdGUgICAgICAgICAgICAgIEpTQnVpbHRpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgZXNjYXBlICAgICAgICAgICAgICAgIGdsb2Jh
bEZ1bmNFc2NhcGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9u
IDEKKyAgZXZhbCAgICAgICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX2V2YWxGdW5jdGlv
biAgICAgICAgICAgICAgIERvbnRFbnVtfENlbGxQcm9wZXJ0eQogICB1bmVzY2FwZSAgICAgICAg
ICAgICAgZ2xvYmFsRnVuY1VuZXNjYXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgRG9udEVu
dW18RnVuY3Rpb24gMQogICBkZWNvZGVVUkkgICAgICAgICAgICAgZ2xvYmFsRnVuY0RlY29kZVVS
SSAgICAgICAgICAgICAgICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gMQogICBkZWNvZGVV
UklDb21wb25lbnQgICAgZ2xvYmFsRnVuY0RlY29kZVVSSUNvbXBvbmVudCAgICAgICAgICAgICAg
ICAgRG9udEVudW18RnVuY3Rpb24gMQogICBlbmNvZGVVUkkgICAgICAgICAgICAgZ2xvYmFsRnVu
Y0VuY29kZVVSSSAgICAgICAgICAgICAgICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gMQog
ICBlbmNvZGVVUklDb21wb25lbnQgICAgZ2xvYmFsRnVuY0VuY29kZVVSSUNvbXBvbmVudCAgICAg
ICAgICAgICAgICAgRG9udEVudW18RnVuY3Rpb24gMQogICBnbG9iYWxUaGlzICAgICAgICAgICAg
SlNHbG9iYWxPYmplY3Q6Om1fZ2xvYmFsVGhpcyAgICAgICAgICAgICAgICAgRG9udEVudW18Q2Vs
bFByb3BlcnR5CisgIHBhcnNlSW50ICAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV9wYXJz
ZUludEZ1bmN0aW9uICAgICAgICAgICBEb250RW51bXxDZWxsUHJvcGVydHkKKyAgcGFyc2VGbG9h
dCAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX3BhcnNlRmxvYXRGdW5jdGlvbiAgICAgICAg
IERvbnRFbnVtfENlbGxQcm9wZXJ0eQorICBBcnJheUJ1ZmZlciAgICAgICAgICAgSlNHbG9iYWxP
YmplY3Q6Om1fYXJyYXlCdWZmZXJTdHJ1Y3R1cmUgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1
cmUKICAgRXZhbEVycm9yICAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX2V2YWxFcnJvclN0
cnVjdHVyZSAgICAgICAgIERvbnRFbnVtfENsYXNzU3RydWN0dXJlCiAgIFJhbmdlRXJyb3IgICAg
ICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV9yYW5nZUVycm9yU3RydWN0dXJlICAgICAgICBEb250
RW51bXxDbGFzc1N0cnVjdHVyZQogICBSZWZlcmVuY2VFcnJvciAgICAgICAgSlNHbG9iYWxPYmpl
Y3Q6Om1fcmVmZXJlbmNlRXJyb3JTdHJ1Y3R1cmUgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUK
QEAgLTU3MCw3ICs1NzQsMTAgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAg
ICAgICAgIFtdIChjb25zdCBJbml0aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CiAgICAgICAg
ICAgICBpbml0LnNldChKU01vZHVsZUVudmlyb25tZW50OjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52
bSwgaW5pdC5vd25lcikpOwogICAgICAgICB9KTsKLSAgICBtX3N0cmljdEV2YWxBY3RpdmF0aW9u
U3RydWN0dXJlLnNldCh2bSwgdGhpcywgU3RyaWN0RXZhbEFjdGl2YXRpb246OmNyZWF0ZVN0cnVj
dHVyZSh2bSwgdGhpcywganNOdWxsKCkpKTsKKyAgICBtX3N0cmljdEV2YWxBY3RpdmF0aW9uU3Ry
dWN0dXJlLmluaXRMYXRlcigKKyAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVjdHVy
ZT4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KFN0cmljdEV2YWxBY3RpdmF0aW9uOjpj
cmVhdGVTdHJ1Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwganNOdWxsKCkpKTsKKyAgICAgICAg
fSk7CiAgICAgbV9kZWJ1Z2dlclNjb3BlU3RydWN0dXJlLmluaXRMYXRlcigKICAgICAgICAgW10g
KGNvbnN0IEluaXRpYWxpemVyPFN0cnVjdHVyZT4mIGluaXQpIHsKICAgICAgICAgICAgIGluaXQu
c2V0KERlYnVnZ2VyU2NvcGU6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBpbml0Lm93bmVyKSk7
CkBAIC02MzcsMjMgKzY0NCwzOCBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojppbml0KFZNJiB2bSkK
ICAgICBtX3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIGNyZWF0ZVJl
Z0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZSh2bSwgdGhpcykpOwogICAgIG1fcmVnRXhwTWF0Y2hl
c0FycmF5V2l0aEdyb3Vwc1N0cnVjdHVyZS5zZXQodm0sIHRoaXMsIGNyZWF0ZVJlZ0V4cE1hdGNo
ZXNBcnJheVdpdGhHcm91cHNTdHJ1Y3R1cmUodm0sIHRoaXMpKTsKIAotICAgIG1fbW9kdWxlUmVj
b3JkU3RydWN0dXJlLnNldCh2bSwgdGhpcywgSlNNb2R1bGVSZWNvcmQ6OmNyZWF0ZVN0cnVjdHVy
ZSh2bSwgdGhpcywganNOdWxsKCkpKTsKLSAgICBtX21vZHVsZU5hbWVzcGFjZU9iamVjdFN0cnVj
dHVyZS5zZXQodm0sIHRoaXMsIEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0OjpjcmVhdGVTdHJ1Y3R1
cmUodm0sIHRoaXMsIGpzTnVsbCgpKSk7Ci0gICAgewotICAgICAgICBib29sIGlzQ2FsbGFibGUg
PSBmYWxzZTsKLSAgICAgICAgbV9wcm94eU9iamVjdFN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFBy
b3h5T2JqZWN0OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIGpzTnVsbCgpLCBpc0NhbGxhYmxl
KSk7Ci0gICAgICAgIGlzQ2FsbGFibGUgPSB0cnVlOwotICAgICAgICBtX2NhbGxhYmxlUHJveHlP
YmplY3RTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBQcm94eU9iamVjdDo6Y3JlYXRlU3RydWN0dXJl
KHZtLCB0aGlzLCBqc051bGwoKSwgaXNDYWxsYWJsZSkpOwotICAgIH0KLSAgICBtX3Byb3h5UmV2
b2tlU3RydWN0dXJlLnNldCh2bSwgdGhpcywgUHJveHlSZXZva2U6OmNyZWF0ZVN0cnVjdHVyZSh2
bSwgdGhpcywgbV9mdW5jdGlvblByb3RvdHlwZS5nZXQoKSkpOworICAgIG1fbW9kdWxlUmVjb3Jk
U3RydWN0dXJlLmluaXRMYXRlcigKKyAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVj
dHVyZT4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTTW9kdWxlUmVjb3JkOjpjcmVh
dGVTdHJ1Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwganNOdWxsKCkpKTsKKyAgICAgICAgfSk7
CisgICAgbV9tb2R1bGVOYW1lc3BhY2VPYmplY3RTdHJ1Y3R1cmUuaW5pdExhdGVyKAorICAgICAg
ICBbXSAoY29uc3QgSW5pdGlhbGl6ZXI8U3RydWN0dXJlPiYgaW5pdCkgeworICAgICAgICAgICAg
aW5pdC5zZXQoSlNNb2R1bGVOYW1lc3BhY2VPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZt
LCBpbml0Lm93bmVyLCBqc051bGwoKSkpOworICAgICAgICB9KTsKKyAgICBtX3Byb3h5T2JqZWN0
U3RydWN0dXJlLmluaXRMYXRlcigKKyAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVj
dHVyZT4mIGluaXQpIHsKKyAgICAgICAgICAgIGJvb2wgaXNDYWxsYWJsZSA9IGZhbHNlOworICAg
ICAgICAgICAgaW5pdC5zZXQoUHJveHlPYmplY3Q6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBp
bml0Lm93bmVyLCBqc051bGwoKSwgaXNDYWxsYWJsZSkpOworICAgICAgICB9KTsKKyAgICBtX2Nh
bGxhYmxlUHJveHlPYmplY3RTdHJ1Y3R1cmUuaW5pdExhdGVyKAorICAgICAgICBbXSAoY29uc3Qg
SW5pdGlhbGl6ZXI8U3RydWN0dXJlPiYgaW5pdCkgeworICAgICAgICAgICAgYm9vbCBpc0NhbGxh
YmxlID0gdHJ1ZTsKKyAgICAgICAgICAgIGluaXQuc2V0KFByb3h5T2JqZWN0OjpjcmVhdGVTdHJ1
Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwganNOdWxsKCksIGlzQ2FsbGFibGUpKTsKKyAgICAg
ICAgfSk7CisgICAgbV9wcm94eVJldm9rZVN0cnVjdHVyZS5pbml0TGF0ZXIoCisgICAgICAgIFtd
IChjb25zdCBJbml0aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CisgICAgICAgICAgICBpbml0
LnNldChQcm94eVJldm9rZTo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0sIGluaXQub3duZXIsIGlu
aXQub3duZXItPm1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyAgICAgICAgfSk7CiAKLSAg
ICBtX3BhcnNlSW50RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0s
IHRoaXMsIDIsIHZtLnByb3BlcnR5TmFtZXMtPnBhcnNlSW50LnN0cmluZygpLCBnbG9iYWxGdW5j
UGFyc2VJbnQsIFBhcnNlSW50SW50cmluc2ljKSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnBhcnNlSW50LCBtX3BhcnNlSW50RnVuY3Rpb24u
Z2V0KCksIHN0YXRpY19jYXN0PHVuc2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
KTsKLSAgICBtX3BhcnNlRmxvYXRGdW5jdGlvbi5zZXQodm0sIHRoaXMsIEpTRnVuY3Rpb246OmNy
ZWF0ZSh2bSwgdGhpcywgMSwgdm0ucHJvcGVydHlOYW1lcy0+cGFyc2VGbG9hdC5zdHJpbmcoKSwg
Z2xvYmFsRnVuY1BhcnNlRmxvYXQsIE5vSW50cmluc2ljKSk7Ci0gICAgcHV0RGlyZWN0V2l0aG91
dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPnBhcnNlRmxvYXQsIG1fcGFyc2VGbG9h
dEZ1bmN0aW9uLmdldCgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKSk7CisgICAgbV9wYXJzZUludEZ1bmN0aW9uLmluaXRMYXRlcigKKyAgICAgICAg
W10gKGNvbnN0IEluaXRpYWxpemVyPEpTRnVuY3Rpb24+JiBpbml0KSB7CisgICAgICAgICAgICBp
bml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwgaW5pdC5vd25lciwgMiwgaW5pdC52
bS5wcm9wZXJ0eU5hbWVzLT5wYXJzZUludC5zdHJpbmcoKSwgZ2xvYmFsRnVuY1BhcnNlSW50LCBQ
YXJzZUludEludHJpbnNpYykpOworICAgICAgICB9KTsKKyAgICBtX3BhcnNlRmxvYXRGdW5jdGlv
bi5pbml0TGF0ZXIoCisgICAgICAgIFtdIChjb25zdCBJbml0aWFsaXplcjxKU0Z1bmN0aW9uPiYg
aW5pdCkgeworICAgICAgICAgICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0s
IGluaXQub3duZXIsIDEsIGluaXQudm0ucHJvcGVydHlOYW1lcy0+cGFyc2VGbG9hdC5zdHJpbmco
KSwgZ2xvYmFsRnVuY1BhcnNlRmxvYXQsIE5vSW50cmluc2ljKSk7CisgICAgICAgIH0pOwogICAg
IAotICAgIG1fYXJyYXlCdWZmZXJQcm90b3R5cGUuc2V0KHZtLCB0aGlzLCBKU0FycmF5QnVmZmVy
UHJvdG90eXBlOjpjcmVhdGUodm0sIHRoaXMsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGU6OmNyZWF0
ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpLCBBcnJheUJ1ZmZl
clNoYXJpbmdNb2RlOjpEZWZhdWx0KSk7Ci0gICAgbV9hcnJheUJ1ZmZlclN0cnVjdHVyZS5zZXQo
dm0sIHRoaXMsIEpTQXJyYXlCdWZmZXI6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9hcnJh
eUJ1ZmZlclByb3RvdHlwZS5nZXQoKSkpOwogI2lmIEVOQUJMRShTSEFSRURfQVJSQVlfQlVGRkVS
KQogICAgIG1fc2hhcmVkQXJyYXlCdWZmZXJQcm90b3R5cGUuc2V0KHZtLCB0aGlzLCBKU0FycmF5
QnVmZmVyUHJvdG90eXBlOjpjcmVhdGUodm0sIHRoaXMsIEpTQXJyYXlCdWZmZXJQcm90b3R5cGU6
OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9vYmplY3RQcm90b3R5cGUuZ2V0KCkpLCBBcnJh
eUJ1ZmZlclNoYXJpbmdNb2RlOjpTaGFyZWQpKTsKICAgICBtX3NoYXJlZEFycmF5QnVmZmVyU3Ry
dWN0dXJlLnNldCh2bSwgdGhpcywgSlNBcnJheUJ1ZmZlcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0
aGlzLCBtX3NoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlLmdldCgpKSk7CkBAIC03MDcsOSArNzI5
LDYgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6aW5pdChWTSYgdm0pCiAgICAgUmVnRXhwQ29uc3Ry
dWN0b3IqIHJlZ0V4cENvbnN0cnVjdG9yID0gUmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwg
UmVnRXhwQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblBy
b3RvdHlwZS5nZXQoKSksIG1fcmVnRXhwUHJvdG90eXBlLmdldCgpLCBtX3NwZWNpZXNHZXR0ZXJT
ZXR0ZXIuZ2V0KCkpOwogICAgIG1fcmVnRXhwR2xvYmFsRGF0YS5jYWNoZWRSZXN1bHQoKS5yZWNv
cmQodm0sIHRoaXMsIG51bGxwdHIsIGpzRW1wdHlTdHJpbmcoJnZtKSwgTWF0Y2hSZXN1bHQoMCwg
MCkpOwogICAgIAotICAgIEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3RvciogYXJyYXlCdWZmZXJDb25z
dHJ1Y3RvciA9IEpTQXJyYXlCdWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlKHZtLCBKU0FycmF5QnVm
ZmVyQ29uc3RydWN0b3I6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywgbV9mdW5jdGlvblByb3Rv
dHlwZS5nZXQoKSksIG1fYXJyYXlCdWZmZXJQcm90b3R5cGUuZ2V0KCksIG1fc3BlY2llc0dldHRl
clNldHRlci5nZXQoKSk7Ci0gICAgbV9hcnJheUJ1ZmZlclByb3RvdHlwZS0+cHV0RGlyZWN0V2l0
aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBhcnJheUJ1
ZmZlckNvbnN0cnVjdG9yLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKSk7Ci0KICNpZiBFTkFCTEUoU0hBUkVEX0FSUkFZX0JVRkZFUikKICAgICBKU1No
YXJlZEFycmF5QnVmZmVyQ29uc3RydWN0b3IqIHNoYXJlZEFycmF5QnVmZmVyQ29uc3RydWN0b3Ig
PSBudWxscHRyOwogICAgIHNoYXJlZEFycmF5QnVmZmVyQ29uc3RydWN0b3IgPSBKU1NoYXJlZEFy
cmF5QnVmZmVyQ29uc3RydWN0b3I6OmNyZWF0ZSh2bSwgSlNTaGFyZWRBcnJheUJ1ZmZlckNvbnN0
cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0
KCkpLCBtX3NoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlLmdldCgpLCBtX3NwZWNpZXNHZXR0ZXJT
ZXR0ZXIuZ2V0KCkpOwpAQCAtNzkzLDcgKzgxMiw2IEBAIG1fICMjIGxvd2VyTmFtZSAjIyBQcm90
b3R5cGUtPnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5j
CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1
aWx0aW5OYW1lcygpLk9iamVjdFByaXZhdGVOYW1lKCksIG9iamVjdENvbnN0cnVjdG9yLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0gfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8
IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSk7CiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5z
aXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLkFycmF5UHJpdmF0ZU5h
bWUoKSwgYXJyYXlDb25zdHJ1Y3RvciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJv
cGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkp
OwogCi0gICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMt
PkFycmF5QnVmZmVyLCBhcnJheUJ1ZmZlckNvbnN0cnVjdG9yLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiAjaWYgRU5BQkxFKFNIQVJFRF9BUlJB
WV9CVUZGRVIpCiAgICAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5
TmFtZXMtPlNoYXJlZEFycmF5QnVmZmVyLCBzaGFyZWRBcnJheUJ1ZmZlckNvbnN0cnVjdG9yLCBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CiAgICAg
cHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcoZXhl
YywgIkF0b21pY3MiKSwgYXRvbWljc09iamVjdCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSkpOwpAQCAtODA5LDggKzgyNywxMCBAQCBwdXREaXJlY3RX
aXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJvcGVydHlOYW1lcy0+IGpzTmFtZSwgbG93ZXJOYW1l
ICMjIENvbnN0cnVjdAogI3VuZGVmIFBVVF9DT05TVFJVQ1RPUl9GT1JfU0lNUExFX1RZUEUKICAg
ICBtX2l0ZXJhdG9yUmVzdWx0T2JqZWN0U3RydWN0dXJlLnNldCh2bSwgdGhpcywgY3JlYXRlSXRl
cmF0b3JSZXN1bHRPYmplY3RTdHJ1Y3R1cmUodm0sICp0aGlzKSk7CiAgICAgCi0gICAgbV9ldmFs
RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBKU0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIHZt
LnByb3BlcnR5TmFtZXMtPmV2YWwuc3RyaW5nKCksIGdsb2JhbEZ1bmNFdmFsKSk7Ci0gICAgcHV0
RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPmV2YWwsIG1fZXZh
bEZ1bmN0aW9uLmdldCgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtKSk7CisgICAgbV9ldmFsRnVuY3Rpb24uaW5pdExhdGVyKAorICAgICAgICBbXSAo
Y29uc3QgSW5pdGlhbGl6ZXI8SlNGdW5jdGlvbj4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQu
c2V0KEpTRnVuY3Rpb246OmNyZWF0ZShpbml0LnZtLCBpbml0Lm93bmVyLCAxLCBpbml0LnZtLnBy
b3BlcnR5TmFtZXMtPmV2YWwuc3RyaW5nKCksIGdsb2JhbEZ1bmNFdmFsLCBOb0ludHJpbnNpYykp
OworICAgICAgICB9KTsKICAgICAKICNpZiBFTkFCTEUoSU5UTCkKICAgICBtX2NvbGxhdG9yU3Ry
dWN0dXJlLmluaXRMYXRlcigKQEAgLTE2MTAsMTQgKzE2MzAsMTQgQEAgdm9pZCBKU0dsb2JhbE9i
amVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQog
ICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fbnVsbEdldHRlckZ1bmN0aW9uKTsKICAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX251bGxTZXR0ZXJGdW5jdGlvbik7CiAKLSAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3BhcnNlSW50RnVuY3Rpb24pOwotICAgIHZp
c2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcGFyc2VGbG9hdEZ1bmN0aW9uKTsKLSAgICB2aXNp
dG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2V2YWxGdW5jdGlvbik7CisgICAgdGhpc09iamVjdC0+
bV9wYXJzZUludEZ1bmN0aW9uLnZpc2l0KHZpc2l0b3IpOworICAgIHRoaXNPYmplY3QtPm1fcGFy
c2VGbG9hdEZ1bmN0aW9uLnZpc2l0KHZpc2l0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNP
YmplY3QtPm1fY2FsbEZ1bmN0aW9uKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5t
X2FwcGx5RnVuY3Rpb24pOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fdGhyb3dU
eXBlRXJyb3JGdW5jdGlvbik7CiAgICAgdGhpc09iamVjdC0+bV9hcnJheVByb3RvVG9TdHJpbmdG
dW5jdGlvbi52aXNpdCh2aXNpdG9yKTsKICAgICB0aGlzT2JqZWN0LT5tX2FycmF5UHJvdG9WYWx1
ZXNGdW5jdGlvbi52aXNpdCh2aXNpdG9yKTsKKyAgICB0aGlzT2JqZWN0LT5tX2V2YWxGdW5jdGlv
bi52aXNpdCh2aXNpdG9yKTsKICAgICB0aGlzT2JqZWN0LT5tX2luaXRpYWxpemVQcm9taXNlRnVu
Y3Rpb24udmlzaXQodmlzaXRvcik7CiAgICAgdGhpc09iamVjdC0+bV9pdGVyYXRvclByb3RvY29s
RnVuY3Rpb24udmlzaXQodmlzaXRvcik7CiAgICAgdGhpc09iamVjdC0+bV9wcm9taXNlUmVzb2x2
ZUZ1bmN0aW9uLnZpc2l0KHZpc2l0b3IpOwpAQCAtMTY0Miw3ICsxNjYyLDcgQEAgdm9pZCBKU0ds
b2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNp
dG9yKQogCiAgICAgdGhpc09iamVjdC0+bV9kZWJ1Z2dlclNjb3BlU3RydWN0dXJlLnZpc2l0KHZp
c2l0b3IpOwogICAgIHRoaXNPYmplY3QtPm1fd2l0aFNjb3BlU3RydWN0dXJlLnZpc2l0KHZpc2l0
b3IpOwotICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fc3RyaWN0RXZhbEFjdGl2YXRp
b25TdHJ1Y3R1cmUpOworICAgIHRoaXNPYmplY3QtPm1fc3RyaWN0RXZhbEFjdGl2YXRpb25TdHJ1
Y3R1cmUudmlzaXQodmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9s
ZXhpY2FsRW52aXJvbm1lbnRTdHJ1Y3R1cmUpOwogICAgIHRoaXNPYmplY3QtPm1fbW9kdWxlRW52
aXJvbm1lbnRTdHJ1Y3R1cmUudmlzaXQodmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQodGhp
c09iamVjdC0+bV9kaXJlY3RBcmd1bWVudHNTdHJ1Y3R1cmUpOwpAQCAtMTY4OCwxNCArMTcwOCwx
MiBAQCB2b2lkIEpTR2xvYmFsT2JqZWN0Ojp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xv
dFZpc2l0b3ImIHZpc2l0b3IpCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9pdGVy
YXRvclJlc3VsdE9iamVjdFN0cnVjdHVyZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVj
dC0+bV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRo
aXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5V2l0aEdyb3Vwc1N0cnVjdHVyZSk7Ci0gICAg
dmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9tb2R1bGVSZWNvcmRTdHJ1Y3R1cmUpOwotICAg
IHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0U3RydWN0
dXJlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3Byb3h5T2JqZWN0U3RydWN0
dXJlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhbGxhYmxlUHJveHlPYmpl
Y3RTdHJ1Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJveHlSZXZv
a2VTdHJ1Y3R1cmUpOworICAgIHRoaXNPYmplY3QtPm1fbW9kdWxlUmVjb3JkU3RydWN0dXJlLnZp
c2l0KHZpc2l0b3IpOworICAgIHRoaXNPYmplY3QtPm1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0U3Ry
dWN0dXJlLnZpc2l0KHZpc2l0b3IpOworICAgIHRoaXNPYmplY3QtPm1fcHJveHlPYmplY3RTdHJ1
Y3R1cmUudmlzaXQodmlzaXRvcik7CisgICAgdGhpc09iamVjdC0+bV9jYWxsYWJsZVByb3h5T2Jq
ZWN0U3RydWN0dXJlLnZpc2l0KHZpc2l0b3IpOworICAgIHRoaXNPYmplY3QtPm1fcHJveHlSZXZv
a2VTdHJ1Y3R1cmUudmlzaXQodmlzaXRvcik7CiAgICAgCi0gICAgdmlzaXRvci5hcHBlbmQodGhp
c09iamVjdC0+bV9hcnJheUJ1ZmZlclByb3RvdHlwZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQodGhp
c09iamVjdC0+bV9hcnJheUJ1ZmZlclN0cnVjdHVyZSk7CiAjaWYgRU5BQkxFKFNIQVJFRF9BUlJB
WV9CVUZGRVIpCiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaGFyZWRBcnJheUJ1
ZmZlclByb3RvdHlwZSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9zaGFyZWRB
cnJheUJ1ZmZlclN0cnVjdHVyZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0dsb2JhbE9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNHbG9iYWxPYmplY3QuaAppbmRleCBkMGE2NWQ1NjAyZDdiZDhjZjIxNTU4ZDU5YzFlMjRhMjcy
OGMxYjA4Li5hODU0OGU1M2M1ZTgzZjkwNDA0MTJjYmFiOGZmNWEzNzZjZTZjMWU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVjdC5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKQEAgLTE0Miw3
ICsxNDIsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBXYXRjaHBvaW50PiBjbGFzcyBPYmplY3RQcm9w
ZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludDsKICAgICBGT1JfRUFDSF9TSU1QTEVfQlVJTFRJ
Tl9UWVBFX1dJVEhfQ09OU1RSVUNUT1IobWFjcm8pIFwKICAgICBtYWNybyhKU0ludGVybmFsUHJv
bWlzZSwgaW50ZXJuYWxQcm9taXNlLCBpbnRlcm5hbFByb21pc2UsIEpTSW50ZXJuYWxQcm9taXNl
LCBJbnRlcm5hbFByb21pc2UsIG9iamVjdCkgXAogCi0jZGVmaW5lIEZPUl9FQUNIX0xBWllfQlVJ
TFRJTl9UWVBFKG1hY3JvKSBcCisjZGVmaW5lIEZPUl9FQUNIX0xBWllfQlVJTFRJTl9UWVBFX1dJ
VEhfREVDTEFSQVRJT04obWFjcm8pIFwKICAgICBtYWNybyhCb29sZWFuLCBib29sZWFuLCBib29s
ZWFuT2JqZWN0LCBCb29sZWFuT2JqZWN0LCBCb29sZWFuLCBvYmplY3QpIFwKICAgICBtYWNybyhE
YXRlLCBkYXRlLCBkYXRlLCBEYXRlSW5zdGFuY2UsIERhdGUsIG9iamVjdCkgXAogICAgIG1hY3Jv
KEVycm9yLCBlcnJvciwgZXJyb3IsIEVycm9ySW5zdGFuY2UsIEVycm9yLCBvYmplY3QpIFwKQEAg
LTE1MSw2ICsxNTEsMTAgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV2F0Y2hwb2ludD4gY2xhc3MgT2Jq
ZWN0UHJvcGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQ7CiAgICAgREVGSU5FX1NUQU5EQVJE
X0JVSUxUSU4obWFjcm8sIFdlYWtNYXAsIHdlYWtNYXApIFwKICAgICBERUZJTkVfU1RBTkRBUkRf
QlVJTFRJTihtYWNybywgV2Vha1NldCwgd2Vha1NldCkgXAogCisjZGVmaW5lIEZPUl9FQUNIX0xB
WllfQlVJTFRJTl9UWVBFKG1hY3JvKSBcCisgICAgRk9SX0VBQ0hfTEFaWV9CVUlMVElOX1RZUEVf
V0lUSF9ERUNMQVJBVElPTihtYWNybykgXAorICAgIG1hY3JvKEpTQXJyYXlCdWZmZXIsIGFycmF5
QnVmZmVyLCBhcnJheUJ1ZmZlciwgSlNBcnJheUJ1ZmZlciwgQXJyYXlCdWZmZXIsIG9iamVjdCkg
XAorCiAjaWYgRU5BQkxFKFdFQkFTU0VNQkxZKQogI2RlZmluZSBGT1JfRUFDSF9XRUJBU1NFTUJM
WV9DT05TVFJVQ1RPUl9UWVBFKG1hY3JvKSBcCiAgICAgbWFjcm8oV2ViQXNzZW1ibHlDb21waWxl
RXJyb3IsIHdlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCBXZWJBc3NlbWJseUNvbXBpbGVFcnJvciwg
V2ViQXNzZW1ibHlDb21waWxlRXJyb3IsIENvbXBpbGVFcnJvciwgZXJyb3IpIFwKQEAgLTE3Miw3
ICsxNzYsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBXYXRjaHBvaW50PiBjbGFzcyBPYmplY3RQcm9w
ZXJ0eUNoYW5nZUFkYXB0aXZlV2F0Y2hwb2ludDsKIGNsYXNzIEl0ZXJhdG9yUHJvdG90eXBlOwog
Rk9SX0VBQ0hfU0lNUExFX0JVSUxUSU5fVFlQRShERUNMQVJFX1NJTVBMRV9CVUlMVElOX1RZUEUp
CiBGT1JfQklHX0lOVF9CVUlMVElOX1RZUEVfV0lUSF9DT05TVFJVQ1RPUihERUNMQVJFX1NJTVBM
RV9CVUlMVElOX1RZUEUpCi1GT1JfRUFDSF9MQVpZX0JVSUxUSU5fVFlQRShERUNMQVJFX1NJTVBM
RV9CVUlMVElOX1RZUEUpCitGT1JfRUFDSF9MQVpZX0JVSUxUSU5fVFlQRV9XSVRIX0RFQ0xBUkFU
SU9OKERFQ0xBUkVfU0lNUExFX0JVSUxUSU5fVFlQRSkKIEZPUl9FQUNIX0JVSUxUSU5fREVSSVZF
RF9JVEVSQVRPUl9UWVBFKERFQ0xBUkVfU0lNUExFX0JVSUxUSU5fVFlQRSkKIEZPUl9FQUNIX1dF
QkFTU0VNQkxZX0NPTlNUUlVDVE9SX1RZUEUoREVDTEFSRV9TSU1QTEVfQlVJTFRJTl9UWVBFKQog
CkBAIC0yNjAsNyArMjY0LDYgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNTZWdt
ZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJyaWVyPEpTQ2FsbGVlPiBtX2dsb2Jh
bENhbGxlZTsKICAgICBXcml0ZUJhcnJpZXI8SlNDYWxsZWU+IG1fc3RhY2tPdmVyZmxvd0ZyYW1l
Q2FsbGVlOwogCi0gICAgV3JpdGVCYXJyaWVyPEVycm9yQ29uc3RydWN0b3I+IG1fZXJyb3JDb25z
dHJ1Y3RvcjsKICAgICBMYXp5Q2xhc3NTdHJ1Y3R1cmUgbV9ldmFsRXJyb3JTdHJ1Y3R1cmU7CiAg
ICAgTGF6eUNsYXNzU3RydWN0dXJlIG1fcmFuZ2VFcnJvclN0cnVjdHVyZTsKICAgICBMYXp5Q2xh
c3NTdHJ1Y3R1cmUgbV9yZWZlcmVuY2VFcnJvclN0cnVjdHVyZTsKQEAgLTI4MywxNSArMjg2LDE1
IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3QgewogICAgIFdyaXRlQmFycmllcjxOdWxsR2V0dGVyRnVuY3Rpb24+IG1fbnVsbEdldHRlckZ1
bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxOdWxsU2V0dGVyRnVuY3Rpb24+IG1fbnVsbFNldHRl
ckZ1bmN0aW9uOwogCi0gICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fcGFyc2VJbnRGdW5j
dGlvbjsKLSAgICBXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9wYXJzZUZsb2F0RnVuY3Rpb247
CisgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uPiBtX3BhcnNlSW50
RnVuY3Rpb247CisgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uPiBt
X3BhcnNlRmxvYXRGdW5jdGlvbjsKIAotICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2V2
YWxGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV9jYWxsRnVuY3Rpb247
CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fYXBwbHlGdW5jdGlvbjsKICAgICBXcml0
ZUJhcnJpZXI8SlNGdW5jdGlvbj4gbV90aHJvd1R5cGVFcnJvckZ1bmN0aW9uOwogICAgIExhenlQ
cm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgSlNGdW5jdGlvbj4gbV9hcnJheVByb3RvVG9TdHJpbmdG
dW5jdGlvbjsKICAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIEpTRnVuY3Rpb24+IG1f
YXJyYXlQcm90b1ZhbHVlc0Z1bmN0aW9uOworICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVj
dCwgSlNGdW5jdGlvbj4gbV9ldmFsRnVuY3Rpb247CiAgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFs
T2JqZWN0LCBKU0Z1bmN0aW9uPiBtX2luaXRpYWxpemVQcm9taXNlRnVuY3Rpb247CiAgICAgTGF6
eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBKU0Z1bmN0aW9uPiBtX2l0ZXJhdG9yUHJvdG9jb2xG
dW5jdGlvbjsKICAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIEpTRnVuY3Rpb24+IG1f
cHJvbWlzZVJlc29sdmVGdW5jdGlvbjsKQEAgLTMyMCw3ICszMjMsNyBAQCBjbGFzcyBKU0dsb2Jh
bE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKIAogICAgIExhenlQ
cm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX2RlYnVnZ2VyU2NvcGVTdHJ1Y3R1
cmU7CiAgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1fd2l0aFNj
b3BlU3RydWN0dXJlOwotICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc3RyaWN0RXZhbEFj
dGl2YXRpb25TdHJ1Y3R1cmU7CisgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1
Y3R1cmU+IG1fc3RyaWN0RXZhbEFjdGl2YXRpb25TdHJ1Y3R1cmU7CiAgICAgV3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT4gbV9sZXhpY2FsRW52aXJvbm1lbnRTdHJ1Y3R1cmU7CiAgICAgTGF6eVByb3Bl
cnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1fbW9kdWxlRW52aXJvbm1lbnRTdHJ1Y3R1
cmU7CiAgICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9kaXJlY3RBcmd1bWVudHNTdHJ1Y3R1
cmU7CkBAIC0zNzMsMTMgKzM3NiwxMSBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBK
U1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X2l0ZXJhdG9yUmVzdWx0T2JqZWN0U3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1
cmU+IG1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1
Y3R1cmU+IG1fcmVnRXhwTWF0Y2hlc0FycmF5V2l0aEdyb3Vwc1N0cnVjdHVyZTsKLSAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX21vZHVsZVJlY29yZFN0cnVjdHVyZTsKLSAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX21vZHVsZU5hbWVzcGFjZU9iamVjdFN0cnVjdHVyZTsKLSAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3Byb3h5T2JqZWN0U3RydWN0dXJlOwotICAgIFdyaXRl
QmFycmllcjxTdHJ1Y3R1cmU+IG1fY2FsbGFibGVQcm94eU9iamVjdFN0cnVjdHVyZTsKLSAgICBX
cml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3Byb3h5UmV2b2tlU3RydWN0dXJlOwotICAgIFdyaXRl
QmFycmllcjxKU0FycmF5QnVmZmVyUHJvdG90eXBlPiBtX2FycmF5QnVmZmVyUHJvdG90eXBlOwot
ICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fYXJyYXlCdWZmZXJTdHJ1Y3R1cmU7CisgICAg
TGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1fbW9kdWxlUmVjb3JkU3Ry
dWN0dXJlOworICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX21v
ZHVsZU5hbWVzcGFjZU9iamVjdFN0cnVjdHVyZTsKKyAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxP
YmplY3QsIFN0cnVjdHVyZT4gbV9wcm94eU9iamVjdFN0cnVjdHVyZTsKKyAgICBMYXp5UHJvcGVy
dHk8SlNHbG9iYWxPYmplY3QsIFN0cnVjdHVyZT4gbV9jYWxsYWJsZVByb3h5T2JqZWN0U3RydWN0
dXJlOworICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX3Byb3h5
UmV2b2tlU3RydWN0dXJlOwogI2lmIEVOQUJMRShTSEFSRURfQVJSQVlfQlVGRkVSKQogICAgIFdy
aXRlQmFycmllcjxKU0FycmF5QnVmZmVyUHJvdG90eXBlPiBtX3NoYXJlZEFycmF5QnVmZmVyUHJv
dG90eXBlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fc2hhcmVkQXJyYXlCdWZmZXJT
dHJ1Y3R1cmU7CkBAIC01OTMsMTAgKzU5NCwxMCBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1
YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKICAgICBOdWxsR2V0dGVyRnVuY3Rpb24q
IG51bGxHZXR0ZXJGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fbnVsbEdldHRlckZ1bmN0aW9u
LmdldCgpOyB9CiAgICAgTnVsbFNldHRlckZ1bmN0aW9uKiBudWxsU2V0dGVyRnVuY3Rpb24oKSBj
b25zdCB7IHJldHVybiBtX251bGxTZXR0ZXJGdW5jdGlvbi5nZXQoKTsgfQogCi0gICAgSlNGdW5j
dGlvbiogcGFyc2VJbnRGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcGFyc2VJbnRGdW5jdGlv
bi5nZXQoKTsgfQotICAgIEpTRnVuY3Rpb24qIHBhcnNlRmxvYXRGdW5jdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fcGFyc2VGbG9hdEZ1bmN0aW9uLmdldCgpOyB9CisgICAgSlNGdW5jdGlvbiogcGFy
c2VJbnRGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fcGFyc2VJbnRGdW5jdGlvbi5nZXQodGhp
cyk7IH0KKyAgICBKU0Z1bmN0aW9uKiBwYXJzZUZsb2F0RnVuY3Rpb24oKSBjb25zdCB7IHJldHVy
biBtX3BhcnNlRmxvYXRGdW5jdGlvbi5nZXQodGhpcyk7IH0KIAotICAgIEpTRnVuY3Rpb24qIGV2
YWxGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXZhbEZ1bmN0aW9uLmdldCgpOyB9CisgICAg
SlNGdW5jdGlvbiogZXZhbEZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9ldmFsRnVuY3Rpb24u
Z2V0KHRoaXMpOyB9CiAgICAgSlNGdW5jdGlvbiogY2FsbEZ1bmN0aW9uKCkgY29uc3QgeyByZXR1
cm4gbV9jYWxsRnVuY3Rpb24uZ2V0KCk7IH0KICAgICBKU0Z1bmN0aW9uKiBhcHBseUZ1bmN0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9hcHBseUZ1bmN0aW9uLmdldCgpOyB9CiAgICAgSlNGdW5jdGlv
biogdGhyb3dUeXBlRXJyb3JGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdGhyb3dUeXBlRXJy
b3JGdW5jdGlvbi5nZXQoKTsgfQpAQCAtNjQ1LDcgKzY0Niw3IEBAIGNsYXNzIEpTR2xvYmFsT2Jq
ZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogCiAgICAgU3RydWN0dXJl
KiBkZWJ1Z2dlclNjb3BlU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9kZWJ1Z2dlclNjb3Bl
U3RydWN0dXJlLmdldCh0aGlzKTsgfQogICAgIFN0cnVjdHVyZSogd2l0aFNjb3BlU3RydWN0dXJl
KCkgY29uc3QgeyByZXR1cm4gbV93aXRoU2NvcGVTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9Ci0gICAg
U3RydWN0dXJlKiBzdHJpY3RFdmFsQWN0aXZhdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3RyaWN0RXZhbEFjdGl2YXRpb25TdHJ1Y3R1cmUuZ2V0KCk7IH0KKyAgICBTdHJ1Y3R1cmUq
IHN0cmljdEV2YWxBY3RpdmF0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9zdHJpY3RF
dmFsQWN0aXZhdGlvblN0cnVjdHVyZS5nZXQodGhpcyk7IH0KICAgICBTdHJ1Y3R1cmUqIGFjdGl2
YXRpb25TdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2xleGljYWxFbnZpcm9ubWVudFN0cnVj
dHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogbW9kdWxlRW52aXJvbm1lbnRTdHJ1Y3R1cmUo
KSBjb25zdCB7IHJldHVybiBtX21vZHVsZUVudmlyb25tZW50U3RydWN0dXJlLmdldCh0aGlzKTsg
fQogICAgIFN0cnVjdHVyZSogZGlyZWN0QXJndW1lbnRzU3RydWN0dXJlKCkgY29uc3QgeyByZXR1
cm4gbV9kaXJlY3RBcmd1bWVudHNTdHJ1Y3R1cmUuZ2V0KCk7IH0KQEAgLTc1MSwxMSArNzUyLDEx
IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmpl
Y3QgewogICAgIFN0cnVjdHVyZSogaXRlcmF0b3JSZXN1bHRPYmplY3RTdHJ1Y3R1cmUoKSBjb25z
dCB7IHJldHVybiBtX2l0ZXJhdG9yUmVzdWx0T2JqZWN0U3RydWN0dXJlLmdldCgpOyB9CiAgICAg
U3RydWN0dXJlKiByZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBt
X3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZS5nZXQoKTsgfQogICAgIFN0cnVjdHVyZSogcmVn
RXhwTWF0Y2hlc0FycmF5V2l0aEdyb3Vwc1N0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVn
RXhwTWF0Y2hlc0FycmF5V2l0aEdyb3Vwc1N0cnVjdHVyZS5nZXQoKTsgfQotICAgIFN0cnVjdHVy
ZSogbW9kdWxlUmVjb3JkU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVSZWNvcmRT
dHJ1Y3R1cmUuZ2V0KCk7IH0KLSAgICBTdHJ1Y3R1cmUqIG1vZHVsZU5hbWVzcGFjZU9iamVjdFN0
cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0U3RydWN0dXJl
LmdldCgpOyB9Ci0gICAgU3RydWN0dXJlKiBwcm94eU9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcHJveHlPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KLSAgICBTdHJ1Y3R1cmUqIGNh
bGxhYmxlUHJveHlPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX2NhbGxhYmxlUHJv
eHlPYmplY3RTdHJ1Y3R1cmUuZ2V0KCk7IH0KLSAgICBTdHJ1Y3R1cmUqIHByb3h5UmV2b2tlU3Ry
dWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9wcm94eVJldm9rZVN0cnVjdHVyZS5nZXQoKTsgfQor
ICAgIFN0cnVjdHVyZSogbW9kdWxlUmVjb3JkU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9t
b2R1bGVSZWNvcmRTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CisgICAgU3RydWN0dXJlKiBtb2R1bGVO
YW1lc3BhY2VPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZU5hbWVzcGFj
ZU9iamVjdFN0cnVjdHVyZS5nZXQodGhpcyk7IH0KKyAgICBTdHJ1Y3R1cmUqIHByb3h5T2JqZWN0
U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9wcm94eU9iamVjdFN0cnVjdHVyZS5nZXQodGhp
cyk7IH0KKyAgICBTdHJ1Y3R1cmUqIGNhbGxhYmxlUHJveHlPYmplY3RTdHJ1Y3R1cmUoKSBjb25z
dCB7IHJldHVybiBtX2NhbGxhYmxlUHJveHlPYmplY3RTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9Cisg
ICAgU3RydWN0dXJlKiBwcm94eVJldm9rZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJv
eHlSZXZva2VTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CiAgICAgU3RydWN0dXJlKiByZXN0UGFyYW1l
dGVyU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gYXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5
cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aENvbnRpZ3VvdXMpOyB9CiAgICAgU3RydWN0dXJl
KiBvcmlnaW5hbFJlc3RQYXJhbWV0ZXJTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBvcmlnaW5h
bEFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlKEFycmF5V2l0aENvbnRpZ3VvdXMpOyB9CiAj
aWYgRU5BQkxFKFdFQkFTU0VNQkxZKQpAQCAtODAwLDE3ICs4MDEsMTkgQEAgY2xhc3MgSlNHbG9i
YWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgdm9pZCBz
ZXROYW1lKGNvbnN0IFN0cmluZyYpOwogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsg
cmV0dXJuIG1fbmFtZTsgfQogCi0gICAgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSogYXJyYXlCdWZm
ZXJQcm90b3R5cGUoQXJyYXlCdWZmZXJTaGFyaW5nTW9kZSBzaGFyaW5nTW9kZSkgY29uc3QKKyAg
ICBKU09iamVjdCogYXJyYXlCdWZmZXJDb25zdHJ1Y3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fYXJy
YXlCdWZmZXJTdHJ1Y3R1cmUuY29uc3RydWN0b3IodGhpcyk7IH0KKworICAgIEpTT2JqZWN0KiBh
cnJheUJ1ZmZlclByb3RvdHlwZShBcnJheUJ1ZmZlclNoYXJpbmdNb2RlIHNoYXJpbmdNb2RlKSBj
b25zdAogICAgIHsKICAgICAgICAgc3dpdGNoIChzaGFyaW5nTW9kZSkgewogICAgICAgICBjYXNl
IEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gbV9h
cnJheUJ1ZmZlclByb3RvdHlwZS5nZXQoKTsKKyAgICAgICAgICAgIHJldHVybiBtX2FycmF5QnVm
ZmVyU3RydWN0dXJlLnByb3RvdHlwZSh0aGlzKTsKICNpZiBFTkFCTEUoU0hBUkVEX0FSUkFZX0JV
RkZFUikKICAgICAgICAgY2FzZSBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlOjpTaGFyZWQ6CiAgICAg
ICAgICAgICByZXR1cm4gbV9zaGFyZWRBcnJheUJ1ZmZlclByb3RvdHlwZS5nZXQoKTsKICNlbHNl
CiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gbV9hcnJheUJ1ZmZlclByb3Rv
dHlwZS5nZXQoKTsKKyAgICAgICAgICAgIHJldHVybiBtX2FycmF5QnVmZmVyU3RydWN0dXJlLnBy
b3RvdHlwZSh0aGlzKTsKICNlbmRpZgogICAgICAgICB9CiAgICAgfQpAQCAtODE4LDEzICs4MjEs
MTMgQEAgY2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9i
amVjdCB7CiAgICAgewogICAgICAgICBzd2l0Y2ggKHNoYXJpbmdNb2RlKSB7CiAgICAgICAgIGNh
c2UgQXJyYXlCdWZmZXJTaGFyaW5nTW9kZTo6RGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBt
X2FycmF5QnVmZmVyU3RydWN0dXJlLmdldCgpOworICAgICAgICAgICAgcmV0dXJuIG1fYXJyYXlC
dWZmZXJTdHJ1Y3R1cmUuZ2V0KHRoaXMpOwogI2lmIEVOQUJMRShTSEFSRURfQVJSQVlfQlVGRkVS
KQogICAgICAgICBjYXNlIEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OlNoYXJlZDoKICAgICAgICAg
ICAgIHJldHVybiBtX3NoYXJlZEFycmF5QnVmZmVyU3RydWN0dXJlLmdldCgpOwogI2Vsc2UKICAg
ICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBtX2FycmF5QnVmZmVyU3RydWN0dXJl
LmdldCgpOworICAgICAgICAgICAgcmV0dXJuIG1fYXJyYXlCdWZmZXJTdHJ1Y3R1cmUuZ2V0KHRo
aXMpOwogI2VuZGlmCiAgICAgICAgIH0KICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL0pTV2ViQXNz
ZW1ibHlNZW1vcnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3Nl
bWJseU1lbW9yeS5jcHAKaW5kZXggN2E2YTVmMDM5OGY4NjBhMTAxMzhiNmIzYmQ1OTU2MmMwMDdk
OWUyNi4uMzRiOTkwZDVjYTM3YzBmOTY4OWRhMjBkODlhYTllMWQyMmMzNGVlYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1lbW9yeS5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJBc3NlbWJseU1lbW9yeS5j
cHAKQEAgLTgzLDcgKzgzLDcgQEAgSlNBcnJheUJ1ZmZlciogSlNXZWJBc3NlbWJseU1lbW9yeTo6
YnVmZmVyKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICBhdXRvIGRl
c3RydWN0b3IgPSBbcHJvdGVjdGVkTWVtb3J5ID0gV1RGTW92ZShwcm90ZWN0ZWRNZW1vcnkpXSAo
dm9pZCopIHsgfTsKICAgICBtX2J1ZmZlciA9IEFycmF5QnVmZmVyOjpjcmVhdGVGcm9tQnl0ZXMo
bWVtb3J5KCkubWVtb3J5KCksIG1lbW9yeSgpLnNpemUoKSwgV1RGTW92ZShkZXN0cnVjdG9yKSk7
CiAgICAgbV9idWZmZXItPm1ha2VXYXNtTWVtb3J5KCk7Ci0gICAgbV9idWZmZXJXcmFwcGVyLnNl
dCh2bSwgdGhpcywgSlNBcnJheUJ1ZmZlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPm1fYXJy
YXlCdWZmZXJTdHJ1Y3R1cmUuZ2V0KCksIG1fYnVmZmVyLmdldCgpKSk7CisgICAgbV9idWZmZXJX
cmFwcGVyLnNldCh2bSwgdGhpcywgSlNBcnJheUJ1ZmZlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmpl
Y3QtPmFycmF5QnVmZmVyU3RydWN0dXJlKEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQp
LCBtX2J1ZmZlci5nZXQoKSkpOwogICAgIFJFTEVBU0VfQVNTRVJUKG1fYnVmZmVyV3JhcHBlcik7
CiAgICAgcmV0dXJuIG1fYnVmZmVyV3JhcHBlci5nZXQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL2pzL1dlYkFzc2VtYmx5TW9kdWxlQ29uc3RydWN0b3IuY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1
Y3Rvci5jcHAKaW5kZXggZGIwNDljMTgxYzIzMmUxNjFhY2M5OTU4NGIzOTBlYTY4OTU5ZDYxMC4u
ZTQ4MWMyZGE0NTkxYWM1OWQyYjgzMmE0ZWY3ZWNlNWJmOTU0NWM5MyAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVD
b25zdHJ1Y3Rvci5jcHAKQEAgLTg4LDcgKzg4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCB3ZWJBc3NlbWJseU1vZHVsZUN1c3RvbVNlY3Rpb25zKEV4ZWNTdGF0ZSogZXhlYykKICAg
ICAgICAgICAgIGlmICghYnVmZmVyKQogICAgICAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUodGhyb3dFeGNlcHRpb24oZXhlYywgdGhyb3dTY29wZSwgY3JlYXRlT3V0T2ZNZW1vcnlF
cnJvcihleGVjKSkpOwogCi0gICAgICAgICAgICByZXN1bHQtPnB1c2goZXhlYywgSlNBcnJheUJ1
ZmZlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPm1fYXJyYXlCdWZmZXJTdHJ1Y3R1cmUuZ2V0
KCksIFdURk1vdmUoYnVmZmVyKSkpOworICAgICAgICAgICAgcmVzdWx0LT5wdXNoKGV4ZWMsIEpT
QXJyYXlCdWZmZXI6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LT5hcnJheUJ1ZmZlclN0cnVjdHVy
ZShBcnJheUJ1ZmZlclNoYXJpbmdNb2RlOjpEZWZhdWx0KSwgV1RGTW92ZShidWZmZXIpKSk7CiAg
ICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHsgfSk7CiAgICAgICAg
IH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUds
b2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9i
amVjdC5jcHAKaW5kZXggYTRlYzRkMGE5OGE5MDIyMWNlM2U0NGE2ZjgyOGZiOGJiNWJiNGQyNi4u
ZDE0NDA5MTI1OTVkNThiZTlkNWFkMmM3NTZjODY2MGQ1MzIxMzcxMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcApAQCAtMTI2LDcgKzEy
Niw3IEBAIHZvaWQgSlNET01HbG9iYWxPYmplY3Q6OmFkZEJ1aWx0aW5HbG9iYWxzKFZNJiB2bSkK
ICAgICAgICAgICAgIEpTRnVuY3Rpb246OmNyZWF0ZSh2bSwgdGhpcywgMSwgU3RyaW5nKCksIHN0
cnVjdHVyZWRDbG9uZUFycmF5QnVmZmVyKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUg
fCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpLAogICAgICAgICBKU0RPTUdsb2JhbE9iamVj
dDo6R2xvYmFsUHJvcGVydHlJbmZvKGNsaWVudERhdGEuYnVpbHRpbk5hbWVzKCkuc3RydWN0dXJl
ZENsb25lQXJyYXlCdWZmZXJWaWV3UHJpdmF0ZU5hbWUoKSwKICAgICAgICAgICAgIEpTRnVuY3Rp
b246OmNyZWF0ZSh2bSwgdGhpcywgMSwgU3RyaW5nKCksIHN0cnVjdHVyZWRDbG9uZUFycmF5QnVm
ZmVyVmlldyksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KSwKLSAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5
SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5BcnJheUJ1ZmZlclByaXZhdGVO
YW1lKCksIGdldERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+QXJyYXlCdWZmZXIpLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSks
CisgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVy
dHlOYW1lcy0+YnVpbHRpbk5hbWVzKCkuQXJyYXlCdWZmZXJQcml2YXRlTmFtZSgpLCBhcnJheUJ1
ZmZlckNvbnN0cnVjdG9yKCksIFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5KSwKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCiAgICAgICAg
IEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGlu
TmFtZXMoKS5zdHJlYW1DbG9zZWRQcml2YXRlTmFtZSgpLCBqc051bWJlcigxKSwgUHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpLAogICAg
ICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVydHlJbmZvKGNsaWVudERhdGEuYnVp
bHRpbk5hbWVzKCkuc3RyZWFtQ2xvc2luZ1ByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDIpLCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSks
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363979</attachid>
            <date>2019-03-07 20:26:04 -0800</date>
            <delta_ts>2019-03-07 21:14:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195449-20190307202604.patch</filename>
            <type>text/plain</type>
            <size>33690</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQyNjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
YTc1Nzk3MDVhNTY4Y2I2ZWE1NmVhYjUyYjRmNmI3NmM5MzZiOGIwLi4yY2YyZjQzMGVmODdlOWY0
NTY1OTEzMWI5ZWRiZmFlMDM1ZmNiNTZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NCBAQAorMjAxOS0wMy0wNyAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE1ha2UgbW9yZSBmaWVsZHMgbGF6eSBpbiBKU0dsb2JhbE9iamVj
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1NDQ5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBtYWtlcyBtb3JlIGZpZWxkcyBsYXp5LWFsbG9jYXRlZCBpbiBKU0dsb2JhbE9iamVjdCB0
byBzYXZlIG1lbW9yeS4KKworICAgICAgICAxLiBTb21lIG1pbm9yIHN0cnVjdHVyZXMgbGlrZSBt
b2R1bGVSZWNvcmRTdHJ1Y3R1cmUuCisgICAgICAgIDIuIFNvbWUgZnVuY3Rpb25zIGxpa2UgcGFy
c2VJbnQgLyBwYXJzZUZsb2F0LiBXaGlsZSB0aGV5IGFyZSBlYWdlcmx5IGNyZWF0ZWQgaW4gSklU
IG1vZGUgYW55d2F5IHRvIG1hdGVyaWFsaXplIE51bWJlckNvbnN0cnVjdG9yLCB3ZSBjYW4gbGF6
aWx5IGFsbG9jYXRlIHRoZW0gaW4gbm9uIEpJVCBtb2RlLgorICAgICAgICAzLiBBcnJheUJ1ZmZl
ciBjb25zdHJ1Y3Rvci4gV2hpbGUgaXQgaXMgZWFnZXJseSBhbGxvY2F0ZWQgaW4gV2ViQ29yZSwg
d2UgY2FuIG1ha2UgbGF6aWx5IGFsbG9jYXRlZCBpbiBKU0MuCisKKyAgICAgICAgKiBpbnRlcnBy
ZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpleGVjdXRl
KToKKyAgICAgICAgKiBydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaDoKKyAgICAgICAg
KiBydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OmluaXQpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbik6
CisgICAgICAgICogcnVudGltZS9KU0dsb2JhbE9iamVjdC5oOgorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6cGFyc2VJbnRGdW5jdGlvbiBjb25zdCk6CisgICAgICAgIChKU0M6OkpTR2xv
YmFsT2JqZWN0OjpwYXJzZUZsb2F0RnVuY3Rpb24gY29uc3QpOgorICAgICAgICAoSlNDOjpKU0ds
b2JhbE9iamVjdDo6ZXZhbEZ1bmN0aW9uIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxP
YmplY3Q6OnN0cmljdEV2YWxBY3RpdmF0aW9uU3RydWN0dXJlIGNvbnN0KToKKyAgICAgICAgKEpT
Qzo6SlNHbG9iYWxPYmplY3Q6Om1vZHVsZVJlY29yZFN0cnVjdHVyZSBjb25zdCk6CisgICAgICAg
IChKU0M6OkpTR2xvYmFsT2JqZWN0Ojptb2R1bGVOYW1lc3BhY2VPYmplY3RTdHJ1Y3R1cmUgY29u
c3QpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6cHJveHlPYmplY3RTdHJ1Y3R1cmUg
Y29uc3QpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6Y2FsbGFibGVQcm94eU9iamVj
dFN0cnVjdHVyZSBjb25zdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0Ojpwcm94eVJl
dm9rZVN0cnVjdHVyZSBjb25zdCk6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjphcnJh
eUJ1ZmZlckNvbnN0cnVjdG9yIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6
OmFycmF5QnVmZmVyUHJvdG90eXBlIGNvbnN0KToKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmpl
Y3Q6OmFycmF5QnVmZmVyU3RydWN0dXJlIGNvbnN0KToKKyAgICAgICAgKiBydW50aW1lL1Byb3h5
T2JqZWN0Lmg6CisgICAgICAgICogcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5jcHA6Cisg
ICAgICAgIChKU0M6OlN0cmljdEV2YWxBY3RpdmF0aW9uOjpTdHJpY3RFdmFsQWN0aXZhdGlvbik6
CisgICAgICAgICogcnVudGltZS9TdHJpY3RFdmFsQWN0aXZhdGlvbi5oOgorICAgICAgICAqIHdh
c20vanMvSlNXZWJBc3NlbWJseU1lbW9yeS5jcHA6CisgICAgICAgIChKU0M6OkpTV2ViQXNzZW1i
bHlNZW1vcnk6OmJ1ZmZlcik6CisgICAgICAgICogd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZUNv
bnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6d2ViQXNzZW1ibHlNb2R1bGVDdXN0b21TZWN0
aW9ucyk6CisKIDIwMTktMDMtMDcgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIEZvbGxvdyB1cCByZWZhY3RvcmluZyBpbiB0cnktZmluYWxseSBjb2RlIGFmdGVyIHIy
NDI1OTEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggYmY1OGU1ZDc4NmFkZWU2NDZhYTU0MWNlODE3ZmUxZWUwODYy
ZDk4Yy4uNWQyZTExZDcxOWExODEwMDg0YTI0MDBmMDdmZWFiZWMxMmI5OGVmOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAzLTA3ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBh
cHBsZS5jb20+CisKKyAgICAgICAgW0pTQ10gTWFrZSBtb3JlIGZpZWxkcyBsYXp5IGluIEpTR2xv
YmFsT2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTU0NDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBVc2UgYXJyYXlCdWZmZXJDb25zdHJ1Y3RvcigpIHNpbmNlIGdldERpcmVjdCBkb2VzIG5vdCB3
b3JrIHdpdGggbGF6eSBwcm9wZXJ0eS4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xv
YmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NR2xvYmFsT2JqZWN0OjphZGRC
dWlsdGluR2xvYmFscyk6CisKIDIwMTktMDMtMDcgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBh
cHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBzdXJlIGFuIGVtcHR5IGhvc3QgbWF0Y2hlcyB0aGUg
aW50ZXJuYWwgcmVwcmVzZW50YXRpb24gIm51bGxPcmlnaW4iIGluIFdlYkNvcmU6OlJlZ2lzdHJh
YmxlRG9tYWluOjptYXRjaGVzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IGZhOTMwMjg3YjNjMGM2N2EwNmFjYTgwZTk3YzM3
YTEwMTUyOWI1ZDQuLjdmMTVkMTk4ZDYyOGU5Mjg1ZDY2ZTE3OWJlOGY4MGQ1NjNjYzIwZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNw
cApAQCAtMTAyMSw3ICsxMDIxLDcgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZShFdmFs
RXhlY3V0YWJsZSogZXZhbCwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpTVmFsdWUKIAogICAgIEpT
U2NvcGUqIHZhcmlhYmxlT2JqZWN0OwogICAgIGlmICgobnVtVmFyaWFibGVzIHx8IG51bVRvcExl
dmVsRnVuY3Rpb25EZWNscykgJiYgZXZhbC0+aXNTdHJpY3RNb2RlKCkpIHsKLSAgICAgICAgc2Nv
cGUgPSBTdHJpY3RFdmFsQWN0aXZhdGlvbjo6Y3JlYXRlKGNhbGxGcmFtZSwgc2NvcGUpOworICAg
ICAgICBzY29wZSA9IFN0cmljdEV2YWxBY3RpdmF0aW9uOjpjcmVhdGUodm0sIGNhbGxGcmFtZS0+
bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5zdHJpY3RFdmFsQWN0aXZhdGlvblN0cnVjdHVyZSgpLCBz
Y29wZSk7CiAgICAgICAgIHZhcmlhYmxlT2JqZWN0ID0gc2NvcGU7CiAgICAgfSBlbHNlIHsKICAg
ICAgICAgZm9yIChKU1Njb3BlKiBub2RlID0gc2NvcGU7IDsgbm9kZSA9IG5vZGUtPm5leHQoKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZl
clByb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZl
clByb3RvdHlwZS5oCmluZGV4IDQ1NTBiZjg3NzE3ZWRhYTI2NjIwYWU1MzA3NTljNTRmMDc0ZTBl
YmMuLmM2MjE3ODFiMTEzNGRhZWZhZDMxZDQyODUzMmRkMGYwZjczYjExMjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuaAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyUHJvdG90eXBl
LmgKQEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgSlNBcnJheUJ1ZmZlclByb3RvdHlwZSBmaW5hbCA6
IHB1YmxpYyBKU05vbkZpbmFsT2JqZWN0IHsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwg
SlNHbG9iYWxPYmplY3QqKTsKIAogcHVibGljOgotICAgIHN0YXRpYyBKU0FycmF5QnVmZmVyUHJv
dG90eXBlKiBjcmVhdGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEFycmF5QnVm
ZmVyU2hhcmluZ01vZGUpOworICAgIHN0YXRpYyBKU0FycmF5QnVmZmVyUHJvdG90eXBlKiBjcmVh
dGUoVk0mLCBKU0dsb2JhbE9iamVjdCosIFN0cnVjdHVyZSosIEFycmF5QnVmZmVyU2hhcmluZ01v
ZGUgPSBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlOjpEZWZhdWx0KTsKICAgICAKICAgICBERUNMQVJF
X0lORk87CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U0dsb2JhbE9iamVjdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2Jh
bE9iamVjdC5jcHAKaW5kZXggZWVhYzM4NTNkYTgyYjg2NjdmMjU5Mzg3ZGNjNzE2NWViODFkNmRl
NS4uZjFmODdjMGJlNjhlNzhmMzlmMTUxOTlhZDc2YTYxMmZhNjdjM2YwNSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmNwcApAQCAtMzE0LDEy
ICszMTQsMTYgQEAgY29uc3QgR2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgSlNHbG9iYWxPYmplY3Q6
OnNfZ2xvYmFsT2JqZWN0TWV0aG9kVGFibGUgPSB7CiAgIGlzTmFOICAgICAgICAgICAgICAgICBK
U0J1aWx0aW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb250RW51bXxGdW5j
dGlvbiAxCiAgIGlzRmluaXRlICAgICAgICAgICAgICBKU0J1aWx0aW4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAxCiAgIGVzY2FwZSAgICAgICAg
ICAgICAgICBnbG9iYWxGdW5jRXNjYXBlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEb250
RW51bXxGdW5jdGlvbiAxCisgIGV2YWwgICAgICAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdDo6
bV9ldmFsRnVuY3Rpb24gICAgICAgICAgICAgICBEb250RW51bXxDZWxsUHJvcGVydHkKICAgdW5l
c2NhcGUgICAgICAgICAgICAgIGdsb2JhbEZ1bmNVbmVzY2FwZSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgZGVjb2RlVVJJICAgICAgICAgICAgIGdsb2Jh
bEZ1bmNEZWNvZGVVUkkgICAgICAgICAgICAgICAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9u
IDEKICAgZGVjb2RlVVJJQ29tcG9uZW50ICAgIGdsb2JhbEZ1bmNEZWNvZGVVUklDb21wb25lbnQg
ICAgICAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgZW5jb2RlVVJJICAgICAgICAg
ICAgIGdsb2JhbEZ1bmNFbmNvZGVVUkkgICAgICAgICAgICAgICAgICAgICAgICAgIERvbnRFbnVt
fEZ1bmN0aW9uIDEKICAgZW5jb2RlVVJJQ29tcG9uZW50ICAgIGdsb2JhbEZ1bmNFbmNvZGVVUklD
b21wb25lbnQgICAgICAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgZ2xvYmFsVGhp
cyAgICAgICAgICAgIEpTR2xvYmFsT2JqZWN0OjptX2dsb2JhbFRoaXMgICAgICAgICAgICAgICAg
IERvbnRFbnVtfENlbGxQcm9wZXJ0eQorICBwYXJzZUludCAgICAgICAgICAgICAgSlNHbG9iYWxP
YmplY3Q6Om1fcGFyc2VJbnRGdW5jdGlvbiAgICAgICAgICAgRG9udEVudW18Q2VsbFByb3BlcnR5
CisgIHBhcnNlRmxvYXQgICAgICAgICAgICBKU0dsb2JhbE9iamVjdDo6bV9wYXJzZUZsb2F0RnVu
Y3Rpb24gICAgICAgICBEb250RW51bXxDZWxsUHJvcGVydHkKKyAgQXJyYXlCdWZmZXIgICAgICAg
ICAgIEpTR2xvYmFsT2JqZWN0OjptX2FycmF5QnVmZmVyU3RydWN0dXJlICAgICAgIERvbnRFbnVt
fENsYXNzU3RydWN0dXJlCiAgIEV2YWxFcnJvciAgICAgICAgICAgICBKU0dsb2JhbE9iamVjdDo6
bV9ldmFsRXJyb3JTdHJ1Y3R1cmUgICAgICAgICBEb250RW51bXxDbGFzc1N0cnVjdHVyZQogICBS
YW5nZUVycm9yICAgICAgICAgICAgSlNHbG9iYWxPYmplY3Q6Om1fcmFuZ2VFcnJvclN0cnVjdHVy
ZSAgICAgICAgRG9udEVudW18Q2xhc3NTdHJ1Y3R1cmUKICAgUmVmZXJlbmNlRXJyb3IgICAgICAg
IEpTR2xvYmFsT2JqZWN0OjptX3JlZmVyZW5jZUVycm9yU3RydWN0dXJlICAgIERvbnRFbnVtfENs
YXNzU3RydWN0dXJlCkBAIC01NzAsNyArNTc0LDEwIEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6Omlu
aXQoVk0mIHZtKQogICAgICAgICBbXSAoY29uc3QgSW5pdGlhbGl6ZXI8U3RydWN0dXJlPiYgaW5p
dCkgewogICAgICAgICAgICAgaW5pdC5zZXQoSlNNb2R1bGVFbnZpcm9ubWVudDo6Y3JlYXRlU3Ry
dWN0dXJlKGluaXQudm0sIGluaXQub3duZXIpKTsKICAgICAgICAgfSk7Ci0gICAgbV9zdHJpY3RF
dmFsQWN0aXZhdGlvblN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFN0cmljdEV2YWxBY3RpdmF0aW9u
OjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIGpzTnVsbCgpKSk7CisgICAgbV9zdHJpY3RFdmFs
QWN0aXZhdGlvblN0cnVjdHVyZS5pbml0TGF0ZXIoCisgICAgICAgIFtdIChjb25zdCBJbml0aWFs
aXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CisgICAgICAgICAgICBpbml0LnNldChTdHJpY3RFdmFs
QWN0aXZhdGlvbjo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0sIGluaXQub3duZXIsIGpzTnVsbCgp
KSk7CisgICAgICAgIH0pOwogICAgIG1fZGVidWdnZXJTY29wZVN0cnVjdHVyZS5pbml0TGF0ZXIo
CiAgICAgICAgIFtdIChjb25zdCBJbml0aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CiAgICAg
ICAgICAgICBpbml0LnNldChEZWJ1Z2dlclNjb3BlOjpjcmVhdGVTdHJ1Y3R1cmUoaW5pdC52bSwg
aW5pdC5vd25lcikpOwpAQCAtNjM3LDIzICs2NDQsMzggQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6
aW5pdChWTSYgdm0pCiAgICAgbV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUuc2V0KHZtLCB0
aGlzLCBjcmVhdGVSZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUodm0sIHRoaXMpKTsKICAgICBt
X3JlZ0V4cE1hdGNoZXNBcnJheVdpdGhHcm91cHNTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBjcmVh
dGVSZWdFeHBNYXRjaGVzQXJyYXlXaXRoR3JvdXBzU3RydWN0dXJlKHZtLCB0aGlzKSk7CiAKLSAg
ICBtX21vZHVsZVJlY29yZFN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTTW9kdWxlUmVjb3JkOjpj
cmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIGpzTnVsbCgpKSk7Ci0gICAgbV9tb2R1bGVOYW1lc3Bh
Y2VPYmplY3RTdHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU01vZHVsZU5hbWVzcGFjZU9iamVjdDo6
Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBqc051bGwoKSkpOwotICAgIHsKLSAgICAgICAgYm9v
bCBpc0NhbGxhYmxlID0gZmFsc2U7Ci0gICAgICAgIG1fcHJveHlPYmplY3RTdHJ1Y3R1cmUuc2V0
KHZtLCB0aGlzLCBQcm94eU9iamVjdDo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBqc051bGwo
KSwgaXNDYWxsYWJsZSkpOwotICAgICAgICBpc0NhbGxhYmxlID0gdHJ1ZTsKLSAgICAgICAgbV9j
YWxsYWJsZVByb3h5T2JqZWN0U3RydWN0dXJlLnNldCh2bSwgdGhpcywgUHJveHlPYmplY3Q6OmNy
ZWF0ZVN0cnVjdHVyZSh2bSwgdGhpcywganNOdWxsKCksIGlzQ2FsbGFibGUpKTsKLSAgICB9Ci0g
ICAgbV9wcm94eVJldm9rZVN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIFByb3h5UmV2b2tlOjpjcmVh
dGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpKTsKKyAgICBt
X21vZHVsZVJlY29yZFN0cnVjdHVyZS5pbml0TGF0ZXIoCisgICAgICAgIFtdIChjb25zdCBJbml0
aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CisgICAgICAgICAgICBpbml0LnNldChKU01vZHVs
ZVJlY29yZDo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0sIGluaXQub3duZXIsIGpzTnVsbCgpKSk7
CisgICAgICAgIH0pOworICAgIG1fbW9kdWxlTmFtZXNwYWNlT2JqZWN0U3RydWN0dXJlLmluaXRM
YXRlcigKKyAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVjdHVyZT4mIGluaXQpIHsK
KyAgICAgICAgICAgIGluaXQuc2V0KEpTTW9kdWxlTmFtZXNwYWNlT2JqZWN0OjpjcmVhdGVTdHJ1
Y3R1cmUoaW5pdC52bSwgaW5pdC5vd25lciwganNOdWxsKCkpKTsKKyAgICAgICAgfSk7CisgICAg
bV9wcm94eU9iamVjdFN0cnVjdHVyZS5pbml0TGF0ZXIoCisgICAgICAgIFtdIChjb25zdCBJbml0
aWFsaXplcjxTdHJ1Y3R1cmU+JiBpbml0KSB7CisgICAgICAgICAgICBib29sIGlzQ2FsbGFibGUg
PSBmYWxzZTsKKyAgICAgICAgICAgIGluaXQuc2V0KFByb3h5T2JqZWN0OjpjcmVhdGVTdHJ1Y3R1
cmUoaW5pdC52bSwgaW5pdC5vd25lciwganNOdWxsKCksIGlzQ2FsbGFibGUpKTsKKyAgICAgICAg
fSk7CisgICAgbV9jYWxsYWJsZVByb3h5T2JqZWN0U3RydWN0dXJlLmluaXRMYXRlcigKKyAgICAg
ICAgW10gKGNvbnN0IEluaXRpYWxpemVyPFN0cnVjdHVyZT4mIGluaXQpIHsKKyAgICAgICAgICAg
IGJvb2wgaXNDYWxsYWJsZSA9IHRydWU7CisgICAgICAgICAgICBpbml0LnNldChQcm94eU9iamVj
dDo6Y3JlYXRlU3RydWN0dXJlKGluaXQudm0sIGluaXQub3duZXIsIGpzTnVsbCgpLCBpc0NhbGxh
YmxlKSk7CisgICAgICAgIH0pOworICAgIG1fcHJveHlSZXZva2VTdHJ1Y3R1cmUuaW5pdExhdGVy
KAorICAgICAgICBbXSAoY29uc3QgSW5pdGlhbGl6ZXI8U3RydWN0dXJlPiYgaW5pdCkgeworICAg
ICAgICAgICAgaW5pdC5zZXQoUHJveHlSZXZva2U6OmNyZWF0ZVN0cnVjdHVyZShpbml0LnZtLCBp
bml0Lm93bmVyLCBpbml0Lm93bmVyLT5tX2Z1bmN0aW9uUHJvdG90eXBlLmdldCgpKSk7CisgICAg
ICAgIH0pOwogCi0gICAgbV9wYXJzZUludEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlv
bjo6Y3JlYXRlKHZtLCB0aGlzLCAyLCB2bS5wcm9wZXJ0eU5hbWVzLT5wYXJzZUludC5zdHJpbmco
KSwgZ2xvYmFsRnVuY1BhcnNlSW50LCBQYXJzZUludEludHJpbnNpYykpOwotICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wYXJzZUludCwgbV9wYXJz
ZUludEZ1bmN0aW9uLmdldCgpLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oUHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSk7Ci0gICAgbV9wYXJzZUZsb2F0RnVuY3Rpb24uc2V0KHZtLCB0aGlzLCBK
U0Z1bmN0aW9uOjpjcmVhdGUodm0sIHRoaXMsIDEsIHZtLnByb3BlcnR5TmFtZXMtPnBhcnNlRmxv
YXQuc3RyaW5nKCksIGdsb2JhbEZ1bmNQYXJzZUZsb2F0LCBOb0ludHJpbnNpYykpOwotICAgIHB1
dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wYXJzZUZsb2F0
LCBtX3BhcnNlRmxvYXRGdW5jdGlvbi5nZXQoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSkpOworICAgIG1fcGFyc2VJbnRGdW5jdGlvbi5pbml0TGF0
ZXIoCisgICAgICAgIFtdIChjb25zdCBJbml0aWFsaXplcjxKU0Z1bmN0aW9uPiYgaW5pdCkgewor
ICAgICAgICAgICAgaW5pdC5zZXQoSlNGdW5jdGlvbjo6Y3JlYXRlKGluaXQudm0sIGluaXQub3du
ZXIsIDIsIGluaXQudm0ucHJvcGVydHlOYW1lcy0+cGFyc2VJbnQuc3RyaW5nKCksIGdsb2JhbEZ1
bmNQYXJzZUludCwgUGFyc2VJbnRJbnRyaW5zaWMpKTsKKyAgICAgICAgfSk7CisgICAgbV9wYXJz
ZUZsb2F0RnVuY3Rpb24uaW5pdExhdGVyKAorICAgICAgICBbXSAoY29uc3QgSW5pdGlhbGl6ZXI8
SlNGdW5jdGlvbj4mIGluaXQpIHsKKyAgICAgICAgICAgIGluaXQuc2V0KEpTRnVuY3Rpb246OmNy
ZWF0ZShpbml0LnZtLCBpbml0Lm93bmVyLCAxLCBpbml0LnZtLnByb3BlcnR5TmFtZXMtPnBhcnNl
RmxvYXQuc3RyaW5nKCksIGdsb2JhbEZ1bmNQYXJzZUZsb2F0LCBOb0ludHJpbnNpYykpOworICAg
ICAgICB9KTsKICAgICAKLSAgICBtX2FycmF5QnVmZmVyUHJvdG90eXBlLnNldCh2bSwgdGhpcywg
SlNBcnJheUJ1ZmZlclByb3RvdHlwZTo6Y3JlYXRlKHZtLCB0aGlzLCBKU0FycmF5QnVmZmVyUHJv
dG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBlLmdldCgp
KSwgQXJyYXlCdWZmZXJTaGFyaW5nTW9kZTo6RGVmYXVsdCkpOwotICAgIG1fYXJyYXlCdWZmZXJT
dHJ1Y3R1cmUuc2V0KHZtLCB0aGlzLCBKU0FycmF5QnVmZmVyOjpjcmVhdGVTdHJ1Y3R1cmUodm0s
IHRoaXMsIG1fYXJyYXlCdWZmZXJQcm90b3R5cGUuZ2V0KCkpKTsKICNpZiBFTkFCTEUoU0hBUkVE
X0FSUkFZX0JVRkZFUikKICAgICBtX3NoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlLnNldCh2bSwg
dGhpcywgSlNBcnJheUJ1ZmZlclByb3RvdHlwZTo6Y3JlYXRlKHZtLCB0aGlzLCBKU0FycmF5QnVm
ZmVyUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1fb2JqZWN0UHJvdG90eXBl
LmdldCgpKSwgQXJyYXlCdWZmZXJTaGFyaW5nTW9kZTo6U2hhcmVkKSk7CiAgICAgbV9zaGFyZWRB
cnJheUJ1ZmZlclN0cnVjdHVyZS5zZXQodm0sIHRoaXMsIEpTQXJyYXlCdWZmZXI6OmNyZWF0ZVN0
cnVjdHVyZSh2bSwgdGhpcywgbV9zaGFyZWRBcnJheUJ1ZmZlclByb3RvdHlwZS5nZXQoKSkpOwpA
QCAtNzA3LDkgKzcyOSw2IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OmluaXQoVk0mIHZtKQogICAg
IFJlZ0V4cENvbnN0cnVjdG9yKiByZWdFeHBDb25zdHJ1Y3RvciA9IFJlZ0V4cENvbnN0cnVjdG9y
OjpjcmVhdGUodm0sIFJlZ0V4cENvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMs
IG1fZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX3JlZ0V4cFByb3RvdHlwZS5nZXQoKSwgbV9z
cGVjaWVzR2V0dGVyU2V0dGVyLmdldCgpKTsKICAgICBtX3JlZ0V4cEdsb2JhbERhdGEuY2FjaGVk
UmVzdWx0KCkucmVjb3JkKHZtLCB0aGlzLCBudWxscHRyLCBqc0VtcHR5U3RyaW5nKCZ2bSksIE1h
dGNoUmVzdWx0KDAsIDApKTsKICAgICAKLSAgICBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3IqIGFy
cmF5QnVmZmVyQ29uc3RydWN0b3IgPSBKU0FycmF5QnVmZmVyQ29uc3RydWN0b3I6OmNyZWF0ZSh2
bSwgSlNBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGVTdHJ1Y3R1cmUodm0sIHRoaXMsIG1f
ZnVuY3Rpb25Qcm90b3R5cGUuZ2V0KCkpLCBtX2FycmF5QnVmZmVyUHJvdG90eXBlLmdldCgpLCBt
X3NwZWNpZXNHZXR0ZXJTZXR0ZXIuZ2V0KCkpOwotICAgIG1fYXJyYXlCdWZmZXJQcm90b3R5cGUt
PnB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1
Y3RvciwgYXJyYXlCdWZmZXJDb25zdHJ1Y3Rvciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSkpOwotCiAjaWYgRU5BQkxFKFNIQVJFRF9BUlJBWV9CVUZG
RVIpCiAgICAgSlNTaGFyZWRBcnJheUJ1ZmZlckNvbnN0cnVjdG9yKiBzaGFyZWRBcnJheUJ1ZmZl
ckNvbnN0cnVjdG9yID0gbnVsbHB0cjsKICAgICBzaGFyZWRBcnJheUJ1ZmZlckNvbnN0cnVjdG9y
ID0gSlNTaGFyZWRBcnJheUJ1ZmZlckNvbnN0cnVjdG9yOjpjcmVhdGUodm0sIEpTU2hhcmVkQXJy
YXlCdWZmZXJDb25zdHJ1Y3Rvcjo6Y3JlYXRlU3RydWN0dXJlKHZtLCB0aGlzLCBtX2Z1bmN0aW9u
UHJvdG90eXBlLmdldCgpKSwgbV9zaGFyZWRBcnJheUJ1ZmZlclByb3RvdHlwZS5nZXQoKSwgbV9z
cGVjaWVzR2V0dGVyU2V0dGVyLmdldCgpKTsKQEAgLTc5Myw3ICs4MTIsNiBAQCBtXyAjIyBsb3dl
ck5hbWUgIyMgUHJvdG90eXBlLT5wdXREaXJlY3RXaXRob3V0VHJhbnNpdGlvbih2bSwgdm0ucHJv
cGVydHlOYW1lcy0+YwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5PYmplY3RQcml2YXRlTmFtZSgpLCBvYmplY3RDb25z
dHJ1Y3RvciwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtIHwgUHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpOwogICAgIHB1dERpcmVj
dFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5B
cnJheVByaXZhdGVOYW1lKCksIGFycmF5Q29uc3RydWN0b3IsIFByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSB8IFByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1
dGU6OlJlYWRPbmx5KTsKIAotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5w
cm9wZXJ0eU5hbWVzLT5BcnJheUJ1ZmZlciwgYXJyYXlCdWZmZXJDb25zdHJ1Y3Rvciwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogI2lmIEVOQUJM
RShTSEFSRURfQVJSQVlfQlVGRkVSKQogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZt
LCB2bS5wcm9wZXJ0eU5hbWVzLT5TaGFyZWRBcnJheUJ1ZmZlciwgc2hhcmVkQXJyYXlCdWZmZXJD
b25zdHJ1Y3Rvciwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSkpOwogICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCBJZGVudGlmaWVyOjpm
cm9tU3RyaW5nKGV4ZWMsICJBdG9taWNzIiksIGF0b21pY3NPYmplY3QsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKQEAgLTgwOSw4ICs4MjcsMTAg
QEAgcHV0RGlyZWN0V2l0aG91dFRyYW5zaXRpb24odm0sIHZtLnByb3BlcnR5TmFtZXMtPiBqc05h
bWUsIGxvd2VyTmFtZSAjIyBDb25zdHJ1Y3QKICN1bmRlZiBQVVRfQ09OU1RSVUNUT1JfRk9SX1NJ
TVBMRV9UWVBFCiAgICAgbV9pdGVyYXRvclJlc3VsdE9iamVjdFN0cnVjdHVyZS5zZXQodm0sIHRo
aXMsIGNyZWF0ZUl0ZXJhdG9yUmVzdWx0T2JqZWN0U3RydWN0dXJlKHZtLCAqdGhpcykpOwogICAg
IAotICAgIG1fZXZhbEZ1bmN0aW9uLnNldCh2bSwgdGhpcywgSlNGdW5jdGlvbjo6Y3JlYXRlKHZt
LCB0aGlzLCAxLCB2bS5wcm9wZXJ0eU5hbWVzLT5ldmFsLnN0cmluZygpLCBnbG9iYWxGdW5jRXZh
bCkpOwotICAgIHB1dERpcmVjdFdpdGhvdXRUcmFuc2l0aW9uKHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5ldmFsLCBtX2V2YWxGdW5jdGlvbi5nZXQoKSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3Bl
cnR5QXR0cmlidXRlOjpEb250RW51bSkpOworICAgIG1fZXZhbEZ1bmN0aW9uLmluaXRMYXRlcigK
KyAgICAgICAgW10gKGNvbnN0IEluaXRpYWxpemVyPEpTRnVuY3Rpb24+JiBpbml0KSB7CisgICAg
ICAgICAgICBpbml0LnNldChKU0Z1bmN0aW9uOjpjcmVhdGUoaW5pdC52bSwgaW5pdC5vd25lciwg
MSwgaW5pdC52bS5wcm9wZXJ0eU5hbWVzLT5ldmFsLnN0cmluZygpLCBnbG9iYWxGdW5jRXZhbCwg
Tm9JbnRyaW5zaWMpKTsKKyAgICAgICAgfSk7CiAgICAgCiAjaWYgRU5BQkxFKElOVEwpCiAgICAg
bV9jb2xsYXRvclN0cnVjdHVyZS5pbml0TGF0ZXIoCkBAIC0xNjEwLDE0ICsxNjMwLDE0IEBAIHZv
aWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRv
ciYgdmlzaXRvcikKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX251bGxHZXR0ZXJG
dW5jdGlvbik7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9udWxsU2V0dGVyRnVu
Y3Rpb24pOwogCi0gICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wYXJzZUludEZ1bmN0
aW9uKTsKLSAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3BhcnNlRmxvYXRGdW5jdGlv
bik7Ci0gICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9ldmFsRnVuY3Rpb24pOworICAg
IHRoaXNPYmplY3QtPm1fcGFyc2VJbnRGdW5jdGlvbi52aXNpdCh2aXNpdG9yKTsKKyAgICB0aGlz
T2JqZWN0LT5tX3BhcnNlRmxvYXRGdW5jdGlvbi52aXNpdCh2aXNpdG9yKTsKICAgICB2aXNpdG9y
LmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhbGxGdW5jdGlvbik7CiAgICAgdmlzaXRvci5hcHBlbmQo
dGhpc09iamVjdC0+bV9hcHBseUZ1bmN0aW9uKTsKICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2Jq
ZWN0LT5tX3Rocm93VHlwZUVycm9yRnVuY3Rpb24pOwogICAgIHRoaXNPYmplY3QtPm1fYXJyYXlQ
cm90b1RvU3RyaW5nRnVuY3Rpb24udmlzaXQodmlzaXRvcik7CiAgICAgdGhpc09iamVjdC0+bV9h
cnJheVByb3RvVmFsdWVzRnVuY3Rpb24udmlzaXQodmlzaXRvcik7CisgICAgdGhpc09iamVjdC0+
bV9ldmFsRnVuY3Rpb24udmlzaXQodmlzaXRvcik7CiAgICAgdGhpc09iamVjdC0+bV9pbml0aWFs
aXplUHJvbWlzZUZ1bmN0aW9uLnZpc2l0KHZpc2l0b3IpOwogICAgIHRoaXNPYmplY3QtPm1faXRl
cmF0b3JQcm90b2NvbEZ1bmN0aW9uLnZpc2l0KHZpc2l0b3IpOwogICAgIHRoaXNPYmplY3QtPm1f
cHJvbWlzZVJlc29sdmVGdW5jdGlvbi52aXNpdCh2aXNpdG9yKTsKQEAgLTE2NDIsNyArMTY2Miw3
IEBAIHZvaWQgSlNHbG9iYWxPYmplY3Q6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90
VmlzaXRvciYgdmlzaXRvcikKIAogICAgIHRoaXNPYmplY3QtPm1fZGVidWdnZXJTY29wZVN0cnVj
dHVyZS52aXNpdCh2aXNpdG9yKTsKICAgICB0aGlzT2JqZWN0LT5tX3dpdGhTY29wZVN0cnVjdHVy
ZS52aXNpdCh2aXNpdG9yKTsKLSAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3N0cmlj
dEV2YWxBY3RpdmF0aW9uU3RydWN0dXJlKTsKKyAgICB0aGlzT2JqZWN0LT5tX3N0cmljdEV2YWxB
Y3RpdmF0aW9uU3RydWN0dXJlLnZpc2l0KHZpc2l0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRo
aXNPYmplY3QtPm1fbGV4aWNhbEVudmlyb25tZW50U3RydWN0dXJlKTsKICAgICB0aGlzT2JqZWN0
LT5tX21vZHVsZUVudmlyb25tZW50U3RydWN0dXJlLnZpc2l0KHZpc2l0b3IpOwogICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fZGlyZWN0QXJndW1lbnRzU3RydWN0dXJlKTsKQEAgLTE2
ODgsMTQgKzE3MDgsMTIgQEAgdm9pZCBKU0dsb2JhbE9iamVjdDo6dmlzaXRDaGlsZHJlbihKU0Nl
bGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNP
YmplY3QtPm1faXRlcmF0b3JSZXN1bHRPYmplY3RTdHJ1Y3R1cmUpOwogICAgIHZpc2l0b3IuYXBw
ZW5kKHRoaXNPYmplY3QtPm1fcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKTsKICAgICB2aXNp
dG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3JlZ0V4cE1hdGNoZXNBcnJheVdpdGhHcm91cHNTdHJ1
Y3R1cmUpOwotICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fbW9kdWxlUmVjb3JkU3Ry
dWN0dXJlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX21vZHVsZU5hbWVzcGFj
ZU9iamVjdFN0cnVjdHVyZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9wcm94
eU9iamVjdFN0cnVjdHVyZSk7Ci0gICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9jYWxs
YWJsZVByb3h5T2JqZWN0U3RydWN0dXJlKTsKLSAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0
LT5tX3Byb3h5UmV2b2tlU3RydWN0dXJlKTsKKyAgICB0aGlzT2JqZWN0LT5tX21vZHVsZVJlY29y
ZFN0cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKKyAgICB0aGlzT2JqZWN0LT5tX21vZHVsZU5hbWVz
cGFjZU9iamVjdFN0cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKKyAgICB0aGlzT2JqZWN0LT5tX3By
b3h5T2JqZWN0U3RydWN0dXJlLnZpc2l0KHZpc2l0b3IpOworICAgIHRoaXNPYmplY3QtPm1fY2Fs
bGFibGVQcm94eU9iamVjdFN0cnVjdHVyZS52aXNpdCh2aXNpdG9yKTsKKyAgICB0aGlzT2JqZWN0
LT5tX3Byb3h5UmV2b2tlU3RydWN0dXJlLnZpc2l0KHZpc2l0b3IpOwogICAgIAotICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fYXJyYXlCdWZmZXJQcm90b3R5cGUpOwotICAgIHZpc2l0
b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fYXJyYXlCdWZmZXJTdHJ1Y3R1cmUpOwogI2lmIEVOQUJM
RShTSEFSRURfQVJSQVlfQlVGRkVSKQogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1f
c2hhcmVkQXJyYXlCdWZmZXJQcm90b3R5cGUpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmpl
Y3QtPm1fc2hhcmVkQXJyYXlCdWZmZXJTdHJ1Y3R1cmUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxPYmplY3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTR2xvYmFsT2JqZWN0LmgKaW5kZXggZDBhNjVkNTYwMmQ3YmQ4Y2YyMTU1
OGQ1OWMxZTI0YTI3MjhjMWIwOC4uYTg1NDhlNTNjNWU4M2Y5MDQwNDEyY2JhYjhmZjVhMzc2Y2U2
YzFlNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHbG9iYWxP
YmplY3QuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dsb2JhbE9iamVj
dC5oCkBAIC0xNDIsNyArMTQyLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV2F0Y2hwb2ludD4gY2xh
c3MgT2JqZWN0UHJvcGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQ7CiAgICAgRk9SX0VBQ0hf
U0lNUExFX0JVSUxUSU5fVFlQRV9XSVRIX0NPTlNUUlVDVE9SKG1hY3JvKSBcCiAgICAgbWFjcm8o
SlNJbnRlcm5hbFByb21pc2UsIGludGVybmFsUHJvbWlzZSwgaW50ZXJuYWxQcm9taXNlLCBKU0lu
dGVybmFsUHJvbWlzZSwgSW50ZXJuYWxQcm9taXNlLCBvYmplY3QpIFwKIAotI2RlZmluZSBGT1Jf
RUFDSF9MQVpZX0JVSUxUSU5fVFlQRShtYWNybykgXAorI2RlZmluZSBGT1JfRUFDSF9MQVpZX0JV
SUxUSU5fVFlQRV9XSVRIX0RFQ0xBUkFUSU9OKG1hY3JvKSBcCiAgICAgbWFjcm8oQm9vbGVhbiwg
Ym9vbGVhbiwgYm9vbGVhbk9iamVjdCwgQm9vbGVhbk9iamVjdCwgQm9vbGVhbiwgb2JqZWN0KSBc
CiAgICAgbWFjcm8oRGF0ZSwgZGF0ZSwgZGF0ZSwgRGF0ZUluc3RhbmNlLCBEYXRlLCBvYmplY3Qp
IFwKICAgICBtYWNybyhFcnJvciwgZXJyb3IsIGVycm9yLCBFcnJvckluc3RhbmNlLCBFcnJvciwg
b2JqZWN0KSBcCkBAIC0xNTEsNiArMTUxLDEwIEBAIHRlbXBsYXRlPHR5cGVuYW1lIFdhdGNocG9p
bnQ+IGNsYXNzIE9iamVjdFByb3BlcnR5Q2hhbmdlQWRhcHRpdmVXYXRjaHBvaW50OwogICAgIERF
RklORV9TVEFOREFSRF9CVUlMVElOKG1hY3JvLCBXZWFrTWFwLCB3ZWFrTWFwKSBcCiAgICAgREVG
SU5FX1NUQU5EQVJEX0JVSUxUSU4obWFjcm8sIFdlYWtTZXQsIHdlYWtTZXQpIFwKIAorI2RlZmlu
ZSBGT1JfRUFDSF9MQVpZX0JVSUxUSU5fVFlQRShtYWNybykgXAorICAgIEZPUl9FQUNIX0xBWllf
QlVJTFRJTl9UWVBFX1dJVEhfREVDTEFSQVRJT04obWFjcm8pIFwKKyAgICBtYWNybyhKU0FycmF5
QnVmZmVyLCBhcnJheUJ1ZmZlciwgYXJyYXlCdWZmZXIsIEpTQXJyYXlCdWZmZXIsIEFycmF5QnVm
ZmVyLCBvYmplY3QpIFwKKwogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKICNkZWZpbmUgRk9SX0VB
Q0hfV0VCQVNTRU1CTFlfQ09OU1RSVUNUT1JfVFlQRShtYWNybykgXAogICAgIG1hY3JvKFdlYkFz
c2VtYmx5Q29tcGlsZUVycm9yLCB3ZWJBc3NlbWJseUNvbXBpbGVFcnJvciwgV2ViQXNzZW1ibHlD
b21waWxlRXJyb3IsIFdlYkFzc2VtYmx5Q29tcGlsZUVycm9yLCBDb21waWxlRXJyb3IsIGVycm9y
KSBcCkBAIC0xNzIsNyArMTc2LDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgV2F0Y2hwb2ludD4gY2xh
c3MgT2JqZWN0UHJvcGVydHlDaGFuZ2VBZGFwdGl2ZVdhdGNocG9pbnQ7CiBjbGFzcyBJdGVyYXRv
clByb3RvdHlwZTsKIEZPUl9FQUNIX1NJTVBMRV9CVUlMVElOX1RZUEUoREVDTEFSRV9TSU1QTEVf
QlVJTFRJTl9UWVBFKQogRk9SX0JJR19JTlRfQlVJTFRJTl9UWVBFX1dJVEhfQ09OU1RSVUNUT1Io
REVDTEFSRV9TSU1QTEVfQlVJTFRJTl9UWVBFKQotRk9SX0VBQ0hfTEFaWV9CVUlMVElOX1RZUEUo
REVDTEFSRV9TSU1QTEVfQlVJTFRJTl9UWVBFKQorRk9SX0VBQ0hfTEFaWV9CVUlMVElOX1RZUEVf
V0lUSF9ERUNMQVJBVElPTihERUNMQVJFX1NJTVBMRV9CVUlMVElOX1RZUEUpCiBGT1JfRUFDSF9C
VUlMVElOX0RFUklWRURfSVRFUkFUT1JfVFlQRShERUNMQVJFX1NJTVBMRV9CVUlMVElOX1RZUEUp
CiBGT1JfRUFDSF9XRUJBU1NFTUJMWV9DT05TVFJVQ1RPUl9UWVBFKERFQ0xBUkVfU0lNUExFX0JV
SUxUSU5fVFlQRSkKIApAQCAtMjYwLDcgKzI2NCw2IEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDog
cHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3QgewogICAgIFdyaXRlQmFycmllcjxKU0Nh
bGxlZT4gbV9nbG9iYWxDYWxsZWU7CiAgICAgV3JpdGVCYXJyaWVyPEpTQ2FsbGVlPiBtX3N0YWNr
T3ZlcmZsb3dGcmFtZUNhbGxlZTsKIAotICAgIFdyaXRlQmFycmllcjxFcnJvckNvbnN0cnVjdG9y
PiBtX2Vycm9yQ29uc3RydWN0b3I7CiAgICAgTGF6eUNsYXNzU3RydWN0dXJlIG1fZXZhbEVycm9y
U3RydWN0dXJlOwogICAgIExhenlDbGFzc1N0cnVjdHVyZSBtX3JhbmdlRXJyb3JTdHJ1Y3R1cmU7
CiAgICAgTGF6eUNsYXNzU3RydWN0dXJlIG1fcmVmZXJlbmNlRXJyb3JTdHJ1Y3R1cmU7CkBAIC0y
ODMsMTUgKzI4NiwxNSBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRl
ZFZhcmlhYmxlT2JqZWN0IHsKICAgICBXcml0ZUJhcnJpZXI8TnVsbEdldHRlckZ1bmN0aW9uPiBt
X251bGxHZXR0ZXJGdW5jdGlvbjsKICAgICBXcml0ZUJhcnJpZXI8TnVsbFNldHRlckZ1bmN0aW9u
PiBtX251bGxTZXR0ZXJGdW5jdGlvbjsKIAotICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBt
X3BhcnNlSW50RnVuY3Rpb247Ci0gICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fcGFyc2VG
bG9hdEZ1bmN0aW9uOworICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgSlNGdW5jdGlv
bj4gbV9wYXJzZUludEZ1bmN0aW9uOworICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwg
SlNGdW5jdGlvbj4gbV9wYXJzZUZsb2F0RnVuY3Rpb247CiAKLSAgICBXcml0ZUJhcnJpZXI8SlNG
dW5jdGlvbj4gbV9ldmFsRnVuY3Rpb247CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1f
Y2FsbEZ1bmN0aW9uOwogICAgIFdyaXRlQmFycmllcjxKU0Z1bmN0aW9uPiBtX2FwcGx5RnVuY3Rp
b247CiAgICAgV3JpdGVCYXJyaWVyPEpTRnVuY3Rpb24+IG1fdGhyb3dUeXBlRXJyb3JGdW5jdGlv
bjsKICAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIEpTRnVuY3Rpb24+IG1fYXJyYXlQ
cm90b1RvU3RyaW5nRnVuY3Rpb247CiAgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBK
U0Z1bmN0aW9uPiBtX2FycmF5UHJvdG9WYWx1ZXNGdW5jdGlvbjsKKyAgICBMYXp5UHJvcGVydHk8
SlNHbG9iYWxPYmplY3QsIEpTRnVuY3Rpb24+IG1fZXZhbEZ1bmN0aW9uOwogICAgIExhenlQcm9w
ZXJ0eTxKU0dsb2JhbE9iamVjdCwgSlNGdW5jdGlvbj4gbV9pbml0aWFsaXplUHJvbWlzZUZ1bmN0
aW9uOwogICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgSlNGdW5jdGlvbj4gbV9pdGVy
YXRvclByb3RvY29sRnVuY3Rpb247CiAgICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBK
U0Z1bmN0aW9uPiBtX3Byb21pc2VSZXNvbHZlRnVuY3Rpb247CkBAIC0zMjAsNyArMzIzLDcgQEAg
Y2xhc3MgSlNHbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7
CiAKICAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIFN0cnVjdHVyZT4gbV9kZWJ1Z2dl
clNjb3BlU3RydWN0dXJlOwogICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0
dXJlPiBtX3dpdGhTY29wZVN0cnVjdHVyZTsKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X3N0cmljdEV2YWxBY3RpdmF0aW9uU3RydWN0dXJlOworICAgIExhenlQcm9wZXJ0eTxKU0dsb2Jh
bE9iamVjdCwgU3RydWN0dXJlPiBtX3N0cmljdEV2YWxBY3RpdmF0aW9uU3RydWN0dXJlOwogICAg
IFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fbGV4aWNhbEVudmlyb25tZW50U3RydWN0dXJlOwog
ICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX21vZHVsZUVudmly
b25tZW50U3RydWN0dXJlOwogICAgIFdyaXRlQmFycmllcjxTdHJ1Y3R1cmU+IG1fZGlyZWN0QXJn
dW1lbnRzU3RydWN0dXJlOwpAQCAtMzczLDEzICszNzYsMTEgQEAgY2xhc3MgSlNHbG9iYWxPYmpl
Y3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgV3JpdGVCYXJyaWVy
PFN0cnVjdHVyZT4gbV9pdGVyYXRvclJlc3VsdE9iamVjdFN0cnVjdHVyZTsKICAgICBXcml0ZUJh
cnJpZXI8U3RydWN0dXJlPiBtX3JlZ0V4cE1hdGNoZXNBcnJheVN0cnVjdHVyZTsKICAgICBXcml0
ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3JlZ0V4cE1hdGNoZXNBcnJheVdpdGhHcm91cHNTdHJ1Y3R1
cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9tb2R1bGVSZWNvcmRTdHJ1Y3R1cmU7
Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9tb2R1bGVOYW1lc3BhY2VPYmplY3RTdHJ1
Y3R1cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcm94eU9iamVjdFN0cnVjdHVy
ZTsKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2NhbGxhYmxlUHJveHlPYmplY3RTdHJ1
Y3R1cmU7Ci0gICAgV3JpdGVCYXJyaWVyPFN0cnVjdHVyZT4gbV9wcm94eVJldm9rZVN0cnVjdHVy
ZTsKLSAgICBXcml0ZUJhcnJpZXI8SlNBcnJheUJ1ZmZlclByb3RvdHlwZT4gbV9hcnJheUJ1ZmZl
clByb3RvdHlwZTsKLSAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2FycmF5QnVmZmVyU3Ry
dWN0dXJlOworICAgIExhenlQcm9wZXJ0eTxKU0dsb2JhbE9iamVjdCwgU3RydWN0dXJlPiBtX21v
ZHVsZVJlY29yZFN0cnVjdHVyZTsKKyAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIFN0
cnVjdHVyZT4gbV9tb2R1bGVOYW1lc3BhY2VPYmplY3RTdHJ1Y3R1cmU7CisgICAgTGF6eVByb3Bl
cnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1fcHJveHlPYmplY3RTdHJ1Y3R1cmU7Cisg
ICAgTGF6eVByb3BlcnR5PEpTR2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmU+IG1fY2FsbGFibGVQcm94
eU9iamVjdFN0cnVjdHVyZTsKKyAgICBMYXp5UHJvcGVydHk8SlNHbG9iYWxPYmplY3QsIFN0cnVj
dHVyZT4gbV9wcm94eVJldm9rZVN0cnVjdHVyZTsKICNpZiBFTkFCTEUoU0hBUkVEX0FSUkFZX0JV
RkZFUikKICAgICBXcml0ZUJhcnJpZXI8SlNBcnJheUJ1ZmZlclByb3RvdHlwZT4gbV9zaGFyZWRB
cnJheUJ1ZmZlclByb3RvdHlwZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX3NoYXJl
ZEFycmF5QnVmZmVyU3RydWN0dXJlOwpAQCAtNTkzLDEwICs1OTQsMTAgQEAgY2xhc3MgSlNHbG9i
YWxPYmplY3QgOiBwdWJsaWMgSlNTZWdtZW50ZWRWYXJpYWJsZU9iamVjdCB7CiAgICAgTnVsbEdl
dHRlckZ1bmN0aW9uKiBudWxsR2V0dGVyRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX251bGxH
ZXR0ZXJGdW5jdGlvbi5nZXQoKTsgfQogICAgIE51bGxTZXR0ZXJGdW5jdGlvbiogbnVsbFNldHRl
ckZ1bmN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9udWxsU2V0dGVyRnVuY3Rpb24uZ2V0KCk7IH0K
IAotICAgIEpTRnVuY3Rpb24qIHBhcnNlSW50RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3Bh
cnNlSW50RnVuY3Rpb24uZ2V0KCk7IH0KLSAgICBKU0Z1bmN0aW9uKiBwYXJzZUZsb2F0RnVuY3Rp
b24oKSBjb25zdCB7IHJldHVybiBtX3BhcnNlRmxvYXRGdW5jdGlvbi5nZXQoKTsgfQorICAgIEpT
RnVuY3Rpb24qIHBhcnNlSW50RnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3BhcnNlSW50RnVu
Y3Rpb24uZ2V0KHRoaXMpOyB9CisgICAgSlNGdW5jdGlvbiogcGFyc2VGbG9hdEZ1bmN0aW9uKCkg
Y29uc3QgeyByZXR1cm4gbV9wYXJzZUZsb2F0RnVuY3Rpb24uZ2V0KHRoaXMpOyB9CiAKLSAgICBK
U0Z1bmN0aW9uKiBldmFsRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2V2YWxGdW5jdGlvbi5n
ZXQoKTsgfQorICAgIEpTRnVuY3Rpb24qIGV2YWxGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1f
ZXZhbEZ1bmN0aW9uLmdldCh0aGlzKTsgfQogICAgIEpTRnVuY3Rpb24qIGNhbGxGdW5jdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fY2FsbEZ1bmN0aW9uLmdldCgpOyB9CiAgICAgSlNGdW5jdGlvbiog
YXBwbHlGdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbHlGdW5jdGlvbi5nZXQoKTsgfQog
ICAgIEpTRnVuY3Rpb24qIHRocm93VHlwZUVycm9yRnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBt
X3Rocm93VHlwZUVycm9yRnVuY3Rpb24uZ2V0KCk7IH0KQEAgLTY0NSw3ICs2NDYsNyBAQCBjbGFz
cyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRlZFZhcmlhYmxlT2JqZWN0IHsKIAog
ICAgIFN0cnVjdHVyZSogZGVidWdnZXJTY29wZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGVidWdnZXJTY29wZVN0cnVjdHVyZS5nZXQodGhpcyk7IH0KICAgICBTdHJ1Y3R1cmUqIHdpdGhT
Y29wZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2l0aFNjb3BlU3RydWN0dXJlLmdldCh0
aGlzKTsgfQotICAgIFN0cnVjdHVyZSogc3RyaWN0RXZhbEFjdGl2YXRpb25TdHJ1Y3R1cmUoKSBj
b25zdCB7IHJldHVybiBtX3N0cmljdEV2YWxBY3RpdmF0aW9uU3RydWN0dXJlLmdldCgpOyB9Cisg
ICAgU3RydWN0dXJlKiBzdHJpY3RFdmFsQWN0aXZhdGlvblN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc3RyaWN0RXZhbEFjdGl2YXRpb25TdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CiAgICAgU3Ry
dWN0dXJlKiBhY3RpdmF0aW9uU3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9sZXhpY2FsRW52
aXJvbm1lbnRTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBTdHJ1Y3R1cmUqIG1vZHVsZUVudmlyb25t
ZW50U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9tb2R1bGVFbnZpcm9ubWVudFN0cnVjdHVy
ZS5nZXQodGhpcyk7IH0KICAgICBTdHJ1Y3R1cmUqIGRpcmVjdEFyZ3VtZW50c1N0cnVjdHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0QXJndW1lbnRzU3RydWN0dXJlLmdldCgpOyB9CkBAIC03
NTEsMTEgKzc1MiwxMSBAQCBjbGFzcyBKU0dsb2JhbE9iamVjdCA6IHB1YmxpYyBKU1NlZ21lbnRl
ZFZhcmlhYmxlT2JqZWN0IHsKICAgICBTdHJ1Y3R1cmUqIGl0ZXJhdG9yUmVzdWx0T2JqZWN0U3Ry
dWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9pdGVyYXRvclJlc3VsdE9iamVjdFN0cnVjdHVyZS5n
ZXQoKTsgfQogICAgIFN0cnVjdHVyZSogcmVnRXhwTWF0Y2hlc0FycmF5U3RydWN0dXJlKCkgY29u
c3QgeyByZXR1cm4gbV9yZWdFeHBNYXRjaGVzQXJyYXlTdHJ1Y3R1cmUuZ2V0KCk7IH0KICAgICBT
dHJ1Y3R1cmUqIHJlZ0V4cE1hdGNoZXNBcnJheVdpdGhHcm91cHNTdHJ1Y3R1cmUoKSBjb25zdCB7
IHJldHVybiBtX3JlZ0V4cE1hdGNoZXNBcnJheVdpdGhHcm91cHNTdHJ1Y3R1cmUuZ2V0KCk7IH0K
LSAgICBTdHJ1Y3R1cmUqIG1vZHVsZVJlY29yZFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bW9kdWxlUmVjb3JkU3RydWN0dXJlLmdldCgpOyB9Ci0gICAgU3RydWN0dXJlKiBtb2R1bGVOYW1l
c3BhY2VPYmplY3RTdHJ1Y3R1cmUoKSBjb25zdCB7IHJldHVybiBtX21vZHVsZU5hbWVzcGFjZU9i
amVjdFN0cnVjdHVyZS5nZXQoKTsgfQotICAgIFN0cnVjdHVyZSogcHJveHlPYmplY3RTdHJ1Y3R1
cmUoKSBjb25zdCB7IHJldHVybiBtX3Byb3h5T2JqZWN0U3RydWN0dXJlLmdldCgpOyB9Ci0gICAg
U3RydWN0dXJlKiBjYWxsYWJsZVByb3h5T2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4g
bV9jYWxsYWJsZVByb3h5T2JqZWN0U3RydWN0dXJlLmdldCgpOyB9Ci0gICAgU3RydWN0dXJlKiBw
cm94eVJldm9rZVN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJveHlSZXZva2VTdHJ1Y3R1
cmUuZ2V0KCk7IH0KKyAgICBTdHJ1Y3R1cmUqIG1vZHVsZVJlY29yZFN0cnVjdHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbW9kdWxlUmVjb3JkU3RydWN0dXJlLmdldCh0aGlzKTsgfQorICAgIFN0cnVj
dHVyZSogbW9kdWxlTmFtZXNwYWNlT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9t
b2R1bGVOYW1lc3BhY2VPYmplY3RTdHJ1Y3R1cmUuZ2V0KHRoaXMpOyB9CisgICAgU3RydWN0dXJl
KiBwcm94eU9iamVjdFN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJveHlPYmplY3RTdHJ1
Y3R1cmUuZ2V0KHRoaXMpOyB9CisgICAgU3RydWN0dXJlKiBjYWxsYWJsZVByb3h5T2JqZWN0U3Ry
dWN0dXJlKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYWJsZVByb3h5T2JqZWN0U3RydWN0dXJlLmdl
dCh0aGlzKTsgfQorICAgIFN0cnVjdHVyZSogcHJveHlSZXZva2VTdHJ1Y3R1cmUoKSBjb25zdCB7
IHJldHVybiBtX3Byb3h5UmV2b2tlU3RydWN0dXJlLmdldCh0aGlzKTsgfQogICAgIFN0cnVjdHVy
ZSogcmVzdFBhcmFtZXRlclN0cnVjdHVyZSgpIGNvbnN0IHsgcmV0dXJuIGFycmF5U3RydWN0dXJl
Rm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihBcnJheVdpdGhDb250aWd1b3VzKTsgfQog
ICAgIFN0cnVjdHVyZSogb3JpZ2luYWxSZXN0UGFyYW1ldGVyU3RydWN0dXJlKCkgY29uc3QgeyBy
ZXR1cm4gb3JpZ2luYWxBcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZShBcnJheVdpdGhDb250
aWd1b3VzKTsgfQogI2lmIEVOQUJMRShXRUJBU1NFTUJMWSkKQEAgLTgwMCwxNyArODAxLDE5IEBA
IGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Qg
ewogICAgIHZvaWQgc2V0TmFtZShjb25zdCBTdHJpbmcmKTsKICAgICBjb25zdCBTdHJpbmcmIG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KIAotICAgIEpTQXJyYXlCdWZmZXJQcm90b3R5
cGUqIGFycmF5QnVmZmVyUHJvdG90eXBlKEFycmF5QnVmZmVyU2hhcmluZ01vZGUgc2hhcmluZ01v
ZGUpIGNvbnN0CisgICAgSlNPYmplY3QqIGFycmF5QnVmZmVyQ29uc3RydWN0b3IoKSBjb25zdCB7
IHJldHVybiBtX2FycmF5QnVmZmVyU3RydWN0dXJlLmNvbnN0cnVjdG9yKHRoaXMpOyB9CisKKyAg
ICBKU09iamVjdCogYXJyYXlCdWZmZXJQcm90b3R5cGUoQXJyYXlCdWZmZXJTaGFyaW5nTW9kZSBz
aGFyaW5nTW9kZSkgY29uc3QKICAgICB7CiAgICAgICAgIHN3aXRjaCAoc2hhcmluZ01vZGUpIHsK
ICAgICAgICAgY2FzZSBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlOjpEZWZhdWx0OgotICAgICAgICAg
ICAgcmV0dXJuIG1fYXJyYXlCdWZmZXJQcm90b3R5cGUuZ2V0KCk7CisgICAgICAgICAgICByZXR1
cm4gbV9hcnJheUJ1ZmZlclN0cnVjdHVyZS5wcm90b3R5cGUodGhpcyk7CiAjaWYgRU5BQkxFKFNI
QVJFRF9BUlJBWV9CVUZGRVIpCiAgICAgICAgIGNhc2UgQXJyYXlCdWZmZXJTaGFyaW5nTW9kZTo6
U2hhcmVkOgogICAgICAgICAgICAgcmV0dXJuIG1fc2hhcmVkQXJyYXlCdWZmZXJQcm90b3R5cGUu
Z2V0KCk7CiAjZWxzZQogICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgcmV0dXJuIG1fYXJy
YXlCdWZmZXJQcm90b3R5cGUuZ2V0KCk7CisgICAgICAgICAgICByZXR1cm4gbV9hcnJheUJ1ZmZl
clN0cnVjdHVyZS5wcm90b3R5cGUodGhpcyk7CiAjZW5kaWYKICAgICAgICAgfQogICAgIH0KQEAg
LTgxOCwxMyArODIxLDEzIEBAIGNsYXNzIEpTR2xvYmFsT2JqZWN0IDogcHVibGljIEpTU2VnbWVu
dGVkVmFyaWFibGVPYmplY3QgewogICAgIHsKICAgICAgICAgc3dpdGNoIChzaGFyaW5nTW9kZSkg
ewogICAgICAgICBjYXNlIEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQ6Ci0gICAgICAg
ICAgICByZXR1cm4gbV9hcnJheUJ1ZmZlclN0cnVjdHVyZS5nZXQoKTsKKyAgICAgICAgICAgIHJl
dHVybiBtX2FycmF5QnVmZmVyU3RydWN0dXJlLmdldCh0aGlzKTsKICNpZiBFTkFCTEUoU0hBUkVE
X0FSUkFZX0JVRkZFUikKICAgICAgICAgY2FzZSBBcnJheUJ1ZmZlclNoYXJpbmdNb2RlOjpTaGFy
ZWQ6CiAgICAgICAgICAgICByZXR1cm4gbV9zaGFyZWRBcnJheUJ1ZmZlclN0cnVjdHVyZS5nZXQo
KTsKICNlbHNlCiAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICByZXR1cm4gbV9hcnJheUJ1
ZmZlclN0cnVjdHVyZS5nZXQoKTsKKyAgICAgICAgICAgIHJldHVybiBtX2FycmF5QnVmZmVyU3Ry
dWN0dXJlLmdldCh0aGlzKTsKICNlbmRpZgogICAgICAgICB9CiAgICAgICAgIFJFTEVBU0VfQVNT
RVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9Qcm94eU9iamVjdC5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJveHlP
YmplY3QuaAppbmRleCBkMjA0YTlkNDljYmI1YTVkMWE5ZjViNjUyNTRhYWFlNTY4YjgzMzc1Li5k
ZjdhMWVlNzlkOTQ3OTczNTFjYTM4YWFlMTdmZjEyNDE2Njk3MmZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Qcm94eU9iamVjdC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1Byb3h5T2JqZWN0LmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3Mg
UHJveHlPYmplY3QgZmluYWwgOiBwdWJsaWMgSlNOb25GaW5hbE9iamVjdCB7CiAgICAgc3RhdGlj
IFByb3h5T2JqZWN0KiBjcmVhdGUoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBKU1ZhbHVlIHRhcmdldCwgSlNWYWx1ZSBoYW5kbGVyKQogICAgIHsKICAgICAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICAgICAgUHJveHlPYmplY3QqIHByb3h5ID0gbmV3
IChOb3ROdWxsLCBhbGxvY2F0ZUNlbGw8UHJveHlPYmplY3Q+KHZtLmhlYXApKSBQcm94eU9iamVj
dCh2bSwgUHJveHlPYmplY3Q6OnN0cnVjdHVyZUZvclRhcmdldChnbG9iYWxPYmplY3QsIHRhcmdl
dCkpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IFByb3h5T2JqZWN0OjpzdHJ1Y3R1
cmVGb3JUYXJnZXQoZ2xvYmFsT2JqZWN0LCB0YXJnZXQpOworICAgICAgICBQcm94eU9iamVjdCog
cHJveHkgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRlQ2VsbDxQcm94eU9iamVjdD4odm0uaGVhcCkp
IFByb3h5T2JqZWN0KHZtLCBzdHJ1Y3R1cmUpOwogICAgICAgICBwcm94eS0+ZmluaXNoQ3JlYXRp
b24odm0sIGV4ZWMsIHRhcmdldCwgaGFuZGxlcik7CiAgICAgICAgIHJldHVybiBwcm94eTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFs
QWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RFdmFs
QWN0aXZhdGlvbi5jcHAKaW5kZXggM2Q2MzM1MmRjY2VlNDlmYzdjYTljMGZlZWJlN2Q4NjAxMzc2
NTc2My4uNmU0MTlmYWEyODVjNGM3ODczNmM0Y2RmZmU1ZGUyZGUyZTdkN2UwYSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9u
LmNwcApAQCAtMzUsMTIgKzM1LDggQEAgU1RBVElDX0FTU0VSVF9JU19UUklWSUFMTFlfREVTVFJV
Q1RJQkxFKFN0cmljdEV2YWxBY3RpdmF0aW9uKTsKIAogY29uc3QgQ2xhc3NJbmZvIFN0cmljdEV2
YWxBY3RpdmF0aW9uOjpzX2luZm8gPSB7ICJPYmplY3QiLCAmQmFzZTo6c19pbmZvLCBudWxscHRy
LCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKFN0cmljdEV2YWxBY3RpdmF0aW9uKSB9Owog
Ci1TdHJpY3RFdmFsQWN0aXZhdGlvbjo6U3RyaWN0RXZhbEFjdGl2YXRpb24oRXhlY1N0YXRlKiBl
eGVjLCBKU1Njb3BlKiBjdXJyZW50U2NvcGUpCi0gICAgOiBCYXNlKAotICAgICAgICBleGVjLT52
bSgpLAotICAgICAgICBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPnN0cmljdEV2YWxBY3Rp
dmF0aW9uU3RydWN0dXJlKCksCi0gICAgICAgIGN1cnJlbnRTY29wZQotICAgICkKK1N0cmljdEV2
YWxBY3RpdmF0aW9uOjpTdHJpY3RFdmFsQWN0aXZhdGlvbihWTSYgdm0sIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBKU1Njb3BlKiBjdXJyZW50U2NvcGUpCisgICAgOiBCYXNlKHZtLCBzdHJ1Y3R1cmUs
IGN1cnJlbnRTY29wZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaWN0RXZhbEFjdGl2YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cmljdEV2YWxBY3RpdmF0aW9uLmgKaW5kZXggMmJlMDlmNWRkOTVhNGJiNDkzZjM5
OTc1ODI4YWQ1YjczNWQ4NWU1YS4uZjFiYzFkNmJmNWVmYTgzN2ZjNjdjYjZiYzc5MTFjMTYxYTVj
N2QxNSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaWN0RXZh
bEFjdGl2YXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpY3RF
dmFsQWN0aXZhdGlvbi5oCkBAIC0zMywxMiArMzMsMTEgQEAgY2xhc3MgU3RyaWN0RXZhbEFjdGl2
YXRpb24gZmluYWwgOiBwdWJsaWMgSlNTY29wZSB7CiBwdWJsaWM6CiAgICAgdXNpbmcgQmFzZSA9
IEpTU2NvcGU7CiAKLSAgICBzdGF0aWMgU3RyaWN0RXZhbEFjdGl2YXRpb24qIGNyZWF0ZShFeGVj
U3RhdGUqIGV4ZWMsIEpTU2NvcGUqIGN1cnJlbnRTY29wZSkKKyAgICBzdGF0aWMgU3RyaWN0RXZh
bEFjdGl2YXRpb24qIGNyZWF0ZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU1Njb3Bl
KiBjdXJyZW50U2NvcGUpCiAgICAgewotICAgICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAg
ICAgICBTdHJpY3RFdmFsQWN0aXZhdGlvbiogbGV4aWNhbEVudmlyb25tZW50ID0gbmV3IChOb3RO
dWxsLCBhbGxvY2F0ZUNlbGw8U3RyaWN0RXZhbEFjdGl2YXRpb24+KHZtLmhlYXApKSBTdHJpY3RF
dmFsQWN0aXZhdGlvbihleGVjLCBjdXJyZW50U2NvcGUpOwotICAgICAgICBsZXhpY2FsRW52aXJv
bm1lbnQtPmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICAgICAgcmV0dXJuIGxleGljYWxFbnZpcm9u
bWVudDsKKyAgICAgICAgU3RyaWN0RXZhbEFjdGl2YXRpb24qIHNjb3BlID0gbmV3IChOb3ROdWxs
LCBhbGxvY2F0ZUNlbGw8U3RyaWN0RXZhbEFjdGl2YXRpb24+KHZtLmhlYXApKSBTdHJpY3RFdmFs
QWN0aXZhdGlvbih2bSwgc3RydWN0dXJlLCBjdXJyZW50U2NvcGUpOworICAgICAgICBzY29wZS0+
ZmluaXNoQ3JlYXRpb24odm0pOworICAgICAgICByZXR1cm4gc2NvcGU7CiAgICAgfQogCiAgICAg
c3RhdGljIGJvb2wgZGVsZXRlUHJvcGVydHkoSlNDZWxsKiwgRXhlY1N0YXRlKiwgUHJvcGVydHlO
YW1lKTsKQEAgLTUxLDcgKzUwLDcgQEAgY2xhc3MgU3RyaWN0RXZhbEFjdGl2YXRpb24gZmluYWwg
OiBwdWJsaWMgSlNTY29wZSB7CiAgICAgREVDTEFSRV9JTkZPOwogCiBwcml2YXRlOgotICAgIFN0
cmljdEV2YWxBY3RpdmF0aW9uKEV4ZWNTdGF0ZSosIEpTU2NvcGUqKTsKKyAgICBTdHJpY3RFdmFs
QWN0aXZhdGlvbihWTSYsIFN0cnVjdHVyZSosIEpTU2NvcGUqKTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvSlNXZWJB
c3NlbWJseU1lbW9yeS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFz
c2VtYmx5TWVtb3J5LmNwcAppbmRleCA3YTZhNWYwMzk4Zjg2MGExMDEzOGI2YjNiZDU5NTYyYzAw
N2Q5ZTI2Li4zNGI5OTBkNWNhMzdjMGY5Njg5ZGEyMGQ4OWFhOWUxZDIyYzM0ZWVhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9KU1dlYkFzc2VtYmx5TWVtb3J5
LmNwcApAQCAtODMsNyArODMsNyBAQCBKU0FycmF5QnVmZmVyKiBKU1dlYkFzc2VtYmx5TWVtb3J5
OjpidWZmZXIoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQogICAgIGF1dG8g
ZGVzdHJ1Y3RvciA9IFtwcm90ZWN0ZWRNZW1vcnkgPSBXVEZNb3ZlKHByb3RlY3RlZE1lbW9yeSld
ICh2b2lkKikgeyB9OwogICAgIG1fYnVmZmVyID0gQXJyYXlCdWZmZXI6OmNyZWF0ZUZyb21CeXRl
cyhtZW1vcnkoKS5tZW1vcnkoKSwgbWVtb3J5KCkuc2l6ZSgpLCBXVEZNb3ZlKGRlc3RydWN0b3Ip
KTsKICAgICBtX2J1ZmZlci0+bWFrZVdhc21NZW1vcnkoKTsKLSAgICBtX2J1ZmZlcldyYXBwZXIu
c2V0KHZtLCB0aGlzLCBKU0FycmF5QnVmZmVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+bV9h
cnJheUJ1ZmZlclN0cnVjdHVyZS5nZXQoKSwgbV9idWZmZXIuZ2V0KCkpKTsKKyAgICBtX2J1ZmZl
cldyYXBwZXIuc2V0KHZtLCB0aGlzLCBKU0FycmF5QnVmZmVyOjpjcmVhdGUodm0sIGdsb2JhbE9i
amVjdC0+YXJyYXlCdWZmZXJTdHJ1Y3R1cmUoQXJyYXlCdWZmZXJTaGFyaW5nTW9kZTo6RGVmYXVs
dCksIG1fYnVmZmVyLmdldCgpKSk7CiAgICAgUkVMRUFTRV9BU1NFUlQobV9idWZmZXJXcmFwcGVy
KTsKICAgICByZXR1cm4gbV9idWZmZXJXcmFwcGVyLmdldCgpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vanMvV2ViQXNzZW1ibHlNb2R1bGVDb25zdHJ1Y3Rvci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZUNvbnN0
cnVjdG9yLmNwcAppbmRleCBkYjA0OWMxODFjMjMyZTE2MWFjYzk5NTg0YjM5MGVhNjg5NTlkNjEw
Li5lNDgxYzJkYTQ1OTFhYzU5ZDJiODMyYTRlZjdlY2U1YmY5NTQ1YzkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVsZUNvbnN0cnVjdG9y
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9qcy9XZWJBc3NlbWJseU1vZHVs
ZUNvbnN0cnVjdG9yLmNwcApAQCAtODgsNyArODgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIHdlYkFzc2VtYmx5TW9kdWxlQ3VzdG9tU2VjdGlvbnMoRXhlY1N0YXRlKiBleGVjKQog
ICAgICAgICAgICAgaWYgKCFidWZmZXIpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZSh0aHJvd0V4Y2VwdGlvbihleGVjLCB0aHJvd1Njb3BlLCBjcmVhdGVPdXRPZk1lbW9y
eUVycm9yKGV4ZWMpKSk7CiAKLSAgICAgICAgICAgIHJlc3VsdC0+cHVzaChleGVjLCBKU0FycmF5
QnVmZmVyOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdC0+bV9hcnJheUJ1ZmZlclN0cnVjdHVyZS5n
ZXQoKSwgV1RGTW92ZShidWZmZXIpKSk7CisgICAgICAgICAgICByZXN1bHQtPnB1c2goZXhlYywg
SlNBcnJheUJ1ZmZlcjo6Y3JlYXRlKHZtLCBnbG9iYWxPYmplY3QtPmFycmF5QnVmZmVyU3RydWN0
dXJlKEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQpLCBXVEZNb3ZlKGJ1ZmZlcikpKTsK
ICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgeyB9KTsKICAgICAg
ICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NR2xvYmFs
T2JqZWN0LmNwcAppbmRleCBhNGVjNGQwYTk4YTkwMjIxY2UzZTQ0YTZmODI4ZmI4YmI1YmI0ZDI2
Li5kMTQ0MDkxMjU5NWQ1OGJlOWQ1YWQyYzc1NmM4NjYwZDUzMjEzNzEyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuY3BwCkBAIC0xMjYsNyAr
MTI2LDcgQEAgdm9pZCBKU0RPTUdsb2JhbE9iamVjdDo6YWRkQnVpbHRpbkdsb2JhbHMoVk0mIHZt
KQogICAgICAgICAgICAgSlNGdW5jdGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJpbmcoKSwg
c3RydWN0dXJlZENsb25lQXJyYXlCdWZmZXIpLCBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksCiAgICAgICAgIEpTRE9NR2xvYmFsT2Jq
ZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5idWlsdGluTmFtZXMoKS5zdHJ1Y3R1
cmVkQ2xvbmVBcnJheUJ1ZmZlclZpZXdQcml2YXRlTmFtZSgpLAogICAgICAgICAgICAgSlNGdW5j
dGlvbjo6Y3JlYXRlKHZtLCB0aGlzLCAxLCBTdHJpbmcoKSwgc3RydWN0dXJlZENsb25lQXJyYXlC
dWZmZXJWaWV3KSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkpLAotICAgICAgICBKU0RPTUdsb2JhbE9iamVjdDo6R2xvYmFsUHJvcGVy
dHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmJ1aWx0aW5OYW1lcygpLkFycmF5QnVmZmVyUHJpdmF0
ZU5hbWUoKSwgZ2V0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5BcnJheUJ1ZmZlciksIFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
KSwKKyAgICAgICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9w
ZXJ0eU5hbWVzLT5idWlsdGluTmFtZXMoKS5BcnJheUJ1ZmZlclByaXZhdGVOYW1lKCksIGFycmF5
QnVmZmVyQ29uc3RydWN0b3IoKSwgUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBQcm9w
ZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkpLAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKICAgICAg
ICAgSlNET01HbG9iYWxPYmplY3Q6Okdsb2JhbFByb3BlcnR5SW5mbyhjbGllbnREYXRhLmJ1aWx0
aW5OYW1lcygpLnN0cmVhbUNsb3NlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDEpLCBQcm9wZXJ0
eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IFByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSksCiAg
ICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0OjpHbG9iYWxQcm9wZXJ0eUluZm8oY2xpZW50RGF0YS5i
dWlsdGluTmFtZXMoKS5zdHJlYW1DbG9zaW5nUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMiksIFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgUHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5
KSwK
</data>
<flag name="review"
          id="380536"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>