<?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>218772</bug_id>
          
          <creation_ts>2020-11-10 13:43:16 -0800</creation_ts>
          <short_desc>Make PlatformWheelEventPhase an enum class</short_desc>
          <delta_ts>2020-11-10 16:39:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>jamesr</cc>
    
    <cc>kangil.han</cc>
    
    <cc>luiz</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1706202</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-10 13:43:16 -0800</bug_when>
    <thetext>Make PlatformWheelEventPhase an enum class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706204</commentid>
    <comment_count>1</comment_count>
      <attachid>413733</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-10 13:45:00 -0800</bug_when>
    <thetext>Created attachment 413733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706209</commentid>
    <comment_count>2</comment_count>
      <attachid>413733</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2020-11-10 13:50:39 -0800</bug_when>
    <thetext>Comment on attachment 413733
Patch

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

&gt; Source/WebCore/platform/mac/PlatformEventFactoryMac.mm:-176
&gt; -    if ([event momentumPhase] &amp; NSEventPhaseBegan)

Weird!

&gt; Source/WebCore/platform/mac/ScrollAnimatorMac.mm:1249
&gt; +// FIXME: Need to ensure we get PlatformWheelEventPhase::Ended.

While you&apos;re here, indent the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706284</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-11-10 16:38:55 -0800</bug_when>
    <thetext>https://trac.webkit.org/r269659</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1706285</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-10 16:39:28 -0800</bug_when>
    <thetext>&lt;rdar://problem/71260959&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413733</attachid>
            <date>2020-11-10 13:45:00 -0800</date>
            <delta_ts>2020-11-10 13:50:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218772-20201110134459.patch</filename>
            <type>text/plain</type>
            <size>39635</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VjODZmYjFlNjc0MWIz
NWJhN2ZkNzQzOGJlNTRkNjk2NDFhMGFmZS4uNjViNmRiMWRkMjI1YzJiNzVjOGUwYzMzMzEzODEy
YzYzMTc4OWE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTExLTEwICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2UgYW4gZW51bSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NzcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHRv
IGJlIGFuIGVudW0gY2xhc3MuCisKKyAgICAgICAgQ2hhbmdlZCBjb2RlIHRoYXQgbWFwcyBiZXR3
ZWVuIE5TRXZlbnRQaGFzZSBhbmQgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgdG8gbm90CisgICAg
ICAgIHRyZWF0IE5TRXZlbnRQaGFzZSBhcyBhIHNldCBvZiBiaXRzLCBzaW5jZSBpdCBvbmx5IGV2
ZXIgY29udGFpbnMgb25lIG9mIHRoZSBiaXRzLgorCisgICAgICAgICogZG9tL1doZWVsRXZlbnQu
aDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpo
YW5kbGVXaGVlbEV2ZW50UGhhc2VJblNjcm9sbGFibGVBcmVhKToKKyAgICAgICAgKFdlYkNvcmU6
OmhhbmRsZVdoZWVsRXZlbnRJbkFwcHJvcHJpYXRlRW5jbG9zaW5nQm94KToKKyAgICAgICAgKiBw
YWdlL1doZWVsRXZlbnRUZXN0TW9uaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXaGVlbEV2
ZW50VGVzdE1vbml0b3I6OnJlY2VpdmVkV2hlZWxFdmVudCk6CisgICAgICAgICogcGFnZS9tYWMv
RXZlbnRIYW5kbGVyTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6ZmluZEVuY2xvc2luZ1Njcm9s
bGFibGVDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpyZWNvcmRX
aGVlbEV2ZW50Rm9yRGVsdGFGaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVy
Ojpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXApOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZTo6
d2lsbFdoZWVsRXZlbnRTdGFydFN3aXBlR2VzdHVyZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdUcmVlR2VzdHVyZVN0YXRlOjpoYW5kbGVHZXN0dXJlQ2FuY2VsKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWVHZXN0dXJlU3RhdGU6Om5vZGVEaWRIYW5kbGVFdmVudCk6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGU6OmNhbkhhbmRsZVdo
ZWVsRXZlbnQgY29uc3QpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdU
cmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6aGFuZGxlV2hlZWxFdmVudCk6CisgICAg
ICAgICogcGxhdGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgor
ICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojp1c2VMYXRjaGVkRXZlbnRFbGVt
ZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudDo6aXNHZXN0
dXJlU3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojpp
c0dlc3R1cmVDb250aW51YXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1X
aGVlbEV2ZW50OjpzaG91bGRSZXNldExhdGNoaW5nIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtV2hlZWxFdmVudDo6aXNOb25HZXN0dXJlRXZlbnQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojppc0VuZE9mTW9tZW50dW1TY3JvbGwgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Ojppc0dlc3R1cmVCZWdpbiBj
b25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzR2VzdHVyZUNh
bmNlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzRW5k
T2ZOb25Nb21lbnR1bVNjcm9sbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVdo
ZWVsRXZlbnQ6OmlzVHJhbnNpdGlvbmluZ1RvTW9tZW50dW1TY3JvbGwgY29uc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9T
Y3JvbGxDb250cm9sbGVyLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsQ29udHJvbGxlcjo6
aGFuZGxlV2hlZWxFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjp0b1doZWVsRXZlbnRTdGF0dXMp
OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OnBoYXNlRnJvbU5TRXZlbnRQaGFzZSk6CisgICAgICAgIChXZWJDb3Jl
Ojptb21lbnR1bVBoYXNlRm9yRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6cGhhc2VGb3JFdmVu
dCk6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OmhhbmRsZVdoZWVsRXZlbnRQaGFzZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpuZXdHZXN0dXJlSXNTdGFydGluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpnZXN0dXJlU2hvdWxkQmVnaW5TbmFwKToKKwogMjAyMC0xMS0wOSAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDIERpc3BsYXldIEEgQ29udGFp
bmVyQm94IGNhbiBlc3RhYmxpc2ggYW4gaW5saW5lIGZvcm1hdHRpbmcgY29udGV4dCBhbmQgaGF2
ZSBib3ggY2hpbGRyZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjM4OWIyMjkzZjc1YzMzM2Q1YWE2NDcxZGQ3ZTdl
Y2RmZDBiYTE4NS4uZDA5OWM1ZWQ0NzljZDU4NGVjMDMyNzM3YjQ3MzEyYWQxNTcyMzE2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMC0xMS0xMCAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
IGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxODc3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIENoYW5nZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSB0byBiZSBhbiBlbnVtIGNsYXNz
LgorCisgICAgICAgIENoYW5nZWQgY29kZSB0aGF0IG1hcHMgYmV0d2VlbiBOU0V2ZW50UGhhc2Ug
YW5kIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHRvIG5vdAorICAgICAgICB0cmVhdCBOU0V2ZW50
UGhhc2UgYXMgYSBzZXQgb2YgYml0cywgc2luY2UgaXQgb25seSBldmVyIGNvbnRhaW5zIG9uZSBv
ZiB0aGUgYml0cy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Nj
cm9sbGVyUGFpck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsZXJQYWlyTWFjOjpoYW5k
bGVXaGVlbEV2ZW50KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRj
aGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RXZlbnREaXNwYXRjaGVyOjp3aGVlbEV2ZW50KToK
KwogMjAyMC0xMS0wOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IFVuZXhwb3NlIG9ic29sZXRlIEhUTUxBcHBsZXRFbGVtZW50IGludGVyZmFjZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2Fj
eS9tYWMvQ2hhbmdlTG9nCmluZGV4IDAzZDVjM2MzZTMyNGZlOWIzMmQ0NWRhZGZjZDM2YzdjNDQy
NDc2ZGUuLmUxMGQ5YWQ5ZGY2NGI3NGQ4NDBhYjAwNWZiN2VlMDVlMDU5MWQzZGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMC0xMS0xMCAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlIGFuIGVudW0gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODc3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSB0byBi
ZSBhbiBlbnVtIGNsYXNzLgorCisgICAgICAgIENoYW5nZWQgY29kZSB0aGF0IG1hcHMgYmV0d2Vl
biBOU0V2ZW50UGhhc2UgYW5kIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHRvIG5vdAorICAgICAg
ICB0cmVhdCBOU0V2ZW50UGhhc2UgYXMgYSBzZXQgb2YgYml0cywgc2luY2UgaXQgb25seSBldmVy
IGNvbnRhaW5zIG9uZSBvZiB0aGUgYml0cy4KKworICAgICAgICAqIERPTS9XZWJET01PcGVyYXRp
b25zLm1tOgorICAgICAgICAodG9OU0V2ZW50UGhhc2UpOgorCiAyMDIwLTExLTA5ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5leHBvc2Ugb2Jzb2xldGUgSFRN
TEFwcGxldEVsZW1lbnQgaW50ZXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
V2hlZWxFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1doZWVsRXZlbnQuaAppbmRleCAwYTg5
YzNkYWM4OGRjMmIzMDE3OTNmZTk0Yzc5MzFmYmE4MjI5MThjLi5jZmQ1OTc3NTRmNWNhMDBlODcw
ZGYyZjI3NDQ4MTc1ODZhOGJlYWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2hl
ZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XaGVlbEV2ZW50LmgKQEAgLTY5LDgg
KzY5LDggQEAgcHVibGljOgogICAgIGJvb2wgd2Via2l0RGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2
aWNlKCkgY29uc3QgeyByZXR1cm4gbV91bmRlcmx5aW5nUGxhdGZvcm1FdmVudCAmJiBtX3VuZGVy
bHlpbmdQbGF0Zm9ybUV2ZW50LnZhbHVlKCkuZGlyZWN0aW9uSW52ZXJ0ZWRGcm9tRGV2aWNlKCk7
IH0KIAogI2lmIFBMQVRGT1JNKE1BQykKLSAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFz
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5kZXJseWluZ1BsYXRmb3JtRXZlbnQgPyBtX3VuZGVybHlp
bmdQbGF0Zm9ybUV2ZW50LnZhbHVlKCkucGhhc2UoKSA6IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
Tm9uZTsgfQotICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIG1vbWVudHVtUGhhc2UoKSBjb25z
dCB7IHJldHVybiBtX3VuZGVybHlpbmdQbGF0Zm9ybUV2ZW50ID8gbV91bmRlcmx5aW5nUGxhdGZv
cm1FdmVudC52YWx1ZSgpLm1vbWVudHVtUGhhc2UoKSA6IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
Tm9uZTsgfQorICAgIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlKCkgY29uc3QgeyByZXR1
cm4gbV91bmRlcmx5aW5nUGxhdGZvcm1FdmVudCA/IG1fdW5kZXJseWluZ1BsYXRmb3JtRXZlbnQu
dmFsdWUoKS5waGFzZSgpIDogUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmU7IH0KKyAgICBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNlKCkgY29uc3QgeyByZXR1cm4gbV91
bmRlcmx5aW5nUGxhdGZvcm1FdmVudCA/IG1fdW5kZXJseWluZ1BsYXRmb3JtRXZlbnQudmFsdWUo
KS5tb21lbnR1bVBoYXNlKCkgOiBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZTsgfQogI2Vu
ZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFu
ZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggYzk0
ZjI2M2NkMDU0YjM5ZDEyZjM3MmE3YTI3YmIzODA1NDU5ZmI5Zi4uNWJlOTgwNDYyNjEzZTIxZDNi
MTJlNmUwZTUzM2Q2MTA0ODk5ZDJmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9F
dmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNw
cApAQCAtMjk0LDcgKzI5NCw3IEBAIHN0YXRpYyBpbmxpbmUgU2Nyb2xsR3JhbnVsYXJpdHkgd2hl
ZWxHcmFudWxhcml0eVRvU2Nyb2xsR3JhbnVsYXJpdHkodW5zaWduZWQgZGVsCiBzdGF0aWMgdm9p
ZCBoYW5kbGVXaGVlbEV2ZW50UGhhc2VJblNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhJiBz
Y3JvbGxhYmxlQXJlYSwgY29uc3QgV2hlZWxFdmVudCYgd2hlZWxFdmVudCkKIHsKICNpZiBQTEFU
Rk9STShNQUMpCi0gICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZU1heUJlZ2luIHx8IHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZUNhbmNlbGxlZCkKKyAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpID09IFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlOjpNYXlCZWdpbiB8fCB3aGVlbEV2ZW50LnBoYXNlKCkgPT0gUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2U6OkNhbmNlbGxlZCkKICAgICAgICAgc2Nyb2xsYWJsZUFyZWEuc2Ny
b2xsQW5pbWF0b3IoKS5oYW5kbGVXaGVlbEV2ZW50UGhhc2Uod2hlZWxFdmVudC5waGFzZSgpKTsK
ICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHNjcm9sbGFibGVBcmVhKTsKQEAgLTMxOSw5ICszMTks
OSBAQCBzdGF0aWMgYm9vbCBoYW5kbGVXaGVlbEV2ZW50SW5BcHByb3ByaWF0ZUVuY2xvc2luZ0Jv
eChOb2RlKiBzdGFydE5vZGUsIGNvbnN0IFdoZQogewogICAgIGJvb2wgc2hvdWxkSGFuZGxlRXZl
bnQgPSB3aGVlbEV2ZW50LmRlbHRhWCgpIHx8IHdoZWVsRXZlbnQuZGVsdGFZKCk7CiAjaWYgRU5B
QkxFKFdIRUVMX0VWRU5UX0xBVENISU5HKQotICAgIHNob3VsZEhhbmRsZUV2ZW50IHw9IHdoZWVs
RXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkOworICAgIHNob3Vs
ZEhhbmRsZUV2ZW50IHw9IHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZTo6RW5kZWQ7CiAjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKLSAgICBzaG91bGRIYW5k
bGVFdmVudCB8PSB3aGVlbEV2ZW50Lm1vbWVudHVtUGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZUVuZGVkOworICAgIHNob3VsZEhhbmRsZUV2ZW50IHw9IHdoZWVsRXZlbnQubW9tZW50
dW1QaGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRlZDsKICNlbmRpZgogI2Vu
ZGlmCiAgICAgaWYgKCFzdGFydE5vZGUtPnJlbmRlcmVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1doZWVsRXZlbnRUZXN0TW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1doZWVsRXZlbnRUZXN0TW9uaXRvci5jcHAKaW5kZXggMTQ3NDE3NmU1ZjA0ZjBkYjE5MTM0
MDhlY2IzNDBhZmI3YzU4MzY3MS4uMGUxYWI0ZGM5OWQ5ZmFmOTc4ZjEyMWNmNmYxNWYzZTA2Yzdk
ZDgzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9XaGVlbEV2ZW50VGVzdE1vbml0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvV2hlZWxFdmVudFRlc3RNb25pdG9yLmNw
cApAQCAtMTEwLDEwICsxMTAsMTAgQEAgdm9pZCBXaGVlbEV2ZW50VGVzdE1vbml0b3I6OnJlbW92
ZURlZmVycmFsRm9yUmVhc29uKFNjcm9sbGFibGVBcmVhSWRlbnRpZmllciBpZGUKIHZvaWQgV2hl
ZWxFdmVudFRlc3RNb25pdG9yOjpyZWNlaXZlZFdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1XaGVl
bEV2ZW50JiBldmVudCkKIHsKICNpZiBFTkFCTEUoS0lORVRJQ19TQ1JPTExJTkcpCi0gICAgaWYg
KGV2ZW50LnBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCB8fCBldmVudC5w
aGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2VsbGVkKQorICAgIGlmIChldmVu
dC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRlZCB8fCBldmVudC5waGFz
ZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDYW5jZWxsZWQpCiAgICAgICAgIG1fcmVj
ZWl2ZWRXaGVlbEVuZE9yQ2FuY2VsID0gdHJ1ZTsKIAotICAgIGlmIChldmVudC5tb21lbnR1bVBo
YXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCkKKyAgICBpZiAoZXZlbnQubW9t
ZW50dW1QaGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRlZCkKICAgICAgICAg
bV9yZWNlaXZlZE1vbWVudHVtRW5kID0gdHJ1ZTsKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCmluZGV4IGZlZDU3MWZjOTVjNDc0YjU4YTEyMzhi
ZjY0NTM0MWJlZmUyNGIzOWIuLmFmNzM1ZWU3YWVhNjc4MzA1NDI1YzMxMzhkODUwMGM2ZDhlZjcz
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0KQEAgLTgw
OCw3ICs4MDgsNyBAQCBzdGF0aWMgQ29udGFpbmVyTm9kZSogZmluZEVuY2xvc2luZ1Njcm9sbGFi
bGVDb250YWluZXIoQ29udGFpbmVyTm9kZSogbm9kZSwgY29ucwogICAgICAgICBpZiAoIXNjcm9s
bGFibGVBcmVhKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgaWYgKHdoZWVsRXZl
bnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luIHx8IHdoZWVsRXZl
bnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZCkKKyAgICAgICAg
aWYgKHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVn
aW4gfHwgd2hlZWxFdmVudC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDYW5j
ZWxsZWQpCiAgICAgICAgICAgICByZXR1cm4gY2FuZGlkYXRlOwogCiAgICAgICAgIGlmICgoYmlh
c2VkRGVsdGEuaGVpZ2h0KCkgPiAwICYmICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xsZWRUb1RvcCgp
KSB8fCAoYmlhc2VkRGVsdGEuaGVpZ2h0KCkgPCAwICYmICFzY3JvbGxhYmxlQXJlYS0+c2Nyb2xs
ZWRUb0JvdHRvbSgpKQpAQCAtODkxLDE0ICs4OTEsMTQgQEAgdm9pZCBFdmVudEhhbmRsZXI6OnJl
Y29yZFdoZWVsRXZlbnRGb3JEZWx0YUZpbHRlcihjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdo
ZWUKICAgICAgICAgcmV0dXJuOwogCiAgICAgc3dpdGNoICh3aGVlbEV2ZW50LnBoYXNlKCkpIHsK
LSAgICAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOgotICAgICAgICAgICAg
cGFnZS0+d2hlZWxFdmVudERlbHRhRmlsdGVyKCktPmJlZ2luRmlsdGVyaW5nRGVsdGFzKCk7Ci0g
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVu
ZGVkOgotICAgICAgICAgICAgcGFnZS0+d2hlZWxFdmVudERlbHRhRmlsdGVyKCktPmVuZEZpbHRl
cmluZ0RlbHRhcygpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpCZWdhbjoK
KyAgICAgICAgcGFnZS0+d2hlZWxFdmVudERlbHRhRmlsdGVyKCktPmJlZ2luRmlsdGVyaW5nRGVs
dGFzKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6
OkVuZGVkOgorICAgICAgICBwYWdlLT53aGVlbEV2ZW50RGVsdGFGaWx0ZXIoKS0+ZW5kRmlsdGVy
aW5nRGVsdGFzKCk7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIGJyZWFr
OwogICAgIH0KICAgICBwYWdlLT53aGVlbEV2ZW50RGVsdGFGaWx0ZXIoKS0+dXBkYXRlRnJvbURl
bHRhKEZsb2F0U2l6ZSh3aGVlbEV2ZW50LmRlbHRhWCgpLCB3aGVlbEV2ZW50LmRlbHRhWSgpKSk7
CiB9CkBAIC05NzQsNyArOTc0LDcgQEAgdm9pZCBFdmVudEhhbmRsZXI6OnByb2Nlc3NXaGVlbEV2
ZW50Rm9yU2Nyb2xsU25hcChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWUKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gU3BlY2lhbCBjYXNlIGhhbmRsaW5nIGZvciBlbmRpbmcgd2hlZWwg
Z2VzdHVyZSB0byBhY3RpdmF0ZSBzbmFwIGFuaW1hdGlvbjoKLSAgICBpZiAod2hlZWxFdmVudC5w
aGFzZSgpICE9IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQgJiYgd2hlZWxFdmVudC5tb21l
bnR1bVBoYXNlKCkgIT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCkKKyAgICBpZiAod2hl
ZWxFdmVudC5waGFzZSgpICE9IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRlZCAmJiB3aGVl
bEV2ZW50Lm1vbWVudHVtUGhhc2UoKSAhPSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6RW5kZWQp
CiAgICAgICAgIHJldHVybjsKIAogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCmluZGV4IGM5Yjkz
MmRiNjk1NGNkMmUzOTVkNzE0YWU3ZGMzY2U2MTkwOWMxNzAuLjBkYTczZWNkMzk1ZjYxMTdiNDA4
OGQ5MGQ1MWIxMDQwMzE3MDAxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1RyZWUuY3BwCkBAIC02MTcsNyArNjE3LDcgQEAgU2Nyb2xsUGlubmluZ0Jl
aGF2aW9yIFNjcm9sbGluZ1RyZWU6OnNjcm9sbFBpbm5pbmdCZWhhdmlvcigpCiAKIGJvb2wgU2Ny
b2xsaW5nVHJlZTo6d2lsbFdoZWVsRXZlbnRTdGFydFN3aXBlR2VzdHVyZShjb25zdCBQbGF0Zm9y
bVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQpCiB7Ci0gICAgaWYgKHdoZWVsRXZlbnQucGhhc2UoKSAh
PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuKQorICAgIGlmICh3aGVlbEV2ZW50LnBoYXNl
KCkgIT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKICAgICBMb2NrSG9sZGVyIGxvY2sobV9zd2lwZVN0YXRlTXV0ZXgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlR2VzdHVy
ZVN0YXRlLmNwcAppbmRleCBjZWYwZGM5ODYwZjg0ZTI3MDVjN2ZiZGVlMTFlMDFjYzgyMGQ5MDFk
Li40N2FhYjllNzE0NjlhZGMxYjY1NTQyYTY3MjE4MTIwYTM2Yzc3YTAxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlR2VzdHVyZVN0YXRlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlR2VzdHVy
ZVN0YXRlLmNwcApAQCAtNTEsNyArNTEsNyBAQCBib29sIFNjcm9sbGluZ1RyZWVHZXN0dXJlU3Rh
dGU6OmhhbmRsZUdlc3R1cmVDYW5jZWwoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiBldgogewog
ICAgIGlmIChldmVudC5pc0dlc3R1cmVDYW5jZWwoKSkgewogICAgICAgICBpZiAobV9tYXlCZWdp
bk5vZGVJRCkKLSAgICAgICAgICAgIG1fc2Nyb2xsaW5nVHJlZS5oYW5kbGVXaGVlbEV2ZW50UGhh
c2UoKm1fbWF5QmVnaW5Ob2RlSUQsIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2VsbGVkKTsK
KyAgICAgICAgICAgIG1fc2Nyb2xsaW5nVHJlZS5oYW5kbGVXaGVlbEV2ZW50UGhhc2UoKm1fbWF5
QmVnaW5Ob2RlSUQsIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDYW5jZWxsZWQpOwogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCkBAIC02MSw0NCArNjEsNDQgQEAgYm9vbCBTY3Jv
bGxpbmdUcmVlR2VzdHVyZVN0YXRlOjpoYW5kbGVHZXN0dXJlQ2FuY2VsKGNvbnN0IFBsYXRmb3Jt
V2hlZWxFdmVudCYgZXYKIHZvaWQgU2Nyb2xsaW5nVHJlZUdlc3R1cmVTdGF0ZTo6bm9kZURpZEhh
bmRsZUV2ZW50KFNjcm9sbGluZ05vZGVJRCBub2RlSUQsIGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYgZXZlbnQpCiB7CiAgICAgc3dpdGNoIChldmVudC5waGFzZSgpKSB7Ci0gICAgY2FzZSBQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luOgorICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2U6Ok1heUJlZ2luOgogICAgICAgICBtX21heUJlZ2luTm9kZUlEID0gbm9kZUlEOwogICAg
ICAgICBtX3Njcm9sbGluZ1RyZWUuaGFuZGxlV2hlZWxFdmVudFBoYXNlKG5vZGVJRCwgZXZlbnQu
cGhhc2UoKSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2VDYW5jZWxsZWQ6CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Q2FuY2VsbGVk
OgogICAgICAgICAvLyBoYW5kbGVHZXN0dXJlQ2FuY2VsKCkgc2hvdWxkIGhhdmUgYmVlbiBjYWxs
ZWQgZmlyc3QuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVhazsK
LSAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW46CisgICAgY2FzZSBQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZTo6QmVnYW46CiAgICAgICAgIG1fYWN0aXZlTm9kZUlEID0gbm9kZUlE
OwogICAgICAgICBtX3Njcm9sbGluZ1RyZWUuaGFuZGxlV2hlZWxFdmVudFBoYXNlKG5vZGVJRCwg
ZXZlbnQucGhhc2UoKSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2VFbmRlZDoKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRlZDoK
ICAgICAgICAgaWYgKG1fYWN0aXZlTm9kZUlEKQogICAgICAgICAgICAgbV9zY3JvbGxpbmdUcmVl
LmhhbmRsZVdoZWVsRXZlbnRQaGFzZSgqbV9hY3RpdmVOb2RlSUQsIGV2ZW50LnBoYXNlKCkpOwog
ICAgICAgICBicmVhazsKLSAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2hhbmdlZDoK
LSAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlU3RhdGlvbmFyeToKLSAgICBjYXNlIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZToKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlOjpDaGFuZ2VkOgorICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OlN0YXRpb25h
cnk6CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZToKICAgICAgICAgYnJl
YWs7CiAgICAgfQogCiAgICAgc3dpdGNoIChldmVudC5tb21lbnR1bVBoYXNlKCkpIHsKLSAgICBj
YXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW46Ci0gICAgY2FzZSBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZUNhbmNlbGxlZDoKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
OjpNYXlCZWdpbjoKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDYW5jZWxsZWQ6
CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNl
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW46CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZTo6QmVnYW46CiAgICAgICAgIG1fYWN0aXZlTm9kZUlEID0gbm9kZUlEOwogICAgICAg
ICBtX3Njcm9sbGluZ1RyZWUuaGFuZGxlV2hlZWxFdmVudFBoYXNlKG5vZGVJRCwgZXZlbnQubW9t
ZW50dW1QaGFzZSgpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZUVuZGVkOgorICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkVuZGVkOgog
ICAgICAgICBpZiAobV9hY3RpdmVOb2RlSUQpCiAgICAgICAgICAgICBtX3Njcm9sbGluZ1RyZWUu
aGFuZGxlV2hlZWxFdmVudFBoYXNlKCptX2FjdGl2ZU5vZGVJRCwgZXZlbnQubW9tZW50dW1QaGFz
ZSgpKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNo
YW5nZWQ6Ci0gICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZVN0YXRpb25hcnk6Ci0gICAg
Y2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmU6CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZTo6Q2hhbmdlZDoKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpT
dGF0aW9uYXJ5OgorICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmU6CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmNwcAppbmRleCBiNzc2ZjBi
ZGM1Njc3YTQ1OGE5NmQ1ZjYwODM3MmYzNGU5MzFkMWQ4Li5lYjE2NTkwOTQwZDZmYjhiNjdkYjNm
NTYzNzFjMTNhNWRmZjg4YTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGUuY3BwCkBAIC0xNDAsNyAr
MTQwLDcgQEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZTo6Y2FuSGFuZGxlV2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIHcKICAgICAgICAgcmV0dXJuIGZhbHNlOwog
CiAgICAgLy8gTWF5QmVnaW4gaXMgdXNlZCB0byBmbGFzaCBzY3JvbGxiYXJzOyBpZiB0aGlzIG5v
ZGUgaXMgc2Nyb2xsYWJsZSwgaXQgY2FuIGhhbmRsZSBpdC4KLSAgICBpZiAod2hlZWxFdmVudC5w
aGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4pCisgICAgaWYgKHdoZWVs
RXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW4pCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCiAgICAgLy8gV2UgYWx3YXlzIHJ1YmJlci1iYW5kIHRoZSBsYXRj
aGVkIG5vZGUsIG9yIHRoZSByb290IG5vZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYy5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZURlbGVnYXRlTWFjLm1tCmluZGV4IDBjYzgzMDM1ZWNkM2U1ZGRhYjdmNzIyZGU0YmQ1
ZjkzZTNjN2FhZTYuLjU2ZmU5YzMyNGFjZTIzMDYxNWVjYWE4ZDk5OWUzZjJiMjM4YjhkMWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFjLm1tCkBAIC0x
MjQsOSArMTI0LDkgQEAgYm9vbCBTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlTWFj
OjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWwKIHsKICAgICBib29sIHdhc0lu
TW9tZW50dW1QaGFzZSA9IG1faW5Nb21lbnR1bVBoYXNlOwogCi0gICAgaWYgKHdoZWVsRXZlbnQu
bW9tZW50dW1QaGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW4pCisgICAgaWYg
KHdoZWVsRXZlbnQubW9tZW50dW1QaGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpC
ZWdhbikKICAgICAgICAgbV9pbk1vbWVudHVtUGhhc2UgPSB0cnVlOwotICAgIGVsc2UgaWYgKHdo
ZWVsRXZlbnQubW9tZW50dW1QaGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQg
fHwgd2hlZWxFdmVudC5tb21lbnR1bVBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VD
YW5jZWxsZWQpCisgICAgZWxzZSBpZiAod2hlZWxFdmVudC5tb21lbnR1bVBoYXNlKCkgPT0gUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2U6OkVuZGVkIHx8IHdoZWVsRXZlbnQubW9tZW50dW1QaGFzZSgp
ID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDYW5jZWxsZWQpCiAgICAgICAgIG1faW5Nb21l
bnR1bVBoYXNlID0gZmFsc2U7CiAgICAgCiAgICAgaWYgKHdhc0luTW9tZW50dW1QaGFzZSAhPSBt
X2luTW9tZW50dW1QaGFzZSkgewpAQCAtMTQ1LDkgKzE0NSw5IEBAIGJvb2wgU2Nyb2xsaW5nVHJl
ZVNjcm9sbGluZ05vZGVEZWxlZ2F0ZU1hYzo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9y
bVdoZWVsCiAgICAgaWYgKGlzSW5Vc2VyU2Nyb2xsICE9IHdhc0luVXNlclNjcm9sbCkKICAgICAg
ICAgc2Nyb2xsaW5nTm9kZSgpLnNldFVzZXJTY3JvbGxJblByb2dyZXNzKGlzSW5Vc2VyU2Nyb2xs
KTsKIAotICAgIC8vIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gZmlyZXMgd2hlbiB0
d28gZmluZ2VycyB0b3VjaCB0aGUgdHJhY2twYWQsIGFuZCBpcyB1c2VkIHRvIGZsYXNoIG92ZXJs
YXkgc2Nyb2xsYmFycy4KKyAgICAvLyBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW4g
ZmlyZXMgd2hlbiB0d28gZmluZ2VycyB0b3VjaCB0aGUgdHJhY2twYWQsIGFuZCBpcyB1c2VkIHRv
IGZsYXNoIG92ZXJsYXkgc2Nyb2xsYmFycy4KICAgICAvLyBXZSBrbm93IHdlJ3JlIHNjcm9sbGFi
bGUgYXQgdGhpcyBwb2ludCwgc28gaGFuZGxlIHRoZSBldmVudC4KLSAgICBpZiAod2hlZWxFdmVu
dC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4pCisgICAgaWYgKHdo
ZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW4pCiAg
ICAgICAgIHJldHVybiB0cnVlOwogCiAgICAgYXV0byBoYW5kbGVkID0gbV9zY3JvbGxDb250cm9s
bGVyLmhhbmRsZVdoZWVsRXZlbnQod2hlZWxFdmVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vUGxhdGZvcm1XaGVlbEV2ZW50LmNwcAppbmRleCBmZmJkYmQzZDA1NWY3ZDczNWYxZmVl
YWNjNGFmOTc1OTRlNmM2MDgyLi40MjY2M2I3OGE0NWVkZDg5OWY1MDUwMDFkNjE1YWM5NmVmYzcw
NzE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5j
cHAKQEAgLTM1LDEzICszNSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBUZXh0U3RyZWFtJiBv
cGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFzZSkK
IHsKICAgICBzd2l0Y2ggKHBoYXNlKSB7Ci0gICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFz
ZU5vbmU6IHRzIDw8ICJub25lIjsgYnJlYWs7Ci0gICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZUJlZ2FuOiB0cyA8PCAiYmVnYW4iOyBicmVhazsKLSAgICBjYXNlIFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlU3RhdGlvbmFyeTogdHMgPDwgInN0YXRpb25hcnkiOyBicmVhazsKLSAgICBjYXNl
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2hhbmdlZDogdHMgPDwgImNoYW5nZWQiOyBicmVhazsK
LSAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQ6IHRzIDw8ICJlbmRlZCI7IGJy
ZWFrOwotICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxsZWQ6IHRzIDw8ICJj
YW5jZWxsZWQiOyBicmVhazsKLSAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVn
aW46IHRzIDw8ICJtYXlCZWdpbiI7IGJyZWFrOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2U6Ok5vbmU6IHRzIDw8ICJub25lIjsgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZTo6QmVnYW46IHRzIDw8ICJiZWdhbiI7IGJyZWFrOworICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2U6OlN0YXRpb25hcnk6IHRzIDw8ICJzdGF0aW9uYXJ5IjsgYnJlYWs7
CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Q2hhbmdlZDogdHMgPDwgImNoYW5n
ZWQiOyBicmVhazsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRlZDogdHMg
PDwgImVuZGVkIjsgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Q2Fu
Y2VsbGVkOiB0cyA8PCAiY2FuY2VsbGVkIjsgYnJlYWs7CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZTo6TWF5QmVnaW46IHRzIDw8ICJtYXlCZWdpbiI7IGJyZWFrOwogICAgIH0KICAg
ICByZXR1cm4gdHM7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVdoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxF
dmVudC5oCmluZGV4IDE3NmJiNzM2MjI3OGM2OTEwOGY1ZmEyYzg5YjZkMGY3N2IyZmUwYzYuLjNk
NTY5M2Q4MmUwOWYzMzBjYWZiODlmOGI1ZWUyODc2MGI5MzJmYmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCkBAIC01NiwxNCArNTYsMTQgQEAgZW51
bSBQbGF0Zm9ybVdoZWVsRXZlbnRHcmFudWxhcml0eSA6IHVpbnQ4X3QgewogCiAjaWYgRU5BQkxF
KEtJTkVUSUNfU0NST0xMSU5HKQogCi1lbnVtIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIDogdWlu
dDhfdCB7Ci0gICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lID0gMCwKLSAgICBQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZUJlZ2FuID0gMSA8PCAwLAotICAgIFBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlU3RhdGlvbmFyeSA9IDEgPDwgMSwKLSAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNoYW5n
ZWQgPSAxIDw8IDIsCi0gICAgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCA9IDEgPDwgMywK
LSAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZCA9IDEgPDwgNCwKLSAgICBQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJlZ2luID0gMSA8PCA1LAorZW51bSBjbGFzcyBQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZSA6IHVpbnQ4X3QgeworICAgIE5vbmUgICAgICAgID0gMCwKKyAgICBC
ZWdhbiAgICAgICA9IDEgPDwgMCwKKyAgICBTdGF0aW9uYXJ5ICA9IDEgPDwgMSwKKyAgICBDaGFu
Z2VkICAgICA9IDEgPDwgMiwKKyAgICBFbmRlZCAgICAgICA9IDEgPDwgMywKKyAgICBDYW5jZWxs
ZWQgICA9IDEgPDwgNCwKKyAgICBNYXlCZWdpbiAgICA9IDEgPDwgNSwKIH07CiAKIFdURjo6VGV4
dFN0cmVhbSYgb3BlcmF0b3I8PChXVEY6OlRleHRTdHJlYW0mLCBQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZSk7CkBAIC0xODMsOCArMTgzLDggQEAgcHJvdGVjdGVkOgogICAgIEZsb2F0U2l6ZSBtX3Nj
cm9sbGluZ1ZlbG9jaXR5OwogCiAjaWYgRU5BQkxFKEtJTkVUSUNfU0NST0xMSU5HKQotICAgIFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlIG1fcGhhc2UgeyBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU5v
bmUgfTsKLSAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtX21vbWVudHVtUGhhc2UgeyBQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZU5vbmUgfTsKKyAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBt
X3BoYXNlIHsgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmUgfTsKKyAgICBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZSBtX21vbWVudHVtUGhhc2UgeyBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6
Tm9uZSB9OwogI2VuZGlmCiAgICAgYm9vbCBtX2hhc1ByZWNpc2VTY3JvbGxpbmdEZWx0YXMgeyBm
YWxzZSB9OwogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMTk4LDM2ICsxOTgsMzYgQEAgcHJvdGVj
dGVkOgogCiBpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OnVzZUxhdGNoZWRFdmVudEVs
ZW1lbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlQmVnYW4KLSAgICAgICAgfHwgbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFz
ZUNoYW5nZWQKLSAgICAgICAgfHwgbV9tb21lbnR1bVBoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlQmVnYW4KLSAgICAgICAgfHwgbV9tb21lbnR1bVBoYXNlID09IFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlQ2hhbmdlZAotICAgICAgICB8fCAobV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZUVuZGVkICYmIG1fbW9tZW50dW1QaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFz
ZU5vbmUpOworICAgIHJldHVybiBtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpC
ZWdhbgorICAgICAgICB8fCBtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDaGFu
Z2VkCisgICAgICAgIHx8IG1fbW9tZW50dW1QaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFz
ZTo6QmVnYW4KKyAgICAgICAgfHwgbV9tb21lbnR1bVBoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlOjpDaGFuZ2VkCisgICAgICAgIHx8IChtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlOjpFbmRlZCAmJiBtX21vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2U6Ok5vbmUpOwogfQogCiBpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzR2VzdHVy
ZVN0YXJ0KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZl
bnRQaGFzZUJlZ2FuIHx8IG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VNYXlCZWdp
bjsKKyAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6QmVnYW4g
fHwgbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW47CiB9CiAKIGlu
bGluZSBib29sIFBsYXRmb3JtV2hlZWxFdmVudDo6aXNHZXN0dXJlQ29udGludWF0aW9uKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNoYW5n
ZWQ7CisgICAgcmV0dXJuIG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkNoYW5n
ZWQ7CiB9CiAKIGlubGluZSBib29sIFBsYXRmb3JtV2hlZWxFdmVudDo6c2hvdWxkUmVzZXRMYXRj
aGluZygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2VDYW5jZWxsZWQgfHwgbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1heUJl
Z2luIHx8IChtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSAmJiBtX21vbWVu
dHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lKSB8fCBpc0VuZE9mTW9tZW50
dW1TY3JvbGwoKTsKKyAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFz
ZTo6Q2FuY2VsbGVkIHx8IG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJl
Z2luIHx8IChtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpOb25lICYmIG1fbW9t
ZW50dW1QaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZSkgfHwgaXNFbmRPZk1v
bWVudHVtU2Nyb2xsKCk7CiB9CiAKIGlubGluZSBib29sIFBsYXRmb3JtV2hlZWxFdmVudDo6aXNO
b25HZXN0dXJlRXZlbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX3BoYXNlID09IFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlTm9uZSAmJiBtX21vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2VOb25lOworICAgIHJldHVybiBtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlOjpOb25lICYmIG1fbW9tZW50dW1QaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6
Tm9uZTsKIH0KIAogaW5saW5lIGJvb2wgUGxhdGZvcm1XaGVlbEV2ZW50Ojppc0VuZE9mTW9tZW50
dW1TY3JvbGwoKSBjb25zdAogewotICAgIHJldHVybiBtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlTm9uZSAmJiBtX21vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2VFbmRlZDsKKyAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6
Tm9uZSAmJiBtX21vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkVuZGVk
OwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykKQEAgLTIzNiwyMyArMjM2
LDIzIEBAIGlubGluZSBib29sIFBsYXRmb3JtV2hlZWxFdmVudDo6aXNFbmRPZk1vbWVudHVtU2Ny
b2xsKCkgY29uc3QKIAogaW5saW5lIGJvb2wgUGxhdGZvcm1XaGVlbEV2ZW50Ojppc0dlc3R1cmVC
ZWdpbigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2VNYXlCZWdpbgotICAgICAgICB8fCBtX3BoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlQmVnYW47CisgICAgcmV0dXJuIG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6
Ok1heUJlZ2luCisgICAgICAgIHx8IG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6
OkJlZ2FuOwogfQogCiBpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6OmlzR2VzdHVyZUNh
bmNlbCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2VDYW5jZWxsZWQ7CisgICAgcmV0dXJuIG1fcGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2U6OkNhbmNlbGxlZDsKIH0KIAogaW5saW5lIGJvb2wgUGxhdGZvcm1XaGVlbEV2ZW50Ojpp
c0VuZE9mTm9uTW9tZW50dW1TY3JvbGwoKSBjb25zdAogewotICAgIHJldHVybiBtX3BoYXNlID09
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQgJiYgbV9tb21lbnR1bVBoYXNlID09IFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlTm9uZTsKKyAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZTo6RW5kZWQgJiYgbV9tb21lbnR1bVBoYXNlID09IFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlOjpOb25lOwogfQogCiBpbmxpbmUgYm9vbCBQbGF0Zm9ybVdoZWVsRXZlbnQ6Omlz
VHJhbnNpdGlvbmluZ1RvTW9tZW50dW1TY3JvbGwoKSBjb25zdAogewotICAgIHJldHVybiBtX3Bo
YXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSAmJiBtX21vbWVudHVtUGhhc2UgPT0g
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VCZWdhbjsKKyAgICByZXR1cm4gbV9waGFzZSA9PSBQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZSAmJiBtX21vbWVudHVtUGhhc2UgPT0gUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2U6OkJlZ2FuOwogfQogCiBpbmxpbmUgRmxvYXRQb2ludCBQbGF0Zm9ybVdo
ZWVsRXZlbnQ6OnN3aXBlVmVsb2NpdHkoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuY3BwCmluZGV4IGUxZjc5NTYzODhmNWE4MGVjYTg5ZWY2YjdiNTkzNmMz
MmJhOTc5ZWIuLmRhZTI3ZGYzZDI4ODdhZmZhOGNhMDJiMmMxMDgwMzMzNzQ4NmIyZGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKQEAgLTE0NiwxMiArMTQ2
LDEyIEBAIGJvb2wgU2Nyb2xsQW5pbWF0b3I6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW50JiBlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKICNpZiBQTEFU
Rk9STShDT0NPQSkKLSAgICAvLyBFdmVudHMgaW4gdGhlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
TWF5QmVnaW4gcGhhc2UgaGF2ZSBubyBkZWx0YXMsIGFuZCB0aGVyZWZvcmUgbmV2ZXIgcGFzc2Vz
IHRocm91Z2ggdGhlIHNjcm9sbCBoYW5kbGluZyBsb2dpYyBiZWxvdy4KKyAgICAvLyBFdmVudHMg
aW4gdGhlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpNYXlCZWdpbiBwaGFzZSBoYXZlIG5vIGRl
bHRhcywgYW5kIHRoZXJlZm9yZSBuZXZlciBwYXNzZXMgdGhyb3VnaCB0aGUgc2Nyb2xsIGhhbmRs
aW5nIGxvZ2ljIGJlbG93LgogICAgIC8vIFRoaXMgY2F1c2VzIHVzIHRvIHJldHVybiB3aXRoIGFu
ICd1bmhhbmRsZWQnIHJldHVybiBzdGF0ZSwgZXZlbiB0aG91Z2ggdGhpcyBldmVudCB3YXMgc3Vj
Y2Vzc2Z1bGx5IHByb2Nlc3NlZC4KICAgICAvLwotICAgIC8vIFdlIHJlY2VpdmUgYXQgbGVhc3Qg
b25lIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gd2hlbiBzdGFydGluZyBtYWluLXRo
cmVhZCBzY3JvbGxpbmcgKHNlZSBGcmFtZVZpZXc6OndoZWVsRXZlbnQpLCB3aGljaCBjYW4KKyAg
ICAvLyBXZSByZWNlaXZlIGF0IGxlYXN0IG9uZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5
QmVnaW4gd2hlbiBzdGFydGluZyBtYWluLXRocmVhZCBzY3JvbGxpbmcgKHNlZSBGcmFtZVZpZXc6
OndoZWVsRXZlbnQpLCB3aGljaCBjYW4KICAgICAvLyBmb29sIHRoZSBzY3JvbGxpbmcgdGhyZWFk
IGludG8gYXR0ZW1wdGluZyB0byBoYW5kbGUgdGhlIHNjcm9sbCwgdW5sZXNzIHdlIHRyZWF0IHRo
ZSBldmVudCBhcyBoYW5kbGVkIGhlcmUuCi0gICAgaWYgKGUucGhhc2UoKSA9PSBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZU1heUJlZ2luKQorICAgIGlmIChlLnBoYXNlKCkgPT0gUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2U6Ok1heUJlZ2luKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVy
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvU2Nyb2xsQ29udHJvbGxlci5tbQpp
bmRleCA1YTRhOGQ3MTM1MzQ5ZDAzMmFkZDJjMzg1YjkxYmU4NDdjZjJlM2FmLi43YmYwMDUxMGVk
OTliMmVkYWViYTYyMzllMmYzOTlhMTMzNzQ3YzkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jb2NvYS9TY3JvbGxDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL1Njcm9sbENvbnRyb2xsZXIubW0KQEAgLTEyMywxMCArMTIzLDEwIEBA
IGJvb2wgU2Nyb2xsQ29udHJvbGxlcjo6aGFuZGxlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmIHdoZWVsRXZlbnQpCiAgICAgaWYgKHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xs
U25hcCh3aGVlbEV2ZW50KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBGSVhNRTogV2h5IGRv
bid0IHdlIHJlcG9ydCB0aGF0IHdlIGhhbmRsZWQgaXQ/CiAjZW5kaWYKLSAgICBpZiAod2hlZWxF
dmVudC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gfHwgd2hlZWxF
dmVudC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2VsbGVkKQorICAgIGlm
ICh3aGVlbEV2ZW50LnBoYXNlKCkgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJlZ2lu
IHx8IHdoZWVsRXZlbnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Q2FuY2Vs
bGVkKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAod2hlZWxFdmVudC5waGFzZSgp
ID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW4pIHsKKyAgICBpZiAod2hlZWxFdmVudC5w
aGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpCZWdhbikgewogICAgICAgICAvLyBG
SVhNRTogVHJ5aW5nIHRvIGRlY2lkZSBpZiBhIGdlc3R1cmUgaXMgaG9yaXpvbnRhbCBvciB2ZXJ0
aWNhbCBhdCB0aGUgImJlZ2FuIiBwaGFzZSBpcyB2ZXJ5IGVycm9yLXByb25lLgogICAgICAgICBh
dXRvIGRpcmVjdGlvbiA9IGRpcmVjdGlvbkZyb21FdmVudCh3aGVlbEV2ZW50LCBTY3JvbGxFdmVu
dEF4aXM6Okhvcml6b250YWwpOwogICAgICAgICAvLyBGSVhNRTogcGlubmVkSW5EaXJlY3Rpb24o
KSBuZWVkcyBjbGVhbnVwLgpAQCAtMTUyLDE1ICsxNTIsMTUgQEAgYm9vbCBTY3JvbGxDb250cm9s
bGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYgd2hlZWxFdmVu
dCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgaWYgKHdoZWVsRXZlbnQucGhh
c2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkKSB7CisgICAgaWYgKHdoZWVsRXZl
bnQucGhhc2UoKSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6RW5kZWQpIHsKICAgICAgICAg
c25hcFJ1YmJlckJhbmQoKTsKICAgICAgICAgdXBkYXRlUnViYmVyQmFuZGluZ1N0YXRlKCk7CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIGJvb2wgaXNNb21lbnR1bVNjcm9sbEV2
ZW50ID0gKHdoZWVsRXZlbnQubW9tZW50dW1QaGFzZSgpICE9IFBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlTm9uZSk7CisgICAgYm9vbCBpc01vbWVudHVtU2Nyb2xsRXZlbnQgPSAod2hlZWxFdmVudC5t
b21lbnR1bVBoYXNlKCkgIT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmUpOwogICAgIGlm
IChtX2lnbm9yZU1vbWVudHVtU2Nyb2xscyAmJiAoaXNNb21lbnR1bVNjcm9sbEV2ZW50IHx8IG1f
c25hcFJ1YmJlcmJhbmRUaW1lcikpIHsKLSAgICAgICAgaWYgKHdoZWVsRXZlbnQubW9tZW50dW1Q
aGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQpIHsKKyAgICAgICAgaWYgKHdo
ZWVsRXZlbnQubW9tZW50dW1QaGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRl
ZCkgewogICAgICAgICAgICAgbV9pZ25vcmVNb21lbnR1bVNjcm9sbHMgPSBmYWxzZTsKICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CkBAIC0yMDcsNyArMjA3LDcgQEAgYm9vbCBT
Y3JvbGxDb250cm9sbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYgd2hlZWxFdmVudCkKICAgICBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNl
ID0gd2hlZWxFdmVudC5tb21lbnR1bVBoYXNlKCk7CiAKICAgICAvLyBJZiB3ZSBhcmUgc3RhcnRp
bmcgbW9tZW50dW0gc2Nyb2xsaW5nIHRoZW4gZG8gc29tZSBzZXR1cC4KLSAgICBpZiAoIW1fbW9t
ZW50dW1TY3JvbGxJblByb2dyZXNzICYmIChtb21lbnR1bVBoYXNlID09IFBsYXRmb3JtV2hlZWxF
dmVudFBoYXNlQmVnYW4gfHwgbW9tZW50dW1QaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFz
ZUNoYW5nZWQpKQorICAgIGlmICghbV9tb21lbnR1bVNjcm9sbEluUHJvZ3Jlc3MgJiYgKG1vbWVu
dHVtUGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuIHx8IG1vbWVudHVtUGhh
c2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkNoYW5nZWQpKQogICAgICAgICBtX21vbWVu
dHVtU2Nyb2xsSW5Qcm9ncmVzcyA9IHRydWU7CiAKICAgICBhdXRvIHRpbWVEZWx0YSA9IHdoZWVs
RXZlbnQudGltZXN0YW1wKCkgLSBtX2xhc3RNb21lbnR1bVNjcm9sbFRpbWVzdGFtcDsKQEAgLTMx
Niw3ICszMTYsNyBAQCBib29sIFNjcm9sbENvbnRyb2xsZXI6OmhhbmRsZVdoZWVsRXZlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogICAgICAgICB9CiAgICAgfQogCi0g
ICAgaWYgKG1fbW9tZW50dW1TY3JvbGxJblByb2dyZXNzICYmIG1vbWVudHVtUGhhc2UgPT0gUGxh
dGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCkgeworICAgIGlmIChtX21vbWVudHVtU2Nyb2xsSW5Q
cm9ncmVzcyAmJiBtb21lbnR1bVBoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRl
ZCkgewogICAgICAgICBtX21vbWVudHVtU2Nyb2xsSW5Qcm9ncmVzcyA9IGZhbHNlOwogICAgICAg
ICBtX2lnbm9yZU1vbWVudHVtU2Nyb2xscyA9IGZhbHNlOwogICAgICAgICBtX2xhc3RNb21lbnR1
bVNjcm9sbFRpbWVzdGFtcCA9IHsgfTsKQEAgLTYxMiwzNSArNjEyLDM1IEBAIHZvaWQgU2Nyb2xs
Q29udHJvbGxlcjo6dXBkYXRlUnViYmVyQmFuZGluZ0VkZ2VzKEludFNpemUgY2xpZW50U3RyZXRj
aCkKICNpZiBQTEFURk9STShNQUMpCiBzdGF0aWMgaW5saW5lIFdoZWVsRXZlbnRTdGF0dXMgdG9X
aGVlbEV2ZW50U3RhdHVzKFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlIHBoYXNlLCBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNlKQogewotICAgIGlmIChwaGFzZSA9PSBQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZU5vbmUpIHsKKyAgICBpZiAocGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2U6Ok5vbmUpIHsKICAgICAgICAgc3dpdGNoIChtb21lbnR1bVBoYXNlKSB7Ci0gICAg
ICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VCZWdhbjoKKyAgICAgICAgY2FzZSBQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZTo6QmVnYW46CiAgICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVu
dFN0YXR1czo6TW9tZW50dW1TY3JvbGxCZWdpbjsKICAgICAgICAgICAgICAgICAKLSAgICAgICAg
Y2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNoYW5nZWQ6CisgICAgICAgIGNhc2UgUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2U6OkNoYW5nZWQ6CiAgICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVu
dFN0YXR1czo6TW9tZW50dW1TY3JvbGxpbmc7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGNh
c2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZDoKKyAgICAgICAgY2FzZSBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZTo6RW5kZWQ6CiAgICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVudFN0YXR1
czo6TW9tZW50dW1TY3JvbGxFbmQ7CiAKLSAgICAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZU5vbmU6CisgICAgICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok5vbmU6CiAg
ICAgICAgICAgICByZXR1cm4gV2hlZWxFdmVudFN0YXR1czo6U3RhdGVsZXNzU2Nyb2xsRXZlbnQ7
CiAKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50U3RhdHVz
OjpVbmtub3duOwogICAgICAgICB9CiAgICAgfQotICAgIGlmIChtb21lbnR1bVBoYXNlID09IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZSkgeworICAgIGlmIChtb21lbnR1bVBoYXNlID09IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlOjpOb25lKSB7CiAgICAgICAgIHN3aXRjaCAocGhhc2UpIHsK
LSAgICAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOgotICAgICAgICBjYXNl
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW46CisgICAgICAgIGNhc2UgUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2U6OkJlZ2FuOgorICAgICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlOjpNYXlCZWdpbjoKICAgICAgICAgICAgIHJldHVybiBXaGVlbEV2ZW50U3RhdHVzOjpVc2Vy
U2Nyb2xsQmVnaW47CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2VDaGFuZ2VkOgorICAgICAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
OjpDaGFuZ2VkOgogICAgICAgICAgICAgcmV0dXJuIFdoZWVsRXZlbnRTdGF0dXM6OlVzZXJTY3Jv
bGxpbmc7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2VFbmRlZDoKLSAgICAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxl
ZDoKKyAgICAgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6RW5kZWQ6CisgICAgICAg
IGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkNhbmNlbGxlZDoKICAgICAgICAgICAgIHJl
dHVybiBXaGVlbEV2ZW50U3RhdHVzOjpVc2VyU2Nyb2xsRW5kOwogICAgICAgICAgICAgICAgIAog
ICAgICAgICBkZWZhdWx0OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tCmluZGV4IDRkZjNkOTVhYzM1OTBhMmQwOGMxZmU4
MzA1YTA1Y2VkNmYwZGQwNjUuLmQ2NjE4YjViYTJmMmEzOGI2NDJiZTZkY2FhZWFmYTBhZDM4NDQy
ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50
RmFjdG9yeU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1F
dmVudEZhY3RvcnlNYWMubW0KQEAgLTE2OSw0MSArMTY5LDM2IEBAIHN0YXRpYyBpbnQgY2xpY2tD
b3VudEZvckV2ZW50KE5TRXZlbnQgKmV2ZW50KQogICAgIH0KIH0KIAorc3RhdGljIFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlIHBoYXNlRnJvbU5TRXZlbnRQaGFzZShOU0V2ZW50UGhhc2UgZXZlbnRQ
aGFzZSkKK3sKKyAgICBzd2l0Y2ggKGV2ZW50UGhhc2UpIHsKKyAgICBjYXNlIE5TRXZlbnRQaGFz
ZU5vbmU6CisgICAgICAgIHJldHVybiBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Tm9uZTsKKyAg
ICBjYXNlIE5TRXZlbnRQaGFzZUJlZ2FuOgorICAgICAgICByZXR1cm4gUGxhdGZvcm1XaGVlbEV2
ZW50UGhhc2U6OkJlZ2FuOworICAgIGNhc2UgTlNFdmVudFBoYXNlU3RhdGlvbmFyeToKKyAgICAg
ICAgcmV0dXJuIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpTdGF0aW9uYXJ5OworICAgIGNhc2Ug
TlNFdmVudFBoYXNlQ2hhbmdlZDoKKyAgICAgICAgcmV0dXJuIFBsYXRmb3JtV2hlZWxFdmVudFBo
YXNlOjpDaGFuZ2VkOworICAgIGNhc2UgTlNFdmVudFBoYXNlRW5kZWQ6CisgICAgICAgIHJldHVy
biBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6RW5kZWQ7CisgICAgY2FzZSBOU0V2ZW50UGhhc2VD
YW5jZWxsZWQ6CisgICAgICAgIHJldHVybiBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Q2FuY2Vs
bGVkOworICAgIGNhc2UgTlNFdmVudFBoYXNlTWF5QmVnaW46CisgICAgICAgIHJldHVybiBQbGF0
Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW47CisgICAgfQorCisgICAgcmV0dXJuIFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlOjpOb25lOworfQorCiBzdGF0aWMgUGxhdGZvcm1XaGVlbEV2ZW50
UGhhc2UgbW9tZW50dW1QaGFzZUZvckV2ZW50KE5TRXZlbnQgKmV2ZW50KQogewotICAgIHVpbnQz
Ml90IHBoYXNlID0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lOwotCi0gICAgaWYgKFtldmVu
dCBtb21lbnR1bVBoYXNlXSAmIE5TRXZlbnRQaGFzZUJlZ2FuKQotICAgICAgICBwaGFzZSB8PSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOwotICAgIGlmIChbZXZlbnQgbW9tZW50dW1QaGFz
ZV0gJiBOU0V2ZW50UGhhc2VTdGF0aW9uYXJ5KQotICAgICAgICBwaGFzZSB8PSBQbGF0Zm9ybVdo
ZWVsRXZlbnRQaGFzZVN0YXRpb25hcnk7Ci0gICAgaWYgKFtldmVudCBtb21lbnR1bVBoYXNlXSAm
IE5TRXZlbnRQaGFzZUNoYW5nZWQpCi0gICAgICAgIHBoYXNlIHw9IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlQ2hhbmdlZDsKLSAgICBpZiAoW2V2ZW50IG1vbWVudHVtUGhhc2VdICYgTlNFdmVudFBo
YXNlRW5kZWQpCi0gICAgICAgIHBoYXNlIHw9IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQ7
Ci0gICAgaWYgKFtldmVudCBtb21lbnR1bVBoYXNlXSAmIE5TRXZlbnRQaGFzZUNhbmNlbGxlZCkK
LSAgICAgICAgcGhhc2UgfD0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VDYW5jZWxsZWQ7Ci0KLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U+KHBoYXNlKTsKKyAg
ICByZXR1cm4gcGhhc2VGcm9tTlNFdmVudFBoYXNlKFtldmVudCBtb21lbnR1bVBoYXNlXSk7CiB9
CiAKIHN0YXRpYyBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFzZUZvckV2ZW50KE5TRXZlbnQg
KmV2ZW50KQogewotICAgIHVpbnQzMl90IHBoYXNlID0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VO
b25lOyAKLSAgICBpZiAoW2V2ZW50IHBoYXNlXSAmIE5TRXZlbnRQaGFzZUJlZ2FuKQotICAgICAg
ICBwaGFzZSB8PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOwotICAgIGlmIChbZXZlbnQg
cGhhc2VdICYgTlNFdmVudFBoYXNlU3RhdGlvbmFyeSkKLSAgICAgICAgcGhhc2UgfD0gUGxhdGZv
cm1XaGVlbEV2ZW50UGhhc2VTdGF0aW9uYXJ5OwotICAgIGlmIChbZXZlbnQgcGhhc2VdICYgTlNF
dmVudFBoYXNlQ2hhbmdlZCkKLSAgICAgICAgcGhhc2UgfD0gUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2VDaGFuZ2VkOwotICAgIGlmIChbZXZlbnQgcGhhc2VdICYgTlNFdmVudFBoYXNlRW5kZWQpCi0g
ICAgICAgIHBoYXNlIHw9IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQ7Ci0gICAgaWYgKFtl
dmVudCBwaGFzZV0gJiBOU0V2ZW50UGhhc2VDYW5jZWxsZWQpCi0gICAgICAgIHBoYXNlIHw9IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlQ2FuY2VsbGVkOwotICAgIGlmIChbZXZlbnQgbW9tZW50dW1Q
aGFzZV0gJiBOU0V2ZW50UGhhc2VNYXlCZWdpbikKLSAgICAgICAgcGhhc2UgfD0gUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2VNYXlCZWdpbjsKLQotICAgIHJldHVybiBzdGF0aWNfY2FzdDxQbGF0Zm9y
bVdoZWVsRXZlbnRQaGFzZT4ocGhhc2UpOworICAgIHJldHVybiBwaGFzZUZyb21OU0V2ZW50UGhh
c2UoW2V2ZW50IHBoYXNlXSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHRleHRGcm9tRXZl
bnQoTlNFdmVudCogZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0KaW5kZXggYWU2YzUxNzE2ZDZmZTc0YWZlMThjODVhNDNhYTc3MmQz
MDI0NDE4Ny4uYjdkMTdhOTkyNjA1NWQ2NjNjYjgwZmIwYTQ5Y2NiYTEzMDk4YWY0NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQpAQCAt
MTI0NiwxMiArMTI0NiwxMiBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpoYW5kbGVXaGVlbEV2
ZW50UGhhc2UoUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2UgcGhhc2UpCiAgICAgLy8gU28gc2V0IGl0
IHRvIHRydWUgaGVyZS4KICAgICBtX2hhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQgPSB0cnVlOwog
Ci0vLyBGSVhNRTogTmVlZCB0byBlbnN1cmUgd2UgZ2V0IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
RW5kZWQuCi0gICAgaWYgKHBoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW4pCisv
LyBGSVhNRTogTmVlZCB0byBlbnN1cmUgd2UgZ2V0IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpF
bmRlZC4KKyAgICBpZiAocGhhc2UgPT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6OkJlZ2FuKQog
ICAgICAgICBkaWRCZWdpblNjcm9sbEdlc3R1cmUoKTsKLSAgICBlbHNlIGlmIChwaGFzZSA9PSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkIHx8IHBoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlQ2FuY2VsbGVkKQorICAgIGVsc2UgaWYgKHBoYXNlID09IFBsYXRmb3JtV2hlZWxFdmVu
dFBoYXNlOjpFbmRlZCB8fCBwaGFzZSA9PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6Q2FuY2Vs
bGVkKQogICAgICAgICBkaWRFbmRTY3JvbGxHZXN0dXJlKCk7Ci0gICAgZWxzZSBpZiAocGhhc2Ug
PT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VNYXlCZWdpbikKKyAgICBlbHNlIGlmIChwaGFzZSA9
PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW4pCiAgICAgICAgIG1heUJlZ2luU2Ny
b2xsR2VzdHVyZSgpOwogfQogCkBAIC0xMzI4LDcgKzEzMjgsNyBAQCBSZWN0RWRnZXM8Ym9vbD4g
U2Nyb2xsQW5pbWF0b3JNYWM6OmVkZ2VQaW5uZWRTdGF0ZSgpIGNvbnN0CiAvLyBhbGxvd3NWZXJ0
aWNhbFN0cmV0Y2hpbmcoKSwgYW5kIGFsbG93c0hvcml6b250YWxTdHJldGNoaW5nKCkgd2l0aCB0
aGUgaW1wbGVtZW50YXRpb24gaW4gU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy4K
IHN0YXRpYyBib29sIG5ld0dlc3R1cmVJc1N0YXJ0aW5nKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYgd2hlZWxFdmVudCkKIHsKLSAgICByZXR1cm4gd2hlZWxFdmVudC5waGFzZSgpID09IFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlTWF5QmVnaW4gfHwgd2hlZWxFdmVudC5waGFzZSgpID09IFBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlQmVnYW47CisgICAgcmV0dXJuIHdoZWVsRXZlbnQucGhhc2UoKSA9
PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6TWF5QmVnaW4gfHwgd2hlZWxFdmVudC5waGFzZSgp
ID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpCZWdhbjsKIH0KIAogYm9vbCBTY3JvbGxBbmlt
YXRvck1hYzo6aXNBbHJlYWR5UGlubmVkSW5EaXJlY3Rpb25PZkdlc3R1cmUoY29uc3QgUGxhdGZv
cm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBTY3JvbGxFdmVudEF4aXMgYXhpcykgY29uc3QKQEAg
LTEzNTAsNyArMTM1MCw3IEBAIHN0YXRpYyBib29sIGdlc3R1cmVTaG91bGRCZWdpblNuYXAoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBjb25zdCBWCiAgICAgaWYgKCFzbmFw
T2Zmc2V0cykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIAotICAgIGlmICh3aGVlbEV2ZW50
LnBoYXNlKCkgIT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCAmJiAhd2hlZWxFdmVudC5p
c0VuZE9mTW9tZW50dW1TY3JvbGwoKSkKKyAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpICE9IFBs
YXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRlZCAmJiAhd2hlZWxFdmVudC5pc0VuZE9mTW9tZW50
dW1TY3JvbGwoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0dXJuIHRydWU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvbWFjL1Nj
cm9sbGVyUGFpck1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9tYWMvU2Nyb2xsZXJQYWlyTWFjLm1tCmluZGV4IDk1ODAwMTJiOTJhOTM2ZjI3OGVjZjFlMGI4
ZGM3NzFlZmYxZTZkZmUuLjI4OWU2MmYxY2I4Njg0Y2NmZTAxYzNlY2Y4NjI3NzE1ZWRjNzQxNmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9tYWMv
U2Nyb2xsZXJQYWlyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9tYWMvU2Nyb2xsZXJQYWlyTWFjLm1tCkBAIC0xNDQsMTQgKzE0NCwxNCBAQCBTY3Jv
bGxlclBhaXJNYWM6On5TY3JvbGxlclBhaXJNYWMoKQogYm9vbCBTY3JvbGxlclBhaXJNYWM6Omhh
bmRsZVdoZWVsRXZlbnQoY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50JiBldmVudCkK
IHsKICAgICBzd2l0Y2ggKGV2ZW50LnBoYXNlKCkpIHsKLSAgICBjYXNlIFdlYkNvcmU6OlBsYXRm
b3JtV2hlZWxFdmVudFBoYXNlQmVnYW46CisgICAgY2FzZSBXZWJDb3JlOjpQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZTo6QmVnYW46CiAgICAgICAgIFttX3Njcm9sbGVySW1wUGFpciBiZWdpblNjcm9s
bEdlc3R1cmVdOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFdlYkNvcmU6OlBsYXRmb3JtV2hl
ZWxFdmVudFBoYXNlRW5kZWQ6Ci0gICAgY2FzZSBXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZUNhbmNlbGxlZDoKKyAgICBjYXNlIFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudFBoYXNl
OjpFbmRlZDoKKyAgICBjYXNlIFdlYkNvcmU6OlBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpDYW5j
ZWxsZWQ6CiAgICAgICAgIFttX3Njcm9sbGVySW1wUGFpciBlbmRTY3JvbGxHZXN0dXJlXTsKICAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXZWJDb3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZU1h
eUJlZ2luOgorICAgIGNhc2UgV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2U6Ok1heUJl
Z2luOgogICAgICAgICBbbV9zY3JvbGxlckltcFBhaXIgYmVnaW5TY3JvbGxHZXN0dXJlXTsKICAg
ICAgICAgW21fc2Nyb2xsZXJJbXBQYWlyIGNvbnRlbnRBcmVhU2Nyb2xsZWRdOwogICAgICAgICBi
cmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50
RGlzcGF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9FdmVudERp
c3BhdGNoZXIuY3BwCmluZGV4IGMxZTgxZDBmMzU1ZTMyODI3ZTIzYTMyZTY0NWE2MzBmM2FhNWZj
MTQuLjU0OWMwM2FkYzUyMTk3Nzg4OTRkMjEzMzY2ZDdmY2VjY2I1ZWVkNTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0V2ZW50RGlzcGF0Y2hlci5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRXZlbnREaXNwYXRjaGVyLmNwcApA
QCAtMTM0LDcgKzEzNCw3IEBAIHZvaWQgRXZlbnREaXNwYXRjaGVyOjp3aGVlbEV2ZW50KFBhZ2VJ
ZGVudGlmaWVyIHBhZ2VJRCwgY29uc3QgV2ViV2hlZWxFdmVudCYgd2hlCiAgICAgICAgIC8vIFdl
YkNvcmUgc2hvdWxkIGFsd2F5cyBrbm93IHRoZSBjdXJyZW50IHN0YXRlIGFuZCBrbm93IHdoZW4g
aXQgY2hhbmdlcyBzbyB0aGUKICAgICAgICAgLy8gc2Nyb2xsaW5nIHRyZWUgY2FuIGJlIG5vdGlm
aWVkLgogICAgICAgICAvLyBXZSBvbmx5IG5lZWQgdG8gZG8gdGhpcyBhdCB0aGUgYmVnaW5uaW5n
IG9mIHRoZSBnZXN0dXJlLgotICAgICAgICBpZiAocGxhdGZvcm1XaGVlbEV2ZW50LnBoYXNlKCkg
PT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VCZWdhbikKKyAgICAgICAgaWYgKHBsYXRmb3JtV2hl
ZWxFdmVudC5waGFzZSgpID09IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpCZWdhbikKICAgICAg
ICAgICAgIHNjcm9sbGluZ1RyZWUtPnNldE1haW5GcmFtZUNhblJ1YmJlckJhbmQoeyBjYW5SdWJi
ZXJCYW5kQXRUb3AsIGNhblJ1YmJlckJhbmRBdFJpZ2h0LCBjYW5SdWJiZXJCYW5kQXRCb3R0b20s
IGNhblJ1YmJlckJhbmRBdExlZnQgfSk7CiAKICAgICAgICAgYXV0byBwcm9jZXNzaW5nU3RlcHMg
PSBzY3JvbGxpbmdUcmVlLT5kZXRlcm1pbmVXaGVlbEV2ZW50UHJvY2Vzc2luZyhwbGF0Zm9ybVdo
ZWVsRXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvRE9NL1dlYkRP
TU9wZXJhdGlvbnMubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9ET00vV2ViRE9NT3BlcmF0
aW9ucy5tbQppbmRleCA3MzhiNGY4ZjI0ODQ4NGZkMjc3Y2I3MjhjMjgwMjhkN2I5YzAwODUzLi43
ZDcyZmY1YmQ2ZGI5NDY2ZjRlOTYyNjkwNzQyYTI4ODllYTYzYWY5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9ET00vV2ViRE9NT3BlcmF0aW9ucy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9ET00vV2ViRE9NT3BlcmF0aW9ucy5tbQpAQCAtMjUxLDIxICsyNTEs
MjQgQEAgQGVuZAogI2lmICFQTEFURk9STShJT1NfRkFNSUxZKQogc3RhdGljIE5TRXZlbnRQaGFz
ZSB0b05TRXZlbnRQaGFzZShQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwbGF0Zm9ybVBoYXNlKQog
ewotICAgIHVpbnQzMl90IHBoYXNlID0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VOb25lOyAKLSAg
ICBpZiAocGxhdGZvcm1QaGFzZSAmIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW4pCi0gICAg
ICAgIHBoYXNlIHw9IE5TRXZlbnRQaGFzZUJlZ2FuOwotICAgIGlmIChwbGF0Zm9ybVBoYXNlICYg
UGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VTdGF0aW9uYXJ5KQotICAgICAgICBwaGFzZSB8PSBOU0V2
ZW50UGhhc2VTdGF0aW9uYXJ5OwotICAgIGlmIChwbGF0Zm9ybVBoYXNlICYgUGxhdGZvcm1XaGVl
bEV2ZW50UGhhc2VDaGFuZ2VkKQotICAgICAgICBwaGFzZSB8PSBOU0V2ZW50UGhhc2VDaGFuZ2Vk
OwotICAgIGlmIChwbGF0Zm9ybVBoYXNlICYgUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCkK
LSAgICAgICAgcGhhc2UgfD0gTlNFdmVudFBoYXNlRW5kZWQ7Ci0gICAgaWYgKHBsYXRmb3JtUGhh
c2UgJiBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUNhbmNlbGxlZCkKLSAgICAgICAgcGhhc2UgfD0g
TlNFdmVudFBoYXNlQ2FuY2VsbGVkOwotICAgIGlmIChwbGF0Zm9ybVBoYXNlICYgUGxhdGZvcm1X
aGVlbEV2ZW50UGhhc2VNYXlCZWdpbikKLSAgICAgICAgcGhhc2UgfD0gTlNFdmVudFBoYXNlTWF5
QmVnaW47Ci0KLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TlNFdmVudFBoYXNlPihwaGFzZSk7Cisg
ICAgc3dpdGNoIChwbGF0Zm9ybVBoYXNlKSB7CisgICAgY2FzZSBQbGF0Zm9ybVdoZWVsRXZlbnRQ
aGFzZTo6Tm9uZToKKyAgICAgICAgcmV0dXJuIE5TRXZlbnRQaGFzZU5vbmU7CisgICAgY2FzZSBQ
bGF0Zm9ybVdoZWVsRXZlbnRQaGFzZTo6QmVnYW46CisgICAgICAgIHJldHVybiBOU0V2ZW50UGhh
c2VCZWdhbjsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpTdGF0aW9uYXJ5Ogor
ICAgICAgICByZXR1cm4gTlNFdmVudFBoYXNlU3RhdGlvbmFyeTsKKyAgICBjYXNlIFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlOjpDaGFuZ2VkOgorICAgICAgICByZXR1cm4gTlNFdmVudFBoYXNlQ2hh
bmdlZDsKKyAgICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpFbmRlZDoKKyAgICAgICAg
cmV0dXJuIE5TRXZlbnRQaGFzZUVuZGVkOworICAgIGNhc2UgUGxhdGZvcm1XaGVlbEV2ZW50UGhh
c2U6OkNhbmNlbGxlZDoKKyAgICAgICAgcmV0dXJuIE5TRXZlbnRQaGFzZUNhbmNlbGxlZDsKKyAg
ICBjYXNlIFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlOjpNYXlCZWdpbjoKKyAgICAgICAgcmV0dXJu
IE5TRXZlbnRQaGFzZU1heUJlZ2luOworICAgIH0KKworICAgIHJldHVybiBOU0V2ZW50UGhhc2VO
b25lOwogfQogCiBAaW1wbGVtZW50YXRpb24gRE9NV2hlZWxFdmVudCAoV2ViRE9NV2hlZWxFdmVu
dE9wZXJhdGlvbnNQcml2YXRlKQo=
</data>
<flag name="review"
          id="430392"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>