<?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>192973</bug_id>
          
          <creation_ts>2018-12-20 21:10:20 -0800</creation_ts>
          <short_desc>Remove &quot;using namespace std;&quot;</short_desc>
          <delta_ts>2018-12-24 20:41:14 -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>WebCore Misc.</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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>rniwa</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1490278</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-20 21:10:20 -0800</bug_when>
    <thetext>Remove &quot;using namespace std;&quot;

https://webkit.org/code-style-guidelines/#using-in-cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490279</commentid>
    <comment_count>1</comment_count>
      <attachid>357924</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-20 21:15:56 -0800</bug_when>
    <thetext>Created attachment 357924
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490286</commentid>
    <comment_count>2</comment_count>
      <attachid>357924</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2018-12-20 22:04:38 -0800</bug_when>
    <thetext>Comment on attachment 357924
Patch

Nice! Would r+ but I guess this too technically requires a WebKit owner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490289</commentid>
    <comment_count>3</comment_count>
      <attachid>357928</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-20 22:56:15 -0800</bug_when>
    <thetext>Created attachment 357928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490298</commentid>
    <comment_count>4</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-21 00:12:00 -0800</bug_when>
    <thetext>Thanks, Ross.
Added WK2 owners in cc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490366</commentid>
    <comment_count>5</comment_count>
      <attachid>357928</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2018-12-21 09:42:17 -0800</bug_when>
    <thetext>Comment on attachment 357928
Patch

Wonderful!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490738</commentid>
    <comment_count>6</comment_count>
      <attachid>357928</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-24 18:01:13 -0800</bug_when>
    <thetext>Comment on attachment 357928
Patch

Clearing flags on attachment: 357928

Committed r239549: &lt;https://trac.webkit.org/changeset/239549&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490739</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-24 18:01:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490740</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-24 18:02:57 -0800</bug_when>
    <thetext>&lt;rdar://problem/46937309&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490751</commentid>
    <comment_count>9</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-24 20:15:26 -0800</bug_when>
    <thetext>Oops. Windows Debug can&apos;t build.

https://build.webkit.org/builders/Apple%20Win%2010%20Debug%20%28Build%29/builds/1176

&gt; c:\cygwin\home\buildbot\worker\win10-debug\build\source\webcore\accessibility\win\axobjectcachewin.cpp(121): error C2065: &apos;numeric_limits&apos;: undeclared identifier [C:\cygwin\home\buildbot\worker\win10-debug\build\WebKitBuild\Debug\Source\WebCore\WebCore.vcxproj]
&gt; c:\cygwin\home\buildbot\worker\win10-debug\build\source\webcore\accessibility\win\axobjectcachewin.cpp(121): error C2039: &apos;max&apos;: is not a member of &apos;`global namespace&apos;&apos; [C:\cygwin\home\buildbot\worker\win10-debug\build\WebKitBuild\Debug\Source\WebCore\WebCore.vcxproj]
&gt; c:\cygwin\home\buildbot\worker\win10-debug\build\source\webcore\accessibility\win\axobjectcachewin.cpp(121): error C3861: &apos;max&apos;: identifier not found [C:\cygwin\home\buildbot\worker\win10-debug\build\WebKitBuild\Debug\Source\WebCore\WebCore.vcxproj]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1490753</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-12-24 20:41:14 -0800</bug_when>
    <thetext>Committed r239551: &lt;https://trac.webkit.org/changeset/239551&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357924</attachid>
            <date>2018-12-20 21:15:56 -0800</date>
            <delta_ts>2018-12-20 22:55:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192973-20181221141555.patch</filename>
            <type>text/plain</type>
            <size>28325</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY3NWJlN2JmYzhkMWNi
MGQzY2QwZGU2NjNmNmRhNDExMjliYTBkOC4uODAzN2EwMmViY2RkMTExZGI1ZDBlMTkxMjQ4NzVi
Y2RlYWYzMTA0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE4LTEyLTIwICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlbW92ZSAi
dXNpbmcgbmFtZXNwYWNlIHN0ZDsiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTI5NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmVkICJ1c2luZyBuYW1lc3BhY2Ugc3RkIiBzdGF0ZW1lbnQsIGFu
ZCB1c2Ugc3RkOjogcHJlZml4LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBubyBiZWhh
dmlvciBjaGFuZ2VzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS93aW4vQVhPYmplY3RDYWNo
ZVdpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZl
ckNhaXJvLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3Jt
RGF0YUNhaXJvV2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdp
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6ZmxvYXRXaWR0aEZvckNvbXBs
ZXhUZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3ND
b250ZXh0Q0dXaW4uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGlj
c0NvbnRleHRDYWlyb1dpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dy
YXBoaWNzQ29udGV4dERpcmVjdDJELmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93
aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93
aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VW5pc2NyaWJl
Q29udHJvbGxlcjo6VW5pc2NyaWJlQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpVbmlz
Y3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuY3BwOgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvTG9jYWxlSUNVLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L3dpbi9Mb2Nh
bGVXaW4uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5jcHA6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUnVieVJ1bjo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0
TWVudUxpc3RCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVdpbjo6cGFpbnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVdpbjo6YWRqdXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0b25TdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0U2VhcmNoRmllbGRSZXN1
bHRzRGVjb3JhdGlvblBhcnRTdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVdpbjo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
U3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46OnBhaW50U2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uKToKKwogMjAxOC0xMi0yMCAgSnVzdGluIEZhbiAgPGp1c3Rp
bl9mYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIENvbnZlcnQgV2ViR1BVQmluZEdy
b3VwcyBpbnRvIE1UTEFyZ3VtZW50RW5jb2RlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWMzZWMzM2YzZjc2MzVi
MzE2NGU2MmI4YzdkOTkzODhmNzZlMWUxNi4uOTYzYWUxMjRkNjA5ODdiYWZmNDVkODA4Zjk1ZTcy
YjljYzllNDAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOC0xMi0yMCAgRnVqaWkg
SGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBSZW1vdmUgInVz
aW5nIG5hbWVzcGFjZSBzdGQ7IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkyOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3BwOgorCiAyMDE4
LTEyLTIwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIHVudXNlZCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGJhNDM0NTAwY2FmYzYxZWY1MWU5ODRmNTYyYjky
NmEwZmVhNmUwZTcuLjkzMmQzMTE0ZDgxNTY2MGIyZjQ0ZDA0MjU5MGRmMTU4YWYyNDY5NGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOC0xMi0yMCAg
RnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBSZW1v
dmUgInVzaW5nIG5hbWVzcGFjZSBzdGQ7IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKiBXZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJGcmFtZTo6ZHJhd0Zvb3Rlcik6CisgICAg
ICAgICogV2ViSGlzdG9yeS5jcHA6CisgICAgICAgICogV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9u
cy9DQUQzRFJlbmRlcmVyLmNwcDoKKyAgICAgICAgKiBXZWJLaXRRdWFydHpDb3JlQWRkaXRpb25z
L0NBVmlldy5jcHA6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChQcmVmZXJlbmNl
c0NoYW5nZWRPclJlbW92ZWRPYnNlcnZlcjo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAg
ICAgICAgKFByZWZlcmVuY2VzQ2hhbmdlZE9yUmVtb3ZlZE9ic2VydmVyOjpub3RpZnlQcmVmZXJl
bmNlc1JlbW92ZWQpOgorICAgICAgICAoV2ViVmlldzo6c2V0Q2FjaGVNb2RlbCk6CisgICAgICAg
IChXZWJWaWV3OjptYXhDYWNoZU1vZGVsSW5BbnlJbnN0YW5jZSk6CisKIDIwMTgtMTItMjAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgT3B0aW9uYWw6OnZh
bHVlT3IoKSBpbnN0ZWFkIG9mIE9wdGlvbmFsOjp2YWx1ZV9vcigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BWE9iamVjdENhY2hlV2luLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3BwCmluZGV4IDU5
ZmY2YjBiZjg1ODEwMzYzZjJiNjMyYzViYTYwZTc2M2RhY2E5MjQuLjk3ZGM4ZGE3NjAwNjFiZTYy
OTU1ZmYyYjk3MThjYjg5NzFhYmI4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3BwCkBAIC00MCw3ICs0MCw2IEBACiAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogdm9pZCBBWE9i
amVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQWNjZXNz
aWJpbGl0eURldGFjaG1lbnRUeXBlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKaW5kZXgg
ZDEyODZkYjE3NzM0Mzg5MDQ5MzlkY2M2MmE2MmIwY2IwMGJjYTlhMS4uOTEzMDA0NDBjZGVkNDll
MWRkZDUwYmM0OWVjNzhkZDY1OGRkNmEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCkBA
IC0zNyw3ICszNyw2IEBACiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIAogR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpHcmFwaGljc0NvbnRleHQzRFByaXZh
dGUoR3JhcGhpY3NDb250ZXh0M0QqLCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyU3R5bGUgcmVu
ZGVyU3R5bGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCmluZGV4IDkxMDdjMGVlNTVhM2VlOWY1
ZWVmMGUwMDc4Y2Q5NTExMTY5N2QxZDMuLjhiMzViODI2NTQ5ZjNmNzYxYzYyYzNiZWRiNTgxYzEw
ZmQzYTdiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCkBAIC03Nyw3ICs3Nyw2IEBACiAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogSW1hZ2VCdWZmZXJE
YXRhOjpJbWFnZUJ1ZmZlckRhdGEoY29uc3QgSW50U2l6ZSYgc2l6ZSwgUmVuZGVyaW5nTW9kZSBy
ZW5kZXJpbmdNb2RlKQogICAgIDogbV9wbGF0Zm9ybUNvbnRleHQoMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9X
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9y
bURhdGFDYWlyb1dpbi5jcHAKaW5kZXggYTQ4ODgxMTZmZGVmOTNkODViMDlmYjE3MDZiM2Q3Nzgz
NGYwNzgzYy4uYTFkYjUyZWUxYzZiNGQzZmUxMGJlMWYxZTcyZDE1MGQ1YWJhOWJjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURh
dGFDYWlyb1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFDYWlyb1dpbi5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKIAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwogCiB2b2lkIEZvbnRQbGF0Zm9y
bURhdGE6OnBsYXRmb3JtRGF0YUluaXQoSEZPTlQgZm9udCwgZmxvYXQgc2l6ZSwgSERDIGhkYywg
V0NIQVIqIGZhY2VOYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRXaW4uY3BwCmluZGV4IGI3YjQ3MDg0NzZiZjY3MjlkZjgxYTAxZjRhYzQzYmJj
MzhkYmQyYzcuLjJkNGY0OTVkNGY2NWFmYTUxMjA2MWE5Nzc2ODA2MGUzZDM1ZTBjNjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAKQEAg
LTM4LDcgKzM4LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ug
c3RkOwogCiBib29sIEZvbnRDYXNjYWRlOjpjYW5SZXR1cm5GYWxsYmFja0ZvbnRzRm9yQ29tcGxl
eFRleHQoKQogewpAQCAtOTYsMTAgKzk1LDEwIEBAIGZsb2F0IEZvbnRDYXNjYWRlOjpmbG9hdFdp
ZHRoRm9yQ29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvCiAg
ICAgVW5pc2NyaWJlQ29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwgZmFsbGJhY2tGb250
cyk7CiAgICAgY29udHJvbGxlci5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7CiAgICAgaWYgKGdseXBo
T3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhP
dmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAt
IChnbHlwaE92ZXJmbG93LT5jb21wdXRlQm91bmRzID8gMCA6IGZvbnRNZXRyaWNzKCkuYXNjZW50
KCkpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0g
KGdseXBoT3ZlcmZsb3ctPmNvbXB1dGVCb3VuZHMgPyAwICA6IGZvbnRNZXRyaWNzKCkuZGVzY2Vu
dCgpKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBtYXg8aW50PigwLCBjZWlsZigt
Y29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WCgpKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZs
b3ctPnJpZ2h0ID0gbWF4PGludD4oMCwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5n
Qm94WCgpIC0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCkpKTsKKyAgICAgICAgZ2x5cGhPdmVy
Zmxvdy0+dG9wID0gc3RkOjptYXg8aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250
cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gKGdseXBoT3ZlcmZsb3ctPmNvbXB1dGVC
b3VuZHMgPyAwIDogZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkpOworICAgICAgICBnbHlwaE92ZXJm
bG93LT5ib3R0b20gPSBzdGQ6Om1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
Y29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIChnbHlwaE92ZXJmbG93LT5jb21w
dXRlQm91bmRzID8gMCAgOiBmb250TWV0cmljcygpLmRlc2NlbnQoKSkpOworICAgICAgICBnbHlw
aE92ZXJmbG93LT5sZWZ0ID0gc3RkOjptYXg8aW50PigwLCBjZWlsZigtY29udHJvbGxlci5taW5H
bHlwaEJvdW5kaW5nQm94WCgpKSk7CisgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0ID0gc3Rk
OjptYXg8aW50PigwLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hYKCkgLSBj
b250cm9sbGVyLnJ1bldpZHRoU29GYXIoKSkpOwogICAgIH0KICAgICByZXR1cm4gY29udHJvbGxl
ci5ydW5XaWR0aFNvRmFyKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNwcAppbmRleCAzOTc0
NzQ3NjA5NjU2OTIzYWM0N2JmMjE0N2JkZTNkY2Q2OWI4YTQxLi4wOGJjZjhhYTU0MTc4Mzg5MWJl
ODkzODc5MWVlZWIzZDZmOTc0Yzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAKQEAgLTM4
LDcgKzM4LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiBzdGF0aWMgQ0dDb250ZXh0UmVmIENHQ29udGV4dFdpdGhIREMoSERDIGhkYywgYm9vbCBo
YXNBbHBoYSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9HcmFwaGljc0NvbnRleHRDYWlyb1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q2Fpcm9XaW4uY3BwCmluZGV4IDJjZDUyMjM2
MmY4ZTdhMDlmY2MxNWU1OTU5YjYzY2NiMmI3OTdhNGYuLjEwNjdiOTYwOTNkYjJlZDU5MWEyMWEz
MWQ5ZDAyNTZkYzEyOTNlODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDYWlyb1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENhaXJvV2luLmNwcApAQCAt
MzYsNyArMzYsNiBAQAogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLXVzaW5nIG5hbWVzcGFjZSBz
dGQ7CiAKICNpZiBQTEFURk9STShXSU4pCiBzdGF0aWMgY2Fpcm9fdCogY3JlYXRlQ2Fpcm9Db250
ZXh0V2l0aEhEQyhIREMgaGRjLCBib29sIGhhc0FscGhhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dERpcmVjdDJELmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHREaXJl
Y3QyRC5jcHAKaW5kZXggZWFmM2QyNWNmYmZmMmZjZmJjMDFlZGRmMTU1NTY3ZTIzY2Y4N2EwMy4u
ZmJlNzUzZjQxOWNmYTZkMDYzYzU0MDg5OWI0MDRhNjM0MDdmOTJmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dERpcmVjdDJE
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3ND
b250ZXh0RGlyZWN0MkQuY3BwCkBAIC00Miw3ICs0Miw2IEBACiAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogR3JhcGhpY3NDb250ZXh0OjpHcmFwaGljc0Nv
bnRleHQoSERDIGhkYywgYm9vbCBoYXNBbHBoYSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAKaW5k
ZXggNzUwMzllMzgxNTQwYzFkNGJlMTRiMzc0MmE2YjQwNmViMzlhMjVmOC4uNWJkZTRjZWRmNTE2
YTkxNzlhNmQzZDNiM2UzM2QxMzRlZDVhYjUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAKQEAg
LTQ0LDcgKzQ0LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ug
c3RkOwogCiBzdGF0aWMgdm9pZCBmaWxsV2l0aENsZWFyQ29sb3IoSEJJVE1BUCBiaXRtYXApCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFDR1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
U2ltcGxlRm9udERhdGFDR1dpbi5jcHAKaW5kZXggMDdjZDUzMzFlNjc0ODhjMDIwYWQyMjBkN2Uw
MzVmYzMyOGI2NGQyMS4uNGZhYjRjZGNmZDAzOGJmNGQ3YWQ0MGEzMDg1NDM5ZWM4ZDNiYTRiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZv
bnREYXRhQ0dXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9TaW1wbGVGb250RGF0YUNHV2luLmNwcApAQCAtNDksOCArNDksNiBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIHZvaWQgRm9udDo6cGxhdGZvcm1J
bml0KCkKIHsKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSBtX3BsYXRmb3JtRGF0YS5zeW50
aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCmluZGV4IGZm
MzdhYzU2ZWMxNjgyNWU2NTYzNWNhMDlkMGI3YTAzMTgwZGY4YTQuLjQ0MGEwYTFlMWNkZDIxMTA0
NDgwMjQxN2YyZDlmMWMzYzlkMzhhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5jcHAKQEAgLTM0
LDkgKzM0LDcgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2UgV1RG
OwotdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwordXNpbmcg
bmFtZXNwYWNlIFdURjo6VW5pY29kZTsKIAogLy8gRklYTUU6IFJlYXJjaGl0ZWN0IHRoaXMgdG8g
YmUgbW9yZSBsaWtlIFdpZHRoSXRlcmF0b3IgaW4gRm9udC5jcHAuICBIYXZlIGFuIGFkdmFuY2Uo
KSBtZXRob2QKIC8vIHRoYXQgZG9lcyBzdHVmZiBpbiB0aGF0IG1ldGhvZCBpbnN0ZWFkIG9mIGRv
aW5nIGV2ZXJ5dGhpbmcgaW4gdGhlIGNvbnN0cnVjdG9yLiAgSGF2ZSBhZHZhbmNlKCkKQEAgLTQ2
LDEwICs0NCwxMCBAQCBVbmlzY3JpYmVDb250cm9sbGVyOjpVbmlzY3JpYmVDb250cm9sbGVyKGNv
bnN0IEZvbnRDYXNjYWRlKiBmb250LCBjb25zdCBUZXh0UnVuJgogICAgIDogbV9mb250KCpmb250
KQogICAgICwgbV9ydW4ocnVuKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZhbGxiYWNrRm9udHMp
Ci0gICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4
KCkpCi0gICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
bWluKCkpCi0gICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6bWF4KCkpCi0gICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6bWluKCkpCisgICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hYKHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjptYXgoKSkKKyAgICAsIG1fbWF4R2x5cGhCb3VuZGluZ0JveFgoc3RkOjpu
dW1lcmljX2xpbWl0czxmbG9hdD46Om1pbigpKQorICAgICwgbV9taW5HbHlwaEJvdW5kaW5nQm94
WShzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCisgICAgLCBtX21heEdseXBoQm91
bmRpbmdCb3hZKHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKICAgICAsIG1fY3Vy
cmVudENoYXJhY3RlcigwKQogICAgICwgbV9lbmQocnVuLmxlbmd0aCgpKQogICAgICwgbV9ydW5X
aWR0aFNvRmFyKDApCkBAIC0zNzQsMTAgKzM3MiwxMCBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xs
ZXI6OnNoYXBlQW5kUGxhY2VJdGVtKGNvbnN0IFVDaGFyKiBjcCwgdW5zaWduZWQgaSwgY29uc3Qg
RgogCiAgICAgICAgIEZsb2F0UmVjdCBnbHlwaEJvdW5kcyA9IGZvbnREYXRhLT5ib3VuZHNGb3JH
bHlwaChnbHlwaCk7CiAgICAgICAgIGdseXBoQm91bmRzLm1vdmUobV9nbHlwaE9yaWdpbi54KCks
IG1fZ2x5cGhPcmlnaW4ueSgpKTsKLSAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94WCA9IG1p
bihtX21pbkdseXBoQm91bmRpbmdCb3hYLCBnbHlwaEJvdW5kcy54KCkpOwotICAgICAgICBtX21h
eEdseXBoQm91bmRpbmdCb3hYID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFgsIGdseXBoQm91
bmRzLm1heFgoKSk7Ci0gICAgICAgIG1fbWluR2x5cGhCb3VuZGluZ0JveFkgPSBtaW4obV9taW5H
bHlwaEJvdW5kaW5nQm94WSwgZ2x5cGhCb3VuZHMueSgpKTsKLSAgICAgICAgbV9tYXhHbHlwaEJv
dW5kaW5nQm94WSA9IG1heChtX21heEdseXBoQm91bmRpbmdCb3hZLCBnbHlwaEJvdW5kcy5tYXhZ
KCkpOworICAgICAgICBtX21pbkdseXBoQm91bmRpbmdCb3hYID0gc3RkOjptaW4obV9taW5HbHlw
aEJvdW5kaW5nQm94WCwgZ2x5cGhCb3VuZHMueCgpKTsKKyAgICAgICAgbV9tYXhHbHlwaEJvdW5k
aW5nQm94WCA9IHN0ZDo6bWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFgsIGdseXBoQm91bmRzLm1h
eFgoKSk7CisgICAgICAgIG1fbWluR2x5cGhCb3VuZGluZ0JveFkgPSBzdGQ6Om1pbihtX21pbkds
eXBoQm91bmRpbmdCb3hZLCBnbHlwaEJvdW5kcy55KCkpOworICAgICAgICBtX21heEdseXBoQm91
bmRpbmdCb3hZID0gc3RkOjptYXgobV9tYXhHbHlwaEJvdW5kaW5nQm94WSwgZ2x5cGhCb3VuZHMu
bWF4WSgpKTsKICAgICAgICAgbV9nbHlwaE9yaWdpbi5tb3ZlKGFkdmFuY2UgKyBvZmZzZXRYLCAt
b2Zmc2V0WSk7CiAKICAgICAgICAgLy8gTXV0YXRlIHRoZSBnbHlwaCBhcnJheSB0byBjb250YWlu
IG91ciBhbHRlcmVkIGFkdmFuY2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuY3BwCmluZGV4
IDQzZmY1MDNjMWU1NjUwZjlhMjY2Mzk0ZGMzNTU2MTI5MzkzYmNjNGYuLmViYTM0OWE3Y2I0ZTg0
ZmFjYjFlYzYzMzY3ZDljZWRjM2M5N2EzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5j
cHAKQEAgLTM4LDcgKzM4LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1l
c3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZUlDVS5jcHAKaW5kZXggYzU5ZTlmMGZhNWRjNTliNDMxZDg3ODFkNjgwMTRlYTdhNTcw
ZGI5OC4uMTE2ODRiODA2NmM5ZWI1MDliNGFkZDQ2MThiNzM4OGZiNTVhYzFlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcApAQCAtNDEsNyArNDEsNiBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgaWN1OwotdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIAogc3RkOjp1bmlxdWVfcHRyPExvY2FsZT4gTG9jYWxlOjpjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiBsb2NhbGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC93aW4vTG9jYWxlV2luLmNwcAppbmRleCBiZmQ2ZTQ0ZWJkZGU3MDYxOWM4Zjk0NDMzNjYzMWZm
YzUwMjA0MWY4Li4xNTMxNWNhNzM1ZmYyZTdhYjQzNTE3MWU2YzFiZGU2MDM3MzJjYmRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAKQEAgLTQ0
LDcgKzQ0LDYgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC93aW4vV0NoYXJTdHJpbmdFeHRyYXMuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogdHlwZWRlZiBI
YXNoTWFwPFN0cmluZywgTENJRCwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBOYW1lVG9MQ0lE
TWFwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2Nyb2xsYmFy
VGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Njcm9sbGJhclRoZW1l
V2luLmNwcAppbmRleCBkZWUzMzEzZDY5YTY4YjJlMjAwNzJhYTZlNDM2OGEwZTkwNjIxZjNiLi5h
MWQyMGUwMTRiZTdjYzc4OTlhNTUwNjZkNjI3OWM2OGJiZjA5MWU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5jcHAKQEAgLTYzLDcgKzYz
LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBz
dGF0aWMgSEFORExFIHNjcm9sbGJhclRoZW1lOwogc3RhdGljIGJvb2wgcnVubmluZ1Zpc3RhOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwCmluZGV4IGIxMjc2NjA4
ZjMxMzA1ZTA4NzBiM2E0YjdhMjQ1NzM0NzlkZDZmMzYuLjVhY2QyNzAzZDE3MThmMDYxZTdkNmYx
ZDEwMjBmZjIwMjViZDE2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSdWJ5UnVuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVi
eVJ1bi5jcHAKQEAgLTQzLDggKzQzLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2lu
ZyBuYW1lc3BhY2Ugc3RkOwotCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUmVuZGVyUnVi
eVJ1bik7CiAKIFJlbmRlclJ1YnlSdW46OlJlbmRlclJ1YnlSdW4oRG9jdW1lbnQmIGRvY3VtZW50
LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpAQCAtMTY3LDcgKzE2NSw3IEBAIHZvaWQgUmVuZGVyUnVi
eVJ1bjo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBhZ2VI
ZWlnaHQpCiAgICAgICAgIC8vIEJvcG9tb2ZvLiBXZSBuZWVkIHRvIG1vdmUgdGhlIFJlbmRlclJ1
YnlUZXh0IG92ZXIgdG8gdGhlIHJpZ2h0IHNpZGUgYW5kIGNlbnRlciBpdAogICAgICAgICAvLyB2
ZXJ0aWNhbGx5IHJlbGF0aXZlIHRvIHRoZSBiYXNlLgogICAgICAgICBjb25zdCBGb250Q2FzY2Fk
ZSYgZm9udCA9IHN0eWxlKCkuZm9udENhc2NhZGUoKTsKLSAgICAgICAgZmxvYXQgZGlzdGFuY2VC
ZXR3ZWVuQmFzZSA9IG1heChmb250LmxldHRlclNwYWNpbmcoKSwgMi4wZiAqIHJ0LT5zdHlsZSgp
LmZvbnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CisgICAgICAgIGZsb2F0IGRp
c3RhbmNlQmV0d2VlbkJhc2UgPSBzdGQ6Om1heChmb250LmxldHRlclNwYWNpbmcoKSwgMi4wZiAq
IHJ0LT5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAg
ICAgIHNldFdpZHRoKHdpZHRoKCkgKyBkaXN0YW5jZUJldHdlZW5CYXNlIC0gZm9udC5sZXR0ZXJT
cGFjaW5nKCkpOwogICAgICAgICBpZiAoUmVuZGVyUnVieUJhc2UqIHJiID0gcnVieUJhc2UoKSkg
ewogICAgICAgICAgICAgTGF5b3V0VW5pdCBmaXJzdExpbmVUb3A7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAppbmRleCBjOTc5OWQ2OWQ5ZmYwM2I5OWRhZTA3
ZWQ2Y2VmN2QwN2YyNGYxZDNmLi5lZWI5OTg1ZTYyZjVjOWEzNDgyNDNlOGRkZTllY2NjMGE5YmRi
ZmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKQEAg
LTE2MCw3ICsxNjAsNiBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgdmlzdGFNZW51TGlzdEJ1dHRv
bk91dHNldCA9IDE7CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIHN0
ZDsKIAogLy8gVGhpcyBpcyB0aGUgZml4ZWQgd2lkdGggSUUgYW5kIEZpcmVmb3ggdXNlIGZvciBi
dXR0b25zIG9uIGRyb3Bkb3duIG1lbnVzCiBzdGF0aWMgY29uc3QgaW50IGRyb3BEb3duQnV0dG9u
V2lkdGggPSAxNzsKQEAgLTc3NSw3ICs3NzQsNyBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjphZGp1
c3RNZW51TGlzdEJ1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIFJlbgog
CiAgICAgLy8gQ2FsY3VsYXRlIG91ciBtaW4taGVpZ2h0CiAgICAgaW50IG1pbkhlaWdodCA9IHN0
eWxlLmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7Ci0gICAgbWluSGVpZ2h0ID0gbWF4KG1pbkhlaWdo
dCwgZHJvcERvd25Cb3hNaW5IZWlnaHQpOworICAgIG1pbkhlaWdodCA9IHN0ZDo6bWF4KG1pbkhl
aWdodCwgZHJvcERvd25Cb3hNaW5IZWlnaHQpOwogCiAgICAgc3R5bGUuc2V0TWluSGVpZ2h0KExl
bmd0aChtaW5IZWlnaHQsIEZpeGVkKSk7CiAKQEAgLTg4MCw3ICs4NzksNyBAQCBib29sIFJlbmRl
clRoZW1lV2luOjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKGNvbnN0IFJlbmRlckJveCYg
bywgY29uc3QgUGFpbgogICAgIEludFJlY3QgcGFyZW50Qm94ID0gZG93bmNhc3Q8UmVuZGVyQm94
Pigqby5wYXJlbnQoKSkuYWJzb2x1dGVDb250ZW50Qm94KCk7CiAgICAgCiAgICAgLy8gTWFrZSBz
dXJlIHRoZSBzY2FsZWQgYnV0dG9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBh
cmVudCdzIGJveAotICAgIGJvdW5kcy5zZXRIZWlnaHQobWluKHBhcmVudEJveC53aWR0aCgpLCBt
aW4ocGFyZW50Qm94LmhlaWdodCgpLCBib3VuZHMuaGVpZ2h0KCkpKSk7CisgICAgYm91bmRzLnNl
dEhlaWdodChzdGQ6Om1pbihwYXJlbnRCb3gud2lkdGgoKSwgc3RkOjptaW4ocGFyZW50Qm94Lmhl
aWdodCgpLCBib3VuZHMuaGVpZ2h0KCkpKSk7CiAgICAgYm91bmRzLnNldFdpZHRoKGJvdW5kcy5o
ZWlnaHQoKSk7CiAKICAgICAvLyBDZW50ZXIgdGhlIGJ1dHRvbiB2ZXJ0aWNhbGx5LiAgUm91bmQg
dXAgdGhvdWdoLCBzbyBpZiBpdCBoYXMgdG8gYmUgb25lIHBpeGVsIG9mZi1jZW50ZXIsIGl0IHdp
bGwKQEAgLTg5Nyw3ICs4OTYsNyBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjphZGp1c3RTZWFyY2hG
aWVsZENhbmNlbEJ1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXImLCBSZW5kZXJTdAogewogICAgIC8v
IFNjYWxlIHRoZSBidXR0b24gc2l6ZSBiYXNlZCBvbiB0aGUgZm9udCBzaXplCiAgICAgZmxvYXQg
Zm9udFNjYWxlID0gc3R5bGUuY29tcHV0ZWRGb250UGl4ZWxTaXplKCkgLyBkZWZhdWx0Q29udHJv
bEZvbnRQaXhlbFNpemU7Ci0gICAgaW50IGNhbmNlbEJ1dHRvblNpemUgPSBscm91bmRmKG1pbiht
YXgobWluQ2FuY2VsQnV0dG9uU2l6ZSwgZGVmYXVsdENhbmNlbEJ1dHRvblNpemUgKiBmb250U2Nh
bGUpLCBtYXhDYW5jZWxCdXR0b25TaXplKSk7CisgICAgaW50IGNhbmNlbEJ1dHRvblNpemUgPSBs
cm91bmRmKHN0ZDo6bWluKHN0ZDo6bWF4KG1pbkNhbmNlbEJ1dHRvblNpemUsIGRlZmF1bHRDYW5j
ZWxCdXR0b25TaXplICogZm9udFNjYWxlKSwgbWF4Q2FuY2VsQnV0dG9uU2l6ZSkpOwogICAgIHN0
eWxlLnNldFdpZHRoKExlbmd0aChjYW5jZWxCdXR0b25TaXplLCBGaXhlZCkpOwogICAgIHN0eWxl
LnNldEhlaWdodChMZW5ndGgoY2FuY2VsQnV0dG9uU2l6ZSwgRml4ZWQpKTsKIH0KQEAgLTkxMyw3
ICs5MTIsNyBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjphZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNE
ZWNvcmF0aW9uUGFydFN0eWxlKFN0eWxlUmVzb2x2ZXImLAogewogICAgIC8vIFNjYWxlIHRoZSBk
ZWNvcmF0aW9uIHNpemUgYmFzZWQgb24gdGhlIGZvbnQgc2l6ZQogICAgIGZsb2F0IGZvbnRTY2Fs
ZSA9IHN0eWxlLmNvbXB1dGVkRm9udFBpeGVsU2l6ZSgpIC8gZGVmYXVsdENvbnRyb2xGb250UGl4
ZWxTaXplOwotICAgIGludCBtYWduaWZpZXJTaXplID0gbHJvdW5kZihtaW4obWF4KG1pblNlYXJj
aEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplLCBkZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzRGVj
b3JhdGlvblNpemUgKiBmb250U2NhbGUpLCAKKyAgICBpbnQgbWFnbmlmaWVyU2l6ZSA9IGxyb3Vu
ZGYoc3RkOjptaW4oc3RkOjptYXgobWluU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUs
IGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSAqIGZvbnRTY2FsZSksIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFNlYXJjaEZpZWxkUmVzdWx0
c0RlY29yYXRpb25TaXplKSk7CiAgICAgc3R5bGUuc2V0V2lkdGgoTGVuZ3RoKG1hZ25pZmllclNp
emUsIEZpeGVkKSk7CiAgICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChtYWduaWZpZXJTaXplLCBG
aXhlZCkpOwpAQCAtOTI5LDcgKzkyOCw3IEBAIGJvb2wgUmVuZGVyVGhlbWVXaW46OnBhaW50U2Vh
cmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoY29uc3QgUmVuZGVyQm94JiBvLCBjCiAgICAg
SW50UmVjdCBwYXJlbnRCb3ggPSBkb3duY2FzdDxSZW5kZXJCb3g+KCpvLnBhcmVudCgpKS5hYnNv
bHV0ZUNvbnRlbnRCb3goKTsKICAgICAKICAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBkZWNv
cmF0aW9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveAotICAg
IGJvdW5kcy5zZXRIZWlnaHQobWluKHBhcmVudEJveC53aWR0aCgpLCBtaW4ocGFyZW50Qm94Lmhl
aWdodCgpLCBib3VuZHMuaGVpZ2h0KCkpKSk7CisgICAgYm91bmRzLnNldEhlaWdodChzdGQ6Om1p
bihwYXJlbnRCb3gud2lkdGgoKSwgc3RkOjptaW4ocGFyZW50Qm94LmhlaWdodCgpLCBib3VuZHMu
aGVpZ2h0KCkpKSk7CiAgICAgYm91bmRzLnNldFdpZHRoKGJvdW5kcy5oZWlnaHQoKSk7CiAKICAg
ICAvLyBDZW50ZXIgdGhlIGRlY29yYXRpb24gdmVydGljYWxseS4gIFJvdW5kIHVwIHRob3VnaCwg
c28gaWYgaXQgaGFzIHRvIGJlIG9uZSBwaXhlbCBvZmYtY2VudGVyLCBpdCB3aWxsCkBAIC05NDUs
NyArOTQ0LDcgQEAgdm9pZCBSZW5kZXJUaGVtZVdpbjo6YWRqdXN0U2VhcmNoRmllbGRSZXN1bHRz
QnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclMKIHsKICAgICAvLyBTY2FsZSB0aGUg
YnV0dG9uIHNpemUgYmFzZWQgb24gdGhlIGZvbnQgc2l6ZQogICAgIGZsb2F0IGZvbnRTY2FsZSA9
IHN0eWxlLmNvbXB1dGVkRm9udFBpeGVsU2l6ZSgpIC8gZGVmYXVsdENvbnRyb2xGb250UGl4ZWxT
aXplOwotICAgIGludCBtYWduaWZpZXJIZWlnaHQgPSBscm91bmRmKG1pbihtYXgobWluU2VhcmNo
RmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUsIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNv
cmF0aW9uU2l6ZSAqIGZvbnRTY2FsZSksIAorICAgIGludCBtYWduaWZpZXJIZWlnaHQgPSBscm91
bmRmKHN0ZDo6bWluKHN0ZDo6bWF4KG1pblNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXpl
LCBkZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUgKiBmb250U2NhbGUpLCAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4U2VhcmNoRmllbGRSZXN1bHRz
RGVjb3JhdGlvblNpemUpKTsKICAgICBpbnQgbWFnbmlmaWVyV2lkdGggPSBscm91bmRmKG1hZ25p
ZmllckhlaWdodCAqIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0aCAvIGRlZmF1
bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSk7CiAgICAgc3R5bGUuc2V0V2lkdGgo
TGVuZ3RoKG1hZ25pZmllcldpZHRoLCBGaXhlZCkpOwpAQCAtOTY0LDggKzk2Myw4IEBAIGJvb2wg
UmVuZGVyVGhlbWVXaW46OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGNvbnN0IFJlbmRl
ckJveCYgbywgY29uc3QgUGFpCiAgICAgSW50UmVjdCBwYXJlbnRCb3ggPSBkb3duY2FzdDxSZW5k
ZXJCb3g+KCpvLnBhcmVudCgpKS5hYnNvbHV0ZUNvbnRlbnRCb3goKTsKICAgICAKICAgICAvLyBN
YWtlIHN1cmUgdGhlIHNjYWxlZCBkZWNvcmF0aW9uIHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBi
b3gKLSAgICBib3VuZHMuc2V0SGVpZ2h0KG1pbihwYXJlbnRCb3guaGVpZ2h0KCksIGJvdW5kcy5o
ZWlnaHQoKSkpOwotICAgIGJvdW5kcy5zZXRXaWR0aChtaW48aW50PihwYXJlbnRCb3gud2lkdGgo
KSwgYm91bmRzLmhlaWdodCgpICogZGVmYXVsdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbldpZHRo
IC8gZGVmYXVsdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplKSk7CisgICAgYm91bmRz
LnNldEhlaWdodChzdGQ6Om1pbihwYXJlbnRCb3guaGVpZ2h0KCksIGJvdW5kcy5oZWlnaHQoKSkp
OworICAgIGJvdW5kcy5zZXRXaWR0aChzdGQ6Om1pbjxpbnQ+KHBhcmVudEJveC53aWR0aCgpLCBi
b3VuZHMuaGVpZ2h0KCkgKiBkZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uV2lkdGggLyBk
ZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUpKTsKIAogICAgIC8vIENlbnRl
ciB0aGUgYnV0dG9uIHZlcnRpY2FsbHkuICBSb3VuZCB1cCB0aG91Z2gsIHNvIGlmIGl0IGhhcyB0
byBiZSBvbmUgcGl4ZWwgb2ZmLWNlbnRlciwgaXQgd2lsbAogICAgIC8vIGJlIG9uZSBwaXhlbCBj
bG9zZXIgdG8gdGhlIGJvdHRvbSBvZiB0aGUgZmllbGQuICBUaGlzIHRlbmRzIHRvIGxvb2sgYmV0
dGVyIHdpdGggdGhlIHRleHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy93aW4vQ29ubmVjdGlvbldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy93aW4v
Q29ubmVjdGlvbldpbi5jcHAKaW5kZXggM2MwZTg1MGUxMTRiOGU5NmNkZGU1NDgxMjlhZDRkZTg1
NTFlMWI0ZS4uNGU1Zjg3MTJhZDBkYWNmOWYyY2YxMTNiMmQwMmY3MDM5OWY4OWI0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2luLmNwcApAQCAt
MzAsOCArMzAsNiBAQAogI2luY2x1ZGUgPHd0Zi9SYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNl
IElQQyB7CiAKIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBvciB1c2UgYSBkaWZmZXJlbnQgY29uc3Rh
bnQgb24gd2luZG93cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5jcHAKaW5kZXggOTk0ZGNhYjBkZTFkNWZjOWRmYzFmZjRmMDZj
Y2VkYTAyYzQzMjdhMi4uZjExMGI3ZWE4Yjg2OTZmNmI5MTRkMzhlMjJlZTI4Zjk3ZmRhM2ExOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5jcHAKQEAgLTQ3LDcgKzQ3LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
Q0FMYXllcldpbi5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7CiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCB7IDMz
X21zIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5jcHAKaW5kZXggYzAzMjQyYzdkNmI2
MmQ4ZmM2MzVkOWEwZDdiZDZlNWQ3YzI1OWZlZC4uZmRhMmYxOTJiMjA4Zjk4YjEyNWI2MWUxYjM5
Mzg1OGU1NTU5YTdhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJh
bWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkZyYW1lLmNwcApAQCAtMTIz
LDcgKzEyMyw2IEBAIGV4dGVybiAiQyIgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwogCiB1c2luZyBK
U0M6OkpTR2xvYmFsT2JqZWN0OwogdXNpbmcgSlNDOjpKU0xvY2s7CkBAIC0xNTc0LDcgKzE1NzMs
NyBAQCB2b2lkIFdlYkZyYW1lOjpkcmF3SGVhZGVyKFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0KiBw
Y3R4LCBJV2ViVUlEZWxlZ2F0ZSogdWksIGNvbgogdm9pZCBXZWJGcmFtZTo6ZHJhd0Zvb3RlcihQ
bGF0Zm9ybUdyYXBoaWNzQ29udGV4dCogcGN0eCwgSVdlYlVJRGVsZWdhdGUqIHVpLCBjb25zdCBJ
bnRSZWN0JiBwYWdlUmVjdCwgVUlOVCBwYWdlLCBVSU5UIHBhZ2VDb3VudCwgZmxvYXQgaGVhZGVy
SGVpZ2h0LCBmbG9hdCBmb290ZXJIZWlnaHQpCiB7CiAgICAgaW50IHggPSBwYWdlUmVjdC54KCk7
Ci0gICAgaW50IHkgPSBtYXgoKGludCloZWFkZXJIZWlnaHQrcGFnZVJlY3QuaGVpZ2h0KCksIG1f
cGFnZUhlaWdodC1zdGF0aWNfY2FzdDxpbnQ+KGZvb3RlckhlaWdodCkpOworICAgIGludCB5ID0g
c3RkOjptYXgoKGludCloZWFkZXJIZWlnaHQrcGFnZVJlY3QuaGVpZ2h0KCksIG1fcGFnZUhlaWdo
dC1zdGF0aWNfY2FzdDxpbnQ+KGZvb3RlckhlaWdodCkpOwogICAgIFJFQ1QgZm9vdGVyUmVjdCA9
IHt4LCB5LCB4K3BhZ2VSZWN0LndpZHRoKCksIHkrc3RhdGljX2Nhc3Q8aW50Pihmb290ZXJIZWln
aHQpfTsKICAgICB1aS0+ZHJhd0Zvb3RlckluUmVjdChkLT53ZWJWaWV3LCAmZm9vdGVyUmVjdCwg
cmVpbnRlcnByZXRfY2FzdDxVTE9OR19QVFI+KHBjdHgpLCBwYWdlICsgMSwgcGFnZUNvdW50KTsK
IH0KQEAgLTE2NTUsNyArMTY1NCw3IEBAIHZvaWQgV2ViRnJhbWU6OmRyYXdGb290ZXIoUGxhdGZv
cm1HcmFwaGljc0NvbnRleHQqIHBjdHgsIElXZWJVSURlbGVnYXRlKiB1aSwgY29uCiAgICAgSERD
IGhkYyA9IGhkY0Zyb21Db250ZXh0KHBjdHgpOwogICAgIAogICAgIGludCB4ID0gcGFnZVJlY3Qu
eCgpOwotICAgIGludCB5ID0gbWF4KHN0YXRpY19jYXN0PGludD4oaGVhZGVySGVpZ2h0KSArIHBh
Z2VSZWN0LmhlaWdodCgpLCBtX3BhZ2VIZWlnaHQgIC1zdGF0aWNfY2FzdDxpbnQ+KGZvb3Rlckhl
aWdodCkpOworICAgIGludCB5ID0gc3RkOjptYXgoc3RhdGljX2Nhc3Q8aW50PihoZWFkZXJIZWln
aHQpICsgcGFnZVJlY3QuaGVpZ2h0KCksIG1fcGFnZUhlaWdodCAgLXN0YXRpY19jYXN0PGludD4o
Zm9vdGVySGVpZ2h0KSk7CiAgICAgUkVDVCBmb290ZXJSZWN0ID0ge3gsIHksIHggKyBwYWdlUmVj
dC53aWR0aCgpLCB5ICsgc3RhdGljX2Nhc3Q8aW50Pihmb290ZXJIZWlnaHQpfTsKIAogICAgIHVp
LT5kcmF3Rm9vdGVySW5SZWN0KGQtPndlYlZpZXcsICZmb290ZXJSZWN0LCByZWludGVycHJldF9j
YXN0PFVMT05HX1BUUj4oaGRjKSwgcGFnZSsxLCBwYWdlQ291bnQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViSGlzdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJIaXN0b3J5LmNwcAppbmRleCAwMjMzODRjZTk2ZjEwOTQ5Y2RkNTlmNzc0YTgxNDVl
YmJlYTdiN2E1Li5mZjlkYTI0YzFmYzhjNDFiYzBiM2I3MGI4ZDNkOTI1NmRkNGM2MzI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJIaXN0b3J5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJIaXN0b3J5LmNwcApAQCAtNTIsNyArNTIsNiBAQAogI2Vu
ZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAog
c3RhdGljIGJvb2wgYXJlRXF1YWxPckNsb3NlKGRvdWJsZSBkMSwgZG91YmxlIGQyKQogewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9u
cy9DQUQzRFJlbmRlcmVyLmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdFF1YXJ0
ekNvcmVBZGRpdGlvbnMvQ0FEM0RSZW5kZXJlci5jcHAKaW5kZXggZjE4NzIyMjk3MjU3ZmEyZTM2
MmQyZjI1NWI2YTU2OGRhZDYxMGU3Zi4uMWJiNzFmZmUzOTA3NTRhM2UxZjQyMDhmOTU2OTFjMTc3
ODhmOTViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0UXVhcnR6
Q29yZUFkZGl0aW9ucy9DQUQzRFJlbmRlcmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJLaXRRdWFydHpDb3JlQWRkaXRpb25zL0NBRDNEUmVuZGVyZXIuY3BwCkBAIC00MSw4
ICs0MSw2IEBACiAKIHR5cGVkZWYgSFJFU1VMVCAoQ0FMTEJBQ0sgKkxQRk5ETExfRGlyZWN0M0RD
cmVhdGU5RXgpKFVJTlQsIHZvaWQgKiopOwogCi11c2luZyBuYW1lc3BhY2Ugc3RkOwotCiBuYW1l
c3BhY2UgV0tRQ0EgewogCiBzdGF0aWMgY29uc3QgRFdPUkQgY3VzdG9tVmVydGV4Rm9ybWF0ID0g
RDNERlZGX1hZWlJIVyB8IEQzREZWRl9URVgxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExl
Z2FjeS93aW4vV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9ucy9DQVZpZXcuY3BwIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9ucy9DQVZpZXcuY3BwCmluZGV4
IDk0MDc3OTEyYTk5MTY0MTE3ZDBjNjgxY2NjYzA2Njg2ZTA0YzRkZTAuLmM4MDI5NTBhNjMzNzhj
NzkyYWI2MjAyZmU4MmI2ZTM5ZThmZWI1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYktpdFF1YXJ0ekNvcmVBZGRpdGlvbnMvQ0FWaWV3LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRRdWFydHpDb3JlQWRkaXRpb25zL0NBVmlldy5jcHAKQEAg
LTM4LDggKzM4LDYgQEAKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3dp
bi9HRElPYmplY3QuaD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNlIFdLUUNB
IHsKIAogY2xhc3MgQ0FWaWV3OjpIYW5kbGUgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
SGFuZGxlPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNw
cCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IGU4YmRkZWJmMjYy
NmY1Y2NhZDhkNGFjZWQ1NzMzZTcyNzIyYWVlYjcuLmE0ZjAxNGJmYzc4ZGMyN2EzNjE1ODE2N2Ix
ZTgxN2NiZmI1NWY3YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZp
ZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC0yMjgs
NyArMjI4LDYgQEAgU09GVF9MSU5LX09QVElPTkFMKFV4dGhlbWUsIEVuZFBhbm5pbmdGZWVkYmFj
aywgQk9PTCwgV0lOQVBJLCAoSFdORCwgQk9PTCkpOwogU09GVF9MSU5LX09QVElPTkFMKFV4dGhl
bWUsIFVwZGF0ZVBhbm5pbmdGZWVkYmFjaywgQk9PTCwgV0lOQVBJLCAoSFdORCwgTE9ORywgTE9O
RywgQk9PTCkpOwogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBz
dGQ7CiB1c2luZyBKU0M6OkpTTG9jazsKIAogc3RhdGljIFN0cmluZyB3ZWJLaXRWZXJzaW9uU3Ry
aW5nKCk7CkBAIC0zNTQsNyArMzUzLDcgQEAgSFJFU1VMVCBQcmVmZXJlbmNlc0NoYW5nZWRPclJl
bW92ZWRPYnNlcnZlcjo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKFdlYkNhY2hlTW8KICAgICAg
ICAgaHIgPSBXZWJQcmVmZXJlbmNlczo6c2hhcmVkU3RhbmRhcmRQcmVmZXJlbmNlcygpLT5jYWNo
ZU1vZGVsKCZzaGFyZWRQcmVmZXJlbmNlc0NhY2hlTW9kZWwpOwogICAgICAgICBpZiAoRkFJTEVE
KGhyKSkKICAgICAgICAgICAgIHJldHVybiBocjsKLSAgICAgICAgV2ViVmlldzo6c2V0Q2FjaGVN
b2RlbChtYXgoc2hhcmVkUHJlZmVyZW5jZXNDYWNoZU1vZGVsLCBXZWJWaWV3OjptYXhDYWNoZU1v
ZGVsSW5BbnlJbnN0YW5jZSgpKSk7CisgICAgICAgIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoc3Rk
OjptYXgoc2hhcmVkUHJlZmVyZW5jZXNDYWNoZU1vZGVsLCBXZWJWaWV3OjptYXhDYWNoZU1vZGVs
SW5BbnlJbnN0YW5jZSgpKSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGhyOwpAQCAtMzY5LDcgKzM2
OCw3IEBAIEhSRVNVTFQgUHJlZmVyZW5jZXNDaGFuZ2VkT3JSZW1vdmVkT2JzZXJ2ZXI6Om5vdGlm
eVByZWZlcmVuY2VzUmVtb3ZlZChXZWJDYWNoZU1vCiAgICAgICAgIGhyID0gV2ViUHJlZmVyZW5j
ZXM6OnNoYXJlZFN0YW5kYXJkUHJlZmVyZW5jZXMoKS0+Y2FjaGVNb2RlbCgmc2hhcmVkUHJlZmVy
ZW5jZXNDYWNoZU1vZGVsKTsKICAgICAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgICAgICBy
ZXR1cm4gaHI7Ci0gICAgICAgIFdlYlZpZXc6OnNldENhY2hlTW9kZWwobWF4KHNoYXJlZFByZWZl
cmVuY2VzQ2FjaGVNb2RlbCwgV2ViVmlldzo6bWF4Q2FjaGVNb2RlbEluQW55SW5zdGFuY2UoKSkp
OworICAgICAgICBXZWJWaWV3OjpzZXRDYWNoZU1vZGVsKHN0ZDo6bWF4KHNoYXJlZFByZWZlcmVu
Y2VzQ2FjaGVNb2RlbCwgV2ViVmlldzo6bWF4Q2FjaGVNb2RlbEluQW55SW5zdGFuY2UoKSkpOwog
ICAgIH0KIAogICAgIHJldHVybiBocjsKQEAgLTY0Miw3ICs2NDEsNyBAQCB2b2lkIFdlYlZpZXc6
OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogCiAgICAgICAgIC8vIFRo
aXMgY29kZSBpcyBoZXJlIHRvIGF2b2lkIGEgUExUIHJlZ3Jlc3Npb24uIFdlIGNhbiByZW1vdmUg
aXQgaWYgd2UKICAgICAgICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdh
aW4gd291bGQganVzdGlmeSB0aGUgcmVncmVzc2lvbi4KLSAgICAgICAgY2FjaGVNYXhEZWFkQ2Fw
YWNpdHkgPSBtYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CisgICAgICAgIGNhY2hlTWF4
RGVhZENhcGFjaXR5ID0gc3RkOjptYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKICAg
ICAgICAgZGVhZERlY29kZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDYwX3M7CiAKQEAgLTY4NCw3
ICs2ODMsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNo
ZU1vZGVsKQogCiAjaWYgVVNFKENGVVJMQ09OTkVDVElPTikKICAgICAvLyBEb24ndCBzaHJpbmsg
YSBiaWcgZGlzayBjYWNoZSwgc2luY2UgdGhhdCB3b3VsZCBjYXVzZSBjaHVybi4KLSAgICBjYWNo
ZURpc2tDYXBhY2l0eSA9IG1heChjYWNoZURpc2tDYXBhY2l0eSwgQ0ZVUkxDYWNoZURpc2tDYXBh
Y2l0eShjZnVybENhY2hlLmdldCgpKSk7CisgICAgY2FjaGVEaXNrQ2FwYWNpdHkgPSBzdGQ6Om1h
eChjYWNoZURpc2tDYXBhY2l0eSwgQ0ZVUkxDYWNoZURpc2tDYXBhY2l0eShjZnVybENhY2hlLmdl
dCgpKSk7CiAKICAgICBDRlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNpdHkoY2Z1cmxDYWNoZS5nZXQo
KSwgY2FjaGVNZW1vcnlDYXBhY2l0eSk7CiAgICAgQ0ZVUkxDYWNoZVNldERpc2tDYXBhY2l0eShj
ZnVybENhY2hlLmdldCgpLCBjYWNoZURpc2tDYXBhY2l0eSk7CkBAIC03MjAsNyArNzE5LDcgQEAg
V2ViQ2FjaGVNb2RlbCBXZWJWaWV3OjptYXhDYWNoZU1vZGVsSW5BbnlJbnN0YW5jZSgpCiAgICAg
ICAgIGlmIChGQUlMRUQocHJlZi0+Y2FjaGVNb2RlbCgmcHJlZkNhY2hlTW9kZWwpKSkKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGNhY2hlTW9kZWwgPSBtYXgoY2FjaGVNb2RlbCwg
cHJlZkNhY2hlTW9kZWwpOworICAgICAgICBjYWNoZU1vZGVsID0gc3RkOjptYXgoY2FjaGVNb2Rl
bCwgcHJlZkNhY2hlTW9kZWwpOwogICAgIH0KIAogICAgIHJldHVybiBjYWNoZU1vZGVsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>357928</attachid>
            <date>2018-12-20 22:56:15 -0800</date>
            <delta_ts>2018-12-24 18:01:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192973-20181221155613.patch</filename>
            <type>text/plain</type>
            <size>32699</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTY3NWJlN2JmYzhkMWNi
MGQzY2QwZGU2NjNmNmRhNDExMjliYTBkOC4uODAzN2EwMmViY2RkMTExZGI1ZDBlMTkxMjQ4NzVi
Y2RlYWYzMTA0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE4LTEyLTIwICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJlbW92ZSAi
dXNpbmcgbmFtZXNwYWNlIHN0ZDsiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xOTI5NzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmVkICJ1c2luZyBuYW1lc3BhY2Ugc3RkIiBzdGF0ZW1lbnQsIGFu
ZCB1c2Ugc3RkOjogcHJlZml4LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBubyBiZWhh
dmlvciBjaGFuZ2VzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS93aW4vQVhPYmplY3RDYWNo
ZVdpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQ
cml2YXRlLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZl
ckNhaXJvLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFBsYXRmb3Jt
RGF0YUNhaXJvV2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdp
bi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6ZmxvYXRXaWR0aEZvckNvbXBs
ZXhUZXh0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3ND
b250ZXh0Q0dXaW4uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGlj
c0NvbnRleHRDYWlyb1dpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dy
YXBoaWNzQ29udGV4dERpcmVjdDJELmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93
aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93
aW4vU2ltcGxlRm9udERhdGFDR1dpbi5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
d2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VW5pc2NyaWJl
Q29udHJvbGxlcjo6VW5pc2NyaWJlQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpVbmlz
Y3JpYmVDb250cm9sbGVyOjpzaGFwZUFuZFBsYWNlSXRlbSk6CisgICAgICAgICogcGxhdGZvcm0v
aW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuY3BwOgorICAgICAgICAqIHBsYXRm
b3JtL3RleHQvTG9jYWxlSUNVLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L3dpbi9Mb2Nh
bGVXaW4uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5jcHA6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyUnVieVJ1bjo6bGF5b3V0QmxvY2spOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJUaGVtZVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0
TWVudUxpc3RCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZVdpbjo6cGFpbnRTZWFyY2hGaWVsZENhbmNlbEJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJUaGVtZVdpbjo6YWRqdXN0U2VhcmNoRmllbGRDYW5jZWxCdXR0b25TdHlsZSBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0U2VhcmNoRmllbGRSZXN1
bHRzRGVjb3JhdGlvblBhcnRTdHlsZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZVdpbjo6cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJUaGVtZVdpbjo6YWRqdXN0U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
U3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVXaW46OnBhaW50U2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uKToKKwogMjAxOC0xMi0yMCAgSnVzdGluIEZhbiAgPGp1c3Rp
bl9mYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIENvbnZlcnQgV2ViR1BVQmluZEdy
b3VwcyBpbnRvIE1UTEFyZ3VtZW50RW5jb2RlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNWMzZWMzM2YzZjc2MzVi
MzE2NGU2MmI4YzdkOTkzODhmNzZlMWUxNi4uOTYzYWUxMjRkNjA5ODdiYWZmNDVkODA4Zjk1ZTcy
YjljYzllNDAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxOC0xMi0yMCAgRnVqaWkg
SGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBSZW1vdmUgInVz
aW5nIG5hbWVzcGFjZSBzdGQ7IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkyOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3BwOgorCiAyMDE4
LTEyLTIwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIHVudXNlZCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dExlZ2FjeS93aW4vQ2hhbmdlTG9nCmluZGV4IGJhNDM0NTAwY2FmYzYxZWY1MWU5ODRmNTYyYjky
NmEwZmVhNmUwZTcuLjkzMmQzMTE0ZDgxNTY2MGIyZjQ0ZDA0MjU5MGRmMTU4YWYyNDY5NGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxOC0xMi0yMCAg
RnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KKworICAgICAgICBSZW1v
dmUgInVzaW5nIG5hbWVzcGFjZSBzdGQ7IgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkyOTczCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBGdWxsc2NyZWVuVmlkZW9Db250cm9sbGVyLmNwcDoKKyAgICAg
ICAgKiBXZWJGcmFtZS5jcHA6CisgICAgICAgIChXZWJGcmFtZTo6ZHJhd0Zvb3Rlcik6CisgICAg
ICAgICogV2ViSGlzdG9yeS5jcHA6CisgICAgICAgICogV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9u
cy9DQUQzRFJlbmRlcmVyLmNwcDoKKyAgICAgICAgKiBXZWJLaXRRdWFydHpDb3JlQWRkaXRpb25z
L0NBVmlldy5jcHA6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgIChQcmVmZXJlbmNl
c0NoYW5nZWRPclJlbW92ZWRPYnNlcnZlcjo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKyAg
ICAgICAgKFByZWZlcmVuY2VzQ2hhbmdlZE9yUmVtb3ZlZE9ic2VydmVyOjpub3RpZnlQcmVmZXJl
bmNlc1JlbW92ZWQpOgorICAgICAgICAoV2ViVmlldzo6c2V0Q2FjaGVNb2RlbCk6CisgICAgICAg
IChXZWJWaWV3OjptYXhDYWNoZU1vZGVsSW5BbnlJbnN0YW5jZSk6CisKIDIwMTgtMTItMjAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgT3B0aW9uYWw6OnZh
bHVlT3IoKSBpbnN0ZWFkIG9mIE9wdGlvbmFsOjp2YWx1ZV9vcigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L3dpbi9BWE9iamVjdENhY2hlV2luLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3BwCmluZGV4IDU5
ZmY2YjBiZjg1ODEwMzYzZjJiNjMyYzViYTYwZTc2M2RhY2E5MjQuLjk3ZGM4ZGE3NjAwNjFiZTYy
OTU1ZmYyYjk3MThjYjg5NzFhYmI4NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvd2luL0FYT2JqZWN0Q2FjaGVXaW4uY3BwCkBAIC00MCw3ICs0MCw2IEBACiAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogdm9pZCBBWE9i
amVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaiwgQWNjZXNz
aWJpbGl0eURldGFjaG1lbnRUeXBlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZS5jcHAKaW5kZXgg
ZDEyODZkYjE3NzM0Mzg5MDQ5MzlkY2M2MmE2MmIwY2IwMGJjYTlhMS4uOTEzMDA0NDBjZGVkNDll
MWRkZDUwYmM0OWVjNzhkZDY1OGRkNmEwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRFByaXZhdGUuY3BwCkBA
IC0zNyw3ICszNyw2IEBACiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNl
IHN0ZDsKIAogR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpHcmFwaGljc0NvbnRleHQzRFByaXZh
dGUoR3JhcGhpY3NDb250ZXh0M0QqLCBHcmFwaGljc0NvbnRleHQzRDo6UmVuZGVyU3R5bGUgcmVu
ZGVyU3R5bGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9JbWFnZUJ1ZmZlckNhaXJvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCmluZGV4IDkxMDdjMGVlNTVhM2VlOWY1
ZWVmMGUwMDc4Y2Q5NTExMTY5N2QxZDMuLjhiMzViODI2NTQ5ZjNmNzYxYzYyYzNiZWRiNTgxYzEw
ZmQzYTdiM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL0ltYWdlQnVmZmVyQ2Fpcm8uY3BwCkBAIC03Nyw3ICs3Nyw2IEBACiAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogSW1hZ2VCdWZmZXJE
YXRhOjpJbWFnZUJ1ZmZlckRhdGEoY29uc3QgSW50U2l6ZSYgc2l6ZSwgUmVuZGVyaW5nTW9kZSBy
ZW5kZXJpbmdNb2RlKQogICAgIDogbV9wbGF0Zm9ybUNvbnRleHQoMCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250UGxhdGZvcm1EYXRhQ2Fpcm9X
aW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9y
bURhdGFDYWlyb1dpbi5jcHAKaW5kZXggYTQ4ODgxMTZmZGVmOTNkODViMDlmYjE3MDZiM2Q3Nzgz
NGYwNzgzYy4uYTFkYjUyZWUxYzZiNGQzZmUxMGJlMWYxZTcyZDE1MGQ1YWJhOWJjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0ZvbnRQbGF0Zm9ybURh
dGFDYWlyb1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2lu
L0ZvbnRQbGF0Zm9ybURhdGFDYWlyb1dpbi5jcHAKQEAgLTM2LDcgKzM2LDYgQEAKIAogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwogCiB2b2lkIEZvbnRQbGF0Zm9y
bURhdGE6OnBsYXRmb3JtRGF0YUluaXQoSEZPTlQgZm9udCwgZmxvYXQgc2l6ZSwgSERDIGhkYywg
V0NIQVIqIGZhY2VOYW1lKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd2luL0ZvbnRXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvd2luL0ZvbnRXaW4uY3BwCmluZGV4IGI3YjQ3MDg0NzZiZjY3MjlkZjgxYTAxZjRhYzQzYmJj
MzhkYmQyYzcuLjJkNGY0OTVkNGY2NWFmYTUxMjA2MWE5Nzc2ODA2MGUzZDM1ZTBjNjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Gb250V2luLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vRm9udFdpbi5jcHAKQEAg
LTM4LDcgKzM4LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ug
c3RkOwogCiBib29sIEZvbnRDYXNjYWRlOjpjYW5SZXR1cm5GYWxsYmFja0ZvbnRzRm9yQ29tcGxl
eFRleHQoKQogewpAQCAtOTYsMTAgKzk1LDEwIEBAIGZsb2F0IEZvbnRDYXNjYWRlOjpmbG9hdFdp
ZHRoRm9yQ29tcGxleFRleHQoY29uc3QgVGV4dFJ1biYgcnVuLCBIYXNoU2V0PGNvbnN0IEZvCiAg
ICAgVW5pc2NyaWJlQ29udHJvbGxlciBjb250cm9sbGVyKHRoaXMsIHJ1biwgZmFsbGJhY2tGb250
cyk7CiAgICAgY29udHJvbGxlci5hZHZhbmNlKHJ1bi5sZW5ndGgoKSk7CiAgICAgaWYgKGdseXBo
T3ZlcmZsb3cpIHsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+dG9wID0gbWF4PGludD4oZ2x5cGhP
dmVyZmxvdy0+dG9wLCBjZWlsZigtY29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WSgpKSAt
IChnbHlwaE92ZXJmbG93LT5jb21wdXRlQm91bmRzID8gMCA6IGZvbnRNZXRyaWNzKCkuYXNjZW50
KCkpKTsKLSAgICAgICAgZ2x5cGhPdmVyZmxvdy0+Ym90dG9tID0gbWF4PGludD4oZ2x5cGhPdmVy
Zmxvdy0+Ym90dG9tLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hZKCkpIC0g
KGdseXBoT3ZlcmZsb3ctPmNvbXB1dGVCb3VuZHMgPyAwICA6IGZvbnRNZXRyaWNzKCkuZGVzY2Vu
dCgpKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZsb3ctPmxlZnQgPSBtYXg8aW50PigwLCBjZWlsZigt
Y29udHJvbGxlci5taW5HbHlwaEJvdW5kaW5nQm94WCgpKSk7Ci0gICAgICAgIGdseXBoT3ZlcmZs
b3ctPnJpZ2h0ID0gbWF4PGludD4oMCwgY2VpbGYoY29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5n
Qm94WCgpIC0gY29udHJvbGxlci5ydW5XaWR0aFNvRmFyKCkpKTsKKyAgICAgICAgZ2x5cGhPdmVy
Zmxvdy0+dG9wID0gc3RkOjptYXg8aW50PihnbHlwaE92ZXJmbG93LT50b3AsIGNlaWxmKC1jb250
cm9sbGVyLm1pbkdseXBoQm91bmRpbmdCb3hZKCkpIC0gKGdseXBoT3ZlcmZsb3ctPmNvbXB1dGVC
b3VuZHMgPyAwIDogZm9udE1ldHJpY3MoKS5hc2NlbnQoKSkpOworICAgICAgICBnbHlwaE92ZXJm
bG93LT5ib3R0b20gPSBzdGQ6Om1heDxpbnQ+KGdseXBoT3ZlcmZsb3ctPmJvdHRvbSwgY2VpbGYo
Y29udHJvbGxlci5tYXhHbHlwaEJvdW5kaW5nQm94WSgpKSAtIChnbHlwaE92ZXJmbG93LT5jb21w
dXRlQm91bmRzID8gMCAgOiBmb250TWV0cmljcygpLmRlc2NlbnQoKSkpOworICAgICAgICBnbHlw
aE92ZXJmbG93LT5sZWZ0ID0gc3RkOjptYXg8aW50PigwLCBjZWlsZigtY29udHJvbGxlci5taW5H
bHlwaEJvdW5kaW5nQm94WCgpKSk7CisgICAgICAgIGdseXBoT3ZlcmZsb3ctPnJpZ2h0ID0gc3Rk
OjptYXg8aW50PigwLCBjZWlsZihjb250cm9sbGVyLm1heEdseXBoQm91bmRpbmdCb3hYKCkgLSBj
b250cm9sbGVyLnJ1bldpZHRoU29GYXIoKSkpOwogICAgIH0KICAgICByZXR1cm4gY29udHJvbGxl
ci5ydW5XaWR0aFNvRmFyKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNwcAppbmRleCAzOTc0
NzQ3NjA5NjU2OTIzYWM0N2JmMjE0N2JkZTNkY2Q2OWI4YTQxLi4wOGJjZjhhYTU0MTc4Mzg5MWJl
ODkzODc5MWVlZWIzZDZmOTc0Yzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dpbi5jcHAKQEAgLTM4
LDcgKzM4LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ugc3Rk
OwogCiBzdGF0aWMgQ0dDb250ZXh0UmVmIENHQ29udGV4dFdpdGhIREMoSERDIGhkYywgYm9vbCBo
YXNBbHBoYSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3dpbi9HcmFwaGljc0NvbnRleHRDYWlyb1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q2Fpcm9XaW4uY3BwCmluZGV4IDJjZDUyMjM2
MmY4ZTdhMDlmY2MxNWU1OTU5YjYzY2NiMmI3OTdhNGYuLjEwNjdiOTYwOTNkYjJlZDU5MWEyMWEz
MWQ5ZDAyNTZkYzEyOTNlODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDYWlyb1dpbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENhaXJvV2luLmNwcApAQCAt
MzYsNyArMzYsNiBAQAogCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLXVzaW5nIG5hbWVzcGFjZSBz
dGQ7CiAKICNpZiBQTEFURk9STShXSU4pCiBzdGF0aWMgY2Fpcm9fdCogY3JlYXRlQ2Fpcm9Db250
ZXh0V2l0aEhEQyhIREMgaGRjLCBib29sIGhhc0FscGhhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dERpcmVjdDJELmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHREaXJl
Y3QyRC5jcHAKaW5kZXggZWFmM2QyNWNmYmZmMmZjZmJjMDFlZGRmMTU1NTY3ZTIzY2Y4N2EwMy4u
ZmJlNzUzZjQxOWNmYTZkMDYzYzU0MDg5OWI0MDRhNjM0MDdmOTJmYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dERpcmVjdDJE
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3ND
b250ZXh0RGlyZWN0MkQuY3BwCkBAIC00Miw3ICs0Miw2IEBACiAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogR3JhcGhpY3NDb250ZXh0OjpHcmFwaGljc0Nv
bnRleHQoSERDIGhkYywgYm9vbCBoYXNBbHBoYSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4uY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAKaW5k
ZXggNzUwMzllMzgxNTQwYzFkNGJlMTRiMzc0MmE2YjQwNmViMzlhMjVmOC4uNWJkZTRjZWRmNTE2
YTkxNzlhNmQzZDNiM2UzM2QxMzRlZDVhYjUxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAKQEAg
LTQ0LDcgKzQ0LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ug
c3RkOwogCiBzdGF0aWMgdm9pZCBmaWxsV2l0aENsZWFyQ29sb3IoSEJJVE1BUCBiaXRtYXApCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vU2ltcGxl
Rm9udERhdGFDR1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4v
U2ltcGxlRm9udERhdGFDR1dpbi5jcHAKaW5kZXggMDdjZDUzMzFlNjc0ODhjMDIwYWQyMjBkN2Uw
MzVmYzMyOGI2NGQyMS4uNGZhYjRjZGNmZDAzOGJmNGQ3YWQ0MGEzMDg1NDM5ZWM4ZDNiYTRiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1NpbXBsZUZv
bnREYXRhQ0dXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dp
bi9TaW1wbGVGb250RGF0YUNHV2luLmNwcApAQCAtNDksOCArNDksNiBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIHZvaWQgRm9udDo6cGxhdGZvcm1J
bml0KCkKIHsKICAgICBtX3N5bnRoZXRpY0JvbGRPZmZzZXQgPSBtX3BsYXRmb3JtRGF0YS5zeW50
aGV0aWNCb2xkKCkgPyAxLjBmIDogMC5mOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL1VuaXNjcmliZUNvbnRyb2xsZXIuY3BwCmluZGV4IGZm
MzdhYzU2ZWMxNjgyNWU2NTYzNWNhMDlkMGI3YTAzMTgwZGY4YTQuLjQ0MGEwYTFlMWNkZDIxMTA0
NDgwMjQxN2YyZDlmMWMzYzlkMzhhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9VbmlzY3JpYmVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vVW5pc2NyaWJlQ29udHJvbGxlci5jcHAKQEAgLTM0
LDkgKzM0LDcgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2UgV1RG
OwotdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwordXNpbmcg
bmFtZXNwYWNlIFdURjo6VW5pY29kZTsKIAogLy8gRklYTUU6IFJlYXJjaGl0ZWN0IHRoaXMgdG8g
YmUgbW9yZSBsaWtlIFdpZHRoSXRlcmF0b3IgaW4gRm9udC5jcHAuICBIYXZlIGFuIGFkdmFuY2Uo
KSBtZXRob2QKIC8vIHRoYXQgZG9lcyBzdHVmZiBpbiB0aGF0IG1ldGhvZCBpbnN0ZWFkIG9mIGRv
aW5nIGV2ZXJ5dGhpbmcgaW4gdGhlIGNvbnN0cnVjdG9yLiAgSGF2ZSBhZHZhbmNlKCkKQEAgLTQ2
LDEwICs0NCwxMCBAQCBVbmlzY3JpYmVDb250cm9sbGVyOjpVbmlzY3JpYmVDb250cm9sbGVyKGNv
bnN0IEZvbnRDYXNjYWRlKiBmb250LCBjb25zdCBUZXh0UnVuJgogICAgIDogbV9mb250KCpmb250
KQogICAgICwgbV9ydW4ocnVuKQogICAgICwgbV9mYWxsYmFja0ZvbnRzKGZhbGxiYWNrRm9udHMp
Ci0gICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4
KCkpCi0gICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hYKG51bWVyaWNfbGltaXRzPGZsb2F0Pjo6
bWluKCkpCi0gICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZsb2F0
Pjo6bWF4KCkpCi0gICAgLCBtX21heEdseXBoQm91bmRpbmdCb3hZKG51bWVyaWNfbGltaXRzPGZs
b2F0Pjo6bWluKCkpCisgICAgLCBtX21pbkdseXBoQm91bmRpbmdCb3hYKHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZmxvYXQ+OjptYXgoKSkKKyAgICAsIG1fbWF4R2x5cGhCb3VuZGluZ0JveFgoc3RkOjpu
dW1lcmljX2xpbWl0czxmbG9hdD46Om1pbigpKQorICAgICwgbV9taW5HbHlwaEJvdW5kaW5nQm94
WShzdGQ6Om51bWVyaWNfbGltaXRzPGZsb2F0Pjo6bWF4KCkpCisgICAgLCBtX21heEdseXBoQm91
bmRpbmdCb3hZKHN0ZDo6bnVtZXJpY19saW1pdHM8ZmxvYXQ+OjptaW4oKSkKICAgICAsIG1fY3Vy
cmVudENoYXJhY3RlcigwKQogICAgICwgbV9lbmQocnVuLmxlbmd0aCgpKQogICAgICwgbV9ydW5X
aWR0aFNvRmFyKDApCkBAIC0zNzQsMTAgKzM3MiwxMCBAQCBib29sIFVuaXNjcmliZUNvbnRyb2xs
ZXI6OnNoYXBlQW5kUGxhY2VJdGVtKGNvbnN0IFVDaGFyKiBjcCwgdW5zaWduZWQgaSwgY29uc3Qg
RgogCiAgICAgICAgIEZsb2F0UmVjdCBnbHlwaEJvdW5kcyA9IGZvbnREYXRhLT5ib3VuZHNGb3JH
bHlwaChnbHlwaCk7CiAgICAgICAgIGdseXBoQm91bmRzLm1vdmUobV9nbHlwaE9yaWdpbi54KCks
IG1fZ2x5cGhPcmlnaW4ueSgpKTsKLSAgICAgICAgbV9taW5HbHlwaEJvdW5kaW5nQm94WCA9IG1p
bihtX21pbkdseXBoQm91bmRpbmdCb3hYLCBnbHlwaEJvdW5kcy54KCkpOwotICAgICAgICBtX21h
eEdseXBoQm91bmRpbmdCb3hYID0gbWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFgsIGdseXBoQm91
bmRzLm1heFgoKSk7Ci0gICAgICAgIG1fbWluR2x5cGhCb3VuZGluZ0JveFkgPSBtaW4obV9taW5H
bHlwaEJvdW5kaW5nQm94WSwgZ2x5cGhCb3VuZHMueSgpKTsKLSAgICAgICAgbV9tYXhHbHlwaEJv
dW5kaW5nQm94WSA9IG1heChtX21heEdseXBoQm91bmRpbmdCb3hZLCBnbHlwaEJvdW5kcy5tYXhZ
KCkpOworICAgICAgICBtX21pbkdseXBoQm91bmRpbmdCb3hYID0gc3RkOjptaW4obV9taW5HbHlw
aEJvdW5kaW5nQm94WCwgZ2x5cGhCb3VuZHMueCgpKTsKKyAgICAgICAgbV9tYXhHbHlwaEJvdW5k
aW5nQm94WCA9IHN0ZDo6bWF4KG1fbWF4R2x5cGhCb3VuZGluZ0JveFgsIGdseXBoQm91bmRzLm1h
eFgoKSk7CisgICAgICAgIG1fbWluR2x5cGhCb3VuZGluZ0JveFkgPSBzdGQ6Om1pbihtX21pbkds
eXBoQm91bmRpbmdCb3hZLCBnbHlwaEJvdW5kcy55KCkpOworICAgICAgICBtX21heEdseXBoQm91
bmRpbmdCb3hZID0gc3RkOjptYXgobV9tYXhHbHlwaEJvdW5kaW5nQm94WSwgZ2x5cGhCb3VuZHMu
bWF4WSgpKTsKICAgICAgICAgbV9nbHlwaE9yaWdpbi5tb3ZlKGFkdmFuY2UgKyBvZmZzZXRYLCAt
b2Zmc2V0WSk7CiAKICAgICAgICAgLy8gTXV0YXRlIHRoZSBnbHlwaCBhcnJheSB0byBjb250YWlu
IG91ciBhbHRlcmVkIGFkdmFuY2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvU2NhbGFibGVJbWFnZURlY29kZXIuY3BwCmluZGV4
IDQzZmY1MDNjMWU1NjUwZjlhMjY2Mzk0ZGMzNTU2MTI5MzkzYmNjNGYuLmViYTM0OWE3Y2I0ZTg0
ZmFjYjFlYzYzMzY3ZDljZWRjM2M5N2EzYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2ltYWdlLWRlY29kZXJzL1NjYWxhYmxlSW1hZ2VEZWNvZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9TY2FsYWJsZUltYWdlRGVjb2Rlci5j
cHAKQEAgLTM4LDcgKzM4LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1l
c3BhY2Ugc3RkOwogCiBuYW1lc3BhY2UgewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZUlDVS5jcHAKaW5kZXggYzU5ZTlmMGZhNWRjNTliNDMxZDg3ODFkNjgwMTRlYTdhNTcw
ZGI5OC4uMTE2ODRiODA2NmM5ZWI1MDliNGFkZDQ2MThiNzM4OGZiNTVhYzFlNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcApAQCAtNDEsNyArNDEsNiBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3BhY2UgaWN1OwotdXNpbmcgbmFtZXNw
YWNlIHN0ZDsKIAogc3RkOjp1bmlxdWVfcHRyPExvY2FsZT4gTG9jYWxlOjpjcmVhdGUoY29uc3Qg
QXRvbWljU3RyaW5nJiBsb2NhbGUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4
dC93aW4vTG9jYWxlV2luLmNwcAppbmRleCBiZmQ2ZTQ0ZWJkZGU3MDYxOWM4Zjk0NDMzNjYzMWZm
YzUwMjA0MWY4Li4xNTMxNWNhNzM1ZmYyZTdhYjQzNTE3MWU2YzFiZGU2MDM3MzJjYmRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L3dpbi9Mb2NhbGVXaW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvd2luL0xvY2FsZVdpbi5jcHAKQEAgLTQ0
LDcgKzQ0LDYgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC93aW4vV0NoYXJTdHJpbmdFeHRyYXMuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogdHlwZWRlZiBI
YXNoTWFwPFN0cmluZywgTENJRCwgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBOYW1lVG9MQ0lE
TWFwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2Nyb2xsYmFy
VGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1Njcm9sbGJhclRoZW1l
V2luLmNwcAppbmRleCBkZWUzMzEzZDY5YTY4YjJlMjAwNzJhYTZlNDM2OGEwZTkwNjIxZjNiLi5h
MWQyMGUwMTRiZTdjYzc4OTlhNTUwNjZkNjI3OWM2OGJiZjA5MWU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5jcHAKQEAgLTYzLDcgKzYz
LDYgQEAKIAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBz
dGF0aWMgSEFORExFIHNjcm9sbGJhclRoZW1lOwogc3RhdGljIGJvb2wgcnVubmluZ1Zpc3RhOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJ1YnlSdW4uY3BwCmluZGV4IGIxMjc2NjA4
ZjMxMzA1ZTA4NzBiM2E0YjdhMjQ1NzM0NzlkZDZmMzYuLjVhY2QyNzAzZDE3MThmMDYxZTdkNmYx
ZDEwMjBmZjIwMjViZDE2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSdWJ5UnVuLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUnVi
eVJ1bi5jcHAKQEAgLTQzLDggKzQzLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi11c2lu
ZyBuYW1lc3BhY2Ugc3RkOwotCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUmVuZGVyUnVi
eVJ1bik7CiAKIFJlbmRlclJ1YnlSdW46OlJlbmRlclJ1YnlSdW4oRG9jdW1lbnQmIGRvY3VtZW50
LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpAQCAtMTY3LDcgKzE2NSw3IEBAIHZvaWQgUmVuZGVyUnVi
eVJ1bjo6bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0IHBhZ2VI
ZWlnaHQpCiAgICAgICAgIC8vIEJvcG9tb2ZvLiBXZSBuZWVkIHRvIG1vdmUgdGhlIFJlbmRlclJ1
YnlUZXh0IG92ZXIgdG8gdGhlIHJpZ2h0IHNpZGUgYW5kIGNlbnRlciBpdAogICAgICAgICAvLyB2
ZXJ0aWNhbGx5IHJlbGF0aXZlIHRvIHRoZSBiYXNlLgogICAgICAgICBjb25zdCBGb250Q2FzY2Fk
ZSYgZm9udCA9IHN0eWxlKCkuZm9udENhc2NhZGUoKTsKLSAgICAgICAgZmxvYXQgZGlzdGFuY2VC
ZXR3ZWVuQmFzZSA9IG1heChmb250LmxldHRlclNwYWNpbmcoKSwgMi4wZiAqIHJ0LT5zdHlsZSgp
LmZvbnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CisgICAgICAgIGZsb2F0IGRp
c3RhbmNlQmV0d2VlbkJhc2UgPSBzdGQ6Om1heChmb250LmxldHRlclNwYWNpbmcoKSwgMi4wZiAq
IHJ0LT5zdHlsZSgpLmZvbnRDYXNjYWRlKCkuZm9udE1ldHJpY3MoKS5oZWlnaHQoKSk7CiAgICAg
ICAgIHNldFdpZHRoKHdpZHRoKCkgKyBkaXN0YW5jZUJldHdlZW5CYXNlIC0gZm9udC5sZXR0ZXJT
cGFjaW5nKCkpOwogICAgICAgICBpZiAoUmVuZGVyUnVieUJhc2UqIHJiID0gcnVieUJhc2UoKSkg
ewogICAgICAgICAgICAgTGF5b3V0VW5pdCBmaXJzdExpbmVUb3A7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lV2luLmNwcAppbmRleCBjOTc5OWQ2OWQ5ZmYwM2I5OWRhZTA3
ZWQ2Y2VmN2QwN2YyNGYxZDNmLi5lZWI5OTg1ZTYyZjVjOWEzNDgyNDNlOGRkZTllY2NjMGE5YmRi
ZmI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVXaW4u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZVdpbi5jcHAKQEAg
LTE2MCw3ICsxNjAsNiBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgdmlzdGFNZW51TGlzdEJ1dHRv
bk91dHNldCA9IDE7CiAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIHN0
ZDsKIAogLy8gVGhpcyBpcyB0aGUgZml4ZWQgd2lkdGggSUUgYW5kIEZpcmVmb3ggdXNlIGZvciBi
dXR0b25zIG9uIGRyb3Bkb3duIG1lbnVzCiBzdGF0aWMgY29uc3QgaW50IGRyb3BEb3duQnV0dG9u
V2lkdGggPSAxNzsKQEAgLTc3NSw3ICs3NzQsNyBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjphZGp1
c3RNZW51TGlzdEJ1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsIFJlbgog
CiAgICAgLy8gQ2FsY3VsYXRlIG91ciBtaW4taGVpZ2h0CiAgICAgaW50IG1pbkhlaWdodCA9IHN0
eWxlLmZvbnRNZXRyaWNzKCkuaGVpZ2h0KCk7Ci0gICAgbWluSGVpZ2h0ID0gbWF4KG1pbkhlaWdo
dCwgZHJvcERvd25Cb3hNaW5IZWlnaHQpOworICAgIG1pbkhlaWdodCA9IHN0ZDo6bWF4KG1pbkhl
aWdodCwgZHJvcERvd25Cb3hNaW5IZWlnaHQpOwogCiAgICAgc3R5bGUuc2V0TWluSGVpZ2h0KExl
bmd0aChtaW5IZWlnaHQsIEZpeGVkKSk7CiAKQEAgLTg4MCw3ICs4NzksNyBAQCBib29sIFJlbmRl
clRoZW1lV2luOjpwYWludFNlYXJjaEZpZWxkQ2FuY2VsQnV0dG9uKGNvbnN0IFJlbmRlckJveCYg
bywgY29uc3QgUGFpbgogICAgIEludFJlY3QgcGFyZW50Qm94ID0gZG93bmNhc3Q8UmVuZGVyQm94
Pigqby5wYXJlbnQoKSkuYWJzb2x1dGVDb250ZW50Qm94KCk7CiAgICAgCiAgICAgLy8gTWFrZSBz
dXJlIHRoZSBzY2FsZWQgYnV0dG9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBh
cmVudCdzIGJveAotICAgIGJvdW5kcy5zZXRIZWlnaHQobWluKHBhcmVudEJveC53aWR0aCgpLCBt
aW4ocGFyZW50Qm94LmhlaWdodCgpLCBib3VuZHMuaGVpZ2h0KCkpKSk7CisgICAgYm91bmRzLnNl
dEhlaWdodChzdGQ6Om1pbihwYXJlbnRCb3gud2lkdGgoKSwgc3RkOjptaW4ocGFyZW50Qm94Lmhl
aWdodCgpLCBib3VuZHMuaGVpZ2h0KCkpKSk7CiAgICAgYm91bmRzLnNldFdpZHRoKGJvdW5kcy5o
ZWlnaHQoKSk7CiAKICAgICAvLyBDZW50ZXIgdGhlIGJ1dHRvbiB2ZXJ0aWNhbGx5LiAgUm91bmQg
dXAgdGhvdWdoLCBzbyBpZiBpdCBoYXMgdG8gYmUgb25lIHBpeGVsIG9mZi1jZW50ZXIsIGl0IHdp
bGwKQEAgLTg5Nyw3ICs4OTYsNyBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjphZGp1c3RTZWFyY2hG
aWVsZENhbmNlbEJ1dHRvblN0eWxlKFN0eWxlUmVzb2x2ZXImLCBSZW5kZXJTdAogewogICAgIC8v
IFNjYWxlIHRoZSBidXR0b24gc2l6ZSBiYXNlZCBvbiB0aGUgZm9udCBzaXplCiAgICAgZmxvYXQg
Zm9udFNjYWxlID0gc3R5bGUuY29tcHV0ZWRGb250UGl4ZWxTaXplKCkgLyBkZWZhdWx0Q29udHJv
bEZvbnRQaXhlbFNpemU7Ci0gICAgaW50IGNhbmNlbEJ1dHRvblNpemUgPSBscm91bmRmKG1pbiht
YXgobWluQ2FuY2VsQnV0dG9uU2l6ZSwgZGVmYXVsdENhbmNlbEJ1dHRvblNpemUgKiBmb250U2Nh
bGUpLCBtYXhDYW5jZWxCdXR0b25TaXplKSk7CisgICAgaW50IGNhbmNlbEJ1dHRvblNpemUgPSBs
cm91bmRmKHN0ZDo6bWluKHN0ZDo6bWF4KG1pbkNhbmNlbEJ1dHRvblNpemUsIGRlZmF1bHRDYW5j
ZWxCdXR0b25TaXplICogZm9udFNjYWxlKSwgbWF4Q2FuY2VsQnV0dG9uU2l6ZSkpOwogICAgIHN0
eWxlLnNldFdpZHRoKExlbmd0aChjYW5jZWxCdXR0b25TaXplLCBGaXhlZCkpOwogICAgIHN0eWxl
LnNldEhlaWdodChMZW5ndGgoY2FuY2VsQnV0dG9uU2l6ZSwgRml4ZWQpKTsKIH0KQEAgLTkxMyw3
ICs5MTIsNyBAQCB2b2lkIFJlbmRlclRoZW1lV2luOjphZGp1c3RTZWFyY2hGaWVsZFJlc3VsdHNE
ZWNvcmF0aW9uUGFydFN0eWxlKFN0eWxlUmVzb2x2ZXImLAogewogICAgIC8vIFNjYWxlIHRoZSBk
ZWNvcmF0aW9uIHNpemUgYmFzZWQgb24gdGhlIGZvbnQgc2l6ZQogICAgIGZsb2F0IGZvbnRTY2Fs
ZSA9IHN0eWxlLmNvbXB1dGVkRm9udFBpeGVsU2l6ZSgpIC8gZGVmYXVsdENvbnRyb2xGb250UGl4
ZWxTaXplOwotICAgIGludCBtYWduaWZpZXJTaXplID0gbHJvdW5kZihtaW4obWF4KG1pblNlYXJj
aEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplLCBkZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzRGVj
b3JhdGlvblNpemUgKiBmb250U2NhbGUpLCAKKyAgICBpbnQgbWFnbmlmaWVyU2l6ZSA9IGxyb3Vu
ZGYoc3RkOjptaW4oc3RkOjptYXgobWluU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUs
IGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSAqIGZvbnRTY2FsZSksIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFNlYXJjaEZpZWxkUmVzdWx0
c0RlY29yYXRpb25TaXplKSk7CiAgICAgc3R5bGUuc2V0V2lkdGgoTGVuZ3RoKG1hZ25pZmllclNp
emUsIEZpeGVkKSk7CiAgICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChtYWduaWZpZXJTaXplLCBG
aXhlZCkpOwpAQCAtOTI5LDcgKzkyOCw3IEBAIGJvb2wgUmVuZGVyVGhlbWVXaW46OnBhaW50U2Vh
cmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoY29uc3QgUmVuZGVyQm94JiBvLCBjCiAgICAg
SW50UmVjdCBwYXJlbnRCb3ggPSBkb3duY2FzdDxSZW5kZXJCb3g+KCpvLnBhcmVudCgpKS5hYnNv
bHV0ZUNvbnRlbnRCb3goKTsKICAgICAKICAgICAvLyBNYWtlIHN1cmUgdGhlIHNjYWxlZCBkZWNv
cmF0aW9uIHN0YXlzIHNxdWFyZSBhbmQgd2lsbCBmaXQgaW4gaXRzIHBhcmVudCdzIGJveAotICAg
IGJvdW5kcy5zZXRIZWlnaHQobWluKHBhcmVudEJveC53aWR0aCgpLCBtaW4ocGFyZW50Qm94Lmhl
aWdodCgpLCBib3VuZHMuaGVpZ2h0KCkpKSk7CisgICAgYm91bmRzLnNldEhlaWdodChzdGQ6Om1p
bihwYXJlbnRCb3gud2lkdGgoKSwgc3RkOjptaW4ocGFyZW50Qm94LmhlaWdodCgpLCBib3VuZHMu
aGVpZ2h0KCkpKSk7CiAgICAgYm91bmRzLnNldFdpZHRoKGJvdW5kcy5oZWlnaHQoKSk7CiAKICAg
ICAvLyBDZW50ZXIgdGhlIGRlY29yYXRpb24gdmVydGljYWxseS4gIFJvdW5kIHVwIHRob3VnaCwg
c28gaWYgaXQgaGFzIHRvIGJlIG9uZSBwaXhlbCBvZmYtY2VudGVyLCBpdCB3aWxsCkBAIC05NDUs
NyArOTQ0LDcgQEAgdm9pZCBSZW5kZXJUaGVtZVdpbjo6YWRqdXN0U2VhcmNoRmllbGRSZXN1bHRz
QnV0dG9uU3R5bGUoU3R5bGVSZXNvbHZlciYsIFJlbmRlclMKIHsKICAgICAvLyBTY2FsZSB0aGUg
YnV0dG9uIHNpemUgYmFzZWQgb24gdGhlIGZvbnQgc2l6ZQogICAgIGZsb2F0IGZvbnRTY2FsZSA9
IHN0eWxlLmNvbXB1dGVkRm9udFBpeGVsU2l6ZSgpIC8gZGVmYXVsdENvbnRyb2xGb250UGl4ZWxT
aXplOwotICAgIGludCBtYWduaWZpZXJIZWlnaHQgPSBscm91bmRmKG1pbihtYXgobWluU2VhcmNo
RmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUsIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNv
cmF0aW9uU2l6ZSAqIGZvbnRTY2FsZSksIAorICAgIGludCBtYWduaWZpZXJIZWlnaHQgPSBscm91
bmRmKHN0ZDo6bWluKHN0ZDo6bWF4KG1pblNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXpl
LCBkZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUgKiBmb250U2NhbGUpLCAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4U2VhcmNoRmllbGRSZXN1bHRz
RGVjb3JhdGlvblNpemUpKTsKICAgICBpbnQgbWFnbmlmaWVyV2lkdGggPSBscm91bmRmKG1hZ25p
ZmllckhlaWdodCAqIGRlZmF1bHRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25XaWR0aCAvIGRlZmF1
bHRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uU2l6ZSk7CiAgICAgc3R5bGUuc2V0V2lkdGgo
TGVuZ3RoKG1hZ25pZmllcldpZHRoLCBGaXhlZCkpOwpAQCAtOTY0LDggKzk2Myw4IEBAIGJvb2wg
UmVuZGVyVGhlbWVXaW46OnBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGNvbnN0IFJlbmRl
ckJveCYgbywgY29uc3QgUGFpCiAgICAgSW50UmVjdCBwYXJlbnRCb3ggPSBkb3duY2FzdDxSZW5k
ZXJCb3g+KCpvLnBhcmVudCgpKS5hYnNvbHV0ZUNvbnRlbnRCb3goKTsKICAgICAKICAgICAvLyBN
YWtlIHN1cmUgdGhlIHNjYWxlZCBkZWNvcmF0aW9uIHdpbGwgZml0IGluIGl0cyBwYXJlbnQncyBi
b3gKLSAgICBib3VuZHMuc2V0SGVpZ2h0KG1pbihwYXJlbnRCb3guaGVpZ2h0KCksIGJvdW5kcy5o
ZWlnaHQoKSkpOwotICAgIGJvdW5kcy5zZXRXaWR0aChtaW48aW50PihwYXJlbnRCb3gud2lkdGgo
KSwgYm91bmRzLmhlaWdodCgpICogZGVmYXVsdFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbldpZHRo
IC8gZGVmYXVsdFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25TaXplKSk7CisgICAgYm91bmRz
LnNldEhlaWdodChzdGQ6Om1pbihwYXJlbnRCb3guaGVpZ2h0KCksIGJvdW5kcy5oZWlnaHQoKSkp
OworICAgIGJvdW5kcy5zZXRXaWR0aChzdGQ6Om1pbjxpbnQ+KHBhcmVudEJveC53aWR0aCgpLCBi
b3VuZHMuaGVpZ2h0KCkgKiBkZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uV2lkdGggLyBk
ZWZhdWx0U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblNpemUpKTsKIAogICAgIC8vIENlbnRl
ciB0aGUgYnV0dG9uIHZlcnRpY2FsbHkuICBSb3VuZCB1cCB0aG91Z2gsIHNvIGlmIGl0IGhhcyB0
byBiZSBvbmUgcGl4ZWwgb2ZmLWNlbnRlciwgaXQgd2lsbAogICAgIC8vIGJlIG9uZSBwaXhlbCBj
bG9zZXIgdG8gdGhlIGJvdHRvbSBvZiB0aGUgZmllbGQuICBUaGlzIHRlbmRzIHRvIGxvb2sgYmV0
dGVyIHdpdGggdGhlIHRleHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQ
Qy93aW4vQ29ubmVjdGlvbldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy93aW4v
Q29ubmVjdGlvbldpbi5jcHAKaW5kZXggM2MwZTg1MGUxMTRiOGU5NmNkZGU1NDgxMjlhZDRkZTg1
NTFlMWI0ZS4uNGU1Zjg3MTJhZDBkYWNmOWYyY2YxMTNiMmQwMmY3MDM5OWY4OWI0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2luLmNwcApAQCAt
MzAsOCArMzAsNiBAQAogI2luY2x1ZGUgPHd0Zi9SYW5kb21OdW1iZXIuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAotdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLQogbmFtZXNwYWNl
IElQQyB7CiAKIC8vIEZJWE1FOiBSZW5hbWUgdGhpcyBvciB1c2UgYSBkaWZmZXJlbnQgY29uc3Rh
bnQgb24gd2luZG93cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0Z1bGxz
Y3JlZW5WaWRlb0NvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRnVsbHNj
cmVlblZpZGVvQ29udHJvbGxlci5jcHAKaW5kZXggOTk0ZGNhYjBkZTFkNWZjOWRmYzFmZjRmMDZj
Y2VkYTAyYzQzMjdhMi4uY2E1MDIwMDAyOTI2YTY2ODVkODI2OWZiMGFjY2EwZGRlZWMzNjQyOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRnVsbHNjcmVlblZpZGVvQ29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vRnVsbHNjcmVlblZpZGVvQ29u
dHJvbGxlci5jcHAKQEAgLTQ3LDcgKzQ3LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
Q0FMYXllcldpbi5oPgogI2VuZGlmCiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7CiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogc3RhdGljIGNvbnN0IFNlY29uZHMgdGltZXJJbnRlcnZhbCB7IDMz
X21zIH07CkBAIC0xNzEsNyArMTcwLDcgQEAgdm9pZCBIVURTbGlkZXI6OmRyYWcoY29uc3QgSW50
UG9pbnQmIHBvaW50LCBib29sIHN0YXJ0KQogICAgICAgICAgICAgbV9kcmFnU3RhcnRPZmZzZXQg
PSBtX3JlY3QubG9jYXRpb24oKS54KCkgKyBtX2J1dHRvblNpemUgLyAyOwogICAgIH0KIAotICAg
IG1fYnV0dG9uUG9zaXRpb24gPSBtYXgoMCwgbWluKG1fcmVjdC53aWR0aCgpIC0gbV9idXR0b25T
aXplLCBwb2ludC54KCkgLSBtX2RyYWdTdGFydE9mZnNldCkpOworICAgIG1fYnV0dG9uUG9zaXRp
b24gPSBzdGQ6Om1heCgwLCBzdGQ6Om1pbihtX3JlY3Qud2lkdGgoKSAtIG1fYnV0dG9uU2l6ZSwg
cG9pbnQueCgpIC0gbV9kcmFnU3RhcnRPZmZzZXQpKTsKIH0KIAogI2lmIFVTRShDQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkZyYW1lLmNwcCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYkZyYW1lLmNwcAppbmRleCBjMDMyNDJjN2Q2YjYyZDhmYzYzNWQ5YTBk
N2JkNmU1ZDdjMjU5ZmVkLi5mZGEyZjE5MmIyMDhmOThiMTI1YjYxZTFiMzkzODU4ZTU1NTlhN2E0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJGcmFtZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViRnJhbWUuY3BwCkBAIC0xMjMsNyArMTIzLDYgQEAg
ZXh0ZXJuICJDIiB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNl
IEhUTUxOYW1lczsKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIHVzaW5nIEpTQzo6SlNHbG9iYWxP
YmplY3Q7CiB1c2luZyBKU0M6OkpTTG9jazsKQEAgLTE1NzQsNyArMTU3Myw3IEBAIHZvaWQgV2Vi
RnJhbWU6OmRyYXdIZWFkZXIoUGxhdGZvcm1HcmFwaGljc0NvbnRleHQqIHBjdHgsIElXZWJVSURl
bGVnYXRlKiB1aSwgY29uCiB2b2lkIFdlYkZyYW1lOjpkcmF3Rm9vdGVyKFBsYXRmb3JtR3JhcGhp
Y3NDb250ZXh0KiBwY3R4LCBJV2ViVUlEZWxlZ2F0ZSogdWksIGNvbnN0IEludFJlY3QmIHBhZ2VS
ZWN0LCBVSU5UIHBhZ2UsIFVJTlQgcGFnZUNvdW50LCBmbG9hdCBoZWFkZXJIZWlnaHQsIGZsb2F0
IGZvb3RlckhlaWdodCkKIHsKICAgICBpbnQgeCA9IHBhZ2VSZWN0LngoKTsKLSAgICBpbnQgeSA9
IG1heCgoaW50KWhlYWRlckhlaWdodCtwYWdlUmVjdC5oZWlnaHQoKSwgbV9wYWdlSGVpZ2h0LXN0
YXRpY19jYXN0PGludD4oZm9vdGVySGVpZ2h0KSk7CisgICAgaW50IHkgPSBzdGQ6Om1heCgoaW50
KWhlYWRlckhlaWdodCtwYWdlUmVjdC5oZWlnaHQoKSwgbV9wYWdlSGVpZ2h0LXN0YXRpY19jYXN0
PGludD4oZm9vdGVySGVpZ2h0KSk7CiAgICAgUkVDVCBmb290ZXJSZWN0ID0ge3gsIHksIHgrcGFn
ZVJlY3Qud2lkdGgoKSwgeStzdGF0aWNfY2FzdDxpbnQ+KGZvb3RlckhlaWdodCl9OwogICAgIHVp
LT5kcmF3Rm9vdGVySW5SZWN0KGQtPndlYlZpZXcsICZmb290ZXJSZWN0LCByZWludGVycHJldF9j
YXN0PFVMT05HX1BUUj4ocGN0eCksIHBhZ2UgKyAxLCBwYWdlQ291bnQpOwogfQpAQCAtMTY1NSw3
ICsxNjU0LDcgQEAgdm9pZCBXZWJGcmFtZTo6ZHJhd0Zvb3RlcihQbGF0Zm9ybUdyYXBoaWNzQ29u
dGV4dCogcGN0eCwgSVdlYlVJRGVsZWdhdGUqIHVpLCBjb24KICAgICBIREMgaGRjID0gaGRjRnJv
bUNvbnRleHQocGN0eCk7CiAgICAgCiAgICAgaW50IHggPSBwYWdlUmVjdC54KCk7Ci0gICAgaW50
IHkgPSBtYXgoc3RhdGljX2Nhc3Q8aW50PihoZWFkZXJIZWlnaHQpICsgcGFnZVJlY3QuaGVpZ2h0
KCksIG1fcGFnZUhlaWdodCAgLXN0YXRpY19jYXN0PGludD4oZm9vdGVySGVpZ2h0KSk7CisgICAg
aW50IHkgPSBzdGQ6Om1heChzdGF0aWNfY2FzdDxpbnQ+KGhlYWRlckhlaWdodCkgKyBwYWdlUmVj
dC5oZWlnaHQoKSwgbV9wYWdlSGVpZ2h0ICAtc3RhdGljX2Nhc3Q8aW50Pihmb290ZXJIZWlnaHQp
KTsKICAgICBSRUNUIGZvb3RlclJlY3QgPSB7eCwgeSwgeCArIHBhZ2VSZWN0LndpZHRoKCksIHkg
KyBzdGF0aWNfY2FzdDxpbnQ+KGZvb3RlckhlaWdodCl9OwogCiAgICAgdWktPmRyYXdGb290ZXJJ
blJlY3QoZC0+d2ViVmlldywgJmZvb3RlclJlY3QsIHJlaW50ZXJwcmV0X2Nhc3Q8VUxPTkdfUFRS
PihoZGMpLCBwYWdlKzEsIHBhZ2VDb3VudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9XZWJIaXN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhpc3Rv
cnkuY3BwCmluZGV4IDAyMzM4NGNlOTZmMTA5NDljZGQ1OWY3NzRhODE0NWViYmVhN2I3YTUuLmZm
OWRhMjRjMWZjOGM0MWJjMGIzYjcwYjhkM2Q5MjU2ZGQ0YzYzMjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYkhpc3RvcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYkhpc3RvcnkuY3BwCkBAIC01Miw3ICs1Miw2IEBACiAjZW5kaWYKIAogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7Ci11c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBzdGF0aWMgYm9vbCBh
cmVFcXVhbE9yQ2xvc2UoZG91YmxlIGQxLCBkb3VibGUgZDIpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRRdWFydHpDb3JlQWRkaXRpb25zL0NBRDNEUmVuZGVy
ZXIuY3BwIGIvU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9u
cy9DQUQzRFJlbmRlcmVyLmNwcAppbmRleCBmMTg3MjIyOTcyNTdmYTJlMzYyZDJmMjU1YjZhNTY4
ZGFkNjEwZTdmLi4yZjFmMmY0ODA3ZWI5YzRmZTcwODM1ZGI3OGUzNGEzNGJjZmYzNmQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJLaXRRdWFydHpDb3JlQWRkaXRpb25z
L0NBRDNEUmVuZGVyZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYktpdFF1
YXJ0ekNvcmVBZGRpdGlvbnMvQ0FEM0RSZW5kZXJlci5jcHAKQEAgLTQxLDggKzQxLDYgQEAKIAog
dHlwZWRlZiBIUkVTVUxUIChDQUxMQkFDSyAqTFBGTkRMTF9EaXJlY3QzRENyZWF0ZTlFeCkoVUlO
VCwgdm9pZCAqKik7CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXS1FDQSB7
CiAKIHN0YXRpYyBjb25zdCBEV09SRCBjdXN0b21WZXJ0ZXhGb3JtYXQgPSBEM0RGVkZfWFlaUkhX
IHwgRDNERlZGX1RFWDE7CkBAIC00MTgsNyArNDE2LDcgQEAgQ0FEM0RSZW5kZXJlcjo6UmVuZGVy
UmVzdWx0IENBRDNEUmVuZGVyZXI6OnJlbmRlckFuZFByZXNlbnQoY29uc3QgQ0dSZWN0JiBib3Vu
ZHMKICAgICBzZXREZXZpY2VJc0xvc3QodHJ1ZSk7CiAKICAgICAvLyBXZSBjYW4ndCByZW5kZXIg
dW50aWwgdGhlIGRldmljZSBpcyByZXNldCwgd2hpY2ggdGhlIGNhbGxlciB3aWxsIGhhdmUgdG8g
dGFrZSBjYXJlIG9mLgotICAgIG5leHRSZW5kZXJUaW1lID0gbnVtZXJpY19saW1pdHM8Q0ZUaW1l
SW50ZXJ2YWw+OjppbmZpbml0eSgpOworICAgIG5leHRSZW5kZXJUaW1lID0gc3RkOjpudW1lcmlj
X2xpbWl0czxDRlRpbWVJbnRlcnZhbD46OmluZmluaXR5KCk7CiAKICAgICByZXR1cm4gRGV2aWNl
QmVjYW1lTG9zdDsKIH0KQEAgLTQ2NCw3ICs0NjIsNyBAQCBDQUQzRFJlbmRlcmVyOjpSZW5kZXJS
ZXN1bHQgQ0FEM0RSZW5kZXJlcjo6cmVuZGVyVG9JbWFnZShjb25zdCBDR1JlY3QmIGJvdW5kcywg
SQogICAgIHNldERldmljZUlzTG9zdCh0cnVlKTsKIAogICAgIC8vIFdlIGNhbid0IHJlbmRlciB1
bnRpbCB0aGUgZGV2aWNlIGlzIHJlc2V0LCB3aGljaCB0aGUgY2FsbGVyIHdpbGwgaGF2ZSB0byB0
YWtlIGNhcmUgb2YuCi0gICAgbmV4dFJlbmRlclRpbWUgPSBudW1lcmljX2xpbWl0czxDRlRpbWVJ
bnRlcnZhbD46OmluZmluaXR5KCk7CisgICAgbmV4dFJlbmRlclRpbWUgPSBzdGQ6Om51bWVyaWNf
bGltaXRzPENGVGltZUludGVydmFsPjo6aW5maW5pdHkoKTsKIAogICAgIHJldHVybiBEZXZpY2VC
ZWNhbWVMb3N0OwogfQpAQCAtNDk4LDcgKzQ5Niw3IEBAIENBRDNEUmVuZGVyZXI6OlJlbmRlclJl
c3VsdCBDQUQzRFJlbmRlcmVyOjpyZW5kZXJJbnRlcm5hbChjb25zdCBDR1JlY3QmIGJvdW5kcywK
ICAgICBBU1NFUlQobV9kM2REZXZpY2UpOwogICAgIEFTU0VSVChtX3JlbmRlck9HTENvbnRleHQp
OwogCi0gICAgbmV4dFJlbmRlclRpbWUgPSBudW1lcmljX2xpbWl0czxDRlRpbWVJbnRlcnZhbD46
OmluZmluaXR5KCk7CisgICAgbmV4dFJlbmRlclRpbWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPENG
VGltZUludGVydmFsPjo6aW5maW5pdHkoKTsKIAogICAgIGlmIChtX2RldmljZUlzTG9zdCkKICAg
ICAgICAgcmV0dXJuIERldmljZUlzTG9zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvd2luL1dlYktpdFF1YXJ0ekNvcmVBZGRpdGlvbnMvQ0FWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYktpdFF1YXJ0ekNvcmVBZGRpdGlvbnMvQ0FWaWV3LmNwcAppbmRleCA5
NDA3NzkxMmE5OTE2NDExN2QwYzY4MWNjY2MwNjY4NmUwNGM0ZGUwLi41MzAwODRiNTU2YWU4M2Yx
YjU1ZmMyOGMwMmRlZTRmNjA4ZmQ4N2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5
L3dpbi9XZWJLaXRRdWFydHpDb3JlQWRkaXRpb25zL0NBVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViS2l0UXVhcnR6Q29yZUFkZGl0aW9ucy9DQVZpZXcuY3BwCkBAIC0z
OCw4ICszOCw2IEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi93aW4v
R0RJT2JqZWN0Lmg+CiAKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci0KIG5hbWVzcGFjZSBXS1FDQSB7
CiAKIGNsYXNzIENBVmlldzo6SGFuZGxlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEhh
bmRsZT4gewpAQCAtMjUwLDcgKzI0OCw3IEBAIHZvaWQgQ0FWaWV3Ojp1cGRhdGUoQ1dpbmRvdyB3
aW5kb3csIGNvbnN0IENHUmVjdCYgYm91bmRzKQogICAgICAgICAgICAgbV9zd2FwQ2hhaW4gPSBu
dWxscHRyOwogICAgICAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHdpbmRvdywgd2UgY2Fu
J3QgZHJhdywgc28gdGhlcmUncyBubyBwb2ludCBpbiBoYXZpbmcgdGhlIGRpc3BsYXkKICAgICAg
ICAgICAgIC8vIGxpbmsgZmlyZS4KLSAgICAgICAgICAgIHNjaGVkdWxlTmV4dERyYXcobnVtZXJp
Y19saW1pdHM8Q0ZUaW1lSW50ZXJ2YWw+OjppbmZpbml0eSgpKTsKKyAgICAgICAgICAgIHNjaGVk
dWxlTmV4dERyYXcoc3RkOjpudW1lcmljX2xpbWl0czxDRlRpbWVJbnRlcnZhbD46OmluZmluaXR5
KCkpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgLy8gRklYTUU6IFdlIG1pZ2h0IGJl
IGFibGUgdG8gZ2V0IGJldHRlciByZXNpemluZyBwZXJmb3JtYW5jZSBieSBhbGxvY2F0aW5nIHN3
YXAgY2hhaW5zIGluCiAgICAgICAgICAgICAvLyBtdWx0aXBsZXMgb2Ygc29tZSBzaXplIChzYXks
IDI1NngyNTYpIGFuZCBvbmx5IHJlYWxsb2NhdGluZyB3aGVuIG91ciB3aW5kb3cgc2l6ZSBwYXNz
ZXMgaW50bwpAQCAtMjYzLDEwICsyNjEsMTAgQEAgdm9pZCBDQVZpZXc6OnVwZGF0ZShDV2luZG93
IHdpbmRvdywgY29uc3QgQ0dSZWN0JiBib3VuZHMpCiAgICAgICAgICAgICAgICAgbV9kcmF3aW5n
UHJvaGliaXRlZCA9IHRydWU7CiAgICAgICAgICAgICAgICAgLy8gVGhlcmUncyBubyBwb2ludCBp
biBhbGxvd2luZyB0aGUgZGlzcGxheSBsaW5rIHRvIGZpcmUgdW50aWwgZHJhd2luZyBiZWNvbWVz
CiAgICAgICAgICAgICAgICAgLy8gYWxsb3dlZCBhZ2FpbiAoYXQgd2hpY2ggdGltZSB3ZSdsbCBy
ZXN0YXJ0IHRoZSBkaXNwbGF5IGxpbmspLgotICAgICAgICAgICAgICAgIHNjaGVkdWxlTmV4dERy
YXcobnVtZXJpY19saW1pdHM8Q0ZUaW1lSW50ZXJ2YWw+OjppbmZpbml0eSgpKTsKKyAgICAgICAg
ICAgICAgICBzY2hlZHVsZU5leHREcmF3KHN0ZDo6bnVtZXJpY19saW1pdHM8Q0ZUaW1lSW50ZXJ2
YWw+OjppbmZpbml0eSgpKTsKICAgICAgICAgICAgIH0gZWxzZSBpZiAobV9kZXN0aW5hdGlvbiA9
PSBEcmF3aW5nRGVzdGluYXRpb25JbWFnZSkgewogICAgICAgICAgICAgICAgIC8vIEl0IGlzIHRo
ZSBjYWxsZXIncyByZXNwb25zaWJpbGl0eSB0byBhc2sgdXMgdG8gZHJhdyBzb21ldGltZSBsYXRl
ci4KLSAgICAgICAgICAgICAgICBzY2hlZHVsZU5leHREcmF3KG51bWVyaWNfbGltaXRzPENGVGlt
ZUludGVydmFsPjo6aW5maW5pdHkoKSk7CisgICAgICAgICAgICAgICAgc2NoZWR1bGVOZXh0RHJh
dyhzdGQ6Om51bWVyaWNfbGltaXRzPENGVGltZUludGVydmFsPjo6aW5maW5pdHkoKSk7CiAgICAg
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIFdlIHNob3VsZCBkcmF3IGludG8g
dGhlIG5ldyB3aW5kb3cgYW5kL29yIHN3YXAgY2hhaW4gYXMgc29vbiBhcyBwb3NzaWJsZS4KICAg
ICAgICAgICAgICAgICBzY2hlZHVsZU5leHREcmF3KDApOwpAQCAtMzA2LDcgKzMwNCw3IEBAIHZv
aWQgQ0FWaWV3OjpkcmF3VG9XaW5kb3dJbnRlcm5hbCgpCiAgICAgaWYgKHdpbGxEcmF3KHVudXNl
ZFdpbGxVcGRhdGVTb29uKSkKICAgICAgICAgZGlkRHJhdyhDQUQzRFJlbmRlcmVyOjpzaGFyZWQo
KS5yZW5kZXJBbmRQcmVzZW50KG1fYm91bmRzLCBtX3N3YXBDaGFpbiwgbV9kM2RQb3N0UHJvY2Vz
c2luZ0NvbnRleHQuZ2V0KCksIG1fY29udGV4dC5nZXQoKSwgbmV4dERyYXdUaW1lKSwgdW51c2Vk
V2lsbFVwZGF0ZVNvb24pOwogICAgIGVsc2UKLSAgICAgICAgbmV4dERyYXdUaW1lID0gbnVtZXJp
Y19saW1pdHM8Q0ZUaW1lSW50ZXJ2YWw+OjppbmZpbml0eSgpOworICAgICAgICBuZXh0RHJhd1Rp
bWUgPSBzdGQ6Om51bWVyaWNfbGltaXRzPENGVGltZUludGVydmFsPjo6aW5maW5pdHkoKTsKICAg
ICBzY2hlZHVsZU5leHREcmF3KG5leHREcmF3VGltZSk7CiB9CiAKQEAgLTMxNSw3ICszMTMsNyBA
QCBSZWZQdHI8SW1hZ2U+IENBVmlldzo6ZHJhd1RvSW1hZ2UoQ0dQb2ludCYgaW1hZ2VPcmlnaW4s
IENGVGltZUludGVydmFsJiBuZXh0RHJhdwogICAgIEFTU0VSVChtX2Rlc3RpbmF0aW9uID09IERy
YXdpbmdEZXN0aW5hdGlvbkltYWdlKTsKIAogICAgIGltYWdlT3JpZ2luID0gQ0dQb2ludFplcm87
Ci0gICAgbmV4dERyYXdUaW1lID0gbnVtZXJpY19saW1pdHM8Q0ZUaW1lSW50ZXJ2YWw+OjppbmZp
bml0eSgpOworICAgIG5leHREcmF3VGltZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8Q0ZUaW1lSW50
ZXJ2YWw+OjppbmZpbml0eSgpOwogCiAgICAgYXV0byBsb2NrZXIgPSBob2xkTG9jayhtX2xvY2sp
OwogCkBAIC00NzMsNyArNDcxLDcgQEAgdm9pZCBDQVZpZXc6OnNjaGVkdWxlTmV4dERyYXcoQ0ZU
aW1lSW50ZXJ2YWwgbWVkaWFUaW1lKQogCiAgICAgLy8gV2UgdXNlICE8IGhlcmUgdG8gZW5zdXJl
IHRoYXQgd2UgYmFpbCBvdXQgd2hlbiBtZWRpYVRpbWUgaXMgTmFOLgogICAgIC8vIChDb21wYXJp
c29ucyB3aXRoIE5hTiBhbHdheXMgeWllbGQgZmFsc2UuKQotICAgIGlmICghKG1fbmV4dERyYXdU
aW1lIDwgbnVtZXJpY19saW1pdHM8Q0ZUaW1lSW50ZXJ2YWw+OjppbmZpbml0eSgpKSkgeworICAg
IGlmICghKG1fbmV4dERyYXdUaW1lIDwgc3RkOjpudW1lcmljX2xpbWl0czxDRlRpbWVJbnRlcnZh
bD46OmluZmluaXR5KCkpKSB7CiAgICAgICAgIGlmIChtX2Rpc3BsYXlMaW5rKQogICAgICAgICAg
ICAgbV9kaXNwbGF5TGluay0+c2V0UGF1c2VkKHRydWUpOwogICAgICAgICByZXR1cm47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJWaWV3LmNwcCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCmluZGV4IGU4YmRkZWJmMjYyNmY1Y2NhZDhkNGFjZWQ1
NzMzZTcyNzIyYWVlYjcuLmE0ZjAxNGJmYzc4ZGMyN2EzNjE1ODE2N2IxZTgxN2NiZmI1NWY3YmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlZpZXcuY3BwCkBAIC0yMjgsNyArMjI4LDYgQEAgU09G
VF9MSU5LX09QVElPTkFMKFV4dGhlbWUsIEVuZFBhbm5pbmdGZWVkYmFjaywgQk9PTCwgV0lOQVBJ
LCAoSFdORCwgQk9PTCkpOwogU09GVF9MSU5LX09QVElPTkFMKFV4dGhlbWUsIFVwZGF0ZVBhbm5p
bmdGZWVkYmFjaywgQk9PTCwgV0lOQVBJLCAoSFdORCwgTE9ORywgTE9ORywgQk9PTCkpOwogCiB1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLXVzaW5nIG5hbWVzcGFjZSBzdGQ7CiB1c2luZyBKU0M6
OkpTTG9jazsKIAogc3RhdGljIFN0cmluZyB3ZWJLaXRWZXJzaW9uU3RyaW5nKCk7CkBAIC0zNTQs
NyArMzUzLDcgQEAgSFJFU1VMVCBQcmVmZXJlbmNlc0NoYW5nZWRPclJlbW92ZWRPYnNlcnZlcjo6
bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKFdlYkNhY2hlTW8KICAgICAgICAgaHIgPSBXZWJQcmVm
ZXJlbmNlczo6c2hhcmVkU3RhbmRhcmRQcmVmZXJlbmNlcygpLT5jYWNoZU1vZGVsKCZzaGFyZWRQ
cmVmZXJlbmNlc0NhY2hlTW9kZWwpOwogICAgICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAg
ICAgIHJldHVybiBocjsKLSAgICAgICAgV2ViVmlldzo6c2V0Q2FjaGVNb2RlbChtYXgoc2hhcmVk
UHJlZmVyZW5jZXNDYWNoZU1vZGVsLCBXZWJWaWV3OjptYXhDYWNoZU1vZGVsSW5BbnlJbnN0YW5j
ZSgpKSk7CisgICAgICAgIFdlYlZpZXc6OnNldENhY2hlTW9kZWwoc3RkOjptYXgoc2hhcmVkUHJl
ZmVyZW5jZXNDYWNoZU1vZGVsLCBXZWJWaWV3OjptYXhDYWNoZU1vZGVsSW5BbnlJbnN0YW5jZSgp
KSk7CiAgICAgfQogCiAgICAgcmV0dXJuIGhyOwpAQCAtMzY5LDcgKzM2OCw3IEBAIEhSRVNVTFQg
UHJlZmVyZW5jZXNDaGFuZ2VkT3JSZW1vdmVkT2JzZXJ2ZXI6Om5vdGlmeVByZWZlcmVuY2VzUmVt
b3ZlZChXZWJDYWNoZU1vCiAgICAgICAgIGhyID0gV2ViUHJlZmVyZW5jZXM6OnNoYXJlZFN0YW5k
YXJkUHJlZmVyZW5jZXMoKS0+Y2FjaGVNb2RlbCgmc2hhcmVkUHJlZmVyZW5jZXNDYWNoZU1vZGVs
KTsKICAgICAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgICAgICByZXR1cm4gaHI7Ci0gICAg
ICAgIFdlYlZpZXc6OnNldENhY2hlTW9kZWwobWF4KHNoYXJlZFByZWZlcmVuY2VzQ2FjaGVNb2Rl
bCwgV2ViVmlldzo6bWF4Q2FjaGVNb2RlbEluQW55SW5zdGFuY2UoKSkpOworICAgICAgICBXZWJW
aWV3OjpzZXRDYWNoZU1vZGVsKHN0ZDo6bWF4KHNoYXJlZFByZWZlcmVuY2VzQ2FjaGVNb2RlbCwg
V2ViVmlldzo6bWF4Q2FjaGVNb2RlbEluQW55SW5zdGFuY2UoKSkpOwogICAgIH0KIAogICAgIHJl
dHVybiBocjsKQEAgLTY0Miw3ICs2NDEsNyBAQCB2b2lkIFdlYlZpZXc6OnNldENhY2hlTW9kZWwo
V2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogCiAgICAgICAgIC8vIFRoaXMgY29kZSBpcyBoZXJl
IHRvIGF2b2lkIGEgUExUIHJlZ3Jlc3Npb24uIFdlIGNhbiByZW1vdmUgaXQgaWYgd2UKICAgICAg
ICAgLy8gY2FuIHByb3ZlIHRoYXQgdGhlIG92ZXJhbGwgc3lzdGVtIGdhaW4gd291bGQganVzdGlm
eSB0aGUgcmVncmVzc2lvbi4KLSAgICAgICAgY2FjaGVNYXhEZWFkQ2FwYWNpdHkgPSBtYXgoMjR1
LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CisgICAgICAgIGNhY2hlTWF4RGVhZENhcGFjaXR5ID0g
c3RkOjptYXgoMjR1LCBjYWNoZU1heERlYWRDYXBhY2l0eSk7CiAKICAgICAgICAgZGVhZERlY29k
ZWREYXRhRGVsZXRpb25JbnRlcnZhbCA9IDYwX3M7CiAKQEAgLTY4NCw3ICs2ODMsNyBAQCB2b2lk
IFdlYlZpZXc6OnNldENhY2hlTW9kZWwoV2ViQ2FjaGVNb2RlbCBjYWNoZU1vZGVsKQogCiAjaWYg
VVNFKENGVVJMQ09OTkVDVElPTikKICAgICAvLyBEb24ndCBzaHJpbmsgYSBiaWcgZGlzayBjYWNo
ZSwgc2luY2UgdGhhdCB3b3VsZCBjYXVzZSBjaHVybi4KLSAgICBjYWNoZURpc2tDYXBhY2l0eSA9
IG1heChjYWNoZURpc2tDYXBhY2l0eSwgQ0ZVUkxDYWNoZURpc2tDYXBhY2l0eShjZnVybENhY2hl
LmdldCgpKSk7CisgICAgY2FjaGVEaXNrQ2FwYWNpdHkgPSBzdGQ6Om1heChjYWNoZURpc2tDYXBh
Y2l0eSwgQ0ZVUkxDYWNoZURpc2tDYXBhY2l0eShjZnVybENhY2hlLmdldCgpKSk7CiAKICAgICBD
RlVSTENhY2hlU2V0TWVtb3J5Q2FwYWNpdHkoY2Z1cmxDYWNoZS5nZXQoKSwgY2FjaGVNZW1vcnlD
YXBhY2l0eSk7CiAgICAgQ0ZVUkxDYWNoZVNldERpc2tDYXBhY2l0eShjZnVybENhY2hlLmdldCgp
LCBjYWNoZURpc2tDYXBhY2l0eSk7CkBAIC03MjAsNyArNzE5LDcgQEAgV2ViQ2FjaGVNb2RlbCBX
ZWJWaWV3OjptYXhDYWNoZU1vZGVsSW5BbnlJbnN0YW5jZSgpCiAgICAgICAgIGlmIChGQUlMRUQo
cHJlZi0+Y2FjaGVNb2RlbCgmcHJlZkNhY2hlTW9kZWwpKSkKICAgICAgICAgICAgIGNvbnRpbnVl
OwogCi0gICAgICAgIGNhY2hlTW9kZWwgPSBtYXgoY2FjaGVNb2RlbCwgcHJlZkNhY2hlTW9kZWwp
OworICAgICAgICBjYWNoZU1vZGVsID0gc3RkOjptYXgoY2FjaGVNb2RlbCwgcHJlZkNhY2hlTW9k
ZWwpOwogICAgIH0KIAogICAgIHJldHVybiBjYWNoZU1vZGVsOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>