<?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>200473</bug_id>
          
          <creation_ts>2019-08-06 11:38:24 -0700</creation_ts>
          <short_desc>[LFC] Introduce Layout::Phase class</short_desc>
          <delta_ts>2019-08-08 08:52:25 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1558846</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-08-06 11:38:24 -0700</bug_when>
    <thetext>to be able to check whether we could carry out certain actions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558847</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-06 11:38:45 -0700</bug_when>
    <thetext>&lt;rdar://problem/53996061&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1558852</commentid>
    <comment_count>2</comment_count>
      <attachid>375635</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-08-06 11:42:27 -0700</bug_when>
    <thetext>Created attachment 375635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559056</commentid>
    <comment_count>3</comment_count>
      <attachid>375682</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-08-06 21:16:11 -0700</bug_when>
    <thetext>Created attachment 375682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559109</commentid>
    <comment_count>4</comment_count>
      <attachid>375682</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-07 07:24:00 -0700</bug_when>
    <thetext>Comment on attachment 375682
Patch

Clearing flags on attachment: 375682

Committed r248364: &lt;https://trac.webkit.org/changeset/248364&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559110</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-07 07:24:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559316</commentid>
    <comment_count>6</comment_count>
      <attachid>375682</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-08-07 14:27:30 -0700</bug_when>
    <thetext>Comment on attachment 375682
Patch

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

&gt; Source/WebCore/layout/LayoutPhase.cpp:37
&gt; +    static NeverDestroyed&lt;Phase&gt; phase;
&gt; +    return phase;

Global state like this is going to make any threading work &quot;challenging.&quot; Are you sure you want to do this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559425</commentid>
    <comment_count>7</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-08-07 19:54:30 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #6)
&gt; Comment on attachment 375682 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=375682&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/layout/LayoutPhase.cpp:37
&gt; &gt; +    static NeverDestroyed&lt;Phase&gt; phase;
&gt; &gt; +    return phase;
&gt; 
&gt; Global state like this is going to make any threading work &quot;challenging.&quot;
&gt; Are you sure you want to do this?
You are right. I need to re-work this at some point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1559521</commentid>
    <comment_count>8</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-08-08 08:52:25 -0700</bug_when>
    <thetext>(In reply to zalan from comment #7)
&gt; (In reply to Sam Weinig from comment #6)
&gt; &gt; Comment on attachment 375682 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=375682&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/layout/LayoutPhase.cpp:37
&gt; &gt; &gt; +    static NeverDestroyed&lt;Phase&gt; phase;
&gt; &gt; &gt; +    return phase;
&gt; &gt; 
&gt; &gt; Global state like this is going to make any threading work &quot;challenging.&quot;
&gt; &gt; Are you sure you want to do this?
&gt; You are right. I need to re-work this at some point.
Guess I need to turn it into formatting context based. Independent (sibling, out-of-flow etc) formatting contexts could be mutated and laid out simultaneously.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375635</attachid>
            <date>2019-08-06 11:42:27 -0700</date>
            <delta_ts>2019-08-06 20:09:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200473-20190806114222.patch</filename>
            <type>text/plain</type>
            <size>14222</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4MjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZiNTBmNWYzY2NlOGU4
NmQ3Y2QyMDI0Y2FhN2FhMjU0NDFiYzczYi4uN2M1MTc0NTk5YjA2YzZmNTM0NWJkYTE1NGU2OTk2
NmMzNzUyOTdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA4LTA2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW50cm9kdWNlIExh
eW91dDo6UGhhc2UgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMDQ3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTM5OTYwNjE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaGVscHMgdG8g
Y2hlY2sgd2hldGhlciB3ZSBjb3VsZCBydW4gY2VydGFpbiBhY3Rpb25zIGxpa2UgbGF5b3V0IHdo
aWxlIGNvbnN0cnVjdGluZyB0aGUgdHJlZS4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsYXlv
dXQvTGF5b3V0U3RhdGUuaDoKKyAgICAgICAgKiBsYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4
dC5jcHA6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHA6
CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6Qm94Ojplc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojpjb250YWluaW5nQmxvY2sgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmZvcm1hdHRpbmdDb250ZXh0Um9vdCBjb25z
dCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUcmVlQnVpbGRlcjo6Y3JlYXRlTGF5b3V0VHJlZSk6
CisKIDIwMTktMDgtMDQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXSBSZW1vdmUgb3V0LW9mLWZsb3cgZGVzY2VuZGFudHMgZnJvbSBDb250YWluZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKaW5kZXggOTQyNjc0MzFkNDlmY2RlODUxYWY5YWI3OGMxM2M2NGUyN2FhYjE1OS4u
ZjJlNDg4MWM1YzQ0Yjk1YTA1MjkzMWNhMTE5OWI2NTkwNWZmZGE3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
QEAgLTEzODYsNiArMTM4Niw3IEBAIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKIGxheW91
dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0
UXVpcmtzLmNwcAogbGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAKK2xheW91dC9MYXlvdXRQaGFz
ZS5jcHAKIGxheW91dC9MYXlvdXRTdGF0ZS5jcHAKIGxheW91dC9WZXJpZmljYXRpb24uY3BwCiBs
YXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjdh
MWU0OGNmYWEwMjg4ZTRhN2M4ODRjYWU0YWJmYmVlMjdjZDc3MC4uZTdjMDU1ZWRkNzQ5NzNhNzk4
NmVhMTk1ZGQ0MmZiMTk5NDEyNTExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTEzNSw2ICs5MTM1LDcgQEAKIAkJNkYzNUVG
QUYyMTg3Q0JENTAwNDRFMEY0IC8qIElubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRHZW9tZXRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGM0UxRjVG
MjEzNjE0MTcwMEE2NUEwOCAvKiBGbG9hdEJveC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGbG9h
dEJveC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGM0UxRjYxMjEzNjE0MTcw
MEE2NUEwOCAvKiBGbG9hdEJveC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGbG9hdEJveC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2RjRBNUJENTIyRjlGMTZCMDBBODBGMjUgLyogTGF5b3V0
UGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0UGhhc2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2RjczOTE4QzIxMDZDRUREMDA2QUYyNjIgLyogTGF5b3V0VW5p
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0VW5pdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNkY3Q0EzQzQyMDhDMjk1NjAwMkYyOUFCIC8qIExheW91dFN0YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExheW91dFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZG
N0NBM0M1MjA4QzI5NTYwMDJGMjlBQiAvKiBMYXlvdXRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMYXlvdXRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MTg1
LDYgKzkxODYsNyBAQAogCQk2RkU3QUEyNjIxQzM3QjYzMDAyOTZEQ0QgLyogTWFyZ2luVHlwZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWFyZ2luVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNkZFN0NGQTAyMTc3RUVGMTAwNUIxNTczIC8qIElubGluZUl0ZW0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2RkU5RjA5MjIyMjExMDM1MDA0QzUwODIgLyogQ29udGVudENoYW5nZU9ic2Vy
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnRlbnRDaGFu
Z2VPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZGRUZFODFEMjJG
OUQyMkEwMDExNDkyNyAvKiBMYXlvdXRQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRQaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkZEQzQzRTIxMkVGRjE2MDBBOUNB
OTEgLyogRmxvYXRBdm9pZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEZsb2F0QXZvaWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGRkRD
NDQwMjEyRUZGMTYwMEE5Q0E5MSAvKiBGbG9hdEF2b2lkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRmxvYXRBdm9pZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTcwOUEwMUZEMUUzRDBCQ0MwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZUZldGNoRmFpbHVyZUtpbmQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MzUxLDYgKzE2MzUzLDggQEAKIAkJ
CQkxMTVDRkE3NTIwOEFGRTMwMDAxRTY5OTEgLyogRm9ybWF0dGluZ1N0YXRlLmNwcCAqLywKIAkJ
CQkxMTVDRkE3NDIwOEFGRTMwMDAxRTY5OTEgLyogRm9ybWF0dGluZ1N0YXRlLmggKi8sCiAJCQkJ
MTE1Rjc4MDUyMDlDQkNCRDAwNzM5QzEzIC8qIEludmFsaWRhdGlvbi5oICovLAorCQkJCTZGNEE1
QkQ1MjJGOUYxNkIwMEE4MEYyNSAvKiBMYXlvdXRQaGFzZS5jcHAgKi8sCisJCQkJNkZFRkU4MUQy
MkY5RDIyQTAwMTE0OTI3IC8qIExheW91dFBoYXNlLmggKi8sCiAJCQkJNkY3Q0EzQzUyMDhDMjk1
NjAwMkYyOUFCIC8qIExheW91dFN0YXRlLmNwcCAqLywKIAkJCQk2RjdDQTNDNDIwOEMyOTU2MDAy
RjI5QUIgLyogTGF5b3V0U3RhdGUuaCAqLywKIAkJCQk2RjczOTE4QzIxMDZDRUREMDA2QUYyNjIg
LyogTGF5b3V0VW5pdHMuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9M
YXlvdXRQaGFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0UGhhc2UuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmIyNjkxMzQ0YjdkNDlmZjliZDE1MTBmZDZjMjc3NDc3OGM2ODFiZTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0UGhhc2UuY3BwCkBAIC0w
LDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
TGF5b3V0UGhhc2UuaCIKKworI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgTGF5b3V0IHsKKworc3RhdGljIFBoYXNl
JiBwaGFzZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFBoYXNlPiBwaGFzZTsKKyAg
ICByZXR1cm4gcGhhc2U7Cit9CisKK2Jvb2wgUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmcoKQoreyAK
KyAgICByZXR1cm4gcGhhc2UoKS5zdGF0ZSgpID09IFN0YXRlOjpUcmVlQnVpbGRpbmc7IAorfQor
Citib29sIFBoYXNlOjppc0luTGF5b3V0KCkKK3sgCisgICAgcmV0dXJuIHBoYXNlKCkuc3RhdGUo
KSA9PSBTdGF0ZTo6TGF5b3V0OyAKK30KKworYm9vbCBQaGFzZTo6aXNJbkludmFsaWRhdGlvbigp
Cit7IAorICAgIHJldHVybiBwaGFzZSgpLnN0YXRlKCkgPT0gU3RhdGU6OkludmFsaWRhdGlvbjsg
Cit9CisKK1BoYXNlU2NvcGU6OlBoYXNlU2NvcGUoUGhhc2U6OlN0YXRlIHN0YXRlKQoreyAKKyAg
ICAvLyBTaG91bGQgbmV2ZXIgbmVzdCBzdGF0ZXMgbGlrZSBjYWxsaW5nIFRyZWVCdWlsZGluZyBm
cm9tIExheW91dC4gCisgICAgQVNTRVJUKHBoYXNlKCkuaXNVbnNldCgpKTsgCisgICAgcGhhc2Uo
KS5zZXRTdGF0ZShzdGF0ZSk7Cit9CisgICAgCitQaGFzZVNjb3BlOjp+UGhhc2VTY29wZSgpCit7
CisgICAgcGhhc2UoKS5yZXNldCgpOworfQorCit9Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRQaGFzZS5oIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0
L0xheW91dFBoYXNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzliNzVkYzEyZTBkYzUwMWMwMGYxZDgwMzIxOWMx
MzNlN2ExMWJmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlv
dXRQaGFzZS5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CituYW1lc3BhY2UgTGF5b3V0IHsKKworY2xhc3MgUGhhc2VTY29wZTsKKworY2xhc3MgUGhh
c2UgeworcHVibGljOgorICAgIGVudW0gY2xhc3MgU3RhdGUgeworICAgICAgICBVbnNldCwKKyAg
ICAgICAgVHJlZUJ1aWxkaW5nLAorICAgICAgICBJbnZhbGlkYXRpb24sCisgICAgICAgIExheW91
dAorICAgIH07CisgICAgc3RhdGljIGJvb2wgaXNJblRyZWVCdWlsZGluZygpOworICAgIHN0YXRp
YyBib29sIGlzSW5MYXlvdXQoKTsKKyAgICBzdGF0aWMgYm9vbCBpc0luSW52YWxpZGF0aW9uKCk7
CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFBoYXNlU2NvcGU7CisKKyAgICB2b2lkIHNl
dFN0YXRlKFN0YXRlIHN0YXRlKSB7IG1fc3RhdGUgPSBzdGF0ZTsgfQorICAgIFN0YXRlIHN0YXRl
KCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIHZvaWQgcmVzZXQoKSB7IG1fc3RhdGUg
PSBTdGF0ZTo6VW5zZXQ7IH0KKyAgICBib29sIGlzVW5zZXQoKSB7IHJldHVybiBtX3N0YXRlID09
IFN0YXRlOjpVbnNldDsgfQorCisgICAgU3RhdGUgbV9zdGF0ZSB7IFN0YXRlOjpVbnNldCB9Owor
fTsKKworY2xhc3MgUGhhc2VTY29wZSB7CitwdWJsaWM6CisgICAgUGhhc2VTY29wZShQaGFzZTo6
U3RhdGUpOworICAgIH5QaGFzZVNjb3BlKCk7Cit9OworCit9Cit9CisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9MYXlvdXRTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
bGF5b3V0L0xheW91dFN0YXRlLmgKaW5kZXggOThkZDhjNTc3N2VkZDExNTI1OGFjYTlkOGQzODEx
ZjY1MDRjMTM2MS4uMTQwODc2ZGQ2NzFkNjkzN2RkOTcwY2YyOGUzOTI2M2Q1NmYyMWQ5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmgKQEAgLTM2LDkgKzM2LDcgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0jaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiBj
bGFzcyBSZW5kZXJWaWV3OwotI2VuZGlmCiAKIG5hbWVzcGFjZSBEaXNwbGF5IHsKIGNsYXNzIEJv
eDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250
ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mbG9hdHMvRmxvYXRpbmdDb250ZXh0LmNw
cAppbmRleCA5NDk1ZDMzMDg0MTYyZjYxMmNiYTg1Y2Y5MzhkNTc3MzlkNmNhNzI3Li4xMDM3NTAx
ZWUzYjZkZjRlN2I1NTlmMzRiMzYyZWM3ZDkyZTBiNmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiRGlzcGxheUJveC5oIgogI2luY2x1ZGUgIkZsb2F0QXZvaWRlci5oIgogI2luY2x1
ZGUgIkZsb2F0Qm94LmgiCisjaW5jbHVkZSAiRm9ybWF0dGluZ0NvbnRleHQuaCIKICNpbmNsdWRl
ICJMYXlvdXRCb3guaCIKICNpbmNsdWRlICJMYXlvdXRDb250YWluZXIuaCIKICNpbmNsdWRlICJM
YXlvdXRTdGF0ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lLmNwcAppbmRleCA4YWRlYzFlNzI5YjMxZjAzZWIwN2ExOGM2MTRk
NDhmZjA5OGNmNjA1Li40ZjIwYTZmZjFkNzBjZTM0OWJkZTBlYmVkZmU4ZjgwYTM1ZTg1YTI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lLmNwcApAQCAtMjgsNiArMjgsOCBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRU
SU5HX0NPTlRFWFQpCiAKKyNpbmNsdWRlICJJbmxpbmVGb3JtYXR0aW5nQ29udGV4dC5oIgorI2lu
Y2x1ZGUgIlRleHRVdGlsLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xh
eW91dHRyZWUvTGF5b3V0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dEJveC5jcHAKaW5kZXggNWNjYTY0MmQ1NDhlZGNkYTAwMDM4NTUwM2E1YzRmOTg3YjM3
ODZkNS4uZWRmMmQ0YjI3NjYyMmM4OTVkMTc3OTcxNGNmN2NmMjA4YWNkOWM0MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCkBAIC0yOSw2ICsy
OSw3IEBACiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKICNpbmNsdWRl
ICJMYXlvdXRDb250YWluZXIuaCIKKyNpbmNsdWRlICJMYXlvdXRQaGFzZS5oIgogI2luY2x1ZGUg
IlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIApAQCAt
NjUsNiArNjYsOCBAQCBCb3g6On5Cb3goKQogCiBib29sIEJveDo6ZXN0YWJsaXNoZXNGb3JtYXR0
aW5nQ29udGV4dCgpIGNvbnN0CiB7CisgICAgLy8gV2UgbmVlZCB0aGUgZmluYWwgdHJlZSBzdHJ1
Y3R1cmUgdG8gdGVsbCB3aGV0aGVyIGEgYm94IGVzdGFibGlzaGVzIGEgY2VydGFpbiBmb3JtYXR0
aW5nIGNvbnRleHQuIAorICAgIEFTU0VSVCghUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmcoKSk7CiAg
ICAgcmV0dXJuIGVzdGFibGlzaGVzQmxvY2tGb3JtYXR0aW5nQ29udGV4dCgpIHx8IGVzdGFibGlz
aGVzSW5saW5lRm9ybWF0dGluZ0NvbnRleHQoKSB8fCBlc3RhYmxpc2hlc1RhYmxlRm9ybWF0dGlu
Z0NvbnRleHQoKTsKIH0KIApAQCAtMTc3LDYgKzE4MCw4IEBAIGJvb2wgQm94Ojppc0Zsb2F0QXZv
aWRlcigpIGNvbnN0CiAKIGNvbnN0IENvbnRhaW5lciogQm94Ojpjb250YWluaW5nQmxvY2soKSBj
b25zdAogeworICAgIC8vIEZpbmRpbmcgdGhlIGNvbnRhaW5pbmcgYmxvY2sgYnkgdHJhdmVyc2lu
ZyB0aGUgdHJlZSBkdXJpbmcgdHJlZSBjb25zdHJ1Y3Rpb24gY291bGQgcHJvdmlkZSBpbmNvcnJl
Y3QgcmVzdWx0LgorICAgIEFTU0VSVCghUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmcoKSk7CiAgICAg
Ly8gVGhlIGNvbnRhaW5pbmcgYmxvY2sgaW4gd2hpY2ggdGhlIHJvb3QgZWxlbWVudCBsaXZlcyBp
cyBhIHJlY3RhbmdsZSBjYWxsZWQgdGhlIGluaXRpYWwgY29udGFpbmluZyBibG9jay4KICAgICAv
LyBGb3Igb3RoZXIgZWxlbWVudHMsIGlmIHRoZSBlbGVtZW50J3MgcG9zaXRpb24gaXMgJ3JlbGF0
aXZlJyBvciAnc3RhdGljJywgdGhlIGNvbnRhaW5pbmcgYmxvY2sgaXMgZm9ybWVkIGJ5IHRoZQog
ICAgIC8vIGNvbnRlbnQgZWRnZSBvZiB0aGUgbmVhcmVzdCBibG9jayBjb250YWluZXIgYW5jZXN0
b3IgYm94LgpAQCAtMjEwLDYgKzIxNSw4IEBAIGNvbnN0IENvbnRhaW5lciogQm94Ojpjb250YWlu
aW5nQmxvY2soKSBjb25zdAogCiBjb25zdCBDb250YWluZXImIEJveDo6Zm9ybWF0dGluZ0NvbnRl
eHRSb290KCkgY29uc3QKIHsKKyAgICAvLyBGaW5kaW5nIHRoZSBjb250ZXh0IHJvb3QgYnkgdHJh
dmVyc2luZyB0aGUgdHJlZSBkdXJpbmcgdHJlZSBjb25zdHJ1Y3Rpb24gY291bGQgcHJvdmlkZSBp
bmNvcnJlY3QgcmVzdWx0LgorICAgIEFTU0VSVCghUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmcoKSk7
CiAgICAgLy8gV2Ugc2hvdWxkIG5ldmVyIG5lZWQgdG8gYXNrIHRoaXMgcXVlc3Rpb24gb24gdGhl
IElDQi4KICAgICBBU1NFUlQoIWlzSW5pdGlhbENvbnRhaW5pbmdCbG9jaygpKTsKICAgICAvLyBB
IGJveCBsaXZlcyBpbiB0aGUgc2FtZSBmb3JtYXR0aW5nIGNvbnRleHQgYXMgaXRzIGNvbnRhaW5p
bmcgYmxvY2sgdW5sZXNzIHRoZSBjb250YWluaW5nIGJsb2NrIGVzdGFibGlzaGVzIGEgZm9ybWF0
dGluZyBjb250ZXh0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRy
ZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCmluZGV4IGNhMzEwYTk0NDA4NGIzYjU0OTJjYzhjZDI5
MzE1ZjY4MDRmMTgzY2MuLjEzZDcwZWUxNzg5YzNmMTM3NWRlNTlhZDE5Y2Y5NWU3OThmZmViM2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVC
dWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRU
cmVlQnVpbGRlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJMYXlvdXRDaGlsZEl0
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGF5b3V0Q29udGFpbmVyLmgiCiAjaW5jbHVkZSAiTGF5b3V0
RGVzY2VuZGFudEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiTGF5b3V0UGhhc2UuaCIKICNpbmNsdWRl
ICJMYXlvdXRTdGF0ZS5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyQ2hpbGRJdGVyYXRvci5oIgpAQCAtNjksNiArNzAsOCBAQCBzdGF0aWMgdm9pZCBhcHBlbmRD
aGlsZChDb250YWluZXImIHBhcmVudCwgQm94JiBuZXdDaGlsZCkKIAogc3RkOjp1bmlxdWVfcHRy
PENvbnRhaW5lcj4gVHJlZUJ1aWxkZXI6OmNyZWF0ZUxheW91dFRyZWUoY29uc3QgUmVuZGVyVmll
dyYgcmVuZGVyVmlldykKIHsKKyAgICBQaGFzZVNjb3BlIHNjb3BlKFBoYXNlOjpTdGF0ZTo6VHJl
ZUJ1aWxkaW5nKTsKKwogICAgIGF1dG8gc3R5bGUgPSBSZW5kZXJTdHlsZTo6Y2xvbmUocmVuZGVy
Vmlldy5zdHlsZSgpKTsKICAgICBzdHlsZS5zZXRMb2dpY2FsV2lkdGgoTGVuZ3RoKHJlbmRlclZp
ZXcud2lkdGgoKSwgRml4ZWQpKTsKICAgICBzdHlsZS5zZXRMb2dpY2FsSGVpZ2h0KExlbmd0aChy
ZW5kZXJWaWV3LmhlaWdodCgpLCBGaXhlZCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>375682</attachid>
            <date>2019-08-06 21:16:11 -0700</date>
            <delta_ts>2019-08-07 07:24:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-200473-20190806211606.patch</filename>
            <type>text/plain</type>
            <size>15405</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4MjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZiNTBmNWYzY2NlOGU4
NmQ3Y2QyMDI0Y2FhN2FhMjU0NDFiYzczYi4uN2M1MTc0NTk5YjA2YzZmNTM0NWJkYTE1NGU2OTk2
NmMzNzUyOTdjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTA4LTA2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ10gSW50cm9kdWNlIExh
eW91dDo6UGhhc2UgY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMDQ3MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTM5OTYwNjE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaGVscHMgdG8g
Y2hlY2sgd2hldGhlciB3ZSBjb3VsZCBydW4gY2VydGFpbiBhY3Rpb25zIGxpa2UgbGF5b3V0IHdo
aWxlIGNvbnN0cnVjdGluZyB0aGUgdHJlZS4KKworICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsYXlv
dXQvTGF5b3V0U3RhdGUuaDoKKyAgICAgICAgKiBsYXlvdXQvZmxvYXRzL0Zsb2F0aW5nQ29udGV4
dC5jcHA6CisgICAgICAgICogbGF5b3V0L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHA6
CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkxheW91dDo6Qm94Ojplc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6Qm94Ojpjb250YWluaW5nQmxvY2sgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpCb3g6OmZvcm1hdHRpbmdDb250ZXh0Um9vdCBjb25z
dCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUcmVlQnVpbGRlcjo6Y3JlYXRlTGF5b3V0VHJlZSk6
CisKIDIwMTktMDgtMDQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXSBSZW1vdmUgb3V0LW9mLWZsb3cgZGVzY2VuZGFudHMgZnJvbSBDb250YWluZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKaW5kZXggOTQyNjc0MzFkNDlmY2RlODUxYWY5YWI3OGMxM2M2NGUyN2FhYjE1OS4u
ZjJlNDg4MWM1YzQ0Yjk1YTA1MjkzMWNhMTE5OWI2NTkwNWZmZGE3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
QEAgLTEzODYsNiArMTM4Niw3IEBAIGxheW91dC9Gb3JtYXR0aW5nQ29udGV4dC5jcHAKIGxheW91
dC9Gb3JtYXR0aW5nQ29udGV4dEdlb21ldHJ5LmNwcAogbGF5b3V0L0Zvcm1hdHRpbmdDb250ZXh0
UXVpcmtzLmNwcAogbGF5b3V0L0Zvcm1hdHRpbmdTdGF0ZS5jcHAKK2xheW91dC9MYXlvdXRQaGFz
ZS5jcHAKIGxheW91dC9MYXlvdXRTdGF0ZS5jcHAKIGxheW91dC9WZXJpZmljYXRpb24uY3BwCiBs
YXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjdh
MWU0OGNmYWEwMjg4ZTRhN2M4ODRjYWU0YWJmYmVlMjdjZDc3MC4uZTdjMDU1ZWRkNzQ5NzNhNzk4
NmVhMTk1ZGQ0MmZiMTk5NDEyNTExNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTEzNSw2ICs5MTM1LDcgQEAKIAkJNkYzNUVG
QUYyMTg3Q0JENTAwNDRFMEY0IC8qIElubGluZUZvcm1hdHRpbmdDb250ZXh0R2VvbWV0cnkuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5saW5lRm9ybWF0dGluZ0Nv
bnRleHRHZW9tZXRyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGM0UxRjVG
MjEzNjE0MTcwMEE2NUEwOCAvKiBGbG9hdEJveC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGbG9h
dEJveC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGM0UxRjYxMjEzNjE0MTcw
MEE2NUEwOCAvKiBGbG9hdEJveC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGbG9hdEJveC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk2RjRBNUJENTIyRjlGMTZCMDBBODBGMjUgLyogTGF5b3V0
UGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGF5b3V0UGhhc2UuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk2RjczOTE4QzIxMDZDRUREMDA2QUYyNjIgLyogTGF5b3V0VW5p
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gTGF5b3V0VW5pdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNkY3Q0EzQzQyMDhDMjk1NjAwMkYyOUFCIC8qIExheW91dFN0YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExheW91dFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZG
N0NBM0M1MjA4QzI5NTYwMDJGMjlBQiAvKiBMYXlvdXRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBMYXlvdXRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MTg1
LDYgKzkxODYsNyBAQAogCQk2RkU3QUEyNjIxQzM3QjYzMDAyOTZEQ0QgLyogTWFyZ2luVHlwZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWFyZ2luVHlwZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNkZFN0NGQTAyMTc3RUVGMTAwNUIxNTczIC8qIElubGluZUl0ZW0uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5saW5lSXRlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk2RkU5RjA5MjIyMjExMDM1MDA0QzUwODIgLyogQ29udGVudENoYW5nZU9ic2Vy
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbnRlbnRDaGFu
Z2VPYnNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZGRUZFODFEMjJG
OUQyMkEwMDExNDkyNyAvKiBMYXlvdXRQaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXlvdXRQaGFz
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2RkZEQzQzRTIxMkVGRjE2MDBBOUNB
OTEgLyogRmxvYXRBdm9pZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEZsb2F0QXZvaWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZGRkRD
NDQwMjEyRUZGMTYwMEE5Q0E5MSAvKiBGbG9hdEF2b2lkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRmxvYXRBdm9pZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTcwOUEwMUZEMUUzRDBCQ0MwMDZCMEQ0QyAvKiBNb2R1bGVGZXRjaEZhaWx1cmVLaW5kLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZUZldGNoRmFpbHVyZUtpbmQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MzUxLDYgKzE2MzUzLDggQEAKIAkJ
CQkxMTVDRkE3NTIwOEFGRTMwMDAxRTY5OTEgLyogRm9ybWF0dGluZ1N0YXRlLmNwcCAqLywKIAkJ
CQkxMTVDRkE3NDIwOEFGRTMwMDAxRTY5OTEgLyogRm9ybWF0dGluZ1N0YXRlLmggKi8sCiAJCQkJ
MTE1Rjc4MDUyMDlDQkNCRDAwNzM5QzEzIC8qIEludmFsaWRhdGlvbi5oICovLAorCQkJCTZGNEE1
QkQ1MjJGOUYxNkIwMEE4MEYyNSAvKiBMYXlvdXRQaGFzZS5jcHAgKi8sCisJCQkJNkZFRkU4MUQy
MkY5RDIyQTAwMTE0OTI3IC8qIExheW91dFBoYXNlLmggKi8sCiAJCQkJNkY3Q0EzQzUyMDhDMjk1
NjAwMkYyOUFCIC8qIExheW91dFN0YXRlLmNwcCAqLywKIAkJCQk2RjdDQTNDNDIwOEMyOTU2MDAy
RjI5QUIgLyogTGF5b3V0U3RhdGUuaCAqLywKIAkJCQk2RjczOTE4QzIxMDZDRUREMDA2QUYyNjIg
LyogTGF5b3V0VW5pdHMuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9M
YXlvdXRQaGFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0UGhhc2UuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY2N2IyODgyYTM1MjViZjgyN2ZlNDc1MjdhOTczNzM4MGE4Y2MzMGEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0UGhhc2UuY3BwCkBAIC0w
LDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
TGF5b3V0UGhhc2UuaCIKKworI2lmIEVOQUJMRShMQVlPVVRfRk9STUFUVElOR19DT05URVhUKQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgTGF5b3V0IHsKKworc3RhdGljIFBoYXNl
JiBwaGFzZSgpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFBoYXNlPiBwaGFzZTsKKyAg
ICByZXR1cm4gcGhhc2U7Cit9CisKK2Jvb2wgUGhhc2U6OmlzSW5UcmVlQnVpbGRpbmcoKQoreyAK
KyAgICByZXR1cm4gKnBoYXNlKCkgJiYgKCpwaGFzZSgpKS52YWx1ZSgpID09IFR5cGU6OlRyZWVC
dWlsZGluZzsKK30KKworYm9vbCBQaGFzZTo6aXNJbkxheW91dCgpCit7IAorICAgIHJldHVybiAq
cGhhc2UoKSAmJiAoKnBoYXNlKCkpLnZhbHVlKCkgPT0gVHlwZTo6TGF5b3V0OworfQorCitib29s
IFBoYXNlOjppc0luSW52YWxpZGF0aW9uKCkKK3sgCisgICAgcmV0dXJuICpwaGFzZSgpICYmICgq
cGhhc2UoKSkudmFsdWUoKSA9PSBUeXBlOjpJbnZhbGlkYXRpb247Cit9CisKK1BoYXNlU2NvcGU6
OlBoYXNlU2NvcGUoUGhhc2U6OlR5cGUgdHlwZSkKK3sgCisgICAgLy8gU2hvdWxkIG5ldmVyIG5l
c3Qgc3RhdGVzIGxpa2UgY2FsbGluZyBUcmVlQnVpbGRpbmcgZnJvbSBMYXlvdXQuIAorICAgIEFT
U0VSVCghKCpwaGFzZSgpKS5oYXNWYWx1ZSgpKTsKKyAgICBwaGFzZSgpLnNldCh0eXBlKTsKK30K
KyAgICAKK1BoYXNlU2NvcGU6On5QaGFzZVNjb3BlKCkKK3sKKyAgICBwaGFzZSgpLnJlc2V0KCk7
Cit9CisKK30KK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xh
eW91dFBoYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0UGhhc2UuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wMDQwZTBiOTQxMGUxOWM3Nzk0ODc1Y2EyYzJlMGU2YjkyNzQzZjMyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFBoYXNlLmgKQEAgLTAsMCArMSw2
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKExBWU9VVF9GT1JN
QVRUSU5HX0NPTlRFWFQpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBMYXlvdXQg
eworCitjbGFzcyBQaGFzZVNjb3BlOworCitjbGFzcyBQaGFzZSB7CitwdWJsaWM6CisgICAgZW51
bSBjbGFzcyBUeXBlIHsKKyAgICAgICAgVHJlZUJ1aWxkaW5nLAorICAgICAgICBJbnZhbGlkYXRp
b24sCisgICAgICAgIExheW91dAorICAgIH07CisgICAgc3RhdGljIGJvb2wgaXNJblRyZWVCdWls
ZGluZygpOworICAgIHN0YXRpYyBib29sIGlzSW5MYXlvdXQoKTsKKyAgICBzdGF0aWMgYm9vbCBp
c0luSW52YWxpZGF0aW9uKCk7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIFBoYXNlU2Nv
cGU7CisKKyAgICB2b2lkIHNldChUeXBlIHR5cGUpIHsgbV90eXBlID0gdHlwZTsgfQorICAgIHZv
aWQgcmVzZXQoKSB7IG1fdHlwZSA9IHsgfTsgfQorICAgIE9wdGlvbmFsPFR5cGU+IG9wZXJhdG9y
KigpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorCisgICAgT3B0aW9uYWw8VHlwZT4gbV90eXBl
OworfTsKKworY2xhc3MgUGhhc2VTY29wZSB7CitwdWJsaWM6CisgICAgUGhhc2VTY29wZShQaGFz
ZTo6VHlwZSk7CisgICAgflBoYXNlU2NvcGUoKTsKK307CisKK30KK30KKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xheW91dC9MYXlvdXRTdGF0ZS5jcHAKaW5kZXggMDY1ZTNjMWI1ZWUyNzc4NzlhNzY5ZTkz
MGNjNWJjOGU5OGVhYjZkMS4uYmVmNWFkZDYwMzFiYWYyZTFlODIwYjNmODM5ZDEyYzMwOTQ5YzUz
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuY3BwCkBAIC0zOCw2ICszOCw3IEBA
CiAjaW5jbHVkZSAiSW52YWxpZGF0aW9uLmgiCiAjaW5jbHVkZSAiTGF5b3V0Qm94LmgiCiAjaW5j
bHVkZSAiTGF5b3V0Q29udGFpbmVyLmgiCisjaW5jbHVkZSAiTGF5b3V0UGhhc2UuaCIKICNpbmNs
dWRlICJMYXlvdXRUcmVlQnVpbGRlci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNs
dWRlICJUYWJsZUZvcm1hdHRpbmdDb250ZXh0LmgiCkBAIC03MSw2ICs3Miw4IEBAIExheW91dFN0
YXRlOjpMYXlvdXRTdGF0ZShjb25zdCBDb250YWluZXImIGluaXRpYWxDb250YWluaW5nQmxvY2sp
CiAKIHZvaWQgTGF5b3V0U3RhdGU6OnVwZGF0ZUxheW91dCgpCiB7CisgICAgUGhhc2VTY29wZSBz
Y29wZShQaGFzZTo6VHlwZTo6TGF5b3V0KTsKKwogICAgIEFTU0VSVCghbV9mb3JtYXR0aW5nQ29u
dGV4dFJvb3RMaXN0Rm9yTGF5b3V0LmlzRW1wdHkoKSk7CiAgICAgZm9yIChhdXRvKiBsYXlvdXRS
b290IDogbV9mb3JtYXR0aW5nQ29udGV4dFJvb3RMaXN0Rm9yTGF5b3V0KQogICAgICAgICBsYXlv
dXRGb3JtYXR0aW5nQ29udGV4dFN1YnRyZWUoKmxheW91dFJvb3QpOwpAQCAtOTQsNiArOTcsOCBA
QCBEaXNwbGF5OjpCb3gmIExheW91dFN0YXRlOjpkaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KGNvbnN0
IEJveCYgbGF5b3V0Qm94KSBjb25zdAogCiB2b2lkIExheW91dFN0YXRlOjpzdHlsZUNoYW5nZWQo
Y29uc3QgQm94JiBsYXlvdXRCb3gsIFN0eWxlRGlmZiBzdHlsZURpZmYpCiB7CisgICAgUGhhc2VT
Y29wZSBzY29wZShQaGFzZTo6VHlwZTo6SW52YWxpZGF0aW9uKTsKKwogICAgIGF1dG8mIGZvcm1h
dHRpbmdTdGF0ZSA9IGZvcm1hdHRpbmdTdGF0ZUZvckJveChsYXlvdXRCb3gpOwogICAgIGNvbnN0
IENvbnRhaW5lciogaW52YWxpZGF0aW9uUm9vdCA9IG51bGxwdHI7CiAgICAgaWYgKGlzPEJsb2Nr
Rm9ybWF0dGluZ1N0YXRlPihmb3JtYXR0aW5nU3RhdGUpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbGF5b3V0L0xheW91dFN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0
U3RhdGUuaAppbmRleCA5OGRkOGM1Nzc3ZWRkMTE1MjU4YWNhOWQ4ZDM4MTFmNjUwNGMxMzYxLi4x
NDA4NzZkZDY3MWQ2OTM3ZGQ5NzBjZjI4ZTM5MjYzZDU2ZjIxZDk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sYXlvdXQvTGF5b3V0U3RhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvTGF5b3V0U3RhdGUuaApAQCAtMzYsOSArMzYsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLSNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIGNsYXNzIFJlbmRlclZp
ZXc7Ci0jZW5kaWYKIAogbmFtZXNwYWNlIERpc3BsYXkgewogY2xhc3MgQm94OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2Zsb2F0cy9GbG9hdGluZ0NvbnRleHQuY3BwCmluZGV4IDk0OTVk
MzMwODQxNjJmNjEyY2JhODVjZjkzOGQ1NzczOWQ2Y2E3MjcuLjEwMzc1MDFlZTNiNmRmNGU3YjU1
OWYzNGIzNjJlYzdkOTJlMGI2YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9m
bG9hdHMvRmxvYXRpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZmxv
YXRzL0Zsb2F0aW5nQ29udGV4dC5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJEaXNw
bGF5Qm94LmgiCiAjaW5jbHVkZSAiRmxvYXRBdm9pZGVyLmgiCiAjaW5jbHVkZSAiRmxvYXRCb3gu
aCIKKyNpbmNsdWRlICJGb3JtYXR0aW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkxheW91dEJveC5o
IgogI2luY2x1ZGUgIkxheW91dENvbnRhaW5lci5oIgogI2luY2x1ZGUgIkxheW91dFN0YXRlLmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGlu
ZUxpbmUuY3BwCmluZGV4IDhhZGVjMWU3MjliMzFmMDNlYjA3YTE4YzYxNGQ0OGZmMDk4Y2Y2MDUu
LjRmMjBhNmZmMWQ3MGNlMzQ5YmRlMGViZWRmZThmODBhMzVlODVhMjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbmxpbmVmb3JtYXR0aW5nL0lubGluZUxpbmUuY3BwCkBA
IC0yOCw2ICsyOCw4IEBACiAKICNpZiBFTkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkK
IAorI2luY2x1ZGUgIklubGluZUZvcm1hdHRpbmdDb250ZXh0LmgiCisjaW5jbHVkZSAiVGV4dFV0
aWwuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlv
dXRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0Qm94LmNw
cAppbmRleCA1Y2NhNjQyZDU0OGVkY2RhMDAwMzg1NTAzYTVjNGY5ODdiMzc4NmQ1Li5lZGYyZDRi
Mjc2NjIyYzg5NWQxNzc5NzE0Y2Y3Y2YyMDhhY2Q5YzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9sYXlvdXR0cmVlL0xheW91dEJveC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBF
TkFCTEUoTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkKIAogI2luY2x1ZGUgIkxheW91dENvbnRh
aW5lci5oIgorI2luY2x1ZGUgIkxheW91dFBoYXNlLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUu
aCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgogCkBAIC02NSw2ICs2Niw4IEBA
IEJveDo6fkJveCgpCiAKIGJvb2wgQm94Ojplc3RhYmxpc2hlc0Zvcm1hdHRpbmdDb250ZXh0KCkg
Y29uc3QKIHsKKyAgICAvLyBXZSBuZWVkIHRoZSBmaW5hbCB0cmVlIHN0cnVjdHVyZSB0byB0ZWxs
IHdoZXRoZXIgYSBib3ggZXN0YWJsaXNoZXMgYSBjZXJ0YWluIGZvcm1hdHRpbmcgY29udGV4dC4g
CisgICAgQVNTRVJUKCFQaGFzZTo6aXNJblRyZWVCdWlsZGluZygpKTsKICAgICByZXR1cm4gZXN0
YWJsaXNoZXNCbG9ja0Zvcm1hdHRpbmdDb250ZXh0KCkgfHwgZXN0YWJsaXNoZXNJbmxpbmVGb3Jt
YXR0aW5nQ29udGV4dCgpIHx8IGVzdGFibGlzaGVzVGFibGVGb3JtYXR0aW5nQ29udGV4dCgpOwog
fQogCkBAIC0xNzcsNiArMTgwLDggQEAgYm9vbCBCb3g6OmlzRmxvYXRBdm9pZGVyKCkgY29uc3QK
IAogY29uc3QgQ29udGFpbmVyKiBCb3g6OmNvbnRhaW5pbmdCbG9jaygpIGNvbnN0CiB7CisgICAg
Ly8gRmluZGluZyB0aGUgY29udGFpbmluZyBibG9jayBieSB0cmF2ZXJzaW5nIHRoZSB0cmVlIGR1
cmluZyB0cmVlIGNvbnN0cnVjdGlvbiBjb3VsZCBwcm92aWRlIGluY29ycmVjdCByZXN1bHQuCisg
ICAgQVNTRVJUKCFQaGFzZTo6aXNJblRyZWVCdWlsZGluZygpKTsKICAgICAvLyBUaGUgY29udGFp
bmluZyBibG9jayBpbiB3aGljaCB0aGUgcm9vdCBlbGVtZW50IGxpdmVzIGlzIGEgcmVjdGFuZ2xl
IGNhbGxlZCB0aGUgaW5pdGlhbCBjb250YWluaW5nIGJsb2NrLgogICAgIC8vIEZvciBvdGhlciBl
bGVtZW50cywgaWYgdGhlIGVsZW1lbnQncyBwb3NpdGlvbiBpcyAncmVsYXRpdmUnIG9yICdzdGF0
aWMnLCB0aGUgY29udGFpbmluZyBibG9jayBpcyBmb3JtZWQgYnkgdGhlCiAgICAgLy8gY29udGVu
dCBlZGdlIG9mIHRoZSBuZWFyZXN0IGJsb2NrIGNvbnRhaW5lciBhbmNlc3RvciBib3guCkBAIC0y
MTAsNiArMjE1LDggQEAgY29uc3QgQ29udGFpbmVyKiBCb3g6OmNvbnRhaW5pbmdCbG9jaygpIGNv
bnN0CiAKIGNvbnN0IENvbnRhaW5lciYgQm94Ojpmb3JtYXR0aW5nQ29udGV4dFJvb3QoKSBjb25z
dAogeworICAgIC8vIEZpbmRpbmcgdGhlIGNvbnRleHQgcm9vdCBieSB0cmF2ZXJzaW5nIHRoZSB0
cmVlIGR1cmluZyB0cmVlIGNvbnN0cnVjdGlvbiBjb3VsZCBwcm92aWRlIGluY29ycmVjdCByZXN1
bHQuCisgICAgQVNTRVJUKCFQaGFzZTo6aXNJblRyZWVCdWlsZGluZygpKTsKICAgICAvLyBXZSBz
aG91bGQgbmV2ZXIgbmVlZCB0byBhc2sgdGhpcyBxdWVzdGlvbiBvbiB0aGUgSUNCLgogICAgIEFT
U0VSVCghaXNJbml0aWFsQ29udGFpbmluZ0Jsb2NrKCkpOwogICAgIC8vIEEgYm94IGxpdmVzIGlu
IHRoZSBzYW1lIGZvcm1hdHRpbmcgY29udGV4dCBhcyBpdHMgY29udGFpbmluZyBibG9jayB1bmxl
c3MgdGhlIGNvbnRhaW5pbmcgYmxvY2sgZXN0YWJsaXNoZXMgYSBmb3JtYXR0aW5nIGNvbnRleHQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVl
QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRUcmVl
QnVpbGRlci5jcHAKaW5kZXggY2EzMTBhOTQ0MDg0YjNiNTQ5MmNjOGNkMjkzMTVmNjgwNGYxODNj
Yy4uNWZlZWNlZTcyZjA4YzQ4NTA4OGVlNDg1MTk0NWM2NjQwY2ZlNTdkMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0VHJlZUJ1aWxkZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFRyZWVCdWlsZGVyLmNw
cApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIkxheW91dENoaWxkSXRlcmF0b3IuaCIKICNp
bmNsdWRlICJMYXlvdXRDb250YWluZXIuaCIKICNpbmNsdWRlICJMYXlvdXREZXNjZW5kYW50SXRl
cmF0b3IuaCIKKyNpbmNsdWRlICJMYXlvdXRQaGFzZS5oIgogI2luY2x1ZGUgIkxheW91dFN0YXRl
LmgiCiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJh
dG9yLmgiCkBAIC02OSw2ICs3MCw4IEBAIHN0YXRpYyB2b2lkIGFwcGVuZENoaWxkKENvbnRhaW5l
ciYgcGFyZW50LCBCb3gmIG5ld0NoaWxkKQogCiBzdGQ6OnVuaXF1ZV9wdHI8Q29udGFpbmVyPiBU
cmVlQnVpbGRlcjo6Y3JlYXRlTGF5b3V0VHJlZShjb25zdCBSZW5kZXJWaWV3JiByZW5kZXJWaWV3
KQogeworICAgIFBoYXNlU2NvcGUgc2NvcGUoUGhhc2U6OlR5cGU6OlRyZWVCdWlsZGluZyk7CisK
ICAgICBhdXRvIHN0eWxlID0gUmVuZGVyU3R5bGU6OmNsb25lKHJlbmRlclZpZXcuc3R5bGUoKSk7
CiAgICAgc3R5bGUuc2V0TG9naWNhbFdpZHRoKExlbmd0aChyZW5kZXJWaWV3LndpZHRoKCksIEZp
eGVkKSk7CiAgICAgc3R5bGUuc2V0TG9naWNhbEhlaWdodChMZW5ndGgocmVuZGVyVmlldy5oZWln
aHQoKSwgRml4ZWQpKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>