<?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>196830</bug_id>
          
          <creation_ts>2019-04-11 14:30:50 -0700</creation_ts>
          <short_desc>Opt some websites into the simulated mouse events dispatch quirk when in modern compatibility mode</short_desc>
          <delta_ts>2024-09-18 14:34:32 -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>UI Events</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=247445</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>279918</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>krevis</cc>
    
    <cc>msfeldstein</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>1526472</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-04-11 14:30:50 -0700</bug_when>
    <thetext>We need to opt some websites into the simulated mouse event dispatch quirk when in modern compatibility mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526473</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-04-11 14:31:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/49124313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526474</commentid>
    <comment_count>2</comment_count>
      <attachid>367241</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-04-11 14:41:52 -0700</bug_when>
    <thetext>Created attachment 367241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526480</commentid>
    <comment_count>3</comment_count>
      <attachid>367244</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-04-11 14:52:52 -0700</bug_when>
    <thetext>Created attachment 367244
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526656</commentid>
    <comment_count>4</comment_count>
      <attachid>367294</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-04-11 23:10:08 -0700</bug_when>
    <thetext>Created attachment 367294
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526660</commentid>
    <comment_count>5</comment_count>
      <attachid>367296</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-04-11 23:19:47 -0700</bug_when>
    <thetext>Created attachment 367296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1526772</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2019-04-12 09:52:44 -0700</bug_when>
    <thetext>Committed r244218: &lt;https://trac.webkit.org/changeset/244218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1771990</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Feldstein">msfeldstein</who>
    <bug_when>2021-06-23 10:33:28 -0700</bug_when>
    <thetext>Is it possible to remove figma from this list?  It&apos;s causing us some issues to get both touch and mouse events and we&apos;d rather have standard behavior

https://github.com/WebKit/WebKit/blob/98bc1318d16042cd4e4ed1928a78eec33eb06dfa/Source/WebCore/page/Quirks.cpp#L392-L393</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367241</attachid>
            <date>2019-04-11 14:41:52 -0700</date>
            <delta_ts>2019-04-11 14:52:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196830-20190411234150.patch</filename>
            <type>text/plain</type>
            <size>28520</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTAyYWU5ZDA0NDIzNDk2
ZTJkMmEwNTc1NTZhZDc2NmJkMTNiN2RjYy4uNDg4NTMxYWI4NDY4MDY5YzNjN2Y3MjFlNzliZDlj
MThjYmQxNTE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTA0LTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgT3B0IHNvbWUgd2Vic2l0
ZXMgaW50byB0aGUgc2ltdWxhdGVkIG1vdXNlIGV2ZW50cyBkaXNwYXRjaCBxdWlyayB3aGVuIGlu
IG1vZGVybiBjb21wYXRpYmlsaXR5IG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NjgzMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkxMjQz
MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
YWRkIGEgbmV3IHBvbGljeSB0byBkZXRlcm1pbmUgd2hldGhlciBzaW11bGF0ZWQgbW91c2UgZXZl
bnRzIGRpc3BhdGNoIGFyZSBhbGxvd2VkIGFuZCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIg
dGhlCisgICAgICAgIHNpbXVsYXRlZCBtb3VzZSBldmVudHMgZGlzcGF0Y2ggcXVpcmsgY2FuIGJl
IHVzZWQgZm9yIGEgZ2l2ZW4gd2Vic2l0ZS4gV2UgdGhlbiBjaGVjayB0aGUgZG9tYWluIG5hbWUg
Zm9yIHRoZSBjdXJyZW50IHBhZ2UncworICAgICAgICBkb2N1bWVudCB0byBzZWUgaWYgaXQgbWF0
Y2hlcyBzb21lIGtub3duIHdlYnNpdGVzIHRoYXQgcmVxdWlyZSB0aGlzIHF1aXJrLgorCisgICAg
ICAgIFdlIG5lZWRlZCB0byBhZGQgc29tZSBjYWxscyBpbnRvIFF1aXJrczo6c2hvdWxkRGlzcGF0
Y2hTaW11bGF0ZU1vdXNlRXZlbnRzKCkgd2hlcmUgd2UgdXNlZCB0byBvbmx5IGNvbnN1bHQgdGhl
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZQorICAgICAgICBmbGFnIHRvIGVuc3VyZSB3ZSBjb3JyZWN0
bHkgY3JlYXRlZCB0b3VjaCByZWdpb25zIGZvciBzaW11bGF0ZWQgbW91c2UgZXZlbnRzLgorCisg
ICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TmFtZXM6
OmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlIGNvbnN0KTogQWRkIGEgRG9jdW1lbnQmIHBhcmFtZXRl
ciBzaW5jZSB3ZSBuZWVkIHRvIGNvbnN1bHQgdGhhdCBkb2N1bWVudCdzIHF1aXJrcy4KKyAgICAg
ICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjptb3ZlTm9kZVRvTmV3
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5QWRkRXZlbnRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjp0cnlSZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNpbXVsYXRlZE1vdXNl
RXZlbnRzRGlzcGF0Y2hQb2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnNldFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kpOgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6YWRkRXZl
bnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlz
dGVuZXIpOgorICAgICAgICAqIHBhZ2UvUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlF1
aXJrczo6c2hvdWxkRGlzcGF0Y2hTaW11bGF0ZU1vdXNlRXZlbnRzIGNvbnN0KToKKwogMjAxOS0w
NC0xMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSBzaG91bGQgZXhlY3V0ZSBiZWZvcmUgdGhlIG5leHQg
ZnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggYmEwNTE5MzY1NDA4MGY4NjIxMjQ4NjQxZGZkOWY4ODA4ZjZmOTI5
YS4uYmFhNzc2ODEyMjRlMDk5NzIyOGY2M2M2NGE5YTBkZWYyZWViZmQ3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNSBAQAorMjAxOS0wNC0xMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUu
Y29tPgorCisgICAgICAgIE9wdCBzb21lIHdlYnNpdGVzIGludG8gdGhlIHNpbXVsYXRlZCBtb3Vz
ZSBldmVudHMgZGlzcGF0Y2ggcXVpcmsgd2hlbiBpbiBtb2Rlcm4gY29tcGF0aWJpbGl0eSBtb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4MzAK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTI0MzEzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGFkZCBhIG5ldyBwb2xpY3kgdG8gZGV0ZXJt
aW5lIHdoZXRoZXIgc2ltdWxhdGVkIG1vdXNlIGV2ZW50cyBkaXNwYXRjaCBhcmUgYWxsb3dlZC4K
KworICAgICAgICAqIFNoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktp
dDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0
ZVBvbGljaWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBTaGFyZWQv
V2Vic2l0ZVBvbGljaWVzRGF0YS5oOgorICAgICAgICAqIFNoYXJlZC9XZWJzaXRlU2ltdWxhdGVk
TW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
V2Vic2l0ZVBvbGljaWVzLmNwcDoKKyAgICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpjb3B5
IGNvbnN0KToKKyAgICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpkYXRhKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFdlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTA0LTEwICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV0tOYXZpZ2F0aW9uUmVzcG9u
c2UuX2Rvd25sb2FkQXR0cmlidXRlIHNob3VsZCBiZSBuaWwgd2hlbiBubyBkb3dubG9hZCBhdHRy
aWJ1dGUgaXMgcHJlc2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggOTMzYzVkNzg3Nzdk
YzRhOTU5NGY1MzVjMzI2MmFmNjI3NTgxZmUyNS4uMjJkOTIwM2ZmZmZjM2VkZTBjZGY4MWM3MzBk
NTE0NTFiMTI4OTY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0yMSw2ICsyMSw4IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJRdWly
a3MuaCIKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCiAjaW5jbHVkZSA8YXJyYXk+CiAj
aW5jbHVkZSA8ZnVuY3Rpb25hbD4KQEAgLTM2NCw3ICszNjYsNyBAQCBwdWJsaWM6CiAgICAgLy8g
V2Ugc2hvdWxkIGNob29zZSBvbmUgdGVybSBhbmQgc3RpY2sgdG8gaXQuCiAgICAgYm9vbCBpc1do
ZWVsRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdDsKICAgICBi
b29sIGlzR2VzdHVyZUV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkgY29u
c3Q7Ci0gICAgYm9vbCBpc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSkgY29uc3Q7CisgICAgYm9vbCBpc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShjb25z
dCBEb2N1bWVudCYsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdDsKICAgICBi
b29sIGlzVG91Y2hTY3JvbGxCbG9ja2luZ0V2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSkgY29uc3Q7CiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAgICAgYm9vbCBpc0dhbWVwYWRF
dmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OwpAQCAtMzk5LDEw
ICs0MDEsMTAgQEAgaW5saW5lIGJvb2wgRXZlbnROYW1lczo6aXNUb3VjaFNjcm9sbEJsb2NraW5n
RXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnQKICAgICAgICAgfHwgZXZlbnRUeXBl
ID09IHRvdWNobW92ZUV2ZW50OwogfQogCi1pbmxpbmUgYm9vbCBFdmVudE5hbWVzOjppc1RvdWNo
UmVsYXRlZEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkgY29uc3QKK2lu
bGluZSBib29sIEV2ZW50TmFtZXM6OmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGNvbnN0IERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0CiB7CiAj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5tb3VzZUV2ZW50c1NpbXVsYXRpb25FbmFibGVkKCkpIHsKKyAgICBp
ZiAoZG9jdW1lbnQucXVpcmtzKCkuc2hvdWxkRGlzcGF0Y2hTaW11bGF0ZU1vdXNlRXZlbnRzKCkg
fHwgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tb3VzZUV2ZW50c1Np
bXVsYXRpb25FbmFibGVkKCkpIHsKICAgICAgICAgaWYgKGV2ZW50VHlwZSA9PSBtb3VzZWRvd25F
dmVudCB8fCBldmVudFR5cGUgPT0gbW91c2Vtb3ZlRXZlbnQgfHwgZXZlbnRUeXBlID09IG1vdXNl
dXBFdmVudCkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApp
bmRleCBmOGNiMjExYTQxMjYxZGZlN2JiMWNiMjJlMjExYzJiMjlkODA3ZWMxLi4wYzJlNTM4M2U2
ZTQ0MGQyYjE2YjI4OTI2YTkyNWI1NTc1NDhiYTUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0yMDU3
LDcgKzIwNTcsNyBAQCB2b2lkIE5vZGU6Om1vdmVOb2RlVG9OZXdEb2N1bWVudChEb2N1bWVudCYg
b2xkRG9jdW1lbnQsIERvY3VtZW50JiBuZXdEb2N1bWVudCkKIAogICAgICAgICB1bnNpZ25lZCBu
dW1Ub3VjaEV2ZW50TGlzdGVuZXJzID0gMDsKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAg
ICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5tb3VzZUV2
ZW50c1NpbXVsYXRpb25FbmFibGVkKCkpIHsKKyAgICAgICAgaWYgKG5ld0RvY3VtZW50LnF1aXJr
cygpLnNob3VsZERpc3BhdGNoU2ltdWxhdGVNb3VzZUV2ZW50cygpIHx8IFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCgp
KSB7CiAgICAgICAgICAgICBmb3IgKGF1dG8mIG5hbWUgOiBldmVudE5hbWVzKCkuZXh0ZW5kZWRU
b3VjaFJlbGF0ZWRFdmVudE5hbWVzKCkpCiAgICAgICAgICAgICAgICAgbnVtVG91Y2hFdmVudExp
c3RlbmVycyArPSBldmVudExpc3RlbmVycyhuYW1lKS5zaXplKCk7CiAgICAgICAgIH0gZWxzZSB7
CkBAIC0yMTExLDcgKzIxMTEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdHJ5QWRkRXZlbnRMaXN0
ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZQogICAgIHRhcmdl
dE5vZGUtPmRvY3VtZW50KCkuYWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQoZXZlbnRUeXBlKTsKICAg
ICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVudFR5cGUoZXZlbnRUeXBlKSkKICAgICAgICAg
dGFyZ2V0Tm9kZS0+ZG9jdW1lbnQoKS5kaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigqdGFyZ2V0Tm9k
ZSk7Ci0gICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2
ZW50VHlwZSkpCisgICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRU
eXBlKHRhcmdldE5vZGUtPmRvY3VtZW50KCksIGV2ZW50VHlwZSkpCiAgICAgICAgIHRhcmdldE5v
ZGUtPmRvY3VtZW50KCkuZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKnRhcmdldE5vZGUpOwogCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTIxMjYsNyArMjEyNiw3IEBAIHN0YXRpYyBpbmxp
bmUgYm9vbCB0cnlBZGRFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlCiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuZG9tV2luZG93KCkt
PmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgb3B0aW9ucyk7
CiAKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQotICAgIGlmIChldmVudE5hbWVzKCkuaXNUb3Vj
aFJlbGF0ZWRFdmVudFR5cGUoZXZlbnRUeXBlKSkKKyAgICBpZiAoZXZlbnROYW1lcygpLmlzVG91
Y2hSZWxhdGVkRXZlbnRUeXBlKHRhcmdldE5vZGUtPmRvY3VtZW50KCksIGV2ZW50VHlwZSkpCiAg
ICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuYWRkVG91Y2hFdmVudExpc3RlbmVyKCp0YXJn
ZXROb2RlKTsKICNlbmRpZgogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0yMTUz
LDcgKzIxNTMsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihO
b2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmCiAgICAgLy8gbGlzdGVuZXJzIGZv
ciBlYWNoIHR5cGUsIG5vdCBqdXN0IGEgYm9vbCAtIHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzM4NjEKICAgICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVu
dFR5cGUoZXZlbnRUeXBlKSkKICAgICAgICAgdGFyZ2V0Tm9kZS0+ZG9jdW1lbnQoKS5kaWRSZW1v
dmVXaGVlbEV2ZW50SGFuZGxlcigqdGFyZ2V0Tm9kZSk7Ci0gICAgZWxzZSBpZiAoZXZlbnROYW1l
cygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgZWxzZSBpZiAoZXZl
bnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKHRhcmdldE5vZGUtPmRvY3VtZW50KCks
IGV2ZW50VHlwZSkpCiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuZGlkUmVtb3ZlVG91
Y2hFdmVudEhhbmRsZXIoKnRhcmdldE5vZGUpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
QEAgLTIxNjcsNyArMjE2Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB0cnlSZW1vdmVFdmVudExp
c3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYKICAgICAgICAgdGFy
Z2V0Tm9kZS0+ZG9jdW1lbnQoKS5kb21XaW5kb3coKS0+cmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVu
dFR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKTsKIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0g
ICAgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShldmVudFR5cGUpKQor
ICAgIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUodGFyZ2V0Tm9kZS0+
ZG9jdW1lbnQoKSwgZXZlbnRUeXBlKSkKICAgICAgICAgdGFyZ2V0Tm9kZS0+ZG9jdW1lbnQoKS5y
ZW1vdmVUb3VjaEV2ZW50TGlzdGVuZXIoKnRhcmdldE5vZGUpOwogI2VuZGlmCiAjZW5kaWYgLy8g
UExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTI0NjMsNyArMjQ2Myw3IEBAIHZvaWQgTm9kZTo6ZGVm
YXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICBpZiAoRnJhbWUqIGZy
YW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpKQogICAgICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhh
bmRsZXIoKS5kZWZhdWx0V2hlZWxFdmVudEhhbmRsZXIoc3RhcnROb2RlLCBkb3duY2FzdDxXaGVl
bEV2ZW50PihldmVudCkpOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIFBMQVRGT1JNKElP
U19GQU1JTFkpCi0gICAgfSBlbHNlIGlmIChpczxUb3VjaEV2ZW50PihldmVudCkgJiYgZXZlbnRO
YW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpIHsKKyAgICB9IGVsc2Ug
aWYgKGlzPFRvdWNoRXZlbnQ+KGV2ZW50KSAmJiBldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRF
dmVudFR5cGUoZG9jdW1lbnQoKSwgZXZlbnRUeXBlKSkgewogICAgICAgICBSZW5kZXJPYmplY3Qq
IHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICAgICAgd2hpbGUgKHJlbmRlcmVyICYm
ICghaXM8UmVuZGVyQm94PigqcmVuZGVyZXIpIHx8ICFkb3duY2FzdDxSZW5kZXJCb3g+KCpyZW5k
ZXJlcikuY2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKCkpKQogICAgICAgICAgICAg
cmVuZGVyZXIgPSByZW5kZXJlci0+cGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5oCmluZGV4IGRmNmEyZGEzMzEyMmFjYjgzNTM4ZTZiMjIwODUwMjEyZTU5MTdhZWYu
LmRhMzNjM2NjNDBiMmY2ZDBkMjdmNGY4ZWY2YmY4NjNhNTYwMWRjY2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oCkBAIC0xMTgsNiArMTE4LDEyIEBAIGVudW0gY2xhc3Mg
TWV0YVZpZXdwb3J0UG9saWN5IHsKICAgICBJZ25vcmUsCiB9OwogCitlbnVtIGNsYXNzIFNpbXVs
YXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgeworICAgIERlZmF1bHQsCisgICAgQWxsb3cs
CisgICAgRGVueSwKK307CisKIGNsYXNzIERvY3VtZW50TG9hZGVyCiAgICAgOiBwdWJsaWMgUmVm
Q291bnRlZDxEb2N1bWVudExvYWRlcj4KICAgICAsIHB1YmxpYyBGcmFtZURlc3RydWN0aW9uT2Jz
ZXJ2ZXIKQEAgLTI5Miw2ICsyOTgsOSBAQCBwdWJsaWM6CiAgICAgTWV0YVZpZXdwb3J0UG9saWN5
IG1ldGFWaWV3cG9ydFBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YVZpZXdwb3J0UG9saWN5
OyB9CiAgICAgdm9pZCBzZXRNZXRhVmlld3BvcnRQb2xpY3koTWV0YVZpZXdwb3J0UG9saWN5IHBv
bGljeSkgeyBtX21ldGFWaWV3cG9ydFBvbGljeSA9IHBvbGljeTsgfQogCisgICAgU2ltdWxhdGVk
TW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSBzaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9s
aWN5KCkgY29uc3QgeyByZXR1cm4gbV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5
OyB9CisgICAgdm9pZCBzZXRTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KFNpbXVs
YXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgcG9saWN5KSB7IG1fc2ltdWxhdGVkTW91c2VF
dmVudHNEaXNwYXRjaFBvbGljeSA9IHBvbGljeTsgfQorCiAgICAgdm9pZCBhZGRTdWJyZXNvdXJj
ZUxvYWRlcihSZXNvdXJjZUxvYWRlciopOwogICAgIHZvaWQgcmVtb3ZlU3VicmVzb3VyY2VMb2Fk
ZXIoTG9hZENvbXBsZXRpb25UeXBlLCBSZXNvdXJjZUxvYWRlciopOwogICAgIHZvaWQgYWRkUGx1
Z0luU3RyZWFtTG9hZGVyKFJlc291cmNlTG9hZGVyJik7CkBAIC01NjksNiArNTc4LDcgQEAgcHJp
dmF0ZToKICAgICBPcHRpb25TZXQ8QXV0b3BsYXlRdWlyaz4gbV9hbGxvd2VkQXV0b3BsYXlRdWly
a3M7CiAgICAgUG9wVXBQb2xpY3kgbV9wb3BVcFBvbGljeSB7IFBvcFVwUG9saWN5OjpEZWZhdWx0
IH07CiAgICAgTWV0YVZpZXdwb3J0UG9saWN5IG1fbWV0YVZpZXdwb3J0UG9saWN5IHsgTWV0YVZp
ZXdwb3J0UG9saWN5OjpEZWZhdWx0IH07CisgICAgU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeSBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgeyBTaW11bGF0ZWRN
b3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZhdWx0IH07CiAKICNpZiBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCiAgICAgT3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IG1f
c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
aW5kZXggYTMwNmZhN2RlYzJhMDE2MmIzNmM2NzUxMWNlMWRjMWM1NWRjMTgyOS4uMzU5OWMyM2I2
NGU1N2IyMGYyYTBjMTQwM2Y2NjlmMDRiZDI3MTE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcApAQCAtMTc4MiwxMSArMTc4MiwxMiBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0
ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAg
IGlmICghRXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGxp
c3RlbmVyKSwgb3B0aW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChEb2N1
bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAgYXV0byogZG9jdW1lbnQg
PSB0aGlzLT5kb2N1bWVudCgpOworICAgIGlmIChkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVu
dC0+YWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQoZXZlbnRUeXBlKTsKICAgICAgICAgaWYgKGV2ZW50
TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpCiAgICAgICAgICAgICBkb2N1bWVu
dC0+ZGlkQWRkV2hlZWxFdmVudEhhbmRsZXIoKmRvY3VtZW50KTsKLSAgICAgICAgZWxzZSBpZiAo
ZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgICAg
IGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZSgqZG9jdW1lbnQs
IGV2ZW50VHlwZSkpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRs
ZXIoKmRvY3VtZW50KTsKICAgICAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMo
KS5zdG9yYWdlRXZlbnQpCiAgICAgICAgICAgICBkaWRBZGRTdG9yYWdlRXZlbnRMaXN0ZW5lcigq
dGhpcyk7CkBAIC0xODAxLDcgKzE4MDIsNyBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0
ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAg
ICAgICBpbmNyZW1lbnRTY3JvbGxFdmVudExpc3RlbmVyc0NvdW50KCk7CiAjZW5kaWYKICNpZiBF
TkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKLSAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3Vj
aFJlbGF0ZWRFdmVudFR5cGUoZXZlbnRUeXBlKSkKKyAgICBlbHNlIGlmIChkb2N1bWVudCAmJiBl
dmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoKmRvY3VtZW50LCBldmVudFR5cGUp
KQogICAgICAgICArK21fdG91Y2hBbmRHZXN0dXJlRXZlbnRMaXN0ZW5lckNvdW50OwogI2VuZGlm
CiAjaWYgRU5BQkxFKElPU19HRVNUVVJFX0VWRU5UUykKQEAgLTIwMDAsMTAgKzIwMDEsMTEgQEAg
Ym9vbCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIEV2ZW50TGlzdGVuZXIKICAgICBpZiAoIUV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVu
dExpc3RlbmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMuY2FwdHVyZSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1
bWVudCgpKSB7CisgICAgYXV0byogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOworICAgIGlm
IChkb2N1bWVudCkgewogICAgICAgICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVudFR5cGUo
ZXZlbnRUeXBlKSkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFu
ZGxlcigqZG9jdW1lbnQpOwotICAgICAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJl
bGF0ZWRFdmVudFR5cGUoZXZlbnRUeXBlKSkKKyAgICAgICAgZWxzZSBpZiAoZXZlbnROYW1lcygp
LmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKCpkb2N1bWVudCwgZXZlbnRUeXBlKSkKICAgICAgICAg
ICAgIGRvY3VtZW50LT5kaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigqZG9jdW1lbnQpOwogICAg
IH0KIApAQCAtMjAxNiw3ICsyMDE4LDcgQEAgYm9vbCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIKICAgICAg
ICAgZGVjcmVtZW50U2Nyb2xsRXZlbnRMaXN0ZW5lcnNDb3VudCgpOwogI2VuZGlmCiAjaWYgRU5B
QkxFKElPU19UT1VDSF9FVkVOVFMpCi0gICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hS
ZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpIHsKKyAgICBlbHNlIGlmIChkb2N1bWVudCAmJiBl
dmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoKmRvY3VtZW50LCBldmVudFR5cGUp
KSB7CiAgICAgICAgIEFTU0VSVChtX3RvdWNoQW5kR2VzdHVyZUV2ZW50TGlzdGVuZXJDb3VudCA+
IDApOwogICAgICAgICAtLW1fdG91Y2hBbmRHZXN0dXJlRXZlbnRMaXN0ZW5lckNvdW50OwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcAppbmRleCAxYmYzNWM4ZGY5OTMxMzI4OTVmOTc5NWZkZGI4
MjhjNDhlODc1ZTY3Li5iZmQwN2ZlMTdkMzQyODBjNWI4MzAxNDEwYzFkM2M3ZmVmM2E4N2UyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9RdWlya3MuY3BwCkBAIC0xOTcsNiArMTk3LDM0IEBAIGJvb2wgUXVpcmtzOjpp
c05ldmVyUmljaGx5RWRpdGFibGVGb3JUb3VjaEJhcigpIGNvbnN0CiAKIGJvb2wgUXVpcmtzOjpz
aG91bGREaXNwYXRjaFNpbXVsYXRlTW91c2VFdmVudHMoKSBjb25zdAogeworI2lmIFBMQVRGT1JN
KElPU19GQU1JTFkpCisgICAgaWYgKCFuZWVkc1F1aXJrcygpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBhdXRvKiBsb2FkZXIgPSBtX2RvY3VtZW50LT5sb2FkZXIoKTsKKyAgICBpZiAo
IWxvYWRlciB8fCBsb2FkZXItPnNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3koKSAh
PSBTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpBbGxvdykKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgYXV0byYgdXJsID0gbV9kb2N1bWVudC0+dG9wRG9jdW1lbnQoKS51
cmwoKTsKKyAgICBhdXRvIGhvc3QgPSB1cmwuaG9zdCgpOworCisgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJhbWF6b24uY29tIikgfHwgaG9zdC5lbmRzV2l0aEln
bm9yaW5nQVNDSUlDYXNlKCIuYW1hem9uLmNvbSIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgIndpeC5jb20iKSB8fCBo
b3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi53aXguY29tIikpCisgICAgICAgIHJldHVy
biB0cnVlOworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiZGVz
bW9zLmNvbSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLmRlc21vcy5jb20i
KSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKGhvc3QsICJmaWdtYS5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNh
c2UoIi5maWdtYS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ0cmVsbG8uY29tIikgfHwgaG9zdC5lbmRzV2l0
aElnbm9yaW5nQVNDSUlDYXNlKCIudHJlbGxvLmNvbSIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgImFpcnRhYmxlLmNv
bSIpIHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLmFpcnRhYmxlLmNvbSIpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UoaG9zdCwgIm1hcHMuZ29vZ2xlLmNvbSIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBp
ZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoaG9zdCwgInRyYWlsZXJzLmFwcGxlLmNv
bSIpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcAppbmRleCA0
YWVmYWNhZTA4N2Y0YTFlYzUzYzY4Yzk3MGE5ZjZkY2QwM2MxMTJiLi5jNmIyOTBmM2QxMzA2OTVh
Njk2OWIwZTJhYjYwMjU1ZjY2NWFjNDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJz
aXRlUG9saWNpZXNEYXRhLmNwcApAQCAtNDcsNiArNDcsNyBAQCB2b2lkIFdlYnNpdGVQb2xpY2ll
c0RhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8
PCBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CiAgICAgZW5j
b2RlciA8PCBjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsKICAgICBlbmNvZGVyIDw8IG1ldGFWaWV3
cG9ydFBvbGljeTsKKyAgICBlbmNvZGVyIDw8IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQ
b2xpY3k7CiB9CiAKIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2ll
c0RhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCkBAIC0xMDUsNyArMTA2LDEyIEBA
IE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIpCiAgICAgZGVjb2RlciA+PiBtZXRhVmlld3BvcnRQb2xp
Y3k7CiAgICAgaWYgKCFtZXRhVmlld3BvcnRQb2xpY3kpCiAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7Ci0gICAgCisKKyAgICBPcHRpb25hbDxXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNE
aXNwYXRjaFBvbGljeT4gc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTsKKyAgICBk
ZWNvZGVyID4+IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k7CisgICAgaWYgKCFz
aW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KQorICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OworCiAgICAgcmV0dXJuIHsgewogICAgICAgICBXVEZNb3ZlKCpjb250ZW50QmxvY2tl
cnNFbmFibGVkKSwKICAgICAgICAgV1RGTW92ZSgqYWxsb3dlZEF1dG9wbGF5UXVpcmtzKSwKQEAg
LTExOCw2ICsxMjQsNyBAQCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiBXZWJzaXRlUG9s
aWNpZXNEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogICAgICAgICBXVEZNb3Zl
KCpjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MpLAogICAgICAg
ICBXVEZNb3ZlKCpjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSksCiAgICAgICAgIFdURk1vdmUoKm1l
dGFWaWV3cG9ydFBvbGljeSksCisgICAgICAgIFdURk1vdmUoKnNpbXVsYXRlZE1vdXNlRXZlbnRz
RGlzcGF0Y2hQb2xpY3kpLAogICAgIH0gfTsKIH0KIApAQCAtMTg5LDYgKzE5NiwxOCBAQCB2b2lk
IFdlYnNpdGVQb2xpY2llc0RhdGE6OmFwcGx5VG9Eb2N1bWVudExvYWRlcihXZWJzaXRlUG9saWNp
ZXNEYXRhJiYgd2Vic2l0ZVBvbAogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBzd2l0Y2gg
KHdlYnNpdGVQb2xpY2llcy5zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KSB7Cisg
ICAgY2FzZSBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6RGVmYXVs
dDoKKyAgICAgICAgZG9jdW1lbnRMb2FkZXIuc2V0U2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeShXZWJDb3JlOjpTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZh
dWx0KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVu
dHNEaXNwYXRjaFBvbGljeTo6QWxsb3c6CisgICAgICAgIGRvY3VtZW50TG9hZGVyLnNldFNpbXVs
YXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3koV2ViQ29yZTo6U2ltdWxhdGVkTW91c2VFdmVu
dHNEaXNwYXRjaFBvbGljeTo6QWxsb3cpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYnNp
dGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZW55OgorICAgICAgICBkb2N1
bWVudExvYWRlci5zZXRTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KFdlYkNvcmU6
OlNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkRlbnkpOworICAgICAgICBicmVh
azsKKyAgICB9CisKICAgICBpZiAod2Vic2l0ZVBvbGljaWVzLndlYnNpdGVEYXRhU3RvcmVQYXJh
bWV0ZXJzKSB7CiAgICAgICAgIGlmIChhdXRvKiBmcmFtZSA9IGRvY3VtZW50TG9hZGVyLmZyYW1l
KCkpIHsKICAgICAgICAgICAgIGlmIChhdXRvKiBwYWdlID0gZnJhbWUtPnBhZ2UoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaAppbmRleCAxOTExZWRkMjU3M2Jl
ZTY3ODhiNzE0ZTJhNWNmMTVhOTZhN2VjMmQwLi4zYzVjODExYjdiYTJjN2RlZWE5MWM4MzIyYjY0
NzE5NGQxNGVmOTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9s
aWNpZXNEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0
YS5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRl
cnMuaCIKICNpbmNsdWRlICJXZWJzaXRlTWV0YVZpZXdwb3J0UG9saWN5LmgiCiAjaW5jbHVkZSAi
V2Vic2l0ZVBvcFVwUG9saWN5LmgiCisjaW5jbHVkZSAiV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZl
bnRzRGlzcGF0Y2hQb2xpY3kuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBIZWFkZXJGaWVsZC5o
PgogI2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KIApAQCAtNTgsNiArNTksNyBAQCBzdHJ1Y3Qg
V2Vic2l0ZVBvbGljaWVzRGF0YSB7CiAgICAgU3RyaW5nIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdl
bnRBc1NpdGVTcGVjaWZpY1F1aXJrczsKICAgICBTdHJpbmcgY3VzdG9tTmF2aWdhdG9yUGxhdGZv
cm07CiAgICAgV2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeSBtZXRhVmlld3BvcnRQb2xpY3kgeyBX
ZWJzaXRlTWV0YVZpZXdwb3J0UG9saWN5OjpEZWZhdWx0IH07CisgICAgV2Vic2l0ZVNpbXVsYXRl
ZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBv
bGljeSB7IFdlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZhdWx0
IH07CiAKICAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMg
T3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4gZGVjb2RlKElQQzo6RGVjb2RlciYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRz
RGlzcGF0Y2hQb2xpY3kuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVTaW11bGF0ZWRN
b3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2ZjOTk3MTFkMzMyNTIyODU4
NDYwNTIzMGY0NjMxMDM2NTQ1NzE4NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmgKQEAgLTAs
MCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gY2xhc3MgV2Vic2l0ZVNpbXVs
YXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgeworICAgIERlZmF1bHQsCisgICAgQWxsb3cs
CisgICAgRGVueSwKK307CisKK30KKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3Ry
dWN0IEVudW1UcmFpdHM8V2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CisgICAgV2ViS2l0OjpX
ZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSwKKyAgICBXZWJLaXQ6Oldl
YnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZhdWx0LAorICAgIFdl
YktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkFsbG93LAor
ICAgIFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkRl
bnkKKyAgICA+OworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwCmluZGV4IGI4OTc0Njk4NjFm
ZTJkZGE1MTY3NjgzMDczNzdlZTZkOGQ2YjhkZWYuLjIwN2MxNTEzYjliNWNmYjk2MWVlZWVlZDc5
ZjIxMTI2M2YxODc1Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElXZWJzaXRlUG9saWNpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElXZWJzaXRlUG9saWNpZXMuY3BwCkBAIC01Niw2ICs1Niw3IEBAIFJlZjxXZWJzaXRlUG9saWNp
ZXM+IFdlYnNpdGVQb2xpY2llczo6Y29weSgpIGNvbnN0CiAgICAgcG9saWNpZXMtPnNldEN1c3Rv
bU5hdmlnYXRvclBsYXRmb3JtKG1fY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0pOwogICAgIHBvbGlj
aWVzLT5zZXRQcmVmZXJyZWRDb21wYXRpYmlsaXR5TW9kZShtX3ByZWZlcnJlZENvbXBhdGliaWxp
dHlNb2RlKTsKICAgICBwb2xpY2llcy0+c2V0TWV0YVZpZXdwb3J0UG9saWN5KG1fbWV0YVZpZXdw
b3J0UG9saWN5KTsKKyAgICBwb2xpY2llcy0+c2V0U2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeShtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kpOwogICAgIFZlY3Rv
cjxXZWJDb3JlOjpIVFRQSGVhZGVyRmllbGQ+IGN1c3RvbUhlYWRlckZpZWxkczsKICAgICBjdXN0
b21IZWFkZXJGaWVsZHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX2N1c3RvbUhlYWRlckZpZWxk
cy5zaXplKCkpOwogICAgIGZvciAoYXV0byYgZmllbGQgOiBtX2N1c3RvbUhlYWRlckZpZWxkcykK
QEAgLTg3LDYgKzg4LDcgQEAgV2ViS2l0OjpXZWJzaXRlUG9saWNpZXNEYXRhIFdlYnNpdGVQb2xp
Y2llczo6ZGF0YSgpCiAgICAgICAgIG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNw
ZWNpZmljUXVpcmtzLAogICAgICAgICBtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtLAogICAgICAg
ICBtX21ldGFWaWV3cG9ydFBvbGljeSwKKyAgICAgICAgbV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rp
c3BhdGNoUG9saWN5LAogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAppbmRleCAyYWM4MGU0NDBjYjU4Y2MyMjBiNTJhYWYw
NTk2MGU1OGZjMDBkODk0Li5jMjI1YjFkZjE2MzllOWZkODM2ODM5MjUwNTFkZjg5YzA2MzZlOGMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGlj
aWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2ll
cy5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiV2Vic2l0ZUF1dG9wbGF5UXVpcmsuaCIK
ICNpbmNsdWRlICJXZWJzaXRlTWV0YVZpZXdwb3J0UG9saWN5LmgiCiAjaW5jbHVkZSAiV2Vic2l0
ZVBvcFVwUG9saWN5LmgiCisjaW5jbHVkZSAiV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlz
cGF0Y2hQb2xpY3kuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0hUVFBIZWFkZXJGaWVsZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC05MCw2
ICs5MSw5IEBAIHB1YmxpYzoKICAgICBXZWJLaXQ6OldlYnNpdGVNZXRhVmlld3BvcnRQb2xpY3kg
bWV0YVZpZXdwb3J0UG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9tZXRhVmlld3BvcnRQb2xpY3k7
IH0KICAgICB2b2lkIHNldE1ldGFWaWV3cG9ydFBvbGljeShXZWJLaXQ6OldlYnNpdGVNZXRhVmll
d3BvcnRQb2xpY3kgcG9saWN5KSB7IG1fbWV0YVZpZXdwb3J0UG9saWN5ID0gcG9saWN5OyB9CiAK
KyAgICBXZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5IHNp
bXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3NpbXVs
YXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k7IH0KKyAgICB2b2lkIHNldFNpbXVsYXRlZE1v
dXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3koV2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVu
dHNEaXNwYXRjaFBvbGljeSBwb2xpY3kpIHsgbV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNo
UG9saWN5ID0gcG9saWN5OyB9CisKIHByaXZhdGU6CiAgICAgV2Vic2l0ZVBvbGljaWVzKGJvb2wg
Y29udGVudEJsb2NrZXJzRW5hYmxlZCwgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5
UXVpcms+LCBXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVBvbGljeSwgVmVjdG9yPFdlYkNvcmU6OkhU
VFBIZWFkZXJGaWVsZD4mJiwgV2ViS2l0OjpXZWJzaXRlUG9wVXBQb2xpY3ksIFJlZlB0cjxXZWJz
aXRlRGF0YVN0b3JlPiYmKTsKIApAQCAtMTA1LDYgKzEwOSw3IEBAIHByaXZhdGU6CiAgICAgV1RG
OjpTdHJpbmcgbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsKICAgICBXZWJLaXQ6OldlYkNvbXBh
dGliaWxpdHlNb2RlIG1fcHJlZmVycmVkQ29tcGF0aWJpbGl0eU1vZGUgeyBXZWJLaXQ6OldlYkNv
bXBhdGliaWxpdHlNb2RlOjpEZWZhdWx0IH07CiAgICAgV2ViS2l0OjpXZWJzaXRlTWV0YVZpZXdw
b3J0UG9saWN5IG1fbWV0YVZpZXdwb3J0UG9saWN5IHsgV2ViS2l0OjpXZWJzaXRlTWV0YVZpZXdw
b3J0UG9saWN5OjpEZWZhdWx0IH07CisgICAgV2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VF
dmVudHNEaXNwYXRjaFBvbGljeSBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kg
eyBXZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZh
dWx0IH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGU1MzBiMzhjYWY3YjJkMWVkOTIxYzk0
NzdlM2I3N2QxODk2MzFkMjQuLjdiZjcwYWQ5Mzk3ZWViZjU5ZTc5NDZiNmVjMmEyYjk0OTljNGI2
NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTExMSw2ICsxMTExLDcgQEAKIAkJNkJFOTY5Q0IxRTU0RDRDRjAwOEI3NDgzIC8qIFJl
c291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUM5MUU1NEQ0Q0YwMDhCNzQ4MyAvKiBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggKi87IH07CiAJCTZCRTk2OUNE
MUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5Q0MxRTU0
RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi87IH07
CiAJCTZFRTg0OUM4MTM2OEQ5MzkwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZFRTg0OUM2MTM2
OEQ5MkQwMDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk3MTQ4RDJBOTIyNUY2RUE1MDA1ODI3
RDAgLyogV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNDhEMkE4MjI1RjZFOTUw
MDU4MjdEMCAvKiBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oICov
OyB9OwogCQk3MjhFODZGMTE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcyOEU4NkVGMTc5
NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICovOyB9OwogCQk3NUE4RDJDODE4
N0NDRkFCMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJDNDE4N0NDRjlGMDBDMzlDOUUgLyog
V0tXZWJzaXRlRGF0YVN0b3JlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHVibGlj
LCApOyB9OyB9OwogCQk3NUE4RDJENjE4N0QxQzBFMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0
b3JlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc1QThEMkQ0MTg3RDFDMDEwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5h
bC5oICovOyB9OwpAQCAtMzU3Miw2ICszNTczLDcgQEAKIAkJNkJFOTY5Q0MxRTU0RTA1NDAwOEI3
NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZEOEE5MUE1MTFGMEVGRDEwMEREMDFGRSAvKiBj
b20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBjb20uYXBw
bGUuV2ViUHJvY2Vzcy5zYi5pbjsgcGF0aCA9IFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nl
c3Muc2IuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZFRTg0OUM2MTM2OEQ5MkQw
MDM4RDQ4MSAvKiBXS0luc3BlY3RvclByaXZhdGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV0tJbnNwZWN0b3JQcml2YXRlTWFjLmg7IHBhdGggPSBtYWMvV0tJbnNwZWN0
b3JQcml2YXRlTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNDhEMkE4MjI1
RjZFOTUwMDU4MjdEMCAvKiBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlU2ltdWxhdGVkTW91
c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JQaWNrZXJNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzI4RTg2RjAxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlj
a2VyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29s
b3JQaWNrZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc1QThEMkM0MTg3
Q0NGOUYwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV0tXZWJzaXRlRGF0YVN0b3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC01MjM1LDEwICs1MjM3LDExIEBACiAJCQkJNUM4REQzODExRkU0NTVDQTAwRjJB
NTU2IC8qIFdlYnNpdGVBdXRvcGxheVF1aXJrLmggKi8sCiAJCQkJNTExRjdEM0YxRUIxQkNFRTAw
RTQ3QjgzIC8qIFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmNwcCAqLywKIAkJCQk1MTFGN0Q0
MDFFQjFCQ0VFMDBFNDdCODMgLyogV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMuaCAqLywKKwkJ
CQlGNDMwRTk0MTIyNDczMkE5MDA1RkUwNTMgLyogV2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeS5o
ICovLAogCQkJCTVDM0FFQThFMUZFMUYxREYwMDIzMThEMyAvKiBXZWJzaXRlUG9saWNpZXNEYXRh
LmNwcCAqLywKIAkJCQk1QzEzMDI0QTFGRTM0MUE3MDAwRDlCMzEgLyogV2Vic2l0ZVBvbGljaWVz
RGF0YS5oICovLAotCQkJCUY0MzBFOTQxMjI0NzMyQTkwMDVGRTA1MyAvKiBXZWJzaXRlTWV0YVZp
ZXdwb3J0UG9saWN5LmggKi8sCiAJCQkJMEVERTg1MDIyMDA0RTc0OTAwMDMwNTYwIC8qIFdlYnNp
dGVQb3BVcFBvbGljeS5oICovLAorCQkJCTcxNDhEMkE4MjI1RjZFOTUwMDU4MjdEMCAvKiBXZWJz
aXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oICovLAogCQkJCTgzNjAzNDlE
MUFDQjM0RDYwMDYyNjU0OSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwICovLAogCQkJ
CTgzNjAzNDlFMUFDQjM0RDYwMDYyNjU0OSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCAq
LywKIAkJCQlDMDMzN0RENzEyN0E1MUI2MDA4RkY0RjQgLyogV2ViVG91Y2hFdmVudC5jcHAgKi8s
CkBAIC05NzA5LDcgKzk3MTIsOSBAQAogCQkJCTFBNDgzMkQxMUE5QkRDMkYwMDhCNERGRSAvKiBX
ZWJzaXRlRGF0YVJlY29yZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1M0MyQUExQTMyNTczMDAw
NEU4QzcwIC8qIFdlYnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMUY3RDQx
MUVCMUJDRjUwMEU0N0I4MyAvKiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJRjQzMEU5NDIyMjQ3MzM1RjAwNUZFMDUzIC8qIFdlYnNpdGVNZXRhVmlld3Bv
cnRQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTBFREU4NTAzMjAwNEU3NUQwMDAzMDU2MCAv
KiBXZWJzaXRlUG9wVXBQb2xpY3kuaCBpbiBIZWFkZXJzICovLAorCQkJCTcxNDhEMkE5MjI1RjZF
QTUwMDU4MjdEMCAvKiBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQzE0OTM4MDkyMjM0NzEwNDAwMENENzA3IC8qIFdlYlNwZWVj
aFN5bnRoZXNpc0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM2MDM0QTAxQUNCMzRENjAw
NjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUE1MkMwRjgxQTM4Q0RDNzAwMTYxNjBBIC8qIFdlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5o
IGluIEhlYWRlcnMgKi8sCkBAIC05ODM0LDcgKzk4MzksNiBAQAogCQkJCUJDNDA3NUY4MTI0RkYw
MjcwMDY4RjIwQSAvKiBXS0RhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QTcwOUE3MUUzRUEw
RkQwMENBNTk2OSAvKiBXS0RhdGFEZXRlY3RvclR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkz
N0E3MDlBOTFFM0VBNDBDMDBDQTU5NjkgLyogV0tEYXRhRGV0ZWN0b3JUeXBlc0ludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKLQkJCQlGNDMwRTk0MjIyNDczMzVGMDA1RkUwNTMgLyogV2Vic2l0ZU1l
dGFWaWV3cG9ydFBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU5NEZDMTYyMDM1MUE2RDAw
OTc0QkEwIC8qIFdLRGF0ZVBpY2tlclZpZXdDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzNzdFQUQ0NTE3RTJDNTFBMDAyRDE5M0QgLyogV0tEZWNsYXJhdGlvblNwZWNpZmllcnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTVDMzU5QzBEMjE1NDczOUYwMDlFNzk0OCAvKiBXS0RlcHJlY2F0
ZWQuaCBpbiBIZWFkZXJzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367244</attachid>
            <date>2019-04-11 14:52:52 -0700</date>
            <delta_ts>2019-04-11 23:10:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196830-20190411235250.patch</filename>
            <type>text/plain</type>
            <size>29439</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTAyYWU5ZDA0NDIzNDk2
ZTJkMmEwNTc1NTZhZDc2NmJkMTNiN2RjYy4uNDg4NTMxYWI4NDY4MDY5YzNjN2Y3MjFlNzliZDlj
MThjYmQxNTE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTA0LTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgT3B0IHNvbWUgd2Vic2l0
ZXMgaW50byB0aGUgc2ltdWxhdGVkIG1vdXNlIGV2ZW50cyBkaXNwYXRjaCBxdWlyayB3aGVuIGlu
IG1vZGVybiBjb21wYXRpYmlsaXR5IG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NjgzMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkxMjQz
MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
YWRkIGEgbmV3IHBvbGljeSB0byBkZXRlcm1pbmUgd2hldGhlciBzaW11bGF0ZWQgbW91c2UgZXZl
bnRzIGRpc3BhdGNoIGFyZSBhbGxvd2VkIGFuZCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIg
dGhlCisgICAgICAgIHNpbXVsYXRlZCBtb3VzZSBldmVudHMgZGlzcGF0Y2ggcXVpcmsgY2FuIGJl
IHVzZWQgZm9yIGEgZ2l2ZW4gd2Vic2l0ZS4gV2UgdGhlbiBjaGVjayB0aGUgZG9tYWluIG5hbWUg
Zm9yIHRoZSBjdXJyZW50IHBhZ2UncworICAgICAgICBkb2N1bWVudCB0byBzZWUgaWYgaXQgbWF0
Y2hlcyBzb21lIGtub3duIHdlYnNpdGVzIHRoYXQgcmVxdWlyZSB0aGlzIHF1aXJrLgorCisgICAg
ICAgIFdlIG5lZWRlZCB0byBhZGQgc29tZSBjYWxscyBpbnRvIFF1aXJrczo6c2hvdWxkRGlzcGF0
Y2hTaW11bGF0ZU1vdXNlRXZlbnRzKCkgd2hlcmUgd2UgdXNlZCB0byBvbmx5IGNvbnN1bHQgdGhl
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZQorICAgICAgICBmbGFnIHRvIGVuc3VyZSB3ZSBjb3JyZWN0
bHkgY3JlYXRlZCB0b3VjaCByZWdpb25zIGZvciBzaW11bGF0ZWQgbW91c2UgZXZlbnRzLgorCisg
ICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TmFtZXM6
OmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlIGNvbnN0KTogQWRkIGEgRG9jdW1lbnQmIHBhcmFtZXRl
ciBzaW5jZSB3ZSBuZWVkIHRvIGNvbnN1bHQgdGhhdCBkb2N1bWVudCdzIHF1aXJrcy4KKyAgICAg
ICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjptb3ZlTm9kZVRvTmV3
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5QWRkRXZlbnRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjp0cnlSZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNpbXVsYXRlZE1vdXNl
RXZlbnRzRGlzcGF0Y2hQb2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnNldFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kpOgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6YWRkRXZl
bnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlz
dGVuZXIpOgorICAgICAgICAqIHBhZ2UvUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlF1
aXJrczo6c2hvdWxkRGlzcGF0Y2hTaW11bGF0ZU1vdXNlRXZlbnRzIGNvbnN0KToKKwogMjAxOS0w
NC0xMCAgU2FpZCBBYm91LUhhbGxhd2EgIDxzYWJvdWhhbGxhd2FAYXBwbGUuY29tPgogCiAgICAg
ICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSBzaG91bGQgZXhlY3V0ZSBiZWZvcmUgdGhlIG5leHQg
ZnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKaW5kZXggYmEwNTE5MzY1NDA4MGY4NjIxMjQ4NjQxZGZkOWY4ODA4ZjZmOTI5
YS4uYmFhNzc2ODEyMjRlMDk5NzIyOGY2M2M2NGE5YTBkZWYyZWViZmQ3YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNSBAQAorMjAxOS0wNC0xMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUu
Y29tPgorCisgICAgICAgIE9wdCBzb21lIHdlYnNpdGVzIGludG8gdGhlIHNpbXVsYXRlZCBtb3Vz
ZSBldmVudHMgZGlzcGF0Y2ggcXVpcmsgd2hlbiBpbiBtb2Rlcm4gY29tcGF0aWJpbGl0eSBtb2Rl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTY4MzAK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ5MTI0MzEzPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGFkZCBhIG5ldyBwb2xpY3kgdG8gZGV0ZXJt
aW5lIHdoZXRoZXIgc2ltdWxhdGVkIG1vdXNlIGV2ZW50cyBkaXNwYXRjaCBhcmUgYWxsb3dlZC4K
KworICAgICAgICAqIFNoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktp
dDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0
ZVBvbGljaWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBTaGFyZWQv
V2Vic2l0ZVBvbGljaWVzRGF0YS5oOgorICAgICAgICAqIFNoYXJlZC9XZWJzaXRlU2ltdWxhdGVk
TW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJ
V2Vic2l0ZVBvbGljaWVzLmNwcDoKKyAgICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpjb3B5
IGNvbnN0KToKKyAgICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpkYXRhKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFdlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCiAyMDE5LTA0LTEwICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV0tOYXZpZ2F0aW9uUmVzcG9u
c2UuX2Rvd25sb2FkQXR0cmlidXRlIHNob3VsZCBiZSBuaWwgd2hlbiBubyBkb3dubG9hZCBhdHRy
aWJ1dGUgaXMgcHJlc2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggOTMzYzVkNzg3Nzdk
YzRhOTU5NGY1MzVjMzI2MmFmNjI3NTgxZmUyNS4uZDI4NjdiOWQzODQ4ZmM3YzE3ZmQ0MzUxYWRk
Nzg2YWIyZDBmNzlhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0yMSw2ICsyMSw4IEBA
CiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJRdWly
a3MuaCIKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCiAjaW5jbHVkZSA8YXJyYXk+CiAj
aW5jbHVkZSA8ZnVuY3Rpb25hbD4KQEAgLTM2NCw3ICszNjYsNyBAQCBwdWJsaWM6CiAgICAgLy8g
V2Ugc2hvdWxkIGNob29zZSBvbmUgdGVybSBhbmQgc3RpY2sgdG8gaXQuCiAgICAgYm9vbCBpc1do
ZWVsRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdDsKICAgICBi
b29sIGlzR2VzdHVyZUV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkgY29u
c3Q7Ci0gICAgYm9vbCBpc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcm
IGV2ZW50VHlwZSkgY29uc3Q7CisgICAgYm9vbCBpc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShjb25z
dCBEb2N1bWVudCYsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdDsKICAgICBi
b29sIGlzVG91Y2hTY3JvbGxCbG9ja2luZ0V2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2
ZW50VHlwZSkgY29uc3Q7CiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAgICAgYm9vbCBpc0dhbWVwYWRF
dmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OwpAQCAtMzk5LDE0
ICs0MDEsMTUgQEAgaW5saW5lIGJvb2wgRXZlbnROYW1lczo6aXNUb3VjaFNjcm9sbEJsb2NraW5n
RXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnQKICAgICAgICAgfHwgZXZlbnRUeXBl
ID09IHRvdWNobW92ZUV2ZW50OwogfQogCi1pbmxpbmUgYm9vbCBFdmVudE5hbWVzOjppc1RvdWNo
UmVsYXRlZEV2ZW50VHlwZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkgY29uc3QKK2lu
bGluZSBib29sIEV2ZW50TmFtZXM6OmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGNvbnN0IERvY3Vt
ZW50JiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0CiB7CiAj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6
c2hhcmVkRmVhdHVyZXMoKS5tb3VzZUV2ZW50c1NpbXVsYXRpb25FbmFibGVkKCkpIHsKKyAgICBp
ZiAoZG9jdW1lbnQucXVpcmtzKCkuc2hvdWxkRGlzcGF0Y2hTaW11bGF0ZWRNb3VzZUV2ZW50cygp
IHx8IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubW91c2VFdmVudHNT
aW11bGF0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChldmVudFR5cGUgPT0gbW91c2Vkb3du
RXZlbnQgfHwgZXZlbnRUeXBlID09IG1vdXNlbW92ZUV2ZW50IHx8IGV2ZW50VHlwZSA9PSBtb3Vz
ZXVwRXZlbnQpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAjZW5kaWYKKyAgICBV
TlVTRURfUEFSQU0oZG9jdW1lbnQpOwogICAgIHJldHVybiBldmVudFR5cGUgPT0gdG91Y2hzdGFy
dEV2ZW50CiAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSB0b3VjaG1vdmVFdmVudAogICAgICAgICB8
fCBldmVudFR5cGUgPT0gdG91Y2hlbmRFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IGY4Y2IyMTFh
NDEyNjFkZmU3YmIxY2IyMmUyMTFjMmIyOWQ4MDdlYzEuLjRhYTAyY2ZlMzM2NmUyYzc0M2NjYTA2
NDJjYmMzYmZiZTUyOWZmZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTIwNTcsNyArMjA1Nyw3IEBA
IHZvaWQgTm9kZTo6bW92ZU5vZGVUb05ld0RvY3VtZW50KERvY3VtZW50JiBvbGREb2N1bWVudCwg
RG9jdW1lbnQmIG5ld0RvY3VtZW50KQogCiAgICAgICAgIHVuc2lnbmVkIG51bVRvdWNoRXZlbnRM
aXN0ZW5lcnMgPSAwOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgICAgIGlmIChSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1vdXNlRXZlbnRzU2ltdWxhdGlv
bkVuYWJsZWQoKSkgeworICAgICAgICBpZiAobmV3RG9jdW1lbnQucXVpcmtzKCkuc2hvdWxkRGlz
cGF0Y2hTaW11bGF0ZWRNb3VzZUV2ZW50cygpIHx8IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNo
YXJlZEZlYXR1cmVzKCkubW91c2VFdmVudHNTaW11bGF0aW9uRW5hYmxlZCgpKSB7CiAgICAgICAg
ICAgICBmb3IgKGF1dG8mIG5hbWUgOiBldmVudE5hbWVzKCkuZXh0ZW5kZWRUb3VjaFJlbGF0ZWRF
dmVudE5hbWVzKCkpCiAgICAgICAgICAgICAgICAgbnVtVG91Y2hFdmVudExpc3RlbmVycyArPSBl
dmVudExpc3RlbmVycyhuYW1lKS5zaXplKCk7CiAgICAgICAgIH0gZWxzZSB7CkBAIC0yMTExLDcg
KzIxMTEsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdHJ5QWRkRXZlbnRMaXN0ZW5lcihOb2RlKiB0
YXJnZXROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZQogICAgIHRhcmdldE5vZGUtPmRvY3Vt
ZW50KCkuYWRkTGlzdGVuZXJUeXBlSWZOZWVkZWQoZXZlbnRUeXBlKTsKICAgICBpZiAoZXZlbnRO
YW1lcygpLmlzV2hlZWxFdmVudFR5cGUoZXZlbnRUeXBlKSkKICAgICAgICAgdGFyZ2V0Tm9kZS0+
ZG9jdW1lbnQoKS5kaWRBZGRXaGVlbEV2ZW50SGFuZGxlcigqdGFyZ2V0Tm9kZSk7Ci0gICAgZWxz
ZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisg
ICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKHRhcmdldE5v
ZGUtPmRvY3VtZW50KCksIGV2ZW50VHlwZSkpCiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50
KCkuZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKnRhcmdldE5vZGUpOwogCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKQEAgLTIxMjYsNyArMjEyNiw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB0cnlB
ZGRFdmVudExpc3RlbmVyKE5vZGUqIHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
CiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuZG9tV2luZG93KCktPmFkZEV2ZW50TGlz
dGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgb3B0aW9ucyk7CiAKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQotICAgIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVu
dFR5cGUoZXZlbnRUeXBlKSkKKyAgICBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZl
bnRUeXBlKHRhcmdldE5vZGUtPmRvY3VtZW50KCksIGV2ZW50VHlwZSkpCiAgICAgICAgIHRhcmdl
dE5vZGUtPmRvY3VtZW50KCkuYWRkVG91Y2hFdmVudExpc3RlbmVyKCp0YXJnZXROb2RlKTsKICNl
bmRpZgogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0yMTUzLDcgKzIxNTMsNyBA
QCBzdGF0aWMgaW5saW5lIGJvb2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXRO
b2RlLCBjb25zdCBBdG9taWNTdHJpbmcmCiAgICAgLy8gbGlzdGVuZXJzIGZvciBlYWNoIHR5cGUs
IG5vdCBqdXN0IGEgYm9vbCAtIHNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzM4NjEKICAgICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVudFR5cGUoZXZlbnRU
eXBlKSkKICAgICAgICAgdGFyZ2V0Tm9kZS0+ZG9jdW1lbnQoKS5kaWRSZW1vdmVXaGVlbEV2ZW50
SGFuZGxlcigqdGFyZ2V0Tm9kZSk7Ci0gICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hS
ZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlz
VG91Y2hSZWxhdGVkRXZlbnRUeXBlKHRhcmdldE5vZGUtPmRvY3VtZW50KCksIGV2ZW50VHlwZSkp
CiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuZGlkUmVtb3ZlVG91Y2hFdmVudEhhbmRs
ZXIoKnRhcmdldE5vZGUpOwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTIxNjcsNyAr
MjE2Nyw3IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB0cnlSZW1vdmVFdmVudExpc3RlbmVyKE5vZGUq
IHRhcmdldE5vZGUsIGNvbnN0IEF0b21pY1N0cmluZyYKICAgICAgICAgdGFyZ2V0Tm9kZS0+ZG9j
dW1lbnQoKS5kb21XaW5kb3coKS0+cmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGxpc3Rl
bmVyLCBvcHRpb25zKTsKIAogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0gICAgaWYgKGV2ZW50
TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShldmVudFR5cGUpKQorICAgIGlmIChldmVu
dE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUodGFyZ2V0Tm9kZS0+ZG9jdW1lbnQoKSwg
ZXZlbnRUeXBlKSkKICAgICAgICAgdGFyZ2V0Tm9kZS0+ZG9jdW1lbnQoKS5yZW1vdmVUb3VjaEV2
ZW50TGlzdGVuZXIoKnRhcmdldE5vZGUpOwogI2VuZGlmCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9T
X0ZBTUlMWSkKQEAgLTI0NjMsNyArMjQ2Myw3IEBAIHZvaWQgTm9kZTo6ZGVmYXVsdEV2ZW50SGFu
ZGxlcihFdmVudCYgZXZlbnQpCiAgICAgICAgICAgICBpZiAoRnJhbWUqIGZyYW1lID0gZG9jdW1l
bnQoKS5mcmFtZSgpKQogICAgICAgICAgICAgICAgIGZyYW1lLT5ldmVudEhhbmRsZXIoKS5kZWZh
dWx0V2hlZWxFdmVudEhhbmRsZXIoc3RhcnROb2RlLCBkb3duY2FzdDxXaGVlbEV2ZW50PihldmVu
dCkpOwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCi0g
ICAgfSBlbHNlIGlmIChpczxUb3VjaEV2ZW50PihldmVudCkgJiYgZXZlbnROYW1lcygpLmlzVG91
Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpIHsKKyAgICB9IGVsc2UgaWYgKGlzPFRvdWNo
RXZlbnQ+KGV2ZW50KSAmJiBldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoZG9j
dW1lbnQoKSwgZXZlbnRUeXBlKSkgewogICAgICAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0g
dGhpcy0+cmVuZGVyZXIoKTsKICAgICAgICAgd2hpbGUgKHJlbmRlcmVyICYmICghaXM8UmVuZGVy
Qm94PigqcmVuZGVyZXIpIHx8ICFkb3duY2FzdDxSZW5kZXJCb3g+KCpyZW5kZXJlcikuY2FuQmVT
Y3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKCkpKQogICAgICAgICAgICAgcmVuZGVyZXIgPSBy
ZW5kZXJlci0+cGFyZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCmlu
ZGV4IGRmNmEyZGEzMzEyMmFjYjgzNTM4ZTZiMjIwODUwMjEyZTU5MTdhZWYuLmRhMzNjM2NjNDBi
MmY2ZDBkMjdmNGY4ZWY2YmY4NjNhNTYwMWRjY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5oCkBAIC0xMTgsNiArMTE4LDEyIEBAIGVudW0gY2xhc3MgTWV0YVZpZXdwb3J0
UG9saWN5IHsKICAgICBJZ25vcmUsCiB9OwogCitlbnVtIGNsYXNzIFNpbXVsYXRlZE1vdXNlRXZl
bnRzRGlzcGF0Y2hQb2xpY3kgeworICAgIERlZmF1bHQsCisgICAgQWxsb3csCisgICAgRGVueSwK
K307CisKIGNsYXNzIERvY3VtZW50TG9hZGVyCiAgICAgOiBwdWJsaWMgUmVmQ291bnRlZDxEb2N1
bWVudExvYWRlcj4KICAgICAsIHB1YmxpYyBGcmFtZURlc3RydWN0aW9uT2JzZXJ2ZXIKQEAgLTI5
Miw2ICsyOTgsOSBAQCBwdWJsaWM6CiAgICAgTWV0YVZpZXdwb3J0UG9saWN5IG1ldGFWaWV3cG9y
dFBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YVZpZXdwb3J0UG9saWN5OyB9CiAgICAgdm9p
ZCBzZXRNZXRhVmlld3BvcnRQb2xpY3koTWV0YVZpZXdwb3J0UG9saWN5IHBvbGljeSkgeyBtX21l
dGFWaWV3cG9ydFBvbGljeSA9IHBvbGljeTsgfQogCisgICAgU2ltdWxhdGVkTW91c2VFdmVudHNE
aXNwYXRjaFBvbGljeSBzaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KCkgY29uc3Qg
eyByZXR1cm4gbV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OyB9CisgICAgdm9p
ZCBzZXRTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KFNpbXVsYXRlZE1vdXNlRXZl
bnRzRGlzcGF0Y2hQb2xpY3kgcG9saWN5KSB7IG1fc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeSA9IHBvbGljeTsgfQorCiAgICAgdm9pZCBhZGRTdWJyZXNvdXJjZUxvYWRlcihSZXNv
dXJjZUxvYWRlciopOwogICAgIHZvaWQgcmVtb3ZlU3VicmVzb3VyY2VMb2FkZXIoTG9hZENvbXBs
ZXRpb25UeXBlLCBSZXNvdXJjZUxvYWRlciopOwogICAgIHZvaWQgYWRkUGx1Z0luU3RyZWFtTG9h
ZGVyKFJlc291cmNlTG9hZGVyJik7CkBAIC01NjksNiArNTc4LDcgQEAgcHJpdmF0ZToKICAgICBP
cHRpb25TZXQ8QXV0b3BsYXlRdWlyaz4gbV9hbGxvd2VkQXV0b3BsYXlRdWlya3M7CiAgICAgUG9w
VXBQb2xpY3kgbV9wb3BVcFBvbGljeSB7IFBvcFVwUG9saWN5OjpEZWZhdWx0IH07CiAgICAgTWV0
YVZpZXdwb3J0UG9saWN5IG1fbWV0YVZpZXdwb3J0UG9saWN5IHsgTWV0YVZpZXdwb3J0UG9saWN5
OjpEZWZhdWx0IH07CisgICAgU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSBtX3Np
bXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgeyBTaW11bGF0ZWRNb3VzZUV2ZW50c0Rp
c3BhdGNoUG9saWN5OjpEZWZhdWx0IH07CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAg
ICAgT3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IG1fc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYTMwNmZh
N2RlYzJhMDE2MmIzNmM2NzUxMWNlMWRjMWM1NWRjMTgyOS4uMzU5OWMyM2I2NGU1N2IyMGYyYTBj
MTQwM2Y2NjlmMDRiZDI3MTE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTc4
MiwxMSArMTc4MiwxMiBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgIGlmICghRXZlbnRU
YXJnZXQ6OmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVyKSwgb3B0
aW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChEb2N1bWVudCogZG9jdW1l
bnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAgYXV0byogZG9jdW1lbnQgPSB0aGlzLT5kb2N1
bWVudCgpOworICAgIGlmIChkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC0+YWRkTGlzdGVu
ZXJUeXBlSWZOZWVkZWQoZXZlbnRUeXBlKTsKICAgICAgICAgaWYgKGV2ZW50TmFtZXMoKS5pc1do
ZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkV2hl
ZWxFdmVudEhhbmRsZXIoKmRvY3VtZW50KTsKLSAgICAgICAgZWxzZSBpZiAoZXZlbnROYW1lcygp
LmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgICAgIGVsc2UgaWYgKGV2
ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZSgqZG9jdW1lbnQsIGV2ZW50VHlwZSkp
CiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKmRvY3VtZW50
KTsKICAgICAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5zdG9yYWdlRXZl
bnQpCiAgICAgICAgICAgICBkaWRBZGRTdG9yYWdlRXZlbnRMaXN0ZW5lcigqdGhpcyk7CkBAIC0x
ODAxLDcgKzE4MDIsNyBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgICAgICBpbmNyZW1l
bnRTY3JvbGxFdmVudExpc3RlbmVyc0NvdW50KCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoSU9TX1RP
VUNIX0VWRU5UUykKLSAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVu
dFR5cGUoZXZlbnRUeXBlKSkKKyAgICBlbHNlIGlmIChkb2N1bWVudCAmJiBldmVudE5hbWVzKCku
aXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoKmRvY3VtZW50LCBldmVudFR5cGUpKQogICAgICAgICAr
K21fdG91Y2hBbmRHZXN0dXJlRXZlbnRMaXN0ZW5lckNvdW50OwogI2VuZGlmCiAjaWYgRU5BQkxF
KElPU19HRVNUVVJFX0VWRU5UUykKQEAgLTIwMDAsMTAgKzIwMDEsMTEgQEAgYm9vbCBET01XaW5k
b3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2
ZW50TGlzdGVuZXIKICAgICBpZiAoIUV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKGV2
ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMuY2FwdHVyZSkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7Cisg
ICAgYXV0byogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOworICAgIGlmIChkb2N1bWVudCkg
ewogICAgICAgICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVudFR5cGUoZXZlbnRUeXBlKSkK
ICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigqZG9jdW1l
bnQpOwotICAgICAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5
cGUoZXZlbnRUeXBlKSkKKyAgICAgICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxh
dGVkRXZlbnRUeXBlKCpkb2N1bWVudCwgZXZlbnRUeXBlKSkKICAgICAgICAgICAgIGRvY3VtZW50
LT5kaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigqZG9jdW1lbnQpOwogICAgIH0KIApAQCAtMjAx
Niw3ICsyMDE4LDcgQEAgYm9vbCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIKICAgICAgICAgZGVjcmVtZW50
U2Nyb2xsRXZlbnRMaXN0ZW5lcnNDb3VudCgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKElPU19UT1VD
SF9FVkVOVFMpCi0gICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRU
eXBlKGV2ZW50VHlwZSkpIHsKKyAgICBlbHNlIGlmIChkb2N1bWVudCAmJiBldmVudE5hbWVzKCku
aXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoKmRvY3VtZW50LCBldmVudFR5cGUpKSB7CiAgICAgICAg
IEFTU0VSVChtX3RvdWNoQW5kR2VzdHVyZUV2ZW50TGlzdGVuZXJDb3VudCA+IDApOwogICAgICAg
ICAtLW1fdG91Y2hBbmRHZXN0dXJlRXZlbnRMaXN0ZW5lckNvdW50OwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UXVpcmtzLmNwcAppbmRleCAxYmYzNWM4ZGY5OTMxMzI4OTVmOTc5NWZkZGI4MjhjNDhlODc1ZTY3
Li44NWNjYjJkNzRmYTZhNDM0ZDdhNjFmZmQyMzAzMzI5YzYwOTkyMGRhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9R
dWlya3MuY3BwCkBAIC0xOTUsOCArMTk1LDM2IEBAIGJvb2wgUXVpcmtzOjppc05ldmVyUmljaGx5
RWRpdGFibGVGb3JUb3VjaEJhcigpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29s
IFF1aXJrczo6c2hvdWxkRGlzcGF0Y2hTaW11bGF0ZU1vdXNlRXZlbnRzKCkgY29uc3QKK2Jvb2wg
UXVpcmtzOjpzaG91bGREaXNwYXRjaFNpbXVsYXRlZE1vdXNlRXZlbnRzKCkgY29uc3QKIHsKKyNp
ZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmICghbmVlZHNRdWlya3MoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgYXV0byogbG9hZGVyID0gbV9kb2N1bWVudC0+bG9hZGVyKCk7
CisgICAgaWYgKCFsb2FkZXIgfHwgbG9hZGVyLT5zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNo
UG9saWN5KCkgIT0gU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6QWxsb3cpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8mIHVybCA9IG1fZG9jdW1lbnQtPnRvcERv
Y3VtZW50KCkudXJsKCk7CisgICAgYXV0byBob3N0ID0gdXJsLmhvc3QoKTsKKworICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiYW1hem9uLmNvbSIpIHx8IGhvc3Qu
ZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLmFtYXpvbi5jb20iKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ3aXgu
Y29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIud2l4LmNvbSIpKQorICAg
ICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2Uo
aG9zdCwgImRlc21vcy5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5k
ZXNtb3MuY29tIikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiZmlnbWEuY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9y
aW5nQVNDSUlDYXNlKCIuZmlnbWEuY29tIikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlm
IChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAidHJlbGxvLmNvbSIpIHx8IGhv
c3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnRyZWxsby5jb20iKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJh
aXJ0YWJsZS5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5haXJ0YWJs
ZS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGhvc3QsICJtYXBzLmdvb2dsZS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ0cmFpbGVy
cy5hcHBsZS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKICAgICByZXR1cm4g
ZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCmluZGV4IDg5MTE4NGI2NGJkOGVlZjY3MWEwYmEx
Mjc5NThmMDg2ZDgyMmI4NmQuLjJkMTJlYTU3YjYzZDYwYzUwNzQ3OGQ5NmVlMDQzYmU0ZjEyMDRm
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9RdWlya3MuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBzaG91bGRBdXRvcGxheUZvckFyYml0cmFyeVVzZXJHZXN0dXJlKCkgY29uc3Q7CiAgICAgYm9v
bCBoYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpIGNvbnN0OwogICAgIGJv
b2wgaGFzV2ViU1FMU3VwcG9ydFF1aXJrKCkgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGREaXNwYXRj
aFNpbXVsYXRlTW91c2VFdmVudHMoKSBjb25zdDsKKyAgICBib29sIHNob3VsZERpc3BhdGNoU2lt
dWxhdGVkTW91c2VFdmVudHMoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNU
b3VjaEJhclVwZGF0ZVN1cHJlc3NlZEZvckhpZGRlbkNvbnRlbnRFZGl0YWJsZSgpIGNvbnN0Owog
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNOZXZlclJpY2hseUVkaXRhYmxlRm9yVG91Y2hCYXIo
KSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2ll
c0RhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAK
aW5kZXggNGFlZmFjYWUwODdmNGExZWM1M2M2OGM5NzBhOWY2ZGNkMDNjMTEyYi4uYzZiMjkwZjNk
MTMwNjk1YTY5NjliMGUyYWI2MDI1NWY2NjVhYzQ3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAgdm9pZCBXZWJzaXRl
UG9saWNpZXNEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzOwog
ICAgIGVuY29kZXIgPDwgY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm07CiAgICAgZW5jb2RlciA8PCBt
ZXRhVmlld3BvcnRQb2xpY3k7CisgICAgZW5jb2RlciA8PCBzaW11bGF0ZWRNb3VzZUV2ZW50c0Rp
c3BhdGNoUG9saWN5OwogfQogCiBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiBXZWJzaXRl
UG9saWNpZXNEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQpAQCAtMTA1LDcgKzEw
NiwxMiBAQCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiBXZWJzaXRlUG9saWNpZXNEYXRh
OjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogICAgIGRlY29kZXIgPj4gbWV0YVZpZXdw
b3J0UG9saWN5OwogICAgIGlmICghbWV0YVZpZXdwb3J0UG9saWN5KQogICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwotICAgIAorCisgICAgT3B0aW9uYWw8V2Vic2l0ZVNpbXVsYXRlZE1vdXNl
RXZlbnRzRGlzcGF0Y2hQb2xpY3k+IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k7
CisgICAgZGVjb2RlciA+PiBzaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OworICAg
IGlmICghc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSkKKyAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKKwogICAgIHJldHVybiB7IHsKICAgICAgICAgV1RGTW92ZSgqY29udGVu
dEJsb2NrZXJzRW5hYmxlZCksCiAgICAgICAgIFdURk1vdmUoKmFsbG93ZWRBdXRvcGxheVF1aXJr
cyksCkBAIC0xMTgsNiArMTI0LDcgQEAgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVzRGF0YT4gV2Vi
c2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikKICAgICAgICAg
V1RGTW92ZSgqY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKSwK
ICAgICAgICAgV1RGTW92ZSgqY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0pLAogICAgICAgICBXVEZN
b3ZlKCptZXRhVmlld3BvcnRQb2xpY3kpLAorICAgICAgICBXVEZNb3ZlKCpzaW11bGF0ZWRNb3Vz
ZUV2ZW50c0Rpc3BhdGNoUG9saWN5KSwKICAgICB9IH07CiB9CiAKQEAgLTE4OSw2ICsxOTYsMTgg
QEAgdm9pZCBXZWJzaXRlUG9saWNpZXNEYXRhOjphcHBseVRvRG9jdW1lbnRMb2FkZXIoV2Vic2l0
ZVBvbGljaWVzRGF0YSYmIHdlYnNpdGVQb2wKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAg
c3dpdGNoICh3ZWJzaXRlUG9saWNpZXMuc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eSkgeworICAgIGNhc2UgV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6
OkRlZmF1bHQ6CisgICAgICAgIGRvY3VtZW50TG9hZGVyLnNldFNpbXVsYXRlZE1vdXNlRXZlbnRz
RGlzcGF0Y2hQb2xpY3koV2ViQ29yZTo6U2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eTo6RGVmYXVsdCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2Vic2l0ZVNpbXVsYXRlZE1v
dXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkFsbG93OgorICAgICAgICBkb2N1bWVudExvYWRlci5z
ZXRTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KFdlYkNvcmU6OlNpbXVsYXRlZE1v
dXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkFsbG93KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6RGVueToKKyAgICAg
ICAgZG9jdW1lbnRMb2FkZXIuc2V0U2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeShX
ZWJDb3JlOjpTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZW55KTsKKyAgICAg
ICAgYnJlYWs7CisgICAgfQorCiAgICAgaWYgKHdlYnNpdGVQb2xpY2llcy53ZWJzaXRlRGF0YVN0
b3JlUGFyYW1ldGVycykgewogICAgICAgICBpZiAoYXV0byogZnJhbWUgPSBkb2N1bWVudExvYWRl
ci5mcmFtZSgpKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogcGFnZSA9IGZyYW1lLT5wYWdlKCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgKaW5kZXggMTkxMWVk
ZDI1NzNiZWU2Nzg4YjcxNGUyYTVjZjE1YTk2YTdlYzJkMC4uM2M1YzgxMWI3YmEyYzdkZWVhOTFj
ODMyMmI2NDcxOTRkMTRlZjk3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vi
c2l0ZVBvbGljaWVzRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xp
Y2llc0RhdGEuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIldlYnNpdGVEYXRhU3RvcmVQ
YXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeS5oIgogI2lu
Y2x1ZGUgIldlYnNpdGVQb3BVcFBvbGljeS5oIgorI2luY2x1ZGUgIldlYnNpdGVTaW11bGF0ZWRN
b3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9IVFRQSGVhZGVy
RmllbGQuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAKQEAgLTU4LDYgKzU5LDcgQEAg
c3RydWN0IFdlYnNpdGVQb2xpY2llc0RhdGEgewogICAgIFN0cmluZyBjdXN0b21KYXZhU2NyaXB0
VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CiAgICAgU3RyaW5nIGN1c3RvbU5hdmlnYXRv
clBsYXRmb3JtOwogICAgIFdlYnNpdGVNZXRhVmlld3BvcnRQb2xpY3kgbWV0YVZpZXdwb3J0UG9s
aWN5IHsgV2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeTo6RGVmYXVsdCB9OworICAgIFdlYnNpdGVT
aW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlz
cGF0Y2hQb2xpY3kgeyBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6
RGVmYXVsdCB9OwogCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAgICAg
c3RhdGljIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IGRlY29kZShJUEM6OkRlY29kZXIm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVTaW11bGF0ZWRNb3Vz
ZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlU2lt
dWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmYzk5NzExZDMz
MjUyMjg1ODQ2MDUyMzBmNDYzMTAzNjU0NTcxODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5o
CkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIGNsYXNzIFdlYnNp
dGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5IHsKKyAgICBEZWZhdWx0LAorICAg
IEFsbG93LAorICAgIERlbnksCit9OworCit9CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0
ZTw+IHN0cnVjdCBFbnVtVHJhaXRzPFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRz
RGlzcGF0Y2hQb2xpY3k+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgIFdl
YktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3ksCisgICAgV2Vi
S2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6RGVmYXVsdCwK
KyAgICBXZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpB
bGxvdywKKyAgICBXZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9s
aWN5OjpEZW55CisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcAppbmRleCBiODk3
NDY5ODYxZmUyZGRhNTE2NzY4MzA3Mzc3ZWU2ZDhkNmI4ZGVmLi4yMDdjMTUxM2I5YjVjZmI5NjFl
ZWVlZWQ3OWYyMTEyNjNmMTg3NWNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcApAQCAtNTYsNiArNTYsNyBAQCBSZWY8V2Vic2l0
ZVBvbGljaWVzPiBXZWJzaXRlUG9saWNpZXM6OmNvcHkoKSBjb25zdAogICAgIHBvbGljaWVzLT5z
ZXRDdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybShtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtKTsKICAg
ICBwb2xpY2llcy0+c2V0UHJlZmVycmVkQ29tcGF0aWJpbGl0eU1vZGUobV9wcmVmZXJyZWRDb21w
YXRpYmlsaXR5TW9kZSk7CiAgICAgcG9saWNpZXMtPnNldE1ldGFWaWV3cG9ydFBvbGljeShtX21l
dGFWaWV3cG9ydFBvbGljeSk7CisgICAgcG9saWNpZXMtPnNldFNpbXVsYXRlZE1vdXNlRXZlbnRz
RGlzcGF0Y2hQb2xpY3kobV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KTsKICAg
ICBWZWN0b3I8V2ViQ29yZTo6SFRUUEhlYWRlckZpZWxkPiBjdXN0b21IZWFkZXJGaWVsZHM7CiAg
ICAgY3VzdG9tSGVhZGVyRmllbGRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9jdXN0b21IZWFk
ZXJGaWVsZHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGZpZWxkIDogbV9jdXN0b21IZWFkZXJG
aWVsZHMpCkBAIC04Nyw2ICs4OCw3IEBAIFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YSBXZWJz
aXRlUG9saWNpZXM6OmRhdGEoKQogICAgICAgICBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRB
c1NpdGVTcGVjaWZpY1F1aXJrcywKICAgICAgICAgbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSwK
ICAgICAgICAgbV9tZXRhVmlld3BvcnRQb2xpY3ksCisgICAgICAgIG1fc2ltdWxhdGVkTW91c2VF
dmVudHNEaXNwYXRjaFBvbGljeSwKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKaW5kZXggMmFjODBlNDQwY2I1OGNjMjIw
YjUyYWFmMDU5NjBlNThmYzAwZDg5NC4uYzIyNWIxZGYxNjM5ZTlmZDgzNjgzOTI1MDUxZGY4OWMw
NjM2ZThjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVQb2xpY2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRl
UG9saWNpZXMuaApAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIldlYnNpdGVBdXRvcGxheVF1
aXJrLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeS5oIgogI2luY2x1ZGUg
IldlYnNpdGVQb3BVcFBvbGljeS5oIgorI2luY2x1ZGUgIldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2
ZW50c0Rpc3BhdGNoUG9saWN5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9IVFRQSGVhZGVyRmllbGQu
aD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpA
QCAtOTAsNiArOTEsOSBAQCBwdWJsaWM6CiAgICAgV2ViS2l0OjpXZWJzaXRlTWV0YVZpZXdwb3J0
UG9saWN5IG1ldGFWaWV3cG9ydFBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YVZpZXdwb3J0
UG9saWN5OyB9CiAgICAgdm9pZCBzZXRNZXRhVmlld3BvcnRQb2xpY3koV2ViS2l0OjpXZWJzaXRl
TWV0YVZpZXdwb3J0UG9saWN5IHBvbGljeSkgeyBtX21ldGFWaWV3cG9ydFBvbGljeSA9IHBvbGlj
eTsgfQogCisgICAgV2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBv
bGljeSBzaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KCkgY29uc3QgeyByZXR1cm4g
bV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OyB9CisgICAgdm9pZCBzZXRTaW11
bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1v
dXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgcG9saWN5KSB7IG1fc2ltdWxhdGVkTW91c2VFdmVudHNE
aXNwYXRjaFBvbGljeSA9IHBvbGljeTsgfQorCiBwcml2YXRlOgogICAgIFdlYnNpdGVQb2xpY2ll
cyhib29sIGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVB
dXRvcGxheVF1aXJrPiwgV2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3ksIFZlY3RvcjxXZWJD
b3JlOjpIVFRQSGVhZGVyRmllbGQ+JiYsIFdlYktpdDo6V2Vic2l0ZVBvcFVwUG9saWN5LCBSZWZQ
dHI8V2Vic2l0ZURhdGFTdG9yZT4mJik7CiAKQEAgLTEwNSw2ICsxMDksNyBAQCBwcml2YXRlOgog
ICAgIFdURjo6U3RyaW5nIG1fY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm07CiAgICAgV2ViS2l0OjpX
ZWJDb21wYXRpYmlsaXR5TW9kZSBtX3ByZWZlcnJlZENvbXBhdGliaWxpdHlNb2RlIHsgV2ViS2l0
OjpXZWJDb21wYXRpYmlsaXR5TW9kZTo6RGVmYXVsdCB9OwogICAgIFdlYktpdDo6V2Vic2l0ZU1l
dGFWaWV3cG9ydFBvbGljeSBtX21ldGFWaWV3cG9ydFBvbGljeSB7IFdlYktpdDo6V2Vic2l0ZU1l
dGFWaWV3cG9ydFBvbGljeTo6RGVmYXVsdCB9OworICAgIFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRl
ZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgbV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNo
UG9saWN5IHsgV2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eTo6RGVmYXVsdCB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlNTMwYjM4Y2FmN2IyZDFl
ZDkyMWM5NDc3ZTNiNzdkMTg5NjMxZDI0Li43YmY3MGFkOTM5N2VlYmY1OWU3OTQ2YjZlYzJhMmI5
NDk5YzRiNjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTExMTEsNiArMTExMSw3IEBACiAJCTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4
MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlDOTFFNTRENENGMDA4Qjc0
ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oICovOyB9OwogCQk2
QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZp
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2
OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5o
ICovOyB9OwogCQk2RUU4NDlDODEzNjhEOTM5MDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRl
TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4
NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzE0OEQyQTkyMjVGNkVB
NTAwNTgyN0QwIC8qIFdlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTQ4RDJBODIy
NUY2RTk1MDA1ODI3RDAgLyogV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xp
Y3kuaCAqLzsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2Vy
TWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MjhF
ODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQaWNrZXJNYWMuaCAqLzsgfTsKIAkJNzVB
OEQyQzgxODdDQ0ZBQjAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzVBOEQyQzQxODdDQ0Y5RjAwQzM5
QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFB1YmxpYywgKTsgfTsgfTsKIAkJNzVBOEQyRDYxODdEMUMwRTAwQzM5QzlFIC8qIFdLV2Vic2l0
ZURhdGFTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3NUE4RDJENDE4N0QxQzAxMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3Jl
SW50ZXJuYWwuaCAqLzsgfTsKQEAgLTM1NzIsNiArMzU3Myw3IEBACiAJCTZCRTk2OUNDMUU1NEUw
NTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RDhBOTFBNTExRjBFRkQxMDBERDAx
RkUgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0g
Y29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHBhdGggPSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5X
ZWJQcm9jZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RUU4NDlDNjEz
NjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBwYXRoID0gbWFjL1dL
SW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTQ4
RDJBODIyNUY2RTk1MDA1ODI3RDAgLyogV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0
Y2hQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vic2l0ZVNpbXVs
YXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzI4RTg2RUYxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlja2VyTWFjLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyOEU4NkYwMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJD
b2xvclBpY2tlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdlYkNvbG9yUGlja2VyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3NUE4
RDJDNDE4N0NDRjlGMDBDMzlDOUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLV2Vic2l0ZURhdGFTdG9yZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtNTIzNSwxMCArNTIzNywxMSBAQAogCQkJCTVDOEREMzgxMUZFNDU1
Q0EwMEYyQTU1NiAvKiBXZWJzaXRlQXV0b3BsYXlRdWlyay5oICovLAogCQkJCTUxMUY3RDNGMUVC
MUJDRUUwMEU0N0I4MyAvKiBXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycy5jcHAgKi8sCiAJCQkJ
NTExRjdENDAxRUIxQkNFRTAwRTQ3QjgzIC8qIFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzLmgg
Ki8sCisJCQkJRjQzMEU5NDEyMjQ3MzJBOTAwNUZFMDUzIC8qIFdlYnNpdGVNZXRhVmlld3BvcnRQ
b2xpY3kuaCAqLywKIAkJCQk1QzNBRUE4RTFGRTFGMURGMDAyMzE4RDMgLyogV2Vic2l0ZVBvbGlj
aWVzRGF0YS5jcHAgKi8sCiAJCQkJNUMxMzAyNEExRkUzNDFBNzAwMEQ5QjMxIC8qIFdlYnNpdGVQ
b2xpY2llc0RhdGEuaCAqLywKLQkJCQlGNDMwRTk0MTIyNDczMkE5MDA1RkUwNTMgLyogV2Vic2l0
ZU1ldGFWaWV3cG9ydFBvbGljeS5oICovLAogCQkJCTBFREU4NTAyMjAwNEU3NDkwMDAzMDU2MCAv
KiBXZWJzaXRlUG9wVXBQb2xpY3kuaCAqLywKKwkJCQk3MTQ4RDJBODIyNUY2RTk1MDA1ODI3RDAg
LyogV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCAqLywKIAkJCQk4
MzYwMzQ5RDFBQ0IzNEQ2MDA2MjY1NDkgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcCAq
LywKIAkJCQk4MzYwMzQ5RTFBQ0IzNEQ2MDA2MjY1NDkgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFj
a2VyLmggKi8sCiAJCQkJQzAzMzdERDcxMjdBNTFCNjAwOEZGNEY0IC8qIFdlYlRvdWNoRXZlbnQu
Y3BwICovLApAQCAtOTcwOSw3ICs5NzEyLDkgQEAKIAkJCQkxQTQ4MzJEMTFBOUJEQzJGMDA4QjRE
RkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNTNDMkFBMUEz
MjU3MzAwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTFGN0Q0MTFFQjFCQ0Y1MDBFNDdCODMgLyogV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMuaCBp
biBIZWFkZXJzICovLAorCQkJCUY0MzBFOTQyMjI0NzMzNUYwMDVGRTA1MyAvKiBXZWJzaXRlTWV0
YVZpZXdwb3J0UG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRURFODUwMzIwMDRFNzVEMDAw
MzA1NjAgLyogV2Vic2l0ZVBvcFVwUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MTQ4RDJB
OTIyNUY2RUE1MDA1ODI3RDAgLyogV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQ
b2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCUMxNDkzODA5MjIzNDcxMDQwMDBDRDcwNyAvKiBX
ZWJTcGVlY2hTeW50aGVzaXNDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNjAzNEEwMUFD
QjM0RDYwMDYyNjU0OSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBNTJDMEY4MUEzOENEQzcwMDE2MTYwQSAvKiBXZWJTdG9yYWdlTmFtZXNwYWNlUHJv
dmlkZXIuaCBpbiBIZWFkZXJzICovLApAQCAtOTgzNCw3ICs5ODM5LDYgQEAKIAkJCQlCQzQwNzVG
ODEyNEZGMDI3MDA2OEYyMEEgLyogV0tEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0E3MDlB
NzFFM0VBMEZEMDBDQTU5NjkgLyogV0tEYXRhRGV0ZWN0b3JUeXBlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMzdBNzA5QTkxRTNFQTQwQzAwQ0E1OTY5IC8qIFdLRGF0YURldGVjdG9yVHlwZXNJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJRjQzMEU5NDIyMjQ3MzM1RjAwNUZFMDUzIC8qIFdl
YnNpdGVNZXRhVmlld3BvcnRQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTJFOTRGQzE2MjAz
NTFBNkQwMDk3NEJBMCAvKiBXS0RhdGVQaWNrZXJWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzc3RUFENDUxN0UyQzUxQTAwMkQxOTNEIC8qIFdLRGVjbGFyYXRpb25TcGVjaWZp
ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzM1OUMwRDIxNTQ3MzlGMDA5RTc5NDggLyogV0tE
ZXByZWNhdGVkLmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367294</attachid>
            <date>2019-04-11 23:10:08 -0700</date>
            <delta_ts>2019-04-11 23:19:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196830-20190412081006.patch</filename>
            <type>text/plain</type>
            <size>28654</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJkYTNkZDFmMjMxZmY2
OTQ4NGUwNWUxZWI4Mzg5MjhkMzFmNzkxNC4uZWY5N2QwYjljNTE4Yjk4MGE0YTRiNmU0NjMwNmY3
Nzg1MTQwMWE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTA0LTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgT3B0IHNvbWUgd2Vic2l0
ZXMgaW50byB0aGUgc2ltdWxhdGVkIG1vdXNlIGV2ZW50cyBkaXNwYXRjaCBxdWlyayB3aGVuIGlu
IG1vZGVybiBjb21wYXRpYmlsaXR5IG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NjgzMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkxMjQz
MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
YWRkIGEgbmV3IHBvbGljeSB0byBkZXRlcm1pbmUgd2hldGhlciBzaW11bGF0ZWQgbW91c2UgZXZl
bnRzIGRpc3BhdGNoIGFyZSBhbGxvd2VkIGFuZCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIg
dGhlCisgICAgICAgIHNpbXVsYXRlZCBtb3VzZSBldmVudHMgZGlzcGF0Y2ggcXVpcmsgY2FuIGJl
IHVzZWQgZm9yIGEgZ2l2ZW4gd2Vic2l0ZS4gV2UgdGhlbiBjaGVjayB0aGUgZG9tYWluIG5hbWUg
Zm9yIHRoZSBjdXJyZW50IHBhZ2UncworICAgICAgICBkb2N1bWVudCB0byBzZWUgaWYgaXQgbWF0
Y2hlcyBzb21lIGtub3duIHdlYnNpdGVzIHRoYXQgcmVxdWlyZSB0aGlzIHF1aXJrLgorCisgICAg
ICAgIFdlIG5lZWRlZCB0byBhZGQgc29tZSBjYWxscyBpbnRvIFF1aXJrczo6c2hvdWxkRGlzcGF0
Y2hTaW11bGF0ZU1vdXNlRXZlbnRzKCkgd2hlcmUgd2UgdXNlZCB0byBvbmx5IGNvbnN1bHQgdGhl
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZQorICAgICAgICBmbGFnIHRvIGVuc3VyZSB3ZSBjb3JyZWN0
bHkgY3JlYXRlZCB0b3VjaCByZWdpb25zIGZvciBzaW11bGF0ZWQgbW91c2UgZXZlbnRzLgorCisg
ICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TmFtZXM6
OmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlIGNvbnN0KTogQWRkIGEgRG9jdW1lbnQmIHBhcmFtZXRl
ciBzaW5jZSB3ZSBuZWVkIHRvIGNvbnN1bHQgdGhhdCBkb2N1bWVudCdzIHF1aXJrcy4KKyAgICAg
ICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjptb3ZlTm9kZVRvTmV3
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5QWRkRXZlbnRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjp0cnlSZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNpbXVsYXRlZE1vdXNl
RXZlbnRzRGlzcGF0Y2hQb2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnNldFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kpOgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6YWRkRXZl
bnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlz
dGVuZXIpOgorICAgICAgICAqIHBhZ2UvUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlF1
aXJrczo6c2hvdWxkRGlzcGF0Y2hTaW11bGF0ZU1vdXNlRXZlbnRzIGNvbnN0KToKKwogMjAxOS0w
NC0xMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBB
dm9pZCBkb2luZyBwb3NpdGlvbmVkIHNjcm9sbGluZyB0cmVlIG5vZGUgd29yayBmb3IgbGF5ZXJz
IG5vdCBpbnNpZGUgb3ZlcmZsb3c6c2Nyb2xsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczYTc5NDkzNzBmNGVkNTUz
YjI2ZWE3Nzk5ZGVkNzE3NGNiNmUxMjEuLjMzZjQ4OWQyZTVkNjRhMzcxZGU2ZjYwMWVmMWI1MDc5
YzAyMjA3MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDQtMTEgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBPcHQgc29tZSB3ZWJzaXRlcyBp
bnRvIHRoZSBzaW11bGF0ZWQgbW91c2UgZXZlbnRzIGRpc3BhdGNoIHF1aXJrIHdoZW4gaW4gbW9k
ZXJuIGNvbXBhdGliaWxpdHkgbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk2ODMwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTEyNDMxMz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhZGQg
YSBuZXcgcG9saWN5IHRvIGRldGVybWluZSB3aGV0aGVyIHNpbXVsYXRlZCBtb3VzZSBldmVudHMg
ZGlzcGF0Y2ggYXJlIGFsbG93ZWQuCisKKyAgICAgICAgKiBTaGFyZWQvV2Vic2l0ZVBvbGljaWVz
RGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmFwcGx5VG9Eb2N1bWVudExvYWRl
cik6CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaDoKKyAgICAgICAgKiBT
aGFyZWQvV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHA6CisgICAgICAgIChBUEk6
OldlYnNpdGVQb2xpY2llczo6Y29weSBjb25zdCk6CisgICAgICAgIChBUEk6OldlYnNpdGVQb2xp
Y2llczo6ZGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMu
aDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0w
NC0xMSAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFVwZGF0ZSAnU2F2ZSBJbWFnZScgdG8gbW9yZSBjbGVhciBpbnN0cnVjdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oCmluZGV4IDkzM2M1ZDc4Nzc3ZGM0YTk1OTRmNTM1YzMyNjJhZjYyNzU4MWZl
MjUuLmQyODY3YjlkMzg0OGZjN2MxN2ZkNDM1MWFkZDc4NmFiMmQwZjc5YTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TmFtZXMuaApAQCAtMjEsNiArMjEsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1
ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVkZSAiVGhyZWFkR2xv
YmFsRGF0YS5oIgogI2luY2x1ZGUgPGFycmF5PgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CkBAIC0z
NjQsNyArMzY2LDcgQEAgcHVibGljOgogICAgIC8vIFdlIHNob3VsZCBjaG9vc2Ugb25lIHRlcm0g
YW5kIHN0aWNrIHRvIGl0LgogICAgIGJvb2wgaXNXaGVlbEV2ZW50VHlwZShjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSkgY29uc3Q7CiAgICAgYm9vbCBpc0dlc3R1cmVFdmVudFR5cGUoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OwotICAgIGJvb2wgaXNUb3VjaFJlbGF0
ZWRFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OworICAgIGJv
b2wgaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSkgY29uc3Q7CiAgICAgYm9vbCBpc1RvdWNoU2Nyb2xsQmxvY2tpbmdF
dmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OwogI2lmIEVOQUJM
RShHQU1FUEFEKQogICAgIGJvb2wgaXNHYW1lcGFkRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlKSBjb25zdDsKQEAgLTM5OSwxNCArNDAxLDE1IEBAIGlubGluZSBib29sIEV2
ZW50TmFtZXM6OmlzVG91Y2hTY3JvbGxCbG9ja2luZ0V2ZW50VHlwZShjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50CiAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSB0b3VjaG1vdmVFdmVudDsKIH0KIAot
aW5saW5lIGJvb2wgRXZlbnROYW1lczo6aXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0CitpbmxpbmUgYm9vbCBFdmVudE5hbWVzOjppc1Rv
dWNoUmVsYXRlZEV2ZW50VHlwZShjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdAogewogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0g
ICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubW91c2VFdmVu
dHNTaW11bGF0aW9uRW5hYmxlZCgpKSB7CisgICAgaWYgKGRvY3VtZW50LnF1aXJrcygpLnNob3Vs
ZERpc3BhdGNoU2ltdWxhdGVkTW91c2VFdmVudHMoKSB8fCBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLm1vdXNlRXZlbnRzU2ltdWxhdGlvbkVuYWJsZWQoKSkgewogICAg
ICAgICBpZiAoZXZlbnRUeXBlID09IG1vdXNlZG93bkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBtb3Vz
ZW1vdmVFdmVudCB8fCBldmVudFR5cGUgPT0gbW91c2V1cEV2ZW50KQogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogI2VuZGlmCisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKICAg
ICByZXR1cm4gZXZlbnRUeXBlID09IHRvdWNoc3RhcnRFdmVudAogICAgICAgICB8fCBldmVudFR5
cGUgPT0gdG91Y2htb3ZlRXZlbnQKICAgICAgICAgfHwgZXZlbnRUeXBlID09IHRvdWNoZW5kRXZl
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcAppbmRleCBmOGNiMjExYTQxMjYxZGZlN2JiMWNiMjJlMjExYzJiMjlk
ODA3ZWMxLi40YWEwMmNmZTMzNjZlMmM3NDNjY2EwNjQyY2JjM2JmYmU1MjlmZmQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuY3BwCkBAIC0yMDU3LDcgKzIwNTcsNyBAQCB2b2lkIE5vZGU6Om1vdmVOb2RlVG9OZXdE
b2N1bWVudChEb2N1bWVudCYgb2xkRG9jdW1lbnQsIERvY3VtZW50JiBuZXdEb2N1bWVudCkKIAog
ICAgICAgICB1bnNpZ25lZCBudW1Ub3VjaEV2ZW50TGlzdGVuZXJzID0gMDsKICNpZiBFTkFCTEUo
VE9VQ0hfRVZFTlRTKQotICAgICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5tb3VzZUV2ZW50c1NpbXVsYXRpb25FbmFibGVkKCkpIHsKKyAgICAgICAgaWYg
KG5ld0RvY3VtZW50LnF1aXJrcygpLnNob3VsZERpc3BhdGNoU2ltdWxhdGVkTW91c2VFdmVudHMo
KSB8fCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1vdXNlRXZlbnRz
U2ltdWxhdGlvbkVuYWJsZWQoKSkgewogICAgICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogZXZl
bnROYW1lcygpLmV4dGVuZGVkVG91Y2hSZWxhdGVkRXZlbnROYW1lcygpKQogICAgICAgICAgICAg
ICAgIG51bVRvdWNoRXZlbnRMaXN0ZW5lcnMgKz0gZXZlbnRMaXN0ZW5lcnMobmFtZSkuc2l6ZSgp
OwogICAgICAgICB9IGVsc2UgewpAQCAtMjExMSw3ICsyMTExLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBldmUKICAgICB0YXJnZXROb2RlLT5kb2N1bWVudCgpLmFkZExpc3RlbmVyVHlwZUlmTmVl
ZGVkKGV2ZW50VHlwZSk7CiAgICAgaWYgKGV2ZW50TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2
ZW50VHlwZSkpCiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuZGlkQWRkV2hlZWxFdmVu
dEhhbmRsZXIoKnRhcmdldE5vZGUpOwotICAgIGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNo
UmVsYXRlZEV2ZW50VHlwZShldmVudFR5cGUpKQorICAgIGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5p
c1RvdWNoUmVsYXRlZEV2ZW50VHlwZSh0YXJnZXROb2RlLT5kb2N1bWVudCgpLCBldmVudFR5cGUp
KQogICAgICAgICB0YXJnZXROb2RlLT5kb2N1bWVudCgpLmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVy
KCp0YXJnZXROb2RlKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0yMTI2LDcgKzIx
MjYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdHJ5QWRkRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJn
ZXROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZQogICAgICAgICB0YXJnZXROb2RlLT5kb2N1
bWVudCgpLmRvbVdpbmRvdygpLT5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgV1RGTW92ZShs
aXN0ZW5lciksIG9wdGlvbnMpOwogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICBpZiAo
ZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgaWYg
KGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZSh0YXJnZXROb2RlLT5kb2N1bWVu
dCgpLCBldmVudFR5cGUpKQogICAgICAgICB0YXJnZXROb2RlLT5kb2N1bWVudCgpLmFkZFRvdWNo
RXZlbnRMaXN0ZW5lcigqdGFyZ2V0Tm9kZSk7CiAjZW5kaWYKICNlbmRpZiAvLyBQTEFURk9STShJ
T1NfRkFNSUxZKQpAQCAtMjE1Myw3ICsyMTUzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHRyeVJl
bW92ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJgog
ICAgIC8vIGxpc3RlbmVycyBmb3IgZWFjaCB0eXBlLCBub3QganVzdCBhIGJvb2wgLSBzZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzODYxCiAgICAgaWYgKGV2ZW50
TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpCiAgICAgICAgIHRhcmdldE5vZGUt
PmRvY3VtZW50KCkuZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKnRhcmdldE5vZGUpOwotICAg
IGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShldmVudFR5cGUp
KQorICAgIGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZSh0YXJn
ZXROb2RlLT5kb2N1bWVudCgpLCBldmVudFR5cGUpKQogICAgICAgICB0YXJnZXROb2RlLT5kb2N1
bWVudCgpLmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKCp0YXJnZXROb2RlKTsKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCkBAIC0yMTY3LDcgKzIxNjcsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9taWNT
dHJpbmcmCiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuZG9tV2luZG93KCktPnJlbW92
ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7CiAKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQotICAgIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVu
dFR5cGUoZXZlbnRUeXBlKSkKKyAgICBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZl
bnRUeXBlKHRhcmdldE5vZGUtPmRvY3VtZW50KCksIGV2ZW50VHlwZSkpCiAgICAgICAgIHRhcmdl
dE5vZGUtPmRvY3VtZW50KCkucmVtb3ZlVG91Y2hFdmVudExpc3RlbmVyKCp0YXJnZXROb2RlKTsK
ICNlbmRpZgogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0yNDYzLDcgKzI0NjMs
NyBAQCB2b2lkIE5vZGU6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQogICAgICAg
ICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKSkKICAgICAgICAgICAg
ICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkuZGVmYXVsdFdoZWVsRXZlbnRIYW5kbGVyKHN0YXJ0
Tm9kZSwgZG93bmNhc3Q8V2hlZWxFdmVudD4oZXZlbnQpKTsKICNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIH0gZWxzZSBpZiAoaXM8VG91Y2hFdmVu
dD4oZXZlbnQpICYmIGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShldmVudFR5
cGUpKSB7CisgICAgfSBlbHNlIGlmIChpczxUb3VjaEV2ZW50PihldmVudCkgJiYgZXZlbnROYW1l
cygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGRvY3VtZW50KCksIGV2ZW50VHlwZSkpIHsKICAg
ICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgICAg
IHdoaWxlIChyZW5kZXJlciAmJiAoIWlzPFJlbmRlckJveD4oKnJlbmRlcmVyKSB8fCAhZG93bmNh
c3Q8UmVuZGVyQm94PigqcmVuZGVyZXIpLmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJl
YSgpKSkKICAgICAgICAgICAgIHJlbmRlcmVyID0gcmVuZGVyZXItPnBhcmVudCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCAyYzA0ZmZlMDVhMGFiM2U0MDM4Yzg1
ZTMyZDhkNmM3OWZjNDMyNDY5Li5jMzg4NGFhMDkxZjE4MzUwZjM0YmJlZGFiNGJhNzA0MmMyMTU1
ZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaApAQCAtMTI0LDYgKzEy
NCwxMiBAQCBlbnVtIGNsYXNzIE1lZGlhU291cmNlUG9saWN5IDogdWludDhfdCB7CiAgICAgRW5h
YmxlCiB9OwogCitlbnVtIGNsYXNzIFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kg
OiB1aW50OF90IHsKKyAgICBEZWZhdWx0LAorICAgIEFsbG93LAorICAgIERlbnksCit9OworCiBj
bGFzcyBEb2N1bWVudExvYWRlcgogICAgIDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRMb2Fk
ZXI+CiAgICAgLCBwdWJsaWMgRnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyCkBAIC0zMDEsNiArMzA3
LDkgQEAgcHVibGljOgogICAgIE1lZGlhU291cmNlUG9saWN5IG1lZGlhU291cmNlUG9saWN5KCkg
Y29uc3QgeyByZXR1cm4gbV9tZWRpYVNvdXJjZVBvbGljeTsgfQogICAgIHZvaWQgc2V0TWVkaWFT
b3VyY2VQb2xpY3koTWVkaWFTb3VyY2VQb2xpY3kgcG9saWN5KSB7IG1fbWVkaWFTb3VyY2VQb2xp
Y3kgPSBwb2xpY3k7IH0KIAorICAgIFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kg
c2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fc2lt
dWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTsgfQorICAgIHZvaWQgc2V0U2ltdWxhdGVk
TW91c2VFdmVudHNEaXNwYXRjaFBvbGljeShTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9s
aWN5IHBvbGljeSkgeyBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgPSBwb2xp
Y3k7IH0KKwogICAgIHZvaWQgYWRkU3VicmVzb3VyY2VMb2FkZXIoUmVzb3VyY2VMb2FkZXIqKTsK
ICAgICB2b2lkIHJlbW92ZVN1YnJlc291cmNlTG9hZGVyKExvYWRDb21wbGV0aW9uVHlwZSwgUmVz
b3VyY2VMb2FkZXIqKTsKICAgICB2b2lkIGFkZFBsdWdJblN0cmVhbUxvYWRlcihSZXNvdXJjZUxv
YWRlciYpOwpAQCAtNTgxLDYgKzU5MCw3IEBAIHByaXZhdGU6CiAgICAgUG9wVXBQb2xpY3kgbV9w
b3BVcFBvbGljeSB7IFBvcFVwUG9saWN5OjpEZWZhdWx0IH07CiAgICAgTWV0YVZpZXdwb3J0UG9s
aWN5IG1fbWV0YVZpZXdwb3J0UG9saWN5IHsgTWV0YVZpZXdwb3J0UG9saWN5OjpEZWZhdWx0IH07
CiAgICAgTWVkaWFTb3VyY2VQb2xpY3kgbV9tZWRpYVNvdXJjZVBvbGljeSB7IE1lZGlhU291cmNl
UG9saWN5OjpEZWZhdWx0IH07CisgICAgU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eSBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgeyBTaW11bGF0ZWRNb3VzZUV2
ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZhdWx0IH07CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCiAgICAgT3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IG1fc2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXgg
YTMwNmZhN2RlYzJhMDE2MmIzNmM2NzUxMWNlMWRjMWM1NWRjMTgyOS4uMzU5OWMyM2I2NGU1N2Iy
MGYyYTBjMTQwM2Y2NjlmMDRiZDI3MTE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApA
QCAtMTc4MiwxMSArMTc4MiwxMiBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgIGlmICgh
RXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVy
KSwgb3B0aW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChEb2N1bWVudCog
ZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAgYXV0byogZG9jdW1lbnQgPSB0aGlz
LT5kb2N1bWVudCgpOworICAgIGlmIChkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC0+YWRk
TGlzdGVuZXJUeXBlSWZOZWVkZWQoZXZlbnRUeXBlKTsKICAgICAgICAgaWYgKGV2ZW50TmFtZXMo
KS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlk
QWRkV2hlZWxFdmVudEhhbmRsZXIoKmRvY3VtZW50KTsKLSAgICAgICAgZWxzZSBpZiAoZXZlbnRO
YW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgICAgIGVsc2Ug
aWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZSgqZG9jdW1lbnQsIGV2ZW50
VHlwZSkpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKmRv
Y3VtZW50KTsKICAgICAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5zdG9y
YWdlRXZlbnQpCiAgICAgICAgICAgICBkaWRBZGRTdG9yYWdlRXZlbnRMaXN0ZW5lcigqdGhpcyk7
CkBAIC0xODAxLDcgKzE4MDIsNyBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgICAgICBp
bmNyZW1lbnRTY3JvbGxFdmVudExpc3RlbmVyc0NvdW50KCk7CiAjZW5kaWYKICNpZiBFTkFCTEUo
SU9TX1RPVUNIX0VWRU5UUykKLSAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0
ZWRFdmVudFR5cGUoZXZlbnRUeXBlKSkKKyAgICBlbHNlIGlmIChkb2N1bWVudCAmJiBldmVudE5h
bWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoKmRvY3VtZW50LCBldmVudFR5cGUpKQogICAg
ICAgICArK21fdG91Y2hBbmRHZXN0dXJlRXZlbnRMaXN0ZW5lckNvdW50OwogI2VuZGlmCiAjaWYg
RU5BQkxFKElPU19HRVNUVVJFX0VWRU5UUykKQEAgLTIwMDAsMTAgKzIwMDEsMTEgQEAgYm9vbCBE
T01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIEV2ZW50TGlzdGVuZXIKICAgICBpZiAoIUV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3Rl
bmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMuY2FwdHVyZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgp
KSB7CisgICAgYXV0byogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOworICAgIGlmIChkb2N1
bWVudCkgewogICAgICAgICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVudFR5cGUoZXZlbnRU
eXBlKSkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigq
ZG9jdW1lbnQpOwotICAgICAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRF
dmVudFR5cGUoZXZlbnRUeXBlKSkKKyAgICAgICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91
Y2hSZWxhdGVkRXZlbnRUeXBlKCpkb2N1bWVudCwgZXZlbnRUeXBlKSkKICAgICAgICAgICAgIGRv
Y3VtZW50LT5kaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigqZG9jdW1lbnQpOwogICAgIH0KIApA
QCAtMjAxNiw3ICsyMDE4LDcgQEAgYm9vbCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIKICAgICAgICAgZGVj
cmVtZW50U2Nyb2xsRXZlbnRMaXN0ZW5lcnNDb3VudCgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKElP
U19UT1VDSF9FVkVOVFMpCi0gICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVk
RXZlbnRUeXBlKGV2ZW50VHlwZSkpIHsKKyAgICBlbHNlIGlmIChkb2N1bWVudCAmJiBldmVudE5h
bWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoKmRvY3VtZW50LCBldmVudFR5cGUpKSB7CiAg
ICAgICAgIEFTU0VSVChtX3RvdWNoQW5kR2VzdHVyZUV2ZW50TGlzdGVuZXJDb3VudCA+IDApOwog
ICAgICAgICAtLW1fdG91Y2hBbmRHZXN0dXJlRXZlbnRMaXN0ZW5lckNvdW50OwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUXVpcmtzLmNwcAppbmRleCAxYmYzNWM4ZGY5OTMxMzI4OTVmOTc5NWZkZGI4MjhjNDhl
ODc1ZTY3Li44NWNjYjJkNzRmYTZhNDM0ZDdhNjFmZmQyMzAzMzI5YzYwOTkyMGRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9RdWlya3MuY3BwCkBAIC0xOTUsOCArMTk1LDM2IEBAIGJvb2wgUXVpcmtzOjppc05ldmVy
UmljaGx5RWRpdGFibGVGb3JUb3VjaEJhcigpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1ib29sIFF1aXJrczo6c2hvdWxkRGlzcGF0Y2hTaW11bGF0ZU1vdXNlRXZlbnRzKCkgY29uc3QK
K2Jvb2wgUXVpcmtzOjpzaG91bGREaXNwYXRjaFNpbXVsYXRlZE1vdXNlRXZlbnRzKCkgY29uc3QK
IHsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmICghbmVlZHNRdWlya3MoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogbG9hZGVyID0gbV9kb2N1bWVudC0+bG9h
ZGVyKCk7CisgICAgaWYgKCFsb2FkZXIgfHwgbG9hZGVyLT5zaW11bGF0ZWRNb3VzZUV2ZW50c0Rp
c3BhdGNoUG9saWN5KCkgIT0gU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6QWxs
b3cpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8mIHVybCA9IG1fZG9jdW1lbnQt
PnRvcERvY3VtZW50KCkudXJsKCk7CisgICAgYXV0byBob3N0ID0gdXJsLmhvc3QoKTsKKworICAg
IGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiYW1hem9uLmNvbSIpIHx8
IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLmFtYXpvbi5jb20iKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3Qs
ICJ3aXguY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIud2l4LmNvbSIp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoaG9zdCwgImRlc21vcy5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNh
c2UoIi5kZXNtb3MuY29tIikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiZmlnbWEuY29tIikgfHwgaG9zdC5lbmRzV2l0
aElnbm9yaW5nQVNDSUlDYXNlKCIuZmlnbWEuY29tIikpCisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAidHJlbGxvLmNvbSIp
IHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnRyZWxsby5jb20iKSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhv
c3QsICJhaXJ0YWJsZS5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5h
aXJ0YWJsZS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJtYXBzLmdvb2dsZS5jb20iKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ0
cmFpbGVycy5hcHBsZS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCmluZGV4IDg5MTE4NGI2NGJkOGVlZjY3
MWEwYmExMjc5NThmMDg2ZDgyMmI4NmQuLjJkMTJlYTU3YjYzZDYwYzUwNzQ3OGQ5NmVlMDQzYmU0
ZjEyMDRmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBzaG91bGRBdXRvcGxheUZvckFyYml0cmFyeVVzZXJHZXN0dXJlKCkgY29uc3Q7CiAg
ICAgYm9vbCBoYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpIGNvbnN0Owog
ICAgIGJvb2wgaGFzV2ViU1FMU3VwcG9ydFF1aXJrKCkgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGRE
aXNwYXRjaFNpbXVsYXRlTW91c2VFdmVudHMoKSBjb25zdDsKKyAgICBib29sIHNob3VsZERpc3Bh
dGNoU2ltdWxhdGVkTW91c2VFdmVudHMoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJv
b2wgaXNUb3VjaEJhclVwZGF0ZVN1cHJlc3NlZEZvckhpZGRlbkNvbnRlbnRFZGl0YWJsZSgpIGNv
bnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNOZXZlclJpY2hseUVkaXRhYmxlRm9yVG91
Y2hCYXIoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQ
b2xpY2llc0RhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0
YS5jcHAKaW5kZXggZjUyMjA1MGRkMjVhNjc5N2VhY2VlNmIxNjdhMmNiYWZjYWUwODczNS4uZWFh
Mjk4MTAxNTQzZDIxYWNjYjgyOTE3NmUxMjNjNmZiMzcwMjcwMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAgdm9pZCBX
ZWJzaXRlUG9saWNpZXNEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAog
ICAgIGVuY29kZXIgPDwgY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm07CiAgICAgZW5jb2RlciA8PCBt
ZXRhVmlld3BvcnRQb2xpY3k7CiAgICAgZW5jb2RlciA8PCBtZWRpYVNvdXJjZVBvbGljeTsKKyAg
ICBlbmNvZGVyIDw8IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k7CiB9CiAKIE9w
dGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJ
UEM6OkRlY29kZXImIGRlY29kZXIpCkBAIC0xMTIsNiArMTEzLDExIEBAIE9wdGlvbmFsPFdlYnNp
dGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIpCiAgICAgaWYgKCFtZWRpYVNvdXJjZVBvbGljeSkKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICAKKyAgICBPcHRpb25hbDxXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVu
dHNEaXNwYXRjaFBvbGljeT4gc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTsKKyAg
ICBkZWNvZGVyID4+IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k7CisgICAgaWYg
KCFzaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCiAgICAgcmV0dXJuIHsgewogICAgICAgICBXVEZNb3ZlKCpjb250ZW50Qmxv
Y2tlcnNFbmFibGVkKSwKICAgICAgICAgV1RGTW92ZSgqYWxsb3dlZEF1dG9wbGF5UXVpcmtzKSwK
QEAgLTEyNSw2ICsxMzEsNyBAQCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiBXZWJzaXRl
UG9saWNpZXNEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogICAgICAgICBXVEZN
b3ZlKCpjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSksCiAgICAgICAgIFdURk1vdmUoKm1ldGFWaWV3
cG9ydFBvbGljeSksCiAgICAgICAgIFdURk1vdmUoKm1lZGlhU291cmNlUG9saWN5KSwKKyAgICAg
ICAgV1RGTW92ZSgqc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSksCiAgICAgfSB9
OwogfQogCkBAIC0yMDgsNiArMjE1LDI1IEBAIHZvaWQgV2Vic2l0ZVBvbGljaWVzRGF0YTo6YXBw
bHlUb0RvY3VtZW50TG9hZGVyKFdlYnNpdGVQb2xpY2llc0RhdGEmJiB3ZWJzaXRlUG9sCiAgICAg
ICAgIGJyZWFrOwogICAgIH0KIAorICAgIHN3aXRjaCAod2Vic2l0ZVBvbGljaWVzLnNpbXVsYXRl
ZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kpIHsKKyAgICBjYXNlIFdlYnNpdGVTaW11bGF0ZWRN
b3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZhdWx0OgorICAgICAgICBkb2N1bWVudExvYWRl
ci5zZXRTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KFdlYkNvcmU6OlNpbXVsYXRl
ZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkRlZmF1bHQpOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFdlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpBbGxvdzoK
KyAgICAgICAgZG9jdW1lbnRMb2FkZXIuc2V0U2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBv
bGljeShXZWJDb3JlOjpTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpBbGxvdyk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlz
cGF0Y2hQb2xpY3k6OkRlbnk6CisgICAgICAgIGRvY3VtZW50TG9hZGVyLnNldFNpbXVsYXRlZE1v
dXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3koV2ViQ29yZTo6U2ltdWxhdGVkTW91c2VFdmVudHNEaXNw
YXRjaFBvbGljeTo6RGVueSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmICh3ZWJz
aXRlUG9saWNpZXMud2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMpIHsKKyAgICAgICAgaWYgKGF1
dG8qIGZyYW1lID0gZG9jdW1lbnRMb2FkZXIuZnJhbWUoKSkgeworICAgICAgICAgICAgaWYgKGF1
dG8qIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKQorICAgICAgICAgICAgICAgIHBhZ2UtPnNldFNlc3Np
b25JRCh3ZWJzaXRlUG9saWNpZXMud2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMtPm5ldHdvcmtT
ZXNzaW9uUGFyYW1ldGVycy5zZXNzaW9uSUQpOworICAgICAgICB9CisgICAgfQorCiAgICAgYXV0
byogZnJhbWUgPSBkb2N1bWVudExvYWRlci5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xp
Y2llc0RhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaApp
bmRleCAzOTg4MWIyOTYyYjQyMjVlMzBjNGI0MjljMGU3NWZjYWI2YzA2M2Y1Li42MTc2NzA2MTdj
YTRlZTE4ZmQ0MTk2NDI3ZjhhZTgxYmFiNzA1ZjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2Vic2l0ZVBvbGljaWVzRGF0YS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiV2Vic2l0
ZU1lZGlhU291cmNlUG9saWN5LmgiCiAjaW5jbHVkZSAiV2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGlj
eS5oIgogI2luY2x1ZGUgIldlYnNpdGVQb3BVcFBvbGljeS5oIgorI2luY2x1ZGUgIldlYnNpdGVT
aW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9I
VFRQSGVhZGVyRmllbGQuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAKQEAgLTYwLDYg
KzYxLDcgQEAgc3RydWN0IFdlYnNpdGVQb2xpY2llc0RhdGEgewogICAgIFN0cmluZyBjdXN0b21O
YXZpZ2F0b3JQbGF0Zm9ybTsKICAgICBXZWJzaXRlTWV0YVZpZXdwb3J0UG9saWN5IG1ldGFWaWV3
cG9ydFBvbGljeSB7IFdlYnNpdGVNZXRhVmlld3BvcnRQb2xpY3k6OkRlZmF1bHQgfTsKICAgICBX
ZWJzaXRlTWVkaWFTb3VyY2VQb2xpY3kgbWVkaWFTb3VyY2VQb2xpY3kgeyBXZWJzaXRlTWVkaWFT
b3VyY2VQb2xpY3k6OkRlZmF1bHQgfTsKKyAgICBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNE
aXNwYXRjaFBvbGljeSBzaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5IHsgV2Vic2l0
ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkRlZmF1bHQgfTsKIAogICAgIHZv
aWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBPcHRpb25hbDxXZWJz
aXRlUG9saWNpZXNEYXRhPiBkZWNvZGUoSVBDOjpEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlz
cGF0Y2hQb2xpY3kuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzg3ZmJhYjM0NmMzYTI1YmQ2NWZmYTRlMWU2ZjZh
NjBlNWIyMDhkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0
ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaApAQCAtMCwwICsxLDUxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKyAgICAKK2VudW0gY2xhc3MgV2Vic2l0ZVNpbXVsYXRlZE1vdXNl
RXZlbnRzRGlzcGF0Y2hQb2xpY3kgOiB1aW50OF90IHsKKyAgICBEZWZhdWx0LAorICAgIEFsbG93
LAorICAgIERlbnksCit9OworCit9CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0
Y2hQb2xpY3k+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgIFdlYktpdDo6
V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3ksCisgICAgV2ViS2l0OjpX
ZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6RGVmYXVsdCwKKyAgICBX
ZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpBbGxvdywK
KyAgICBXZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpE
ZW55CisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcAppbmRleCA0ZDkxMDU4MjFm
ZjEzMDRhOGYyNmY4N2ZjNWQxNzYwNDg5N2FmZWM3Li5mNWNkNDhiZWExZmU4OWUyNDU3ZTI2MWRi
ZDI0YzFjN2Y4YzE0MTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJV2Vic2l0ZVBvbGljaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJV2Vic2l0ZVBvbGljaWVzLmNwcApAQCAtNTYsNiArNTYsNyBAQCBSZWY8V2Vic2l0ZVBvbGlj
aWVzPiBXZWJzaXRlUG9saWNpZXM6OmNvcHkoKSBjb25zdAogICAgIHBvbGljaWVzLT5zZXRDdXN0
b21OYXZpZ2F0b3JQbGF0Zm9ybShtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtKTsKICAgICBwb2xp
Y2llcy0+c2V0UHJlZmVycmVkQ29tcGF0aWJpbGl0eU1vZGUobV9wcmVmZXJyZWRDb21wYXRpYmls
aXR5TW9kZSk7CiAgICAgcG9saWNpZXMtPnNldE1ldGFWaWV3cG9ydFBvbGljeShtX21ldGFWaWV3
cG9ydFBvbGljeSk7CisgICAgcG9saWNpZXMtPnNldFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0
Y2hQb2xpY3kobV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KTsKICAgICBWZWN0
b3I8V2ViQ29yZTo6SFRUUEhlYWRlckZpZWxkPiBjdXN0b21IZWFkZXJGaWVsZHM7CiAgICAgY3Vz
dG9tSGVhZGVyRmllbGRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9jdXN0b21IZWFkZXJGaWVs
ZHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGZpZWxkIDogbV9jdXN0b21IZWFkZXJGaWVsZHMp
CkBAIC04OCw2ICs4OSw3IEBAIFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YSBXZWJzaXRlUG9s
aWNpZXM6OmRhdGEoKQogICAgICAgICBtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtLAogICAgICAg
ICBtX21ldGFWaWV3cG9ydFBvbGljeSwKICAgICAgICAgbV9tZWRpYVNvdXJjZVBvbGljeQorICAg
ICAgICBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3ksCiAgICAgfTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2ll
cy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oCmlu
ZGV4IGJjZDE4ODlmZGEzNTdiMDcxNmIzNmYzN2FkYzdlMzZjZmM4ZTI4MDkuLjE5NmU3ZTE4YzM5
Mjc1NDg1YmM5MWMxNDc3NDg0OGE0MmQxNmQ3MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJXZWJzaXRlTWVkaWFTb3VyY2VQb2xpY3kuaCIKICNpbmNsdWRlICJXZWJzaXRlTWV0YVZp
ZXdwb3J0UG9saWN5LmgiCiAjaW5jbHVkZSAiV2Vic2l0ZVBvcFVwUG9saWN5LmgiCisjaW5jbHVk
ZSAiV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCIKICNpbmNsdWRl
IDxXZWJDb3JlL0hUVFBIZWFkZXJGaWVsZC5oPgogI2luY2x1ZGUgPHd0Zi9PcHRpb25TZXQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC05NCw2ICs5NSw5IEBAIHB1YmxpYzoKICAgICBX
ZWJLaXQ6OldlYnNpdGVNZWRpYVNvdXJjZVBvbGljeSBtZWRpYVNvdXJjZVBvbGljeSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWVkaWFTb3VyY2VQb2xpY3k7IH0KICAgICB2b2lkIHNldE1lZGlhU291cmNl
UG9saWN5KFdlYktpdDo6V2Vic2l0ZU1lZGlhU291cmNlUG9saWN5IHBvbGljeSkgeyBtX21lZGlh
U291cmNlUG9saWN5ID0gcG9saWN5OyB9CiAKKyAgICBXZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRN
b3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xp
Y3koKSBjb25zdCB7IHJldHVybiBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k7
IH0KKyAgICB2b2lkIHNldFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3koV2ViS2l0
OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSBwb2xpY3kpIHsgbV9z
aW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5ID0gcG9saWN5OyB9CisKIHByaXZhdGU6
CiAgICAgV2Vic2l0ZVBvbGljaWVzKGJvb2wgY29udGVudEJsb2NrZXJzRW5hYmxlZCwgT3B0aW9u
U2V0PFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UXVpcms+LCBXZWJLaXQ6OldlYnNpdGVBdXRvcGxh
eVBvbGljeSwgVmVjdG9yPFdlYkNvcmU6OkhUVFBIZWFkZXJGaWVsZD4mJiwgV2ViS2l0OjpXZWJz
aXRlUG9wVXBQb2xpY3ksIFJlZlB0cjxXZWJzaXRlRGF0YVN0b3JlPiYmKTsKIApAQCAtMTEwLDYg
KzExNCw3IEBAIHByaXZhdGU6CiAgICAgV2ViS2l0OjpXZWJDb21wYXRpYmlsaXR5TW9kZSBtX3By
ZWZlcnJlZENvbXBhdGliaWxpdHlNb2RlIHsgV2ViS2l0OjpXZWJDb21wYXRpYmlsaXR5TW9kZTo6
RGVmYXVsdCB9OwogICAgIFdlYktpdDo6V2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeSBtX21ldGFW
aWV3cG9ydFBvbGljeSB7IFdlYktpdDo6V2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeTo6RGVmYXVs
dCB9OwogICAgIFdlYktpdDo6V2Vic2l0ZU1lZGlhU291cmNlUG9saWN5IG1fbWVkaWFTb3VyY2VQ
b2xpY3kgeyBXZWJLaXQ6OldlYnNpdGVNZWRpYVNvdXJjZVBvbGljeTo6RGVmYXVsdCB9OworICAg
IFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgbV9zaW11
bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5IHsgV2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVk
TW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6RGVmYXVsdCB9OwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgQVBJCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA3MmFhNDU1NTM4ZjJkMTY1YTEyZmFlZWRiZGFiMGFkZTdlNDJkMTRjLi5hY2M4MjRl
OGUzYjU0MTNmNDExY2FiMDIxODIwYjUwYzMyZTZmZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTExMTEsNiArMTExMSw3IEBACiAJ
CTZCRTk2OUNCMUU1NEQ0Q0YwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3Np
ZmllckNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA2QkU5NjlDOTFFNTRENENGMDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNz
aWZpZXJDb2NvYS5oICovOyB9OwogCQk2QkU5NjlDRDFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oICovOyB9OwogCQk2RUU4NDlDODEzNjhEOTM5MDAzOEQ0
ODEgLyogV0tJbnNwZWN0b3JQcml2YXRlTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0
b3JQcml2YXRlTWFjLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNzFGQjgxMEIyMjYwNjI3RTAwMzIzNjc3IC8qIFdlYnNpdGVTaW11bGF0ZWRNb3Vz
ZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MUZCODEwQTIyNjA2MjdBMDAzMjM2NzcgLyogV2Vic2l0ZVNpbXVsYXRl
ZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCAqLzsgfTsKIAkJNzI4RTg2RjExNzk1MTg4QzAw
ODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3MjhFODZFRjE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29sb3JQ
aWNrZXJNYWMuaCAqLzsgfTsKIAkJNzVBOEQyQzgxODdDQ0ZBQjAwQzM5QzlFIC8qIFdLV2Vic2l0
ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzVBOEQyQzQxODdDQ0Y5RjAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1YmxpYywgKTsgfTsgfTsKIAkJNzVBOEQyRDYxODdE
MUMwRTAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3NUE4RDJENDE4N0QxQzAxMDBDMzlD
OUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlSW50ZXJuYWwuaCAqLzsgfTsKQEAgLTM1NzMsNiArMzU3
NCw3IEBACiAJCTZCRTk2OUNDMUU1NEUwNTQwMDhCNzQ4MyAvKiBSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzQ2xhc3NpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2RDhBOTFBNTExRjBFRkQxMDBERDAxRkUgLyogY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW4g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gY29tLmFwcGxlLldlYlByb2Nlc3Muc2IuaW47IHBhdGgg
PSBXZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2RUU4NDlDNjEzNjhEOTJEMDAzOEQ0ODEgLyogV0tJbnNwZWN0b3JQcml2
YXRlTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLSW5zcGVjdG9yUHJp
dmF0ZU1hYy5oOyBwYXRoID0gbWFjL1dLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk3MUZCODEwQTIyNjA2MjdBMDAzMjM2NzcgLyogV2Vic2l0ZVNp
bXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzI4RTg2RUYxNzk1MTg4QzAwODc4NzlFIC8q
IFdlYkNvbG9yUGlja2VyTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YkNvbG9yUGlja2VyTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyOEU4NkYw
MTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvbG9yUGlja2VyTWFjLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3NUE4RDJDNDE4N0NDRjlGMDBDMzlDOUUgLyogV0tXZWJzaXRl
RGF0YVN0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLV2Vic2l0ZURh
dGFTdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTI0Miw2ICs1MjQ0LDcg
QEAKIAkJCQk1QzNBRUE4RTFGRTFGMURGMDAyMzE4RDMgLyogV2Vic2l0ZVBvbGljaWVzRGF0YS5j
cHAgKi8sCiAJCQkJNUMxMzAyNEExRkUzNDFBNzAwMEQ5QjMxIC8qIFdlYnNpdGVQb2xpY2llc0Rh
dGEuaCAqLywKIAkJCQkwRURFODUwMjIwMDRFNzQ5MDAwMzA1NjAgLyogV2Vic2l0ZVBvcFVwUG9s
aWN5LmggKi8sCisJCQkJNzFGQjgxMEEyMjYwNjI3QTAwMzIzNjc3IC8qIFdlYnNpdGVTaW11bGF0
ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmggKi8sCiAJCQkJODM2MDM0OUQxQUNCMzRENjAw
NjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAgKi8sCiAJCQkJODM2MDM0OUUx
QUNCMzRENjAwNjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oICovLAogCQkJCUMw
MzM3REQ3MTI3QTUxQjYwMDhGRjRGNCAvKiBXZWJUb3VjaEV2ZW50LmNwcCAqLywKQEAgLTk3MTUs
NiArOTcxOCw3IEBACiAJCQkJRjRDQjA5RTUyMjVENUEwOTAwODkxNDg3IC8qIFdlYnNpdGVNZWRp
YVNvdXJjZVBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjQzMEU5NDIyMjQ3MzM1RjAwNUZF
MDUzIC8qIFdlYnNpdGVNZXRhVmlld3BvcnRQb2xpY3kuaCBpbiBIZWFkZXJzICovLAogCQkJCTBF
REU4NTAzMjAwNEU3NUQwMDAzMDU2MCAvKiBXZWJzaXRlUG9wVXBQb2xpY3kuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTcxRkI4MTBCMjI2MDYyN0UwMDMyMzY3NyAvKiBXZWJzaXRlU2ltdWxhdGVkTW91
c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzE0OTM4MDkyMjM0
NzEwNDAwMENENzA3IC8qIFdlYlNwZWVjaFN5bnRoZXNpc0NsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODM2MDM0QTAxQUNCMzRENjAwNjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1MkMwRjgxQTM4Q0RDNzAwMTYxNjBBIC8qIFdlYlN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>367296</attachid>
            <date>2019-04-11 23:19:47 -0700</date>
            <delta_ts>2019-04-12 08:30:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196830-20190412081946.patch</filename>
            <type>text/plain</type>
            <size>28742</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0MjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTJkYTNkZDFmMjMxZmY2
OTQ4NGUwNWUxZWI4Mzg5MjhkMzFmNzkxNC4uZWY5N2QwYjljNTE4Yjk4MGE0YTRiNmU0NjMwNmY3
Nzg1MTQwMWE0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE5LTA0LTExICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgT3B0IHNvbWUgd2Vic2l0
ZXMgaW50byB0aGUgc2ltdWxhdGVkIG1vdXNlIGV2ZW50cyBkaXNwYXRjaCBxdWlyayB3aGVuIGlu
IG1vZGVybiBjb21wYXRpYmlsaXR5IG1vZGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5NjgzMAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkxMjQz
MTM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ug
YWRkIGEgbmV3IHBvbGljeSB0byBkZXRlcm1pbmUgd2hldGhlciBzaW11bGF0ZWQgbW91c2UgZXZl
bnRzIGRpc3BhdGNoIGFyZSBhbGxvd2VkIGFuZCB1c2UgaXQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIg
dGhlCisgICAgICAgIHNpbXVsYXRlZCBtb3VzZSBldmVudHMgZGlzcGF0Y2ggcXVpcmsgY2FuIGJl
IHVzZWQgZm9yIGEgZ2l2ZW4gd2Vic2l0ZS4gV2UgdGhlbiBjaGVjayB0aGUgZG9tYWluIG5hbWUg
Zm9yIHRoZSBjdXJyZW50IHBhZ2UncworICAgICAgICBkb2N1bWVudCB0byBzZWUgaWYgaXQgbWF0
Y2hlcyBzb21lIGtub3duIHdlYnNpdGVzIHRoYXQgcmVxdWlyZSB0aGlzIHF1aXJrLgorCisgICAg
ICAgIFdlIG5lZWRlZCB0byBhZGQgc29tZSBjYWxscyBpbnRvIFF1aXJrczo6c2hvdWxkRGlzcGF0
Y2hTaW11bGF0ZU1vdXNlRXZlbnRzKCkgd2hlcmUgd2UgdXNlZCB0byBvbmx5IGNvbnN1bHQgdGhl
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZQorICAgICAgICBmbGFnIHRvIGVuc3VyZSB3ZSBjb3JyZWN0
bHkgY3JlYXRlZCB0b3VjaCByZWdpb25zIGZvciBzaW11bGF0ZWQgbW91c2UgZXZlbnRzLgorCisg
ICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TmFtZXM6
OmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlIGNvbnN0KTogQWRkIGEgRG9jdW1lbnQmIHBhcmFtZXRl
ciBzaW5jZSB3ZSBuZWVkIHRvIGNvbnN1bHQgdGhhdCBkb2N1bWVudCdzIHF1aXJrcy4KKyAgICAg
ICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjptb3ZlTm9kZVRvTmV3
RG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5QWRkRXZlbnRMaXN0ZW5lcik6CisgICAg
ICAgIChXZWJDb3JlOjp0cnlSZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmRlZmF1bHRFdmVudEhhbmRsZXIpOgorICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExv
YWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnNpbXVsYXRlZE1vdXNl
RXZlbnRzRGlzcGF0Y2hQb2xpY3kgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnNldFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kpOgorICAgICAgICAq
IHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6YWRkRXZl
bnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3JlOjpET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlz
dGVuZXIpOgorICAgICAgICAqIHBhZ2UvUXVpcmtzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlF1
aXJrczo6c2hvdWxkRGlzcGF0Y2hTaW11bGF0ZU1vdXNlRXZlbnRzIGNvbnN0KToKKwogMjAxOS0w
NC0xMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBB
dm9pZCBkb2luZyBwb3NpdGlvbmVkIHNjcm9sbGluZyB0cmVlIG5vZGUgd29yayBmb3IgbGF5ZXJz
IG5vdCBpbnNpZGUgb3ZlcmZsb3c6c2Nyb2xsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDczYTc5NDkzNzBmNGVkNTUz
YjI2ZWE3Nzk5ZGVkNzE3NGNiNmUxMjEuLjMzZjQ4OWQyZTVkNjRhMzcxZGU2ZjYwMWVmMWI1MDc5
YzAyMjA3MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTktMDQtMTEgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBPcHQgc29tZSB3ZWJzaXRlcyBp
bnRvIHRoZSBzaW11bGF0ZWQgbW91c2UgZXZlbnRzIGRpc3BhdGNoIHF1aXJrIHdoZW4gaW4gbW9k
ZXJuIGNvbXBhdGliaWxpdHkgbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTk2ODMwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80OTEyNDMxMz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhZGQg
YSBuZXcgcG9saWN5IHRvIGRldGVybWluZSB3aGV0aGVyIHNpbXVsYXRlZCBtb3VzZSBldmVudHMg
ZGlzcGF0Y2ggYXJlIGFsbG93ZWQuCisKKyAgICAgICAgKiBTaGFyZWQvV2Vic2l0ZVBvbGljaWVz
RGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmVuY29kZSBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmFwcGx5VG9Eb2N1bWVudExvYWRl
cik6CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaDoKKyAgICAgICAgKiBT
aGFyZWQvV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHA6CisgICAgICAgIChBUEk6
OldlYnNpdGVQb2xpY2llczo6Y29weSBjb25zdCk6CisgICAgICAgIChBUEk6OldlYnNpdGVQb2xp
Y2llczo6ZGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMu
aDoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxOS0w
NC0xMSAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAgICAg
IFVwZGF0ZSAnU2F2ZSBJbWFnZScgdG8gbW9yZSBjbGVhciBpbnN0cnVjdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oCmluZGV4IDkzM2M1ZDc4Nzc3ZGM0YTk1OTRmNTM1YzMyNjJhZjYyNzU4MWZl
MjUuLmQyODY3YjlkMzg0OGZjN2MxN2ZkNDM1MWFkZDc4NmFiMmQwZjc5YTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TmFtZXMuaApAQCAtMjEsNiArMjEsOCBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1
ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUXVpcmtzLmgiCiAjaW5jbHVkZSAiVGhyZWFkR2xv
YmFsRGF0YS5oIgogI2luY2x1ZGUgPGFycmF5PgogI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CkBAIC0z
NjQsNyArMzY2LDcgQEAgcHVibGljOgogICAgIC8vIFdlIHNob3VsZCBjaG9vc2Ugb25lIHRlcm0g
YW5kIHN0aWNrIHRvIGl0LgogICAgIGJvb2wgaXNXaGVlbEV2ZW50VHlwZShjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSkgY29uc3Q7CiAgICAgYm9vbCBpc0dlc3R1cmVFdmVudFR5cGUoY29u
c3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OwotICAgIGJvb2wgaXNUb3VjaFJlbGF0
ZWRFdmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OworICAgIGJv
b2wgaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSkgY29uc3Q7CiAgICAgYm9vbCBpc1RvdWNoU2Nyb2xsQmxvY2tpbmdF
dmVudFR5cGUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0OwogI2lmIEVOQUJM
RShHQU1FUEFEKQogICAgIGJvb2wgaXNHYW1lcGFkRXZlbnRUeXBlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlKSBjb25zdDsKQEAgLTM5OSwxNCArNDAxLDE1IEBAIGlubGluZSBib29sIEV2
ZW50TmFtZXM6OmlzVG91Y2hTY3JvbGxCbG9ja2luZ0V2ZW50VHlwZShjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50CiAgICAgICAgIHx8IGV2ZW50VHlwZSA9PSB0b3VjaG1vdmVFdmVudDsKIH0KIAot
aW5saW5lIGJvb2wgRXZlbnROYW1lczo6aXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoY29uc3QgQXRv
bWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0CitpbmxpbmUgYm9vbCBFdmVudE5hbWVzOjppc1Rv
dWNoUmVsYXRlZEV2ZW50VHlwZShjb25zdCBEb2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IEF0b21p
Y1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdAogewogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCi0g
ICAgaWYgKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkubW91c2VFdmVu
dHNTaW11bGF0aW9uRW5hYmxlZCgpKSB7CisgICAgaWYgKGRvY3VtZW50LnF1aXJrcygpLnNob3Vs
ZERpc3BhdGNoU2ltdWxhdGVkTW91c2VFdmVudHMoKSB8fCBSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLm1vdXNlRXZlbnRzU2ltdWxhdGlvbkVuYWJsZWQoKSkgewogICAg
ICAgICBpZiAoZXZlbnRUeXBlID09IG1vdXNlZG93bkV2ZW50IHx8IGV2ZW50VHlwZSA9PSBtb3Vz
ZW1vdmVFdmVudCB8fCBldmVudFR5cGUgPT0gbW91c2V1cEV2ZW50KQogICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgfQogI2VuZGlmCisgICAgVU5VU0VEX1BBUkFNKGRvY3VtZW50KTsKICAg
ICByZXR1cm4gZXZlbnRUeXBlID09IHRvdWNoc3RhcnRFdmVudAogICAgICAgICB8fCBldmVudFR5
cGUgPT0gdG91Y2htb3ZlRXZlbnQKICAgICAgICAgfHwgZXZlbnRUeXBlID09IHRvdWNoZW5kRXZl
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcAppbmRleCBmOGNiMjExYTQxMjYxZGZlN2JiMWNiMjJlMjExYzJiMjlk
ODA3ZWMxLi40YWEwMmNmZTMzNjZlMmM3NDNjY2EwNjQyY2JjM2JmYmU1MjlmZmQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGUuY3BwCkBAIC0yMDU3LDcgKzIwNTcsNyBAQCB2b2lkIE5vZGU6Om1vdmVOb2RlVG9OZXdE
b2N1bWVudChEb2N1bWVudCYgb2xkRG9jdW1lbnQsIERvY3VtZW50JiBuZXdEb2N1bWVudCkKIAog
ICAgICAgICB1bnNpZ25lZCBudW1Ub3VjaEV2ZW50TGlzdGVuZXJzID0gMDsKICNpZiBFTkFCTEUo
VE9VQ0hfRVZFTlRTKQotICAgICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVk
RmVhdHVyZXMoKS5tb3VzZUV2ZW50c1NpbXVsYXRpb25FbmFibGVkKCkpIHsKKyAgICAgICAgaWYg
KG5ld0RvY3VtZW50LnF1aXJrcygpLnNob3VsZERpc3BhdGNoU2ltdWxhdGVkTW91c2VFdmVudHMo
KSB8fCBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLm1vdXNlRXZlbnRz
U2ltdWxhdGlvbkVuYWJsZWQoKSkgewogICAgICAgICAgICAgZm9yIChhdXRvJiBuYW1lIDogZXZl
bnROYW1lcygpLmV4dGVuZGVkVG91Y2hSZWxhdGVkRXZlbnROYW1lcygpKQogICAgICAgICAgICAg
ICAgIG51bVRvdWNoRXZlbnRMaXN0ZW5lcnMgKz0gZXZlbnRMaXN0ZW5lcnMobmFtZSkuc2l6ZSgp
OwogICAgICAgICB9IGVsc2UgewpAQCAtMjExMSw3ICsyMTExLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHRyeUFkZEV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3Ry
aW5nJiBldmUKICAgICB0YXJnZXROb2RlLT5kb2N1bWVudCgpLmFkZExpc3RlbmVyVHlwZUlmTmVl
ZGVkKGV2ZW50VHlwZSk7CiAgICAgaWYgKGV2ZW50TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2
ZW50VHlwZSkpCiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuZGlkQWRkV2hlZWxFdmVu
dEhhbmRsZXIoKnRhcmdldE5vZGUpOwotICAgIGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNo
UmVsYXRlZEV2ZW50VHlwZShldmVudFR5cGUpKQorICAgIGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5p
c1RvdWNoUmVsYXRlZEV2ZW50VHlwZSh0YXJnZXROb2RlLT5kb2N1bWVudCgpLCBldmVudFR5cGUp
KQogICAgICAgICB0YXJnZXROb2RlLT5kb2N1bWVudCgpLmRpZEFkZFRvdWNoRXZlbnRIYW5kbGVy
KCp0YXJnZXROb2RlKTsKIAogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0yMTI2LDcgKzIx
MjYsNyBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdHJ5QWRkRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJn
ZXROb2RlLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZQogICAgICAgICB0YXJnZXROb2RlLT5kb2N1
bWVudCgpLmRvbVdpbmRvdygpLT5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgV1RGTW92ZShs
aXN0ZW5lciksIG9wdGlvbnMpOwogCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKLSAgICBpZiAo
ZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgaWYg
KGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZSh0YXJnZXROb2RlLT5kb2N1bWVu
dCgpLCBldmVudFR5cGUpKQogICAgICAgICB0YXJnZXROb2RlLT5kb2N1bWVudCgpLmFkZFRvdWNo
RXZlbnRMaXN0ZW5lcigqdGFyZ2V0Tm9kZSk7CiAjZW5kaWYKICNlbmRpZiAvLyBQTEFURk9STShJ
T1NfRkFNSUxZKQpAQCAtMjE1Myw3ICsyMTUzLDcgQEAgc3RhdGljIGlubGluZSBib29sIHRyeVJl
bW92ZUV2ZW50TGlzdGVuZXIoTm9kZSogdGFyZ2V0Tm9kZSwgY29uc3QgQXRvbWljU3RyaW5nJgog
ICAgIC8vIGxpc3RlbmVycyBmb3IgZWFjaCB0eXBlLCBub3QganVzdCBhIGJvb2wgLSBzZWUgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzODYxCiAgICAgaWYgKGV2ZW50
TmFtZXMoKS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpCiAgICAgICAgIHRhcmdldE5vZGUt
PmRvY3VtZW50KCkuZGlkUmVtb3ZlV2hlZWxFdmVudEhhbmRsZXIoKnRhcmdldE5vZGUpOwotICAg
IGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShldmVudFR5cGUp
KQorICAgIGVsc2UgaWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZSh0YXJn
ZXROb2RlLT5kb2N1bWVudCgpLCBldmVudFR5cGUpKQogICAgICAgICB0YXJnZXROb2RlLT5kb2N1
bWVudCgpLmRpZFJlbW92ZVRvdWNoRXZlbnRIYW5kbGVyKCp0YXJnZXROb2RlKTsKIAogI2lmIFBM
QVRGT1JNKElPU19GQU1JTFkpCkBAIC0yMTY3LDcgKzIxNjcsNyBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgdHJ5UmVtb3ZlRXZlbnRMaXN0ZW5lcihOb2RlKiB0YXJnZXROb2RlLCBjb25zdCBBdG9taWNT
dHJpbmcmCiAgICAgICAgIHRhcmdldE5vZGUtPmRvY3VtZW50KCkuZG9tV2luZG93KCktPnJlbW92
ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7CiAKICNpZiBFTkFC
TEUoVE9VQ0hfRVZFTlRTKQotICAgIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVu
dFR5cGUoZXZlbnRUeXBlKSkKKyAgICBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVkRXZl
bnRUeXBlKHRhcmdldE5vZGUtPmRvY3VtZW50KCksIGV2ZW50VHlwZSkpCiAgICAgICAgIHRhcmdl
dE5vZGUtPmRvY3VtZW50KCkucmVtb3ZlVG91Y2hFdmVudExpc3RlbmVyKCp0YXJnZXROb2RlKTsK
ICNlbmRpZgogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0yNDYzLDcgKzI0NjMs
NyBAQCB2b2lkIE5vZGU6OmRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQmIGV2ZW50KQogICAgICAg
ICAgICAgaWYgKEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCkuZnJhbWUoKSkKICAgICAgICAgICAg
ICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkuZGVmYXVsdFdoZWVsRXZlbnRIYW5kbGVyKHN0YXJ0
Tm9kZSwgZG93bmNhc3Q8V2hlZWxFdmVudD4oZXZlbnQpKTsKICNpZiBFTkFCTEUoVE9VQ0hfRVZF
TlRTKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQotICAgIH0gZWxzZSBpZiAoaXM8VG91Y2hFdmVu
dD4oZXZlbnQpICYmIGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZShldmVudFR5
cGUpKSB7CisgICAgfSBlbHNlIGlmIChpczxUb3VjaEV2ZW50PihldmVudCkgJiYgZXZlbnROYW1l
cygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGRvY3VtZW50KCksIGV2ZW50VHlwZSkpIHsKICAg
ICAgICAgUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgICAg
IHdoaWxlIChyZW5kZXJlciAmJiAoIWlzPFJlbmRlckJveD4oKnJlbmRlcmVyKSB8fCAhZG93bmNh
c3Q8UmVuZGVyQm94PigqcmVuZGVyZXIpLmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJl
YSgpKSkKICAgICAgICAgICAgIHJlbmRlcmVyID0gcmVuZGVyZXItPnBhcmVudCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCAyYzA0ZmZlMDVhMGFiM2U0MDM4Yzg1
ZTMyZDhkNmM3OWZjNDMyNDY5Li5jMzg4NGFhMDkxZjE4MzUwZjM0YmJlZGFiNGJhNzA0MmMyMTU1
ZWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaApAQCAtMTI0LDYgKzEy
NCwxMiBAQCBlbnVtIGNsYXNzIE1lZGlhU291cmNlUG9saWN5IDogdWludDhfdCB7CiAgICAgRW5h
YmxlCiB9OwogCitlbnVtIGNsYXNzIFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kg
OiB1aW50OF90IHsKKyAgICBEZWZhdWx0LAorICAgIEFsbG93LAorICAgIERlbnksCit9OworCiBj
bGFzcyBEb2N1bWVudExvYWRlcgogICAgIDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRMb2Fk
ZXI+CiAgICAgLCBwdWJsaWMgRnJhbWVEZXN0cnVjdGlvbk9ic2VydmVyCkBAIC0zMDEsNiArMzA3
LDkgQEAgcHVibGljOgogICAgIE1lZGlhU291cmNlUG9saWN5IG1lZGlhU291cmNlUG9saWN5KCkg
Y29uc3QgeyByZXR1cm4gbV9tZWRpYVNvdXJjZVBvbGljeTsgfQogICAgIHZvaWQgc2V0TWVkaWFT
b3VyY2VQb2xpY3koTWVkaWFTb3VyY2VQb2xpY3kgcG9saWN5KSB7IG1fbWVkaWFTb3VyY2VQb2xp
Y3kgPSBwb2xpY3k7IH0KIAorICAgIFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kg
c2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fc2lt
dWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTsgfQorICAgIHZvaWQgc2V0U2ltdWxhdGVk
TW91c2VFdmVudHNEaXNwYXRjaFBvbGljeShTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9s
aWN5IHBvbGljeSkgeyBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgPSBwb2xp
Y3k7IH0KKwogICAgIHZvaWQgYWRkU3VicmVzb3VyY2VMb2FkZXIoUmVzb3VyY2VMb2FkZXIqKTsK
ICAgICB2b2lkIHJlbW92ZVN1YnJlc291cmNlTG9hZGVyKExvYWRDb21wbGV0aW9uVHlwZSwgUmVz
b3VyY2VMb2FkZXIqKTsKICAgICB2b2lkIGFkZFBsdWdJblN0cmVhbUxvYWRlcihSZXNvdXJjZUxv
YWRlciYpOwpAQCAtNTgxLDYgKzU5MCw3IEBAIHByaXZhdGU6CiAgICAgUG9wVXBQb2xpY3kgbV9w
b3BVcFBvbGljeSB7IFBvcFVwUG9saWN5OjpEZWZhdWx0IH07CiAgICAgTWV0YVZpZXdwb3J0UG9s
aWN5IG1fbWV0YVZpZXdwb3J0UG9saWN5IHsgTWV0YVZpZXdwb3J0UG9saWN5OjpEZWZhdWx0IH07
CiAgICAgTWVkaWFTb3VyY2VQb2xpY3kgbV9tZWRpYVNvdXJjZVBvbGljeSB7IE1lZGlhU291cmNl
UG9saWN5OjpEZWZhdWx0IH07CisgICAgU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eSBtX3NpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kgeyBTaW11bGF0ZWRNb3VzZUV2
ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZhdWx0IH07CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCiAgICAgT3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+IG1fc2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXgg
YTMwNmZhN2RlYzJhMDE2MmIzNmM2NzUxMWNlMWRjMWM1NWRjMTgyOS4uMzU5OWMyM2I2NGU1N2Iy
MGYyYTBjMTQwM2Y2NjlmMDRiZDI3MTE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApA
QCAtMTc4MiwxMSArMTc4MiwxMiBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgIGlmICgh
RXZlbnRUYXJnZXQ6OmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBXVEZNb3ZlKGxpc3RlbmVy
KSwgb3B0aW9ucykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmIChEb2N1bWVudCog
ZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpKSB7CisgICAgYXV0byogZG9jdW1lbnQgPSB0aGlz
LT5kb2N1bWVudCgpOworICAgIGlmIChkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC0+YWRk
TGlzdGVuZXJUeXBlSWZOZWVkZWQoZXZlbnRUeXBlKTsKICAgICAgICAgaWYgKGV2ZW50TmFtZXMo
KS5pc1doZWVsRXZlbnRUeXBlKGV2ZW50VHlwZSkpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlk
QWRkV2hlZWxFdmVudEhhbmRsZXIoKmRvY3VtZW50KTsKLSAgICAgICAgZWxzZSBpZiAoZXZlbnRO
YW1lcygpLmlzVG91Y2hSZWxhdGVkRXZlbnRUeXBlKGV2ZW50VHlwZSkpCisgICAgICAgIGVsc2Ug
aWYgKGV2ZW50TmFtZXMoKS5pc1RvdWNoUmVsYXRlZEV2ZW50VHlwZSgqZG9jdW1lbnQsIGV2ZW50
VHlwZSkpCiAgICAgICAgICAgICBkb2N1bWVudC0+ZGlkQWRkVG91Y2hFdmVudEhhbmRsZXIoKmRv
Y3VtZW50KTsKICAgICAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5zdG9y
YWdlRXZlbnQpCiAgICAgICAgICAgICBkaWRBZGRTdG9yYWdlRXZlbnRMaXN0ZW5lcigqdGhpcyk7
CkBAIC0xODAxLDcgKzE4MDIsNyBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcihj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZQogICAgICAgICBp
bmNyZW1lbnRTY3JvbGxFdmVudExpc3RlbmVyc0NvdW50KCk7CiAjZW5kaWYKICNpZiBFTkFCTEUo
SU9TX1RPVUNIX0VWRU5UUykKLSAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0
ZWRFdmVudFR5cGUoZXZlbnRUeXBlKSkKKyAgICBlbHNlIGlmIChkb2N1bWVudCAmJiBldmVudE5h
bWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoKmRvY3VtZW50LCBldmVudFR5cGUpKQogICAg
ICAgICArK21fdG91Y2hBbmRHZXN0dXJlRXZlbnRMaXN0ZW5lckNvdW50OwogI2VuZGlmCiAjaWYg
RU5BQkxFKElPU19HRVNUVVJFX0VWRU5UUykKQEAgLTIwMDAsMTAgKzIwMDEsMTEgQEAgYm9vbCBE
T01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIEV2ZW50TGlzdGVuZXIKICAgICBpZiAoIUV2ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3Rl
bmVyKGV2ZW50VHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMuY2FwdHVyZSkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGlmIChEb2N1bWVudCogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgp
KSB7CisgICAgYXV0byogZG9jdW1lbnQgPSB0aGlzLT5kb2N1bWVudCgpOworICAgIGlmIChkb2N1
bWVudCkgewogICAgICAgICBpZiAoZXZlbnROYW1lcygpLmlzV2hlZWxFdmVudFR5cGUoZXZlbnRU
eXBlKSkKICAgICAgICAgICAgIGRvY3VtZW50LT5kaWRSZW1vdmVXaGVlbEV2ZW50SGFuZGxlcigq
ZG9jdW1lbnQpOwotICAgICAgICBlbHNlIGlmIChldmVudE5hbWVzKCkuaXNUb3VjaFJlbGF0ZWRF
dmVudFR5cGUoZXZlbnRUeXBlKSkKKyAgICAgICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91
Y2hSZWxhdGVkRXZlbnRUeXBlKCpkb2N1bWVudCwgZXZlbnRUeXBlKSkKICAgICAgICAgICAgIGRv
Y3VtZW50LT5kaWRSZW1vdmVUb3VjaEV2ZW50SGFuZGxlcigqZG9jdW1lbnQpOwogICAgIH0KIApA
QCAtMjAxNiw3ICsyMDE4LDcgQEAgYm9vbCBET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXIKICAgICAgICAgZGVj
cmVtZW50U2Nyb2xsRXZlbnRMaXN0ZW5lcnNDb3VudCgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKElP
U19UT1VDSF9FVkVOVFMpCi0gICAgZWxzZSBpZiAoZXZlbnROYW1lcygpLmlzVG91Y2hSZWxhdGVk
RXZlbnRUeXBlKGV2ZW50VHlwZSkpIHsKKyAgICBlbHNlIGlmIChkb2N1bWVudCAmJiBldmVudE5h
bWVzKCkuaXNUb3VjaFJlbGF0ZWRFdmVudFR5cGUoKmRvY3VtZW50LCBldmVudFR5cGUpKSB7CiAg
ICAgICAgIEFTU0VSVChtX3RvdWNoQW5kR2VzdHVyZUV2ZW50TGlzdGVuZXJDb3VudCA+IDApOwog
ICAgICAgICAtLW1fdG91Y2hBbmRHZXN0dXJlRXZlbnRMaXN0ZW5lckNvdW50OwogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvUXVpcmtzLmNwcAppbmRleCAxYmYzNWM4ZGY5OTMxMzI4OTVmOTc5NWZkZGI4MjhjNDhl
ODc1ZTY3Li44NWNjYjJkNzRmYTZhNDM0ZDdhNjFmZmQyMzAzMzI5YzYwOTkyMGRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9RdWlya3MuY3BwCkBAIC0xOTUsOCArMTk1LDM2IEBAIGJvb2wgUXVpcmtzOjppc05ldmVy
UmljaGx5RWRpdGFibGVGb3JUb3VjaEJhcigpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci1ib29sIFF1aXJrczo6c2hvdWxkRGlzcGF0Y2hTaW11bGF0ZU1vdXNlRXZlbnRzKCkgY29uc3QK
K2Jvb2wgUXVpcmtzOjpzaG91bGREaXNwYXRjaFNpbXVsYXRlZE1vdXNlRXZlbnRzKCkgY29uc3QK
IHsKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlmICghbmVlZHNRdWlya3MoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byogbG9hZGVyID0gbV9kb2N1bWVudC0+bG9h
ZGVyKCk7CisgICAgaWYgKCFsb2FkZXIgfHwgbG9hZGVyLT5zaW11bGF0ZWRNb3VzZUV2ZW50c0Rp
c3BhdGNoUG9saWN5KCkgIT0gU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6QWxs
b3cpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8mIHVybCA9IG1fZG9jdW1lbnQt
PnRvcERvY3VtZW50KCkudXJsKCk7CisgICAgYXV0byBob3N0ID0gdXJsLmhvc3QoKTsKKworICAg
IGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiYW1hem9uLmNvbSIpIHx8
IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLmFtYXpvbi5jb20iKSkKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3Qs
ICJ3aXguY29tIikgfHwgaG9zdC5lbmRzV2l0aElnbm9yaW5nQVNDSUlDYXNlKCIud2l4LmNvbSIp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UoaG9zdCwgImRlc21vcy5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNh
c2UoIi5kZXNtb3MuY29tIikpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAiZmlnbWEuY29tIikgfHwgaG9zdC5lbmRzV2l0
aElnbm9yaW5nQVNDSUlDYXNlKCIuZmlnbWEuY29tIikpCisgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShob3N0LCAidHJlbGxvLmNvbSIp
IHx8IGhvc3QuZW5kc1dpdGhJZ25vcmluZ0FTQ0lJQ2FzZSgiLnRyZWxsby5jb20iKSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhv
c3QsICJhaXJ0YWJsZS5jb20iKSB8fCBob3N0LmVuZHNXaXRoSWdub3JpbmdBU0NJSUNhc2UoIi5h
aXJ0YWJsZS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJtYXBzLmdvb2dsZS5jb20iKSkKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGhvc3QsICJ0
cmFpbGVycy5hcHBsZS5jb20iKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisjZW5kaWYKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtz
LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1F1aXJrcy5oCmluZGV4IDg5MTE4NGI2NGJkOGVlZjY3
MWEwYmExMjc5NThmMDg2ZDgyMmI4NmQuLjJkMTJlYTU3YjYzZDYwYzUwNzQ3OGQ5NmVlMDQzYmU0
ZjEyMDRmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUXVpcmtzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9RdWlya3MuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBzaG91bGRBdXRvcGxheUZvckFyYml0cmFyeVVzZXJHZXN0dXJlKCkgY29uc3Q7CiAg
ICAgYm9vbCBoYXNCcm9rZW5FbmNyeXB0ZWRNZWRpYUFQSVN1cHBvcnRRdWlyaygpIGNvbnN0Owog
ICAgIGJvb2wgaGFzV2ViU1FMU3VwcG9ydFF1aXJrKCkgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGRE
aXNwYXRjaFNpbXVsYXRlTW91c2VFdmVudHMoKSBjb25zdDsKKyAgICBib29sIHNob3VsZERpc3Bh
dGNoU2ltdWxhdGVkTW91c2VFdmVudHMoKSBjb25zdDsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJv
b2wgaXNUb3VjaEJhclVwZGF0ZVN1cHJlc3NlZEZvckhpZGRlbkNvbnRlbnRFZGl0YWJsZSgpIGNv
bnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaXNOZXZlclJpY2hseUVkaXRhYmxlRm9yVG91
Y2hCYXIoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQ
b2xpY2llc0RhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0
YS5jcHAKaW5kZXggZjUyMjA1MGRkMjVhNjc5N2VhY2VlNmIxNjdhMmNiYWZjYWUwODczNS4uZWFh
Mjk4MTAxNTQzZDIxYWNjYjgyOTE3NmUxMjNjNmZiMzcwMjcwMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAgdm9pZCBX
ZWJzaXRlUG9saWNpZXNEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAog
ICAgIGVuY29kZXIgPDwgY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm07CiAgICAgZW5jb2RlciA8PCBt
ZXRhVmlld3BvcnRQb2xpY3k7CiAgICAgZW5jb2RlciA8PCBtZWRpYVNvdXJjZVBvbGljeTsKKyAg
ICBlbmNvZGVyIDw8IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k7CiB9CiAKIE9w
dGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJ
UEM6OkRlY29kZXImIGRlY29kZXIpCkBAIC0xMTIsNiArMTEzLDExIEBAIE9wdGlvbmFsPFdlYnNp
dGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIpCiAgICAgaWYgKCFtZWRpYVNvdXJjZVBvbGljeSkKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKICAgICAKKyAgICBPcHRpb25hbDxXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVu
dHNEaXNwYXRjaFBvbGljeT4gc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTsKKyAg
ICBkZWNvZGVyID4+IHNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k7CisgICAgaWYg
KCFzaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KQorICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OworCiAgICAgcmV0dXJuIHsgewogICAgICAgICBXVEZNb3ZlKCpjb250ZW50Qmxv
Y2tlcnNFbmFibGVkKSwKICAgICAgICAgV1RGTW92ZSgqYWxsb3dlZEF1dG9wbGF5UXVpcmtzKSwK
QEAgLTEyNSw2ICsxMzEsNyBAQCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiBXZWJzaXRl
UG9saWNpZXNEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogICAgICAgICBXVEZN
b3ZlKCpjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSksCiAgICAgICAgIFdURk1vdmUoKm1ldGFWaWV3
cG9ydFBvbGljeSksCiAgICAgICAgIFdURk1vdmUoKm1lZGlhU291cmNlUG9saWN5KSwKKyAgICAg
ICAgV1RGTW92ZSgqc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSksCiAgICAgfSB9
OwogfQogCkBAIC0yMDgsNiArMjE1LDI1IEBAIHZvaWQgV2Vic2l0ZVBvbGljaWVzRGF0YTo6YXBw
bHlUb0RvY3VtZW50TG9hZGVyKFdlYnNpdGVQb2xpY2llc0RhdGEmJiB3ZWJzaXRlUG9sCiAgICAg
ICAgIGJyZWFrOwogICAgIH0KIAorICAgIHN3aXRjaCAod2Vic2l0ZVBvbGljaWVzLnNpbXVsYXRl
ZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kpIHsKKyAgICBjYXNlIFdlYnNpdGVTaW11bGF0ZWRN
b3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpEZWZhdWx0OgorICAgICAgICBkb2N1bWVudExvYWRl
ci5zZXRTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KFdlYkNvcmU6OlNpbXVsYXRl
ZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkRlZmF1bHQpOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFdlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpBbGxvdzoK
KyAgICAgICAgZG9jdW1lbnRMb2FkZXIuc2V0U2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBv
bGljeShXZWJDb3JlOjpTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpBbGxvdyk7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlz
cGF0Y2hQb2xpY3k6OkRlbnk6CisgICAgICAgIGRvY3VtZW50TG9hZGVyLnNldFNpbXVsYXRlZE1v
dXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3koV2ViQ29yZTo6U2ltdWxhdGVkTW91c2VFdmVudHNEaXNw
YXRjaFBvbGljeTo6RGVueSk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmICh3ZWJz
aXRlUG9saWNpZXMud2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMpIHsKKyAgICAgICAgaWYgKGF1
dG8qIGZyYW1lID0gZG9jdW1lbnRMb2FkZXIuZnJhbWUoKSkgeworICAgICAgICAgICAgaWYgKGF1
dG8qIHBhZ2UgPSBmcmFtZS0+cGFnZSgpKQorICAgICAgICAgICAgICAgIHBhZ2UtPnNldFNlc3Np
b25JRCh3ZWJzaXRlUG9saWNpZXMud2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMtPm5ldHdvcmtT
ZXNzaW9uUGFyYW1ldGVycy5zZXNzaW9uSUQpOworICAgICAgICB9CisgICAgfQorCiAgICAgYXV0
byogZnJhbWUgPSBkb2N1bWVudExvYWRlci5mcmFtZSgpOwogICAgIGlmICghZnJhbWUpCiAgICAg
ICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xp
Y2llc0RhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaApp
bmRleCAzOTg4MWIyOTYyYjQyMjVlMzBjNGI0MjljMGU3NWZjYWI2YzA2M2Y1Li42MTc2NzA2MTdj
YTRlZTE4ZmQ0MTk2NDI3ZjhhZTgxYmFiNzA1ZjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2Vic2l0ZVBvbGljaWVzRGF0YS5oCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiV2Vic2l0
ZU1lZGlhU291cmNlUG9saWN5LmgiCiAjaW5jbHVkZSAiV2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGlj
eS5oIgogI2luY2x1ZGUgIldlYnNpdGVQb3BVcFBvbGljeS5oIgorI2luY2x1ZGUgIldlYnNpdGVT
aW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9I
VFRQSGVhZGVyRmllbGQuaD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAKQEAgLTYwLDYg
KzYxLDcgQEAgc3RydWN0IFdlYnNpdGVQb2xpY2llc0RhdGEgewogICAgIFN0cmluZyBjdXN0b21O
YXZpZ2F0b3JQbGF0Zm9ybTsKICAgICBXZWJzaXRlTWV0YVZpZXdwb3J0UG9saWN5IG1ldGFWaWV3
cG9ydFBvbGljeSB7IFdlYnNpdGVNZXRhVmlld3BvcnRQb2xpY3k6OkRlZmF1bHQgfTsKICAgICBX
ZWJzaXRlTWVkaWFTb3VyY2VQb2xpY3kgbWVkaWFTb3VyY2VQb2xpY3kgeyBXZWJzaXRlTWVkaWFT
b3VyY2VQb2xpY3k6OkRlZmF1bHQgfTsKKyAgICBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNE
aXNwYXRjaFBvbGljeSBzaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5IHsgV2Vic2l0
ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6OkRlZmF1bHQgfTsKIAogICAgIHZv
aWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBPcHRpb25hbDxXZWJz
aXRlUG9saWNpZXNEYXRhPiBkZWNvZGUoSVBDOjpEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlz
cGF0Y2hQb2xpY3kuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNzg3ZmJhYjM0NmMzYTI1YmQ2NWZmYTRlMWU2ZjZh
NjBlNWIyMDhkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0
ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaApAQCAtMCwwICsxLDUxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKyAgICAKK2VudW0gY2xhc3MgV2Vic2l0ZVNpbXVsYXRlZE1vdXNl
RXZlbnRzRGlzcGF0Y2hQb2xpY3kgOiB1aW50OF90IHsKKyAgICBEZWZhdWx0LAorICAgIEFsbG93
LAorICAgIERlbnksCit9OworCit9CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0
cnVjdCBFbnVtVHJhaXRzPFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0
Y2hQb2xpY3k+IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgIFdlYktpdDo6
V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3ksCisgICAgV2ViS2l0OjpX
ZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeTo6RGVmYXVsdCwKKyAgICBX
ZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpBbGxvdywK
KyAgICBXZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OjpE
ZW55CisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcAppbmRleCA0ZDkxMDU4MjFm
ZjEzMDRhOGYyNmY4N2ZjNWQxNzYwNDg5N2FmZWM3Li43Mzk1OGU0YWUxMjQzMjE0ZWU0MTA0ZjAz
OGJmZjcyNmI2ZGU5ZDY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJV2Vic2l0ZVBvbGljaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJV2Vic2l0ZVBvbGljaWVzLmNwcApAQCAtNTYsNiArNTYsNyBAQCBSZWY8V2Vic2l0ZVBvbGlj
aWVzPiBXZWJzaXRlUG9saWNpZXM6OmNvcHkoKSBjb25zdAogICAgIHBvbGljaWVzLT5zZXRDdXN0
b21OYXZpZ2F0b3JQbGF0Zm9ybShtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtKTsKICAgICBwb2xp
Y2llcy0+c2V0UHJlZmVycmVkQ29tcGF0aWJpbGl0eU1vZGUobV9wcmVmZXJyZWRDb21wYXRpYmls
aXR5TW9kZSk7CiAgICAgcG9saWNpZXMtPnNldE1ldGFWaWV3cG9ydFBvbGljeShtX21ldGFWaWV3
cG9ydFBvbGljeSk7CisgICAgcG9saWNpZXMtPnNldFNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0
Y2hQb2xpY3kobV9zaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KTsKICAgICBWZWN0
b3I8V2ViQ29yZTo6SFRUUEhlYWRlckZpZWxkPiBjdXN0b21IZWFkZXJGaWVsZHM7CiAgICAgY3Vz
dG9tSGVhZGVyRmllbGRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9jdXN0b21IZWFkZXJGaWVs
ZHMuc2l6ZSgpKTsKICAgICBmb3IgKGF1dG8mIGZpZWxkIDogbV9jdXN0b21IZWFkZXJGaWVsZHMp
CkBAIC04Nyw3ICs4OCw4IEBAIFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YSBXZWJzaXRlUG9s
aWNpZXM6OmRhdGEoKQogICAgICAgICBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVT
cGVjaWZpY1F1aXJrcywKICAgICAgICAgbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSwKICAgICAg
ICAgbV9tZXRhVmlld3BvcnRQb2xpY3ksCi0gICAgICAgIG1fbWVkaWFTb3VyY2VQb2xpY3kKKyAg
ICAgICAgbV9tZWRpYVNvdXJjZVBvbGljeSwKKyAgICAgICAgbV9zaW11bGF0ZWRNb3VzZUV2ZW50
c0Rpc3BhdGNoUG9saWN5LAogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAppbmRleCBiY2QxODg5ZmRhMzU3YjA3MTZiMzZm
MzdhZGM3ZTM2Y2ZjOGUyODA5Li4xOTZlN2UxOGMzOTI3NTQ4NWJjOTFjMTQ3NzQ4NDhhNDJkMTZk
NzIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBv
bGljaWVzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xp
Y2llcy5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiV2Vic2l0ZU1lZGlhU291cmNlUG9s
aWN5LmgiCiAjaW5jbHVkZSAiV2Vic2l0ZU1ldGFWaWV3cG9ydFBvbGljeS5oIgogI2luY2x1ZGUg
IldlYnNpdGVQb3BVcFBvbGljeS5oIgorI2luY2x1ZGUgIldlYnNpdGVTaW11bGF0ZWRNb3VzZUV2
ZW50c0Rpc3BhdGNoUG9saWN5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9IVFRQSGVhZGVyRmllbGQu
aD4KICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgpA
QCAtOTQsNiArOTUsOSBAQCBwdWJsaWM6CiAgICAgV2ViS2l0OjpXZWJzaXRlTWVkaWFTb3VyY2VQ
b2xpY3kgbWVkaWFTb3VyY2VQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX21lZGlhU291cmNlUG9s
aWN5OyB9CiAgICAgdm9pZCBzZXRNZWRpYVNvdXJjZVBvbGljeShXZWJLaXQ6OldlYnNpdGVNZWRp
YVNvdXJjZVBvbGljeSBwb2xpY3kpIHsgbV9tZWRpYVNvdXJjZVBvbGljeSA9IHBvbGljeTsgfQog
CisgICAgV2ViS2l0OjpXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeSBz
aW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9zaW11
bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5OyB9CisgICAgdm9pZCBzZXRTaW11bGF0ZWRN
b3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5KFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZl
bnRzRGlzcGF0Y2hQb2xpY3kgcG9saWN5KSB7IG1fc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeSA9IHBvbGljeTsgfQorCiBwcml2YXRlOgogICAgIFdlYnNpdGVQb2xpY2llcyhib29s
IGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVBdXRvcGxh
eVF1aXJrPiwgV2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3ksIFZlY3RvcjxXZWJDb3JlOjpI
VFRQSGVhZGVyRmllbGQ+JiYsIFdlYktpdDo6V2Vic2l0ZVBvcFVwUG9saWN5LCBSZWZQdHI8V2Vi
c2l0ZURhdGFTdG9yZT4mJik7CiAKQEAgLTExMCw2ICsxMTQsNyBAQCBwcml2YXRlOgogICAgIFdl
YktpdDo6V2ViQ29tcGF0aWJpbGl0eU1vZGUgbV9wcmVmZXJyZWRDb21wYXRpYmlsaXR5TW9kZSB7
IFdlYktpdDo6V2ViQ29tcGF0aWJpbGl0eU1vZGU6OkRlZmF1bHQgfTsKICAgICBXZWJLaXQ6Oldl
YnNpdGVNZXRhVmlld3BvcnRQb2xpY3kgbV9tZXRhVmlld3BvcnRQb2xpY3kgeyBXZWJLaXQ6Oldl
YnNpdGVNZXRhVmlld3BvcnRQb2xpY3k6OkRlZmF1bHQgfTsKICAgICBXZWJLaXQ6OldlYnNpdGVN
ZWRpYVNvdXJjZVBvbGljeSBtX21lZGlhU291cmNlUG9saWN5IHsgV2ViS2l0OjpXZWJzaXRlTWVk
aWFTb3VyY2VQb2xpY3k6OkRlZmF1bHQgfTsKKyAgICBXZWJLaXQ6OldlYnNpdGVTaW11bGF0ZWRN
b3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5IG1fc2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBv
bGljeSB7IFdlYktpdDo6V2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3k6
OkRlZmF1bHQgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzJhYTQ1NTUzOGYyZDE2NWEx
MmZhZWVkYmRhYjBhZGU3ZTQyZDE0Yy4uYWNjODI0ZThlM2I1NDEzZjQxMWNhYjAyMTgyMGI1MGMz
MmU2ZmVkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC0xMTExLDYgKzExMTEsNyBAQAogCQk2QkU5NjlDQjFFNTRENENGMDA4Qjc0ODMg
LyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkJFOTY5QzkxRTU0RDRDRjAwOEI3NDgz
IC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuaCAqLzsgfTsKIAkJNkJF
OTY5Q0QxRTU0RTA1NDAwOEI3NDgzIC8qIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2QkU5NjlD
QzFFNTRFMDU0MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAq
LzsgfTsKIAkJNkVFODQ5QzgxMzY4RDkzOTAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0ZU1h
Yy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNkVFODQ5
QzYxMzY4RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTcxRkI4MTBCMjI2MDYyN0Uw
MDMyMzY3NyAvKiBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFGQjgxMEEyMjYw
NjI3QTAwMzIzNjc3IC8qIFdlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5
LmggKi87IH07CiAJCTcyOEU4NkYxMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1h
Yy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzI4RTg2
RUYxNzk1MTg4QzAwODc4NzlFIC8qIFdlYkNvbG9yUGlja2VyTWFjLmggKi87IH07CiAJCTc1QThE
MkM4MTg3Q0NGQUIwMEMzOUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc1QThEMkM0MTg3Q0NGOUYwMEMzOUM5
RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
dWJsaWMsICk7IH07IH07CiAJCTc1QThEMkQ2MTg3RDFDMEUwMEMzOUM5RSAvKiBXS1dlYnNpdGVE
YXRhU3RvcmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzVBOEQyRDQxODdEMUMwMTAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZUlu
dGVybmFsLmggKi87IH07CkBAIC0zNTczLDYgKzM1NzQsNyBAQAogCQk2QkU5NjlDQzFFNTRFMDU0
MDA4Qjc0ODMgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkQ4QTkxQTUxMUYwRUZEMTAwREQwMUZF
IC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IGNv
bS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluOyBwYXRoID0gV2ViUHJvY2Vzcy9jb20uYXBwbGUuV2Vi
UHJvY2Vzcy5zYi5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkVFODQ5QzYxMzY4
RDkyRDAwMzhENDgxIC8qIFdLSW5zcGVjdG9yUHJpdmF0ZU1hYy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBXS0luc3BlY3RvclByaXZhdGVNYWMuaDsgcGF0aCA9IG1hYy9XS0lu
c3BlY3RvclByaXZhdGVNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzFGQjgx
MEEyMjYwNjI3QTAwMzIzNjc3IC8qIFdlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNo
UG9saWN5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYnNpdGVTaW11bGF0
ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTcyOEU4NkVGMTc5NTE4OEMwMDg3ODc5RSAvKiBXZWJDb2xvclBpY2tlck1hYy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvclBpY2tlck1hYy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3MjhFODZGMDE3OTUxODhDMDA4Nzg3OUUgLyogV2ViQ29s
b3JQaWNrZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBX
ZWJDb2xvclBpY2tlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzVBOEQy
QzQxODdDQ0Y5RjAwQzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXS1dlYnNpdGVEYXRhU3RvcmUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTUyNDIsNiArNTI0NCw3IEBACiAJCQkJNUMzQUVBOEUxRkUxRjFERjAw
MjMxOEQzIC8qIFdlYnNpdGVQb2xpY2llc0RhdGEuY3BwICovLAogCQkJCTVDMTMwMjRBMUZFMzQx
QTcwMDBEOUIzMSAvKiBXZWJzaXRlUG9saWNpZXNEYXRhLmggKi8sCiAJCQkJMEVERTg1MDIyMDA0
RTc0OTAwMDMwNTYwIC8qIFdlYnNpdGVQb3BVcFBvbGljeS5oICovLAorCQkJCTcxRkI4MTBBMjI2
MDYyN0EwMDMyMzY3NyAvKiBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGlj
eS5oICovLAogCQkJCTgzNjAzNDlEMUFDQjM0RDYwMDYyNjU0OSAvKiBXZWJTUUxpdGVEYXRhYmFz
ZVRyYWNrZXIuY3BwICovLAogCQkJCTgzNjAzNDlFMUFDQjM0RDYwMDYyNjU0OSAvKiBXZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXIuaCAqLywKIAkJCQlDMDMzN0RENzEyN0E1MUI2MDA4RkY0RjQgLyog
V2ViVG91Y2hFdmVudC5jcHAgKi8sCkBAIC05NzE1LDYgKzk3MTgsNyBAQAogCQkJCUY0Q0IwOUU1
MjI1RDVBMDkwMDg5MTQ4NyAvKiBXZWJzaXRlTWVkaWFTb3VyY2VQb2xpY3kuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUY0MzBFOTQyMjI0NzMzNUYwMDVGRTA1MyAvKiBXZWJzaXRlTWV0YVZpZXdwb3J0
UG9saWN5LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRURFODUwMzIwMDRFNzVEMDAwMzA1NjAgLyog
V2Vic2l0ZVBvcFVwUG9saWN5LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MUZCODEwQjIyNjA2MjdF
MDAzMjM2NzcgLyogV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCBp
biBIZWFkZXJzICovLAogCQkJCUMxNDkzODA5MjIzNDcxMDQwMDBDRDcwNyAvKiBXZWJTcGVlY2hT
eW50aGVzaXNDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzNjAzNEEwMUFDQjM0RDYwMDYy
NjU0OSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
NTJDMEY4MUEzOENEQzcwMDE2MTYwQSAvKiBXZWJTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuaCBp
biBIZWFkZXJzICovLAo=
</data>
<flag name="review"
          id="383651"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
          </attachment>
      

    </bug>

</bugzilla>