<?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>193950</bug_id>
          
          <creation_ts>2019-01-28 19:41:47 -0800</creation_ts>
          <short_desc>User agent string override for navigator.userAgent should be site specific quirks</short_desc>
          <delta_ts>2019-01-28 23:15:40 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=193762</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>hi</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1499367</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 19:41:47 -0800</bug_when>
    <thetext>In order to make it possible to toggle the UA string override just for navigator.userAgent via Web Inspector,
we need to put this behind the site specific quirks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499369</commentid>
    <comment_count>1</comment_count>
      <attachid>360425</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 19:49:50 -0800</bug_when>
    <thetext>Created attachment 360425
Hides behind site specific quirks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499380</commentid>
    <comment_count>2</comment_count>
      <attachid>360425</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-01-28 20:11:52 -0800</bug_when>
    <thetext>Comment on attachment 360425
Hides behind site specific quirks

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

&gt; Source/WebCore/loader/FrameLoader.cpp:2719
&gt; +            auto userAgent = documentLoader-&gt;customJavaScriptUserAgentAsSiteSpecificQuirks();

I don&apos;t think you want to declare it &apos;auto&apos; here -- won&apos;t it go out of scope after this line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499382</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 20:19:53 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #2)
&gt; Comment on attachment 360425 [details]
&gt; Hides behind site specific quirks
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=360425&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:2719
&gt; &gt; +            auto userAgent = documentLoader-&gt;customJavaScriptUserAgentAsSiteSpecificQuirks();
&gt; 
&gt; I don&apos;t think you want to declare it &apos;auto&apos; here -- won&apos;t it go out of scope
&gt; after this line?

Oh oops, I forgot to remove that auto after moving the code around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499384</commentid>
    <comment_count>4</comment_count>
      <attachid>360429</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 20:21:49 -0800</bug_when>
    <thetext>Created attachment 360429
Removed superflous auto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499385</commentid>
    <comment_count>5</comment_count>
      <attachid>360429</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2019-01-28 20:24:23 -0800</bug_when>
    <thetext>Comment on attachment 360429
Removed superflous auto

r=mews</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499389</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 20:49:24 -0800</bug_when>
    <thetext>Oops, I forgot to enable SiteSpecificQuirks in API tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499390</commentid>
    <comment_count>7</comment_count>
      <attachid>360430</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 20:50:24 -0800</bug_when>
    <thetext>Created attachment 360430
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499394</commentid>
    <comment_count>8</comment_count>
      <attachid>360430</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 21:00:44 -0800</bug_when>
    <thetext>Comment on attachment 360430
Patch for landing

Wait for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499409</commentid>
    <comment_count>9</comment_count>
      <attachid>360437</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 21:40:55 -0800</bug_when>
    <thetext>Created attachment 360437
Fixed iOS build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499443</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-01-28 23:15:02 -0800</bug_when>
    <thetext>Committed r240646: &lt;https://trac.webkit.org/changeset/240646&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499444</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-28 23:15:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/47624338&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360425</attachid>
            <date>2019-01-28 19:49:50 -0800</date>
            <delta_ts>2019-01-28 20:21:48 -0800</delta_ts>
            <desc>Hides behind site specific quirks</desc>
            <filename>bug-193950-20190128194949.patch</filename>
            <type>text/plain</type>
            <size>14974</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFkNzQ1MGE5NDQ0ODAw
NmViOTcyYTEyMjYyYTI3ZmVjMDBjNDAwZi4uNzIwYTMwZGRkOWRjYjYzNTA4ZTI5ODViM2Q2M2U2
MDlmZmEyOWRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTAxLTI4ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZXIgYWdlbnQgc3RyaW5n
IG92ZXJyaWRlIGZvciBuYXZpZ2F0b3IudXNlckFnZW50IHNob3VsZCBiZSBzaXRlIHNwZWNpZmlj
IHF1aXJrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkzOTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW4gb3JkZXIgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB0b2dnbGUgdGhlIFVBIHN0cmluZyBvdmVy
cmlkZSBqdXN0IGZvciBuYXZpZ2F0b3IudXNlckFnZW50IHZpYSBXZWIgSW5zcGVjdG9yLAorICAg
ICAgICB3ZSBuZWVkIHRvIHB1dCB0aGlzIG92ZXJyaWRlIGJlaGluZCB0aGUgc2l0ZSBzcGVjaWZp
YyBxdWlya3MuIEJlY2F1c2UgV2ViSW5zcGVjdG9yIG92ZXJyaWRlcyBQYWdlJ3Mgc2V0dGluZwor
ICAgICAgICB3aXRob3V0IHVwZGF0aW5nIFdLUHJlZmVyZW5jZXMsIHRoZXJlIGlzIG5vIHdheSBm
b3IgV0tXZWJWaWV3IGNsaWVudCdzIHRvIGtub3cgd2hldGhlciB0aGUgc2l0ZSBzcGVjaWZpYyBx
dWlya3MKKyAgICAgICAgaGFkIGJlZW4gZGlzYWJsZWQgb3Igbm90LgorCisgICAgICAgICogbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNT
aXRlU3BlY2lmaWNRdWlya3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2Fk
ZXI6OnNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6dXNlckFnZW50Rm9ySmF2YVNjcmlwdCBjb25zdCk6CisKIDIwMTkt
MDEtMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBMaW1p
dCB1c2VyLWFnZW50IGludGVyYWN0aW9ucyBiYXNlZCBvbiB0aGUgdG91Y2gtYWN0aW9uIHByb3Bl
cnR5IG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBmYzQ4ZWY3ODBiMWU4OTE3NDA4ZDgxNjU4ZmUzOWI3YzRj
ZTY3NGY3Li4yYmI1NDNiYmU1Y2ZmMmQ5ZmIxZDE3OGMzNjkwNzJhOGU4MWI0NGQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTAxLTI4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgorCisgICAgICAgIFVzZXIgYWdlbnQgc3RyaW5nIG92ZXJyaWRlIGZvciBuYXZpZ2F0
b3IudXNlckFnZW50IHNob3VsZCBiZSBzaXRlIHNwZWNpZmljIHF1aXJrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzOTUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lZCB0aGUgdmFyaW91cyBt
ZW1iZXIgdmFyaWFibGVzLCBmdW5jdGlvbnMsIHByb3BlcnRpZXMgYW5kIHNlbGVjdG9ycy4KKwor
ICAgICAgICAqIFNoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZVBv
bGljaWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
c2l0ZVBvbGljaWVzRGF0YS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBv
bGljaWVzLmNwcDoKKyAgICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpkYXRhKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW19XS1dlYnNpdGVQ
b2xpY2llcyBzZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M6
XSk6IFJlbmFtZWQgZnJvbSBzZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50LgorICAgICAgICAo
LVtfV0tXZWJzaXRlUG9saWNpZXMgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNp
ZmljUXVpcmtzXSk6IFJlbmFtZWQgZnJvbSBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50LgorCiAy
MDE5LTAxLTI4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IFJFR1JFU1NJT04gKHIyNDA0OTgpOiBTdG9yYWdlIEFjY2VzcyBBUEkgcHJvbXB0cyByZXN1bHQg
aXMgbm90IHJlbWVtYmVyZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKaW5k
ZXggZjdjNTQ1NzUxZGE1M2FjZjk4YmU0ODAwYTFkZjE5MWU2OGEyMjMyYi4uZWQzZDIxYzE5NTcy
NThkN2UzNGI4YWM4ODM2OGYyYjVhMjlkOGNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmgKQEAgLTI3MSw4ICsyNzEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDdXN0
b21Vc2VyQWdlbnQoY29uc3QgU3RyaW5nJiBjdXN0b21Vc2VyQWdlbnQpIHsgbV9jdXN0b21Vc2Vy
QWdlbnQgPSBjdXN0b21Vc2VyQWdlbnQ7IH0KICAgICBjb25zdCBTdHJpbmcmIGN1c3RvbVVzZXJB
Z2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tVXNlckFnZW50OyB9CiAKLSAgICB2b2lkIHNl
dEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiBjdXN0b21KYXZhU2NyaXB0
VXNlckFnZW50KSB7IG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCA9IGN1c3RvbUphdmFTY3Jp
cHRVc2VyQWdlbnQ7IH0KLSAgICBjb25zdCBTdHJpbmcmIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdl
bnQoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQ7IH0KKyAgICB2
b2lkIHNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrcyhjb25z
dCBTdHJpbmcmIGN1c3RvbVVzZXJBZ2VudCkgeyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRB
c1NpdGVTcGVjaWZpY1F1aXJrcyA9IGN1c3RvbVVzZXJBZ2VudDsgfQorICAgIGNvbnN0IFN0cmlu
ZyYgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKCkgY29uc3Qg
eyByZXR1cm4gbV9jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7
IH0KIAogICAgIHZvaWQgc2V0Q3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0oY29uc3QgU3RyaW5nJiBj
dXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSkgeyBtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtID0gY3Vz
dG9tTmF2aWdhdG9yUGxhdGZvcm07IH0KICAgICBjb25zdCBTdHJpbmcmIGN1c3RvbU5hdmlnYXRv
clBsYXRmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsgfQpA
QCAtNTQ2LDcgKzU0Niw3IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3Rvcjxz
dGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4+PiBtX3BlbmRpbmdDb250ZW50RXh0ZW5zaW9uRGlz
cGxheU5vbmVTZWxlY3RvcnM7CiAjZW5kaWYKICAgICBTdHJpbmcgbV9jdXN0b21Vc2VyQWdlbnQ7
Ci0gICAgU3RyaW5nIG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsKKyAgICBTdHJpbmcgbV9j
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CiAgICAgU3RyaW5n
IG1fY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm07CiAgICAgYm9vbCBtX3VzZXJDb250ZW50RXh0ZW5z
aW9uc0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2RldmljZU9yaWVudGF0aW9uRXZlbnRF
bmFibGVkIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
ZmI4Y2JhZGQ0N2IyYjM2N2RjN2FiY2VhMDY2MWYwOTQ2MDFkYzE3Ny4uZjQ5NDZhZTE1ODM5MjIy
MGQxZDgxOWVjZWIyY2FjNDhkMmIyMjNjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCkBAIC0yNzE1LDcgKzI3MTUsOCBAQCBTdHJpbmcgRnJhbWVMb2FkZXI6OnVzZXJBZ2Vu
dEZvckphdmFTY3JpcHQoY29uc3QgVVJMJiB1cmwpIGNvbnN0CiAgICAgU3RyaW5nIHVzZXJBZ2Vu
dDsKIAogICAgIGlmIChhdXRvKiBkb2N1bWVudExvYWRlciA9IG1fZnJhbWUubWFpbkZyYW1lKCku
bG9hZGVyKCkuYWN0aXZlRG9jdW1lbnRMb2FkZXIoKSkgewotICAgICAgICB1c2VyQWdlbnQgPSBk
b2N1bWVudExvYWRlci0+Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCgpOworICAgICAgICBpZiAo
bV9mcmFtZS5zZXR0aW5ncygpLm5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKCkpCisgICAgICAgICAg
ICBhdXRvIHVzZXJBZ2VudCA9IGRvY3VtZW50TG9hZGVyLT5jdXN0b21KYXZhU2NyaXB0VXNlckFn
ZW50QXNTaXRlU3BlY2lmaWNRdWlya3MoKTsKICAgICAgICAgaWYgKHVzZXJBZ2VudC5pc0VtcHR5
KCkpCiAgICAgICAgICAgICB1c2VyQWdlbnQgPSBkb2N1bWVudExvYWRlci0+Y3VzdG9tVXNlckFn
ZW50KCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBv
bGljaWVzRGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRh
LmNwcAppbmRleCAxZDExODFiMWE5YWRkYWZjNWJhYjJkZGNjYTc3NjRjZTYyNmNmNjVkLi42YjNi
MDJkYTlmNjYyY2I4OTk3OTE2ZWMwOGMyZTdlYjRjMTdmZTEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcApAQCAtNDQsNyArNDQsNyBAQCB2b2lkIFdl
YnNpdGVQb2xpY2llc0RhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAg
ICAgZW5jb2RlciA8PCBwb3BVcFBvbGljeTsKICAgICBlbmNvZGVyIDw8IHdlYnNpdGVEYXRhU3Rv
cmVQYXJhbWV0ZXJzOwogICAgIGVuY29kZXIgPDwgY3VzdG9tVXNlckFnZW50OwotICAgIGVuY29k
ZXIgPDwgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsKKyAgICBlbmNvZGVyIDw8IGN1c3RvbUph
dmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczsKICAgICBlbmNvZGVyIDw8IGN1
c3RvbU5hdmlnYXRvclBsYXRmb3JtOwogfQogCkBAIC05MCw5ICs5MCw5IEBAIE9wdGlvbmFsPFdl
YnNpdGVQb2xpY2llc0RhdGE+IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJUEM6OkRlY29k
ZXImIGRlY29kZXIpCiAgICAgaWYgKCFjdXN0b21Vc2VyQWdlbnQpCiAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CiAKLSAgICBPcHRpb25hbDxTdHJpbmc+IGN1c3RvbUphdmFTY3JpcHRVc2Vy
QWdlbnQ7Ci0gICAgZGVjb2RlciA+PiBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50OwotICAgIGlm
ICghY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCkKKyAgICBPcHRpb25hbDxTdHJpbmc+IGN1c3Rv
bUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczsKKyAgICBkZWNvZGVyID4+
IGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczsKKyAgICBpZiAo
IWN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrcykKICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKIAogICAgIE9wdGlvbmFsPFN0cmluZz4gY3VzdG9tTmF2aWdh
dG9yUGxhdGZvcm07CkBAIC0xMDksNyArMTA5LDcgQEAgT3B0aW9uYWw8V2Vic2l0ZVBvbGljaWVz
RGF0YT4gV2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlcikK
ICAgICAgICAgV1RGTW92ZSgqcG9wVXBQb2xpY3kpLAogICAgICAgICBXVEZNb3ZlKCp3ZWJzaXRl
RGF0YVN0b3JlUGFyYW1ldGVycyksCiAgICAgICAgIFdURk1vdmUoKmN1c3RvbVVzZXJBZ2VudCks
Ci0gICAgICAgIFdURk1vdmUoKmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQpLAorICAgICAgICBX
VEZNb3ZlKCpjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MpLAog
ICAgICAgICBXVEZNb3ZlKCpjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSksCiAgICAgfSB9OwogfQpA
QCAtMTE4LDcgKzExOCw3IEBAIHZvaWQgV2Vic2l0ZVBvbGljaWVzRGF0YTo6YXBwbHlUb0RvY3Vt
ZW50TG9hZGVyKFdlYnNpdGVQb2xpY2llc0RhdGEmJiB3ZWJzaXRlUG9sCiB7CiAgICAgZG9jdW1l
bnRMb2FkZXIuc2V0Q3VzdG9tSGVhZGVyRmllbGRzKFdURk1vdmUod2Vic2l0ZVBvbGljaWVzLmN1
c3RvbUhlYWRlckZpZWxkcykpOwogICAgIGRvY3VtZW50TG9hZGVyLnNldEN1c3RvbVVzZXJBZ2Vu
dCh3ZWJzaXRlUG9saWNpZXMuY3VzdG9tVXNlckFnZW50KTsKLSAgICBkb2N1bWVudExvYWRlci5z
ZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50KHdlYnNpdGVQb2xpY2llcy5jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50KTsKKyAgICBkb2N1bWVudExvYWRlci5zZXRDdXN0b21KYXZhU2NyaXB0VXNl
ckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3Mod2Vic2l0ZVBvbGljaWVzLmN1c3RvbUphdmFTY3Jp
cHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrcyk7CiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0
Q3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0od2Vic2l0ZVBvbGljaWVzLmN1c3RvbU5hdmlnYXRvclBs
YXRmb3JtKTsKICAgICBkb2N1bWVudExvYWRlci5zZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5h
YmxlZCh3ZWJzaXRlUG9saWNpZXMuZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQpOwogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCmluZGV4IDUwNmNk
YTlmYjhkZTM0MWY2ZjdiNWE1NDVlYmVhMGY1MjRhYTNjNDAuLmMyNzExYTk0YThjZmIzZTRiNjdj
Y2U4ZDkxMTRhZDYyNzhiZjFkZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dl
YnNpdGVQb2xpY2llc0RhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9s
aWNpZXNEYXRhLmgKQEAgLTU0LDcgKzU0LDcgQEAgc3RydWN0IFdlYnNpdGVQb2xpY2llc0RhdGEg
ewogICAgIFdlYnNpdGVQb3BVcFBvbGljeSBwb3BVcFBvbGljeSB7IFdlYnNpdGVQb3BVcFBvbGlj
eTo6RGVmYXVsdCB9OwogICAgIE9wdGlvbmFsPFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzPiB3
ZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVyczsKICAgICBTdHJpbmcgY3VzdG9tVXNlckFnZW50Owot
ICAgIFN0cmluZyBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50OworICAgIFN0cmluZyBjdXN0b21K
YXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CiAgICAgU3RyaW5nIGN1c3Rv
bU5hdmlnYXRvclBsYXRmb3JtOwogCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29u
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBv
bGljaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNp
ZXMuY3BwCmluZGV4IDUyYTE2MzZiMGJkODNhNTlmMGM3ZGIyMjMzYmY3NDA2YzAxMDE1OWMuLmM2
M2NlMDZmYjczMmZmNDA3M2U2YjEzNDMzZDg0YTk1M2U3ZDdjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwCkBAIC01Nyw3ICs1
Nyw3IEBAIFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YSBXZWJzaXRlUG9saWNpZXM6OmRhdGEo
KQogICAgIGlmIChtX3dlYnNpdGVEYXRhU3RvcmUpCiAgICAgICAgIHBhcmFtZXRlcnMgPSBtX3dl
YnNpdGVEYXRhU3RvcmUtPndlYnNpdGVEYXRhU3RvcmUoKS5wYXJhbWV0ZXJzKCk7CiAgICAgcmV0
dXJuIHsgY29udGVudEJsb2NrZXJzRW5hYmxlZCgpLCBkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5h
YmxlZCgpLCBhbGxvd2VkQXV0b3BsYXlRdWlya3MoKSwgYXV0b3BsYXlQb2xpY3koKSwKLSAgICAg
ICAgY3VzdG9tSGVhZGVyRmllbGRzKCksIHBvcFVwUG9saWN5KCksIFdURk1vdmUocGFyYW1ldGVy
cyksIG1fY3VzdG9tVXNlckFnZW50LCBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQsIG1fY3Vz
dG9tTmF2aWdhdG9yUGxhdGZvcm0gfTsKKyAgICAgICAgY3VzdG9tSGVhZGVyRmllbGRzKCksIHBv
cFVwUG9saWN5KCksIFdURk1vdmUocGFyYW1ldGVycyksIG1fY3VzdG9tVXNlckFnZW50LCBtX2N1
c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrcywgbV9jdXN0b21OYXZp
Z2F0b3JQbGF0Zm9ybSB9OwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKaW5kZXggZWU3ZmQyNWM0Nzg4NmQ4YWQ2ODBiYjFiM2Y1
MDdkNDFkMjQ4NzIyMC4uMzQ3ZjM3ZGU3ZmUzYTlmMGQzODY3YzBhMWM1NDY4MzUyYTU1M2NmMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2ll
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMu
aApAQCAtNzUsOCArNzUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDdXN0b21Vc2VyQWdlbnQo
Y29uc3QgV1RGOjpTdHJpbmcmIGN1c3RvbVVzZXJBZ2VudCkgeyBtX2N1c3RvbVVzZXJBZ2VudCA9
IGN1c3RvbVVzZXJBZ2VudDsgfQogICAgIGNvbnN0IFdURjo6U3RyaW5nJiBjdXN0b21Vc2VyQWdl
bnQoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbVVzZXJBZ2VudDsgfQogCi0gICAgdm9pZCBzZXRD
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50KGNvbnN0IFdURjo6U3RyaW5nJiBjdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50KSB7IG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCA9IGN1c3RvbUphdmFT
Y3JpcHRVc2VyQWdlbnQ7IH0KLSAgICBjb25zdCBXVEY6OlN0cmluZyYgY3VzdG9tSmF2YVNjcmlw
dFVzZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsg
fQorICAgIHZvaWQgc2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVp
cmtzKGNvbnN0IFdURjo6U3RyaW5nJiBjdXN0b21Vc2VyQWdlbnQpIHsgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MgPSBjdXN0b21Vc2VyQWdlbnQ7IH0KKyAg
ICBjb25zdCBXVEY6OlN0cmluZyYgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNp
ZmljUXVpcmtzKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNT
aXRlU3BlY2lmaWNRdWlya3M7IH0KIAogICAgIHZvaWQgc2V0Q3VzdG9tTmF2aWdhdG9yUGxhdGZv
cm0oY29uc3QgV1RGOjpTdHJpbmcmIGN1c3RvbU5hdmlnYXRvclBsYXRmb3JtKSB7IG1fY3VzdG9t
TmF2aWdhdG9yUGxhdGZvcm0gPSBjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsgfQogICAgIGNvbnN0
IFdURjo6U3RyaW5nJiBjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1f
Y3VzdG9tTmF2aWdhdG9yUGxhdGZvcm07IH0KQEAgLTkyLDcgKzkyLDcgQEAgcHJpdmF0ZToKICAg
ICBXZWJLaXQ6OldlYnNpdGVQb3BVcFBvbGljeSBtX3BvcFVwUG9saWN5IHsgV2ViS2l0OjpXZWJz
aXRlUG9wVXBQb2xpY3k6OkRlZmF1bHQgfTsKICAgICBSZWZQdHI8V2Vic2l0ZURhdGFTdG9yZT4g
bV93ZWJzaXRlRGF0YVN0b3JlOwogICAgIFdURjo6U3RyaW5nIG1fY3VzdG9tVXNlckFnZW50Owot
ICAgIFdURjo6U3RyaW5nIG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsKKyAgICBXVEY6OlN0
cmluZyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczsKICAg
ICBXVEY6OlN0cmluZyBtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5o
CmluZGV4IDNmNTY4OGM3MjUwZGVlZDFiZjBlNzQ1MTA5YzZhNWRhODY2YmVhNDkuLmY0M2NmZDM2
NTlhNjIzN2YzZmIxZjM4YjdkYjViMTUyOWJhYmFkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgKQEAgLTU5LDcg
KzU5LDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeCgxMC4xMi4zKSwgaW9zKDEwLjMpKQog
QHByb3BlcnR5IChub25hdG9taWMpIF9XS1dlYnNpdGVQb3BVcFBvbGljeSBwb3BVcFBvbGljeSBX
S19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xNCksIGlvcygxMi4wKSk7CiBAcHJvcGVydHkgKG5v
bmF0b21pYywgc3Ryb25nKSBXS1dlYnNpdGVEYXRhU3RvcmUgKndlYnNpdGVEYXRhU3RvcmUgV0tf
QVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7CiBAcHJvcGVydHkgKG5v
bmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1c3RvbVVzZXJBZ2VudCBXS19BUElfQVZBSUxBQkxF
KG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLUBwcm9wZXJ0eSAobm9uYXRv
bWljLCBjb3B5KSBOU1N0cmluZyAqY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCBXS19BUElfQVZB
SUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0
ZVNwZWNpZmljUXVpcmtzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBpb3Mo
V0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjdXN0
b21OYXZpZ2F0b3JQbGF0Zm9ybSBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwg
aW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGRldmljZU9yaWVu
dGF0aW9uRXZlbnRFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01BQ19UQkEpLCBp
b3MoV0tfSU9TX1RCQSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5tbQppbmRleCBmZGE4OGIwOTQxODQ0NDkwYjE2
Nzg3ZTAwOGY2MThhMTU0Yjk5MWY2Li5kZGUxMDdhN2I0ZjUxNGZjMjI2OGQwYTNhZDI4ZThhMzQ4
M2RhOThjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
V2Vic2l0ZVBvbGljaWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tXZWJzaXRlUG9saWNpZXMubW0KQEAgLTIwOSwxNCArMjA5LDE0IEBAIC0gKE5TU3RyaW5n
ICopY3VzdG9tVXNlckFnZW50CiAgICAgcmV0dXJuIF93ZWJzaXRlUG9saWNpZXMtPmN1c3RvbVVz
ZXJBZ2VudCgpOwogfQogCi0tICh2b2lkKXNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQ6KE5T
U3RyaW5nICopY3VzdG9tVXNlckFnZW50CistICh2b2lkKXNldEN1c3RvbUphdmFTY3JpcHRVc2Vy
QWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczooTlNTdHJpbmcgKiljdXN0b21Vc2VyQWdlbnQKIHsK
LSAgICBfd2Vic2l0ZVBvbGljaWVzLT5zZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50KGN1c3Rv
bVVzZXJBZ2VudCk7CisgICAgX3dlYnNpdGVQb2xpY2llcy0+c2V0Q3VzdG9tSmF2YVNjcmlwdFVz
ZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKGN1c3RvbVVzZXJBZ2VudCk7CiB9CiAKLS0gKE5T
U3RyaW5nICopY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudAorLSAoTlNTdHJpbmcgKiljdXN0b21K
YXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MKIHsKLSAgICByZXR1cm4gX3dl
YnNpdGVQb2xpY2llcy0+Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCgpOworICAgIHJldHVybiBf
d2Vic2l0ZVBvbGljaWVzLT5jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNR
dWlya3MoKTsKIH0KIAogLSAodm9pZClzZXRDdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTooTlNTdHJp
bmcgKiljdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGYxZDYwY2RlZTc0MTRjYjlmYWVhZjNkNDMzMTE2MjEz
YzEzNTI0NjMuLjUxMDU3Nzk3YTJkNTU0NjMwZDI2MWZiZmFlMzJjMmY5ZWY5NmVjOWEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxOS0wMS0yOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAg
ICAgICBVc2VyIGFnZW50IHN0cmluZyBvdmVycmlkZSBmb3IgbmF2aWdhdG9yLnVzZXJBZ2VudCBz
aG91bGQgYmUgc2l0ZSBzcGVjaWZpYyBxdWlya3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE5Mzk1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgcGVyIHRoZSBfV0tXZWJzaXRlUG9saWNpZXMg
cmVuYW1lLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJz
aXRlUG9saWNpZXMubW06CisgICAgICAgICgtW0N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnREZWxl
Z2F0ZSBfd2ViVmlldzpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOnVzZXJJbmZvOmRl
Y2lzaW9uSGFuZGxlcjpdKToKKwogMjAxOS0wMS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24oUFNPTikgQ3Jhc2ggdW5kZXIgV2ViUGFnZVBy
b3h5OjpkaWRTdGFydFByb2dyZXNzKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KaW5kZXggNWU0YzdjNTg2ODQ4
YTIwZGRhNDkyZjBiOWE5Y2I3ZmQzN2I2MDk4Mi4uZjIwMmQ5NDJiNGE1Y2JhNzMxYjk3ZTk0MDk1
ZmEzMWE3NmFkNmQ5YyAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW0KQEAgLTExMTQsNyArMTExNCw3IEBAIC0g
KHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdh
dGlvbkFjdGlvbjooV0tOYXZpZ2F0CiB7CiAgICAgX1dLV2Vic2l0ZVBvbGljaWVzICp3ZWJzaXRl
UG9saWNpZXMgPSBbW1tfV0tXZWJzaXRlUG9saWNpZXMgYWxsb2NdIGluaXRdIGF1dG9yZWxlYXNl
XTsKICAgICBpZiAobmF2aWdhdGlvbkFjdGlvbi50YXJnZXRGcmFtZS5tYWluRnJhbWUpIHsKLSAg
ICAgICAgW3dlYnNpdGVQb2xpY2llcyBzZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50OkAiRm9v
IEN1c3RvbSBKYXZhU2NyaXB0IFVzZXJBZ2VudCJdOworICAgICAgICBbd2Vic2l0ZVBvbGljaWVz
IHNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczpAIkZvbyBD
dXN0b20gSmF2YVNjcmlwdCBVc2VyQWdlbnQiXTsKICAgICAgICAgaWYgKF9zZXRDdXN0b21Vc2Vy
QWdlbnQpCiAgICAgICAgICAgICBbd2Vic2l0ZVBvbGljaWVzIHNldEN1c3RvbVVzZXJBZ2VudDpA
IkZvbyBDdXN0b20gUmVxdWVzdCBVc2VyQWdlbnQiXTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360429</attachid>
            <date>2019-01-28 20:21:49 -0800</date>
            <delta_ts>2019-01-28 20:50:21 -0800</delta_ts>
            <desc>Removed superflous auto</desc>
            <filename>bug-193950-20190128202149.patch</filename>
            <type>text/plain</type>
            <size>14969</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwNjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGFkNzQ1MGE5NDQ0ODAw
NmViOTcyYTEyMjYyYTI3ZmVjMDBjNDAwZi4uNzIwYTMwZGRkOWRjYjYzNTA4ZTI5ODViM2Q2M2U2
MDlmZmEyOWRhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE5LTAxLTI4ICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZXIgYWdlbnQgc3RyaW5n
IG92ZXJyaWRlIGZvciBuYXZpZ2F0b3IudXNlckFnZW50IHNob3VsZCBiZSBzaXRlIHNwZWNpZmlj
IHF1aXJrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkzOTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW4gb3JkZXIgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byB0b2dnbGUgdGhlIFVBIHN0cmluZyBvdmVy
cmlkZSBqdXN0IGZvciBuYXZpZ2F0b3IudXNlckFnZW50IHZpYSBXZWIgSW5zcGVjdG9yLAorICAg
ICAgICB3ZSBuZWVkIHRvIHB1dCB0aGlzIG92ZXJyaWRlIGJlaGluZCB0aGUgc2l0ZSBzcGVjaWZp
YyBxdWlya3MuIEJlY2F1c2UgV2ViSW5zcGVjdG9yIG92ZXJyaWRlcyBQYWdlJ3Mgc2V0dGluZwor
ICAgICAgICB3aXRob3V0IHVwZGF0aW5nIFdLUHJlZmVyZW5jZXMsIHRoZXJlIGlzIG5vIHdheSBm
b3IgV0tXZWJWaWV3IGNsaWVudCdzIHRvIGtub3cgd2hldGhlciB0aGUgc2l0ZSBzcGVjaWZpYyBx
dWlya3MKKyAgICAgICAgaGFkIGJlZW4gZGlzYWJsZWQgb3Igbm90LgorCisgICAgICAgICogbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNT
aXRlU3BlY2lmaWNRdWlya3MgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2Fk
ZXI6OnNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RG9jdW1lbnRMb2FkZXI6OmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQgY29uc3QpOiBE
ZWxldGVkLgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpGcmFtZUxvYWRlcjo6dXNlckFnZW50Rm9ySmF2YVNjcmlwdCBjb25zdCk6CisKIDIwMTkt
MDEtMjggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBMaW1p
dCB1c2VyLWFnZW50IGludGVyYWN0aW9ucyBiYXNlZCBvbiB0aGUgdG91Y2gtYWN0aW9uIHByb3Bl
cnR5IG9uIGlPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZwppbmRleCBmYzQ4ZWY3ODBiMWU4OTE3NDA4ZDgxNjU4ZmUzOWI3YzRj
ZTY3NGY3Li4yYmI1NDNiYmU1Y2ZmMmQ5ZmIxZDE3OGMzNjkwNzJhOGU4MWI0NGQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTAxLTI4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgorCisgICAgICAgIFVzZXIgYWdlbnQgc3RyaW5nIG92ZXJyaWRlIGZvciBuYXZpZ2F0
b3IudXNlckFnZW50IHNob3VsZCBiZSBzaXRlIHNwZWNpZmljIHF1aXJrcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzOTUwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYW1lZCB0aGUgdmFyaW91cyBt
ZW1iZXIgdmFyaWFibGVzLCBmdW5jdGlvbnMsIHByb3BlcnRpZXMgYW5kIHNlbGVjdG9ycy4KKwor
ICAgICAgICAqIFNoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6
V2Vic2l0ZVBvbGljaWVzRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZVBv
bGljaWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBTaGFyZWQvV2Vi
c2l0ZVBvbGljaWVzRGF0YS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBv
bGljaWVzLmNwcDoKKyAgICAgICAgKEFQSTo6V2Vic2l0ZVBvbGljaWVzOjpkYXRhKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW19XS1dlYnNpdGVQ
b2xpY2llcyBzZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M6
XSk6IFJlbmFtZWQgZnJvbSBzZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50LgorICAgICAgICAo
LVtfV0tXZWJzaXRlUG9saWNpZXMgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNp
ZmljUXVpcmtzXSk6IFJlbmFtZWQgZnJvbSBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50LgorCiAy
MDE5LTAxLTI4ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAg
IFJFR1JFU1NJT04gKHIyNDA0OTgpOiBTdG9yYWdlIEFjY2VzcyBBUEkgcHJvbXB0cyByZXN1bHQg
aXMgbm90IHJlbWVtYmVyZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKaW5k
ZXggZjdjNTQ1NzUxZGE1M2FjZjk4YmU0ODAwYTFkZjE5MWU2OGEyMjMyYi4uZWQzZDIxYzE5NTcy
NThkN2UzNGI4YWM4ODM2OGYyYjVhMjlkOGNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmgKQEAgLTI3MSw4ICsyNzEsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDdXN0
b21Vc2VyQWdlbnQoY29uc3QgU3RyaW5nJiBjdXN0b21Vc2VyQWdlbnQpIHsgbV9jdXN0b21Vc2Vy
QWdlbnQgPSBjdXN0b21Vc2VyQWdlbnQ7IH0KICAgICBjb25zdCBTdHJpbmcmIGN1c3RvbVVzZXJB
Z2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tVXNlckFnZW50OyB9CiAKLSAgICB2b2lkIHNl
dEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQoY29uc3QgU3RyaW5nJiBjdXN0b21KYXZhU2NyaXB0
VXNlckFnZW50KSB7IG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCA9IGN1c3RvbUphdmFTY3Jp
cHRVc2VyQWdlbnQ7IH0KLSAgICBjb25zdCBTdHJpbmcmIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdl
bnQoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQ7IH0KKyAgICB2
b2lkIHNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrcyhjb25z
dCBTdHJpbmcmIGN1c3RvbVVzZXJBZ2VudCkgeyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRB
c1NpdGVTcGVjaWZpY1F1aXJrcyA9IGN1c3RvbVVzZXJBZ2VudDsgfQorICAgIGNvbnN0IFN0cmlu
ZyYgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKCkgY29uc3Qg
eyByZXR1cm4gbV9jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7
IH0KIAogICAgIHZvaWQgc2V0Q3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0oY29uc3QgU3RyaW5nJiBj
dXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSkgeyBtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtID0gY3Vz
dG9tTmF2aWdhdG9yUGxhdGZvcm07IH0KICAgICBjb25zdCBTdHJpbmcmIGN1c3RvbU5hdmlnYXRv
clBsYXRmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsgfQpA
QCAtNTQ2LDcgKzU0Niw3IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3Rvcjxz
dGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4+PiBtX3BlbmRpbmdDb250ZW50RXh0ZW5zaW9uRGlz
cGxheU5vbmVTZWxlY3RvcnM7CiAjZW5kaWYKICAgICBTdHJpbmcgbV9jdXN0b21Vc2VyQWdlbnQ7
Ci0gICAgU3RyaW5nIG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsKKyAgICBTdHJpbmcgbV9j
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CiAgICAgU3RyaW5n
IG1fY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm07CiAgICAgYm9vbCBtX3VzZXJDb250ZW50RXh0ZW5z
aW9uc0VuYWJsZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX2RldmljZU9yaWVudGF0aW9uRXZlbnRF
bmFibGVkIHsgdHJ1ZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1l
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXgg
ZmI4Y2JhZGQ0N2IyYjM2N2RjN2FiY2VhMDY2MWYwOTQ2MDFkYzE3Ny4uOTYwZjU1OTBjNzJjMmQy
ZmY1Yzk2MWM5NWY5YWUzNDY0MDcxYzg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCkBAIC0yNzE1LDcgKzI3MTUsOCBAQCBTdHJpbmcgRnJhbWVMb2FkZXI6OnVzZXJBZ2Vu
dEZvckphdmFTY3JpcHQoY29uc3QgVVJMJiB1cmwpIGNvbnN0CiAgICAgU3RyaW5nIHVzZXJBZ2Vu
dDsKIAogICAgIGlmIChhdXRvKiBkb2N1bWVudExvYWRlciA9IG1fZnJhbWUubWFpbkZyYW1lKCku
bG9hZGVyKCkuYWN0aXZlRG9jdW1lbnRMb2FkZXIoKSkgewotICAgICAgICB1c2VyQWdlbnQgPSBk
b2N1bWVudExvYWRlci0+Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCgpOworICAgICAgICBpZiAo
bV9mcmFtZS5zZXR0aW5ncygpLm5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzKCkpCisgICAgICAgICAg
ICB1c2VyQWdlbnQgPSBkb2N1bWVudExvYWRlci0+Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFz
U2l0ZVNwZWNpZmljUXVpcmtzKCk7CiAgICAgICAgIGlmICh1c2VyQWdlbnQuaXNFbXB0eSgpKQog
ICAgICAgICAgICAgdXNlckFnZW50ID0gZG9jdW1lbnRMb2FkZXItPmN1c3RvbVVzZXJBZ2VudCgp
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2ll
c0RhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAK
aW5kZXggMWQxMTgxYjFhOWFkZGFmYzViYWIyZGRjY2E3NzY0Y2U2MjZjZjY1ZC4uNmIzYjAyZGE5
ZjY2MmNiODk5NzkxNmVjMDhjMmU3ZWI0YzE3ZmUxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHAKQEAgLTQ0LDcgKzQ0LDcgQEAgdm9pZCBXZWJzaXRl
UG9saWNpZXNEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVu
Y29kZXIgPDwgcG9wVXBQb2xpY3k7CiAgICAgZW5jb2RlciA8PCB3ZWJzaXRlRGF0YVN0b3JlUGFy
YW1ldGVyczsKICAgICBlbmNvZGVyIDw8IGN1c3RvbVVzZXJBZ2VudDsKLSAgICBlbmNvZGVyIDw8
IGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQ7CisgICAgZW5jb2RlciA8PCBjdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CiAgICAgZW5jb2RlciA8PCBjdXN0b21O
YXZpZ2F0b3JQbGF0Zm9ybTsKIH0KIApAQCAtOTAsOSArOTAsOSBAQCBPcHRpb25hbDxXZWJzaXRl
UG9saWNpZXNEYXRhPiBXZWJzaXRlUG9saWNpZXNEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBk
ZWNvZGVyKQogICAgIGlmICghY3VzdG9tVXNlckFnZW50KQogICAgICAgICByZXR1cm4gV1RGOjpu
dWxsb3B0OwogCi0gICAgT3B0aW9uYWw8U3RyaW5nPiBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
OwotICAgIGRlY29kZXIgPj4gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsKLSAgICBpZiAoIWN1
c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQpCisgICAgT3B0aW9uYWw8U3RyaW5nPiBjdXN0b21KYXZh
U2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CisgICAgZGVjb2RlciA+PiBjdXN0
b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CisgICAgaWYgKCFjdXN0
b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MpCiAgICAgICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CiAKICAgICBPcHRpb25hbDxTdHJpbmc+IGN1c3RvbU5hdmlnYXRvclBs
YXRmb3JtOwpAQCAtMTA5LDcgKzEwOSw3IEBAIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+
IFdlYnNpdGVQb2xpY2llc0RhdGE6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCiAgICAg
ICAgIFdURk1vdmUoKnBvcFVwUG9saWN5KSwKICAgICAgICAgV1RGTW92ZSgqd2Vic2l0ZURhdGFT
dG9yZVBhcmFtZXRlcnMpLAogICAgICAgICBXVEZNb3ZlKCpjdXN0b21Vc2VyQWdlbnQpLAotICAg
ICAgICBXVEZNb3ZlKCpjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50KSwKKyAgICAgICAgV1RGTW92
ZSgqY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKSwKICAgICAg
ICAgV1RGTW92ZSgqY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0pLAogICAgIH0gfTsKIH0KQEAgLTEx
OCw3ICsxMTgsNyBAQCB2b2lkIFdlYnNpdGVQb2xpY2llc0RhdGE6OmFwcGx5VG9Eb2N1bWVudExv
YWRlcihXZWJzaXRlUG9saWNpZXNEYXRhJiYgd2Vic2l0ZVBvbAogewogICAgIGRvY3VtZW50TG9h
ZGVyLnNldEN1c3RvbUhlYWRlckZpZWxkcyhXVEZNb3ZlKHdlYnNpdGVQb2xpY2llcy5jdXN0b21I
ZWFkZXJGaWVsZHMpKTsKICAgICBkb2N1bWVudExvYWRlci5zZXRDdXN0b21Vc2VyQWdlbnQod2Vi
c2l0ZVBvbGljaWVzLmN1c3RvbVVzZXJBZ2VudCk7Ci0gICAgZG9jdW1lbnRMb2FkZXIuc2V0Q3Vz
dG9tSmF2YVNjcmlwdFVzZXJBZ2VudCh3ZWJzaXRlUG9saWNpZXMuY3VzdG9tSmF2YVNjcmlwdFVz
ZXJBZ2VudCk7CisgICAgZG9jdW1lbnRMb2FkZXIuc2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2Vu
dEFzU2l0ZVNwZWNpZmljUXVpcmtzKHdlYnNpdGVQb2xpY2llcy5jdXN0b21KYXZhU2NyaXB0VXNl
ckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MpOwogICAgIGRvY3VtZW50TG9hZGVyLnNldEN1c3Rv
bU5hdmlnYXRvclBsYXRmb3JtKHdlYnNpdGVQb2xpY2llcy5jdXN0b21OYXZpZ2F0b3JQbGF0Zm9y
bSk7CiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0RGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQo
d2Vic2l0ZVBvbGljaWVzLmRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkKTsKICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaCBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaAppbmRleCA1MDZjZGE5ZmI4
ZGUzNDFmNmY3YjVhNTQ1ZWJlYTBmNTI0YWEzYzQwLi5jMjcxMWE5NGE4Y2ZiM2U0YjY3Y2NlOGQ5
MTE0YWQ2Mjc4YmYxZGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRl
UG9saWNpZXNEYXRhLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVz
RGF0YS5oCkBAIC01NCw3ICs1NCw3IEBAIHN0cnVjdCBXZWJzaXRlUG9saWNpZXNEYXRhIHsKICAg
ICBXZWJzaXRlUG9wVXBQb2xpY3kgcG9wVXBQb2xpY3kgeyBXZWJzaXRlUG9wVXBQb2xpY3k6OkRl
ZmF1bHQgfTsKICAgICBPcHRpb25hbDxXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycz4gd2Vic2l0
ZURhdGFTdG9yZVBhcmFtZXRlcnM7CiAgICAgU3RyaW5nIGN1c3RvbVVzZXJBZ2VudDsKLSAgICBT
dHJpbmcgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsKKyAgICBTdHJpbmcgY3VzdG9tSmF2YVNj
cmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzOwogICAgIFN0cmluZyBjdXN0b21OYXZp
Z2F0b3JQbGF0Zm9ybTsKIAogICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2ll
cy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNw
cAppbmRleCA1MmExNjM2YjBiZDgzYTU5ZjBjN2RiMjIzM2JmNzQwNmMwMTAxNTljLi5jNjNjZTA2
ZmI3MzJmZjQwNzNlNmIxMzQzM2Q4NGE5NTNlN2Q3Y2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmNwcApAQCAtNTcsNyArNTcsNyBA
QCBXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGEgV2Vic2l0ZVBvbGljaWVzOjpkYXRhKCkKICAg
ICBpZiAobV93ZWJzaXRlRGF0YVN0b3JlKQogICAgICAgICBwYXJhbWV0ZXJzID0gbV93ZWJzaXRl
RGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3JlKCkucGFyYW1ldGVycygpOwogICAgIHJldHVybiB7
IGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoKSwgZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQo
KSwgYWxsb3dlZEF1dG9wbGF5UXVpcmtzKCksIGF1dG9wbGF5UG9saWN5KCksCi0gICAgICAgIGN1
c3RvbUhlYWRlckZpZWxkcygpLCBwb3BVcFBvbGljeSgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBt
X2N1c3RvbVVzZXJBZ2VudCwgbV9jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50LCBtX2N1c3RvbU5h
dmlnYXRvclBsYXRmb3JtIH07CisgICAgICAgIGN1c3RvbUhlYWRlckZpZWxkcygpLCBwb3BVcFBv
bGljeSgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBtX2N1c3RvbVVzZXJBZ2VudCwgbV9jdXN0b21K
YXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MsIG1fY3VzdG9tTmF2aWdhdG9y
UGxhdGZvcm0gfTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SVdlYnNpdGVQb2xpY2llcy5oCmluZGV4IGVlN2ZkMjVjNDc4ODZkOGFkNjgwYmIxYjNmNTA3ZDQx
ZDI0ODcyMjAuLjM0N2YzN2RlN2ZlM2E5ZjBkMzg2N2MwYTFjNTQ2ODM1MmE1NTNjZjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKQEAg
LTc1LDggKzc1LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q3VzdG9tVXNlckFnZW50KGNvbnN0
IFdURjo6U3RyaW5nJiBjdXN0b21Vc2VyQWdlbnQpIHsgbV9jdXN0b21Vc2VyQWdlbnQgPSBjdXN0
b21Vc2VyQWdlbnQ7IH0KICAgICBjb25zdCBXVEY6OlN0cmluZyYgY3VzdG9tVXNlckFnZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9jdXN0b21Vc2VyQWdlbnQ7IH0KIAotICAgIHZvaWQgc2V0Q3VzdG9t
SmF2YVNjcmlwdFVzZXJBZ2VudChjb25zdCBXVEY6OlN0cmluZyYgY3VzdG9tSmF2YVNjcmlwdFVz
ZXJBZ2VudCkgeyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQgPSBjdXN0b21KYXZhU2NyaXB0
VXNlckFnZW50OyB9Ci0gICAgY29uc3QgV1RGOjpTdHJpbmcmIGN1c3RvbUphdmFTY3JpcHRVc2Vy
QWdlbnQoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQ7IH0KKyAg
ICB2b2lkIHNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrcyhj
b25zdCBXVEY6OlN0cmluZyYgY3VzdG9tVXNlckFnZW50KSB7IG1fY3VzdG9tSmF2YVNjcmlwdFVz
ZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzID0gY3VzdG9tVXNlckFnZW50OyB9CisgICAgY29u
c3QgV1RGOjpTdHJpbmcmIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1
aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNw
ZWNpZmljUXVpcmtzOyB9CiAKICAgICB2b2lkIHNldEN1c3RvbU5hdmlnYXRvclBsYXRmb3JtKGNv
bnN0IFdURjo6U3RyaW5nJiBjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSkgeyBtX2N1c3RvbU5hdmln
YXRvclBsYXRmb3JtID0gY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm07IH0KICAgICBjb25zdCBXVEY6
OlN0cmluZyYgY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0oKSBjb25zdCB7IHJldHVybiBtX2N1c3Rv
bU5hdmlnYXRvclBsYXRmb3JtOyB9CkBAIC05Miw3ICs5Miw3IEBAIHByaXZhdGU6CiAgICAgV2Vi
S2l0OjpXZWJzaXRlUG9wVXBQb2xpY3kgbV9wb3BVcFBvbGljeSB7IFdlYktpdDo6V2Vic2l0ZVBv
cFVwUG9saWN5OjpEZWZhdWx0IH07CiAgICAgUmVmUHRyPFdlYnNpdGVEYXRhU3RvcmU+IG1fd2Vi
c2l0ZURhdGFTdG9yZTsKICAgICBXVEY6OlN0cmluZyBtX2N1c3RvbVVzZXJBZ2VudDsKLSAgICBX
VEY6OlN0cmluZyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQ7CisgICAgV1RGOjpTdHJpbmcg
bV9jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M7CiAgICAgV1RG
OjpTdHJpbmcgbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsKIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMuaAppbmRl
eCAzZjU2ODhjNzI1MGRlZWQxYmYwZTc0NTEwOWM2YTVkYTg2NmJlYTQ5Li5mNDNjZmQzNjU5YTYy
MzdmM2ZiMWYzOGI3ZGI1YjE1MjliYWJhZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5oCkBAIC01OSw3ICs1OSw3
IEBAIFdLX0NMQVNTX0FWQUlMQUJMRShtYWNvc3goMTAuMTIuMyksIGlvcygxMC4zKSkKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljKSBfV0tXZWJzaXRlUG9wVXBQb2xpY3kgcG9wVXBQb2xpY3kgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goMTAuMTQpLCBpb3MoMTIuMCkpOwogQHByb3BlcnR5IChub25hdG9t
aWMsIHN0cm9uZykgV0tXZWJzaXRlRGF0YVN0b3JlICp3ZWJzaXRlRGF0YVN0b3JlIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3N4KDEwLjEzLjQpLCBpb3MoMTEuMykpOwogQHByb3BlcnR5IChub25hdG9t
aWMsIGNvcHkpIE5TU3RyaW5nICpjdXN0b21Vc2VyQWdlbnQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
c3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywg
Y29weSkgTlNTdHJpbmcgKmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQgV0tfQVBJX0FWQUlMQUJM
RShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgTlNTdHJpbmcgKmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVj
aWZpY1F1aXJrcyBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lP
U19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VzdG9tTmF2
aWdhdG9yUGxhdGZvcm0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhX
S19JT1NfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBkZXZpY2VPcmllbnRhdGlv
bkV2ZW50RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1dlYnNpdGVQb2xpY2llcy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW0KaW5kZXggZmRhODhiMDk0MTg0NDQ5MGIxNjc4N2Uw
MDhmNjE4YTE1NGI5OTFmNi4uZGRlMTA3YTdiNGY1MTRmYzIyNjhkMGEzYWQyOGU4YTM0ODNkYTk4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNp
dGVQb2xpY2llcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
V2Vic2l0ZVBvbGljaWVzLm1tCkBAIC0yMDksMTQgKzIwOSwxNCBAQCAtIChOU1N0cmluZyAqKWN1
c3RvbVVzZXJBZ2VudAogICAgIHJldHVybiBfd2Vic2l0ZVBvbGljaWVzLT5jdXN0b21Vc2VyQWdl
bnQoKTsKIH0KIAotLSAodm9pZClzZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50OihOU1N0cmlu
ZyAqKWN1c3RvbVVzZXJBZ2VudAorLSAodm9pZClzZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
QXNTaXRlU3BlY2lmaWNRdWlya3M6KE5TU3RyaW5nICopY3VzdG9tVXNlckFnZW50CiB7Ci0gICAg
X3dlYnNpdGVQb2xpY2llcy0+c2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudChjdXN0b21Vc2Vy
QWdlbnQpOworICAgIF93ZWJzaXRlUG9saWNpZXMtPnNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdl
bnRBc1NpdGVTcGVjaWZpY1F1aXJrcyhjdXN0b21Vc2VyQWdlbnQpOwogfQogCi0tIChOU1N0cmlu
ZyAqKWN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQKKy0gKE5TU3RyaW5nICopY3VzdG9tSmF2YVNj
cmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzCiB7Ci0gICAgcmV0dXJuIF93ZWJzaXRl
UG9saWNpZXMtPmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQoKTsKKyAgICByZXR1cm4gX3dlYnNp
dGVQb2xpY2llcy0+Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtz
KCk7CiB9CiAKIC0gKHZvaWQpc2V0Q3VzdG9tTmF2aWdhdG9yUGxhdGZvcm06KE5TU3RyaW5nICop
Y3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBmMWQ2MGNkZWU3NDE0Y2I5ZmFlYWYzZDQzMzExNjIxM2MxMzUy
NDYzLi41MTA1Nzc5N2EyZDU1NDYzMGQyNjFmYmZhZTMyYzJmOWVmOTZlYzlhIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTktMDEtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
VXNlciBhZ2VudCBzdHJpbmcgb3ZlcnJpZGUgZm9yIG5hdmlnYXRvci51c2VyQWdlbnQgc2hvdWxk
IGJlIHNpdGUgc3BlY2lmaWMgcXVpcmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xOTM5NTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBVcGRhdGVkIHBlciB0aGUgX1dLV2Vic2l0ZVBvbGljaWVzIHJlbmFt
ZS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBv
bGljaWVzLm1tOgorICAgICAgICAoLVtDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50RGVsZWdhdGUg
X3dlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjp1c2VySW5mbzpkZWNpc2lv
bkhhbmRsZXI6XSk6CisKIDIwMTktMDEtMjggIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZWdyZXNzaW9uKFBTT04pIENyYXNoIHVuZGVyIFdlYlBhZ2VQcm94eTo6
ZGlkU3RhcnRQcm9ncmVzcygpCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1dlYnNpdGVQb2xpY2llcy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCmluZGV4IDVlNGM3YzU4Njg0OGEyMGRk
YTQ5MmYwYjlhOWNiN2ZkMzdiNjA5ODIuLmYyMDJkOTQyYjRhNWNiYTczMWI5N2U5NDA5NWZhMzFh
NzZhZDZkOWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvV2Vic2l0ZVBvbGljaWVzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCkBAIC0xMTE0LDcgKzExMTQsNyBAQCAtICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb246KFdLTmF2aWdhdAogewogICAgIF9XS1dlYnNpdGVQb2xpY2llcyAqd2Vic2l0ZVBvbGlj
aWVzID0gW1tbX1dLV2Vic2l0ZVBvbGljaWVzIGFsbG9jXSBpbml0XSBhdXRvcmVsZWFzZV07CiAg
ICAgaWYgKG5hdmlnYXRpb25BY3Rpb24udGFyZ2V0RnJhbWUubWFpbkZyYW1lKSB7Ci0gICAgICAg
IFt3ZWJzaXRlUG9saWNpZXMgc2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDpAIkZvbyBDdXN0
b20gSmF2YVNjcmlwdCBVc2VyQWdlbnQiXTsKKyAgICAgICAgW3dlYnNpdGVQb2xpY2llcyBzZXRD
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M6QCJGb28gQ3VzdG9t
IEphdmFTY3JpcHQgVXNlckFnZW50Il07CiAgICAgICAgIGlmIChfc2V0Q3VzdG9tVXNlckFnZW50
KQogICAgICAgICAgICAgW3dlYnNpdGVQb2xpY2llcyBzZXRDdXN0b21Vc2VyQWdlbnQ6QCJGb28g
Q3VzdG9tIFJlcXVlc3QgVXNlckFnZW50Il07CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360430</attachid>
            <date>2019-01-28 20:50:24 -0800</date>
            <delta_ts>2019-01-28 21:40:53 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-193950-20190128205023.patch</filename>
            <type>text/plain</type>
            <size>15257</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDYzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE5LTAxLTI4ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZXIgYWdlbnQgc3RyaW5nIG92
ZXJyaWRlIGZvciBuYXZpZ2F0b3IudXNlckFnZW50IHNob3VsZCBiZSBzaXRlIHNwZWNpZmljIHF1
aXJrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkz
OTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICBJbiBv
cmRlciB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHRvZ2dsZSB0aGUgVUEgc3RyaW5nIG92ZXJyaWRl
IGp1c3QgZm9yIG5hdmlnYXRvci51c2VyQWdlbnQgdmlhIFdlYiBJbnNwZWN0b3IsCisgICAgICAg
IHdlIG5lZWQgdG8gcHV0IHRoaXMgb3ZlcnJpZGUgYmVoaW5kIHRoZSBzaXRlIHNwZWNpZmljIHF1
aXJrcy4gQmVjYXVzZSBXZWJJbnNwZWN0b3Igb3ZlcnJpZGVzIFBhZ2UncyBzZXR0aW5nCisgICAg
ICAgIHdpdGhvdXQgdXBkYXRpbmcgV0tQcmVmZXJlbmNlcywgdGhlcmUgaXMgbm8gd2F5IGZvciBX
S1dlYlZpZXcgY2xpZW50J3MgdG8ga25vdyB3aGV0aGVyIHRoZSBzaXRlIHNwZWNpZmljIHF1aXJr
cworICAgICAgICBoYWQgYmVlbiBkaXNhYmxlZCBvciBub3QuCisKKyAgICAgICAgKiBsb2FkZXIv
RG9jdW1lbnRMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzZXRD
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVT
cGVjaWZpY1F1aXJrcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudExvYWRlcjo6Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjp1c2VyQWdlbnRGb3JKYXZhU2NyaXB0IGNvbnN0KToKKwogMjAxOS0wMS0y
OCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVu
dCBjYXB0dXJlIGZvciBQb2ludGVyIEV2ZW50cyBvbiBpT1MKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5oCShyZXZpc2lvbiAyNDA2MzUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjcxLDggKzI3MSw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEN1c3RvbVVzZXJBZ2VudChjb25zdCBTdHJpbmcmIGN1
c3RvbVVzZXJBZ2VudCkgeyBtX2N1c3RvbVVzZXJBZ2VudCA9IGN1c3RvbVVzZXJBZ2VudDsgfQog
ICAgIGNvbnN0IFN0cmluZyYgY3VzdG9tVXNlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9jdXN0
b21Vc2VyQWdlbnQ7IH0KIAotICAgIHZvaWQgc2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudChj
b25zdCBTdHJpbmcmIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQpIHsgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50ID0gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsgfQotICAgIGNvbnN0IFN0
cmluZyYgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9t
SmF2YVNjcmlwdFVzZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJB
Z2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKGNvbnN0IFN0cmluZyYgY3VzdG9tVXNlckFnZW50KSB7
IG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzID0gY3VzdG9t
VXNlckFnZW50OyB9CisgICAgY29uc3QgU3RyaW5nJiBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
QXNTaXRlU3BlY2lmaWNRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUphdmFTY3JpcHRV
c2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczsgfQogCiAgICAgdm9pZCBzZXRDdXN0b21OYXZp
Z2F0b3JQbGF0Zm9ybShjb25zdCBTdHJpbmcmIGN1c3RvbU5hdmlnYXRvclBsYXRmb3JtKSB7IG1f
Y3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0gPSBjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsgfQogICAg
IGNvbnN0IFN0cmluZyYgY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0oKSBjb25zdCB7IHJldHVybiBt
X2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtOyB9CkBAIC01NDYsNyArNTQ2LDcgQEAgcHJpdmF0ZToK
ICAgICBIYXNoTWFwPFN0cmluZywgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90Pj4+
IG1fcGVuZGluZ0NvbnRlbnRFeHRlbnNpb25EaXNwbGF5Tm9uZVNlbGVjdG9yczsKICNlbmRpZgog
ICAgIFN0cmluZyBtX2N1c3RvbVVzZXJBZ2VudDsKLSAgICBTdHJpbmcgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50OworICAgIFN0cmluZyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1Np
dGVTcGVjaWZpY1F1aXJrczsKICAgICBTdHJpbmcgbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsK
ICAgICBib29sIG1fdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCB7IHRydWUgfTsKICAgICBi
b29sIG1fZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQgeyB0cnVlIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDI0MDYzNSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3MTUs
NyArMjcxNSw4IEBAIFN0cmluZyBGcmFtZUxvYWRlcjo6dXNlckFnZW50Rm9ySmF2YVNjcmkKICAg
ICBTdHJpbmcgdXNlckFnZW50OwogCiAgICAgaWYgKGF1dG8qIGRvY3VtZW50TG9hZGVyID0gbV9m
cmFtZS5tYWluRnJhbWUoKS5sb2FkZXIoKS5hY3RpdmVEb2N1bWVudExvYWRlcigpKSB7Ci0gICAg
ICAgIHVzZXJBZ2VudCA9IGRvY3VtZW50TG9hZGVyLT5jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
KCk7CisgICAgICAgIGlmIChtX2ZyYW1lLnNldHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWly
a3MoKSkKKyAgICAgICAgICAgIHVzZXJBZ2VudCA9IGRvY3VtZW50TG9hZGVyLT5jdXN0b21KYXZh
U2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MoKTsKICAgICAgICAgaWYgKHVzZXJB
Z2VudC5pc0VtcHR5KCkpCiAgICAgICAgICAgICB1c2VyQWdlbnQgPSBkb2N1bWVudExvYWRlci0+
Y3VzdG9tVXNlckFnZW50KCk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDYzNSkK
KysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTktMDEtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgVXNlciBhZ2VudCBzdHJpbmcgb3ZlcnJpZGUgZm9yIG5hdmlnYXRvci51c2VyQWdlbnQgc2hv
dWxkIGJlIHNpdGUgc3BlY2lmaWMgcXVpcmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM5NTAKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBG
dWxnaGFtLgorCisgICAgICAgIFJlbmFtZWQgdGhlIHZhcmlvdXMgbWVtYmVyIHZhcmlhYmxlcywg
ZnVuY3Rpb25zLCBwcm9wZXJ0aWVzIGFuZCBzZWxlY3RvcnMuCisKKyAgICAgICAgKiBTaGFyZWQv
V2Vic2l0ZVBvbGljaWVzRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2ll
c0RhdGE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0Rh
dGE6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmFwcGx5
VG9Eb2N1bWVudExvYWRlcik6CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHA6CisgICAg
ICAgIChBUEk6OldlYnNpdGVQb2xpY2llczo6ZGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElXZWJzaXRlUG9saWNpZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vi
c2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoLVtfV0tXZWJzaXRlUG9saWNpZXMgc2V0Q3VzdG9t
SmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzOl0pOiBSZW5hbWVkIGZyb20g
c2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudC4KKyAgICAgICAgKC1bX1dLV2Vic2l0ZVBvbGlj
aWVzIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrc10pOiBSZW5h
bWVkIGZyb20gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudC4KKwogMjAxOS0wMS0yOCAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFNjcmVlbiBDYXB0dXJlIHBy
ZWZlcmVuY2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0Rh
dGEuY3BwCShyZXZpc2lvbiAyNDA2MzUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRl
UG9saWNpZXNEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCB2b2lkIFdl
YnNpdGVQb2xpY2llc0RhdGE6OmVuY29kZShJUEM6OkVuCiAgICAgZW5jb2RlciA8PCBwb3BVcFBv
bGljeTsKICAgICBlbmNvZGVyIDw8IHdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOwogICAgIGVu
Y29kZXIgPDwgY3VzdG9tVXNlckFnZW50OwotICAgIGVuY29kZXIgPDwgY3VzdG9tSmF2YVNjcmlw
dFVzZXJBZ2VudDsKKyAgICBlbmNvZGVyIDw8IGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1Np
dGVTcGVjaWZpY1F1aXJrczsKICAgICBlbmNvZGVyIDw8IGN1c3RvbU5hdmlnYXRvclBsYXRmb3Jt
OwogfQogCkBAIC05MCw5ICs5MCw5IEBAIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IFdl
YnNpdGVQb2wKICAgICBpZiAoIWN1c3RvbVVzZXJBZ2VudCkKICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKIAotICAgIE9wdGlvbmFsPFN0cmluZz4gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2Vu
dDsKLSAgICBkZWNvZGVyID4+IGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQ7Ci0gICAgaWYgKCFj
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50KQorICAgIE9wdGlvbmFsPFN0cmluZz4gY3VzdG9tSmF2
YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzOworICAgIGRlY29kZXIgPj4gY3Vz
dG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzOworICAgIGlmICghY3Vz
dG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKQogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgT3B0aW9uYWw8U3RyaW5nPiBjdXN0b21OYXZpZ2F0b3JQ
bGF0Zm9ybTsKQEAgLTEwOSw3ICsxMDksNyBAQCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRh
PiBXZWJzaXRlUG9sCiAgICAgICAgIFdURk1vdmUoKnBvcFVwUG9saWN5KSwKICAgICAgICAgV1RG
TW92ZSgqd2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMpLAogICAgICAgICBXVEZNb3ZlKCpjdXN0
b21Vc2VyQWdlbnQpLAotICAgICAgICBXVEZNb3ZlKCpjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
KSwKKyAgICAgICAgV1RGTW92ZSgqY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNp
ZmljUXVpcmtzKSwKICAgICAgICAgV1RGTW92ZSgqY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0pLAog
ICAgIH0gfTsKIH0KQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIFdlYnNpdGVQb2xpY2llc0RhdGE6
OmFwcGx5VG9Eb2N1bWVuCiB7CiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0Q3VzdG9tSGVhZGVyRmll
bGRzKFdURk1vdmUod2Vic2l0ZVBvbGljaWVzLmN1c3RvbUhlYWRlckZpZWxkcykpOwogICAgIGRv
Y3VtZW50TG9hZGVyLnNldEN1c3RvbVVzZXJBZ2VudCh3ZWJzaXRlUG9saWNpZXMuY3VzdG9tVXNl
ckFnZW50KTsKLSAgICBkb2N1bWVudExvYWRlci5zZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
KHdlYnNpdGVQb2xpY2llcy5jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50KTsKKyAgICBkb2N1bWVu
dExvYWRlci5zZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3Mo
d2Vic2l0ZVBvbGljaWVzLmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1
aXJrcyk7CiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0Q3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0od2Vi
c2l0ZVBvbGljaWVzLmN1c3RvbU5hdmlnYXRvclBsYXRmb3JtKTsKICAgICBkb2N1bWVudExvYWRl
ci5zZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCh3ZWJzaXRlUG9saWNpZXMuZGV2aWNl
T3JpZW50YXRpb25FdmVudEVuYWJsZWQpOwogICAgIApJbmRleDogU291cmNlL1dlYktpdC9TaGFy
ZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaAkocmV2aXNpb24gMjQwNjM1KQorKysgU291cmNlL1dl
YktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3
ICs1NCw3IEBAIHN0cnVjdCBXZWJzaXRlUG9saWNpZXNEYXRhIHsKICAgICBXZWJzaXRlUG9wVXBQ
b2xpY3kgcG9wVXBQb2xpY3kgeyBXZWJzaXRlUG9wVXBQb2xpY3k6OkRlZmF1bHQgfTsKICAgICBP
cHRpb25hbDxXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycz4gd2Vic2l0ZURhdGFTdG9yZVBhcmFt
ZXRlcnM7CiAgICAgU3RyaW5nIGN1c3RvbVVzZXJBZ2VudDsKLSAgICBTdHJpbmcgY3VzdG9tSmF2
YVNjcmlwdFVzZXJBZ2VudDsKKyAgICBTdHJpbmcgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFz
U2l0ZVNwZWNpZmljUXVpcmtzOwogICAgIFN0cmluZyBjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsK
IAogICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAJKHJldmlz
aW9uIDI0MDYzNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9s
aWNpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIFdlYktpdDo6V2Vic2l0
ZVBvbGljaWVzRGF0YSBXZWJzaXRlUG9saWMKICAgICBpZiAobV93ZWJzaXRlRGF0YVN0b3JlKQog
ICAgICAgICBwYXJhbWV0ZXJzID0gbV93ZWJzaXRlRGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3Jl
KCkucGFyYW1ldGVycygpOwogICAgIHJldHVybiB7IGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoKSwg
ZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQoKSwgYWxsb3dlZEF1dG9wbGF5UXVpcmtzKCks
IGF1dG9wbGF5UG9saWN5KCksCi0gICAgICAgIGN1c3RvbUhlYWRlckZpZWxkcygpLCBwb3BVcFBv
bGljeSgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBtX2N1c3RvbVVzZXJBZ2VudCwgbV9jdXN0b21K
YXZhU2NyaXB0VXNlckFnZW50LCBtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtIH07CisgICAgICAg
IGN1c3RvbUhlYWRlckZpZWxkcygpLCBwb3BVcFBvbGljeSgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMp
LCBtX2N1c3RvbVVzZXJBZ2VudCwgbV9jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3Bl
Y2lmaWNRdWlya3MsIG1fY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0gfTsKIH0KIAogfQpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAko
cmV2aXNpb24gMjQwNjM1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVQb2xpY2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSw4ICs3NSw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEN1c3RvbVVzZXJBZ2VudChjb25zdCBXVEY6OlN0cmluZyYgY3VzdG9tVXNlckFn
ZW50KSB7IG1fY3VzdG9tVXNlckFnZW50ID0gY3VzdG9tVXNlckFnZW50OyB9CiAgICAgY29uc3Qg
V1RGOjpTdHJpbmcmIGN1c3RvbVVzZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tVXNl
ckFnZW50OyB9CiAKLSAgICB2b2lkIHNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQoY29uc3Qg
V1RGOjpTdHJpbmcmIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQpIHsgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50ID0gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsgfQotICAgIGNvbnN0IFdU
Rjo6U3RyaW5nJiBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9j
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50OyB9CisgICAgdm9pZCBzZXRDdXN0b21KYXZhU2NyaXB0
VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MoY29uc3QgV1RGOjpTdHJpbmcmIGN1c3RvbVVz
ZXJBZ2VudCkgeyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJr
cyA9IGN1c3RvbVVzZXJBZ2VudDsgfQorICAgIGNvbnN0IFdURjo6U3RyaW5nJiBjdXN0b21KYXZh
U2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX2N1
c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczsgfQogCiAgICAgdm9p
ZCBzZXRDdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybShjb25zdCBXVEY6OlN0cmluZyYgY3VzdG9tTmF2
aWdhdG9yUGxhdGZvcm0pIHsgbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSA9IGN1c3RvbU5hdmln
YXRvclBsYXRmb3JtOyB9CiAgICAgY29uc3QgV1RGOjpTdHJpbmcmIGN1c3RvbU5hdmlnYXRvclBs
YXRmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsgfQpAQCAt
OTIsNyArOTIsNyBAQCBwcml2YXRlOgogICAgIFdlYktpdDo6V2Vic2l0ZVBvcFVwUG9saWN5IG1f
cG9wVXBQb2xpY3kgeyBXZWJLaXQ6OldlYnNpdGVQb3BVcFBvbGljeTo6RGVmYXVsdCB9OwogICAg
IFJlZlB0cjxXZWJzaXRlRGF0YVN0b3JlPiBtX3dlYnNpdGVEYXRhU3RvcmU7CiAgICAgV1RGOjpT
dHJpbmcgbV9jdXN0b21Vc2VyQWdlbnQ7Ci0gICAgV1RGOjpTdHJpbmcgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50OworICAgIFdURjo6U3RyaW5nIG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2Vu
dEFzU2l0ZVNwZWNpZmljUXVpcmtzOwogICAgIFdURjo6U3RyaW5nIG1fY3VzdG9tTmF2aWdhdG9y
UGxhdGZvcm07CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLV2Vic2l0ZVBvbGljaWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5oCShyZXZpc2lvbiAyNDA2MzUpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU5LDcgKzU5LDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMi4zKSwgaW9zKAogQHByb3BlcnR5IChub25hdG9taWMpIF9XS1dlYnNpdGVQb3BVcFBvbGlj
eSBwb3BVcFBvbGljeSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xNCksIGlvcygxMi4wKSk7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBXS1dlYnNpdGVEYXRhU3RvcmUgKndlYnNp
dGVEYXRhU3RvcmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1c3RvbVVzZXJBZ2VudCBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VzdG9tSmF2YVNjcmlwdFVzZXJB
Z2VudCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VzdG9tSmF2YVNjcmlw
dFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkp
IE5TU3RyaW5nICpjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIGRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW0JKHJl
dmlzaW9uIDI0MDYzNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tX
ZWJzaXRlUG9saWNpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwOSwxNCArMjA5LDE0IEBAIC0g
KE5TU3RyaW5nICopY3VzdG9tVXNlckFnZW50CiAgICAgcmV0dXJuIF93ZWJzaXRlUG9saWNpZXMt
PmN1c3RvbVVzZXJBZ2VudCgpOwogfQogCi0tICh2b2lkKXNldEN1c3RvbUphdmFTY3JpcHRVc2Vy
QWdlbnQ6KE5TU3RyaW5nICopY3VzdG9tVXNlckFnZW50CistICh2b2lkKXNldEN1c3RvbUphdmFT
Y3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczooTlNTdHJpbmcgKiljdXN0b21Vc2Vy
QWdlbnQKIHsKLSAgICBfd2Vic2l0ZVBvbGljaWVzLT5zZXRDdXN0b21KYXZhU2NyaXB0VXNlckFn
ZW50KGN1c3RvbVVzZXJBZ2VudCk7CisgICAgX3dlYnNpdGVQb2xpY2llcy0+c2V0Q3VzdG9tSmF2
YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKGN1c3RvbVVzZXJBZ2VudCk7CiB9
CiAKLS0gKE5TU3RyaW5nICopY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudAorLSAoTlNTdHJpbmcg
KiljdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MKIHsKLSAgICBy
ZXR1cm4gX3dlYnNpdGVQb2xpY2llcy0+Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCgpOworICAg
IHJldHVybiBfd2Vic2l0ZVBvbGljaWVzLT5jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRl
U3BlY2lmaWNRdWlya3MoKTsKIH0KIAogLSAodm9pZClzZXRDdXN0b21OYXZpZ2F0b3JQbGF0Zm9y
bTooTlNTdHJpbmcgKiljdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybQpJbmRleDogVG9vbHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNjM1KQorKysg
VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDEt
MjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlciBhZ2Vu
dCBzdHJpbmcgb3ZlcnJpZGUgZm9yIG5hdmlnYXRvci51c2VyQWdlbnQgc2hvdWxkIGJlIHNpdGUg
c3BlY2lmaWMgcXVpcmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTM5NTAKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisg
ICAgICAgIFVwZGF0ZWQgcGVyIHRoZSBfV0tXZWJzaXRlUG9saWNpZXMgcmVuYW1lLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06
CisgICAgICAgICgtW0N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnREZWxlZ2F0ZSBfd2ViVmlldzpk
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOnVzZXJJbmZvOmRlY2lzaW9uSGFuZGxlcjpd
KToKKwogMjAxOS0wMS0yOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW3dhdGNoT1NdIEVuYWJsZSBQYXJlbnRhbCBDb250cm9scyBjb250ZW50IGZpbHRlcmluZwpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNp
ZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9XZWJzaXRlUG9saWNpZXMubW0JKHJldmlzaW9uIDI0MDYzNSkKKysrIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTE0LDcgKzExMTQsNyBAQCAtICh2b2lkKV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJW
aWV3IGRlCiB7CiAgICAgX1dLV2Vic2l0ZVBvbGljaWVzICp3ZWJzaXRlUG9saWNpZXMgPSBbW1tf
V0tXZWJzaXRlUG9saWNpZXMgYWxsb2NdIGluaXRdIGF1dG9yZWxlYXNlXTsKICAgICBpZiAobmF2
aWdhdGlvbkFjdGlvbi50YXJnZXRGcmFtZS5tYWluRnJhbWUpIHsKLSAgICAgICAgW3dlYnNpdGVQ
b2xpY2llcyBzZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50OkAiRm9vIEN1c3RvbSBKYXZhU2Ny
aXB0IFVzZXJBZ2VudCJdOworICAgICAgICBbd2Vic2l0ZVBvbGljaWVzIHNldEN1c3RvbUphdmFT
Y3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczpAIkZvbyBDdXN0b20gSmF2YVNjcmlw
dCBVc2VyQWdlbnQiXTsKICAgICAgICAgaWYgKF9zZXRDdXN0b21Vc2VyQWdlbnQpCiAgICAgICAg
ICAgICBbd2Vic2l0ZVBvbGljaWVzIHNldEN1c3RvbVVzZXJBZ2VudDpAIkZvbyBDdXN0b20gUmVx
dWVzdCBVc2VyQWdlbnQiXTsKICAgICB9CkBAIC0xMTQ1LDYgKzExNDUsMTAgQEAgVEVTVChXZWJL
aXQsIFdlYnNpdGVQb2xpY2llc0N1c3RvbUphdmFTYwogCiAgICAgYXV0byB3ZWJWaWV3ID0gYWRv
cHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgpXSk7CiAKKyAgICBX
S1JldGFpblB0cjxXS1ByZWZlcmVuY2VzUmVmPiBwcmVmZXJlbmNlcyhBZG9wdFdLLCBXS1ByZWZl
cmVuY2VzQ3JlYXRlKCkpOworICAgIFdLUHJlZmVyZW5jZXNTZXROZWVkc1NpdGVTcGVjaWZpY1F1
aXJrcyhwcmVmZXJlbmNlcy5nZXQoKSwgdHJ1ZSk7CisgICAgV0tQYWdlR3JvdXBTZXRQcmVmZXJl
bmNlcyhXS1BhZ2VHZXRQYWdlR3JvdXAoW3dlYlZpZXcgX3BhZ2VGb3JUZXN0aW5nXSksIHByZWZl
cmVuY2VzLmdldCgpKTsKKwogICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbQ3VzdG9tSmF2
YVNjcmlwdFVzZXJBZ2VudERlbGVnYXRlIGFsbG9jXSBpbml0XSk7CiAgICAgW3dlYlZpZXcgc2V0
TmF2aWdhdGlvbkRlbGVnYXRlOmRlbGVnYXRlLmdldCgpXTsKIApAQCAtMTE3Niw2ICsxMTgwLDEw
IEBAIFRFU1QoV2ViS2l0LCBXZWJzaXRlUG9saWNpZXNDdXN0b21Vc2VyQWcKIAogICAgIGF1dG8g
d2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5T
TWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQo
KV0pOwogCisgICAgV0tSZXRhaW5QdHI8V0tQcmVmZXJlbmNlc1JlZj4gcHJlZmVyZW5jZXMoQWRv
cHRXSywgV0tQcmVmZXJlbmNlc0NyZWF0ZSgpKTsKKyAgICBXS1ByZWZlcmVuY2VzU2V0TmVlZHNT
aXRlU3BlY2lmaWNRdWlya3MocHJlZmVyZW5jZXMuZ2V0KCksIHRydWUpOworICAgIFdLUGFnZUdy
b3VwU2V0UHJlZmVyZW5jZXMoV0tQYWdlR2V0UGFnZUdyb3VwKFt3ZWJWaWV3IF9wYWdlRm9yVGVz
dGluZ10pLCBwcmVmZXJlbmNlcy5nZXQoKSk7CisKICAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHRO
UyhbW0N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnREZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOwogICAg
IGRlbGVnYXRlLmdldCgpLnNldEN1c3RvbVVzZXJBZ2VudCA9IFlFUzsKICAgICBbd2ViVmlldyBz
ZXROYXZpZ2F0aW9uRGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360437</attachid>
            <date>2019-01-28 21:40:55 -0800</date>
            <delta_ts>2019-01-28 21:41:12 -0800</delta_ts>
            <desc>Fixed iOS build</desc>
            <filename>bug-193950-20190128214054.patch</filename>
            <type>text/plain</type>
            <size>15244</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDYzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE5LTAxLTI4ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIFVzZXIgYWdlbnQgc3RyaW5nIG92
ZXJyaWRlIGZvciBuYXZpZ2F0b3IudXNlckFnZW50IHNob3VsZCBiZSBzaXRlIHNwZWNpZmljIHF1
aXJrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkz
OTUwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQnJlbnQgRnVsZ2hhbS4KKworICAgICAgICBJbiBv
cmRlciB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHRvZ2dsZSB0aGUgVUEgc3RyaW5nIG92ZXJyaWRl
IGp1c3QgZm9yIG5hdmlnYXRvci51c2VyQWdlbnQgdmlhIFdlYiBJbnNwZWN0b3IsCisgICAgICAg
IHdlIG5lZWQgdG8gcHV0IHRoaXMgb3ZlcnJpZGUgYmVoaW5kIHRoZSBzaXRlIHNwZWNpZmljIHF1
aXJrcy4gQmVjYXVzZSBXZWJJbnNwZWN0b3Igb3ZlcnJpZGVzIFBhZ2UncyBzZXR0aW5nCisgICAg
ICAgIHdpdGhvdXQgdXBkYXRpbmcgV0tQcmVmZXJlbmNlcywgdGhlcmUgaXMgbm8gd2F5IGZvciBX
S1dlYlZpZXcgY2xpZW50J3MgdG8ga25vdyB3aGV0aGVyIHRoZSBzaXRlIHNwZWNpZmljIHF1aXJr
cworICAgICAgICBoYWQgYmVlbiBkaXNhYmxlZCBvciBub3QuCisKKyAgICAgICAgKiBsb2FkZXIv
RG9jdW1lbnRMb2FkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzZXRD
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVT
cGVjaWZpY1F1aXJrcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6
c2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpEb2N1bWVudExvYWRlcjo6Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyOjp1c2VyQWdlbnRGb3JKYXZhU2NyaXB0IGNvbnN0KToKKwogMjAxOS0wMS0y
OCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVu
dCBjYXB0dXJlIGZvciBQb2ludGVyIEV2ZW50cyBvbiBpT1MKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xv
YWRlci9Eb2N1bWVudExvYWRlci5oCShyZXZpc2lvbiAyNDA2MzUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjcxLDggKzI3MSw4
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEN1c3RvbVVzZXJBZ2VudChjb25zdCBTdHJpbmcmIGN1
c3RvbVVzZXJBZ2VudCkgeyBtX2N1c3RvbVVzZXJBZ2VudCA9IGN1c3RvbVVzZXJBZ2VudDsgfQog
ICAgIGNvbnN0IFN0cmluZyYgY3VzdG9tVXNlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9jdXN0
b21Vc2VyQWdlbnQ7IH0KIAotICAgIHZvaWQgc2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudChj
b25zdCBTdHJpbmcmIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQpIHsgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50ID0gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsgfQotICAgIGNvbnN0IFN0
cmluZyYgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9t
SmF2YVNjcmlwdFVzZXJBZ2VudDsgfQorICAgIHZvaWQgc2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJB
Z2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKGNvbnN0IFN0cmluZyYgY3VzdG9tVXNlckFnZW50KSB7
IG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzID0gY3VzdG9t
VXNlckFnZW50OyB9CisgICAgY29uc3QgU3RyaW5nJiBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
QXNTaXRlU3BlY2lmaWNRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX2N1c3RvbUphdmFTY3JpcHRV
c2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczsgfQogCiAgICAgdm9pZCBzZXRDdXN0b21OYXZp
Z2F0b3JQbGF0Zm9ybShjb25zdCBTdHJpbmcmIGN1c3RvbU5hdmlnYXRvclBsYXRmb3JtKSB7IG1f
Y3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0gPSBjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsgfQogICAg
IGNvbnN0IFN0cmluZyYgY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0oKSBjb25zdCB7IHJldHVybiBt
X2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtOyB9CkBAIC01NDYsNyArNTQ2LDcgQEAgcHJpdmF0ZToK
ICAgICBIYXNoTWFwPFN0cmluZywgVmVjdG9yPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90Pj4+
IG1fcGVuZGluZ0NvbnRlbnRFeHRlbnNpb25EaXNwbGF5Tm9uZVNlbGVjdG9yczsKICNlbmRpZgog
ICAgIFN0cmluZyBtX2N1c3RvbVVzZXJBZ2VudDsKLSAgICBTdHJpbmcgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50OworICAgIFN0cmluZyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1Np
dGVTcGVjaWZpY1F1aXJrczsKICAgICBTdHJpbmcgbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsK
ICAgICBib29sIG1fdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxlZCB7IHRydWUgfTsKICAgICBi
b29sIG1fZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQgeyB0cnVlIH07CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDI0MDYzNSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3MTUs
NyArMjcxNSw4IEBAIFN0cmluZyBGcmFtZUxvYWRlcjo6dXNlckFnZW50Rm9ySmF2YVNjcmkKICAg
ICBTdHJpbmcgdXNlckFnZW50OwogCiAgICAgaWYgKGF1dG8qIGRvY3VtZW50TG9hZGVyID0gbV9m
cmFtZS5tYWluRnJhbWUoKS5sb2FkZXIoKS5hY3RpdmVEb2N1bWVudExvYWRlcigpKSB7Ci0gICAg
ICAgIHVzZXJBZ2VudCA9IGRvY3VtZW50TG9hZGVyLT5jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
KCk7CisgICAgICAgIGlmIChtX2ZyYW1lLnNldHRpbmdzKCkubmVlZHNTaXRlU3BlY2lmaWNRdWly
a3MoKSkKKyAgICAgICAgICAgIHVzZXJBZ2VudCA9IGRvY3VtZW50TG9hZGVyLT5jdXN0b21KYXZh
U2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MoKTsKICAgICAgICAgaWYgKHVzZXJB
Z2VudC5pc0VtcHR5KCkpCiAgICAgICAgICAgICB1c2VyQWdlbnQgPSBkb2N1bWVudExvYWRlci0+
Y3VzdG9tVXNlckFnZW50KCk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI0MDYzNSkK
KysrIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTktMDEtMjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgVXNlciBhZ2VudCBzdHJpbmcgb3ZlcnJpZGUgZm9yIG5hdmlnYXRvci51c2VyQWdlbnQgc2hv
dWxkIGJlIHNpdGUgc3BlY2lmaWMgcXVpcmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM5NTAKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBG
dWxnaGFtLgorCisgICAgICAgIFJlbmFtZWQgdGhlIHZhcmlvdXMgbWVtYmVyIHZhcmlhYmxlcywg
ZnVuY3Rpb25zLCBwcm9wZXJ0aWVzIGFuZCBzZWxlY3RvcnMuCisKKyAgICAgICAgKiBTaGFyZWQv
V2Vic2l0ZVBvbGljaWVzRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2ll
c0RhdGE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0Rh
dGE6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmFwcGx5
VG9Eb2N1bWVudExvYWRlcik6CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHA6CisgICAg
ICAgIChBUEk6OldlYnNpdGVQb2xpY2llczo6ZGF0YSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElXZWJzaXRlUG9saWNpZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19X
S1dlYnNpdGVQb2xpY2llcy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vi
c2l0ZVBvbGljaWVzLm1tOgorICAgICAgICAoLVtfV0tXZWJzaXRlUG9saWNpZXMgc2V0Q3VzdG9t
SmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzOl0pOiBSZW5hbWVkIGZyb20g
c2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudC4KKyAgICAgICAgKC1bX1dLV2Vic2l0ZVBvbGlj
aWVzIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrc10pOiBSZW5h
bWVkIGZyb20gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudC4KKwogMjAxOS0wMS0yOCAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIFNjcmVlbiBDYXB0dXJlIHBy
ZWZlcmVuY2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0Rh
dGEuY3BwCShyZXZpc2lvbiAyNDA2MzUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRl
UG9saWNpZXNEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDQsNyArNDQsNyBAQCB2b2lkIFdl
YnNpdGVQb2xpY2llc0RhdGE6OmVuY29kZShJUEM6OkVuCiAgICAgZW5jb2RlciA8PCBwb3BVcFBv
bGljeTsKICAgICBlbmNvZGVyIDw8IHdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzOwogICAgIGVu
Y29kZXIgPDwgY3VzdG9tVXNlckFnZW50OwotICAgIGVuY29kZXIgPDwgY3VzdG9tSmF2YVNjcmlw
dFVzZXJBZ2VudDsKKyAgICBlbmNvZGVyIDw8IGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1Np
dGVTcGVjaWZpY1F1aXJrczsKICAgICBlbmNvZGVyIDw8IGN1c3RvbU5hdmlnYXRvclBsYXRmb3Jt
OwogfQogCkBAIC05MCw5ICs5MCw5IEBAIE9wdGlvbmFsPFdlYnNpdGVQb2xpY2llc0RhdGE+IFdl
YnNpdGVQb2wKICAgICBpZiAoIWN1c3RvbVVzZXJBZ2VudCkKICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKIAotICAgIE9wdGlvbmFsPFN0cmluZz4gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2Vu
dDsKLSAgICBkZWNvZGVyID4+IGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQ7Ci0gICAgaWYgKCFj
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50KQorICAgIE9wdGlvbmFsPFN0cmluZz4gY3VzdG9tSmF2
YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzOworICAgIGRlY29kZXIgPj4gY3Vz
dG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzOworICAgIGlmICghY3Vz
dG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKQogICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OwogCiAgICAgT3B0aW9uYWw8U3RyaW5nPiBjdXN0b21OYXZpZ2F0b3JQ
bGF0Zm9ybTsKQEAgLTEwOSw3ICsxMDksNyBAQCBPcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRh
PiBXZWJzaXRlUG9sCiAgICAgICAgIFdURk1vdmUoKnBvcFVwUG9saWN5KSwKICAgICAgICAgV1RG
TW92ZSgqd2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMpLAogICAgICAgICBXVEZNb3ZlKCpjdXN0
b21Vc2VyQWdlbnQpLAotICAgICAgICBXVEZNb3ZlKCpjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
KSwKKyAgICAgICAgV1RGTW92ZSgqY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNp
ZmljUXVpcmtzKSwKICAgICAgICAgV1RGTW92ZSgqY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0pLAog
ICAgIH0gfTsKIH0KQEAgLTExOCw3ICsxMTgsNyBAQCB2b2lkIFdlYnNpdGVQb2xpY2llc0RhdGE6
OmFwcGx5VG9Eb2N1bWVuCiB7CiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0Q3VzdG9tSGVhZGVyRmll
bGRzKFdURk1vdmUod2Vic2l0ZVBvbGljaWVzLmN1c3RvbUhlYWRlckZpZWxkcykpOwogICAgIGRv
Y3VtZW50TG9hZGVyLnNldEN1c3RvbVVzZXJBZ2VudCh3ZWJzaXRlUG9saWNpZXMuY3VzdG9tVXNl
ckFnZW50KTsKLSAgICBkb2N1bWVudExvYWRlci5zZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50
KHdlYnNpdGVQb2xpY2llcy5jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50KTsKKyAgICBkb2N1bWVu
dExvYWRlci5zZXRDdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3Mo
d2Vic2l0ZVBvbGljaWVzLmN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1
aXJrcyk7CiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0Q3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0od2Vi
c2l0ZVBvbGljaWVzLmN1c3RvbU5hdmlnYXRvclBsYXRmb3JtKTsKICAgICBkb2N1bWVudExvYWRl
ci5zZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCh3ZWJzaXRlUG9saWNpZXMuZGV2aWNl
T3JpZW50YXRpb25FdmVudEVuYWJsZWQpOwogICAgIApJbmRleDogU291cmNlL1dlYktpdC9TaGFy
ZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaAkocmV2aXNpb24gMjQwNjM1KQorKysgU291cmNlL1dl
YktpdC9TaGFyZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3
ICs1NCw3IEBAIHN0cnVjdCBXZWJzaXRlUG9saWNpZXNEYXRhIHsKICAgICBXZWJzaXRlUG9wVXBQ
b2xpY3kgcG9wVXBQb2xpY3kgeyBXZWJzaXRlUG9wVXBQb2xpY3k6OkRlZmF1bHQgfTsKICAgICBP
cHRpb25hbDxXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycz4gd2Vic2l0ZURhdGFTdG9yZVBhcmFt
ZXRlcnM7CiAgICAgU3RyaW5nIGN1c3RvbVVzZXJBZ2VudDsKLSAgICBTdHJpbmcgY3VzdG9tSmF2
YVNjcmlwdFVzZXJBZ2VudDsKKyAgICBTdHJpbmcgY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudEFz
U2l0ZVNwZWNpZmljUXVpcmtzOwogICAgIFN0cmluZyBjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsK
IAogICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHAJKHJldmlz
aW9uIDI0MDYzNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9s
aWNpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIFdlYktpdDo6V2Vic2l0
ZVBvbGljaWVzRGF0YSBXZWJzaXRlUG9saWMKICAgICBpZiAobV93ZWJzaXRlRGF0YVN0b3JlKQog
ICAgICAgICBwYXJhbWV0ZXJzID0gbV93ZWJzaXRlRGF0YVN0b3JlLT53ZWJzaXRlRGF0YVN0b3Jl
KCkucGFyYW1ldGVycygpOwogICAgIHJldHVybiB7IGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQoKSwg
ZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQoKSwgYWxsb3dlZEF1dG9wbGF5UXVpcmtzKCks
IGF1dG9wbGF5UG9saWN5KCksCi0gICAgICAgIGN1c3RvbUhlYWRlckZpZWxkcygpLCBwb3BVcFBv
bGljeSgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMpLCBtX2N1c3RvbVVzZXJBZ2VudCwgbV9jdXN0b21K
YXZhU2NyaXB0VXNlckFnZW50LCBtX2N1c3RvbU5hdmlnYXRvclBsYXRmb3JtIH07CisgICAgICAg
IGN1c3RvbUhlYWRlckZpZWxkcygpLCBwb3BVcFBvbGljeSgpLCBXVEZNb3ZlKHBhcmFtZXRlcnMp
LCBtX2N1c3RvbVVzZXJBZ2VudCwgbV9jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3Bl
Y2lmaWNRdWlya3MsIG1fY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0gfTsKIH0KIAogfQpJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAko
cmV2aXNpb24gMjQwNjM1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVdlYnNp
dGVQb2xpY2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC03NSw4ICs3NSw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEN1c3RvbVVzZXJBZ2VudChjb25zdCBXVEY6OlN0cmluZyYgY3VzdG9tVXNlckFn
ZW50KSB7IG1fY3VzdG9tVXNlckFnZW50ID0gY3VzdG9tVXNlckFnZW50OyB9CiAgICAgY29uc3Qg
V1RGOjpTdHJpbmcmIGN1c3RvbVVzZXJBZ2VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY3VzdG9tVXNl
ckFnZW50OyB9CiAKLSAgICB2b2lkIHNldEN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQoY29uc3Qg
V1RGOjpTdHJpbmcmIGN1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnQpIHsgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50ID0gY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDsgfQotICAgIGNvbnN0IFdU
Rjo6U3RyaW5nJiBjdXN0b21KYXZhU2NyaXB0VXNlckFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9j
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50OyB9CisgICAgdm9pZCBzZXRDdXN0b21KYXZhU2NyaXB0
VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MoY29uc3QgV1RGOjpTdHJpbmcmIGN1c3RvbVVz
ZXJBZ2VudCkgeyBtX2N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJr
cyA9IGN1c3RvbVVzZXJBZ2VudDsgfQorICAgIGNvbnN0IFdURjo6U3RyaW5nJiBjdXN0b21KYXZh
U2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MoKSBjb25zdCB7IHJldHVybiBtX2N1
c3RvbUphdmFTY3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczsgfQogCiAgICAgdm9p
ZCBzZXRDdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybShjb25zdCBXVEY6OlN0cmluZyYgY3VzdG9tTmF2
aWdhdG9yUGxhdGZvcm0pIHsgbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSA9IGN1c3RvbU5hdmln
YXRvclBsYXRmb3JtOyB9CiAgICAgY29uc3QgV1RGOjpTdHJpbmcmIGN1c3RvbU5hdmlnYXRvclBs
YXRmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9jdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybTsgfQpAQCAt
OTIsNyArOTIsNyBAQCBwcml2YXRlOgogICAgIFdlYktpdDo6V2Vic2l0ZVBvcFVwUG9saWN5IG1f
cG9wVXBQb2xpY3kgeyBXZWJLaXQ6OldlYnNpdGVQb3BVcFBvbGljeTo6RGVmYXVsdCB9OwogICAg
IFJlZlB0cjxXZWJzaXRlRGF0YVN0b3JlPiBtX3dlYnNpdGVEYXRhU3RvcmU7CiAgICAgV1RGOjpT
dHJpbmcgbV9jdXN0b21Vc2VyQWdlbnQ7Ci0gICAgV1RGOjpTdHJpbmcgbV9jdXN0b21KYXZhU2Ny
aXB0VXNlckFnZW50OworICAgIFdURjo6U3RyaW5nIG1fY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2Vu
dEFzU2l0ZVNwZWNpZmljUXVpcmtzOwogICAgIFdURjo6U3RyaW5nIG1fY3VzdG9tTmF2aWdhdG9y
UGxhdGZvcm07CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLV2Vic2l0ZVBvbGljaWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5oCShyZXZpc2lvbiAyNDA2MzUpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTU5LDcgKzU5LDcgQEAgV0tfQ0xBU1NfQVZBSUxBQkxFKG1hY29zeCgx
MC4xMi4zKSwgaW9zKAogQHByb3BlcnR5IChub25hdG9taWMpIF9XS1dlYnNpdGVQb3BVcFBvbGlj
eSBwb3BVcFBvbGljeSBXS19BUElfQVZBSUxBQkxFKG1hY29zeCgxMC4xNCksIGlvcygxMi4wKSk7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBXS1dlYnNpdGVEYXRhU3RvcmUgKndlYnNp
dGVEYXRhU3RvcmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMuNCksIGlvcygxMS4zKSk7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1c3RvbVVzZXJBZ2VudCBX
S19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKLUBw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VzdG9tSmF2YVNjcmlwdFVzZXJB
Z2VudCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEp
KTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VzdG9tSmF2YVNjcmlw
dFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdL
X01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkp
IE5TU3RyaW5nICpjdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSBXS19BUElfQVZBSUxBQkxFKG1hY29z
eChXS19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBC
T09MIGRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4
KFdLX01BQ19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW0JKHJl
dmlzaW9uIDI0MDYzNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tX
ZWJzaXRlUG9saWNpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIwOSwxNCArMjA5LDE0IEBAIC0g
KE5TU3RyaW5nICopY3VzdG9tVXNlckFnZW50CiAgICAgcmV0dXJuIF93ZWJzaXRlUG9saWNpZXMt
PmN1c3RvbVVzZXJBZ2VudCgpOwogfQogCi0tICh2b2lkKXNldEN1c3RvbUphdmFTY3JpcHRVc2Vy
QWdlbnQ6KE5TU3RyaW5nICopY3VzdG9tVXNlckFnZW50CistICh2b2lkKXNldEN1c3RvbUphdmFT
Y3JpcHRVc2VyQWdlbnRBc1NpdGVTcGVjaWZpY1F1aXJrczooTlNTdHJpbmcgKiljdXN0b21Vc2Vy
QWdlbnQKIHsKLSAgICBfd2Vic2l0ZVBvbGljaWVzLT5zZXRDdXN0b21KYXZhU2NyaXB0VXNlckFn
ZW50KGN1c3RvbVVzZXJBZ2VudCk7CisgICAgX3dlYnNpdGVQb2xpY2llcy0+c2V0Q3VzdG9tSmF2
YVNjcmlwdFVzZXJBZ2VudEFzU2l0ZVNwZWNpZmljUXVpcmtzKGN1c3RvbVVzZXJBZ2VudCk7CiB9
CiAKLS0gKE5TU3RyaW5nICopY3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudAorLSAoTlNTdHJpbmcg
KiljdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3MKIHsKLSAgICBy
ZXR1cm4gX3dlYnNpdGVQb2xpY2llcy0+Y3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudCgpOworICAg
IHJldHVybiBfd2Vic2l0ZVBvbGljaWVzLT5jdXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRl
U3BlY2lmaWNRdWlya3MoKTsKIH0KIAogLSAodm9pZClzZXRDdXN0b21OYXZpZ2F0b3JQbGF0Zm9y
bTooTlNTdHJpbmcgKiljdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybQpJbmRleDogVG9vbHMvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwNjM1KQorKysg
VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDEt
MjggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlciBhZ2Vu
dCBzdHJpbmcgb3ZlcnJpZGUgZm9yIG5hdmlnYXRvci51c2VyQWdlbnQgc2hvdWxkIGJlIHNpdGUg
c3BlY2lmaWMgcXVpcmtzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xOTM5NTAKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisg
ICAgICAgIFVwZGF0ZWQgcGVyIHRoZSBfV0tXZWJzaXRlUG9saWNpZXMgcmVuYW1lLgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06
CisgICAgICAgICgtW0N1c3RvbUphdmFTY3JpcHRVc2VyQWdlbnREZWxlZ2F0ZSBfd2ViVmlldzpk
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uOnVzZXJJbmZvOmRlY2lzaW9uSGFuZGxlcjpd
KToKKwogMjAxOS0wMS0yOCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAg
ICAgW3dhdGNoT1NdIEVuYWJsZSBQYXJlbnRhbCBDb250cm9scyBjb250ZW50IGZpbHRlcmluZwpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNp
ZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2Nv
YS9XZWJzaXRlUG9saWNpZXMubW0JKHJldmlzaW9uIDI0MDYzNSkKKysrIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vic2l0ZVBvbGljaWVzLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0yOSw2ICsyOSw3IEBACiAjaW1wb3J0ICJUZXN0V0tXZWJWaWV3LmgiCiAjaW1wb3J0IDxX
ZWJLaXQvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tQ
YWdlUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLUHJlZmVyZW5jZXNQcml2YXRlLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktp
dC9XS1VJRGVsZWdhdGVQcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0tVUkxTY2hlbWVUYXNr
UHJpdmF0ZS5oPgpAQCAtMTExNCw3ICsxMTE1LDcgQEAgLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBkZQogewogICAgIF9XS1dlYnNpdGVQb2xpY2llcyAqd2Vic2l0ZVBvbGlj
aWVzID0gW1tbX1dLV2Vic2l0ZVBvbGljaWVzIGFsbG9jXSBpbml0XSBhdXRvcmVsZWFzZV07CiAg
ICAgaWYgKG5hdmlnYXRpb25BY3Rpb24udGFyZ2V0RnJhbWUubWFpbkZyYW1lKSB7Ci0gICAgICAg
IFt3ZWJzaXRlUG9saWNpZXMgc2V0Q3VzdG9tSmF2YVNjcmlwdFVzZXJBZ2VudDpAIkZvbyBDdXN0
b20gSmF2YVNjcmlwdCBVc2VyQWdlbnQiXTsKKyAgICAgICAgW3dlYnNpdGVQb2xpY2llcyBzZXRD
dXN0b21KYXZhU2NyaXB0VXNlckFnZW50QXNTaXRlU3BlY2lmaWNRdWlya3M6QCJGb28gQ3VzdG9t
IEphdmFTY3JpcHQgVXNlckFnZW50Il07CiAgICAgICAgIGlmIChfc2V0Q3VzdG9tVXNlckFnZW50
KQogICAgICAgICAgICAgW3dlYnNpdGVQb2xpY2llcyBzZXRDdXN0b21Vc2VyQWdlbnQ6QCJGb28g
Q3VzdG9tIFJlcXVlc3QgVXNlckFnZW50Il07CiAgICAgfQpAQCAtMTE0Miw2ICsxMTQzLDcgQEAg
VEVTVChXZWJLaXQsIFdlYnNpdGVQb2xpY2llc0N1c3RvbUphdmFTYwogICAgICAgICBFWFBFQ1Rf
VFJVRShbdXNlckFnZW50U3RyaW5nIGhhc1N1ZmZpeDpAIihLSFRNTCwgbGlrZSBHZWNrbykiXSk7
CiAgICAgfV07CiAgICAgW2NvbmZpZ3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpzY2hlbWVI
YW5kbGVyLmdldCgpIGZvclVSTFNjaGVtZTpAInRlc3QiXTsKKyAgICBbY29uZmlndXJhdGlvbiBw
cmVmZXJlbmNlc10uX25lZWRzU2l0ZVNwZWNpZmljUXVpcmtzID0gWUVTOwogCiAgICAgYXV0byB3
ZWJWaWV3ID0gYWRvcHROUyhbW1Rlc3RXS1dlYlZpZXcgYWxsb2NdIGluaXRXaXRoRnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCA4MDAsIDYwMCkgY29uZmlndXJhdGlvbjpjb25maWd1cmF0aW9uLmdldCgp
XSk7CiAKQEAgLTExNzMsNiArMTE3NSw3IEBAIFRFU1QoV2ViS2l0LCBXZWJzaXRlUG9saWNpZXND
dXN0b21Vc2VyQWcKICAgICAgICAgRVhQRUNUX1NUUkVRKCJGb28gQ3VzdG9tIFJlcXVlc3QgVXNl
ckFnZW50IiwgW1t0YXNrLnJlcXVlc3QgdmFsdWVGb3JIVFRQSGVhZGVyRmllbGQ6QCJVc2VyLUFn
ZW50Il0gVVRGOFN0cmluZ10pOwogICAgIH1dOwogICAgIFtjb25maWd1cmF0aW9uIHNldFVSTFNj
aGVtZUhhbmRsZXI6c2NoZW1lSGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJ0ZXN0Il07Cisg
ICAgW2NvbmZpZ3VyYXRpb24gcHJlZmVyZW5jZXNdLl9uZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyA9
IFlFUzsKIAogICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJWaWV3IGFsbG9j
XSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZpZ3VyYXRpb246
Y29uZmlndXJhdGlvbi5nZXQoKV0pOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>