<?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>149153</bug_id>
          
          <creation_ts>2015-09-14 23:13:35 -0700</creation_ts>
          <short_desc>REGRESSION(r155554): Nested isolates can cause an infinite loop when laying out bidi runs</short_desc>
          <delta_ts>2016-07-15 09:40:08 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>149193</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>hartman.wiki</cc>
    
    <cc>hyatt</cc>
    
    <cc>jonlee</cc>
    
    <cc>kojii</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125901</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-09-14 23:13:35 -0700</bug_when>
    <thetext>Nested isolates can cause an infinite loop when laying out bidi runs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125902</commentid>
    <comment_count>1</comment_count>
      <attachid>261178</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-09-14 23:35:52 -0700</bug_when>
    <thetext>Created attachment 261178
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125989</commentid>
    <comment_count>2</comment_count>
      <attachid>261178</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-09-15 09:36:53 -0700</bug_when>
    <thetext>Comment on attachment 261178
Patch

r=me, but check with someone who cares about WTF naming conventions etc. and make sure they are cool with Void.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126049</commentid>
    <comment_count>3</comment_count>
      <attachid>261178</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-09-15 11:08:10 -0700</bug_when>
    <thetext>Comment on attachment 261178
Patch

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

&gt; Source/WTF/wtf/Void.h:32
&gt; +class Void {

Anders says this is bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126213</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-09-15 17:30:53 -0700</bug_when>
    <thetext>Committed r189832: &lt;http://trac.webkit.org/changeset/189832&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126221</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-09-15 17:48:53 -0700</bug_when>
    <thetext>The changelog failed to explain when this was introduced.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126455</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2015-09-16 14:06:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; The changelog failed to explain when this was introduced.

Updated ChangeLog committed r189880</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211436</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2016-07-15 09:40:08 -0700</bug_when>
    <thetext>*** Bug 148573 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261178</attachid>
            <date>2015-09-14 23:35:52 -0700</date>
            <delta_ts>2015-09-15 09:36:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149153-20150914233541.patch</filename>
            <type>text/plain</type>
            <size>32722</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY5ZTI3MTgwNDM5ZjkwNWJiNDI0NDNm
OTQ0NjZjNWMxZDdiNjY2ZjMuLjNhZjM5MGMyNzkwOGU5YjllZmE3NDg0MDNkYjY1NWIwZjg2MTRi
NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTUtMDktMTQgIE15bGVzIEMuIE1heGZpZWxkICA8
bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBOZXN0ZWQgaXNvbGF0ZXMgY2FuIGNhdXNl
IGFuIGluZmluaXRlIGxvb3Agd2hlbiBsYXlpbmcgb3V0IGJpZGkgcnVucworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5MTUzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgVm9pZCB0eXBlIGZvciB0
ZW1wbGF0ZSBhcmd1bWVudHMgd2hpY2ggYXJlIG5ldmVyIHJlZmVyZW5jZWQuCisKKyAgICAgICAg
KiBXVEYudmN4cHJvai9XVEYudmN4cHJvajoKKyAgICAgICAgKiBXVEYudmN4cHJvai9XVEYudmN4
cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIHd0Zi9DTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiB3dGYvVm9pZC5oOiBBZGRl
ZC4KKwogCiAyMDE1LTA5LTExICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29t
PgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggYzJiN2RlZmM1OWMyYjg5NjkwZTNjOGE4ZGM4ZDBjOTkzOWY4ZmJl
Ni4uYmE2YTRhM2U4ZGQ1Mzg5NzI1MTRjOGY5OTUwZjEwNGExNTY1MmYzOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDcxIEBACisyMDE1LTA5LTE0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CisKKyAgICAgICAgTmVzdGVkIGlzb2xhdGVzIGNhbiBjYXVzZSBhbiBpbmZp
bml0ZSBsb29wIHdoZW4gbGF5aW5nIG91dCBiaWRpIHJ1bnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTE1MworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gdHJhdmVyc2luZyBiaWRpIHJ1bnMsIHdl
IG1pZ2h0IGVuY291bnRlciBhIHJ1biB3aGljaCBpcyBzdXBwb3NlZCB0byBiZSBpc29sYXRlZC4g
SW4gdGhpcworICAgICAgICBzaXR1YXRpb24sIHdlIHdpbGwgYXBwZW5kIGEgcGxhY2Vob2xkZXIg
cnVuIGluIHRoZSBydW4gbGlzdCwgYW5kIHJlbWVtYmVyIGEgcG9pbnRlciB0byB0aGVzZQorICAg
ICAgICBpc29sYXRlZCBydW5zIGluc2lkZSBCaWRpUmVzb2x2ZXIuIFRoZW4sIG9uY2Ugd2UncmUg
ZG9uZSB0cmF2ZXJzaW5nIHRoZSBiaWRpIHJ1bnMsIHdlIHJldHVybgorICAgICAgICB0byB0aGUg
aXNvbGF0ZWQgcnVucyBhbmQgaGFuZGxlIHRoZW0gc2VwYXJhdGVseSAoYW5kIHJlcGxhY2UgdGhl
IHBsYWNlaG9sZGVyIHdpdGggdGhlIHJlc3VsdCkuCisKKyAgICAgICAgSG93ZXZlciwgZHVlIHRv
IHRoZSBmYWN0IHRoYXQgb3VyIEJpZGlSdW5zIHN0YXJ0IGF0IGxlYWYgbm9kZXMsIHdlIGhhdmUg
dG8ga2VlcCB0cmFjayBvZiB3aGljaAorICAgICAgICBsb2NhbCByb290IG9mIHRoZSByZW5kZXIg
dHJlZSB3ZSB3ZXJlIGluc3BlY3RpbmcgKHRvIGVuc3VyZSB0aGF0IHdlIHZpc2l0IHRoZSBzYW1l
IG5vZGUKKyAgICAgICAgbXVsdGlwbGUgdGltZXMgaWYgdGhlcmUgYXJlIG5lc3RlZCBpc29sYXRl
IHNwYW5zKS4gV2Ugd2VyZSBub3QgY29ycmVjdGx5IGtlZXBpbmcgdHJhY2sgb2YgdGhpcworICAg
ICAgICBsb2NhbCByb290LCB3aGljaCB3YXMgbGVhZGluZyB1cyB0byBjb25zaWRlciB0aGUgc2Ft
ZSByb290IG11bHRpcGxlIHRpbWVzLCB0aGVyZWJ5IGxlYWRpbmcgdG8KKyAgICAgICAgYW4gaW5m
aW5pdGUgbG9vcC4KKworICAgICAgICBUaGUgc29sdXRpb24gaXMgc2ltcGx5IHRvIGtlZXAgcm9v
dCBpbmZvcm1hdGlvbiBhbG9uZ3NpZGUgdGhlIGlzb2xhdGVkIHJ1biBpbmZvcm1hdGlvbiBpbnNp
ZGUKKyAgICAgICAgQmlkaVJlc29sdmVyLiBIb3dldmVyLCBCaWRpUmVzb2x2ZXIgaXMgaW5zaWRl
IHBsYXRmb3JtLywgd2hpY2ggbWVhbnMgdGhhdCB0aGlzIG5ldyB0eXBlIHNob3VsZAorICAgICAg
ICBiZSBhIHRlbXBsYXRlIGFyZ3VtZW50LCBqdXN0IGxpa2UgaG93IEJpZGlSdW4gaXRzZWxmIGlz
IGEgdGVtcGxhdGUgYXJndW1lbnQuCisKKyAgICAgICAgVGhpcyBuZXcgdHlwZSwgQmlkaUlzb2xh
dGVkUnVuLCBob2xkcyBhbGwgdGhlIGluZm9ybWF0aW9uIHRoYXQgb3VyIGlzb2xhdGUtcmV2aXNp
dGluZyBsb2dpYworICAgICAgICBuZWVkcyBpbnNpZGUgY29uc3RydWN0QmlkaVJ1bnNGb3JTZWdt
ZW50KCkuIEl0IGFsc28gaG9sZHMgYSByZWZlcmVuY2UgdG8gdGhlIHBsYWNlaG9sZGVyIHJ1bgor
ICAgICAgICB3aGljaCB3ZSB3aWxsIHJlcGxhY2UuCisKKyAgICAgICAgVGVzdDogZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvdW5pY29kZS1iaWRpLWlzb2xhdGUtbmVzdGVkLWNyYXNoLmh0bWwKKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmRyYXdCaWRpVGV4dCk6IEJpZGlJc29sYXRlZFJ1
biB0ZW1wbGF0ZSBhcmd1bWVudCBpcyB1bnVzZWQsIHNvIHBhc3MKKyAgICAgICAgaW4gVm9pZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0JpZGlSZXNvbHZlci5oOiBBZGQgdGVtcGxhdGUgYXJn
dW1lbnQuCisgICAgICAgIChXZWJDb3JlOjpCaWRpUmVzb2x2ZXI6Omlzb2xhdGVkUnVucyk6Cisg
ICAgICAgIChXZWJDb3JlOjpJc29sYXRlZFJ1bj46On5CaWRpUmVzb2x2ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SXNvbGF0ZWRSdW4+OjphcHBlbmRSdW4pOgorICAgICAgICAoV2ViQ29yZTo6SXNv
bGF0ZWRSdW4+OjplbWJlZCk6CisgICAgICAgIChXZWJDb3JlOjpJc29sYXRlZFJ1bj46OmNoZWNr
RGlyZWN0aW9uSW5Mb3dlclJhaXNlRW1iZWRkaW5nTGV2ZWwpOgorICAgICAgICAoV2ViQ29yZTo6
SXNvbGF0ZWRSdW4+Ojpsb3dlckV4cGxpY2l0RW1iZWRkaW5nTGV2ZWwpOgorICAgICAgICAoV2Vi
Q29yZTo6SXNvbGF0ZWRSdW4+OjpyYWlzZUV4cGxpY2l0RW1iZWRkaW5nTGV2ZWwpOgorICAgICAg
ICAoV2ViQ29yZTo6SXNvbGF0ZWRSdW4+Ojpjb21taXRFeHBsaWNpdEVtYmVkZGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpJc29sYXRlZFJ1bj46OnVwZGF0ZVN0YXR1c0xhc3RGcm9tQ3VycmVudERp
cmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJc29sYXRlZFJ1bj46OnJlb3JkZXJSdW5zRnJv
bUxldmVscyk6CisgICAgICAgIChXZWJDb3JlOjpJc29sYXRlZFJ1bj46OmNyZWF0ZUJpZGlSdW5z
Rm9yTGluZSk6CisgICAgICAgIChXZWJDb3JlOjpJc29sYXRlZFJ1bj46OnNldE1pZHBvaW50Rm9y
SXNvbGF0ZWRSdW4pOiBVc2UgcmVmZXJlbmNlcyBpbnN0ZWFkIG9mIHBvaW50ZXJzLgorICAgICAg
ICAoV2ViQ29yZTo6SXNvbGF0ZWRSdW4+OjptaWRwb2ludEZvcklzb2xhdGVkUnVuKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpSdW4+Ojp+QmlkaVJlc29sdmVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bj46OmFwcGVuZFJ1bik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpSdW4+OjplbWJlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW4+OjpjaGVja0Rp
cmVjdGlvbkluTG93ZXJSYWlzZUVtYmVkZGluZ0xldmVsKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJ1bj46Omxvd2VyRXhwbGljaXRFbWJlZGRpbmdMZXZlbCk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpSdW4+OjpyYWlzZUV4cGxpY2l0RW1iZWRkaW5nTGV2ZWwpOiBEZWxldGVk
LgorICAgICAgICAoV2ViQ29yZTo6UnVuPjo6Y29tbWl0RXhwbGljaXRFbWJlZGRpbmcpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVuPjo6dXBkYXRlU3RhdHVzTGFzdEZyb21DdXJyZW50
RGlyZWN0aW9uKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJ1bj46OnJlb3JkZXJSdW5z
RnJvbUxldmVscyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW4+OjpjcmVhdGVCaWRp
UnVuc0ZvckxpbmUpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UnVuPjo6c2V0TWlkcG9p
bnRGb3JJc29sYXRlZFJ1bik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW4+OjptaWRw
b2ludEZvcklzb2xhdGVkUnVuKTogRGVsZXRlZC4KKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5l
SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OkJpZGlJc29sYXRlZFJ1bjo6QmlkaUlzb2xh
dGVkUnVuKTogTmV3IHR5cGUuCisgICAgICAgIChXZWJDb3JlOjphZGRQbGFjZWhvbGRlclJ1bkZv
cklzb2xhdGVkSW5saW5lKTogQ3JlYXRlIG5ldyB0eXBlLCBhbmQgaW5jbHVkZSBsb2NhbCByb290
CisgICAgICAgIGluZm9ybWF0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SXNvbGF0ZVRyYWNrZXI6
OmFkZEZha2VSdW5JZk5lY2Vzc2FyeSk6IEluY2x1ZGUgbG9jYWwgcm9vdCBpbmZvcm1hdGlvbi4K
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUJpZGlSZXNvbHZlcjo6YXBwZW5kUnVuKTogRGl0dG8u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHA6IFVwZGF0ZSBm
b3IgbmV3IEJpZGlJc29sYXRlZFJ1biB0eXBlLgorICAgICAgICAoV2ViQ29yZTo6c2V0VXBSZXNv
bHZlclRvUmVzdW1lSW5Jc29sYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnN0cnVjdEJpZGlS
dW5zRm9yU2VnbWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL2xpbmUvVHJhaWxpbmdPYmplY3Rz
Lmg6CisKIDIwMTUtMDktMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBEb2N1bWVudC5jcmVhdGVOb2RlSXRlcmF0b3IobnVsbCkgLyBEb2N1bWVudC5jcmVhdGVU
cmVlV2Fsa2VyKG51bGwpIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvaiBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ov
V1RGLnZjeHByb2oKaW5kZXggZDExNjAyNWFiNGNkMDYxZWU5MDVlYzkxYTYzODY2ZGM4OGVkMzk5
MS4uOWY3ZWYyMzAzYTA2NzJlYzMzOGFjNzE3NWY5ZjVlMDc3MDQ5Y2UyOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi52
Y3hwcm9qL1dURi52Y3hwcm9qCkBAIC0zMDksNiArMzA5LDcgQEAKICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXHd0Zlx1bmljb2RlXENvbGxhdG9yLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNs
dWRlPSIuLlx3dGZcdW5pY29kZVxVVEY4LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llx3dGZcVmFsdWVDaGVjay5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cd3RmXFZv
aWQuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxWZWN0b3IuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxWTVRhZ3MuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHd0Zlx3aW5cR0RJT2JqZWN0LmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1dURi52Y3hwcm9qL1dURi52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV1RGL1dURi52Y3hw
cm9qL1dURi52Y3hwcm9qLmZpbHRlcnMKaW5kZXggZjZkNmY5ZGU2NzBiODZlMDcwZGZmOGVhNzYw
OGQ4ZTgwN2M5YWZhZi4uZGIwMDZhNTNjZDE3Mjk2YTFiYjQ4ODQxNGI1ZGFmZDkxYzJhNzBlMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCisr
KyBiL1NvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwpAQCAtNjU5LDYg
KzY1OSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlx3dGZcRnVuY3Rpb25EaXNwYXRj
aGVyLmgiPgogICAgICAgPEZpbHRlcj53dGY8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KKyAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0ZlxWb2lkLmgiPgorICAgICAgPEZpbHRlcj53dGY8
L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHd0
ZlxDb21waWxhdGlvblRocmVhZC5oIj4KICAgICAgIDxGaWx0ZXI+d3RmPC9GaWx0ZXI+CiAgICAg
PC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA5M2IzMWNlZDNhMjNjZjMwYWRlNDEzZmIwOGFiMTdmMmIwZWNiNzc1Li5jNDAyZTUwYmY1N2M1
NmMzNDM3ZjRmM2Q5MjMyZjE2YTkyMzFkNDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTcyLDYgKzcyLDcgQEAKIAkJMUFDQUREODQxODg0NDgwMTAwRDhC
NzFEIC8qIERlcHJlY2F0ZWRTeW1ib2xzVXNlZEJ5U2FmYXJpLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFDQUREODIxODg0NDgwMTAwRDhCNzFEIC8q
IERlcHJlY2F0ZWRTeW1ib2xzVXNlZEJ5U2FmYXJpLm1tICovOyB9OwogCQkxQUZERTY0ODE5NTIw
MUMzMDBDNDhGRkEgLyogVHlwZUNhc3RzQ0YuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkRFNjQ3MTk1MjAxQzMwMEM0OEZGQSAvKiBUeXBlQ2FzdHND
Ri5oICovOyB9OwogCQkxQUZERTY1MzE5NTNCMjNEMDBDNDhGRkEgLyogT3B0aW9uYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRkRFNjUyMTk1M0Iy
M0QwMEM0OEZGQSAvKiBPcHRpb25hbC5oICovOyB9OworCQkxQzVBNjRCQjFCQTdGMTJEMDBEQTZE
ODcgLyogVm9pZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUM1QTY0QkExQkE3RjEyNTAwREE2RDg3IC8qIFZvaWQuaCAqLzsgfTsKIAkJMUZBNDdDOEEx
NTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUZBNDdDODgxNTI1MDJEQTAwNTY4RDFCIC8qIFdl
YkNvcmVUaHJlYWQuY3BwICovOyB9OwogCQkxRkE0N0M4QjE1MjUwMkRBMDA1NjhEMUIgLyogV2Vi
Q29yZVRocmVhZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUZBNDdDODkxNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQuaCAqLzsgfTsKIAkJ
MjYxNDdCMEExNUREQ0NEQzAwRERCOTA3IC8qIEludGVnZXJUb1N0cmluZ0NvbnZlcnNpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDI2MTQ3QjA4MTVE
RENDREMwMEREQjkwNyAvKiBJbnRlZ2VyVG9TdHJpbmdDb252ZXJzaW9uLmggKi87IH07CkBAIC0z
NjIsNiArMzYzLDcgQEAKIAkJMUFDQUREODIxODg0NDgwMTAwRDhCNzFEIC8qIERlcHJlY2F0ZWRT
eW1ib2xzVXNlZEJ5U2FmYXJpLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gRGVwcmVjYXRlZFN5bWJvbHNVc2VkQnlTYWZhcmkubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFBRkRFNjQ3MTk1MjAxQzMwMEM0OEZGQSAvKiBUeXBlQ2FzdHNDRi5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlQ2FzdHNDRi5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQUZERTY1MjE5NTNCMjNEMDBDNDhGRkEgLyogT3B0aW9uYWwu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3B0aW9uYWwuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUM1QTY0QkExQkE3RjEyNTAwREE2RDg3IC8qIFZvaWQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVm9pZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxRkE0
N0M4ODE1MjUwMkRBMDA1NjhEMUIgLyogV2ViQ29yZVRocmVhZC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlVGhyZWFkLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUZBNDdDODkxNTI1MDJEQTAwNTY4RDFCIC8qIFdlYkNvcmVUaHJlYWQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZVRocmVhZC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyNjE0N0IwODE1RERDQ0RDMDBEREI5MDcgLyogSW50
ZWdlclRvU3RyaW5nQ29udmVyc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbnRlZ2VyVG9TdHJpbmdDb252ZXJzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC04OTgsNiArOTAwLDcgQEAKIAkJCQlFNEEwQUQzODFBOTYyNDU1MDA1MzZERjYgLyogV29y
a1F1ZXVlLmggKi8sCiAJCQkJQThBNDczN0ExNTFBODI1QjAwNDEyM0ZGIC8qIFdURlRocmVhZERh
dGEuY3BwICovLAogCQkJCUE4QTQ3MzdCMTUxQTgyNUIwMDQxMjNGRiAvKiBXVEZUaHJlYWREYXRh
LmggKi8sCisJCQkJMUM1QTY0QkExQkE3RjEyNTAwREE2RDg3IC8qIFZvaWQuaCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gd3RmOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTEwOTAsNiAr
MTA5Myw3IEBACiAJCQkJMEZDNEVERTYxNjk2MTQ5NjAwRjY1MDQxIC8qIENvbW1hUHJpbnRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY4RjJCOTExNzJFMDBGQzAwN0RCREE1IC8qIENvbXBpbGF0
aW9uVGhyZWFkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzM5ODE1MUE4MjVCMDA0MTIzRkYg
LyogQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTFDNUE2NEJCMUJBN0YxMkQwMERBNkQ4
NyAvKiBWb2lkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQ4QzE1MUE4MjY0MDA0MTIzRkYg
LyogY29uZmlnLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjhGMkI5QzE3MkYyNTk2MDA3REJEQTUg
LyogQ29udmVyc2lvbk1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3MzlCMTUxQTgyNUIw
MDQxMjNGRiAvKiBDcnlwdG9ncmFwaGljYWxseVJhbmRvbU51bWJlci5oIGluIEhlYWRlcnMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYv
d3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDZkZDdiYjczMzdlYjExMjEwZWRiMTBmODRlYWMwODVj
MzUwMWQzMmQuLmRmOWYzNWJiNmM1MWM4YjkwZWY0Njk0NzZmOTZjNWQ5MTJjMjVjMTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XVEYvd3Rm
L0NNYWtlTGlzdHMudHh0CkBAIC0xMDEsNiArMTAxLDcgQEAgc2V0KFdURl9IRUFERVJTCiAgICAg
VmFsdWVDaGVjay5oCiAgICAgVmVjdG9yLmgKICAgICBWZWN0b3JUcmFpdHMuaAorICAgIFZvaWQu
aAogICAgIFdURlRocmVhZERhdGEuaAogICAgIFdlYWtQdHIuaAogICAgIFdvcmRMb2NrLmgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1ZvaWQuaCBiL1NvdXJjZS9XVEYvd3RmL1ZvaWQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lOWQwM2ZhZDc0YjNiNzdmY2NmOTYzM2FiZDc4ZWY4ODBmZjMwODVmCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dURi93dGYvVm9pZC5oCkBAIC0wLDAgKzEsMzkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKgorICovCisKKyNpZm5kZWYg
Vm9pZF9oCisjZGVmaW5lIFZvaWRfaAorCituYW1lc3BhY2UgV1RGIHsKKworY2xhc3MgVm9pZCB7
Cit9OworCit9CisKK3VzaW5nIFdURjo6Vm9pZDsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcAppbmRleCAzMDM0
MGRiZDMzYWI1YzA3YjlmNDE2NWEwODIxYTVjNGYzZTIxNDlkLi41ZmQyNjA1NjI0ZjAyNGZhZTUx
NTVmNDNlZTBjOGMxODBkMzFkMzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNs
dWRlICJJbnRSZWN0LmgiCiAjaW5jbHVkZSAiUm91bmRlZFJlY3QuaCIKICNpbmNsdWRlICJUZXh0
UnVuLmgiCisjaW5jbHVkZSA8d3RmL1ZvaWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC0zMzksNyArMzQwLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmRyYXdCaWRpVGV4dChjb25z
dCBGb250Q2FzY2FkZSYgZm9udCwgY29uc3QgVGV4dFJ1biYgcnVuLAogICAgIGlmIChwYWludGlu
Z0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEJpZGlSZXNvbHZlcjxUZXh0UnVu
SXRlcmF0b3IsIEJpZGlDaGFyYWN0ZXJSdW4+IGJpZGlSZXNvbHZlcjsKKyAgICBCaWRpUmVzb2x2
ZXI8VGV4dFJ1bkl0ZXJhdG9yLCBCaWRpQ2hhcmFjdGVyUnVuLCBWb2lkPiBiaWRpUmVzb2x2ZXI7
CiAgICAgYmlkaVJlc29sdmVyLnNldFN0YXR1cyhCaWRpU3RhdHVzKHJ1bi5kaXJlY3Rpb24oKSwg
cnVuLmRpcmVjdGlvbmFsT3ZlcnJpZGUoKSkpOwogICAgIGJpZGlSZXNvbHZlci5zZXRQb3NpdGlv
bklnbm9yaW5nTmVzdGVkSXNvbGF0ZXMoVGV4dFJ1bkl0ZXJhdG9yKCZydW4sIDApKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9CaWRpUmVzb2x2ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvQmlkaVJlc29sdmVyLmgKaW5kZXggMzczNTI5MDc3
MGY0NmExMmZiYTYxNmZjMjA2OTc2MTRlZTkyZmNmOC4uMWVhNDY2YTBkMTBkZjk2MThiMmFhY2M1
MGUwNDA3YTM1N2FhNTg2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC9CaWRpUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0JpZGlS
ZXNvbHZlci5oCkBAIC0yMDMsNyArMjAzLDcgQEAgZW51bSBWaXN1YWxEaXJlY3Rpb25PdmVycmlk
ZSB7CiAKIC8vIEJpZGlSZXNvbHZlciBpcyBXZWJLaXQncyBpbXBsZW1lbnRhdGlvbiBvZiB0aGUg
VW5pY29kZSBCaWRpIEFsZ29yaXRobQogLy8gaHR0cDovL3VuaWNvZGUub3JnL3JlcG9ydHMvdHI5
Ci10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1bj4gY2xhc3MgQmlkaVJlc29sdmVy
IHsKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuLCBjbGFzcyBJc29sYXRlZFJ1
bj4gY2xhc3MgQmlkaVJlc29sdmVyIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShCaWRpUmVz
b2x2ZXIpOwogcHVibGljOgogICAgIEJpZGlSZXNvbHZlcigpCkBAIC0yNjEsOSArMjYxLDkgQEAg
cHVibGljOgogICAgIC8vIEl0J3MgdW5jbGVhciBpZiB0aGlzIGlzIHN0aWxsIG5lZWRlZC4KICAg
ICB2b2lkIG1hcmtDdXJyZW50UnVuRW1wdHkoKSB7IG1fZW1wdHlSdW4gPSB0cnVlOyB9CiAKLSAg
ICBWZWN0b3I8UnVuKj4mIGlzb2xhdGVkUnVucygpIHsgcmV0dXJuIG1faXNvbGF0ZWRSdW5zOyB9
Ci0gICAgdm9pZCBzZXRNaWRwb2ludEZvcklzb2xhdGVkUnVuKFJ1biosIHVuc2lnbmVkKTsKLSAg
ICB1bnNpZ25lZCBtaWRwb2ludEZvcklzb2xhdGVkUnVuKFJ1biopOworICAgIFZlY3RvcjxJc29s
YXRlZFJ1bj4mIGlzb2xhdGVkUnVucygpIHsgcmV0dXJuIG1faXNvbGF0ZWRSdW5zOyB9CisgICAg
dm9pZCBzZXRNaWRwb2ludEZvcklzb2xhdGVkUnVuKFJ1biYsIHVuc2lnbmVkKTsKKyAgICB1bnNp
Z25lZCBtaWRwb2ludEZvcklzb2xhdGVkUnVuKFJ1biYpOwogCiBwcm90ZWN0ZWQ6CiAgICAgLy8g
RklYTUU6IEluc3RlYWQgb2YgSW5saW5lQmlkaVJlc29sdmVycyBzdWJjbGFzc2luZyB0aGlzIG1l
dGhvZCwgd2Ugc2hvdWxkCkBAIC0yOTAsNyArMjkwLDcgQEAgcHJvdGVjdGVkOgogICAgIE1pZHBv
aW50U3RhdGU8SXRlcmF0b3I+IG1fbWlkcG9pbnRTdGF0ZTsKIAogICAgIHVuc2lnbmVkIG1fbmVz
dGVkSXNvbGF0ZUNvdW50OwotICAgIFZlY3RvcjxSdW4qPiBtX2lzb2xhdGVkUnVuczsKKyAgICBW
ZWN0b3I8SXNvbGF0ZWRSdW4+IG1faXNvbGF0ZWRSdW5zOwogICAgIEhhc2hNYXA8UnVuKiwgdW5z
aWduZWQ+IG1fbWlkcG9pbnRGb3JJc29sYXRlZFJ1bjsKIAogcHJpdmF0ZToKQEAgLTMwNSwxNiAr
MzA1LDE2IEBAIHByaXZhdGU6CiB9OwogCiAjaWZuZGVmIE5ERUJVRwotdGVtcGxhdGUgPGNsYXNz
IEl0ZXJhdG9yLCBjbGFzcyBSdW4+Ci1CaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1bj46On5CaWRp
UmVzb2x2ZXIoKQordGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4sIGNsYXNzIElz
b2xhdGVkUnVuPgorQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4sIElzb2xhdGVkUnVuPjo6fkJp
ZGlSZXNvbHZlcigpCiB7CiAgICAgLy8gVGhlIG93bmVyIG9mIHRoaXMgcmVzb2x2ZXIgc2hvdWxk
IGhhdmUgaGFuZGxlZCB0aGUgaXNvbGF0ZWQgcnVucy4KICAgICBBU1NFUlQobV9pc29sYXRlZFJ1
bnMuaXNFbXB0eSgpKTsKIH0KICNlbmRpZgogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNs
YXNzIFJ1bj4KLXZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4+OjphcHBlbmRSdW4oKQor
dGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4sIGNsYXNzIElzb2xhdGVkUnVuPgor
dm9pZCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1biwgSXNvbGF0ZWRSdW4+OjphcHBlbmRSdW4o
KQogewogICAgIGlmICghbV9lbXB0eVJ1biAmJiAhbV9lb3IuYXRFbmQoKSkgewogICAgICAgICB1
bnNpZ25lZCBzdGFydE9mZnNldCA9IG1fc29yLm9mZnNldCgpOwpAQCAtMzM2LDggKzMzNiw4IEBA
IHZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4+OjphcHBlbmRSdW4oKQogICAgIG1fc3Rh
dHVzLmVvciA9IFVfT1RIRVJfTkVVVFJBTDsKIH0KIAotdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9y
LCBjbGFzcyBSdW4+Ci12b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6ZW1iZWQoVUNo
YXJEaXJlY3Rpb24gZGlyLCBCaWRpRW1iZWRkaW5nU291cmNlIHNvdXJjZSkKK3RlbXBsYXRlIDxj
bGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuLCBjbGFzcyBJc29sYXRlZFJ1bj4KK3ZvaWQgQmlkaVJl
c29sdmVyPEl0ZXJhdG9yLCBSdW4sIElzb2xhdGVkUnVuPjo6ZW1iZWQoVUNoYXJEaXJlY3Rpb24g
ZGlyLCBCaWRpRW1iZWRkaW5nU291cmNlIHNvdXJjZSkKIHsKICAgICAvLyBJc29sYXRlZCBzcGFu
cyBjb21wdXRlIGJhc2UgZGlyZWN0aW9uYWxpdHkgZHVyaW5nIHRoZWlyIG93biBVQkEgcnVuLgog
ICAgIC8vIERvIG5vdCBpbnNlcnQgZmFrZSBlbWJlZCBjaGFyYWN0ZXJzIG9uY2Ugd2UgZW50ZXIg
YW4gaXNvbGF0ZWQgc3Bhbi4KQEAgLTM0Nyw4ICszNDcsOCBAQCB2b2lkIEJpZGlSZXNvbHZlcjxJ
dGVyYXRvciwgUnVuPjo6ZW1iZWQoVUNoYXJEaXJlY3Rpb24gZGlyLCBCaWRpRW1iZWRkaW5nU291
cmNlCiAgICAgbV9jdXJyZW50RXhwbGljaXRFbWJlZGRpbmdTZXF1ZW5jZS5hcHBlbmQoQmlkaUVt
YmVkZGluZyhkaXIsIHNvdXJjZSkpOwogfQogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNs
YXNzIFJ1bj4KLXZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4+OjpjaGVja0RpcmVjdGlv
bkluTG93ZXJSYWlzZUVtYmVkZGluZ0xldmVsKCkKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwg
Y2xhc3MgUnVuLCBjbGFzcyBJc29sYXRlZFJ1bj4KK3ZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9y
LCBSdW4sIElzb2xhdGVkUnVuPjo6Y2hlY2tEaXJlY3Rpb25Jbkxvd2VyUmFpc2VFbWJlZGRpbmdM
ZXZlbCgpCiB7CiAgICAgQVNTRVJUKG1fc3RhdHVzLmVvciAhPSBVX09USEVSX05FVVRSQUwgfHwg
bV9lb3IuYXRFbmQoKSk7CiAgICAgQVNTRVJUKG1fc3RhdHVzLmxhc3QgIT0gVV9ESVJfTk9OX1NQ
QUNJTkdfTUFSSwpAQCAtMzYyLDggKzM2Miw4IEBAIHZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9y
LCBSdW4+OjpjaGVja0RpcmVjdGlvbkluTG93ZXJSYWlzZUVtYmVkZGluZ0xldmVsKCkKICAgICAg
ICAgbV9kaXJlY3Rpb24gPSBtX3N0YXR1cy5sYXN0U3Ryb25nID09IFVfTEVGVF9UT19SSUdIVCA/
IFVfTEVGVF9UT19SSUdIVCA6IFVfUklHSFRfVE9fTEVGVDsKIH0KIAotdGVtcGxhdGUgPGNsYXNz
IEl0ZXJhdG9yLCBjbGFzcyBSdW4+Ci12b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6
bG93ZXJFeHBsaWNpdEVtYmVkZGluZ0xldmVsKFVDaGFyRGlyZWN0aW9uIGZyb20pCit0ZW1wbGF0
ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1biwgY2xhc3MgSXNvbGF0ZWRSdW4+Cit2b2lkIEJp
ZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuLCBJc29sYXRlZFJ1bj46Omxvd2VyRXhwbGljaXRFbWJl
ZGRpbmdMZXZlbChVQ2hhckRpcmVjdGlvbiBmcm9tKQogewogICAgIGlmICghbV9lbXB0eVJ1biAm
JiBtX2VvciAhPSBtX2xhc3QpIHsKICAgICAgICAgY2hlY2tEaXJlY3Rpb25Jbkxvd2VyUmFpc2VF
bWJlZGRpbmdMZXZlbCgpOwpAQCAtMzk4LDggKzM5OCw4IEBAIHZvaWQgQmlkaVJlc29sdmVyPEl0
ZXJhdG9yLCBSdW4+Ojpsb3dlckV4cGxpY2l0RW1iZWRkaW5nTGV2ZWwoVUNoYXJEaXJlY3Rpb24g
ZnJvCiAgICAgbV9lb3IgPSBJdGVyYXRvcigpOwogfQogCi10ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0
b3IsIGNsYXNzIFJ1bj4KLXZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4+OjpyYWlzZUV4
cGxpY2l0RW1iZWRkaW5nTGV2ZWwoVUNoYXJEaXJlY3Rpb24gZnJvbSwgVUNoYXJEaXJlY3Rpb24g
dG8pCit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1biwgY2xhc3MgSXNvbGF0ZWRS
dW4+Cit2b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuLCBJc29sYXRlZFJ1bj46OnJhaXNl
RXhwbGljaXRFbWJlZGRpbmdMZXZlbChVQ2hhckRpcmVjdGlvbiBmcm9tLCBVQ2hhckRpcmVjdGlv
biB0bykKIHsKICAgICBpZiAoIW1fZW1wdHlSdW4gJiYgbV9lb3IgIT0gbV9sYXN0KSB7CiAgICAg
ICAgIGNoZWNrRGlyZWN0aW9uSW5Mb3dlclJhaXNlRW1iZWRkaW5nTGV2ZWwoKTsKQEAgLTQzNSw4
ICs0MzUsOCBAQCB2b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6cmFpc2VFeHBsaWNp
dEVtYmVkZGluZ0xldmVsKFVDaGFyRGlyZWN0aW9uIGZybwogICAgIG1fZW9yID0gSXRlcmF0b3Io
KTsKIH0KIAotdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+Ci1ib29sIEJpZGlS
ZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6Y29tbWl0RXhwbGljaXRFbWJlZGRpbmcoKQordGVtcGxh
dGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4sIGNsYXNzIElzb2xhdGVkUnVuPgorYm9vbCBC
aWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1biwgSXNvbGF0ZWRSdW4+Ojpjb21taXRFeHBsaWNpdEVt
YmVkZGluZygpCiB7CiAgICAgLy8gV2hlbiB3ZSdyZSAiaW5Jc29sYXRlKCkiIHdlJ3JlIHJlc29s
dmluZyB0aGUgcGFyZW50IGNvbnRleHQgd2hpY2gKICAgICAvLyBpZ25vcmVzIChza2lwcyBvdmVy
KSB0aGUgaXNvbGF0ZWQgY29udGVudCwgaW5jbHVkaW5nIGVtYmVkZGluZyBsZXZlbHMuCkBAIC00
NzgsOCArNDc4LDggQEAgYm9vbCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1bj46OmNvbW1pdEV4
cGxpY2l0RW1iZWRkaW5nKCkKICAgICByZXR1cm4gZnJvbUxldmVsICE9IHRvTGV2ZWw7CiB9CiAK
LXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPgotaW5saW5lIHZvaWQgQmlkaVJl
c29sdmVyPEl0ZXJhdG9yLCBSdW4+Ojp1cGRhdGVTdGF0dXNMYXN0RnJvbUN1cnJlbnREaXJlY3Rp
b24oVUNoYXJEaXJlY3Rpb24gZGlyQ3VycmVudCkKK3RlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwg
Y2xhc3MgUnVuLCBjbGFzcyBJc29sYXRlZFJ1bj4KK2lubGluZSB2b2lkIEJpZGlSZXNvbHZlcjxJ
dGVyYXRvciwgUnVuLCBJc29sYXRlZFJ1bj46OnVwZGF0ZVN0YXR1c0xhc3RGcm9tQ3VycmVudERp
cmVjdGlvbihVQ2hhckRpcmVjdGlvbiBkaXJDdXJyZW50KQogewogICAgIHN3aXRjaCAoZGlyQ3Vy
cmVudCkgewogICAgIGNhc2UgVV9FVVJPUEVBTl9OVU1CRVJfVEVSTUlOQVRPUjoKQEAgLTUxOSw4
ICs1MTksOCBAQCBpbmxpbmUgdm9pZCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1bj46OnVwZGF0
ZVN0YXR1c0xhc3RGcm9tQ3VycmVudERpcmVjdGlvbihVQwogICAgIH0KIH0KIAotdGVtcGxhdGUg
PGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+Ci1pbmxpbmUgdm9pZCBCaWRpUmVzb2x2ZXI8SXRl
cmF0b3IsIFJ1bj46OnJlb3JkZXJSdW5zRnJvbUxldmVscygpCit0ZW1wbGF0ZSA8Y2xhc3MgSXRl
cmF0b3IsIGNsYXNzIFJ1biwgY2xhc3MgSXNvbGF0ZWRSdW4+CitpbmxpbmUgdm9pZCBCaWRpUmVz
b2x2ZXI8SXRlcmF0b3IsIFJ1biwgSXNvbGF0ZWRSdW4+OjpyZW9yZGVyUnVuc0Zyb21MZXZlbHMo
KQogewogICAgIHVuc2lnbmVkIGNoYXIgbGV2ZWxMb3cgPSAxMjg7CiAgICAgdW5zaWduZWQgY2hh
ciBsZXZlbEhpZ2ggPSAwOwpAQCAtNTU2LDggKzU1Niw4IEBAIGlubGluZSB2b2lkIEJpZGlSZXNv
bHZlcjxJdGVyYXRvciwgUnVuPjo6cmVvcmRlclJ1bnNGcm9tTGV2ZWxzKCkKICAgICB9CiB9CiAK
LXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPgotdm9pZCBCaWRpUmVzb2x2ZXI8
SXRlcmF0b3IsIFJ1bj46OmNyZWF0ZUJpZGlSdW5zRm9yTGluZShjb25zdCBJdGVyYXRvciYgZW5k
LCBWaXN1YWxEaXJlY3Rpb25PdmVycmlkZSBvdmVycmlkZSwgYm9vbCBoYXJkTGluZUJyZWFrKQor
dGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4sIGNsYXNzIElzb2xhdGVkUnVuPgor
dm9pZCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1biwgSXNvbGF0ZWRSdW4+OjpjcmVhdGVCaWRp
UnVuc0ZvckxpbmUoY29uc3QgSXRlcmF0b3ImIGVuZCwgVmlzdWFsRGlyZWN0aW9uT3ZlcnJpZGUg
b3ZlcnJpZGUsIGJvb2wgaGFyZExpbmVCcmVhaykKIHsKICAgICBBU1NFUlQobV9kaXJlY3Rpb24g
PT0gVV9PVEhFUl9ORVVUUkFMKTsKIApAQCAtNTgzLDcgKzU4Myw3IEBAIHZvaWQgQmlkaVJlc29s
dmVyPEl0ZXJhdG9yLCBSdW4+OjpjcmVhdGVCaWRpUnVuc0ZvckxpbmUoY29uc3QgSXRlcmF0b3Im
IGVuZCwgVmlzCiAKICAgICBtX2xhc3QgPSBtX2N1cnJlbnQ7CiAgICAgYm9vbCBwYXN0RW5kID0g
ZmFsc2U7Ci0gICAgQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4+IHN0YXRlQXRFbmQ7CisgICAg
QmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4sIElzb2xhdGVkUnVuPiBzdGF0ZUF0RW5kOwogCiAg
ICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgVUNoYXJEaXJlY3Rpb24gZGlyQ3VycmVudDsKQEAg
LTk1NiwxNyArOTU2LDE3IEBAIHZvaWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4+OjpjcmVh
dGVCaWRpUnVuc0ZvckxpbmUoY29uc3QgSXRlcmF0b3ImIGVuZCwgVmlzCiAgICAgZW5kT2ZMaW5l
ID0gSXRlcmF0b3IoKTsKIH0KIAotdGVtcGxhdGUgPGNsYXNzIEl0ZXJhdG9yLCBjbGFzcyBSdW4+
Ci12b2lkIEJpZGlSZXNvbHZlcjxJdGVyYXRvciwgUnVuPjo6c2V0TWlkcG9pbnRGb3JJc29sYXRl
ZFJ1bihSdW4qIHJ1biwgdW5zaWduZWQgbWlkcG9pbnQpCit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0
b3IsIGNsYXNzIFJ1biwgY2xhc3MgSXNvbGF0ZWRSdW4+Cit2b2lkIEJpZGlSZXNvbHZlcjxJdGVy
YXRvciwgUnVuLCBJc29sYXRlZFJ1bj46OnNldE1pZHBvaW50Rm9ySXNvbGF0ZWRSdW4oUnVuJiBy
dW4sIHVuc2lnbmVkIG1pZHBvaW50KQogewotICAgIEFTU0VSVCghbV9taWRwb2ludEZvcklzb2xh
dGVkUnVuLmNvbnRhaW5zKHJ1bikpOwotICAgIG1fbWlkcG9pbnRGb3JJc29sYXRlZFJ1bi5hZGQo
cnVuLCBtaWRwb2ludCk7CisgICAgQVNTRVJUKCFtX21pZHBvaW50Rm9ySXNvbGF0ZWRSdW4uY29u
dGFpbnMoJnJ1bikpOworICAgIG1fbWlkcG9pbnRGb3JJc29sYXRlZFJ1bi5hZGQoJnJ1biwgbWlk
cG9pbnQpOwogfQogCi10ZW1wbGF0ZTxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPgotdW5zaWdu
ZWQgQmlkaVJlc29sdmVyPEl0ZXJhdG9yLCBSdW4+OjptaWRwb2ludEZvcklzb2xhdGVkUnVuKFJ1
biogcnVuKQordGVtcGxhdGU8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1biwgY2xhc3MgSXNvbGF0
ZWRSdW4+Cit1bnNpZ25lZCBCaWRpUmVzb2x2ZXI8SXRlcmF0b3IsIFJ1biwgSXNvbGF0ZWRSdW4+
OjptaWRwb2ludEZvcklzb2xhdGVkUnVuKFJ1biYgcnVuKQogewotICAgIHJldHVybiBtX21pZHBv
aW50Rm9ySXNvbGF0ZWRSdW4udGFrZShydW4pOworICAgIHJldHVybiBtX21pZHBvaW50Rm9ySXNv
bGF0ZWRSdW4udGFrZSgmcnVuKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUl0ZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRlcmF0b3IuaAppbmRleCBiNDc0YjNlMGQwNGY4NjRj
ZjBiM2M0MGRkYWZlMjExMGU3YTA4OTQ2Li45MjI1NTYxNDlkNTY1NTBjZmVmNmZjNTQzMGM0NjI2
ZjJhYTNjMDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRl
cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRlcmF0b3IuaApA
QCAtMzEsNiArMzEsMjEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCitzdHJ1Y3QgQmlkaUlz
b2xhdGVkUnVuIHsKKyAgICBCaWRpSXNvbGF0ZWRSdW4oUmVuZGVyT2JqZWN0JiBvYmplY3QsIHVu
c2lnbmVkIHBvc2l0aW9uLCBSZW5kZXJFbGVtZW50JiByb290LCBCaWRpUnVuJiBydW5Ub1JlcGxh
Y2UpCisgICAgICAgIDogb2JqZWN0KG9iamVjdCkKKyAgICAgICAgLCByb290KHJvb3QpCisgICAg
ICAgICwgcnVuVG9SZXBsYWNlKHJ1blRvUmVwbGFjZSkKKyAgICAgICAgLCBwb3NpdGlvbihwb3Np
dGlvbikKKyAgICB7CisgICAgfQorCisgICAgUmVuZGVyT2JqZWN0JiBvYmplY3Q7CisgICAgUmVu
ZGVyRWxlbWVudCYgcm9vdDsKKyAgICBCaWRpUnVuJiBydW5Ub1JlcGxhY2U7CisgICAgdW5zaWdu
ZWQgcG9zaXRpb247Cit9OworCiAvLyBUaGlzIGNsYXNzIGlzIHVzZWQgdG8gUmVuZGVySW5saW5l
IHN1YnRyZWVzLCBzdGVwcGluZyBieSBjaGFyYWN0ZXIgd2l0aGluIHRoZQogLy8gdGV4dCBjaGls
ZHJlbi4gSW5saW5lSXRlcmF0b3Igd2lsbCB1c2UgYmlkaU5leHQgdG8gZmluZCB0aGUgbmV4dCBS
ZW5kZXJUZXh0CiAvLyBvcHRpb25hbGx5IG5vdGlmeWluZyBhIEJpZGlSZXNvbHZlciBldmVyeSB0
aW1lIGl0IHN0ZXBzIGludG8vb3V0IG9mIGEgUmVuZGVySW5saW5lLgpAQCAtNDc1LDE0ICs0OTAs
MTQgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBudW1iZXJPZklzb2xhdGVBbmNlc3RvcnMoY29u
c3QgSW5saW5lSXRlcmF0b3ImIGl0ZXIpCiAKIC8vIEZJWE1FOiBUaGlzIGJlbG9uZ3Mgb24gSW5s
aW5lQmlkaVJlc29sdmVyLCBleGNlcHQgaXQncyBhIHRlbXBsYXRlIHNwZWNpYWxpemF0aW9uCiAv
LyBvZiBCaWRpUmVzb2x2ZXIgd2hpY2gga25vd3Mgbm90aGluZyBhYm91dCBSZW5kZXJPYmplY3Rz
Lgotc3RhdGljIGlubGluZSB2b2lkIGFkZFBsYWNlaG9sZGVyUnVuRm9ySXNvbGF0ZWRJbmxpbmUo
SW5saW5lQmlkaVJlc29sdmVyJiByZXNvbHZlciwgUmVuZGVyT2JqZWN0JiBvYmosIHVuc2lnbmVk
IHBvcykKK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGRQbGFjZWhvbGRlclJ1bkZvcklzb2xhdGVkSW5s
aW5lKElubGluZUJpZGlSZXNvbHZlciYgcmVzb2x2ZXIsIFJlbmRlck9iamVjdCYgb2JqLCB1bnNp
Z25lZCBwb3MsIFJlbmRlckVsZW1lbnQmIHJvb3QpCiB7CiAgICAgQmlkaVJ1biogaXNvbGF0ZWRS
dW4gPSBuZXcgQmlkaVJ1bihwb3MsIDAsIG9iaiwgcmVzb2x2ZXIuY29udGV4dCgpLCByZXNvbHZl
ci5kaXIoKSk7CiAgICAgcmVzb2x2ZXIucnVucygpLmFkZFJ1bihpc29sYXRlZFJ1bik7CiAgICAg
Ly8gRklYTUU6IGlzb2xhdGVkUnVucygpIGNvdWxkIGJlIGEgaGFzaCBvZiBvYmplY3QtPnJ1biBh
bmQgdGhlbiB3ZSBjb3VsZCBjaGVhcGx5CiAgICAgLy8gQVNTRVJUIGhlcmUgdGhhdCB3ZSBkaWRu
J3QgY3JlYXRlIG11bHRpcGxlIG9iamVjdHMgZm9yIHRoZSBzYW1lIGlubGluZS4KLSAgICByZXNv
bHZlci5pc29sYXRlZFJ1bnMoKS5hcHBlbmQoaXNvbGF0ZWRSdW4pOwotICAgIHJlc29sdmVyLnNl
dE1pZHBvaW50Rm9ySXNvbGF0ZWRSdW4oaXNvbGF0ZWRSdW4sIHJlc29sdmVyLm1pZHBvaW50U3Rh
dGUoKS5jdXJyZW50TWlkcG9pbnQoKSk7CisgICAgcmVzb2x2ZXIuc2V0TWlkcG9pbnRGb3JJc29s
YXRlZFJ1bigqaXNvbGF0ZWRSdW4sIHJlc29sdmVyLm1pZHBvaW50U3RhdGUoKS5jdXJyZW50TWlk
cG9pbnQoKSk7CisgICAgcmVzb2x2ZXIuaXNvbGF0ZWRSdW5zKCkuYXBwZW5kKEJpZGlJc29sYXRl
ZFJ1bihvYmosIHBvcywgcm9vdCwgKmlzb2xhdGVkUnVuKSk7CiB9CiAKIGNsYXNzIElzb2xhdGVU
cmFja2VyIHsKQEAgLTUwNyw3ICs1MjIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbWJlZChVQ2hh
ckRpcmVjdGlvbiwgQmlkaUVtYmVkZGluZ1NvdXJjZSkgeyB9CiAgICAgdm9pZCBjb21taXRFeHBs
aWNpdEVtYmVkZGluZygpIHsgfQogCi0gICAgdm9pZCBhZGRGYWtlUnVuSWZOZWNlc3NhcnkoUmVu
ZGVyT2JqZWN0JiBvYmosIHVuc2lnbmVkIHBvcywgdW5zaWduZWQgZW5kLCBJbmxpbmVCaWRpUmVz
b2x2ZXImIHJlc29sdmVyKQorICAgIHZvaWQgYWRkRmFrZVJ1bklmTmVjZXNzYXJ5KFJlbmRlck9i
amVjdCYgb2JqLCB1bnNpZ25lZCBwb3MsIHVuc2lnbmVkIGVuZCwgUmVuZGVyRWxlbWVudCYgcm9v
dCwgSW5saW5lQmlkaVJlc29sdmVyJiByZXNvbHZlcikKICAgICB7CiAgICAgICAgIC8vIFdlIG9u
bHkgbmVlZCB0byBhZGQgYSBmYWtlIHJ1biBmb3IgYSBnaXZlbiBpc29sYXRlZCBzcGFuIG9uY2Ug
ZHVyaW5nIGVhY2ggY2FsbCB0byBjcmVhdGVCaWRpUnVuc0ZvckxpbmUuCiAgICAgICAgIC8vIFdl
J2xsIGJlIGNhbGxlZCBmb3IgZXZlcnkgc3BhbiBpbnNpZGUgdGhlIGlzb2xhdGVkIHNwYW4gc28g
d2UganVzdCBpZ25vcmUgc3Vic2VxdWVudCBjYWxscy4KQEAgLTUxOCw3ICs1MzMsNyBAQCBwdWJs
aWM6CiAgICAgICAgICAgICAvLyBvYmogYW5kIHBvcyB0b2dldGhlciBkZW5vdGUgYSBzaW5nbGUg
cG9zaXRpb24gaW4gdGhlIGlubGluZSwgZnJvbSB3aGljaCB0aGUgcGFyc2luZyBvZiB0aGUgaXNv
bGF0ZSB3aWxsIHN0YXJ0LgogICAgICAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBtYXJrIHRo
ZSBlbmQgb2YgdGhlIHJ1biBiZWNhdXNlIHRoaXMgaXMgaW1wbGljaXQ6IGl0IGlzIGVpdGhlciBl
bmRPZkxpbmUgb3IgdGhlIGVuZCBvZiB0aGUKICAgICAgICAgICAgIC8vIGlzb2xhdGUsIHdoZW4g
d2UgY2FsbCBjcmVhdGVCaWRpUnVuc0ZvckxpbmUgaXQgd2lsbCBzdG9wIGF0IHdoaWNoZXZlciBj
b21lcyBmaXJzdC4KLSAgICAgICAgICAgIGFkZFBsYWNlaG9sZGVyUnVuRm9ySXNvbGF0ZWRJbmxp
bmUocmVzb2x2ZXIsIG9iaiwgcG9zKTsKKyAgICAgICAgICAgIGFkZFBsYWNlaG9sZGVyUnVuRm9y
SXNvbGF0ZWRJbmxpbmUocmVzb2x2ZXIsIG9iaiwgcG9zLCByb290KTsKICAgICAgICAgfQogICAg
ICAgICBtX2hhdmVBZGRlZEZha2VSdW5Gb3JSb290SXNvbGF0ZSA9IHRydWU7CiAgICAgICAgIFJl
bmRlckJsb2NrRmxvdzo6YXBwZW5kUnVuc0Zvck9iamVjdChudWxscHRyLCBwb3MsIGVuZCwgb2Jq
LCByZXNvbHZlcik7CkBAIC01NDEsNyArNTU2LDcgQEAgaW5saW5lIHZvaWQgSW5saW5lQmlkaVJl
c29sdmVyOjphcHBlbmRSdW4oKQogICAgICAgICBSZW5kZXJPYmplY3QqIG9iaiA9IG1fc29yLnJl
bmRlcmVyKCk7CiAgICAgICAgIHdoaWxlIChvYmogJiYgb2JqICE9IG1fZW9yLnJlbmRlcmVyKCkg
JiYgb2JqICE9IGVuZE9mTGluZS5yZW5kZXJlcigpKSB7CiAgICAgICAgICAgICBpZiAoaXNvbGF0
ZVRyYWNrZXIuaW5Jc29sYXRlKCkpCi0gICAgICAgICAgICAgICAgaXNvbGF0ZVRyYWNrZXIuYWRk
RmFrZVJ1bklmTmVjZXNzYXJ5KCpvYmosIHN0YXJ0LCBvYmotPmxlbmd0aCgpLCAqdGhpcyk7Cisg
ICAgICAgICAgICAgICAgaXNvbGF0ZVRyYWNrZXIuYWRkRmFrZVJ1bklmTmVjZXNzYXJ5KCpvYmos
IHN0YXJ0LCBvYmotPmxlbmd0aCgpLCAqbV9zb3Iucm9vdCgpLCAqdGhpcyk7CiAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2tGbG93OjphcHBlbmRSdW5zRm9yT2Jq
ZWN0KCZtX3J1bnMsIHN0YXJ0LCBvYmotPmxlbmd0aCgpLCAqb2JqLCAqdGhpcyk7CiAgICAgICAg
ICAgICAvLyBGSVhNRTogc3RhcnQvb2JqIHNob3VsZCBiZSBhbiBJbmxpbmVJdGVyYXRvciBpbnN0
ZWFkIG9mIHR3byBzZXBhcmF0ZSB2YXJpYWJsZXMuCkBAIC01NTcsNyArNTcyLDcgQEAgaW5saW5l
IHZvaWQgSW5saW5lQmlkaVJlc29sdmVyOjphcHBlbmRSdW4oKQogICAgICAgICAgICAgLy8gSXQn
cyBPSyB0byBhZGQgcnVucyBmb3IgemVyby1sZW5ndGggUmVuZGVyT2JqZWN0cywganVzdCBkb24n
dCBtYWtlIHRoZSBydW4gbGFyZ2VyIHRoYW4gaXQgc2hvdWxkIGJlCiAgICAgICAgICAgICBpbnQg
ZW5kID0gb2JqLT5sZW5ndGgoKSA/IHBvcyArIDEgOiAwOwogICAgICAgICAgICAgaWYgKGlzb2xh
dGVUcmFja2VyLmluSXNvbGF0ZSgpKQotICAgICAgICAgICAgICAgIGlzb2xhdGVUcmFja2VyLmFk
ZEZha2VSdW5JZk5lY2Vzc2FyeSgqb2JqLCBzdGFydCwgb2JqLT5sZW5ndGgoKSwgKnRoaXMpOwor
ICAgICAgICAgICAgICAgIGlzb2xhdGVUcmFja2VyLmFkZEZha2VSdW5JZk5lY2Vzc2FyeSgqb2Jq
LCBzdGFydCwgb2JqLT5sZW5ndGgoKSwgKm1fc29yLnJvb3QoKSwgKnRoaXMpOwogICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrRmxvdzo6YXBwZW5kUnVuc0Zvck9i
amVjdCgmbV9ydW5zLCBzdGFydCwgZW5kLCAqb2JqLCAqdGhpcyk7CiAgICAgICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5k
ZXggODBhMjUzZjg2YzUwNzk4MDA4MTM0MDgzODU3MTI5MTYxZDFmZmYzNi4uYzJkNGYyODJmYzg4
YjIyNWU4Yzc1MTA2MTVmNmJhMDBjMTc4NDhiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKQEAgLTEwMTksNyArMTAxOSw3IEBA
IHN0YXRpYyBpbmxpbmUgdm9pZCBub3RpZnlSZXNvbHZlclRvUmVzdW1lSW5Jc29sYXRlKElubGlu
ZUJpZGlSZXNvbHZlciYgcmVzb2x2ZXIsCiAgICAgfQogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQg
c2V0VXBSZXNvbHZlclRvUmVzdW1lSW5Jc29sYXRlKElubGluZUJpZGlSZXNvbHZlciYgcmVzb2x2
ZXIsIElubGluZUJpZGlSZXNvbHZlciYgdG9wUmVzb2x2ZXIsIEJpZGlSdW4qIGlzb2xhdGVkUnVu
LCBSZW5kZXJPYmplY3QqIHJvb3QsIFJlbmRlck9iamVjdCogc3RhcnRPYmplY3QpCitzdGF0aWMg
aW5saW5lIHZvaWQgc2V0VXBSZXNvbHZlclRvUmVzdW1lSW5Jc29sYXRlKElubGluZUJpZGlSZXNv
bHZlciYgcmVzb2x2ZXIsIElubGluZUJpZGlSZXNvbHZlciYgdG9wUmVzb2x2ZXIsIEJpZGlSdW4m
IGlzb2xhdGVkUnVuLCBSZW5kZXJPYmplY3QqIHJvb3QsIFJlbmRlck9iamVjdCogc3RhcnRPYmpl
Y3QpCiB7CiAgICAgLy8gU2V0IHVwIG1fbWlkcG9pbnRTdGF0ZQogICAgIHJlc29sdmVyLm1pZHBv
aW50U3RhdGUoKSA9IHRvcFJlc29sdmVyLm1pZHBvaW50U3RhdGUoKTsKQEAgLTEwNDEsMTAgKzEw
NDEsMTEgQEAgc3RhdGljIGlubGluZSB2b2lkIGNvbnN0cnVjdEJpZGlSdW5zRm9yU2VnbWVudChJ
bmxpbmVCaWRpUmVzb2x2ZXImIHRvcFJlc29sdmVyLAogCiAgICAgd2hpbGUgKCF0b3BSZXNvbHZl
ci5pc29sYXRlZFJ1bnMoKS5pc0VtcHR5KCkpIHsKICAgICAgICAgLy8gSXQgZG9lcyBub3QgbWF0
dGVyIHdoaWNoIG9yZGVyIHdlIHJlc29sdmUgdGhlIHJ1bnMgYXMgbG9uZyBhcyB3ZSByZXNvbHZl
IHRoZW0gYWxsLgotICAgICAgICBCaWRpUnVuKiBpc29sYXRlZFJ1biA9IHRvcFJlc29sdmVyLmlz
b2xhdGVkUnVucygpLmxhc3QoKTsKKyAgICAgICAgYXV0byBpc29sYXRlZFJ1biA9IFdURjo6bW92
ZSh0b3BSZXNvbHZlci5pc29sYXRlZFJ1bnMoKS5sYXN0KCkpOwogICAgICAgICB0b3BSZXNvbHZl
ci5pc29sYXRlZFJ1bnMoKS5yZW1vdmVMYXN0KCk7CisgICAgICAgIGN1cnJlbnRSb290ID0gJmlz
b2xhdGVkUnVuLnJvb3Q7CiAKLSAgICAgICAgUmVuZGVyT2JqZWN0JiBzdGFydE9iamVjdCA9IGlz
b2xhdGVkUnVuLT5yZW5kZXJlcigpOworICAgICAgICBSZW5kZXJPYmplY3QmIHN0YXJ0T2JqZWN0
ID0gaXNvbGF0ZWRSdW4ub2JqZWN0OwogCiAgICAgICAgIC8vIE9ubHkgaW5saW5lcyBtYWtlIHNl
bnNlIHdpdGggdW5pY29kZS1iaWRpOiBpc29sYXRlIChibG9ja3MgYXJlIGFscmVhZHkgaXNvbGF0
ZWQpLgogICAgICAgICAvLyBGSVhNRTogQmVjYXVzZSBlbnRlcklzb2xhdGUgaXMgbm90IHBhc3Nl
ZCBhIFJlbmRlck9iamVjdCwgd2UgaGF2ZSB0byBjcmF3bCB1cCB0aGUKQEAgLTEwNTgsMTkgKzEw
NTksMTkgQEAgc3RhdGljIGlubGluZSB2b2lkIGNvbnN0cnVjdEJpZGlSdW5zRm9yU2VnbWVudChJ
bmxpbmVCaWRpUmVzb2x2ZXImIHRvcFJlc29sdmVyLAogICAgICAgICBFVW5pY29kZUJpZGkgdW5p
Y29kZUJpZGkgPSBpc29sYXRlZElubGluZS0+c3R5bGUoKS51bmljb2RlQmlkaSgpOwogICAgICAg
ICBUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbjsKICAgICAgICAgaWYgKHVuaWNvZGVCaWRpID09IFBs
YWludGV4dCkKLSAgICAgICAgICAgIGRldGVybWluZURpcmVjdGlvbmFsaXR5KGRpcmVjdGlvbiwg
SW5saW5lSXRlcmF0b3IoaXNvbGF0ZWRJbmxpbmUsICZpc29sYXRlZFJ1bi0+cmVuZGVyZXIoKSwg
MCkpOworICAgICAgICAgICAgZGV0ZXJtaW5lRGlyZWN0aW9uYWxpdHkoZGlyZWN0aW9uLCBJbmxp
bmVJdGVyYXRvcihpc29sYXRlZElubGluZSwgJmlzb2xhdGVkUnVuLm9iamVjdCwgMCkpOwogICAg
ICAgICBlbHNlIHsKICAgICAgICAgICAgIEFTU0VSVCh1bmljb2RlQmlkaSA9PSBJc29sYXRlIHx8
IHVuaWNvZGVCaWRpID09IElzb2xhdGVPdmVycmlkZSk7CiAgICAgICAgICAgICBkaXJlY3Rpb24g
PSBpc29sYXRlZElubGluZS0+c3R5bGUoKS5kaXJlY3Rpb24oKTsKICAgICAgICAgfQogICAgICAg
ICBpc29sYXRlZFJlc29sdmVyLnNldFN0YXR1cyhCaWRpU3RhdHVzKGRpcmVjdGlvbiwgaXNPdmVy
cmlkZSh1bmljb2RlQmlkaSkpKTsKIAotICAgICAgICBzZXRVcFJlc29sdmVyVG9SZXN1bWVJbklz
b2xhdGUoaXNvbGF0ZWRSZXNvbHZlciwgdG9wUmVzb2x2ZXIsIGlzb2xhdGVkUnVuLCBpc29sYXRl
ZElubGluZSwgJnN0YXJ0T2JqZWN0KTsKKyAgICAgICAgc2V0VXBSZXNvbHZlclRvUmVzdW1lSW5J
c29sYXRlKGlzb2xhdGVkUmVzb2x2ZXIsIHRvcFJlc29sdmVyLCBpc29sYXRlZFJ1bi5ydW5Ub1Jl
cGxhY2UsIGlzb2xhdGVkSW5saW5lLCAmc3RhcnRPYmplY3QpOwogCiAgICAgICAgIC8vIFRoZSBz
dGFydGluZyBwb3NpdGlvbiBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaXJzdCBydW4gd2l0aGlu
IHRoZSBpc29sYXRlIHRoYXQgd2FzIGlkZW50aWZpZWQKICAgICAgICAgLy8gZHVyaW5nIHRoZSBl
YXJsaWVyIGNhbGwgdG8gY3JlYXRlQmlkaVJ1bnNGb3JMaW5lLiBUaGlzIGNhbiBiZSBidXQgaXMg
bm90IG5lY2Vzc2FyaWx5IHRoZQogICAgICAgICAvLyBmaXJzdCBydW4gd2l0aGluIHRoZSBpc29s
YXRlLgotICAgICAgICBJbmxpbmVJdGVyYXRvciBpdGVyID0gSW5saW5lSXRlcmF0b3IoaXNvbGF0
ZWRJbmxpbmUsICZzdGFydE9iamVjdCwgaXNvbGF0ZWRSdW4tPm1fc3RhcnQpOworICAgICAgICBJ
bmxpbmVJdGVyYXRvciBpdGVyID0gSW5saW5lSXRlcmF0b3IoaXNvbGF0ZWRJbmxpbmUsICZzdGFy
dE9iamVjdCwgaXNvbGF0ZWRSdW4ucG9zaXRpb24pOwogICAgICAgICBpc29sYXRlZFJlc29sdmVy
LnNldFBvc2l0aW9uSWdub3JpbmdOZXN0ZWRJc29sYXRlcyhpdGVyKTsKIAogICAgICAgICAvLyBX
ZSBzdG9wIGF0IHRoZSBuZXh0IGVuZCBvZiBsaW5lOyB3ZSBtYXkgcmUtZW50ZXIgdGhpcyBpc29s
YXRlIGluIHRoZSBuZXh0IGNhbGwgdG8gY29uc3RydWN0QmlkaVJ1bnMoKS4KQEAgLTEwODIsMTYg
KzEwODMsMTUgQEAgc3RhdGljIGlubGluZSB2b2lkIGNvbnN0cnVjdEJpZGlSdW5zRm9yU2VnbWVu
dChJbmxpbmVCaWRpUmVzb2x2ZXImIHRvcFJlc29sdmVyLAogICAgICAgICAvLyBpdHNlbGYgdG8g
YmUgdHVybmVkIGludG8gYW4gSW5saW5lQm94LiBXZSBjYW4ndCByZW1vdmUgaXQgaGVyZSB3aXRo
b3V0IHBvdGVudGlhbGx5IGxvc2luZyB0cmFjayBvZgogICAgICAgICAvLyB0aGUgbG9naWNhbGx5
IGxhc3QgcnVuLgogICAgICAgICBpZiAoaXNvbGF0ZWRSZXNvbHZlci5ydW5zKCkucnVuQ291bnQo
KSkKLSAgICAgICAgICAgIGJpZGlSdW5zLnJlcGxhY2VSdW5XaXRoUnVucyhpc29sYXRlZFJ1biwg
aXNvbGF0ZWRSZXNvbHZlci5ydW5zKCkpOworICAgICAgICAgICAgYmlkaVJ1bnMucmVwbGFjZVJ1
bldpdGhSdW5zKCZpc29sYXRlZFJ1bi5ydW5Ub1JlcGxhY2UsIGlzb2xhdGVkUmVzb2x2ZXIucnVu
cygpKTsKIAogICAgICAgICAvLyBJZiB3ZSBlbmNvdW50ZXJlZCBhbnkgbmVzdGVkIGlzb2xhdGUg
cnVucywganVzdCBtb3ZlIHRoZW0KICAgICAgICAgLy8gdG8gdGhlIHRvcCByZXNvbHZlcidzIGxp
c3QgZm9yIGxhdGVyIHByb2Nlc3NpbmcuCi0gICAgICAgIGlmICghaXNvbGF0ZWRSZXNvbHZlci5p
c29sYXRlZFJ1bnMoKS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIHRvcFJlc29sdmVyLmlzb2xh
dGVkUnVucygpLmFwcGVuZFZlY3Rvcihpc29sYXRlZFJlc29sdmVyLmlzb2xhdGVkUnVucygpKTsK
LSAgICAgICAgICAgIGZvciAoYXV0byogcnVuIDogaXNvbGF0ZWRSZXNvbHZlci5pc29sYXRlZFJ1
bnMoKSkKLSAgICAgICAgICAgICAgICB0b3BSZXNvbHZlci5zZXRNaWRwb2ludEZvcklzb2xhdGVk
UnVuKHJ1biwgaXNvbGF0ZWRSZXNvbHZlci5taWRwb2ludEZvcklzb2xhdGVkUnVuKHJ1bikpOwot
ICAgICAgICAgICAgaXNvbGF0ZWRSZXNvbHZlci5pc29sYXRlZFJ1bnMoKS5jbGVhcigpOwotICAg
ICAgICAgICAgY3VycmVudFJvb3QgPSBpc29sYXRlZElubGluZTsKKyAgICAgICAgd2hpbGUgKCFp
c29sYXRlZFJlc29sdmVyLmlzb2xhdGVkUnVucygpLmlzRW1wdHkoKSkgeworICAgICAgICAgICAg
YXV0byBydW5XaXRoQ29udGV4dCA9IFdURjo6bW92ZShpc29sYXRlZFJlc29sdmVyLmlzb2xhdGVk
UnVucygpLmxhc3QoKSk7CisgICAgICAgICAgICBpc29sYXRlZFJlc29sdmVyLmlzb2xhdGVkUnVu
cygpLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgICAgIHRvcFJlc29sdmVyLnNldE1pZHBvaW50Rm9y
SXNvbGF0ZWRSdW4ocnVuV2l0aENvbnRleHQucnVuVG9SZXBsYWNlLCBpc29sYXRlZFJlc29sdmVy
Lm1pZHBvaW50Rm9ySXNvbGF0ZWRSdW4ocnVuV2l0aENvbnRleHQucnVuVG9SZXBsYWNlKSk7Cisg
ICAgICAgICAgICB0b3BSZXNvbHZlci5pc29sYXRlZFJ1bnMoKS5hcHBlbmQoV1RGOjptb3ZlKHJ1
bldpdGhDb250ZXh0KSk7CiAgICAgICAgIH0KICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbGluZS9UcmFpbGluZ09iamVjdHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9saW5lL1RyYWlsaW5nT2JqZWN0cy5oCmluZGV4IDVhZWRlYTYwZTJjMTRlZGU4
MmE5MWZjZGViZjU4OTE5YTZhZDI5NjIuLjkwZGZjNmM4NTE4M2YyOWVhODZlNzkwZDI4OWE5MWU1
MDM1YTRhZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWls
aW5nT2JqZWN0cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL1RyYWlsaW5n
T2JqZWN0cy5oCkBAIC0zNCwxMCArMzQsMTEgQEAgY2xhc3MgUmVuZGVyQm94TW9kZWxPYmplY3Q7
CiBjbGFzcyBSZW5kZXJUZXh0OwogCiBzdHJ1Y3QgQmlkaVJ1bjsKK3N0cnVjdCBCaWRpSXNvbGF0
ZWRSdW47CiAKLXRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvciwgY2xhc3MgUnVuPiBjbGFzcyBCaWRp
UmVzb2x2ZXI7Cit0ZW1wbGF0ZSA8Y2xhc3MgSXRlcmF0b3IsIGNsYXNzIFJ1biwgY2xhc3MgSXNv
bGF0ZWRSdW4+IGNsYXNzIEJpZGlSZXNvbHZlcjsKIHRlbXBsYXRlIDxjbGFzcyBJdGVyYXRvcj4g
Y2xhc3MgTWlkcG9pbnRTdGF0ZTsKLXR5cGVkZWYgQmlkaVJlc29sdmVyPElubGluZUl0ZXJhdG9y
LCBCaWRpUnVuPiBJbmxpbmVCaWRpUmVzb2x2ZXI7Cit0eXBlZGVmIEJpZGlSZXNvbHZlcjxJbmxp
bmVJdGVyYXRvciwgQmlkaVJ1biwgQmlkaUlzb2xhdGVkUnVuPiBJbmxpbmVCaWRpUmVzb2x2ZXI7
CiB0eXBlZGVmIE1pZHBvaW50U3RhdGU8SW5saW5lSXRlcmF0b3I+IExpbmVNaWRwb2ludFN0YXRl
OwogCiBjbGFzcyBUcmFpbGluZ09iamVjdHMgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBlOTYyNGFhZmFiNTFhNGU2MGFj
NGJmYjAzNzU2ZmM0N2I3NmFkMmUuLjVhM2E0OWMyNWU4OWNhNGQ3OWMwNzcxODc0NWM1NWM2ZmZj
OWVlYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNSBAQAogMjAxNS0wOS0xNCAgTXlsZXMgQy4gTWF4Zmll
bGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCisgICAgICAgIE5lc3RlZCBpc29sYXRlcyBjYW4g
Y2F1c2UgYW4gaW5maW5pdGUgbG9vcCB3aGVuIGxheWluZyBvdXQgYmlkaSBydW5zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkxNTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4dC9pbnRl
cm5hdGlvbmFsL3VuaWNvZGUtYmlkaS1pc29sYXRlLW5lc3RlZC1jcmFzaC1leHBlY3RlZC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC91bmljb2RlLWJpZGkt
aXNvbGF0ZS1uZXN0ZWQtY3Jhc2guaHRtbDogQWRkZWQuCisKKzIwMTUtMDktMTQgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKwogICAgICAgICBBZGQgdGVzdHMgZm9y
IGNvbnRyb2wgY2hhcmFjdGVycyBiZWluZyByZW5kZXJlZCB2aXNpYmx5CiAgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkxNDIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdW5pY29kZS1iaWRpLWlzb2xhdGUt
bmVzdGVkLWNyYXNoLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvaW50ZXJu
YXRpb25hbC91bmljb2RlLWJpZGktaXNvbGF0ZS1uZXN0ZWQtY3Jhc2gtZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wNzhhNWY4MThiY2RlZjU2ZDE4MTFlNGYyYTY0ZjZhYzM3NWUzOWM4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdW5pY29k
ZS1iaWRpLWlzb2xhdGUtbmVzdGVkLWNyYXNoLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyIEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxzcGFuPmEgYjwvc3Bhbj4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3VuaWNvZGUtYmlkaS1pc29sYXRlLW5lc3RlZC1j
cmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvdW5pY29kZS1i
aWRpLWlzb2xhdGUtbmVzdGVkLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzVhNjNmOGNjODNiOTQ4
MmIwYWZkMGVlMjg3YjI5MDBlMzQ2Y2M0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3VuaWNvZGUtYmlkaS1pc29sYXRlLW5lc3RlZC1jcmFz
aC5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPHN0eWxlPgorLmlzb2xh
dGUgeworICAgIHVuaWNvZGUtYmlkaTogLXdlYmtpdC1pc29sYXRlOworICAgIHVuaWNvZGUtYmlk
aTogaXNvbGF0ZTsKK30KKzwvc3R5bGU+Cis8c3BhbiBjbGFzcz0iaXNvbGF0ZSI+CisgICAgPHNw
YW4gY2xhc3M9Imlzb2xhdGUiPmE8L3NwYW4+CisgICAgPHNwYW4gY2xhc3M9Imlzb2xhdGUiPgor
ICAgICAgICA8c3BhbiBjbGFzcz0iaXNvbGF0ZSI+Yjwvc3Bhbj4KKyAgICA8L3NwYW4+Cis8L3Nw
YW4+Cg==
</data>
<flag name="review"
          id="286390"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>