<?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>148324</bug_id>
          
          <creation_ts>2015-08-21 13:14:46 -0700</creation_ts>
          <short_desc>Get rid of uses of the old callOnMainThread function that takes a function ptr + context</short_desc>
          <delta_ts>2015-08-21 13:51:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1119886</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-21 13:14:46 -0700</bug_when>
    <thetext>Get rid of uses of the old callOnMainThread function that takes a function ptr + context</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119887</commentid>
    <comment_count>1</comment_count>
      <attachid>259648</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-21 13:15:41 -0700</bug_when>
    <thetext>Created attachment 259648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119903</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2015-08-21 13:51:08 -0700</bug_when>
    <thetext>Committed r188772: &lt;http://trac.webkit.org/changeset/188772&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259648</attachid>
            <date>2015-08-21 13:15:41 -0700</date>
            <delta_ts>2015-08-21 13:47:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148324-20150821131535.patch</filename>
            <type>text/plain</type>
            <size>24980</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4NzU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYzMTY3OGExNTQ4Y2M1MmNkYzQzNWM1
YTQzMGQwNzc0ZjFhMzI2N2EuLjE1ZmM1MDNhYzhjZjMzYzVhOThmZGRlMDQzNDY3Y2M2ZDFiMDhl
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDgtMjEgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIHVzZXMgb2YgdGhlIG9sZCBj
YWxsT25NYWluVGhyZWFkIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBmdW5jdGlvbiBwdHIgKyBjb250
ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgz
MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0
Zi90ZXh0L2NmL1N0cmluZ0ltcGxDRi5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ1dyYXBwZXJD
RkFsbG9jYXRvcjo6ZGVhbGxvY2F0ZSk6CisgICAgICAgIChXVEY6OlN0cmluZ1dyYXBwZXJDRkFs
bG9jYXRvcjo6ZGVhbGxvY2F0ZU9uTWFpblRocmVhZCk6IERlbGV0ZWQuCisKIDIwMTUtMDgtMjAg
IENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQsIHJvbGxpbmcgb3V0IHIxODg3MTcgYW5kIHIxODg3MTkuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg0
NDM0ODA1OGM0ODNkMDZmODIwZjhmMjJlODM2ZWFmMjQwYmQ5MC4uZmEyZjE5OGYzN2U2MzIxNjQ2
MmNlNDBkMzVkNWUxNWUyM2UyNDYzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE1
LTA4LTIxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAg
R2V0IHJpZCBvZiB1c2VzIG9mIHRoZSBvbGQgY2FsbE9uTWFpblRocmVhZCBmdW5jdGlvbiB0aGF0
IHRha2VzIGEgZnVuY3Rpb24gcHRyICsgY29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4MzI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNv
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jQXVkaW9EZWNvZGVyOjpEZWNvZGluZ1Rh
c2s6OmRlY29kZSk6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0F1ZGlvRGVjb2Rlcjo6RGVjb2Rp
bmdUYXNrOjpub3RpZnlDb21wbGV0ZURpc3BhdGNoKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmg6CisgICAgICAgICogTW9kdWxlcy93ZWJh
dWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
T2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpvZmZsaW5lUmVuZGVyKToKKyAgICAgICAgKFdl
YkNvcmU6Ok9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZTo6bm90aWZ5Q29tcGxldGVEaXNwYXRj
aCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0
aW5hdGlvbk5vZGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nv
ck5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0UHJvY2Vzc29yTm9kZTo6cHJvY2Vz
cyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2
ZW50RGlzcGF0Y2gpOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvd2ViYXVkaW8vU2NyaXB0
UHJvY2Vzc29yTm9kZS5oOgorICAgICAgICAqIE1vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VU
cmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6c2NoZWR1bGVG
b3JOb3RpZmljYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpub3Rp
ZnlEYXRhYmFzZXNDaGFuZ2VkKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlVHJhY2tlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlQ0cuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cGF0dGVyblJlbGVhc2VDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpwYXR0ZXJuUmVsZWFzZU9uTWFpblRocmVhZENhbGxiYWNrKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9QYXR0ZXJuQ0cuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6cGF0dGVyblJlbGVhc2VDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpwYXR0ZXJu
UmVsZWFzZU9uTWFpblRocmVhZENhbGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6aW52YWxp
ZGF0ZUZvbnRDYWNoZSk6CisgICAgICAgIChXZWJDb3JlOjpmb250Q2FjaGVSZWdpc3RlcmVkRm9u
dHNDaGFuZ2VkTm90aWZpY2F0aW9uQ2FsbGJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdv
cmsvQmxvYlJlc291cmNlSGFuZGxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRvTm90aWZ5Rmlu
aXNoKToKKyAgICAgICAgKFdlYkNvcmU6OkJsb2JSZXNvdXJjZUhhbmRsZTo6bm90aWZ5RmluaXNo
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Zm9ybUZpbmFsaXplKToKKyAgICAgICAgKFdlYkNvcmU6OmZv
cm1GaW5pc2hGaW5hbGl6YXRpb25Pbk1haW5UaHJlYWQpOiBEZWxldGVkLgorCiAyMDE1LTA4LTIx
ICBKb25hdGhhbiBEYXZpcyAgPGpvbmRAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeGVkIHN0YXR1
cyBmZWF0dXJlcyBKU09OIGZvcm1hdHRpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggYzk1MjdhZWE3
MzkzZDlmZDQwYTQ4ZDZlMTVlZWZlZDUxODkzMDJkMS4uN2IyNjEyZmViNmUxYzlmZTAzZTFlM2Uz
YTU2YTQ2NWM5NjcyNDA5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1
LTA4LTIxICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAg
R2V0IHJpZCBvZiB1c2VzIG9mIHRoZSBvbGQgY2FsbE9uTWFpblRocmVhZCBmdW5jdGlvbiB0aGF0
IHRha2VzIGEgZnVuY3Rpb24gcHRyICsgY29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4MzI0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlckNsaWVu
dC5tbToKKyAgICAgICAgKERpZE1vZGlmeU9yaWdpbkRhdGE6OmRpc3BhdGNoVG9NYWluVGhyZWFk
KToKKyAgICAgICAgKERpZE1vZGlmeU9yaWdpbkRhdGE6OmRpc3BhdGNoRGlkTW9kaWZ5T3JpZ2lu
T25NYWluVGhyZWFkKTogRGVsZXRlZC4KKyAgICAgICAgKiBTdG9yYWdlL1dlYlN0b3JhZ2VUcmFj
a2VyQ2xpZW50Lmg6CisgICAgICAgICogU3RvcmFnZS9XZWJTdG9yYWdlVHJhY2tlckNsaWVudC5t
bToKKyAgICAgICAgKFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50OjpkaXNwYXRjaERpZE1vZGlmeU9y
aWdpbik6CisgICAgICAgIChXZWJTdG9yYWdlVHJhY2tlckNsaWVudDo6ZGlzcGF0Y2hEaWRNb2Rp
ZnlPcmlnaW5Pbk1haW5UaHJlYWQpOiBEZWxldGVkLgorCiAyMDE1LTA4LTE5ICBFcmljIENhcmxz
b24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEVfV0VC
VlRUX1JFR0lPTlMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA0NGQ4NjMxNTk0NDQwOGZiMjVlNWJhNmI2ZGI1ODkw
ZTQ2MGVkZWQ5Li4wMmQ3MTNjYzhhOTg0NDhhYmJhMDZkN2QwNGU0NTdmZGU4MTY4MjczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMDgtMjEgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIHVzZXMgb2YgdGhlIG9sZCBj
YWxsT25NYWluVGhyZWFkIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBmdW5jdGlvbiBwdHIgKyBjb250
ZXh0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDgz
MjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW06CisgICAgICAgIChwcmVwYXJlRGF0YUZvclBy
aW50aW5nT25TZWNvbmRhcnlUaHJlYWQpOgorICAgICAgICAoLVtXS1ByaW50aW5nVmlldyBrbm93
c1BhZ2VSYW5nZTpdKToKKwogMjAxNS0wOC0yMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJlZ3Jlc3Npb24ocjE4ODY5OCk6IGh0dHAvdGVzdHMvY2FjaGUvZGlz
ay1jYWNoZS9kaXNrLWNhY2hlLXJldmFsaWRhdGlvbi1uZXctZXhwaXJlLWhlYWRlci5odG1sIGlz
IHZlcnkgZmxha3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvY2YvU3RyaW5nSW1w
bENGLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvY2YvU3RyaW5nSW1wbENGLmNwcAppbmRleCBh
MDY2NTA4MGFkMjhiZTM5YjMzOGEzYTg1YWU0NGE3NjUxNjBiYjFjLi42ZmE1ODNiNzk0OTAzMTgw
M2VlMGUxYTVhNWM0MGJmYzI3ZjVkMWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0
L2NmL1N0cmluZ0ltcGxDRi5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9jZi9TdHJpbmdJ
bXBsQ0YuY3BwCkBAIC04OCwxNSArODgsNiBAQCBuYW1lc3BhY2UgU3RyaW5nV3JhcHBlckNGQWxs
b2NhdG9yIHsKICAgICAgICAgcmV0dXJuIGhlYWRlciArIDE7CiAgICAgfQogCi0gICAgc3RhdGlj
IHZvaWQgZGVhbGxvY2F0ZU9uTWFpblRocmVhZCh2b2lkKiBoZWFkZXJQb2ludGVyKQotICAgIHsK
LSAgICAgICAgU3RyaW5nSW1wbCoqIGhlYWRlciA9IHN0YXRpY19jYXN0PFN0cmluZ0ltcGwqKj4o
aGVhZGVyUG9pbnRlcik7Ci0gICAgICAgIFN0cmluZ0ltcGwqIHVuZGVybHlpbmdTdHJpbmcgPSAq
aGVhZGVyOwotICAgICAgICBBU1NFUlQodW5kZXJseWluZ1N0cmluZyk7Ci0gICAgICAgIHVuZGVy
bHlpbmdTdHJpbmctPmRlcmVmKCk7IC8vIEJhbGFuY2VkIGJ5IGNhbGwgdG8gcmVmIGluIGFsbG9j
YXRlIGFib3ZlLgotICAgICAgICBmYXN0RnJlZShoZWFkZXIpOwotICAgIH0KLQogICAgIHN0YXRp
YyB2b2lkIGRlYWxsb2NhdGUodm9pZCogcG9pbnRlciwgdm9pZCopCiAgICAgewogICAgICAgICBT
dHJpbmdJbXBsKiogaGVhZGVyID0gc3RhdGljX2Nhc3Q8U3RyaW5nSW1wbCoqPihwb2ludGVyKSAt
IDE7CkBAIC0xMDQsMTIgKzk1LDE4IEBAIG5hbWVzcGFjZSBTdHJpbmdXcmFwcGVyQ0ZBbGxvY2F0
b3IgewogICAgICAgICBpZiAoIXVuZGVybHlpbmdTdHJpbmcpCiAgICAgICAgICAgICBmYXN0RnJl
ZShoZWFkZXIpOwogICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIGlmICghaXNNYWluVGhyZWFk
KCkpCi0gICAgICAgICAgICAgICAgY2FsbE9uTWFpblRocmVhZChkZWFsbG9jYXRlT25NYWluVGhy
ZWFkLCBoZWFkZXIpOwotICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBpZiAoaXNNYWlu
VGhyZWFkKCkpIHsKICAgICAgICAgICAgICAgICB1bmRlcmx5aW5nU3RyaW5nLT5kZXJlZigpOyAv
LyBCYWxhbmNlZCBieSBjYWxsIHRvIHJlZiBpbiBhbGxvY2F0ZSBhYm92ZS4KICAgICAgICAgICAg
ICAgICBmYXN0RnJlZShoZWFkZXIpOworICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbaGVhZGVyXSB7CisgICAgICAg
ICAgICAgICAgU3RyaW5nSW1wbCogdW5kZXJseWluZ1N0cmluZyA9ICpoZWFkZXI7CisgICAgICAg
ICAgICAgICAgQVNTRVJUKHVuZGVybHlpbmdTdHJpbmcpOworICAgICAgICAgICAgICAgIHVuZGVy
bHlpbmdTdHJpbmctPmRlcmVmKCk7IC8vIEJhbGFuY2VkIGJ5IGNhbGwgdG8gcmVmIGluIGFsbG9j
YXRlIGFib3ZlLgorICAgICAgICAgICAgICAgIGZhc3RGcmVlKGhlYWRlcik7CisgICAgICAgICAg
ICB9KTsKICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYmF1ZGlvL0FzeW5jQXVkaW9EZWNvZGVyLmNwcAppbmRleCA3ZGM2NDE1Zjc0MmM4NmVk
MDZiM2E5YjI0ZmFjNDAwMGJkOTcwYmMxLi42ZTRhZGM1ZjNjYzNkZjdkZjQ1MDBjNTg5MmQ5MGQ5
NjdhZDE4Zjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0Fz
eW5jQXVkaW9EZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlv
L0FzeW5jQXVkaW9EZWNvZGVyLmNwcApAQCAtMTA1LDE3ICsxMDUsOSBAQCB2b2lkIEFzeW5jQXVk
aW9EZWNvZGVyOjpEZWNvZGluZ1Rhc2s6OmRlY29kZSgpCiAgICAgbV9hdWRpb0J1ZmZlciA9IEF1
ZGlvQnVmZmVyOjpjcmVhdGVGcm9tQXVkaW9GaWxlRGF0YShtX2F1ZGlvRGF0YS0+ZGF0YSgpLCBt
X2F1ZGlvRGF0YS0+Ynl0ZUxlbmd0aCgpLCBmYWxzZSwgc2FtcGxlUmF0ZSgpKTsKICAgICAKICAg
ICAvLyBEZWNvZGluZyBpcyBmaW5pc2hlZCwgYnV0IHdlIG5lZWQgdG8gZG8gdGhlIGNhbGxiYWNr
cyBvbiB0aGUgbWFpbiB0aHJlYWQuCi0gICAgY2FsbE9uTWFpblRocmVhZChub3RpZnlDb21wbGV0
ZURpc3BhdGNoLCB0aGlzKTsKLX0KLQotdm9pZCBBc3luY0F1ZGlvRGVjb2Rlcjo6RGVjb2RpbmdU
YXNrOjpub3RpZnlDb21wbGV0ZURpc3BhdGNoKHZvaWQqIHVzZXJEYXRhKQotewotICAgIEFzeW5j
QXVkaW9EZWNvZGVyOjpEZWNvZGluZ1Rhc2sqIHRhc2sgPSByZWludGVycHJldF9jYXN0PEFzeW5j
QXVkaW9EZWNvZGVyOjpEZWNvZGluZ1Rhc2sqPih1c2VyRGF0YSk7Ci0gICAgQVNTRVJUKHRhc2sp
OwotICAgIGlmICghdGFzaykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdGFzay0+bm90aWZ5Q29t
cGxldGUoKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSB7CisgICAgICAgIG5vdGlmeUNv
bXBsZXRlKCk7CisgICAgfSk7CiB9CiAKIHZvaWQgQXN5bmNBdWRpb0RlY29kZXI6OkRlY29kaW5n
VGFzazo6bm90aWZ5Q29tcGxldGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9Bc3luY0F1ZGlvRGVjb2Rlci5oCmluZGV4IDgwMTViNDY2NTI2MTQxMDczYWM4YTFm
OGRmOGY0NjA4MDUzOTA4YzcuLjg3MzBkOWUwNTRmZmU0YzM2YjBlNTEwMWYxMjY3YjI0NTVlNGFm
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vQXN5bmNBdWRp
b0RlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL0FzeW5jQXVk
aW9EZWNvZGVyLmgKQEAgLTY3LDcgKzY3LDYgQEAgcHJpdmF0ZToKICAgICAgICAgQXVkaW9CdWZm
ZXJDYWxsYmFjayogZXJyb3JDYWxsYmFjaygpIHsgcmV0dXJuIG1fZXJyb3JDYWxsYmFjay5nZXQo
KTsgfQogICAgICAgICBBdWRpb0J1ZmZlciogYXVkaW9CdWZmZXIoKSB7IHJldHVybiBtX2F1ZGlv
QnVmZmVyLmdldCgpOyB9CiAKLSAgICAgICAgc3RhdGljIHZvaWQgbm90aWZ5Q29tcGxldGVEaXNw
YXRjaCh2b2lkKiB1c2VyRGF0YSk7CiAgICAgICAgIHZvaWQgbm90aWZ5Q29tcGxldGUoKTsKIAog
ICAgICAgICBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gbV9hdWRpb0RhdGE7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9u
Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL09mZmxpbmVBdWRpb0Rl
c3RpbmF0aW9uTm9kZS5jcHAKaW5kZXggYTI0ZWMzNGRmM2U5ZDg1ZTk5YzExYjc4MzE4ZTkwNDNm
MWQ0YTc2MC4uOGY2NjdmZGEyNTExZmE2NTU1ODBiZWQ1ZjNmOGU3YWQ5NWQ5YTA1YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5h
dGlvbk5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2ZmbGlu
ZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcApAQCAtMTQwLDE4ICsxNDAsMTAgQEAgdm9pZCBPZmZs
aW5lQXVkaW9EZXN0aW5hdGlvbk5vZGU6Om9mZmxpbmVSZW5kZXIoKQogICAgIH0KICAgICAKICAg
ICAvLyBPdXIgd29yayBpcyBkb25lLiBMZXQgdGhlIEF1ZGlvQ29udGV4dCBrbm93LgotICAgIGNh
bGxPbk1haW5UaHJlYWQobm90aWZ5Q29tcGxldGVEaXNwYXRjaCwgdGhpcyk7Ci19Ci0KLXZvaWQg
T2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlOjpub3RpZnlDb21wbGV0ZURpc3BhdGNoKHZvaWQq
IHVzZXJEYXRhKQotewotICAgIE9mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZSogZGVzdGluYXRp
b25Ob2RlID0gc3RhdGljX2Nhc3Q8T2ZmbGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlKj4odXNlckRh
dGEpOwotICAgIEFTU0VSVChkZXN0aW5hdGlvbk5vZGUpOwotICAgIGlmICghZGVzdGluYXRpb25O
b2RlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBkZXN0aW5hdGlvbk5vZGUtPm5vdGlmeUNvbXBs
ZXRlKCk7Ci0gICAgZGVzdGluYXRpb25Ob2RlLT5kZXJlZigpOworICAgIGNhbGxPbk1haW5UaHJl
YWQoW3RoaXNdIHsKKyAgICAgICAgbm90aWZ5Q29tcGxldGUoKTsKKyAgICAgICAgZGVyZWYoKTsK
KyAgICB9KTsKIH0KIAogdm9pZCBPZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGU6Om5vdGlmeUNv
bXBsZXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2Zm
bGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1
ZGlvL09mZmxpbmVBdWRpb0Rlc3RpbmF0aW9uTm9kZS5oCmluZGV4IDk1M2FlOTBlODBkOTQ2ZWY3
NWYzZWYzZmYzN2ZlNDk3NGRjM2VkYmMuLjIwY2Y0ZmJhNWRmY2YxZWZhM2Y0MDIzMmQ0MjdjZmMz
YmI3OTk0MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vT2Zm
bGluZUF1ZGlvRGVzdGluYXRpb25Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJhdWRpby9PZmZsaW5lQXVkaW9EZXN0aW5hdGlvbk5vZGUuaApAQCAtNzEsNyArNzEsNiBAQCBw
cml2YXRlOgogICAgIHZvaWQgb2ZmbGluZVJlbmRlcigpOwogICAgIAogICAgIC8vIEZvciBjb21w
bGV0aW9uIGNhbGxiYWNrIG9uIG1haW4gdGhyZWFkLgotICAgIHN0YXRpYyB2b2lkIG5vdGlmeUNv
bXBsZXRlRGlzcGF0Y2godm9pZCogdXNlckRhdGEpOwogICAgIHZvaWQgbm90aWZ5Q29tcGxldGUo
KTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2Ny
aXB0UHJvY2Vzc29yTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1Nj
cmlwdFByb2Nlc3Nvck5vZGUuY3BwCmluZGV4IDI1ZmJlMzRkMGJlZTZhM2EzYTIyY2Y3OGZmYmY1
OWI4NWZlMzRlN2YuLmZlZmQ2YzY5ZDJiNzVkMzY1ZjA1YjZmNDNhODg5M2Y3NTlkOWFjYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29y
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJhdWRpby9TY3JpcHRQcm9j
ZXNzb3JOb2RlLmNwcApAQCAtMjEwLDI2ICsyMTAsMTkgQEAgdm9pZCBTY3JpcHRQcm9jZXNzb3JO
b2RlOjpwcm9jZXNzKHNpemVfdCBmcmFtZXNUb1Byb2Nlc3MpCiAgICAgICAgICAgICAvLyBGaXJl
IHRoZSBldmVudCBvbiB0aGUgbWFpbiB0aHJlYWQsIG5vdCB0aGlzIG9uZSAod2hpY2ggaXMgdGhl
IHJlYWx0aW1lIGF1ZGlvIHRocmVhZCkuCiAgICAgICAgICAgICBtX2RvdWJsZUJ1ZmZlckluZGV4
Rm9yRXZlbnQgPSBtX2RvdWJsZUJ1ZmZlckluZGV4OwogICAgICAgICAgICAgbV9pc1JlcXVlc3RP
dXRzdGFuZGluZyA9IHRydWU7Ci0gICAgICAgICAgICBjYWxsT25NYWluVGhyZWFkKGZpcmVQcm9j
ZXNzRXZlbnREaXNwYXRjaCwgdGhpcyk7CisKKyAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
W3RoaXNdIHsKKyAgICAgICAgICAgICAgICBmaXJlUHJvY2Vzc0V2ZW50KCk7CisKKyAgICAgICAg
ICAgICAgICAvLyBEZS1yZWZlcmVuY2UgdG8gbWF0Y2ggdGhlIHJlZigpIGNhbGwgaW4gcHJvY2Vz
cygpLgorICAgICAgICAgICAgICAgIGRlcmVmKCk7CisgICAgICAgICAgICB9KTsKICAgICAgICAg
fQogCiAgICAgICAgIHN3YXBCdWZmZXJzKCk7CiAgICAgfQogfQogCi12b2lkIFNjcmlwdFByb2Nl
c3Nvck5vZGU6OmZpcmVQcm9jZXNzRXZlbnREaXNwYXRjaCh2b2lkKiB1c2VyRGF0YSkKLXsKLSAg
ICBTY3JpcHRQcm9jZXNzb3JOb2RlKiBqc0F1ZGlvTm9kZSA9IHN0YXRpY19jYXN0PFNjcmlwdFBy
b2Nlc3Nvck5vZGUqPih1c2VyRGF0YSk7Ci0gICAgQVNTRVJUKGpzQXVkaW9Ob2RlKTsKLSAgICBp
ZiAoIWpzQXVkaW9Ob2RlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBqc0F1ZGlvTm9kZS0+Zmly
ZVByb2Nlc3NFdmVudCgpOwotCi0gICAgLy8gRGUtcmVmZXJlbmNlIHRvIG1hdGNoIHRoZSByZWYo
KSBjYWxsIGluIHByb2Nlc3MoKS4KLSAgICBqc0F1ZGlvTm9kZS0+ZGVyZWYoKTsKLX0KLQogdm9p
ZCBTY3JpcHRQcm9jZXNzb3JOb2RlOjpmaXJlUHJvY2Vzc0V2ZW50KCkKIHsKICAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkgJiYgbV9pc1JlcXVlc3RPdXRzdGFuZGluZyk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmF1ZGlvL1NjcmlwdFByb2Nlc3Nvck5vZGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCmluZGV4
IDZhNTMwZDliZjNkYzdlNDJmNGZhYmUzYzIyZjllZTJlZDRmOWM2YjMuLjk2MWYxMjEyYTI0Yjg4
ZjBlNTMwMWI1Yzc2YmNiMjc3YTBlNTYzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2ViYXVkaW8vU2NyaXB0UHJvY2Vzc29yTm9kZS5oCkBAIC03MSw3ICs3MSw2IEBA
IHByaXZhdGU6CiAKICAgICBTY3JpcHRQcm9jZXNzb3JOb2RlKEF1ZGlvQ29udGV4dCosIGZsb2F0
IHNhbXBsZVJhdGUsIHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZklucHV0Q2hh
bm5lbHMsIHVuc2lnbmVkIG51bWJlck9mT3V0cHV0Q2hhbm5lbHMpOwogCi0gICAgc3RhdGljIHZv
aWQgZmlyZVByb2Nlc3NFdmVudERpc3BhdGNoKHZvaWQqIHVzZXJEYXRhKTsKICAgICB2b2lkIGZp
cmVQcm9jZXNzRXZlbnQoKTsKIAogICAgIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9t
aWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudExpc3RlbmVyPiwgYm9vbCB1c2VD
YXB0dXJlKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
ZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmNwcAppbmRleCAwMDdhNGI0MWMwYzQ4ZmJlNGE2Yjg0
YWZmYWI2OThhYmJlYmY5ZGMyLi43OWJjY2M0YjAwMmVlNTNmODNiZmE5YzZmYzA1M2FlNjA4MWFj
YjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFi
YXNlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJkYXRhYmFzZS9E
YXRhYmFzZVRyYWNrZXIuY3BwCkBAIC0xMzU5LDEyICsxMzU5LDE0IEBAIHZvaWQgRGF0YWJhc2VU
cmFja2VyOjpzY2hlZHVsZUZvck5vdGlmaWNhdGlvbigpCiAgICAgQVNTRVJUKCFub3RpZmljYXRp
b25NdXRleCgpLnRyeUxvY2soKSk7CiAKICAgICBpZiAoIW5vdGlmaWNhdGlvblNjaGVkdWxlZCkg
ewotICAgICAgICBjYWxsT25NYWluVGhyZWFkKERhdGFiYXNlVHJhY2tlcjo6bm90aWZ5RGF0YWJh
c2VzQ2hhbmdlZCwgMCk7CisgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW10geworICAgICAgICAg
ICAgbm90aWZ5RGF0YWJhc2VzQ2hhbmdlZCgpOworICAgICAgICB9KTsKICAgICAgICAgbm90aWZp
Y2F0aW9uU2NoZWR1bGVkID0gdHJ1ZTsKICAgICB9CiB9CiAKLXZvaWQgRGF0YWJhc2VUcmFja2Vy
Ojpub3RpZnlEYXRhYmFzZXNDaGFuZ2VkKHZvaWQqKQordm9pZCBEYXRhYmFzZVRyYWNrZXI6Om5v
dGlmeURhdGFiYXNlc0NoYW5nZWQoKQogewogICAgIC8vIE5vdGUgdGhhdCBpZiBEYXRhYmFzZVRy
YWNrZXIgZXZlciBiZWNvbWVzIG5vbi1zaW5nbGV0b24sIHdlJ2xsIGhhdmUgdG8gYW1lbmQgdGhp
cyBub3RpZmljYXRpb24KICAgICAvLyBtZWNoYW5pc20gdG8gaW5jbHVkZSB3aGljaCB0cmFja2Vy
IHRoZSBub3RpZmljYXRpb24gZ29lcyBvdXQgb24gYXMgd2VsbC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYmRhdGFiYXNlL0RhdGFiYXNlVHJhY2tlci5oCmluZGV4IDg1NDJm
ZDBhNTVlMTdkNmUyOTY0OWIyMjkxNTVjNDlkMzQ3M2UzMjkuLjVkNjA1NjBkNmQyZGMwZjU1ZDU4
MjQ2MGViMWU3YjhkOTQ4NjhiNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2ViZGF0YWJhc2UvRGF0YWJhc2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJkYXRhYmFzZS9EYXRhYmFzZVRyYWNrZXIuaApAQCAtMTg0LDcgKzE4NCw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBkb25lRGVsZXRpbmdPcmlnaW4oU2VjdXJpdHlPcmlnaW4qKTsKIAogICAg
IHN0YXRpYyB2b2lkIHNjaGVkdWxlRm9yTm90aWZpY2F0aW9uKCk7Ci0gICAgc3RhdGljIHZvaWQg
bm90aWZ5RGF0YWJhc2VzQ2hhbmdlZCh2b2lkKik7CisgICAgc3RhdGljIHZvaWQgbm90aWZ5RGF0
YWJhc2VzQ2hhbmdlZCgpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VDRy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZUNHLmNwcAppbmRleCAxZDRkOTcw
YmI2NGFmM2FjNjc0MjgxYzdlYjliMDI4ODY4ZTc5MDUyLi5iYzJkN2QzNTkzYzY0NTEwMzFhMjE1
NzBlNWFhMzIwZTBhYTU2NjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9JbWFnZUNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jZy9JbWFnZUNHLmNwcApAQCAtNzgsMTQgKzc4LDEyIEBAIHN0YXRpYyB2b2lkIGRyYXdQ
YXR0ZXJuQ2FsbGJhY2sodm9pZCogaW5mbywgQ0dDb250ZXh0UmVmIGNvbnRleHQpCiAgICAgQ0dD
b250ZXh0RHJhd0ltYWdlKGNvbnRleHQsIEdyYXBoaWNzQ29udGV4dChjb250ZXh0KS5yb3VuZFRv
RGV2aWNlUGl4ZWxzKEZsb2F0UmVjdCgwLCAwLCBDR0ltYWdlR2V0V2lkdGgoaW1hZ2UpLCBoZWln
aHQpKSwgaW1hZ2UpOwogfQogCi1zdGF0aWMgdm9pZCBwYXR0ZXJuUmVsZWFzZU9uTWFpblRocmVh
ZENhbGxiYWNrKHZvaWQqIGluZm8pCi17Ci0gICAgQ0dJbWFnZVJlbGVhc2UoKENHSW1hZ2VSZWYp
aW5mbyk7Ci19Ci0KIHN0YXRpYyB2b2lkIHBhdHRlcm5SZWxlYXNlQ2FsbGJhY2sodm9pZCogaW5m
bykKIHsKLSAgICBjYWxsT25NYWluVGhyZWFkKHBhdHRlcm5SZWxlYXNlT25NYWluVGhyZWFkQ2Fs
bGJhY2ssIGluZm8pOworICAgIGF1dG8gaW1hZ2UgPSBzdGF0aWNfY2FzdDxDR0ltYWdlUmVmPihp
bmZvKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpbWFnZV0geworICAgICAgICBDR0ltYWdlUmVs
ZWFzZShpbWFnZSk7CisgICAgfSk7CiB9CiAKIHZvaWQgSW1hZ2U6OmRyYXdQYXR0ZXJuKEdyYXBo
aWNzQ29udGV4dCogY3R4dCwgY29uc3QgRmxvYXRSZWN0JiB0aWxlUmVjdCwgY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0dGVybkNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL1BhdHRlcm5DRy5jcHAKaW5kZXggNjI2YzM3YTQ3YjE5M2JhYWJlY2M1
OGY4YWFmMTMyNzEwZTkwYzZlZi4uYjMwMzNmZTA1MTBmNzlkMjUxMmE0MDZiYjFiZGRmMjk1YWZh
NWEzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0
dGVybkNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QYXR0
ZXJuQ0cuY3BwCkBAIC01NCwxNCArNTQsMTMgQEAgc3RhdGljIHZvaWQgcGF0dGVybkNhbGxiYWNr
KHZvaWQqIGluZm8sIENHQ29udGV4dFJlZiBjb250ZXh0KQogICAgIENHQ29udGV4dERyYXdJbWFn
ZShjb250ZXh0LCByZWN0LCBwbGF0Zm9ybUltYWdlKTsKIH0KIAotc3RhdGljIHZvaWQgcGF0dGVy
blJlbGVhc2VPbk1haW5UaHJlYWRDYWxsYmFjayh2b2lkKiBpbmZvKQotewotICAgIENHSW1hZ2VS
ZWxlYXNlKHN0YXRpY19jYXN0PENHSW1hZ2VSZWY+KGluZm8pKTsKLX0KLQogc3RhdGljIHZvaWQg
cGF0dGVyblJlbGVhc2VDYWxsYmFjayh2b2lkKiBpbmZvKQogewotICAgIGNhbGxPbk1haW5UaHJl
YWQocGF0dGVyblJlbGVhc2VPbk1haW5UaHJlYWRDYWxsYmFjaywgaW5mbyk7CisgICAgYXV0byBp
bWFnZSA9IHN0YXRpY19jYXN0PENHSW1hZ2VSZWY+KGluZm8pOworCisgICAgY2FsbE9uTWFpblRo
cmVhZChbaW1hZ2VdIHsKKyAgICAgICAgQ0dJbWFnZVJlbGVhc2UoaW1hZ2UpOworICAgIH0pOwog
fQogCiBDR1BhdHRlcm5SZWYgUGF0dGVybjo6Y3JlYXRlUGxhdGZvcm1QYXR0ZXJuKGNvbnN0IEFm
ZmluZVRyYW5zZm9ybSYgdXNlclNwYWNlVHJhbnNmb3JtYXRpb24pIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRDYWNoZU1hYy5tbQppbmRl
eCBkYmI2NmYyZDBhYjQ1NjY4OTVkNjQ2MjM1OTM5ODE0MzhhNWYwNTdkLi45YTMwOTFlMjEyY2M3
NjI5OTg0NGZhMjM0ZThmNTdiNmZlN2RhZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udENhY2hlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21hYy9Gb250Q2FjaGVNYWMubW0KQEAgLTQxNiwxMyArNDE2LDE1
IEBAIHN0YXRpYyBOU0ZvbnQgKmZvbnRXaXRoRmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYgZmFt
aWx5LCBOU0ZvbnRUcmFpdE1hc2sgZGVzaXJlCiAgICAgcmV0dXJuIGZvbnQ7CiB9CiAKLS8vIFRo
ZSAidm9pZCoiIHBhcmFtZXRlciBtYWtlcyB0aGUgZnVuY3Rpb24gbWF0Y2ggdGhlIHByb3RvdHlw
ZSBmb3IgY2FsbGJhY2tzIGZyb20gY2FsbE9uTWFpblRocmVhZC4KLXN0YXRpYyB2b2lkIGludmFs
aWRhdGVGb250Q2FjaGUodm9pZCopCitzdGF0aWMgdm9pZCBpbnZhbGlkYXRlRm9udENhY2hlKCkK
IHsKICAgICBpZiAoIWlzTWFpblRocmVhZCgpKSB7Ci0gICAgICAgIGNhbGxPbk1haW5UaHJlYWQo
JmludmFsaWRhdGVGb250Q2FjaGUsIG51bGxwdHIpOworICAgICAgICBjYWxsT25NYWluVGhyZWFk
KFtdIHsKKyAgICAgICAgICAgIGludmFsaWRhdGVGb250Q2FjaGUoKTsKKyAgICAgICAgfSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CisKICAgICBGb250Q2FjaGU6OnNpbmdsZXRvbigpLmludmFs
aWRhdGUoKTsKIAogI2lmICFFTkFCTEUoUExBVEZPUk1fRk9OVF9MT09LVVApCkBAIC00MzQsNyAr
NDM2LDggQEAgc3RhdGljIHZvaWQgZm9udENhY2hlUmVnaXN0ZXJlZEZvbnRzQ2hhbmdlZE5vdGlm
aWNhdGlvbkNhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2UKIHsKICAgICBBU1NFUlRfVU5VU0VEKG9i
c2VydmVyLCBvYnNlcnZlciA9PSAmRm9udENhY2hlOjpzaW5nbGV0b24oKSk7CiAgICAgQVNTRVJU
X1VOVVNFRChuYW1lLCBDRkVxdWFsKG5hbWUsIGtDVEZvbnRNYW5hZ2VyUmVnaXN0ZXJlZEZvbnRz
Q2hhbmdlZE5vdGlmaWNhdGlvbikpOwotICAgIGludmFsaWRhdGVGb250Q2FjaGUoMCk7CisKKyAg
ICBpbnZhbGlkYXRlRm9udENhY2hlKCk7CiB9CiAKIHZvaWQgRm9udENhY2hlOjpwbGF0Zm9ybUlu
aXQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVz
b3VyY2VIYW5kbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9CbG9iUmVz
b3VyY2VIYW5kbGUuY3BwCmluZGV4IGViMDcwMjc2MjlhNDYwNWM1MGE3MzhlNzNkNWMwMWUyYmMw
MmY3ODYuLmYyMWZhNWNkMmU1MWFmYmU2ZGQ0Y2IyNjVhOTBiMTdmMDVhNGJmNDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRs
ZS5jcHAKQEAgLTY0NCwyOSArNjQ0LDMxIEBAIHZvaWQgQmxvYlJlc291cmNlSGFuZGxlOjpub3Rp
ZnlGYWlsKGludCBlcnJvckNvZGUpCiAgICAgICAgIGNsaWVudCgpLT5kaWRGYWlsKHRoaXMsIFJl
c291cmNlRXJyb3Iod2ViS2l0QmxvYlJlc291cmNlRG9tYWluLCBlcnJvckNvZGUsIGZpcnN0UmVx
dWVzdCgpLnVybCgpLCBTdHJpbmcoKSkpOwogfQogCi1zdGF0aWMgdm9pZCBkb05vdGlmeUZpbmlz
aCh2b2lkKiBjb250ZXh0KQorc3RhdGljIHZvaWQgZG9Ob3RpZnlGaW5pc2goQmxvYlJlc291cmNl
SGFuZGxlJiBoYW5kbGUpCiB7Ci0gICAgQmxvYlJlc291cmNlSGFuZGxlKiBoYW5kbGUgPSBzdGF0
aWNfY2FzdDxCbG9iUmVzb3VyY2VIYW5kbGUqPihjb250ZXh0KTsKLSAgICBpZiAoIWhhbmRsZS0+
YWJvcnRlZCgpICYmIGhhbmRsZS0+Y2xpZW50KCkpCi0gICAgICAgIGhhbmRsZS0+Y2xpZW50KCkt
PmRpZEZpbmlzaExvYWRpbmcoaGFuZGxlLCAwKTsKKyAgICBpZiAoaGFuZGxlLmFib3J0ZWQoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFoYW5kbGUuY2xpZW50KCkpCisgICAgICAgIHJl
dHVybjsKIAotICAgIC8vIEJhbGFuY2UgdGhlIHJlZigpIGluIEJsb2JSZXNvdXJjZUhhbmRsZTo6
bm90ZnlGaW5pc2goKS4KLSAgICBoYW5kbGUtPmRlcmVmKCk7CisgICAgaGFuZGxlLmNsaWVudCgp
LT5kaWRGaW5pc2hMb2FkaW5nKCZoYW5kbGUsIDApOwogfQogCiB2b2lkIEJsb2JSZXNvdXJjZUhh
bmRsZTo6bm90aWZ5RmluaXNoKCkKIHsKLSAgICAvLyBCYWxhbmNlZCBpbiBkb05vdGlmeUZpbmlz
aCgpLgotICAgIHJlZigpOwotCi0gICAgaWYgKG1fYXN5bmMpIHsKLSAgICAgICAgLy8gU2NoZWR1
bGUgdG8gbm90aWZ5IHRoZSBjbGllbnQgZnJvbSBhIHN0YW5kYWxvbmUgZnVuY3Rpb24gYmVjYXVz
ZSB0aGUgY2xpZW50IG1pZ2h0IGRpc3Bvc2UgdGhlIGhhbmRsZSBpbW1lZGlhdGVseSBmcm9tIHRo
ZSBjYWxsYmFjayBmdW5jdGlvbgotICAgICAgICAvLyB3aGlsZSB3ZSBzdGlsbCBoYXZlIEJsb2JS
ZXNvdXJjZUhhbmRsZSBjYWxscyBpbiB0aGUgc3RhY2suCi0gICAgICAgIGNhbGxPbk1haW5UaHJl
YWQoZG9Ob3RpZnlGaW5pc2gsIHRoaXMpOworICAgIGlmICghbV9hc3luYykgeworICAgICAgICBk
b05vdGlmeUZpbmlzaCgqdGhpcyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBkb05v
dGlmeUZpbmlzaCh0aGlzKTsKKyAgICAvLyBTY2hlZHVsZSB0byBub3RpZnkgdGhlIGNsaWVudCBm
cm9tIGEgc3RhbmRhbG9uZSBmdW5jdGlvbiBiZWNhdXNlIHRoZSBjbGllbnQgbWlnaHQgZGlzcG9z
ZSB0aGUgaGFuZGxlIGltbWVkaWF0ZWx5IGZyb20gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uCisgICAg
Ly8gd2hpbGUgd2Ugc3RpbGwgaGF2ZSBCbG9iUmVzb3VyY2VIYW5kbGUgY2FsbHMgaW4gdGhlIHN0
YWNrLgorICAgIFJlZlB0cjxCbG9iUmVzb3VyY2VIYW5kbGU+IGhhbmRsZSh0aGlzKTsKKyAgICBj
YWxsT25NYWluVGhyZWFkKFtoYW5kbGVdIHsKKyAgICAgICAgZG9Ob3RpZnlGaW5pc2goKmhhbmRs
ZSk7CisgICAgfSk7CisKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvRm9ybURhdGFTdHJlYW1DRk5l
dC5jcHAKaW5kZXggNWFjNTIyNjBlNWQ0ZDc1YWMyMDZhMjQ2YzBiNGZiOTFjNzI5NjZhYy4uYzg5
OWJhNTJmZThhZmY4NjhjYzhkMTRkNTY0Y2JmY2NiMTNmYTQxNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9Gb3JtRGF0YVN0cmVhbUNGTmV0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL0Zvcm1EYXRhU3RyZWFtQ0ZOZXQu
Y3BwCkBAIC0yMDcsMjAgKzIwNywxNSBAQCBzdGF0aWMgdm9pZCogZm9ybUNyZWF0ZShDRlJlYWRT
dHJlYW1SZWYgc3RyZWFtLCB2b2lkKiBjb250ZXh0KQogICAgIHJldHVybiBuZXdJbmZvOwogfQog
Ci1zdGF0aWMgdm9pZCBmb3JtRmluaXNoRmluYWxpemF0aW9uT25NYWluVGhyZWFkKHZvaWQqIGNv
bnRleHQpCi17Ci0gICAgYXV0byogZm9ybSA9IHN0YXRpY19jYXN0PEZvcm1TdHJlYW1GaWVsZHMq
Pihjb250ZXh0KTsKLQotICAgIGNsb3NlQ3VycmVudFN0cmVhbShmb3JtKTsKLSAgICBkZWxldGUg
Zm9ybTsKLX0KLQogc3RhdGljIHZvaWQgZm9ybUZpbmFsaXplKENGUmVhZFN0cmVhbVJlZiBzdHJl
YW0sIHZvaWQqIGNvbnRleHQpCiB7CiAgICAgRm9ybVN0cmVhbUZpZWxkcyogZm9ybSA9IHN0YXRp
Y19jYXN0PEZvcm1TdHJlYW1GaWVsZHMqPihjb250ZXh0KTsKICAgICBBU1NFUlRfVU5VU0VEKHN0
cmVhbSwgZm9ybS0+Zm9ybVN0cmVhbSA9PSBzdHJlYW0pOwogCi0gICAgY2FsbE9uTWFpblRocmVh
ZChmb3JtRmluaXNoRmluYWxpemF0aW9uT25NYWluVGhyZWFkLCBmb3JtKTsKKyAgICBjYWxsT25N
YWluVGhyZWFkKFtmb3JtXSB7CisgICAgICAgIGNsb3NlQ3VycmVudFN0cmVhbShmb3JtKTsKKyAg
ICAgICAgZGVsZXRlIGZvcm07CisgICAgfSk7CiB9CiAKIHN0YXRpYyBCb29sZWFuIGZvcm1PcGVu
KENGUmVhZFN0cmVhbVJlZiwgQ0ZTdHJlYW1FcnJvciogZXJyb3IsIEJvb2xlYW4qIG9wZW5Db21w
bGV0ZSwgdm9pZCogY29udGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3Jh
Z2UvV2ViRGF0YWJhc2VNYW5hZ2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFn
ZS9XZWJEYXRhYmFzZU1hbmFnZXJDbGllbnQubW0KaW5kZXggMDU3MjcwYjY3NmRlMDA0NjkxZjM3
YTg3YjVhMTQyZDM0M2Y3OGU1YS4uZGViNGU0MTJmMmM4Nzc1ZjIzZDFmNmUyYzczZWJmZTg2NDJj
MjFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1h
bmFnZXJDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFz
ZU1hbmFnZXJDbGllbnQubW0KQEAgLTEwNCw3ICsxMDQsMTAgQEAgcHVibGljOgogICAgIHN0YXRp
YyB2b2lkIGRpc3BhdGNoVG9NYWluVGhyZWFkKFdlYkRhdGFiYXNlTWFuYWdlckNsaWVudCogY2xp
ZW50LCBTZWN1cml0eU9yaWdpbiogb3JpZ2luKQogICAgIHsKICAgICAgICAgRGlkTW9kaWZ5T3Jp
Z2luRGF0YSogY29udGV4dCA9IG5ldyBEaWRNb2RpZnlPcmlnaW5EYXRhKGNsaWVudCwgb3JpZ2lu
LT5pc29sYXRlZENvcHkoKSk7Ci0gICAgICAgIGNhbGxPbk1haW5UaHJlYWQoJkRpZE1vZGlmeU9y
aWdpbkRhdGE6OmRpc3BhdGNoRGlkTW9kaWZ5T3JpZ2luT25NYWluVGhyZWFkLCBjb250ZXh0KTsK
KyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbY29udGV4dF0geworICAgICAgICAgICAgY29udGV4
dC0+Y2xpZW50LT5kaXNwYXRjaERpZE1vZGlmeU9yaWdpbihjb250ZXh0LT5vcmlnaW4uZ2V0KCkp
OworICAgICAgICAgICAgZGVsZXRlIGNvbnRleHQ7CisgICAgICAgIH0pOwogICAgIH0KIAogcHJp
dmF0ZToKQEAgLTExNCwxNCArMTE3LDYgQEAgcHJpdmF0ZToKICAgICB7CiAgICAgfQogCi0gICAg
c3RhdGljIHZvaWQgZGlzcGF0Y2hEaWRNb2RpZnlPcmlnaW5Pbk1haW5UaHJlYWQodm9pZCogY29u
dGV4dCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0gICAgICAgIERp
ZE1vZGlmeU9yaWdpbkRhdGEqIGluZm8gPSBzdGF0aWNfY2FzdDxEaWRNb2RpZnlPcmlnaW5EYXRh
Kj4oY29udGV4dCk7Ci0gICAgICAgIGluZm8tPmNsaWVudC0+ZGlzcGF0Y2hEaWRNb2RpZnlPcmln
aW4oaW5mby0+b3JpZ2luLmdldCgpKTsKLSAgICAgICAgZGVsZXRlIGluZm87Ci0gICAgfQotCiAg
ICAgV2ViRGF0YWJhc2VNYW5hZ2VyQ2xpZW50KiBjbGllbnQ7CiAgICAgUmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiBvcmlnaW47CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvU3RvcmFn
ZS9XZWJTdG9yYWdlVHJhY2tlckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9X
ZWJTdG9yYWdlVHJhY2tlckNsaWVudC5oCmluZGV4IDA0ODc5ZWI3N2NmYWQ5NTkwODBlZTRhODIz
NjdhYWMzNWY0OGFlMzEuLjc2MjJiOTdhOTA2MmFkZGExMjExMmM5ODQ0ZDhjNTkxMjFhNWQ1ZWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZVRyYWNrZXJD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VUcmFja2Vy
Q2xpZW50LmgKQEAgLTMxLDcgKzMxLDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiBjbGFz
cyBXZWJTdG9yYWdlVHJhY2tlckNsaWVudCA6IHB1YmxpYyBXZWJDb3JlOjpTdG9yYWdlVHJhY2tl
ckNsaWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50KiBz
aGFyZWRXZWJTdG9yYWdlVHJhY2tlckNsaWVudCgpOwotICAgIHN0YXRpYyB2b2lkIGRpc3BhdGNo
RGlkTW9kaWZ5T3JpZ2luT25NYWluVGhyZWFkKHZvaWQqIGNvbnRleHQpOwogICAgIAogICAgIHZp
cnR1YWwgfldlYlN0b3JhZ2VUcmFja2VyQ2xpZW50KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoRGlkTW9kaWZ5T3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllcikgb3ZlcnJp
ZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VUcmFj
a2VyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJTdG9yYWdlVHJhY2tl
ckNsaWVudC5tbQppbmRleCA4YTFiOGUyNjZlM2JhYjZjODBmNmY0YzA2ZTVkMjg4Yzg5ODRlZjRk
Li43ZTVkOTkxODE5MzcwMzNmNThkNDkyMzY4ZTRkOWRlNmExZTYyMTc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYlN0b3JhZ2VUcmFja2VyQ2xpZW50Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViU3RvcmFnZVRyYWNrZXJDbGllbnQubW0KQEAg
LTQ4LDE0ICs0OCw2IEBAIFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50Ojp+V2ViU3RvcmFnZVRyYWNr
ZXJDbGllbnQoKQogewogfQogCi12b2lkIFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50OjpkaXNwYXRj
aERpZE1vZGlmeU9yaWdpbk9uTWFpblRocmVhZCh2b2lkKiBjb250ZXh0KQotewotICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgLy8gYWRvcHRSZWYgaXMgYmFsYW5jZWQgYnkgbGVha1Jl
ZiBpbiBkaXNwYXRjaERpZE1vZGlmeU9yaWdpbi4KLSAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+
IG9yaWdpbiA9IGFkb3B0UmVmKHN0YXRpY19jYXN0PFNlY3VyaXR5T3JpZ2luKj4oY29udGV4dCkp
OwotICAgIFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50OjpzaGFyZWRXZWJTdG9yYWdlVHJhY2tlckNs
aWVudCgpLT5kaXNwYXRjaERpZE1vZGlmeU9yaWdpbihvcmlnaW4uZ2V0KCkpOwotfQotCiB2b2lk
IFdlYlN0b3JhZ2VUcmFja2VyQ2xpZW50OjpkaXNwYXRjaERpZE1vZGlmeU9yaWdpbihQYXNzUmVm
UHRyPFNlY3VyaXR5T3JpZ2luPiBvcmlnaW4pCiB7CiAgICAgUmV0YWluUHRyPFdlYlNlY3VyaXR5
T3JpZ2luPiB3ZWJTZWN1cml0eU9yaWdpbiA9IGFkb3B0TlMoW1tXZWJTZWN1cml0eU9yaWdpbiBh
bGxvY10gX2luaXRXaXRoV2ViQ29yZVNlY3VyaXR5T3JpZ2luOm9yaWdpbi5nZXQoKV0pOwpAQCAt
NjgsMTMgKzYwLDE0IEBAIHZvaWQgV2ViU3RvcmFnZVRyYWNrZXJDbGllbnQ6OmRpc3BhdGNoRGlk
TW9kaWZ5T3JpZ2luKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpCiB7CiAgICAgUmVmUHRyPFNl
Y3VyaXR5T3JpZ2luPiBvcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6Y3JlYXRlRnJvbURhdGFiYXNl
SWRlbnRpZmllcihvcmlnaW5JZGVudGlmaWVyKTsKIAotICAgIGlmICghaXNNYWluVGhyZWFkKCkp
IHsKLSAgICAgICAgLy8gbGVha1JlZiBpcyBiYWxhbmNlZCBieSBhZG9wdFJlZiBpbiBkaXNwYXRj
aERpZE1vZGlmeU9yaWdpbk9uTWFpblRocmVhZC4KLSAgICAgICAgY2FsbE9uTWFpblRocmVhZChk
aXNwYXRjaERpZE1vZGlmeU9yaWdpbk9uTWFpblRocmVhZCwgb3JpZ2luLmxlYWtSZWYoKSk7Cisg
ICAgaWYgKGlzTWFpblRocmVhZCgpKSB7CisgICAgICAgIGRpc3BhdGNoRGlkTW9kaWZ5T3JpZ2lu
KG9yaWdpbik7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBkaXNwYXRjaERpZE1vZGlm
eU9yaWdpbihvcmlnaW4pOworICAgIGNhbGxPbk1haW5UaHJlYWQoW29yaWdpbl0geworICAgICAg
ICBXZWJTdG9yYWdlVHJhY2tlckNsaWVudDo6c2hhcmVkV2ViU3RvcmFnZVRyYWNrZXJDbGllbnQo
KS0+ZGlzcGF0Y2hEaWRNb2RpZnlPcmlnaW4ob3JpZ2luLmdldCgpKTsKKyAgICB9KTsKIH0KIAog
dm9pZCBXZWJTdG9yYWdlVHJhY2tlckNsaWVudDo6ZGlkRmluaXNoTG9hZGluZ09yaWdpbnMoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XS1ByaW50aW5nVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV0tQcmludGluZ1ZpZXcubW0KaW5kZXgg
ZTk2ZTRlNjJlNWNjMTEwZWMyZDA3YjE0M2QxODE4ZTI0MzBhMDMyOS4uMDA3MTIxMWY5NmQ4ODI3
ZDhlNDUyMThjYTgzOWU2OGQxM2JkMjM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9XS1ByaW50aW5nVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1dLUHJpbnRpbmdWaWV3Lm1tCkBAIC0zNTIsMTEgKzM1MiwxMCBAQCBzdGF0aWMgdm9p
ZCBwYWdlRGlkQ29tcHV0ZVBhZ2VSZWN0cyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4m
IHBhZ2VSZWN0cywgZAogICAgIHJldHVybiBZRVM7CiB9CiAKLXN0YXRpYyB2b2lkIHByZXBhcmVE
YXRhRm9yUHJpbnRpbmdPblNlY29uZGFyeVRocmVhZCh2b2lkKiB1bnR5cGVkQ29udGV4dCkKK3N0
YXRpYyB2b2lkIHByZXBhcmVEYXRhRm9yUHJpbnRpbmdPblNlY29uZGFyeVRocmVhZChXS1ByaW50
aW5nVmlldyAqdmlldykKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAg
V0tQcmludGluZ1ZpZXcgKnZpZXcgPSBzdGF0aWNfY2FzdDxXS1ByaW50aW5nVmlldyAqPih1bnR5
cGVkQ29udGV4dCk7CiAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sodmlldy0+X3ByaW50
aW5nQ2FsbGJhY2tNdXRleCk7CiAKICAgICAvLyBXZSBtYXkgaGF2ZSByZWNlaXZlZCBwYWdlIHJl
Y3RzIHdoaWxlIGEgbWVzc2FnZSB0byBjYWxsIHRoaXMgZnVuY3Rpb24gdHJhdmVsZWQgZnJvbSBz
ZWNvbmRhcnkgdGhyZWFkIHRvIG1haW4gb25lLgpAQCAtMzk2LDcgKzM5NSwxMSBAQCBzdGF0aWMg
dm9pZCBwcmVwYXJlRGF0YUZvclByaW50aW5nT25TZWNvbmRhcnlUaHJlYWQodm9pZCogdW50eXBl
ZENvbnRleHQpCiAgICAgZWxzZSBpZiAoIVJ1bkxvb3A6OmlzTWFpbigpKSB7CiAgICAgICAgIEFT
U0VSVCghW3NlbGYgX2lzUHJpbnRpbmdQcmV2aWV3XSk7CiAgICAgICAgIHN0ZDo6dW5pcXVlX2xv
Y2s8TG9jaz4gbG9jayhfcHJpbnRpbmdDYWxsYmFja011dGV4KTsKLSAgICAgICAgY2FsbE9uTWFp
blRocmVhZChwcmVwYXJlRGF0YUZvclByaW50aW5nT25TZWNvbmRhcnlUaHJlYWQsIHNlbGYpOwor
CisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbc2VsZl0geworICAgICAgICAgICAg
cHJlcGFyZURhdGFGb3JQcmludGluZ09uU2Vjb25kYXJ5VGhyZWFkKHNlbGYpOworICAgICAgICB9
KTsKKwogICAgICAgICBfcHJpbnRpbmdDYWxsYmFja0NvbmRpdGlvbi53YWl0KGxvY2spOwogICAg
ICAgICAqcmFuZ2UgPSBOU01ha2VSYW5nZSgxLCBfcHJpbnRpbmdQYWdlUmVjdHMuc2l6ZSgpKTsK
ICAgICB9IGVsc2Ugewo=
</data>
<flag name="review"
          id="284842"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>