<?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>209531</bug_id>
          
          <creation_ts>2020-03-24 22:51:15 -0700</creation_ts>
          <short_desc>Avoid querying pasteboard strings while dragging content over a potential drop target</short_desc>
          <delta_ts>2020-03-25 08:05:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</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>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>bdakin</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1633786</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-24 22:51:15 -0700</bug_when>
    <thetext>Refactor some code running in the web process, such that it doesn’t need to ask for pasteboard data prior to drop (or paste).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633788</commentid>
    <comment_count>1</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-24 22:51:49 -0700</bug_when>
    <thetext>Work towards &lt;rdar://problem/59611585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633793</commentid>
    <comment_count>2</comment_count>
      <attachid>394471</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-24 23:04:23 -0700</bug_when>
    <thetext>Created attachment 394471
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633795</commentid>
    <comment_count>3</comment_count>
      <attachid>394471</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-03-24 23:12:30 -0700</bug_when>
    <thetext>Comment on attachment 394471
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        This is incompatible with some changes in the near future which will prevent the web content process from any
&gt; +        reading data from the pasteboard, if a paste or drop action has not yet been performed. To address this issue,

&quot;any reading data&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633801</commentid>
    <comment_count>4</comment_count>
      <attachid>394471</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-03-24 23:44:19 -0700</bug_when>
    <thetext>Comment on attachment 394471
Patch

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

&gt; Source/WebCore/platform/PlatformPasteboard.h:102
&gt;      WEBCORE_EXPORT Vector&lt;String&gt; typesSafeForDOMToReadAndWrite(const String&amp; origin) const;
&gt; +    WEBCORE_EXPORT bool containsDOMSafeStringForType(const String&amp;) const;

For consistency, I suggest we call this containsStringSafeForDOMToReadForType</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633856</commentid>
    <comment_count>5</comment_count>
      <attachid>394471</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-25 07:19:44 -0700</bug_when>
    <thetext>Comment on attachment 394471
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:15
&gt;&gt; +        reading data from the pasteboard, if a paste or drop action has not yet been performed. To address this issue,
&gt; 
&gt; &quot;any reading data&quot;?

Oops — fixed!

&gt;&gt; Source/WebCore/platform/PlatformPasteboard.h:102
&gt;&gt; +    WEBCORE_EXPORT bool containsDOMSafeStringForType(const String&amp;) const;
&gt; 
&gt; For consistency, I suggest we call this containsStringSafeForDOMToReadForType

Sounds good — changed to containsStringSafeForDOMToReadForType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633861</commentid>
    <comment_count>6</comment_count>
      <attachid>394494</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-03-25 07:41:43 -0700</bug_when>
    <thetext>Created attachment 394494
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1633867</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-03-25 08:05:58 -0700</bug_when>
    <thetext>Committed r258980: &lt;https://trac.webkit.org/changeset/258980&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 394494.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394471</attachid>
            <date>2020-03-24 23:04:23 -0700</date>
            <delta_ts>2020-03-24 23:12:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209531-20200324230422.patch</filename>
            <type>text/plain</type>
            <size>15830</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTgyZDQ1Mzg1ZDQ2ZjJi
YTdiMmNiYmVhMTkwZTljMjg5YjdmZjFkZS4uZWYxMWQ1NDY1MjA0YjRiZTEyYTJmOGNiNjgzZjI3
YWMzMGI2MGU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIwLTAzLTI0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIHF1ZXJ5
aW5nIHBhc3RlYm9hcmQgc3RyaW5ncyB3aGlsZSBkcmFnZ2luZyBjb250ZW50IG92ZXIgYSBwb3Rl
bnRpYWwgZHJvcCB0YXJnZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTUzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEEgY291cGxlIG9mIHBsYWNlcyBpbiBXZWJDb3JlIGN1cnJlbnRseSB1c2UgUGFz
dGVib2FyZFN0cmF0ZWd5OjpzdHJpbmdGb3JUeXBlKCkgdG8gcXVlcnkgZm9yIHBhc3RlYm9hcmQg
VVJMCisgICAgICAgIHN0cmluZ3MuIFRoZXNlIGNhbGwgc2l0ZXMgYXR0ZW1wdCB0byByZWFkIFVS
TCBzdHJpbmdzICh1c2luZyBib3RoIHJlYWRTdHJpbmcgYW5kIHN0cmluZ0ZvclR5cGUpIGZvciB0
aGUgcHVycG9zZXMKKyAgICAgICAgb2YgY2hlY2tpbmcgd2hldGhlciBvciBub3Qgd2Ugc2hvdWxk
IGF2b2lkIGV4cG9zaW5nIHRoZSBVUkwgc3RyaW5nIHRvIHdlYiBjb250ZW50IChub3RlIHRoYXQg
aW4gdGhlIGNhc2Ugb2YKKyAgICAgICAgY29udGFpbnNQbGFpblRleHQsIHdlIGFjdHVhbGx5IGNo
ZWNrIHdoZXRoZXIgb3Igbm90IHRoZSBzdHJpbmcgaXMgZW1wdHksIHdoaWNoIGRlcGVuZHMgb24g
d2hldGhlciBvciBub3QgdGhlCisgICAgICAgIHN0cmluZyBpcyBzYWZlIHRvIGV4cG9zZSB0byB0
aGUgd2ViIC0tIGUuZy4sIG5vdCBhIGZpbGUgVVJMKS4KKworICAgICAgICBUaGlzIGlzIGluY29t
cGF0aWJsZSB3aXRoIHNvbWUgY2hhbmdlcyBpbiB0aGUgbmVhciBmdXR1cmUgd2hpY2ggd2lsbCBw
cmV2ZW50IHRoZSB3ZWIgY29udGVudCBwcm9jZXNzIGZyb20gYW55CisgICAgICAgIHJlYWRpbmcg
ZGF0YSBmcm9tIHRoZSBwYXN0ZWJvYXJkLCBpZiBhIHBhc3RlIG9yIGRyb3AgYWN0aW9uIGhhcyBu
b3QgeWV0IGJlZW4gcGVyZm9ybWVkLiBUbyBhZGRyZXNzIHRoaXMgaXNzdWUsCisgICAgICAgIHdl
IGludHJvZHVjZSBhbiBhbHRlcm5hdGUgUGFzdGVib2FyZFN0cmF0ZWd5IG1ldGhvZCwgY29udGFp
bnNET01TYWZlU3RyaW5nRm9yVHlwZSwgd2hpY2ggcmV0dXJucyAoZm9yIGEgZ2l2ZW4KKyAgICAg
ICAgcGxhdGZvcm0gcGFzdGVib2FyZCB0eXBlKSB3aGV0aGVyIG9yIG5vdCBhIHN0cmluZyB0aGF0
IGNhbiBiZSBzYWZlbHkgZXhwb3NlZCB0byBiaW5kaW5ncyBleGlzdHMuCisKKyAgICAgICAgUmF0
aGVyIHRoYW4gYWxsb3cgdGhlIHdlYiBwcm9jZXNzIHRvIHJlYWQgdGhlIGVudGlyZSBzdHJpbmcs
IGxpbWl0IGl0IHRvIGp1c3QgdGhpcyB0cnVlL2ZhbHNlIGFuc3dlci4KKworICAgICAgICAqIHBs
YXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3Jt
UGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW06
CisgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6Y29udGFpbnNQbGFpblRleHQgY29uc3QpOgor
CisgICAgICAgIFVzZSBjb250YWluc0RPTVNhZmVTdHJpbmdGb3JUeXBlIGluc3RlYWQgb2Ygc3Ry
aW5nRm9yVHlwZS4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmZpbGVDb250ZW50U3RhdGUpOgorCisg
ICAgICAgIFVzZSBjb250YWluc0RPTVNhZmVTdHJpbmdGb3JUeXBlIGluc3RlYWQgb2YgcmVhZFN0
cmluZy4KKworICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1BsYXRmb3JtUGFzdGVib2FyZENvY29h
Lm1tOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1QYXN0ZWJvYXJkOjpjb250YWluc0RPTVNh
ZmVTdHJpbmdGb3JUeXBlIGNvbnN0KToKKwogMjAyMC0wMy0yNCAgQW5kcmVzIEdvbnphbGV6ICA8
YW5kcmVzZ18yMkBhcHBsZS5jb20+CiAKICAgICAgICAgQXZvaWQgbXVsdGlwbGUgdW5uZWNlc3Nh
cnkgdXBkYXRlcyBvZiB0aGUgSXNvbGF0ZWRUcmVlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAyMjU2NTM2YjQyNmJm
MDMxZjIxZGQ1YjY0NzY4YTYwYmU4ODZlZmRjLi44OGFkMDkxNDIzYTgwNzNlYjFmYTJkNzljOTE1
MjI1YTgyNjVlNzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAzLTI0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIHF1ZXJ5
aW5nIHBhc3RlYm9hcmQgc3RyaW5ncyB3aGlsZSBkcmFnZ2luZyBjb250ZW50IG92ZXIgYSBwb3Rl
bnRpYWwgZHJvcCB0YXJnZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTUzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBQYXN0ZWJvYXJkU3RyYXRlZ3kgYW5kIFdlYlBhc3RlYm9hcmRQcm94eSAo
SVBDKSBwbHVtYmluZzsgc2VlIFdlYkNvcmUgZm9yIG1vcmUgZGV0YWlscy4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFzdGVib2FyZFByb3h5Ojpjb250YWluc0RPTVNhZmVTdHJpbmdGb3JUeXBlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFzdGVib2FyZFByb3h5Ojpjb250YWluc0RPTVNhZmVTdHJpbmdGb3JUeXBlKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGFpbnNET01TYWZlU3RyaW5nRm9yVHlw
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0
ZWdpZXMuaDoKKwogMjAyMC0wMy0yNCAgSm9obiBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZWZhY3RvciBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmU6OnJlZ2lz
dHJhYmxlRG9tYWluc1RvRGVsZXRlT3JSZXN0cmljdFdlYnNpdGVEYXRhRm9yKCkgdG8gcmV0dXJu
IGEgc3RydWN0IGluc3RlYWQgb2YgYSBWZWN0b3Igb2YgcGFpcnMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwppbmRleCAwYTRiZjZkOWQxYzBmMzllNWRkNzQ5OWY4YzVmMzNlYjE3ODQ5OGE1Li4w
NDExOWJiYmRhODhkZjliOGNlYzg3YmVjODQ0NWYzMmViYmQ2YmNhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDMtMjQgIFdlbnNvbiBIc2llaCAg
PHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQXZvaWQgcXVlcnlpbmcgcGFzdGVi
b2FyZCBzdHJpbmdzIHdoaWxlIGRyYWdnaW5nIGNvbnRlbnQgb3ZlciBhIHBvdGVudGlhbCBkcm9w
IHRhcmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5NTMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIFBhc3RlYm9hcmRTdHJhdGVneSBwbHVtYmluZzsgc2VlIFdlYkNvcmUgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5o
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKyAg
ICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y29udGFpbnNET01TYWZlU3RyaW5nRm9yVHlw
ZSk6CisKIDIwMjAtMDMtMjMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVtb3ZlIHRoZSB1bnVzZWQgbWV0aG9kIFBhc3RlYm9hcmRTdHJhdGVneTo6
dW5pcXVlTmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJv
YXJkU3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVn
eS5oCmluZGV4IDM1YmI4YmRhMzMwYTViYzlkMmNmMDBhOTdlY2Q1Y2MyNTIyZGE5Y2MuLjIwOTkx
ZWZlNzExNGQ4ZTcyNjk0MTdmNGM0ZGU0MjRhYmU5MDkxNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgVmVjdG9yPFN0cmluZz4gdHlwZXNTYWZlRm9yRE9NVG9SZWFkQW5kV3Jp
dGUoY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBvcmlnaW4pID0g
MDsKICAgICB2aXJ0dWFsIGludDY0X3Qgd3JpdGVDdXN0b21EYXRhKGNvbnN0IFZlY3RvcjxQYXN0
ZWJvYXJkQ3VzdG9tRGF0YT4mLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSA9IDA7Cisg
ICAgdmlydHVhbCBib29sIGNvbnRhaW5zRE9NU2FmZVN0cmluZ0ZvclR5cGUoY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogCiAjaWYgUExBVEZPUk0oR1RL
KQogICAgIHZpcnR1YWwgdm9pZCB3cml0ZVRvQ2xpcGJvYXJkKGNvbnN0IFN0cmluZyYgcGFzdGVi
b2FyZE5hbWUsIGNvbnN0IFNlbGVjdGlvbkRhdGEmKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1BsYXRmb3JtUGFzdGVib2FyZC5oCmluZGV4IDkwOTJiMDVjN2JmNzdhYzMzN2Y4Nzdh
ZWE0N2QwMWY3OWNlNTRkMjUuLjEyNzNkODIzNmNkZDJmZmVhOTlhNGRmMTU2MGQ0N2M1Yzc5Mjhj
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtUGFzdGVib2Fy
ZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtUGFzdGVib2FyZC5oCkBA
IC05OSw2ICs5OSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBpbnQ2NF90IHdyaXRl
KGNvbnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4mKTsKICAgICBXRUJDT1JFX0VYUE9S
VCBpbnQ2NF90IHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRDdXN0b21EYXRhJik7CiAgICAgV0VCQ09S
RV9FWFBPUlQgVmVjdG9yPFN0cmluZz4gdHlwZXNTYWZlRm9yRE9NVG9SZWFkQW5kV3JpdGUoY29u
c3QgU3RyaW5nJiBvcmlnaW4pIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY29udGFp
bnNET01TYWZlU3RyaW5nRm9yVHlwZShjb25zdCBTdHJpbmcmKSBjb25zdDsKIAogI2lmIFBMQVRG
T1JNKEdUSykKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlVG9DbGlwYm9hcmQoY29uc3Qg
U2VsZWN0aW9uRGF0YSYsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIHByaW1hcnlTZWxlY3Rpb25D
bGVhcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RyYWdE
YXRhQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EcmFnRGF0YUNvY29h
Lm1tCmluZGV4IDZlMWVlZDRkNmI5NjNiZTdiY2ZkYjIwZDgwMmRkNzA3NjE3ZThlOWQuLjBmZWRh
ODQ1MjJhMDYxZjQ5MjI5NTBiZTIwMjY4OGRlYTQwYTA5NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvRHJhZ0RhdGFDb2NvYS5tbQpAQCAtMTk4LDcgKzE5OCw3IEBAIGJv
b2wgRHJhZ0RhdGE6OmNvbnRhaW5zUGxhaW5UZXh0KCkgY29uc3QKICNpZiBQTEFURk9STShNQUMp
CiAgICAgICAgIHx8IHR5cGVzLmNvbnRhaW5zKFN0cmluZyhsZWdhY3lGaWxlbmFtZXNQYXN0ZWJv
YXJkVHlwZSgpKSkKICNlbmRpZgotICAgICAgICB8fCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGFz
dGVib2FyZFN0cmF0ZWd5KCktPnN0cmluZ0ZvclR5cGUodXJsUGFzdGVib2FyZFR5cGUoKSwgbV9w
YXN0ZWJvYXJkTmFtZSkubGVuZ3RoKCk7CisgICAgICAgIHx8IHBsYXRmb3JtU3RyYXRlZ2llcygp
LT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+Y29udGFpbnNET01TYWZlU3RyaW5nRm9yVHlwZSh1cmxQ
YXN0ZWJvYXJkVHlwZSgpLCBtX3Bhc3RlYm9hcmROYW1lKTsKIH0KIAogU3RyaW5nIERyYWdEYXRh
Ojphc1BsYWluVGV4dCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9QYXN0ZWJvYXJkQ29jb2EubW0KaW5kZXggNjU0OGU4NzUzYzNiY2I1YmE3NmY2ZGVkNjI2MDc1
ZGE1ZTg2MDI4MC4uOGVlMjQzZDc4MmE1OTM1MTBmNzY0NjgzZTI2OTJkYTU3NTNjYmE3OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGFzdGVib2FyZENvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1Bhc3RlYm9hcmRDb2NvYS5tbQpA
QCAtMTU5LDE0ICsxNTksMTQgQEAgUGFzdGVib2FyZDo6RmlsZUNvbnRlbnRTdGF0ZSBQYXN0ZWJv
YXJkOjpmaWxlQ29udGVudFN0YXRlKCkKICAgICAgICAgaWYgKGNvY29hVHlwZXMuZmluZE1hdGNo
aW5nKFtdKGNvbnN0IFN0cmluZyYgY29jb2FUeXBlKSB7IHJldHVybiBzaG91bGRUcmVhdENvY29h
VHlwZUFzRmlsZShjb2NvYVR5cGUpOyB9KSA9PSBub3RGb3VuZCkKICAgICAgICAgICAgIHJldHVy
biBGaWxlQ29udGVudFN0YXRlOjpOb0ZpbGVPckltYWdlRGF0YTsKIAotICAgICAgICBib29sIGNv
bnRhaW5zVVJMID0gbm90Rm91bmQgIT0gY29jb2FUeXBlcy5maW5kTWF0Y2hpbmcoW10gKGF1dG8m
IGNvY29hVHlwZSkgeworICAgICAgICBhdXRvIGluZGV4T2ZVUkwgPSBjb2NvYVR5cGVzLmZpbmRN
YXRjaGluZyhbXShhdXRvJiBjb2NvYVR5cGUpIHsKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAg
ICAgICBpZiAoY29jb2FUeXBlID09IFN0cmluZyhsZWdhY3lVUkxQYXN0ZWJvYXJkVHlwZSgpKSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogICAgICAgICAgICAgcmV0dXJu
IGNvY29hVHlwZSA9PSBTdHJpbmcoa1VUVHlwZVVSTCk7CiAgICAgICAgIH0pOwotICAgICAgICBt
YXlDb250YWluRmlsZVBhdGhzID0gY29udGFpbnNVUkwgJiYgIVBhc3RlYm9hcmQ6OmNhbkV4cG9z
ZVVSTFRvRE9NV2hlblBhc3RlYm9hcmRDb250YWluc0ZpbGVzKHJlYWRTdHJpbmcoInRleHQvdXJp
LWxpc3QiX3MpKTsKKyAgICAgICAgbWF5Q29udGFpbkZpbGVQYXRocyA9IGluZGV4T2ZVUkwgIT0g
bm90Rm91bmQgJiYgIXBsYXRmb3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+
Y29udGFpbnNET01TYWZlU3RyaW5nRm9yVHlwZShjb2NvYVR5cGVzW2luZGV4T2ZVUkxdLCBtX3Bh
c3RlYm9hcmROYW1lKTsKICAgICB9CiAKICAgICAvLyBFbmZvcmNlIGNoYW5nZUNvdW50IG91cnNl
bHZlcyBmb3Igc2VjdXJpdHkuIFdlIGNoZWNrIGFmdGVyIHJlYWRpbmcgaW5zdGVhZCBvZiBiZWZv
cmUgdG8gYmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXRm
b3JtUGFzdGVib2FyZENvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxh
dGZvcm1QYXN0ZWJvYXJkQ29jb2EubW0KaW5kZXggYzM5M2NhY2VhM2RhYTVhYjQzY2EzMTVkZTlm
M2UxNmY1MDk5NGNhNi4uZGY1ODAzZDFhNjMyZWFjMGNmNmMwMmU2NDFmMDljYjA5YjNiMjgwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxhdGZvcm1QYXN0ZWJv
YXJkQ29jb2EubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxhdGZvcm1Q
YXN0ZWJvYXJkQ29jb2EubW0KQEAgLTUyLDQgKzUyLDkgQEAgT3B0aW9uYWw8VmVjdG9yPFBhc3Rl
Ym9hcmRJdGVtSW5mbz4+IFBsYXRmb3JtUGFzdGVib2FyZDo6YWxsUGFzdGVib2FyZEl0ZW1JbmZv
KGkKICAgICByZXR1cm4gaXRlbUluZm87CiB9CiAKK2Jvb2wgUGxhdGZvcm1QYXN0ZWJvYXJkOjpj
b250YWluc0RPTVNhZmVTdHJpbmdGb3JUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKK3sK
KyAgICByZXR1cm4gIXN0cmluZ0ZvclR5cGUodHlwZSkuaXNFbXB0eSgpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9XZWJQYXN0ZWJvYXJkUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29hLm1tCmluZGV4IDY1ZDA2ZmRhNTM4YjkzNTRiNmM0
NmFlOTIyZjBmMWE3ZWYwZWIxMTMuLmE3MDY2MTUxMjhmM2EyNTlkNTI4NjEzNzdjODBlZjRjMWEx
MjJlZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3Rl
Ym9hcmRQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlBhc3RlYm9hcmRQcm94eUNvY29hLm1tCkBAIC0yNTksNiArMjU5LDExIEBAIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjpyZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25z
dCBTdHJpbmcmIHBhCiAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGUpLCBzaXpl
KTsKIH0KIAordm9pZCBXZWJQYXN0ZWJvYXJkUHJveHk6OmNvbnRhaW5zRE9NU2FmZVN0cmluZ0Zv
clR5cGUoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAg
IGNvbXBsZXRpb25IYW5kbGVyKFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY29u
dGFpbnNET01TYWZlU3RyaW5nRm9yVHlwZSh0eXBlKSk7Cit9CisKICNpZiBQTEFURk9STShJT1Nf
RkFNSUxZKQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVVUkxUb1Bhc3RlYm9hcmQo
Y29uc3QgUGFzdGVib2FyZFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5jcHAKaW5kZXgg
MjhlODE2ZGNiZjY2YTU4NzliOThiYWJiOWI4MGRlMDhmMTcxMzYxZC4uYzJhYjdmMWIzMTA3MGRk
ZDM1ODc1NmZlZTZmNTI5MzVlZjRmMDc2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCkBAIC0xMTQsNiArMTE0LDExIEBAIHZvaWQgV2ViUGFz
dGVib2FyZFByb3h5OjpyZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoc2l6ZV90LCBjb25zdCBTdHJp
bmcmLCBjb25zdCBTCiAKICNlbmRpZiAvLyAhVVNFKExJQldQRSkKIAordm9pZCBXZWJQYXN0ZWJv
YXJkUHJveHk6OmNvbnRhaW5zRE9NU2FmZVN0cmluZ0ZvclR5cGUoY29uc3QgU3RyaW5nJiwgY29u
c3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKK3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7Cit9CisKICNlbmRpZiAvLyAh
UExBVEZPUk0oQ09DT0EpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaAppbmRleCA3NmQzNzk2ZDhlM2FlNjg3NDM3
ZmQ2YmVlNWMxYWQ0ZmFmMTE1ODc2Li4xMTdjNTIxYjBiYmM5MzRjYjIwMDBkZDIzMTlkOTBkM2Zi
OGJiMDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJk
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHku
aApAQCAtMTAzLDYgKzEwMyw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdyaXRlQ3VzdG9tRGF0
YShjb25zdCBWZWN0b3I8V2ViQ29yZTo6UGFzdGVib2FyZEN1c3RvbURhdGE+JiwgY29uc3QgU3Ry
aW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChpbnQ2NF90KT4mJik7
CiAgICAgdm9pZCB0eXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChWZWN0b3I8U3RyaW5nPiYmKT4mJik7CisgICAgdm9pZCBjb250YWluc0RPTVNhZmVTdHJpbmdG
b3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogCiAjaWYgUExBVEZPUk0oR1RLKQogICAgIHZv
aWQgd3JpdGVUb0NsaXBib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBX
ZWJTZWxlY3Rpb25EYXRhJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4KaW5kZXggNzdhMjVmOGYxZjAxMjk2YmU2MmJk
OTQ4ZTFiOWZkYTU3ZWM2YmQyNy4uMzhmM2I3MzVkMjVkYTYyMzFjZDA0MjkxMmJjZjE1NWRiOGNm
OGJlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFBy
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9h
cmRQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzcsNiArMzcsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYXN0
ZWJvYXJkUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgUmVhZFN0cmluZ0Zyb21QYXN0ZWJvYXJk
KHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFzdGVib2FyZFR5cGUsIFN0cmluZyBwYXN0ZWJvYXJk
TmFtZSkgLT4gKFN0cmluZyBzdHJpbmcpIFN5bmNocm9ub3VzCiAgICAgUmVhZFVSTEZyb21QYXN0
ZWJvYXJkKHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFzdGVib2FyZE5hbWUpIC0+IChTdHJpbmcg
dXJsLCBTdHJpbmcgdGl0bGUpIFN5bmNocm9ub3VzCiAgICAgUmVhZEJ1ZmZlckZyb21QYXN0ZWJv
YXJkKHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFzdGVib2FyZFR5cGUsIFN0cmluZyBwYXN0ZWJv
YXJkTmFtZSkgLT4gKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGUgaGFuZGxlLCB1aW50NjRf
dCBzaXplKSBTeW5jaHJvbm91cworICAgIENvbnRhaW5zRE9NU2FmZVN0cmluZ0ZvclR5cGUoU3Ry
aW5nIHR5cGUsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKGJvb2wgcmVzdWx0KSBTeW5jaHJv
bm91cwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgIyBQYXN0ZWJvYXJkIG1lc3NhZ2VzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCBjZDE2Nzg0ZDUxZDFiMDA3Yzhj
NThhODg5NTRhMDMzNzMyYWJhZjZlLi5hNmFjYzA1NjAyZTMyZThmNWJhODI5ZTFmN2UwNjczY2Yz
ZTUxYWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMzI4LDYgKzMy
OCwxMyBAQCBpbnQ2NF90IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6d3JpdGVDdXN0b21EYXRhKGNv
bnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YQogICAgIHJldHVybiBuZXdDaGFuZ2VDb3Vu
dDsKIH0KIAorYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNvbnRhaW5zRE9NU2FmZVN0cmlu
Z0ZvclR5cGUoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1l
KQoreworICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkucGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhc3Rl
Ym9hcmRQcm94eTo6Q29udGFpbnNET01TYWZlU3RyaW5nRm9yVHlwZSh0eXBlLCBwYXN0ZWJvYXJk
TmFtZSksIE1lc3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OkNvbnRhaW5zRE9NU2FmZVN0cmlu
Z0ZvclR5cGU6OlJlcGx5KHJlc3VsdCksIDApOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIGlu
dCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmdldFBhc3RlYm9hcmRJdGVtc0NvdW50KGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CiAgICAgdWludDY0X3QgaXRlbXNDb3VudCB7IDAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCBjMGNkZjg3YzA5ZGQ1NjczMDlmNDQx
NmYyNGU3ZWM5NDQwM2NlN2IxLi43Mzg5OTA0ZTgzYzJiNDdiNTVlNjMzYjRmZWM2YzJmN2ZmYWQ4
ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC04OSw2ICs4OSw3IEBAIHBy
aXZhdGU6CiAgICAgT3B0aW9uYWw8VmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbz4+
IGFsbFBhc3RlYm9hcmRJdGVtSW5mbyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2
NF90IGNoYW5nZUNvdW50KSBvdmVycmlkZTsKICAgICBWZWN0b3I8U3RyaW5nPiB0eXBlc1NhZmVG
b3JET01Ub1JlYWRBbmRXcml0ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBT
dHJpbmcmIG9yaWdpbikgb3ZlcnJpZGU7CiAgICAgaW50NjRfdCB3cml0ZUN1c3RvbURhdGEoY29u
c3QgVmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9hcmRDdXN0b21EYXRhPiYsIGNvbnN0IFN0cmluZyYp
IG92ZXJyaWRlOworICAgIGJvb2wgY29udGFpbnNET01TYWZlU3RyaW5nRm9yVHlwZShjb25zdCBT
dHJpbmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBvdmVycmlkZTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCA1ZDZj
MzQxMDVhNGEzMjk5NDllOTExZGZmNDIzOTI5YTMyNzU2ZDU4Li44YzQ3MTNmMDE5NzBiMDk1ZjBi
ODE0MGEzYWM2YjI4ZmM1YzU0ODM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAt
NzksNSArNzksNiBAQCBwcml2YXRlOgogICAgIGludDY0X3Qgc2V0VVJMKGNvbnN0IFdlYkNvcmU6
OlBhc3RlYm9hcmRVUkwmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBvdmVycmlkZTsK
ICAgICBpbnQ2NF90IHNldENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiwgY29uc3QgU3RyaW5n
JiBwYXN0ZWJvYXJkTmFtZSkgb3ZlcnJpZGU7CiAgICAgaW50NjRfdCBzZXRTdHJpbmdGb3JUeXBl
KGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNvbnN0IFN0cmlu
ZyYgcGFzdGVib2FyZE5hbWUpIG92ZXJyaWRlOworICAgIGJvb2wgY29udGFpbnNET01TYWZlU3Ry
aW5nRm9yVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBv
dmVycmlkZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbSBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQppbmRleCA0YWUxZmIy
YmVhOTczOTM1N2JiOWE1YTE4OWQwNTYwMjkyZWZkMmRlLi43M2U4OWY4MjRhMWRmNjRjOTg4YTQw
MDI5YTc5NjFkZDYxYjllYTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KKysrIGIvU291cmNlL1dlYktp
dExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCkBAIC0x
OTcsNiArMTk3LDExIEBAIGludDY0X3QgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjp3cml0ZUN1c3Rv
bURhdGEoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9hcmRDCiAgICAgcmV0dXJuIFBsYXRm
b3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUoZGF0YSk7CiB9CiAKK2Jvb2wgV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzOjpjb250YWluc0RPTVNhZmVTdHJpbmdGb3JUeXBlKGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0cmluZyYgdHlwZSkKK3sKKyAgICByZXR1cm4g
UGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmROYW1lKS5jb250YWluc0RPTVNhZmVTdHJpbmdG
b3JUeXBlKHR5cGUpOworfQorCiBPcHRpb25hbDxXZWJDb3JlOjpQYXN0ZWJvYXJkSXRlbUluZm8+
IFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6aW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChzaXplX3Qg
aW5kZXgsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQp
CiB7CiAgICAgcmV0dXJuIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuaW5mb3Jt
YXRpb25Gb3JJdGVtQXRJbmRleChpbmRleCwgY2hhbmdlQ291bnQpOwo=
</data>
<flag name="review"
          id="409891"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394494</attachid>
            <date>2020-03-25 07:41:43 -0700</date>
            <delta_ts>2020-03-25 08:05:58 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-209531-20200325074142.patch</filename>
            <type>text/plain</type>
            <size>16094</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4OTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTgyZDQ1Mzg1ZDQ2ZjJi
YTdiMmNiYmVhMTkwZTljMjg5YjdmZjFkZS4uODRjM2YyZWI4NzcwOTE0OTdhY2NmN2FmZTkyMWM0
OGRhNmZhYjJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIwLTAzLTI0ICBXZW5z
b24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIHF1ZXJ5
aW5nIHBhc3RlYm9hcmQgc3RyaW5ncyB3aGlsZSBkcmFnZ2luZyBjb250ZW50IG92ZXIgYSBwb3Rl
bnRpYWwgZHJvcCB0YXJnZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwOTUzMQorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24gYW5kIFJ5
b3N1a2UgTml3YS4KKworICAgICAgICBBIGNvdXBsZSBvZiBwbGFjZXMgaW4gV2ViQ29yZSBjdXJy
ZW50bHkgdXNlIFBhc3RlYm9hcmRTdHJhdGVneTo6c3RyaW5nRm9yVHlwZSgpIHRvIHF1ZXJ5IGZv
ciBwYXN0ZWJvYXJkIFVSTAorICAgICAgICBzdHJpbmdzLiBUaGVzZSBjYWxsIHNpdGVzIGF0dGVt
cHQgdG8gcmVhZCBVUkwgc3RyaW5ncyAodXNpbmcgYm90aCByZWFkU3RyaW5nIGFuZCBzdHJpbmdG
b3JUeXBlKSBmb3IgdGhlIHB1cnBvc2VzCisgICAgICAgIG9mIGNoZWNraW5nIHdoZXRoZXIgb3Ig
bm90IHdlIHNob3VsZCBhdm9pZCBleHBvc2luZyB0aGUgVVJMIHN0cmluZyB0byB3ZWIgY29udGVu
dCAobm90ZSB0aGF0IGluIHRoZSBjYXNlIG9mCisgICAgICAgIGNvbnRhaW5zUGxhaW5UZXh0LCB3
ZSBhY3R1YWxseSBjaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUgc3RyaW5nIGlzIGVtcHR5LCB3aGlj
aCBkZXBlbmRzIG9uIHdoZXRoZXIgb3Igbm90IHRoZQorICAgICAgICBzdHJpbmcgaXMgc2FmZSB0
byBleHBvc2UgdG8gdGhlIHdlYiAtLSBlLmcuLCBub3QgYSBmaWxlIFVSTCkuCisKKyAgICAgICAg
VGhpcyBpcyBpbmNvbXBhdGlibGUgd2l0aCBzb21lIGNoYW5nZXMgaW4gdGhlIG5lYXIgZnV0dXJl
IHdoaWNoIHdpbGwgcHJldmVudCB0aGUgd2ViIGNvbnRlbnQgcHJvY2VzcyBmcm9tCisgICAgICAg
IHJlYWRpbmcgYW55IGRhdGEgZnJvbSB0aGUgcGFzdGVib2FyZCwgaWYgYSBwYXN0ZSBvciBkcm9w
IGFjdGlvbiBoYXMgbm90IHlldCBiZWVuIHBlcmZvcm1lZC4gVG8gYWRkcmVzcyB0aGlzCisgICAg
ICAgIGlzc3VlLCB3ZSBpbnRyb2R1Y2UgYW4gYWx0ZXJuYXRlIFBhc3RlYm9hcmRTdHJhdGVneSBt
ZXRob2QsIGNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUsIHdoaWNoIHJldHVy
bnMKKyAgICAgICAgKGZvciBhIGdpdmVuIHBsYXRmb3JtIHBhc3RlYm9hcmQgdHlwZSkgd2hldGhl
ciBvciBub3QgYSBzdHJpbmcgdGhhdCBjYW4gYmUgc2FmZWx5IGV4cG9zZWQgdG8gYmluZGluZ3Mg
ZXhpc3RzLgorCisgICAgICAgIFJhdGhlciB0aGFuIGFsbG93IHRoZSB3ZWIgcHJvY2VzcyB0byBy
ZWFkIHRoZSBlbnRpcmUgc3RyaW5nLCBsaW1pdCBpdCB0byBqdXN0IHRoaXMgdHJ1ZS9mYWxzZSBh
bnN3ZXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkU3RyYXRlZ3kuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9j
b2NvYS9EcmFnRGF0YUNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OmNvbnRh
aW5zUGxhaW5UZXh0IGNvbnN0KToKKworICAgICAgICBVc2UgY29udGFpbnNTdHJpbmdTYWZlRm9y
RE9NVG9SZWFkRm9yVHlwZSBpbnN0ZWFkIG9mIHN0cmluZ0ZvclR5cGUuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQYXN0
ZWJvYXJkOjpmaWxlQ29udGVudFN0YXRlKToKKworICAgICAgICBVc2UgY29udGFpbnNTdHJpbmdT
YWZlRm9yRE9NVG9SZWFkRm9yVHlwZSBpbnN0ZWFkIG9mIHJlYWRTdHJpbmcuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9jb2NvYS9QbGF0Zm9ybVBhc3RlYm9hcmRDb2NvYS5tbToKKyAgICAgICAgKFdl
YkNvcmU6OlBsYXRmb3JtUGFzdGVib2FyZDo6Y29udGFpbnNTdHJpbmdTYWZlRm9yRE9NVG9SZWFk
Rm9yVHlwZSBjb25zdCk6CisKIDIwMjAtMDMtMjQgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2df
MjJAYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lkIG11bHRpcGxlIHVubmVjZXNzYXJ5IHVwZGF0
ZXMgb2YgdGhlIElzb2xhdGVkVHJlZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMjI1NjUzNmI0MjZiZjAzMWYyMWRk
NWI2NDc2OGE2MGJlODg2ZWZkYy4uOTk4MWMzMGRjYTgxMGQ0YzdhNGQ4YTAxMjVlNWJhN2I2Y2E1
MzZiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAyMC0wMy0yNCAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBBdm9pZCBxdWVyeWluZyBwYXN0
ZWJvYXJkIHN0cmluZ3Mgd2hpbGUgZHJhZ2dpbmcgY29udGVudCBvdmVyIGEgcG90ZW50aWFsIGRy
b3AgdGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDk1MzEKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uIGFuZCBSeW9zdWtlIE5p
d2EuCisKKyAgICAgICAgQWRkIFBhc3RlYm9hcmRTdHJhdGVneSBhbmQgV2ViUGFzdGVib2FyZFBy
b3h5IChJUEMpIHBsdW1iaW5nOyBzZWUgV2ViQ29yZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29hLm1tOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJveHk6OmNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRv
UmVhZEZvclR5cGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYXN0ZWJvYXJkUHJveHk6OmNvbnRhaW5zU3RyaW5nU2Fm
ZUZvckRPTVRvUmVhZEZvclR5cGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJk
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lm1lc3NhZ2Vz
LmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250
YWluc1N0cmluZ1NhZmVGb3JET01Ub1JlYWRGb3JUeXBlKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCiAyMDIwLTAzLTI0ICBK
b2huIFdpbGFuZGVyICA8d2lsYW5kZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6cmVnaXN0cmFibGVEb21haW5zVG9EZWxldGVPclJl
c3RyaWN0V2Vic2l0ZURhdGFGb3IoKSB0byByZXR1cm4gYSBzdHJ1Y3QgaW5zdGVhZCBvZiBhIFZl
Y3RvciBvZiBwYWlycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IDBhNGJmNmQ5ZDFj
MGYzOWU1ZGQ3NDk5ZjhjNWYzM2ViMTc4NDk4YTUuLjc0ZDU1MTIxODVmNWYxMTM1ZTM4MGMxYTBj
ZWNkZDk0ZTdkYmMzYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAyMC0wMy0yNCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4K
KworICAgICAgICBBdm9pZCBxdWVyeWluZyBwYXN0ZWJvYXJkIHN0cmluZ3Mgd2hpbGUgZHJhZ2dp
bmcgY29udGVudCBvdmVyIGEgcG90ZW50aWFsIGRyb3AgdGFyZ2V0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDk1MzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBUaW0gSG9ydG9uIGFuZCBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRkIFBhc3RlYm9h
cmRTdHJhdGVneSBwbHVtYmluZzsgc2VlIFdlYkNvcmUgZm9yIG1vcmUgZGV0YWlscy4KKworICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKyAgICAgICAgKFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6Y29udGFpbnNTdHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9yVHlwZSk6
CisKIDIwMjAtMDMtMjMgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHRoZSB1bnVzZWQgbWV0aG9kIFBhc3RlYm9hcmRTdHJhdGVneTo6dW5p
cXVlTmFtZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJk
U3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5o
CmluZGV4IDM1YmI4YmRhMzMwYTViYzlkMmNmMDBhOTdlY2Q1Y2MyNTIyZGE5Y2MuLmFmM2QwMDAz
YzkxYWU3ZTQ5NTViMTM2NTI4ZjZjMzU0ZDcxMjNmOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Bhc3RlYm9hcmRTdHJhdGVneS5oCkBAIC03NSw2ICs3NSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgVmVjdG9yPFN0cmluZz4gdHlwZXNTYWZlRm9yRE9NVG9SZWFkQW5kV3JpdGUo
Y29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgY29uc3QgU3RyaW5nJiBvcmlnaW4pID0gMDsK
ICAgICB2aXJ0dWFsIGludDY0X3Qgd3JpdGVDdXN0b21EYXRhKGNvbnN0IFZlY3RvcjxQYXN0ZWJv
YXJkQ3VzdG9tRGF0YT4mLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSA9IDA7CisgICAg
dmlydHVhbCBib29sIGNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUoY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgPSAwOwogCiAjaWYgUExBVEZP
Uk0oR1RLKQogICAgIHZpcnR1YWwgdm9pZCB3cml0ZVRvQ2xpcGJvYXJkKGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGNvbnN0IFNlbGVjdGlvbkRhdGEmKSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVBhc3RlYm9hcmQuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtUGFzdGVib2FyZC5oCmluZGV4IDkwOTJiMDVjN2JmNzdhYzMz
N2Y4NzdhZWE0N2QwMWY3OWNlNTRkMjUuLjI3ZjdiYWVlNDFlMWYzMjBhZGRlZmEyMGZmZTQ1Y2M1
OTE1YTJmN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtUGFz
dGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtUGFzdGVib2Fy
ZC5oCkBAIC05OSw2ICs5OSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBpbnQ2NF90
IHdyaXRlKGNvbnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9tRGF0YT4mKTsKICAgICBXRUJDT1JF
X0VYUE9SVCBpbnQ2NF90IHdyaXRlKGNvbnN0IFBhc3RlYm9hcmRDdXN0b21EYXRhJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgVmVjdG9yPFN0cmluZz4gdHlwZXNTYWZlRm9yRE9NVG9SZWFkQW5kV3Jp
dGUoY29uc3QgU3RyaW5nJiBvcmlnaW4pIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wg
Y29udGFpbnNTdHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9yVHlwZShjb25zdCBTdHJpbmcmKSBjb25z
dDsKIAogI2lmIFBMQVRGT1JNKEdUSykKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdyaXRlVG9D
bGlwYm9hcmQoY29uc3QgU2VsZWN0aW9uRGF0YSYsIFdURjo6RnVuY3Rpb248dm9pZCgpPiYmIHBy
aW1hcnlTZWxlY3Rpb25DbGVhcmVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2Nv
YS9EcmFnRGF0YUNvY29hLm1tCmluZGV4IDZlMWVlZDRkNmI5NjNiZTdiY2ZkYjIwZDgwMmRkNzA3
NjE3ZThlOWQuLjk3MjdjMjMzYzk5NGRhOWI2NzNmNmRhYjBlNDg5OWQwNzkxYWUzZDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRHJhZ0RhdGFDb2NvYS5tbQpAQCAtMTk4
LDcgKzE5OCw3IEBAIGJvb2wgRHJhZ0RhdGE6OmNvbnRhaW5zUGxhaW5UZXh0KCkgY29uc3QKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgICAgIHx8IHR5cGVzLmNvbnRhaW5zKFN0cmluZyhsZWdhY3lG
aWxlbmFtZXNQYXN0ZWJvYXJkVHlwZSgpKSkKICNlbmRpZgotICAgICAgICB8fCBwbGF0Zm9ybVN0
cmF0ZWdpZXMoKS0+cGFzdGVib2FyZFN0cmF0ZWd5KCktPnN0cmluZ0ZvclR5cGUodXJsUGFzdGVi
b2FyZFR5cGUoKSwgbV9wYXN0ZWJvYXJkTmFtZSkubGVuZ3RoKCk7CisgICAgICAgIHx8IHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+Y29udGFpbnNTdHJpbmdTYWZl
Rm9yRE9NVG9SZWFkRm9yVHlwZSh1cmxQYXN0ZWJvYXJkVHlwZSgpLCBtX3Bhc3RlYm9hcmROYW1l
KTsKIH0KIAogU3RyaW5nIERyYWdEYXRhOjphc1BsYWluVGV4dCgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9QYXN0ZWJvYXJkQ29jb2EubW0KaW5kZXggNjU0OGU4
NzUzYzNiY2I1YmE3NmY2ZGVkNjI2MDc1ZGE1ZTg2MDI4MC4uMTAyNmRiNGE2YWI0ZjdkYjhkMGEx
YTc2OTRjZTBiNmUyYTE0OTg0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y29jb2EvUGFzdGVib2FyZENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nv
Y29hL1Bhc3RlYm9hcmRDb2NvYS5tbQpAQCAtMTU5LDE0ICsxNTksMTQgQEAgUGFzdGVib2FyZDo6
RmlsZUNvbnRlbnRTdGF0ZSBQYXN0ZWJvYXJkOjpmaWxlQ29udGVudFN0YXRlKCkKICAgICAgICAg
aWYgKGNvY29hVHlwZXMuZmluZE1hdGNoaW5nKFtdKGNvbnN0IFN0cmluZyYgY29jb2FUeXBlKSB7
IHJldHVybiBzaG91bGRUcmVhdENvY29hVHlwZUFzRmlsZShjb2NvYVR5cGUpOyB9KSA9PSBub3RG
b3VuZCkKICAgICAgICAgICAgIHJldHVybiBGaWxlQ29udGVudFN0YXRlOjpOb0ZpbGVPckltYWdl
RGF0YTsKIAotICAgICAgICBib29sIGNvbnRhaW5zVVJMID0gbm90Rm91bmQgIT0gY29jb2FUeXBl
cy5maW5kTWF0Y2hpbmcoW10gKGF1dG8mIGNvY29hVHlwZSkgeworICAgICAgICBhdXRvIGluZGV4
T2ZVUkwgPSBjb2NvYVR5cGVzLmZpbmRNYXRjaGluZyhbXShhdXRvJiBjb2NvYVR5cGUpIHsKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgICAgICAgICBpZiAoY29jb2FUeXBlID09IFN0cmluZyhsZWdh
Y3lVUkxQYXN0ZWJvYXJkVHlwZSgpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICNl
bmRpZgogICAgICAgICAgICAgcmV0dXJuIGNvY29hVHlwZSA9PSBTdHJpbmcoa1VUVHlwZVVSTCk7
CiAgICAgICAgIH0pOwotICAgICAgICBtYXlDb250YWluRmlsZVBhdGhzID0gY29udGFpbnNVUkwg
JiYgIVBhc3RlYm9hcmQ6OmNhbkV4cG9zZVVSTFRvRE9NV2hlblBhc3RlYm9hcmRDb250YWluc0Zp
bGVzKHJlYWRTdHJpbmcoInRleHQvdXJpLWxpc3QiX3MpKTsKKyAgICAgICAgbWF5Q29udGFpbkZp
bGVQYXRocyA9IGluZGV4T2ZVUkwgIT0gbm90Rm91bmQgJiYgIXBsYXRmb3JtU3RyYXRlZ2llcygp
LT5wYXN0ZWJvYXJkU3RyYXRlZ3koKS0+Y29udGFpbnNTdHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9y
VHlwZShjb2NvYVR5cGVzW2luZGV4T2ZVUkxdLCBtX3Bhc3RlYm9hcmROYW1lKTsKICAgICB9CiAK
ICAgICAvLyBFbmZvcmNlIGNoYW5nZUNvdW50IG91cnNlbHZlcyBmb3Igc2VjdXJpdHkuIFdlIGNo
ZWNrIGFmdGVyIHJlYWRpbmcgaW5zdGVhZCBvZiBiZWZvcmUgdG8gYmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1BsYXRmb3JtUGFzdGVib2FyZENvY29hLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxhdGZvcm1QYXN0ZWJvYXJkQ29jb2EubW0K
aW5kZXggYzM5M2NhY2VhM2RhYTVhYjQzY2EzMTVkZTlmM2UxNmY1MDk5NGNhNi4uMjQ3ZDNhYzRj
ZjIxYmVkZmVhODA2NjA0ZjllZmE4YWIzZmM1ODdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUGxhdGZvcm1QYXN0ZWJvYXJkQ29jb2EubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUGxhdGZvcm1QYXN0ZWJvYXJkQ29jb2EubW0KQEAgLTUy
LDQgKzUyLDkgQEAgT3B0aW9uYWw8VmVjdG9yPFBhc3RlYm9hcmRJdGVtSW5mbz4+IFBsYXRmb3Jt
UGFzdGVib2FyZDo6YWxsUGFzdGVib2FyZEl0ZW1JbmZvKGkKICAgICByZXR1cm4gaXRlbUluZm87
CiB9CiAKK2Jvb2wgUGxhdGZvcm1QYXN0ZWJvYXJkOjpjb250YWluc1N0cmluZ1NhZmVGb3JET01U
b1JlYWRGb3JUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3QKK3sKKyAgICByZXR1cm4gIXN0
cmluZ0ZvclR5cGUodHlwZSkuaXNFbXB0eSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYXN0ZWJvYXJk
UHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9h
cmRQcm94eUNvY29hLm1tCmluZGV4IDY1ZDA2ZmRhNTM4YjkzNTRiNmM0NmFlOTIyZjBmMWE3ZWYw
ZWIxMTMuLjQ2ZTRhNjExY2NiOTczMzA1NjQ4YzhhZGExZGEzYzA0ZGM4YjBmODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94eUNvY29h
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhc3RlYm9hcmRQcm94
eUNvY29hLm1tCkBAIC0yNTksNiArMjU5LDExIEBAIHZvaWQgV2ViUGFzdGVib2FyZFByb3h5Ojpy
ZWFkQnVmZmVyRnJvbVBhc3RlYm9hcmQoc2l6ZV90IGluZGV4LCBjb25zdCBTdHJpbmcmIHBhCiAg
ICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShoYW5kbGUpLCBzaXplKTsKIH0KIAordm9pZCBX
ZWJQYXN0ZWJvYXJkUHJveHk6OmNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUo
Y29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGNvbXBs
ZXRpb25IYW5kbGVyKFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuY29udGFpbnNT
dHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9yVHlwZSh0eXBlKSk7Cit9CisKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogCiB2b2lkIFdlYlBhc3RlYm9hcmRQcm94eTo6d3JpdGVVUkxUb1Bhc3RlYm9h
cmQoY29uc3QgUGFzdGVib2FyZFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1l
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5jcHAKaW5k
ZXggMjhlODE2ZGNiZjY2YTU4NzliOThiYWJiOWI4MGRlMDhmMTcxMzYxZC4uMzk0NjBjNGMxYjM3
NjE4MTdmMzk2MDE2NjNiYWY4NmYxMWNhMDRkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuY3BwCkBAIC0xMTQsNiArMTE0LDExIEBAIHZvaWQgV2Vi
UGFzdGVib2FyZFByb3h5OjpyZWFkU3RyaW5nRnJvbVBhc3RlYm9hcmQoc2l6ZV90LCBjb25zdCBT
dHJpbmcmLCBjb25zdCBTCiAKICNlbmRpZiAvLyAhVVNFKExJQldQRSkKIAordm9pZCBXZWJQYXN0
ZWJvYXJkUHJveHk6OmNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUoY29uc3Qg
U3RyaW5nJiwgY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7Cit9CisK
ICNlbmRpZiAvLyAhUExBVEZPUk0oQ09DT0EpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkuaAppbmRleCA3NmQzNzk2
ZDhlM2FlNjg3NDM3ZmQ2YmVlNWMxYWQ0ZmFmMTE1ODc2Li4wNDk1MjYxZDY2ZjlmMzIwM2IxMWVm
MWUzNDRiMzg3ZjdhMjhjZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYXN0ZWJvYXJkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0
ZWJvYXJkUHJveHkuaApAQCAtMTAzLDYgKzEwMyw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHdy
aXRlQ3VzdG9tRGF0YShjb25zdCBWZWN0b3I8V2ViQ29yZTo6UGFzdGVib2FyZEN1c3RvbURhdGE+
JiwgY29uc3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChp
bnQ2NF90KT4mJik7CiAgICAgdm9pZCB0eXBlc1NhZmVGb3JET01Ub1JlYWRBbmRXcml0ZShjb25z
dCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBTdHJpbmcmIG9yaWdpbiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChWZWN0b3I8U3RyaW5nPiYmKT4mJik7CisgICAgdm9pZCBjb250YWluc1N0
cmluZ1NhZmVGb3JET01Ub1JlYWRGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogCiAjaWYg
UExBVEZPUk0oR1RLKQogICAgIHZvaWQgd3JpdGVUb0NsaXBib2FyZChjb25zdCBTdHJpbmcmIHBh
c3RlYm9hcmROYW1lLCBjb25zdCBXZWJTZWxlY3Rpb25EYXRhJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYXN0ZWJvYXJkUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
NzdhMjVmOGYxZjAxMjk2YmU2MmJkOTQ4ZTFiOWZkYTU3ZWM2YmQyNy4uNjAyZmRiYWU0NTUxZDJl
MzQ5YmE0YTQyYzk3ZjQ5NzQ4OTZkOGRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFzdGVib2FyZFByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhc3RlYm9hcmRQcm94eS5tZXNzYWdlcy5pbgpAQCAtMzcsNiArMzcsNyBA
QCBtZXNzYWdlcyAtPiBXZWJQYXN0ZWJvYXJkUHJveHkgTm90UmVmQ291bnRlZCB7CiAgICAgUmVh
ZFN0cmluZ0Zyb21QYXN0ZWJvYXJkKHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFzdGVib2FyZFR5
cGUsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKFN0cmluZyBzdHJpbmcpIFN5bmNocm9ub3Vz
CiAgICAgUmVhZFVSTEZyb21QYXN0ZWJvYXJkKHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFzdGVi
b2FyZE5hbWUpIC0+IChTdHJpbmcgdXJsLCBTdHJpbmcgdGl0bGUpIFN5bmNocm9ub3VzCiAgICAg
UmVhZEJ1ZmZlckZyb21QYXN0ZWJvYXJkKHVpbnQ2NF90IGluZGV4LCBTdHJpbmcgcGFzdGVib2Fy
ZFR5cGUsIFN0cmluZyBwYXN0ZWJvYXJkTmFtZSkgLT4gKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpI
YW5kbGUgaGFuZGxlLCB1aW50NjRfdCBzaXplKSBTeW5jaHJvbm91cworICAgIENvbnRhaW5zU3Ry
aW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUoU3RyaW5nIHR5cGUsIFN0cmluZyBwYXN0ZWJvYXJk
TmFtZSkgLT4gKGJvb2wgcmVzdWx0KSBTeW5jaHJvbm91cwogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgIyBQYXN0ZWJvYXJkIG1lc3NhZ2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcAppbmRleCBjZDE2Nzg0ZDUxZDFiMDA3YzhjNThhODg5NTRhMDMzNzMyYWJhZjZlLi5mMTI4
NWQ0ZjVlOWE1YWYzOTc1YzRjY2E5MTAyZWMwNzE4MjA5OWYyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZv
cm1TdHJhdGVnaWVzLmNwcApAQCAtMzI4LDYgKzMyOCwxMyBAQCBpbnQ2NF90IFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6d3JpdGVDdXN0b21EYXRhKGNvbnN0IFZlY3RvcjxQYXN0ZWJvYXJkQ3VzdG9t
RGF0YQogICAgIHJldHVybiBuZXdDaGFuZ2VDb3VudDsKIH0KIAorYm9vbCBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXM6OmNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVhZEZvclR5cGUoY29uc3QgU3Ry
aW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKQoreworICAgIGJvb2wgcmVz
dWx0ID0gZmFsc2U7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkucGFyZW50UHJvY2Vzc0Nv
bm5lY3Rpb24oKS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhc3RlYm9hcmRQcm94eTo6Q29udGFp
bnNTdHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9yVHlwZSh0eXBlLCBwYXN0ZWJvYXJkTmFtZSksIE1l
c3NhZ2VzOjpXZWJQYXN0ZWJvYXJkUHJveHk6OkNvbnRhaW5zU3RyaW5nU2FmZUZvckRPTVRvUmVh
ZEZvclR5cGU6OlJlcGx5KHJlc3VsdCksIDApOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIGlu
dCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmdldFBhc3RlYm9hcmRJdGVtc0NvdW50KGNvbnN0IFN0
cmluZyYgcGFzdGVib2FyZE5hbWUpCiB7CiAgICAgdWludDY0X3QgaXRlbXNDb3VudCB7IDAgfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCBjMGNkZjg3YzA5ZGQ1NjczMDlmNDQx
NmYyNGU3ZWM5NDQwM2NlN2IxLi45ZDY4ZjE2YzBiZThiNzZlZjUyYjc4ZmVmYzBkZjUyNjA4ZDg3
ZjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCkBAIC04OSw2ICs4OSw3IEBAIHBy
aXZhdGU6CiAgICAgT3B0aW9uYWw8VmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9hcmRJdGVtSW5mbz4+
IGFsbFBhc3RlYm9hcmRJdGVtSW5mbyhjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBpbnQ2
NF90IGNoYW5nZUNvdW50KSBvdmVycmlkZTsKICAgICBWZWN0b3I8U3RyaW5nPiB0eXBlc1NhZmVG
b3JET01Ub1JlYWRBbmRXcml0ZShjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lLCBjb25zdCBT
dHJpbmcmIG9yaWdpbikgb3ZlcnJpZGU7CiAgICAgaW50NjRfdCB3cml0ZUN1c3RvbURhdGEoY29u
c3QgVmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9hcmRDdXN0b21EYXRhPiYsIGNvbnN0IFN0cmluZyYp
IG92ZXJyaWRlOworICAgIGJvb2wgY29udGFpbnNTdHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9yVHlw
ZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBvdmVycmlkZTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApp
bmRleCA1ZDZjMzQxMDVhNGEzMjk5NDllOTExZGZmNDIzOTI5YTMyNzU2ZDU4Li5mNGJlN2JkMTBk
YTMwMTM5N2U3MjkyYzIyYjViNjdiNjVkYmQ1NTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9T
b3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaApAQCAtNzksNSArNzksNiBAQCBwcml2YXRlOgogICAgIGludDY0X3Qgc2V0VVJMKGNvbnN0
IFdlYkNvcmU6OlBhc3RlYm9hcmRVUkwmLCBjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmROYW1lKSBv
dmVycmlkZTsKICAgICBpbnQ2NF90IHNldENvbG9yKGNvbnN0IFdlYkNvcmU6OkNvbG9yJiwgY29u
c3QgU3RyaW5nJiBwYXN0ZWJvYXJkTmFtZSkgb3ZlcnJpZGU7CiAgICAgaW50NjRfdCBzZXRTdHJp
bmdGb3JUeXBlKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZFR5cGUsIGNv
bnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUpIG92ZXJyaWRlOworICAgIGJvb2wgY29udGFpbnNT
dHJpbmdTYWZlRm9yRE9NVG9SZWFkRm9yVHlwZShjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKSBvdmVycmlkZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbSBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2ll
cy5tbQppbmRleCA0YWUxZmIyYmVhOTczOTM1N2JiOWE1YTE4OWQwNTYwMjkyZWZkMmRlLi5hNTg4
MDkwN2E3NmQzZGFmMjYwMTM5MWM3NWRjZjIwODQ2OWZmOGMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0K
KysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1T
dHJhdGVnaWVzLm1tCkBAIC0xOTcsNiArMTk3LDExIEBAIGludDY0X3QgV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjp3cml0ZUN1c3RvbURhdGEoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlBhc3RlYm9hcmRD
CiAgICAgcmV0dXJuIFBsYXRmb3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkud3JpdGUoZGF0
YSk7CiB9CiAKK2Jvb2wgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjb250YWluc1N0cmluZ1NhZmVG
b3JET01Ub1JlYWRGb3JUeXBlKGNvbnN0IFN0cmluZyYgcGFzdGVib2FyZE5hbWUsIGNvbnN0IFN0
cmluZyYgdHlwZSkKK3sKKyAgICByZXR1cm4gUGxhdGZvcm1QYXN0ZWJvYXJkKHBhc3RlYm9hcmRO
YW1lKS5jb250YWluc1N0cmluZ1NhZmVGb3JET01Ub1JlYWRGb3JUeXBlKHR5cGUpOworfQorCiBP
cHRpb25hbDxXZWJDb3JlOjpQYXN0ZWJvYXJkSXRlbUluZm8+IFdlYlBsYXRmb3JtU3RyYXRlZ2ll
czo6aW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChzaXplX3QgaW5kZXgsIGNvbnN0IFN0cmluZyYg
cGFzdGVib2FyZE5hbWUsIGludDY0X3QgY2hhbmdlQ291bnQpCiB7CiAgICAgcmV0dXJuIFBsYXRm
b3JtUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSkuaW5mb3JtYXRpb25Gb3JJdGVtQXRJbmRleChp
bmRleCwgY2hhbmdlQ291bnQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>