<?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>66165</bug_id>
          
          <creation_ts>2011-08-12 14:04:28 -0700</creation_ts>
          <short_desc>FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters</short_desc>
          <delta_ts>2011-08-15 15:49:55 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>66163</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry Titov">dimich</reporter>
          <assigned_to name="Dmitry Titov">dimich</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>fishd</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>jennb</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>450655</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-12 14:04:28 -0700</bug_when>
    <thetext>Existing FrameLoaderClient::transferLoadingResourceFromPage notification is not very useful because it comes with DocumentLoader, and in case of subresources does not give enough information to the embedder to redirect the network notifications properly.

The solution is to pass ResourceLoader of each loading resource into this notification. ResourceLoader wraps all the information about current load, including embedder- and platform- specific (via ResourceHandle) which should give the embedder all the info it needs to associate the ongoing load requests with the new top-level WebFrame/WebView objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450667</commentid>
    <comment_count>1</comment_count>
      <attachid>103816</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-12 14:26:10 -0700</bug_when>
    <thetext>Created attachment 103816
Patch

The patch changes signature of FrameLoaderClient method from:
        virtual void transferLoadingResourceFromPage(unsigned long identifier, DocumentLoader*, const ResourceRequest&amp;, Page* oldPage) = 0;
to:
        virtual void transferLoadingResourceFromPage(ResourceLoader*, const ResourceRequest&amp;, Page* oldPage) = 0;

The old parameters &apos;identifier&apos; and &apos;documentLoader&apos; are accessible from ResourceLoader

Also fixed a bug when this notification was invoked in DocumentLoader with the same ResourceRequest for all subresources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450672</commentid>
    <comment_count>2</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-08-12 14:32:10 -0700</bug_when>
    <thetext>To my memory Adam and Nate have done many changes in this area.

btw, no r? yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450709</commentid>
    <comment_count>3</comment_count>
      <attachid>103816</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2011-08-12 15:39:09 -0700</bug_when>
    <thetext>Comment on attachment 103816
Patch

Attachment 103816 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9378024</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450718</commentid>
    <comment_count>4</comment_count>
      <attachid>103831</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-12 15:46:14 -0700</bug_when>
    <thetext>Created attachment 103831
Fixed Gtk build error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450780</commentid>
    <comment_count>5</comment_count>
      <attachid>103831</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-12 18:27:47 -0700</bug_when>
    <thetext>Comment on attachment 103831
Fixed Gtk build error.

Attachment 103831 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/9378071</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451185</commentid>
    <comment_count>6</comment_count>
      <attachid>103937</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-15 11:49:25 -0700</bug_when>
    <thetext>Created attachment 103937
Fixed Mac build error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451343</commentid>
    <comment_count>7</comment_count>
      <attachid>103937</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-15 15:49:50 -0700</bug_when>
    <thetext>Comment on attachment 103937
Fixed Mac build error

Clearing flags on attachment: 103937

Committed r93066: &lt;http://trac.webkit.org/changeset/93066&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451344</commentid>
    <comment_count>8</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2011-08-15 15:49:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103816</attachid>
            <date>2011-08-12 14:26:10 -0700</date>
            <delta_ts>2011-08-12 15:46:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>38571</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZDdjYmRlLi41NTM4NmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYg
QEAKKzIwMTEtMDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2Ug
ZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2Ugbm8gY2hhbmdlIGluIGJl
aGF2aW9yLgorICAgICAgICBUaGUgb3JpZ2luYWwgaXNzdWUgaXMgb25seSByZXByb2R1Y2libGUg
b24gQ2hyb21pdW0gaW4gbXVsdGktcHJvY2VzcyBtb2RlCisgICAgICAgIGFuZCBpcyB0ZXN0ZWQg
dGhlcmUgYnkgYSBicm93c2VydGVzdC4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6dHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VzRnJvbVBhZ2UpOgorICAgICAgICBQYXNzaW5nIFJlc291cmNlTG9hZGVyKiBpbnRv
IHRoZSBGcmFtZUxvYWRlckNsaWVudCBub3RpZmljYXRpb24uCisgICAgICAgIEFsc28sIGZpeGVk
IHRoZSBidWcgd2hlcmUgdGhlIHNhbWUgUmVzb3VyY2VSZXF1ZXN0IHdhcyBwYXNzZWQgZm9yIGFs
bCBzdWJyZXNvdXJjZXMuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaXNwYXRjaFRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRl
ci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0
Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmluaXQpOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6
Om9yaWdpbmFsUmVxdWVzdCk6IEFkZGVkIHRoZSBvcmlnaW5hbFJlcXVlc3QoKSBhY2Nlc3NvciB0
aGF0CisgICAgICAgIHJldHVybnMgdGhlIHJlcXVlc3QgYXMgaXQgZXhpc3RlZCBiZWZvcmUgcmVk
aXJlY3RzIChidXQgYWZ0ZXIgY2xpZW50J3Mgd2lsbCBTZW5kUmVxdWVzdCkuCisgICAgICAgIFRo
aXMgaXMgdG8gYmUgYWJsZSB0byBwYXNzIHRoZSBvcmlnaW5hbCByZXF1ZXN0IGZvciBsb2FkaW5n
IHN1YnJlc291cmNlcyBpbnRvCisgICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlLCBzaW5jZSB0aGF0IG9uZSBpcyB1c2VkIHRvIGludm9rZQor
ICAgICAgICBhc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCwgd2hpY2ggbmVlZHMgb3Jp
Z2luYWwgcmVxdWVzdC4KKwogMjAxMS0wOC0xMiAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5j
b20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2
MTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA3ZjA3YWIx
Li42ODRmYjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTg1OSwxOSArODU5LDE0IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnRyYW5zZmVyTG9hZGluZ1Jl
c291cmNlc0Zyb21QYWdlKFBhZ2UqIG9sZFBhZ2UpCiAgICAgRnJhbWVMb2FkZXIqIGxvYWRlciA9
IGZyYW1lTG9hZGVyKCk7CiAgICAgQVNTRVJUKGxvYWRlcik7CiAKLSAgICBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QgPSBvcmlnaW5hbFJlcXVlc3QoKTsKLSAgICBpZiAoaXNMb2FkaW5n
TWFpblJlc291cmNlKCkpIHsKLSAgICAgICAgbG9hZGVyLT5kaXNwYXRjaFRyYW5zZmVyTG9hZGlu
Z1Jlc291cmNlRnJvbVBhZ2UoCi0gICAgICAgICAgICBtX21haW5SZXNvdXJjZUxvYWRlci0+aWRl
bnRpZmllcigpLCB0aGlzLCByZXF1ZXN0LCBvbGRQYWdlKTsKLSAgICB9CisgICAgaWYgKGlzTG9h
ZGluZ01haW5SZXNvdXJjZSgpKQorICAgICAgICBsb2FkZXItPmRpc3BhdGNoVHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZShtX21haW5SZXNvdXJjZUxvYWRlci5nZXQoKSwgb3JpZ2luYWxS
ZXF1ZXN0KCksIG9sZFBhZ2UpOwogCiAgICAgaWYgKGlzTG9hZGluZ1N1YnJlc291cmNlcygpKSB7
CiAgICAgICAgIFJlc291cmNlTG9hZGVyU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3VicmVz
b3VyY2VMb2FkZXJzLmJlZ2luKCk7CiAgICAgICAgIFJlc291cmNlTG9hZGVyU2V0Ojpjb25zdF9p
dGVyYXRvciBlbmQgPSBtX3N1YnJlc291cmNlTG9hZGVycy5lbmQoKTsKLSAgICAgICAgZm9yICg7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgbG9hZGVyLT5kaXNwYXRjaFRyYW5zZmVy
TG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UoCi0gICAgICAgICAgICAgICAgKCppdCktPmlkZW50aWZp
ZXIoKSwgdGhpcywgcmVxdWVzdCwgb2xkUGFnZSk7Ci0gICAgICAgIH0KKyAgICAgICAgZm9yICg7
IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgICAgIGxvYWRlci0+ZGlzcGF0Y2hUcmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKCgqaXQpLmdldCgpLCAoKml0KS0+b3JpZ2luYWxSZXF1ZXN0
KCksIG9sZFBhZ2UpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CmluZGV4IGFjNDMwYTUuLjgzODI2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTM3NSw3ICszNzUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJ1bklu
c2VjdXJlQ29udGVudChTZWN1cml0eU9yaWdpbiosIGNvbnN0IEtVUkwmKSB7IH0KICAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJp
bmcmLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBib29sLCBpbnQsIGlu
dCkgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVU
b05ld0RvY3VtZW50KFBhZ2UqKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIFBhZ2UqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIFBhZ2UqKSB7IH0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVn
aW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmLCBi
b29sKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRl
SmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBjb25z
dCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpIHsg
cmV0dXJuIDA7IH0KICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGQxZDE4NTQuLjlkYWNhZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTY0OCw5ICsxNjQ4LDkgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VzRnJvbVBhZ2UoUGFnZSogb2xkUGFn
ZSkKICAgICB9CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmRpc3BhdGNoVHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVy
KiBkb2NMb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFnZSogb2xkUGFn
ZSkKK3ZvaWQgRnJhbWVMb2FkZXI6OmRpc3BhdGNoVHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9t
UGFnZShSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIFBhZ2UqIG9sZFBhZ2UpCiB7Ci0gICAgbm90aWZpZXIoKS0+ZGlzcGF0Y2hUcmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKGlkZW50aWZpZXIsIGRvY0xvYWRlciwgcmVxdWVzdCwgb2xk
UGFnZSk7CisgICAgbm90aWZpZXIoKS0+ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZy
b21QYWdlKGxvYWRlciwgcmVxdWVzdCwgb2xkUGFnZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6
OnNldERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCmluZGV4IDIwOTQyNWUuLmVkZmM1YTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCkBAIC0xMzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNM
b2FkaW5nKCkgY29uc3Q7CiAgICAgYm9vbCBmcmFtZUhhc0xvYWRlZCgpIGNvbnN0OwogICAgIHZv
aWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VzRnJvbVBhZ2UoUGFnZSopOwotICAgIHZvaWQgZGlz
cGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3Vt
ZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOworICAgIHZvaWQgZGlz
cGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOwogCiAgICAgaW50IG51bVBlbmRpbmdPckxvYWRp
bmdSZXF1ZXN0cyhib29sIHJlY3Vyc2UpIGNvbnN0OwogICAgIFN0cmluZyByZWZlcnJlcigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCAxNDA4
MGVkLi4wMTAwODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aApAQCAtMjUwLDcgKzI1MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPEZyYW1lPiBjcmVhdGVGcmFtZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgbmFtZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wg
YWxsb3dzU2Nyb2xsaW5nLCBpbnQgbWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQo
UGFnZSogb2xkUGFnZSkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVy
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSogb2xkUGFnZSkgPSAwOworICAgICAgICB2
aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRl
ciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhZ2UqIG9sZFBhZ2UpID0gMDsKICAgICAgICAg
dmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmLCBI
VE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwgYm9vbCBsb2FkTWFudWFsbHkpID0g
MDsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1Z2luKFdpZGdldCogcGx1
Z2luV2lkZ2V0KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWROb3RpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
Tm90aWZpZXIuY3BwCmluZGV4IDk2YmQ1ZjYuLjYxZWFjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApAQCAtMTQ0LDEyICsxNDQsMTIgQEAg
dm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3Vt
ZW50TG9hZGVyKiBsb2FkZXIsIHVuc2kKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZpbmlzaExvYWRpbmcobV9mcmFtZSwgbG9hZGVyLCBpZGVudGlmaWVyLCBmaW5pc2hUaW1lKTsK
IH0KIAotdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdS
ZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIq
IGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYWdlKiBvbGRQYWdlKQor
dm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJj
ZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgUGFnZSogb2xkUGFnZSkKIHsKICAgICBBU1NFUlQob2xkUGFnZSAhPSBtX2ZyYW1l
LT5wYWdlKCkpOwotICAgIG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+dHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZShpZGVudGlmaWVyLCBsb2FkZXIsIHJlcXVlc3QsIG9sZFBhZ2Up
OworICAgIG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+dHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZShsb2FkZXIsIHJlcXVlc3QsIG9sZFBhZ2UpOwogCi0gICAgb2xkUGFnZS0+cHJv
Z3Jlc3MoKS0+Y29tcGxldGVQcm9ncmVzcyhpZGVudGlmaWVyKTsKKyAgICBvbGRQYWdlLT5wcm9n
cmVzcygpLT5jb21wbGV0ZVByb2dyZXNzKGxvYWRlci0+aWRlbnRpZmllcigpKTsKIH0KIAogdm9p
ZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMoRG9j
dW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgs
IGludCBlbmNvZGVkRGF0YUxlbmd0aCwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCmluZGV4IDZhOTI5NmMu
LjVlMDIwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRO
b3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmll
ci5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3BhdGNoRGlkUmVjZWl2
ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVEYXRhKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiBkYXRh
LCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpc3Bh
dGNoRGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgZG91YmxlIGZpbmlzaFRpbWUpOwotICAgIHZvaWQgZGlzcGF0Y2hUcmFuc2ZlckxvYWRp
bmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOworICAgIHZvaWQgZGlzcGF0Y2hUcmFuc2ZlckxvYWRp
bmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgUGFnZSopOwogCiAgICAgdm9pZCBzZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhEb2N1
bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFM
ZW5ndGgsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggNzkzYTIyMi4uOTI0NDQ4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgYm9vbCBSZXNvdXJj
ZUxvYWRlcjo6aW5pdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHIpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CiAKLSAgICBtX3JlcXVlc3QgPSBjbGllbnRSZXF1ZXN0OworICAgIG1fb3Jp
Z2luYWxSZXF1ZXN0ID0gbV9yZXF1ZXN0ID0gY2xpZW50UmVxdWVzdDsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5ZTIxMzgw
Li5hZmU5ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaApAQCAtNTYs
NiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRnJhbWVMb2FkZXIqIGZy
YW1lTG9hZGVyKCkgY29uc3Q7CiAgICAgICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRl
cigpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCk7IH0KKyAgICAgICAgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX29y
aWdpbmFsUmVxdWVzdDsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbChj
b25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgICAgIFJlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJy
b3IoKTsKQEAgLTE2Niw2ICsxNjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRDYW5jZWwoY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIAogICAgICAg
ICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgbV9v
cmlnaW5hbFJlcXVlc3Q7IC8vIEJlZm9yZSByZWRpcmVjdHMuCiAgICAgICAgIFJlZlB0cjxTaGFy
ZWRCdWZmZXI+IG1fcmVzb3VyY2VEYXRhOwogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgbG9u
ZyBtX2lkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGZkODYwYjQuLjZk
ZmQwYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEt
MDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRnJh
bWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBub3Qg
aGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UpOgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaDoKKwogMjAxMS0w
OC0xMiAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBb
Q2hyb21pdW1dIEltcGxlbWVudCB0aGUgZW1iZWRkZXJzIGZvciB0aGUgSFRNTDUgVHJhY2sgTGlz
dCBvYmplY3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsLmNwcAppbmRleCA3MTllYzI0Li4xMzYyYWE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTU0
LDYgKzU0LDcgQEAKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAjaW5jbHVkZSAiUGx1Z2luRGF0
YUNocm9taXVtLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCisjaW5jbHVkZSAiUmVz
b3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0cmluZ0V4
dHJhcy5oIgogI2luY2x1ZGUgIldlYkRhdGFTb3VyY2VJbXBsLmgiCkBAIC0xNDUxLDEzICsxNDUy
LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVU
b05ld0RvY3VtZW50KFBhZ2UqKQogICAgIG1fd2ViRnJhbWUtPnNldENsaWVudChuZXdQYXJlbnQt
PmNsaWVudCgpKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OnRyYW5zZmVyTG9h
ZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExv
YWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhZ2UqIG9sZFBh
Z2UpCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZShSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIFBhZ2UqIG9sZFBhZ2UpCiB7Ci0gICAgYXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJl
cXVlc3QoaWRlbnRpZmllciwgbG9hZGVyLCByZXF1ZXN0KTsKKyAgICBhc3NpZ25JZGVudGlmaWVy
VG9Jbml0aWFsUmVxdWVzdChsb2FkZXItPmlkZW50aWZpZXIoKSwgbG9hZGVyLT5kb2N1bWVudExv
YWRlcigpLCByZXF1ZXN0KTsKIAogICAgIFdlYkZyYW1lSW1wbCogb2xkV2ViRnJhbWUgPSBXZWJG
cmFtZUltcGw6OmZyb21GcmFtZShvbGRQYWdlLT5tYWluRnJhbWUoKSk7CiAgICAgaWYgKG9sZFdl
YkZyYW1lICYmIG9sZFdlYkZyYW1lLT5jbGllbnQoKSkKLSAgICAgICAgb2xkV2ViRnJhbWUtPmNs
aWVudCgpLT5yZW1vdmVJZGVudGlmaWVyRm9yUmVxdWVzdChpZGVudGlmaWVyKTsKKyAgICAgICAg
b2xkV2ViRnJhbWUtPmNsaWVudCgpLT5yZW1vdmVJZGVudGlmaWVyRm9yUmVxdWVzdChsb2FkZXIt
PmlkZW50aWZpZXIoKSk7CiB9CiAKIFBhc3NSZWZQdHI8V2lkZ2V0PiBGcmFtZUxvYWRlckNsaWVu
dEltcGw6OmNyZWF0ZVBsdWdpbigKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
RnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5kZXggNzFmN2U1MC4uMGU4MGU3OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAg
LTE4NSw3ICsxODUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiByZWZl
cnJlciwgYm9vbCBhbGxvd3NTY3JvbGxpbmcsCiAgICAgICAgIGludCBtYXJnaW5XaWR0aCwgaW50
IG1hcmdpbkhlaWdodCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRv
TmV3RG9jdW1lbnQoV2ViQ29yZTo6UGFnZSopOwotICAgIHZpcnR1YWwgdm9pZCB0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwor
ICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6
OlJlc291cmNlTG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29y
ZTo6UGFnZSopOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpXaWRnZXQ+IGNyZWF0
ZVBsdWdpbigKICAgICAgICAgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkhUTUxQ
bHVnSW5FbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsCiAgICAgICAgIGNvbnN0IFZlY3Rv
cjxXVEY6OlN0cmluZz4mLCBjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZwppbmRleCBjZmFjYzczLi4zZTM3NzBlZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDExLTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdl
IGRvZXMgbm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6dHJhbnNm
ZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRFZmwuaDoKKwogMjAxMS0wOC0xMiAgR3J6ZWdvcnogQ3phamtvd3NraSAg
PGcuY3phamtvd3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBGaXggYWZ0ZXIgcjkx
ODE1IC0gcmVzdG9yZSBjaGFuZ2VzIGZyb20gcjkxNjU5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4
IDhlN2IyZTkuLjVhMGMxZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTM2OCw3ICszNjgsNyBA
QCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0Rv
Y3VtZW50KFBhZ2UqKQogewogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjp0cmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZs
Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oCmluZGV4IDZiYjMy
NmMuLjAyMjcxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuaApAQCAtMTM2LDcgKzEzNiw3IEBAIGNsYXNzIEZy
YW1lTG9hZGVyQ2xpZW50RWZsIDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKICAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJp
bmcmIG5hbWUsIEhUTUxGcmFtZU93bmVyRWxlbWVudCosCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgYm9vbCBhbGxvd3NTY3JvbGxpbmcsIGlu
dCBtYXJnaW5XaWR0aCwgaW50IG1hcmdpbkhlaWdodCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFRy
YW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQoUGFnZSopOwotICAgIHZpcnR1YWwgdm9pZCB0
cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkRv
Y3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwor
ICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6
OlJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSop
OwogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IElu
dFNpemUmLCBIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBXVEY6OlZlY3Rv
cjxTdHJpbmc+JiwgY29uc3QgV1RGOjpWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYsIGJv
b2wpOwogICAgIHZpcnR1YWwgdm9pZCByZWRpcmVjdERhdGFUb1BsdWdpbihXaWRnZXQqIHBsdWdp
bldpZGdldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggZmI5N2ZlNS4uNGM3MTE2OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1p
Y2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9h
ZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oOgorCiAyMDExLTA4LTExICBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIEFkZCB0aGUgamF2
YXNjcmlwdCBjb3JlIGR5bmFtaWMgbGlicmFyeSBmb3IgZ3RrLWRvYydzIGludHJvc3BlY3Rpb24g
aGVscGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IDlkMTBjNTkuLmVmMjUwN2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEd0ay5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJQYXJ0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCisjaW5j
bHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTU4
MywxNCArNTg0LDE0IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnQ6OmRpZFRyYW5zZmVyQ2hpbGRG
cmFtZVRvTmV3RG9jdW1lbnQoV2ViQ29yZTo6UGFnZSopCiAgICAgQVNTRVJUKGNvcmUoZ2V0Vmll
d0Zyb21GcmFtZShtX2ZyYW1lKSkgPT0gY29yZUZyYW1lLT5wYWdlKCkpOwogfQogCi12b2lkIEZy
YW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGRvY0xvYWRlciwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXZWJDb3JlOjpQYWdlKiBvbGRQ
YWdlKQordm9pZCBGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9t
UGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciogZG9jTG9hZGVyLCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdlYkNvcmU6OlBhZ2UqIG9sZFBhZ2UpCiB7CiAgICAg
QVNTRVJUKG9sZFBhZ2UgIT0gY29yZShtX2ZyYW1lKS0+cGFnZSgpKTsKIAotICAgIEdPd25QdHI8
Z2NoYXI+IGlkZW50aWZpZXJTdHJpbmcodG9TdHJpbmcoaWRlbnRpZmllcikpOworICAgIEdPd25Q
dHI8Z2NoYXI+IGlkZW50aWZpZXJTdHJpbmcodG9TdHJpbmcobG9hZGVyLT5pZGVudGlmaWVyKCkp
KTsKICAgICBBU1NFUlQoIXdlYmtpdF93ZWJfdmlld19nZXRfcmVzb3VyY2UoZ2V0Vmlld0Zyb21G
cmFtZShtX2ZyYW1lKSwgaWRlbnRpZmllclN0cmluZy5nZXQoKSkpOwogCi0gICAgYXNzaWduSWRl
bnRpZmllclRvSW5pdGlhbFJlcXVlc3QoaWRlbnRpZmllciwgZG9jTG9hZGVyLCByZXF1ZXN0KTsK
KyAgICBhc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdChsb2FkZXItPmlkZW50aWZpZXIo
KSwgbG9hZGVyLT5kb2N1bWVudExvYWRlcigpLCByZXF1ZXN0KTsKIAogICAgIHdlYmtpdF93ZWJf
dmlld19yZW1vdmVfcmVzb3VyY2Uoa2l0KG9sZFBhZ2UpLCBpZGVudGlmaWVyU3RyaW5nLmdldCgp
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEd0ay5oCmluZGV4IGYwZGUyZmMuLmEyYWFlMzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmgKKysr
IGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsu
aApAQCAtMTE1LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IFdlYkNvcmU6OktV
UkwmIHVybCwgY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUsIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVy
RWxlbWVudCogb3duZXJFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb25zdCBXVEY6OlN0cmluZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5nLCBpbnQg
bWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlk
VHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChXZWJDb3JlOjpQYWdlKik7Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxv
bmcsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgV2ViQ29yZTo6UGFnZSopOworICAgICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICAgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPFdlYkNvcmU6OldpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IFdlYkNvcmU6Oklu
dFNpemUmLCBXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IFdlYkNvcmU6OktVUkwm
LCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6
OlN0cmluZz4mLCBjb25zdCBXVEY6OlN0cmluZyYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgcmVkaXJlY3REYXRhVG9QbHVnaW4oV2ViQ29yZTo6V2lkZ2V0KiBwbHVnaW5XaWRnZXQpOwog
ICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVKYXZhQXBw
bGV0V2lkZ2V0KGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBXZWJDb3JlOjpIVE1MQXBwbGV0RWxl
bWVudCosIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6VmVjdG9yPFdU
Rjo6U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiBw
YXJhbVZhbHVlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCmluZGV4IDAyYTVmMDAuLmZhMjgzNGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvaGFpa3UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMTIgIERtaXRyeSBU
aXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6
OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFy
YW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVMb2FkZXJDbGllbnRIYWlrdTo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9t
UGFnZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5o
OgorCiAyMDExLTA4LTAzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBOb2RlIHBhcmFtZXRlciBmcm9tIHRoZSBJ
bnNwZWN0b3JDbGllbnQ6OmhpZ2hsaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9oYWlr
dS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmNwcCBiL1NvdXJjZS9XZWJL
aXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5jcHAKaW5kZXgg
OWM0ODM5YS4uNTExYTQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2hh
aWt1L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuY3BwCkBAIC03NTAsNyAr
NzUwLDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEhhaWt1OjpkaWRUcmFuc2ZlckNoaWxkRnJh
bWVUb05ld0RvY3VtZW50KFBhZ2UqKQogewogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50SGFp
a3U6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywgRG9jdW1l
bnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYWdlKikKK3ZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnRIYWlrdTo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxv
YWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhZ2UqKQogewogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFp
a3UuaCBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRIYWlrdS5oCmluZGV4IDUxNzQxYTEuLmYwZmYxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5o
CkBAIC0yMjgsNyArMjI4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudCosIGNv
bnN0IFN0cmluZyYgcmVmZXJyZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYm9vbCBhbGxvd3NTY3JvbGxpbmcsIGludCBtYXJnaW5XaWR0aCwgaW50IG1h
cmdpbkhlaWdodCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVU
b05ld0RvY3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRyYW5z
ZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywgV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpQYWdlKik7CisgICAg
ICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6
OlJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSop
OwogICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3Qg
SW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgbG9hZE1hbnVhbGx5KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0No
YW5nZUxvZwppbmRleCA3OTBiYTQwLi41OTMwNjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTEtMDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50Lmg6CisKIDIwMTEtMDgtMTAgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAw
NApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmgKaW5kZXggNDY3ZjA0Ny4uNzdkN2MxYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBA
IC0yMDEsNyArMjAxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RG
OjpTdHJpbmcmIG5hbWUsIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCosCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIHJlZmVy
cmVyLCBib29sIGFsbG93c1Njcm9sbGluZywgaW50IG1hcmdpbldpZHRoLCBpbnQgbWFyZ2luSGVp
Z2h0KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVu
dChXZWJDb3JlOjpQYWdlKiBvbGRQYWdlKTsKLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFdlYkNvcmU6OkRv
Y3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6
UGFnZSogb2xkUGFnZSk7CisgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNl
RnJvbVBhZ2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmLCBXZWJDb3JlOjpQYWdlKiBvbGRQYWdlKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYs
IFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0
IFZlY3RvcjxXVEY6OlN0cmluZz4mLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIGNvbnN0IFdURjo6U3RyaW5nJiwg
Ym9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1Z2luKFdlYkNvcmU6Oldp
ZGdldCogcGx1Z2luV2lkZ2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZWQ2YzU3OC4uMTU2NTYyOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wOC0xMiAgRG1pdHJ5IFRpdG92
ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KKworICAgICAgICBGcmFtZUxvYWRlckNsaWVudDo6dHJh
bnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSBkb2VzIG5vdCBoYXZlIGVub3VnaCBwYXJhbWV0
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZUxvYWRlckNsaWVudFF0Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0Lmg6CisKIDIwMTEtMDgt
MTIgIENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJv
c3NhLm9yZz4KIAogICAgICAgICBbUXRdIEFkZCB0ZXN0IGZvciBjb3JyZWN0IG9yZGVyIG9mIGxv
YWQgc2lnbmFscyBpbiBRV2ViUGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKaW5kZXggNThkNzZjZi4uMDhiOWNk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRl
ckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50UXQuY3BwCkBAIC0xMzU1LDcgKzEzNTUsNyBAQCB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50UXQ6OmRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQoUGFnZSopCiAgICAg
fQogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNl
RnJvbVBhZ2UodW5zaWduZWQgbG9uZywgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBQYWdlKikKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6dHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IFBhZ2UqKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oCmluZGV4IGIzMDBiNjkuLjZhZjg1MmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRR
dC5oCkBAIC0yMTAsNyArMjEwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxG
cmFtZT4gY3JlYXRlRnJhbWUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIEhU
TUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5nLCBp
bnQgbWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRU
cmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAgICB2aXJ0
dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBX
ZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IFdlYkNvcmU6OlBhZ2UqKTsKKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lk
Z2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29u
c3QgS1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBj
b25zdCBTdHJpbmcmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVkaXJlY3REYXRhVG9QbHVn
aW4oV2lkZ2V0KiBwbHVnaW5XaWRnZXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOGJkNzVhMS4u
YWQ3NzkwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTEyICBE
bWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZyYW1lTG9hZGVy
Q2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90IGhhdmUgZW5v
dWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAg
IChXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSk6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKwogMjAx
MS0wOC0wNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
V2ViVmlldzo6cGVyZm9ybUxheWVyZWRXaW5kb3dVcGRhdGUoKSBjcmFzaGVzIHdpdGgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcAppbmRleCAzM2U1MGM5Li5mMGFhNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBA
IC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5WaWV3Lmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9SZW5kZXJQYXJ0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRs
ZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1NldHRpbmdzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNzc3LDkgKzc3
OCw5IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRv
TmV3RG9jdW1lbnQoUGFnZSopCiAgICAgICAgIG1fd2ViRnJhbWUtPnNldFdlYlZpZXcod2ViVmll
dyk7CiB9CiAKLXZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291
cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9h
ZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhZ2UqIG9sZFBhZ2UpCit2b2lk
IFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJl
c291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFn
ZSogb2xkUGFnZSkKIHsKLSAgICBhc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdChpZGVu
dGlmaWVyLCBsb2FkZXIsIHJlcXVlc3QpOworICAgIGFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxS
ZXF1ZXN0KGxvYWRlci0+aWRlbnRpZmllcigpLCBsb2FkZXItPmRvY3VtZW50TG9hZGVyKCksIHJl
cXVlc3QpOwogCiAgICAgV2ViVmlldyogb2xkV2ViVmlldyA9IGtpdChvbGRQYWdlKTsKICAgICBp
ZiAoIW9sZFdlYlZpZXcpCkBAIC03OTIsNyArNzkzLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNs
aWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50
aWYKICAgICBDT01QdHI8SVdlYlJlc291cmNlTG9hZERlbGVnYXRlUHJpdmF0ZTI+IG9sZFJlc291
cmNlTG9hZERlbGVnYXRlUHJpdmF0ZTIoUXVlcnksIG9sZFJlc291cmNlTG9hZERlbGVnYXRlKTsK
ICAgICBpZiAoIW9sZFJlc291cmNlTG9hZERlbGVnYXRlUHJpdmF0ZTIpCiAgICAgICAgIHJldHVy
bjsKLSAgICBvbGRSZXNvdXJjZUxvYWREZWxlZ2F0ZVByaXZhdGUyLT5yZW1vdmVJZGVudGlmaWVy
Rm9yUmVxdWVzdChvbGRXZWJWaWV3LCBpZGVudGlmaWVyKTsKKyAgICBvbGRSZXNvdXJjZUxvYWRE
ZWxlZ2F0ZVByaXZhdGUyLT5yZW1vdmVJZGVudGlmaWVyRm9yUmVxdWVzdChvbGRXZWJWaWV3LCBs
b2FkZXItPmlkZW50aWZpZXIoKSk7CiB9CiAKIFBhc3NSZWZQdHI8RnJhbWU+IFdlYkZyYW1lTG9h
ZGVyQ2xpZW50OjpjcmVhdGVGcmFtZShjb25zdCBLVVJMJiBVUkwsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsIGNvbnN0IFN0cmluZyYgcmVm
ZXJyZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCAwZGYzMWU4Li5jNDNhNzE2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmgKQEAgLTExOSw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdl
YkNvcmU6OkZyYW1lPiBjcmVhdGVGcmFtZShjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwsIGNvbnN0
IFdURjo6U3RyaW5nJiBuYW1lLCBXZWJDb3JlOjpIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVy
RWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXVEY6OlN0cmlu
ZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5nLCBpbnQgbWFyZ2luV2lkdGgsIGludCBt
YXJnaW5IZWlnaHQpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05l
d0RvY3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpEb2N1bWVudExvYWRl
ciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShXZWJDb3JlOjpS
ZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6
OlBhZ2UqKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVQ
bHVnaW4oY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBjb25z
dCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwgY29uc3QgV1RGOjpTdHJpbmcmLCBib29sIGxvYWRNYW51
YWxseSk7CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1Z2luKFdlYkNvcmU6Oldp
ZGdldCogcGx1Z2luV2lkZ2V0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCA3MjYwZGRhLi4z
ODExMmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTEy
ICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZyYW1lTG9h
ZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90IGhhdmUg
ZW5vdWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6dHJhbnNmZXJMb2FkaW5nUmVz
b3VyY2VGcm9tUGFnZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRXaW5DRS5oOgorCiAyMDExLTA4LTAzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBOb2RlIHBhcmFtZXRlciBm
cm9tIHRoZSBJbnNwZWN0b3JDbGllbnQ6OmhpZ2hsaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5j
cHAKaW5kZXggNTRjMTI2NC4uMWU0NTM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuY3BwCkBA
IC0xNzYsNyArMTc2LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFdpbkNFOjpkaWRUcmFuc2Zl
ckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFBhZ2UqKQogewogfQogCi12b2lkIEZyYW1lTG9hZGVy
Q2xpZW50V2luQ0U6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9u
ZywgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBQYWdl
KikKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IFBhZ2UqKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5oCmluZGV4IGM1ZDMwMDkuLjAwOTE4
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVM
b2FkZXJDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5oCkBAIC0xMTAsNyArMTEwLDcgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGcmFtZT4gY3JlYXRlRnJhbWUoY29uc3Qg
V2ViQ29yZTo6S1VSTCYgdXJsLCBjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgV2ViQ29yZTo6SFRN
TEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIHJlZmVycmVyLCBib29sIGFsbG93c1Njcm9sbGlu
ZywgaW50IG1hcmdpbldpZHRoLCBpbnQgbWFyZ2luSGVpZ2h0KTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChXZWJDb3JlOjpQYWdlKik7Ci0gICAg
dmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9u
ZywgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBXZWJDb3JlOjpQYWdlKik7CisgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jl
c291cmNlRnJvbVBhZ2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpQYWdlKik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRy
PFdlYkNvcmU6OldpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBX
ZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBX
VEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4m
LCBjb25zdCBXVEY6OlN0cmluZyYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCByZWRpcmVjdERh
dGFUb1BsdWdpbihXZWJDb3JlOjpXaWRnZXQqIHBsdWdpbldpZGdldCk7CiAgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPFdlYkNvcmU6OldpZGdldD4gY3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiwgV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBXZWJD
b3JlOjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mIHBhcmFt
TmFtZXMsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6U3RyaW5nPiYgcGFyYW1WYWx1ZXMpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3d4L0No
YW5nZUxvZwppbmRleCAxNDZjODI4Li4xZDkyOWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3d4L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDExLTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21Q
YWdlIGRvZXMgbm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6dHJhbnNm
ZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudFd4Lmg6CisKIDIwMTEtMDgtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgUGx1Z2luSGFsdGVyCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAK
aW5kZXggZTM4MGZiMC4uMThjMWQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJL
aXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNwcApAQCAtODc4LDcgKzg3OCw3IEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRXeDo6ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1
bWVudChQYWdlKikKIHsKIH0KIAotdm9pZCBGcmFtZUxvYWRlckNsaWVudFd4Ojp0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V3g6OnRy
YW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UoUmVzb3VyY2VMb2FkZXIqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBQYWdlKikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gv
V2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKaW5kZXggZTE0ODFjNi4uMWMyMDdm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRXeC5oCkBAIC0yMTQsNyArMjE0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgU3RyaW5nJiBuYW1lLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVu
dCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiByZWZl
cnJlciwgYm9vbCBhbGxvd3NTY3JvbGxpbmcsIGludCBtYXJnaW5XaWR0aCwgaW50IG1hcmdpbkhl
aWdodCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0Rv
Y3VtZW50KFBhZ2UqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291
cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBQYWdlKik7CisgICAgICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdS
ZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
UGFnZSopOwogICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVnaW4o
Y29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmLCBib29s
IGxvYWRNYW51YWxseSkgOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVkaXJlY3REYXRhVG9QbHVn
aW4oV2lkZ2V0KiBwbHVnaW5XaWRnZXQpOwogICAgICAgICB2aXJ0dWFsIFJlc291cmNlRXJyb3Ig
cGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggMzE1NDczNS4uNDNjYTU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDExLTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMg
bm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRy
YW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKwogMjAxMS0wOC0xMSAgVmlhdGNo
ZXNsYXYgT3N0YXBlbmtvICA8b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNvbT4KIAogICAg
ICAgICBWZWN0b3JBcmd1bWVudENvZGVyIGRvZXNuJ3QgZW5jb2RlL2RlY29kZSBlbm91Z2ggZGF0
YSBmb3IgbW9yZSB0aGFuIG9uZSBieXRlIHZlY3RvciBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcAppbmRleCAzYmM4YWQyLi41YTYwNmRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTIzMSw3ICsxMjMxLDcgQEAgdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChQYWdlKikKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFu
c2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVy
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCBmZTdjMTFlLi44MmEzYmMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0xODYsNyArMTg2LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0
IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXZWJDb3JlOjpIVE1MRnJh
bWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xs
aW5nLCBpbnQgbWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBs
b25nLCBXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICAKICAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJp
bmcmLCBib29sIGxvYWRNYW51YWxseSk7CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRv
UGx1Z2luKFdlYkNvcmU6OldpZGdldCogcGx1Z2luV2lkZ2V0KTsK
</data>
<flag name="commit-queue"
          id="99536"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103831</attachid>
            <date>2011-08-12 15:46:14 -0700</date>
            <delta_ts>2011-08-15 11:49:25 -0700</delta_ts>
            <desc>Fixed Gtk build error.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>38568</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiZDdjYmRlLi41NTM4NmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYg
QEAKKzIwMTEtMDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2Ug
ZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2Ugbm8gY2hhbmdlIGluIGJl
aGF2aW9yLgorICAgICAgICBUaGUgb3JpZ2luYWwgaXNzdWUgaXMgb25seSByZXByb2R1Y2libGUg
b24gQ2hyb21pdW0gaW4gbXVsdGktcHJvY2VzcyBtb2RlCisgICAgICAgIGFuZCBpcyB0ZXN0ZWQg
dGhlcmUgYnkgYSBicm93c2VydGVzdC4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6dHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VzRnJvbVBhZ2UpOgorICAgICAgICBQYXNzaW5nIFJlc291cmNlTG9hZGVyKiBpbnRv
IHRoZSBGcmFtZUxvYWRlckNsaWVudCBub3RpZmljYXRpb24uCisgICAgICAgIEFsc28sIGZpeGVk
IHRoZSBidWcgd2hlcmUgdGhlIHNhbWUgUmVzb3VyY2VSZXF1ZXN0IHdhcyBwYXNzZWQgZm9yIGFs
bCBzdWJyZXNvdXJjZXMuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaXNwYXRjaFRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRl
ci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0
Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmluaXQpOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6
Om9yaWdpbmFsUmVxdWVzdCk6IEFkZGVkIHRoZSBvcmlnaW5hbFJlcXVlc3QoKSBhY2Nlc3NvciB0
aGF0CisgICAgICAgIHJldHVybnMgdGhlIHJlcXVlc3QgYXMgaXQgZXhpc3RlZCBiZWZvcmUgcmVk
aXJlY3RzIChidXQgYWZ0ZXIgY2xpZW50J3Mgd2lsbCBTZW5kUmVxdWVzdCkuCisgICAgICAgIFRo
aXMgaXMgdG8gYmUgYWJsZSB0byBwYXNzIHRoZSBvcmlnaW5hbCByZXF1ZXN0IGZvciBsb2FkaW5n
IHN1YnJlc291cmNlcyBpbnRvCisgICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlLCBzaW5jZSB0aGF0IG9uZSBpcyB1c2VkIHRvIGludm9rZQor
ICAgICAgICBhc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCwgd2hpY2ggbmVlZHMgb3Jp
Z2luYWwgcmVxdWVzdC4KKwogMjAxMS0wOC0xMiAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5j
b20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2
MTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA3ZjA3YWIx
Li42ODRmYjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAg
LTg1OSwxOSArODU5LDE0IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnRyYW5zZmVyTG9hZGluZ1Jl
c291cmNlc0Zyb21QYWdlKFBhZ2UqIG9sZFBhZ2UpCiAgICAgRnJhbWVMb2FkZXIqIGxvYWRlciA9
IGZyYW1lTG9hZGVyKCk7CiAgICAgQVNTRVJUKGxvYWRlcik7CiAKLSAgICBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QgPSBvcmlnaW5hbFJlcXVlc3QoKTsKLSAgICBpZiAoaXNMb2FkaW5n
TWFpblJlc291cmNlKCkpIHsKLSAgICAgICAgbG9hZGVyLT5kaXNwYXRjaFRyYW5zZmVyTG9hZGlu
Z1Jlc291cmNlRnJvbVBhZ2UoCi0gICAgICAgICAgICBtX21haW5SZXNvdXJjZUxvYWRlci0+aWRl
bnRpZmllcigpLCB0aGlzLCByZXF1ZXN0LCBvbGRQYWdlKTsKLSAgICB9CisgICAgaWYgKGlzTG9h
ZGluZ01haW5SZXNvdXJjZSgpKQorICAgICAgICBsb2FkZXItPmRpc3BhdGNoVHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZShtX21haW5SZXNvdXJjZUxvYWRlci5nZXQoKSwgb3JpZ2luYWxS
ZXF1ZXN0KCksIG9sZFBhZ2UpOwogCiAgICAgaWYgKGlzTG9hZGluZ1N1YnJlc291cmNlcygpKSB7
CiAgICAgICAgIFJlc291cmNlTG9hZGVyU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3VicmVz
b3VyY2VMb2FkZXJzLmJlZ2luKCk7CiAgICAgICAgIFJlc291cmNlTG9hZGVyU2V0Ojpjb25zdF9p
dGVyYXRvciBlbmQgPSBtX3N1YnJlc291cmNlTG9hZGVycy5lbmQoKTsKLSAgICAgICAgZm9yICg7
IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgbG9hZGVyLT5kaXNwYXRjaFRyYW5zZmVy
TG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UoCi0gICAgICAgICAgICAgICAgKCppdCktPmlkZW50aWZp
ZXIoKSwgdGhpcywgcmVxdWVzdCwgb2xkUGFnZSk7Ci0gICAgICAgIH0KKyAgICAgICAgZm9yICg7
IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgICAgIGxvYWRlci0+ZGlzcGF0Y2hUcmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKCgqaXQpLmdldCgpLCAoKml0KS0+b3JpZ2luYWxSZXF1ZXN0
KCksIG9sZFBhZ2UpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5o
CmluZGV4IGFjNDMwYTUuLjgzODI2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKQEAgLTM3NSw3ICszNzUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJ1bklu
c2VjdXJlQ29udGVudChTZWN1cml0eU9yaWdpbiosIGNvbnN0IEtVUkwmKSB7IH0KICAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJp
bmcmLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBib29sLCBpbnQsIGlu
dCkgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVU
b05ld0RvY3VtZW50KFBhZ2UqKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBEb2N1bWVudExvYWRlciosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIFBhZ2UqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYsIFBhZ2UqKSB7IH0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVn
aW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmLCBi
b29sKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRl
SmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBjb25z
dCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYpIHsg
cmV0dXJuIDA7IH0KICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGQxZDE4NTQuLjlkYWNhZDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTY0OCw5ICsxNjQ4LDkgQEAgdm9pZCBG
cmFtZUxvYWRlcjo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VzRnJvbVBhZ2UoUGFnZSogb2xkUGFn
ZSkKICAgICB9CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmRpc3BhdGNoVHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVy
KiBkb2NMb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFnZSogb2xkUGFn
ZSkKK3ZvaWQgRnJhbWVMb2FkZXI6OmRpc3BhdGNoVHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9t
UGFnZShSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIFBhZ2UqIG9sZFBhZ2UpCiB7Ci0gICAgbm90aWZpZXIoKS0+ZGlzcGF0Y2hUcmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKGlkZW50aWZpZXIsIGRvY0xvYWRlciwgcmVxdWVzdCwgb2xk
UGFnZSk7CisgICAgbm90aWZpZXIoKS0+ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZy
b21QYWdlKGxvYWRlciwgcmVxdWVzdCwgb2xkUGFnZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6
OnNldERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCmluZGV4IDIwOTQyNWUuLmVkZmM1YTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5oCkBAIC0xMzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNM
b2FkaW5nKCkgY29uc3Q7CiAgICAgYm9vbCBmcmFtZUhhc0xvYWRlZCgpIGNvbnN0OwogICAgIHZv
aWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VzRnJvbVBhZ2UoUGFnZSopOwotICAgIHZvaWQgZGlz
cGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3Vt
ZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOworICAgIHZvaWQgZGlz
cGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOwogCiAgICAgaW50IG51bVBlbmRpbmdPckxvYWRp
bmdSZXF1ZXN0cyhib29sIHJlY3Vyc2UpIGNvbnN0OwogICAgIFN0cmluZyByZWZlcnJlcigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCAxNDA4
MGVkLi4wMTAwODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aApAQCAtMjUwLDcgKzI1MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCBQYXNzUmVmUHRyPEZyYW1lPiBjcmVhdGVGcmFtZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgbmFtZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wg
YWxsb3dzU2Nyb2xsaW5nLCBpbnQgbWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQo
UGFnZSogb2xkUGFnZSkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVy
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSogb2xkUGFnZSkgPSAwOworICAgICAgICB2
aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRl
ciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhZ2UqIG9sZFBhZ2UpID0gMDsKICAgICAgICAg
dmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmLCBI
VE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwgYm9vbCBsb2FkTWFudWFsbHkpID0g
MDsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1Z2luKFdpZGdldCogcGx1
Z2luV2lkZ2V0KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWROb3RpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
Tm90aWZpZXIuY3BwCmluZGV4IDk2YmQ1ZjYuLjYxZWFjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApAQCAtMTQ0LDEyICsxNDQsMTIgQEAg
dm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERvY3Vt
ZW50TG9hZGVyKiBsb2FkZXIsIHVuc2kKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZpbmlzaExvYWRpbmcobV9mcmFtZSwgbG9hZGVyLCBpZGVudGlmaWVyLCBmaW5pc2hUaW1lKTsK
IH0KIAotdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdS
ZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIq
IGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYWdlKiBvbGRQYWdlKQor
dm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJj
ZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYg
cmVxdWVzdCwgUGFnZSogb2xkUGFnZSkKIHsKICAgICBBU1NFUlQob2xkUGFnZSAhPSBtX2ZyYW1l
LT5wYWdlKCkpOwotICAgIG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+dHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZShpZGVudGlmaWVyLCBsb2FkZXIsIHJlcXVlc3QsIG9sZFBhZ2Up
OworICAgIG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+dHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZShsb2FkZXIsIHJlcXVlc3QsIG9sZFBhZ2UpOwogCi0gICAgb2xkUGFnZS0+cHJv
Z3Jlc3MoKS0+Y29tcGxldGVQcm9ncmVzcyhpZGVudGlmaWVyKTsKKyAgICBvbGRQYWdlLT5wcm9n
cmVzcygpLT5jb21wbGV0ZVByb2dyZXNzKGxvYWRlci0+aWRlbnRpZmllcigpKTsKIH0KIAogdm9p
ZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMoRG9j
dW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgs
IGludCBlbmNvZGVkRGF0YUxlbmd0aCwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCmluZGV4IDZhOTI5NmMu
LjVlMDIwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRO
b3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmll
ci5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3BhdGNoRGlkUmVjZWl2
ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVEYXRhKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiBkYXRh
LCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRpc3Bh
dGNoRGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgZG91YmxlIGZpbmlzaFRpbWUpOwotICAgIHZvaWQgZGlzcGF0Y2hUcmFuc2ZlckxvYWRp
bmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOworICAgIHZvaWQgZGlzcGF0Y2hUcmFuc2ZlckxvYWRp
bmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiwgUGFnZSopOwogCiAgICAgdm9pZCBzZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhEb2N1
bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERhdGFM
ZW5ndGgsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlci5jcHAKaW5kZXggNzkzYTIyMi4uOTI0NDQ4YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgYm9vbCBSZXNvdXJj
ZUxvYWRlcjo6aW5pdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHIpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICB9CiAKLSAgICBtX3JlcXVlc3QgPSBjbGllbnRSZXF1ZXN0OworICAgIG1fb3Jp
Z2luYWxSZXF1ZXN0ID0gbV9yZXF1ZXN0ID0gY2xpZW50UmVxdWVzdDsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5ZTIxMzgw
Li5hZmU5ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaApAQCAtNTYs
NiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRnJhbWVMb2FkZXIqIGZy
YW1lTG9hZGVyKCkgY29uc3Q7CiAgICAgICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRl
cigpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCk7IH0KKyAgICAgICAgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX29y
aWdpbmFsUmVxdWVzdDsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbChj
b25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgICAgIFJlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJy
b3IoKTsKQEAgLTE2Niw2ICsxNjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaWRDYW5jZWwoY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIAogICAgICAg
ICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OworICAgICAgICBSZXNvdXJjZVJlcXVlc3QgbV9v
cmlnaW5hbFJlcXVlc3Q7IC8vIEJlZm9yZSByZWRpcmVjdHMuCiAgICAgICAgIFJlZlB0cjxTaGFy
ZWRCdWZmZXI+IG1fcmVzb3VyY2VEYXRhOwogICAgICAgICAKICAgICAgICAgdW5zaWduZWQgbG9u
ZyBtX2lkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGZkODYwYjQuLjZk
ZmQwYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEt
MDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRnJh
bWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBub3Qg
aGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAgICAgICAo
V2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UpOgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaDoKKwogMjAxMS0w
OC0xMiAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBb
Q2hyb21pdW1dIEltcGxlbWVudCB0aGUgZW1iZWRkZXJzIGZvciB0aGUgSFRNTDUgVHJhY2sgTGlz
dCBvYmplY3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsLmNwcAppbmRleCA3MTllYzI0Li4xMzYyYWE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTU0
LDYgKzU0LDcgQEAKICNpbmNsdWRlICJQbHVnaW5EYXRhLmgiCiAjaW5jbHVkZSAiUGx1Z2luRGF0
YUNocm9taXVtLmgiCiAjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCisjaW5jbHVkZSAiUmVz
b3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0cmluZ0V4
dHJhcy5oIgogI2luY2x1ZGUgIldlYkRhdGFTb3VyY2VJbXBsLmgiCkBAIC0xNDUxLDEzICsxNDUy
LDEzIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVU
b05ld0RvY3VtZW50KFBhZ2UqKQogICAgIG1fd2ViRnJhbWUtPnNldENsaWVudChuZXdQYXJlbnQt
PmNsaWVudCgpKTsKIH0KIAotdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OnRyYW5zZmVyTG9h
ZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExv
YWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhZ2UqIG9sZFBh
Z2UpCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZShSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIFBhZ2UqIG9sZFBhZ2UpCiB7Ci0gICAgYXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJl
cXVlc3QoaWRlbnRpZmllciwgbG9hZGVyLCByZXF1ZXN0KTsKKyAgICBhc3NpZ25JZGVudGlmaWVy
VG9Jbml0aWFsUmVxdWVzdChsb2FkZXItPmlkZW50aWZpZXIoKSwgbG9hZGVyLT5kb2N1bWVudExv
YWRlcigpLCByZXF1ZXN0KTsKIAogICAgIFdlYkZyYW1lSW1wbCogb2xkV2ViRnJhbWUgPSBXZWJG
cmFtZUltcGw6OmZyb21GcmFtZShvbGRQYWdlLT5tYWluRnJhbWUoKSk7CiAgICAgaWYgKG9sZFdl
YkZyYW1lICYmIG9sZFdlYkZyYW1lLT5jbGllbnQoKSkKLSAgICAgICAgb2xkV2ViRnJhbWUtPmNs
aWVudCgpLT5yZW1vdmVJZGVudGlmaWVyRm9yUmVxdWVzdChpZGVudGlmaWVyKTsKKyAgICAgICAg
b2xkV2ViRnJhbWUtPmNsaWVudCgpLT5yZW1vdmVJZGVudGlmaWVyRm9yUmVxdWVzdChsb2FkZXIt
PmlkZW50aWZpZXIoKSk7CiB9CiAKIFBhc3NSZWZQdHI8V2lkZ2V0PiBGcmFtZUxvYWRlckNsaWVu
dEltcGw6OmNyZWF0ZVBsdWdpbigKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
RnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5kZXggNzFmN2U1MC4uMGU4MGU3OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAg
LTE4NSw3ICsxODUsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiByZWZl
cnJlciwgYm9vbCBhbGxvd3NTY3JvbGxpbmcsCiAgICAgICAgIGludCBtYXJnaW5XaWR0aCwgaW50
IG1hcmdpbkhlaWdodCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRv
TmV3RG9jdW1lbnQoV2ViQ29yZTo6UGFnZSopOwotICAgIHZpcnR1YWwgdm9pZCB0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwor
ICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6
OlJlc291cmNlTG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29y
ZTo6UGFnZSopOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpXaWRnZXQ+IGNyZWF0
ZVBsdWdpbigKICAgICAgICAgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkhUTUxQ
bHVnSW5FbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsCiAgICAgICAgIGNvbnN0IFZlY3Rv
cjxXVEY6OlN0cmluZz4mLCBjb25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZwppbmRleCBjZmFjYzczLi4zZTM3NzBlZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDExLTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdl
IGRvZXMgbm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dEVmbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6dHJhbnNm
ZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRFZmwuaDoKKwogMjAxMS0wOC0xMiAgR3J6ZWdvcnogQ3phamtvd3NraSAg
PGcuY3phamtvd3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBGaXggYWZ0ZXIgcjkx
ODE1IC0gcmVzdG9yZSBjaGFuZ2VzIGZyb20gcjkxNjU5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4
IDhlN2IyZTkuLjVhMGMxZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTM2OCw3ICszNjgsNyBA
QCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0Rv
Y3VtZW50KFBhZ2UqKQogewogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjp0cmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZs
Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oCmluZGV4IDZiYjMy
NmMuLjAyMjcxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuaApAQCAtMTM2LDcgKzEzNiw3IEBAIGNsYXNzIEZy
YW1lTG9hZGVyQ2xpZW50RWZsIDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKICAgICB2aXJ0
dWFsIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJp
bmcmIG5hbWUsIEhUTUxGcmFtZU93bmVyRWxlbWVudCosCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgU3RyaW5nJiByZWZlcnJlciwgYm9vbCBhbGxvd3NTY3JvbGxpbmcsIGlu
dCBtYXJnaW5XaWR0aCwgaW50IG1hcmdpbkhlaWdodCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFRy
YW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQoUGFnZSopOwotICAgIHZpcnR1YWwgdm9pZCB0
cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkRv
Y3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwor
ICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6
OlJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSop
OwogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IElu
dFNpemUmLCBIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBXVEY6OlZlY3Rv
cjxTdHJpbmc+JiwgY29uc3QgV1RGOjpWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYsIGJv
b2wpOwogICAgIHZpcnR1YWwgdm9pZCByZWRpcmVjdERhdGFUb1BsdWdpbihXaWRnZXQqIHBsdWdp
bldpZGdldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggZmI5N2ZlNS4uNGM3MTE2OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1p
Y2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9h
ZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oOgorCiAyMDExLTA4LTExICBHdXN0
YXZvIE5vcm9uaGEgU2lsdmEgIDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIEFkZCB0aGUgamF2
YXNjcmlwdCBjb3JlIGR5bmFtaWMgbGlicmFyeSBmb3IgZ3RrLWRvYydzIGludHJvc3BlY3Rpb24g
aGVscGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJh
bWVMb2FkZXJDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRHdGsuY3BwCmluZGV4IDlkMTBjNTkuLmM5NDg2MDIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3Rr
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEd0ay5jcHAKQEAgLTYwLDYgKzYwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJQYXJ0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCisjaW5j
bHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNp
bmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTU4
MywxNCArNTg0LDE0IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnQ6OmRpZFRyYW5zZmVyQ2hpbGRG
cmFtZVRvTmV3RG9jdW1lbnQoV2ViQ29yZTo6UGFnZSopCiAgICAgQVNTRVJUKGNvcmUoZ2V0Vmll
d0Zyb21GcmFtZShtX2ZyYW1lKSkgPT0gY29yZUZyYW1lLT5wYWdlKCkpOwogfQogCi12b2lkIEZy
YW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVk
IGxvbmcgaWRlbnRpZmllciwgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGRvY0xvYWRlciwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBXZWJDb3JlOjpQYWdlKiBvbGRQ
YWdlKQordm9pZCBGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9t
UGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFdlYkNvcmU6OlBhZ2UqIG9sZFBhZ2UpCiB7CiAgICAgQVNT
RVJUKG9sZFBhZ2UgIT0gY29yZShtX2ZyYW1lKS0+cGFnZSgpKTsKIAotICAgIEdPd25QdHI8Z2No
YXI+IGlkZW50aWZpZXJTdHJpbmcodG9TdHJpbmcoaWRlbnRpZmllcikpOworICAgIEdPd25QdHI8
Z2NoYXI+IGlkZW50aWZpZXJTdHJpbmcodG9TdHJpbmcobG9hZGVyLT5pZGVudGlmaWVyKCkpKTsK
ICAgICBBU1NFUlQoIXdlYmtpdF93ZWJfdmlld19nZXRfcmVzb3VyY2UoZ2V0Vmlld0Zyb21GcmFt
ZShtX2ZyYW1lKSwgaWRlbnRpZmllclN0cmluZy5nZXQoKSkpOwogCi0gICAgYXNzaWduSWRlbnRp
ZmllclRvSW5pdGlhbFJlcXVlc3QoaWRlbnRpZmllciwgZG9jTG9hZGVyLCByZXF1ZXN0KTsKKyAg
ICBhc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdChsb2FkZXItPmlkZW50aWZpZXIoKSwg
bG9hZGVyLT5kb2N1bWVudExvYWRlcigpLCByZXF1ZXN0KTsKIAogICAgIHdlYmtpdF93ZWJfdmll
d19yZW1vdmVfcmVzb3VyY2Uoa2l0KG9sZFBhZ2UpLCBpZGVudGlmaWVyU3RyaW5nLmdldCgpKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50R3RrLmggYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudEd0ay5oCmluZGV4IGYwZGUyZmMuLmEyYWFlMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmgKKysrIGIv
U291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaApA
QCAtMTE1LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IFdlYkNvcmU6OktVUkwm
IHVybCwgY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUsIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxl
bWVudCogb3duZXJFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXVEY6OlN0cmluZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5nLCBpbnQgbWFy
Z2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkVHJh
bnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChXZWJDb3JlOjpQYWdlKik7Ci0gICAgICAgIHZp
cnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcs
IFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
JiwgV2ViQ29yZTo6UGFnZSopOworICAgICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICAgICAgdmlydHVhbCBQYXNz
UmVmUHRyPFdlYkNvcmU6OldpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmLCBXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IFdlYkNvcmU6OktVUkwmLCBj
b25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0
cmluZz4mLCBjb25zdCBXVEY6OlN0cmluZyYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQg
cmVkaXJlY3REYXRhVG9QbHVnaW4oV2ViQ29yZTo6V2lkZ2V0KiBwbHVnaW5XaWRnZXQpOwogICAg
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVKYXZhQXBwbGV0
V2lkZ2V0KGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVu
dCosIGNvbnN0IFdlYkNvcmU6OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6
U3RyaW5nPiYgcGFyYW1OYW1lcywgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiBwYXJh
bVZhbHVlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCmluZGV4IDAyYTVmMDAuLmZhMjgzNGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
aGFpa3UvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMTIgIERtaXRyeSBUaXRv
diAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRy
YW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1l
dGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYx
NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRIYWlrdTo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFn
ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oOgor
CiAyMDExLTA4LTAzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBOb2RlIHBhcmFtZXRlciBmcm9tIHRoZSBJbnNw
ZWN0b3JDbGllbnQ6OmhpZ2hsaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9oYWlrdS9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmNwcCBiL1NvdXJjZS9XZWJLaXQv
aGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5jcHAKaW5kZXggOWM0
ODM5YS4uNTExYTQ4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEhhaWt1LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2hhaWt1
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuY3BwCkBAIC03NTAsNyArNzUw
LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEhhaWt1OjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVU
b05ld0RvY3VtZW50KFBhZ2UqKQogewogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50SGFpa3U6
OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywgRG9jdW1lbnRM
b2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBQYWdlKikKK3ZvaWQgRnJhbWVMb2FkZXJD
bGllbnRIYWlrdTo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRl
ciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhZ2UqKQogewogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3Uu
aCBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRI
YWlrdS5oCmluZGV4IDUxNzQxYTEuLmYwZmYxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
aGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oCkBA
IC0yMjgsNyArMjI4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudCosIGNvbnN0
IFN0cmluZyYgcmVmZXJyZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYm9vbCBhbGxvd3NTY3JvbGxpbmcsIGludCBtYXJnaW5XaWR0aCwgaW50IG1hcmdp
bkhlaWdodCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05l
d0RvY3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVy
TG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywgV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpQYWdlKik7CisgICAgICAg
IHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6OlJl
c291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwog
ICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgSW50
U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgbG9hZE1hbnVhbGx5KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwppbmRleCA3OTBiYTQwLi41OTMwNjY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTEtMDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBh
Z2UgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50Lmg6CisKIDIwMTEtMDgtMTAgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgog
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAwNApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmgKaW5kZXggNDY3ZjA0Ny4uNzdkN2MxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0y
MDEsNyArMjAxLDcgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6
RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpT
dHJpbmcmIG5hbWUsIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCosCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIHJlZmVycmVy
LCBib29sIGFsbG93c1Njcm9sbGluZywgaW50IG1hcmdpbldpZHRoLCBpbnQgbWFyZ2luSGVpZ2h0
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChX
ZWJDb3JlOjpQYWdlKiBvbGRQYWdlKTsKLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFdlYkNvcmU6OkRvY3Vt
ZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFn
ZSogb2xkUGFnZSk7CisgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBXZWJDb3JlOjpQYWdlKiBvbGRQYWdlKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdl
YkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFZl
Y3RvcjxXVEY6OlN0cmluZz4mLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIGNvbnN0IFdURjo6U3RyaW5nJiwgYm9v
bCk7CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1Z2luKFdlYkNvcmU6OldpZGdl
dCogcGx1Z2luV2lkZ2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKaW5kZXggZWQ2YzU3OC4uMTU2NTYyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wOC0xMiAgRG1pdHJ5IFRpdG92ICA8
ZGltaWNoQGNocm9taXVtLm9yZz4KKworICAgICAgICBGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNm
ZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSBkb2VzIG5vdCBoYXZlIGVub3VnaCBwYXJhbWV0ZXJz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZUxvYWRlckNsaWVudFF0Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0Lmg6CisKIDIwMTEtMDgtMTIg
IENhaW8gTWFyY2VsbyBkZSBPbGl2ZWlyYSBGaWxobyAgPGNhaW8ub2xpdmVpcmFAb3BlbmJvc3Nh
Lm9yZz4KIAogICAgICAgICBbUXRdIEFkZCB0ZXN0IGZvciBjb3JyZWN0IG9yZGVyIG9mIGxvYWQg
c2lnbmFscyBpbiBRV2ViUGFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKaW5kZXggNThkNzZjZi4uMDhiOWNkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50UXQuY3BwCkBAIC0xMzU1LDcgKzEzNTUsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xp
ZW50UXQ6OmRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQoUGFnZSopCiAgICAgfQog
fQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UodW5zaWduZWQgbG9uZywgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVl
c3QmLCBQYWdlKikKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRRdDo6dHJhbnNmZXJMb2FkaW5nUmVz
b3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBh
Z2UqKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRRdC5oCmluZGV4IGIzMDBiNjkuLjZhZjg1MmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5o
CkBAIC0yMTAsNyArMjEwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxGcmFt
ZT4gY3JlYXRlRnJhbWUoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIEhUTUxG
cmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50LAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5nLCBpbnQg
bWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFu
c2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAgICB2aXJ0dWFs
IHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBXZWJD
b3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdl
YkNvcmU6OlBhZ2UqKTsKKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lkZ2V0
PiBjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3Qg
S1VSTCYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25z
dCBTdHJpbmcmLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVkaXJlY3REYXRhVG9QbHVnaW4o
V2lkZ2V0KiBwbHVnaW5XaWRnZXQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5kZXggOGJkNzVhMS4uYWQ3
NzkwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTEyICBEbWl0
cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZyYW1lTG9hZGVyQ2xp
ZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90IGhhdmUgZW5vdWdo
IHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChX
ZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSk6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKwogMjAxMS0w
OC0wNSAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2Vi
Vmlldzo6cGVyZm9ybUxheWVyZWRXaW5kb3dVcGRhdGUoKSBjcmFzaGVzIHdpdGgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcAppbmRleCAzM2U1MGM5Li5mMGFhNTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC02
OCw2ICs2OCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5WaWV3Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZW5kZXJQYXJ0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1NldHRpbmdzLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNzc3LDkgKzc3OCw5
IEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3
RG9jdW1lbnQoUGFnZSopCiAgICAgICAgIG1fd2ViRnJhbWUtPnNldFdlYlZpZXcod2ViVmlldyk7
CiB9CiAKLXZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNl
RnJvbVBhZ2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVy
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhZ2UqIG9sZFBhZ2UpCit2b2lkIFdl
YkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291
cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFnZSog
b2xkUGFnZSkKIHsKLSAgICBhc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdChpZGVudGlm
aWVyLCBsb2FkZXIsIHJlcXVlc3QpOworICAgIGFzc2lnbklkZW50aWZpZXJUb0luaXRpYWxSZXF1
ZXN0KGxvYWRlci0+aWRlbnRpZmllcigpLCBsb2FkZXItPmRvY3VtZW50TG9hZGVyKCksIHJlcXVl
c3QpOwogCiAgICAgV2ViVmlldyogb2xkV2ViVmlldyA9IGtpdChvbGRQYWdlKTsKICAgICBpZiAo
IW9sZFdlYlZpZXcpCkBAIC03OTIsNyArNzkzLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVu
dDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWYK
ICAgICBDT01QdHI8SVdlYlJlc291cmNlTG9hZERlbGVnYXRlUHJpdmF0ZTI+IG9sZFJlc291cmNl
TG9hZERlbGVnYXRlUHJpdmF0ZTIoUXVlcnksIG9sZFJlc291cmNlTG9hZERlbGVnYXRlKTsKICAg
ICBpZiAoIW9sZFJlc291cmNlTG9hZERlbGVnYXRlUHJpdmF0ZTIpCiAgICAgICAgIHJldHVybjsK
LSAgICBvbGRSZXNvdXJjZUxvYWREZWxlZ2F0ZVByaXZhdGUyLT5yZW1vdmVJZGVudGlmaWVyRm9y
UmVxdWVzdChvbGRXZWJWaWV3LCBpZGVudGlmaWVyKTsKKyAgICBvbGRSZXNvdXJjZUxvYWREZWxl
Z2F0ZVByaXZhdGUyLT5yZW1vdmVJZGVudGlmaWVyRm9yUmVxdWVzdChvbGRXZWJWaWV3LCBsb2Fk
ZXItPmlkZW50aWZpZXIoKSk7CiB9CiAKIFBhc3NSZWZQdHI8RnJhbWU+IFdlYkZyYW1lTG9hZGVy
Q2xpZW50OjpjcmVhdGVGcmFtZShjb25zdCBLVVJMJiBVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwg
SFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsIGNvbnN0IFN0cmluZyYgcmVmZXJy
ZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuaAppbmRleCAwZGYzMWU4Li5jNDNhNzE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgK
QEAgLTExOSw3ICsxMTksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNv
cmU6OkZyYW1lPiBjcmVhdGVGcmFtZShjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwsIGNvbnN0IFdU
Rjo6U3RyaW5nJiBuYW1lLCBXZWJDb3JlOjpIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxl
bWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYg
cmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5nLCBpbnQgbWFyZ2luV2lkdGgsIGludCBtYXJn
aW5IZWlnaHQpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0Rv
Y3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBXZWJDb3JlOjpEb2N1bWVudExvYWRlcios
IGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKKyAgICB2
aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShXZWJDb3JlOjpSZXNv
dXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBh
Z2UqKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVQbHVn
aW4oY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50Kiwg
Y29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBjb25zdCBW
ZWN0b3I8V1RGOjpTdHJpbmc+JiwgY29uc3QgV1RGOjpTdHJpbmcmLCBib29sIGxvYWRNYW51YWxs
eSk7CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1Z2luKFdlYkNvcmU6OldpZGdl
dCogcGx1Z2luV2lkZ2V0KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwppbmRleCA3MjYwZGRhLi4zODEx
MmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTEyICBE
bWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZyYW1lTG9hZGVy
Q2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90IGhhdmUgZW5v
dWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6dHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRX
aW5DRS5oOgorCiAyMDExLTA4LTAzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBOb2RlIHBhcmFtZXRlciBmcm9t
IHRoZSBJbnNwZWN0b3JDbGllbnQ6OmhpZ2hsaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHAK
aW5kZXggNTRjMTI2NC4uMWU0NTM3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9X
ZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuY3BwCkBAIC0x
NzYsNyArMTc2LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudFdpbkNFOjpkaWRUcmFuc2ZlckNo
aWxkRnJhbWVUb05ld0RvY3VtZW50KFBhZ2UqKQogewogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xp
ZW50V2luQ0U6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywg
RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBQYWdlKikK
K3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRXaW5DRTo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9t
UGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFBh
Z2UqKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5oCmluZGV4IGM1ZDMwMDkuLjAwOTE4YmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2Fk
ZXJDbGllbnRXaW5DRS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
RnJhbWVMb2FkZXJDbGllbnRXaW5DRS5oCkBAIC0xMTAsNyArMTEwLDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGcmFtZT4gY3JlYXRlRnJhbWUoY29uc3QgV2Vi
Q29yZTo6S1VSTCYgdXJsLCBjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgV2ViQ29yZTo6SFRNTEZy
YW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIHJlZmVycmVyLCBib29sIGFsbG93c1Njcm9sbGluZywg
aW50IG1hcmdpbldpZHRoLCBpbnQgbWFyZ2luSGVpZ2h0KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
VHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChXZWJDb3JlOjpQYWdlKik7Ci0gICAgdmly
dHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywg
V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBXZWJDb3JlOjpQYWdlKik7CisgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291
cmNlRnJvbVBhZ2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpQYWdlKik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdl
YkNvcmU6OldpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBXZWJD
b3JlOjpIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXVEY6
OlZlY3RvcjxXVEY6OlN0cmluZz4mLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mLCBj
b25zdCBXVEY6OlN0cmluZyYsIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCByZWRpcmVjdERhdGFU
b1BsdWdpbihXZWJDb3JlOjpXaWRnZXQqIHBsdWdpbldpZGdldCk7CiAgICAgdmlydHVhbCBQYXNz
UmVmUHRyPFdlYkNvcmU6OldpZGdldD4gY3JlYXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBXZWJD
b3JlOjpJbnRTaXplJiwgV2ViQ29yZTo6SFRNTEFwcGxldEVsZW1lbnQqLCBjb25zdCBXZWJDb3Jl
OjpLVVJMJiBiYXNlVVJMLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mIHBhcmFtTmFt
ZXMsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6U3RyaW5nPiYgcGFyYW1WYWx1ZXMpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5n
ZUxvZwppbmRleCAxNDZjODI4Li4xZDkyOWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3d4
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDExLTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdl
IGRvZXMgbm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
V3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6dHJhbnNmZXJM
b2FkaW5nUmVzb3VyY2VGcm9tUGFnZSk6CisgICAgICAgICogV2ViS2l0U3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFd4Lmg6CisKIDIwMTEtMDgtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgUGx1Z2luSGFsdGVyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAgYi9T
b3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAKaW5k
ZXggZTM4MGZiMC4uMThjMWQwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNwcApAQCAtODc4LDcgKzg3OCw3IEBAIHZv
aWQgRnJhbWVMb2FkZXJDbGllbnRXeDo6ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVu
dChQYWdlKikKIHsKIH0KIAotdm9pZCBGcmFtZUxvYWRlckNsaWVudFd4Ojp0cmFuc2ZlckxvYWRp
bmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V3g6OnRyYW5z
ZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UoUmVzb3VyY2VMb2FkZXIqLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBQYWdlKikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9X
ZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmgKaW5kZXggZTE0ODFjNi4uMWMyMDdmMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50V3guaAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRXeC5oCkBAIC0yMTQsNyArMjE0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3RyaW5nJiByZWZlcnJl
ciwgYm9vbCBhbGxvd3NTY3JvbGxpbmcsIGludCBtYXJnaW5XaWR0aCwgaW50IG1hcmdpbkhlaWdo
dCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3Vt
ZW50KFBhZ2UqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNl
RnJvbVBhZ2UodW5zaWduZWQgbG9uZywgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNvdXJjZVJl
cXVlc3QmLCBQYWdlKik7CisgICAgICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNv
dXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFn
ZSopOwogICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29u
c3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcmLCBib29sIGxv
YWRNYW51YWxseSkgOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVkaXJlY3REYXRhVG9QbHVnaW4o
V2lkZ2V0KiBwbHVnaW5XaWRnZXQpOwogICAgICAgICB2aXJ0dWFsIFJlc291cmNlRXJyb3IgcGx1
Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggMzE1NDczNS4uNDNjYTU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEx
LTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZy
YW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90
IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5z
ZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKwogMjAxMS0wOC0xMSAgVmlhdGNoZXNs
YXYgT3N0YXBlbmtvICA8b3N0YXBlbmtvLnZpYXRjaGVzbGF2QG5va2lhLmNvbT4KIAogICAgICAg
ICBWZWN0b3JBcmd1bWVudENvZGVyIGRvZXNuJ3QgZW5jb2RlL2RlY29kZSBlbm91Z2ggZGF0YSBm
b3IgbW9yZSB0aGFuIG9uZSBieXRlIHZlY3RvciBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcAppbmRleCAzYmM4YWQyLi41YTYwNmRmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcApAQCAtMTIzMSw3ICsxMjMxLDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRl
ckNsaWVudDo6ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChQYWdlKikKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50
Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCBmZTdjMTFlLi44MmEzYmMyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0xODYsNyArMTg2LDcgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IFdl
YkNvcmU6OktVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXZWJDb3JlOjpIVE1MRnJhbWVP
d25lckVsZW1lbnQqIG93bmVyRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5n
LCBpbnQgbWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpOwogICAgIHZpcnR1YWwgdm9pZCBk
aWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAgICB2
aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25n
LCBXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dCYsIFdlYkNvcmU6OlBhZ2UqKTsKKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVz
b3VyY2VGcm9tUGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICAKICAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcm
LCBib29sIGxvYWRNYW51YWxseSk7CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1
Z2luKFdlYkNvcmU6OldpZGdldCogcGx1Z2luV2lkZ2V0KTsK
</data>
<flag name="commit-queue"
          id="99546"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103937</attachid>
            <date>2011-08-15 11:49:25 -0700</date>
            <delta_ts>2011-08-15 15:49:50 -0700</delta_ts>
            <desc>Fixed Mac build error</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>39768</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1ZTczZTQzLi45YmNmMDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYg
QEAKKzIwMTEtMDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2Ug
ZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgc2luY2Ugbm8gY2hhbmdlIGluIGJl
aGF2aW9yLgorICAgICAgICBUaGUgb3JpZ2luYWwgaXNzdWUgaXMgb25seSByZXByb2R1Y2libGUg
b24gQ2hyb21pdW0gaW4gbXVsdGktcHJvY2VzcyBtb2RlCisgICAgICAgIGFuZCBpcyB0ZXN0ZWQg
dGhlcmUgYnkgYSBicm93c2VydGVzdC4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6dHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VzRnJvbVBhZ2UpOgorICAgICAgICBQYXNzaW5nIFJlc291cmNlTG9hZGVyKiBpbnRv
IHRoZSBGcmFtZUxvYWRlckNsaWVudCBub3RpZmljYXRpb24uCisgICAgICAgIEFsc28sIGZpeGVk
IHRoZSBidWcgd2hlcmUgdGhlIHNhbWUgUmVzb3VyY2VSZXF1ZXN0IHdhcyBwYXNzZWQgZm9yIGFs
bCBzdWJyZXNvdXJjZXMuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAg
ICAoV2ViQ29yZTo6RW1wdHlGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpkaXNwYXRjaFRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UpOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRl
ci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0
Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAgICAgICAgKiBsb2FkZXIvUmVz
b3VyY2VMb2FkTm90aWZpZXIuaDoKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmluaXQpOgorICAgICAgICAqIGxv
YWRlci9SZXNvdXJjZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6
Om9yaWdpbmFsUmVxdWVzdCk6IEFkZGVkIHRoZSBvcmlnaW5hbFJlcXVlc3QoKSBhY2Nlc3NvciB0
aGF0CisgICAgICAgIHJldHVybnMgdGhlIHJlcXVlc3QgYXMgaXQgZXhpc3RlZCBiZWZvcmUgcmVk
aXJlY3RzIChidXQgYWZ0ZXIgY2xpZW50J3Mgd2lsbCBTZW5kUmVxdWVzdCkuCisgICAgICAgIFRo
aXMgaXMgdG8gYmUgYWJsZSB0byBwYXNzIHRoZSBvcmlnaW5hbCByZXF1ZXN0IGZvciBsb2FkaW5n
IHN1YnJlc291cmNlcyBpbnRvCisgICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlLCBzaW5jZSB0aGF0IG9uZSBpcyB1c2VkIHRvIGludm9rZQor
ICAgICAgICBhc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdCwgd2hpY2ggbmVlZHMgb3Jp
Z2luYWwgcmVxdWVzdC4KKwogMjAxMS0wOC0xMiAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29t
PgogCiAgICAgICAgIEJlIG1vcmUgZm9yd2FyZC1sb29raW5nIGluIHRoZSBjaG9pY2Ugb2YgY29t
cGlsZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCA3ZjA3
YWIxLi42ODRmYjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAK
QEAgLTg1OSwxOSArODU5LDE0IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnRyYW5zZmVyTG9hZGlu
Z1Jlc291cmNlc0Zyb21QYWdlKFBhZ2UqIG9sZFBhZ2UpCiAgICAgRnJhbWVMb2FkZXIqIGxvYWRl
ciA9IGZyYW1lTG9hZGVyKCk7CiAgICAgQVNTRVJUKGxvYWRlcik7CiAKLSAgICBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QgPSBvcmlnaW5hbFJlcXVlc3QoKTsKLSAgICBpZiAoaXNMb2Fk
aW5nTWFpblJlc291cmNlKCkpIHsKLSAgICAgICAgbG9hZGVyLT5kaXNwYXRjaFRyYW5zZmVyTG9h
ZGluZ1Jlc291cmNlRnJvbVBhZ2UoCi0gICAgICAgICAgICBtX21haW5SZXNvdXJjZUxvYWRlci0+
aWRlbnRpZmllcigpLCB0aGlzLCByZXF1ZXN0LCBvbGRQYWdlKTsKLSAgICB9CisgICAgaWYgKGlz
TG9hZGluZ01haW5SZXNvdXJjZSgpKQorICAgICAgICBsb2FkZXItPmRpc3BhdGNoVHJhbnNmZXJM
b2FkaW5nUmVzb3VyY2VGcm9tUGFnZShtX21haW5SZXNvdXJjZUxvYWRlci5nZXQoKSwgb3JpZ2lu
YWxSZXF1ZXN0KCksIG9sZFBhZ2UpOwogCiAgICAgaWYgKGlzTG9hZGluZ1N1YnJlc291cmNlcygp
KSB7CiAgICAgICAgIFJlc291cmNlTG9hZGVyU2V0Ojpjb25zdF9pdGVyYXRvciBpdCA9IG1fc3Vi
cmVzb3VyY2VMb2FkZXJzLmJlZ2luKCk7CiAgICAgICAgIFJlc291cmNlTG9hZGVyU2V0Ojpjb25z
dF9pdGVyYXRvciBlbmQgPSBtX3N1YnJlc291cmNlTG9hZGVycy5lbmQoKTsKLSAgICAgICAgZm9y
ICg7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgbG9hZGVyLT5kaXNwYXRjaFRyYW5z
ZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UoCi0gICAgICAgICAgICAgICAgKCppdCktPmlkZW50
aWZpZXIoKSwgdGhpcywgcmVxdWVzdCwgb2xkUGFnZSk7Ci0gICAgICAgIH0KKyAgICAgICAgZm9y
ICg7IGl0ICE9IGVuZDsgKytpdCkKKyAgICAgICAgICAgIGxvYWRlci0+ZGlzcGF0Y2hUcmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKCgqaXQpLmdldCgpLCAoKml0KS0+b3JpZ2luYWxSZXF1
ZXN0KCksIG9sZFBhZ2UpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50
cy5oCmluZGV4IGFjNDMwYTUuLjgzODI2Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKQEAgLTM3NSw3ICszNzUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpZFJ1
bkluc2VjdXJlQ29udGVudChTZWN1cml0eU9yaWdpbiosIGNvbnN0IEtVUkwmKSB7IH0KICAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBT
dHJpbmcmLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqLCBjb25zdCBTdHJpbmcmLCBib29sLCBpbnQs
IGludCkgeyByZXR1cm4gMDsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJh
bWVUb05ld0RvY3VtZW50KFBhZ2UqKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBEb2N1bWVudExvYWRlciosIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIFBhZ2UqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJM
b2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYsIFBhZ2UqKSB7IH0KICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQ
bHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgS1VSTCYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJpbmcm
LCBib29sKSB7IHJldHVybiAwOyB9CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3Jl
YXRlSmF2YUFwcGxldFdpZGdldChjb25zdCBJbnRTaXplJiwgSFRNTEFwcGxldEVsZW1lbnQqLCBj
b25zdCBLVVJMJiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYp
IHsgcmV0dXJuIDA7IH0KICNpZiBFTkFCTEUoUExVR0lOX1BST1hZX0ZPUl9WSURFTykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IGQxZDE4NTQuLjlkYWNhZDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcApAQCAtMTY0OCw5ICsxNjQ4LDkgQEAgdm9p
ZCBGcmFtZUxvYWRlcjo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VzRnJvbVBhZ2UoUGFnZSogb2xk
UGFnZSkKICAgICB9CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXI6OmRpc3BhdGNoVHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9h
ZGVyKiBkb2NMb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFnZSogb2xk
UGFnZSkKK3ZvaWQgRnJhbWVMb2FkZXI6OmRpc3BhdGNoVHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZShSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJl
cXVlc3QsIFBhZ2UqIG9sZFBhZ2UpCiB7Ci0gICAgbm90aWZpZXIoKS0+ZGlzcGF0Y2hUcmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKGlkZW50aWZpZXIsIGRvY0xvYWRlciwgcmVxdWVzdCwg
b2xkUGFnZSk7CisgICAgbm90aWZpZXIoKS0+ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJj
ZUZyb21QYWdlKGxvYWRlciwgcmVxdWVzdCwgb2xkUGFnZSk7CiB9CiAKIHZvaWQgRnJhbWVMb2Fk
ZXI6OnNldERvY3VtZW50TG9hZGVyKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5oCmluZGV4IDIwOTQyNWUuLmVkZmM1YTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlci5oCkBAIC0xMzIsNyArMTMyLDcgQEAgcHVibGljOgogICAgIGJvb2wg
aXNMb2FkaW5nKCkgY29uc3Q7CiAgICAgYm9vbCBmcmFtZUhhc0xvYWRlZCgpIGNvbnN0OwogICAg
IHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VzRnJvbVBhZ2UoUGFnZSopOwotICAgIHZvaWQg
ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERv
Y3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOworICAgIHZvaWQg
ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOwogCiAgICAgaW50IG51bVBlbmRpbmdPckxv
YWRpbmdSZXF1ZXN0cyhib29sIHJlY3Vyc2UpIGNvbnN0OwogICAgIFN0cmluZyByZWZlcnJlcigp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCAx
NDA4MGVkLi4wMTAwODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVM
b2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGll
bnQuaApAQCAtMjUwLDcgKzI1MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmly
dHVhbCBQYXNzUmVmUHRyPEZyYW1lPiBjcmVhdGVGcmFtZShjb25zdCBLVVJMJiB1cmwsIGNvbnN0
IFN0cmluZyYgbmFtZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJv
b2wgYWxsb3dzU2Nyb2xsaW5nLCBpbnQgbWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpID0g
MDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1l
bnQoUGFnZSogb2xkUGFnZSkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2Fk
aW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9h
ZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSogb2xkUGFnZSkgPSAwOworICAgICAg
ICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxv
YWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhZ2UqIG9sZFBhZ2UpID0gMDsKICAgICAg
ICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUm
LCBIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwgYm9vbCBsb2FkTWFudWFsbHkp
ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1Z2luKFdpZGdldCog
cGx1Z2luV2lkZ2V0KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkTm90aWZpZXIuY3BwCmluZGV4IDk2YmQ1ZjYuLjYxZWFjZjQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcApAQCAtMTQ0LDEyICsxNDQsMTIg
QEAgdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRGaW5pc2hMb2FkaW5nKERv
Y3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2kKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZEZpbmlzaExvYWRpbmcobV9mcmFtZSwgbG9hZGVyLCBpZGVudGlmaWVyLCBmaW5pc2hUaW1l
KTsKIH0KIAotdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hUcmFuc2ZlckxvYWRp
bmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2Fk
ZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYWdlKiBvbGRQYWdl
KQordm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hUcmFuc2ZlckxvYWRpbmdSZXNv
dXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCwgUGFnZSogb2xkUGFnZSkKIHsKICAgICBBU1NFUlQob2xkUGFnZSAhPSBtX2Zy
YW1lLT5wYWdlKCkpOwotICAgIG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+dHJhbnNmZXJM
b2FkaW5nUmVzb3VyY2VGcm9tUGFnZShpZGVudGlmaWVyLCBsb2FkZXIsIHJlcXVlc3QsIG9sZFBh
Z2UpOworICAgIG1fZnJhbWUtPmxvYWRlcigpLT5jbGllbnQoKS0+dHJhbnNmZXJMb2FkaW5nUmVz
b3VyY2VGcm9tUGFnZShsb2FkZXIsIHJlcXVlc3QsIG9sZFBhZ2UpOwogCi0gICAgb2xkUGFnZS0+
cHJvZ3Jlc3MoKS0+Y29tcGxldGVQcm9ncmVzcyhpZGVudGlmaWVyKTsKKyAgICBvbGRQYWdlLT5w
cm9ncmVzcygpLT5jb21wbGV0ZVByb2dyZXNzKGxvYWRlci0+aWRlbnRpZmllcigpKTsKIH0KIAog
dm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6c2VuZFJlbWFpbmluZ0RlbGVnYXRlTWVzc2FnZXMo
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5n
dGgsIGludCBlbmNvZGVkRGF0YUxlbmd0aCwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5oCmluZGV4IDZhOTI5
NmMuLjVlMDIwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxv
YWROb3RpZmllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5oCkBAIC02Miw3ICs2Miw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3BhdGNoRGlkUmVj
ZWl2ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CiAgICAgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVEYXRh
KERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyKiBk
YXRhLCBpbnQgZGF0YUxlbmd0aCwgaW50IGVuY29kZWREYXRhTGVuZ3RoKTsKICAgICB2b2lkIGRp
c3BhdGNoRGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgZG91YmxlIGZpbmlzaFRpbWUpOwotICAgIHZvaWQgZGlzcGF0Y2hUcmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOworICAgIHZvaWQgZGlzcGF0Y2hUcmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgUGFnZSopOwogCiAgICAgdm9pZCBzZW5kUmVtYWluaW5nRGVsZWdhdGVNZXNzYWdlcyhE
b2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYsIGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoLCBpbnQgZW5jb2RlZERh
dGFMZW5ndGgsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9S
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNzkzYTIyMi4uOTI0NDQ4YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgYm9vbCBSZXNv
dXJjZUxvYWRlcjo6aW5pdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHIpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAKLSAgICBtX3JlcXVlc3QgPSBjbGllbnRSZXF1ZXN0OworICAgIG1f
b3JpZ2luYWxSZXF1ZXN0ID0gbV9yZXF1ZXN0ID0gY2xpZW50UmVxdWVzdDsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaAppbmRleCA5ZTIx
MzgwLi5hZmU5ZjllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaApAQCAt
NTYsNiArNTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRnJhbWVMb2FkZXIq
IGZyYW1lTG9hZGVyKCkgY29uc3Q7CiAgICAgICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExv
YWRlcigpIGNvbnN0IHsgcmV0dXJuIG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCk7IH0KKyAgICAgICAg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBvcmlnaW5hbFJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBt
X29yaWdpbmFsUmVxdWVzdDsgfQogICAgICAgICAKICAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNl
bChjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgICAgIFJlc291cmNlRXJyb3IgY2FuY2VsbGVk
RXJyb3IoKTsKQEAgLTE2Niw2ICsxNjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkaWRDYW5jZWwoY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKIAogICAg
ICAgICBSZXNvdXJjZVJlcXVlc3QgbV9yZXF1ZXN0OworICAgICAgICBSZXNvdXJjZVJlcXVlc3Qg
bV9vcmlnaW5hbFJlcXVlc3Q7IC8vIEJlZm9yZSByZWRpcmVjdHMuCiAgICAgICAgIFJlZlB0cjxT
aGFyZWRCdWZmZXI+IG1fcmVzb3VyY2VEYXRhOwogICAgICAgICAKICAgICAgICAgdW5zaWduZWQg
bG9uZyBtX2lkZW50aWZpZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDI5MDhjYjIu
LjAxNDM2NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MTEtMDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
RnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBu
b3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNl
RnJvbVBhZ2UpOgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaDoKKwogMjAx
MS0wOC0xMiAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2lyZSBnZXN0dXJlIHRhcCBldmVudHMsIGFkZCBzdXBwb3J0IGZvciBnZXN0dXJl
IGV2ZW50cyBpbiB0aGUgRFJUIGFuZCBhZGQgYSBsYXlvdXQgdGVzdCBmb3IgaXQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApp
bmRleCA3MTllYzI0Li4xMzYyYWE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNs
dWRlICJQbHVnaW5EYXRhLmgiCiAjaW5jbHVkZSAiUGx1Z2luRGF0YUNocm9taXVtLmgiCiAjaW5j
bHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNp
bmNsdWRlICJTZXR0aW5ncy5oIgogI2luY2x1ZGUgIlN0cmluZ0V4dHJhcy5oIgogI2luY2x1ZGUg
IldlYkRhdGFTb3VyY2VJbXBsLmgiCkBAIC0xNDUxLDEzICsxNDUyLDEzIEBAIHZvaWQgRnJhbWVM
b2FkZXJDbGllbnRJbXBsOjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFBhZ2Uq
KQogICAgIG1fd2ViRnJhbWUtPnNldENsaWVudChuZXdQYXJlbnQtPmNsaWVudCgpKTsKIH0KIAot
dm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBh
Z2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciogbG9hZGVyLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhZ2UqIG9sZFBhZ2UpCit2b2lkIEZyYW1lTG9h
ZGVyQ2xpZW50SW1wbDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxv
YWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhZ2UqIG9sZFBh
Z2UpCiB7Ci0gICAgYXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVlc3QoaWRlbnRpZmllciwg
bG9hZGVyLCByZXF1ZXN0KTsKKyAgICBhc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFsUmVxdWVzdChs
b2FkZXItPmlkZW50aWZpZXIoKSwgbG9hZGVyLT5kb2N1bWVudExvYWRlcigpLCByZXF1ZXN0KTsK
IAogICAgIFdlYkZyYW1lSW1wbCogb2xkV2ViRnJhbWUgPSBXZWJGcmFtZUltcGw6OmZyb21GcmFt
ZShvbGRQYWdlLT5tYWluRnJhbWUoKSk7CiAgICAgaWYgKG9sZFdlYkZyYW1lICYmIG9sZFdlYkZy
YW1lLT5jbGllbnQoKSkKLSAgICAgICAgb2xkV2ViRnJhbWUtPmNsaWVudCgpLT5yZW1vdmVJZGVu
dGlmaWVyRm9yUmVxdWVzdChpZGVudGlmaWVyKTsKKyAgICAgICAgb2xkV2ViRnJhbWUtPmNsaWVu
dCgpLT5yZW1vdmVJZGVudGlmaWVyRm9yUmVxdWVzdChsb2FkZXItPmlkZW50aWZpZXIoKSk7CiB9
CiAKIFBhc3NSZWZQdHI8V2lkZ2V0PiBGcmFtZUxvYWRlckNsaWVudEltcGw6OmNyZWF0ZVBsdWdp
bigKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xp
ZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJ
bXBsLmgKaW5kZXggNzFmN2U1MC4uMGU4MGU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAgLTE4NSw3ICsxODUsNyBAQCBw
dWJsaWM6CiAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiByZWZlcnJlciwgYm9vbCBhbGxvd3NT
Y3JvbGxpbmcsCiAgICAgICAgIGludCBtYXJnaW5XaWR0aCwgaW50IG1hcmdpbkhlaWdodCk7CiAg
ICAgdmlydHVhbCB2b2lkIGRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQoV2ViQ29y
ZTo6UGFnZSopOwotICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21Q
YWdlKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOworICAgIHZpcnR1YWwgdm9pZCB0
cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwogICAgIHZp
cnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpXaWRnZXQ+IGNyZWF0ZVBsdWdpbigKICAgICAgICAg
Y29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiwgY29u
c3QgV2ViQ29yZTo6S1VSTCYsCiAgICAgICAgIGNvbnN0IFZlY3RvcjxXVEY6OlN0cmluZz4mLCBj
b25zdCBWZWN0b3I8V1RGOjpTdHJpbmc+JiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCBjZmFjYzczLi4z
ZTM3NzBlZiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTA4LTEyICBE
bWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEZyYW1lTG9hZGVy
Q2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlIGRvZXMgbm90IGhhdmUgZW5v
dWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEVmbDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwu
aDoKKwogMjAxMS0wOC0xMiAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtvd3NraUBzYW1z
dW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBGaXggYWZ0ZXIgcjkxODE1IC0gcmVzdG9yZSBjaGFu
Z2VzIGZyb20gcjkxNjU5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRFZmwuY3BwCmluZGV4IDhlN2IyZTkuLjVhMGMxZjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEVmbC5jcHAKQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50RWZsOjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFBhZ2UqKQogewog
fQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZy
b21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1
ZXN0JiwgUGFnZSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50RWZsOjp0cmFuc2ZlckxvYWRpbmdS
ZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
UGFnZSopCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9GcmFtZUxvYWRlckNsaWVudEVmbC5oCmluZGV4IDZiYjMyNmMuLjAyMjcxMmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRFZmwuaApAQCAtMTM2LDcgKzEzNiw3IEBAIGNsYXNzIEZyYW1lTG9hZGVyQ2xpZW50RWZs
IDogcHVibGljIEZyYW1lTG9hZGVyQ2xpZW50IHsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RnJh
bWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIEhUTUxGcmFt
ZU93bmVyRWxlbWVudCosCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgU3Ry
aW5nJiByZWZlcnJlciwgYm9vbCBhbGxvd3NTY3JvbGxpbmcsIGludCBtYXJnaW5XaWR0aCwgaW50
IG1hcmdpbkhlaWdodCk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRv
TmV3RG9jdW1lbnQoUGFnZSopOwotICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNv
dXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOworICAgIHZpcnR1YWwgdm9pZCB0
cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwogCiAgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmLCBIVE1MUGx1Z0lu
RWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBXVEY6OlZlY3RvcjxTdHJpbmc+JiwgY29uc3Qg
V1RGOjpWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFN0cmluZyYsIGJvb2wpOwogICAgIHZpcnR1YWwg
dm9pZCByZWRpcmVjdERhdGFUb1BsdWdpbihXaWRnZXQqIHBsdWdpbldpZGdldCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKaW5kZXggZmI5N2ZlNS4uNGM3MTE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9n
dGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE0IEBACisyMDExLTA4LTEyICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21Q
YWdlIGRvZXMgbm90IGhhdmUgZW5vdWdoIHBhcmFtZXRlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEd0ay5oOgorCiAyMDExLTA4LTExICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEg
IDxnbnNAZ25vbWUub3JnPgogCiAgICAgICAgIEFkZCB0aGUgamF2YXNjcmlwdCBjb3JlIGR5bmFt
aWMgbGlicmFyeSBmb3IgZ3RrLWRvYydzIGludHJvc3BlY3Rpb24gaGVscGVyLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsu
Y3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRH
dGsuY3BwCmluZGV4IDlkMTBjNTkuLmM5NDg2MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Z3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5jcHAKQEAgLTYw
LDYgKzYwLDcgQEAKICNpbmNsdWRlICJSZW5kZXJQYXJ0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmll
dy5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VMb2Fk
ZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNsdWRlICJTY3JpcHRDb250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTU4MywxNCArNTg0LDE0IEBAIHZv
aWQgRnJhbWVMb2FkZXJDbGllbnQ6OmRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQo
V2ViQ29yZTo6UGFnZSopCiAgICAgQVNTRVJUKGNvcmUoZ2V0Vmlld0Zyb21GcmFtZShtX2ZyYW1l
KSkgPT0gY29yZUZyYW1lLT5wYWdlKCkpOwogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50Ojp0
cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
V2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqIGRvY0xvYWRlciwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBXZWJDb3JlOjpQYWdlKiBvbGRQYWdlKQordm9pZCBGcmFtZUxv
YWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShXZWJDb3JlOjpSZXNv
dXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIFdlYkNvcmU6OlBhZ2UqIG9sZFBhZ2UpCiB7CiAgICAgQVNTRVJUKG9sZFBhZ2UgIT0gY29y
ZShtX2ZyYW1lKS0+cGFnZSgpKTsKIAotICAgIEdPd25QdHI8Z2NoYXI+IGlkZW50aWZpZXJTdHJp
bmcodG9TdHJpbmcoaWRlbnRpZmllcikpOworICAgIEdPd25QdHI8Z2NoYXI+IGlkZW50aWZpZXJT
dHJpbmcodG9TdHJpbmcobG9hZGVyLT5pZGVudGlmaWVyKCkpKTsKICAgICBBU1NFUlQoIXdlYmtp
dF93ZWJfdmlld19nZXRfcmVzb3VyY2UoZ2V0Vmlld0Zyb21GcmFtZShtX2ZyYW1lKSwgaWRlbnRp
ZmllclN0cmluZy5nZXQoKSkpOwogCi0gICAgYXNzaWduSWRlbnRpZmllclRvSW5pdGlhbFJlcXVl
c3QoaWRlbnRpZmllciwgZG9jTG9hZGVyLCByZXF1ZXN0KTsKKyAgICBhc3NpZ25JZGVudGlmaWVy
VG9Jbml0aWFsUmVxdWVzdChsb2FkZXItPmlkZW50aWZpZXIoKSwgbG9hZGVyLT5kb2N1bWVudExv
YWRlcigpLCByZXF1ZXN0KTsKIAogICAgIHdlYmtpdF93ZWJfdmlld19yZW1vdmVfcmVzb3VyY2Uo
a2l0KG9sZFBhZ2UpLCBpZGVudGlmaWVyU3RyaW5nLmdldCgpKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmggYi9T
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oCmlu
ZGV4IGYwZGUyZmMuLmEyYWFlMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaApAQCAtMTE1LDcgKzExNSw3IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6
RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpT
dHJpbmcmIG5hbWUsIFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXVEY6OlN0cmluZyYg
cmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5nLCBpbnQgbWFyZ2luV2lkdGgsIGludCBtYXJn
aW5IZWlnaHQpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9O
ZXdEb2N1bWVudChXZWJDb3JlOjpQYWdlKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB0cmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkRvY3VtZW50
TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSop
OworICAgICAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShX
ZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYs
IFdlYkNvcmU6OlBhZ2UqKTsKICAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6Oldp
ZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudCosIGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBXVEY6OlZlY3RvcjxX
VEY6OlN0cmluZz4mLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mLCBjb25zdCBXVEY6
OlN0cmluZyYsIGJvb2wpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgcmVkaXJlY3REYXRhVG9QbHVn
aW4oV2ViQ29yZTo6V2lkZ2V0KiBwbHVnaW5XaWRnZXQpOwogICAgICAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVKYXZhQXBwbGV0V2lkZ2V0KGNvbnN0IFdlYkNv
cmU6OkludFNpemUmLCBXZWJDb3JlOjpIVE1MQXBwbGV0RWxlbWVudCosIGNvbnN0IFdlYkNvcmU6
OktVUkwmIGJhc2VVUkwsIGNvbnN0IFdURjo6VmVjdG9yPFdURjo6U3RyaW5nPiYgcGFyYW1OYW1l
cywgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiBwYXJhbVZhbHVlcyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2hhaWt1L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvaGFpa3Uv
Q2hhbmdlTG9nCmluZGV4IDAyYTVmMDAuLmZhMjgzNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvaGFpa3UvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMTIgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291
cmNlRnJvbVBhZ2UgZG9lcyBub3QgaGF2ZSBlbm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50SGFpa3UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGll
bnRIYWlrdTo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSk6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oOgorCiAyMDExLTA4LTAzICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHJlbW92ZSBOb2RlIHBhcmFtZXRlciBmcm9tIHRoZSBJbnNwZWN0b3JDbGllbnQ6OmhpZ2hs
aWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEhhaWt1LmNwcCBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5jcHAKaW5kZXggOWM0ODM5YS4uNTExYTQ4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudEhhaWt1LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50SGFpa3UuY3BwCkBAIC03NTAsNyArNzUwLDcgQEAgdm9pZCBGcmFtZUxv
YWRlckNsaWVudEhhaWt1OjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFBhZ2Uq
KQogewogfQogCi12b2lkIEZyYW1lTG9hZGVyQ2xpZW50SGFpa3U6OnRyYW5zZmVyTG9hZGluZ1Jl
c291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywgRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBQYWdlKikKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRIYWlrdTo6dHJhbnNm
ZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYsIFBhZ2UqKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2hhaWt1
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50SGFpa3UuaCBiL1NvdXJjZS9XZWJLaXQv
aGFpa3UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oCmluZGV4IDUxNzQx
YTEuLmYwZmYxNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvaGFpa3UvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRIYWlrdS5oCkBAIC0yMjgsNyArMjI4LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudCosIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBhbGxv
d3NTY3JvbGxpbmcsIGludCBtYXJnaW5XaWR0aCwgaW50IG1hcmdpbkhlaWdodCk7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFdlYkNvcmU6
OlBhZ2UqKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJv
bVBhZ2UodW5zaWduZWQgbG9uZywgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpQYWdlKik7CisgICAgICAgIHZpcnR1YWwgdm9pZCB0cmFu
c2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwogICAgICAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgSW50U2l6ZSYsIEhUTUxQbHVnSW5F
bGVtZW50KiwgY29uc3QgS1VSTCYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiwgY29uc3QgU3RyaW5nJiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJvb2wgbG9hZE1hbnVhbGx5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4ZjJjMjE2
Li43NDIxMTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMTIg
IERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRnJhbWVMb2Fk
ZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBub3QgaGF2ZSBl
bm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW06CisgICAgICAgIChXZWJG
cmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSk6CisKIDIw
MTEtMDgtMTIgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBCZSBtb3Jl
IGZvcndhcmQtbG9va2luZyBpbiB0aGUgY2hvaWNlIG9mIGNvbXBpbGVyLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgK
aW5kZXggNDY3ZjA0Ny4uNzdkN2MxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0yMDEsNyArMjAxLDcg
QEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IGNyZWF0
ZUZyYW1lKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUs
IFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCosCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY29uc3QgV1RGOjpTdHJpbmcmIHJlZmVycmVyLCBib29sIGFsbG93
c1Njcm9sbGluZywgaW50IG1hcmdpbldpZHRoLCBpbnQgbWFyZ2luSGVpZ2h0KTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChXZWJDb3JlOjpQYWdl
KiBvbGRQYWdlKTsKLSAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9t
UGFnZSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSogb2xkUGFnZSk7
CisgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UoV2ViQ29y
ZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBXZWJD
b3JlOjpQYWdlKiBvbGRQYWdlKTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6V2lk
Z2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkhUTUxQ
bHVnSW5FbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFZlY3RvcjxXVEY6OlN0
cmluZz4mLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg
VmVjdG9yPFdURjo6U3RyaW5nPiYsIGNvbnN0IFdURjo6U3RyaW5nJiwgYm9vbCk7CiAgICAgdmly
dHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRvUGx1Z2luKFdlYkNvcmU6OldpZGdldCogcGx1Z2luV2lk
Z2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQubW0KaW5kZXggZWM4NDNkNC4uNzI3YzRlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0K
KysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQubW0KQEAgLTE0NjMsMTIgKzE0NjMsMTQgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6
ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChQYWdlKiBvbGRQYWdlKQogewogfQog
Ci12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21Q
YWdlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYWdlKiBvbGRQYWdlKQordm9pZCBXZWJGcmFt
ZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxv
YWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgUGFn
ZSogb2xkUGFnZSkKIHsKICAgICBBU1NFUlQob2xkUGFnZSAhPSBjb3JlKG1fd2ViRnJhbWUuZ2V0
KCkpLT5wYWdlKCkpOworCisgICAgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyID0gbG9hZGVyLT5p
ZGVudGlmaWVyKCk7CiAgICAgQVNTRVJUKCFbZ2V0V2ViVmlldyhtX3dlYkZyYW1lLmdldCgpKSBf
b2JqZWN0Rm9ySWRlbnRpZmllcjppZGVudGlmaWVyXSk7CiAKLSAgICBhc3NpZ25JZGVudGlmaWVy
VG9Jbml0aWFsUmVxdWVzdChpZGVudGlmaWVyLCBsb2FkZXIsIHJlcXVlc3QpOworICAgIGFzc2ln
bklkZW50aWZpZXJUb0luaXRpYWxSZXF1ZXN0KGlkZW50aWZpZXIsIGxvYWRlci0+ZG9jdW1lbnRM
b2FkZXIoKSwgb3JpZ2luYWxSZXF1ZXN0KTsKIAogICAgIFtraXQob2xkUGFnZSkgX3JlbW92ZU9i
amVjdEZvcklkZW50aWZpZXI6aWRlbnRpZmllcl07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IGVkNmM1
NzguLjE1NjU2MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDgtMTIg
IERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRnJhbWVMb2Fk
ZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UgZG9lcyBub3QgaGF2ZSBl
bm91Z2ggcGFyYW1ldGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjYxNjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRRdDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5o
OgorCiAyMDExLTA4LTEyICBDYWlvIE1hcmNlbG8gZGUgT2xpdmVpcmEgRmlsaG8gIDxjYWlvLm9s
aXZlaXJhQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBBZGQgdGVzdCBmb3IgY29ycmVj
dCBvcmRlciBvZiBsb2FkIHNpZ25hbHMgaW4gUVdlYlBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuY3BwCmluZGV4IDU4
ZDc2Y2YuLjA4YjljZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRnJhbWVMb2FkZXJDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmNwcApAQCAtMTM1NSw3ICsxMzU1LDcgQEAgdm9p
ZCBGcmFtZUxvYWRlckNsaWVudFF0OjpkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50
KFBhZ2UqKQogICAgIH0KIH0KIAotdm9pZCBGcmFtZUxvYWRlckNsaWVudFF0Ojp0cmFuc2Zlckxv
YWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50UXQ6OnRy
YW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UoUmVzb3VyY2VMb2FkZXIqLCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmLCBQYWdlKikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaAppbmRleCBiMzAwYjY5Li42YWY4
NTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50UXQuaApAQCAtMjEwLDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHJpbmcmIHJlZmVycmVyLCBib29sIGFsbG93
c1Njcm9sbGluZywgaW50IG1hcmdpbldpZHRoLCBpbnQgbWFyZ2luSGVpZ2h0KTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChXZWJDb3JlOjpQYWdl
Kik7Ci0gICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5z
aWduZWQgbG9uZywgV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpQYWdlKik7CisgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVy
TG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBXZWJDb3JlOjpQYWdlKik7CiAgICAgdmlydHVhbCBQ
YXNzUmVmUHRyPFdpZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmLCBIVE1MUGx1Z0lu
RWxlbWVudCosIGNvbnN0IEtVUkwmLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiwgY29uc3QgU3RyaW5nJiwgYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHJlZGly
ZWN0RGF0YVRvUGx1Z2luKFdpZGdldCogcGx1Z2luV2lkZ2V0KTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmlu
ZGV4IDhiZDc1YTEuLmFkNzc5MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAxMS0wOC0xMiAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSBkb2Vz
IG5vdCBoYXZlIGVub3VnaCBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwOgorICAgICAgICAoV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291
cmNlRnJvbVBhZ2UpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50Lmg6CisKIDIwMTEtMDgtMDUgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFdlYlZpZXc6OnBlcmZvcm1MYXllcmVkV2luZG93VXBkYXRlKCkgY3Jhc2hl
cyB3aXRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggMzNlNTBjOS4uZjBhYTUwYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmNwcApAQCAtNjgsNiArNjgsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luVmll
dy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyUGFydC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VIYW5kbGUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZGVyLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
QEAgLTc3Nyw5ICs3NzgsOSBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaWRUcmFuc2Zl
ckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFBhZ2UqKQogICAgICAgICBtX3dlYkZyYW1lLT5zZXRX
ZWJWaWV3KHdlYlZpZXcpOwogfQogCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1l
bnRMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYWdlKiBv
bGRQYWdlKQordm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3Vy
Y2VGcm9tUGFnZShSZXNvdXJjZUxvYWRlciogbG9hZGVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIFBhZ2UqIG9sZFBhZ2UpCiB7Ci0gICAgYXNzaWduSWRlbnRpZmllclRvSW5pdGlh
bFJlcXVlc3QoaWRlbnRpZmllciwgbG9hZGVyLCByZXF1ZXN0KTsKKyAgICBhc3NpZ25JZGVudGlm
aWVyVG9Jbml0aWFsUmVxdWVzdChsb2FkZXItPmlkZW50aWZpZXIoKSwgbG9hZGVyLT5kb2N1bWVu
dExvYWRlcigpLCByZXF1ZXN0KTsKIAogICAgIFdlYlZpZXcqIG9sZFdlYlZpZXcgPSBraXQob2xk
UGFnZSk7CiAgICAgaWYgKCFvbGRXZWJWaWV3KQpAQCAtNzkyLDcgKzc5Myw3IEBAIHZvaWQgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWdu
ZWQgbG9uZyBpZGVudGlmCiAgICAgQ09NUHRyPElXZWJSZXNvdXJjZUxvYWREZWxlZ2F0ZVByaXZh
dGUyPiBvbGRSZXNvdXJjZUxvYWREZWxlZ2F0ZVByaXZhdGUyKFF1ZXJ5LCBvbGRSZXNvdXJjZUxv
YWREZWxlZ2F0ZSk7CiAgICAgaWYgKCFvbGRSZXNvdXJjZUxvYWREZWxlZ2F0ZVByaXZhdGUyKQog
ICAgICAgICByZXR1cm47Ci0gICAgb2xkUmVzb3VyY2VMb2FkRGVsZWdhdGVQcml2YXRlMi0+cmVt
b3ZlSWRlbnRpZmllckZvclJlcXVlc3Qob2xkV2ViVmlldywgaWRlbnRpZmllcik7CisgICAgb2xk
UmVzb3VyY2VMb2FkRGVsZWdhdGVQcml2YXRlMi0+cmVtb3ZlSWRlbnRpZmllckZvclJlcXVlc3Qo
b2xkV2ViVmlldywgbG9hZGVyLT5pZGVudGlmaWVyKCkpOwogfQogCiBQYXNzUmVmUHRyPEZyYW1l
PiBXZWJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRlRnJhbWUoY29uc3QgS1VSTCYgVVJMLCBjb25z
dCBTdHJpbmcmIG5hbWUsIEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50LCBjb25z
dCBTdHJpbmcmIHJlZmVycmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggMGRmMzFlOC4uYzQzYTcxNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5oCkBAIC0xMTksNyArMTE5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxXZWJDb3JlOjpGcmFtZT4gY3JlYXRlRnJhbWUoY29uc3QgV2ViQ29yZTo6S1VS
TCYgdXJsLCBjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgV2ViQ29yZTo6SFRNTEZyYW1lT3duZXJF
bGVtZW50KiBvd25lckVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgV1RGOjpTdHJpbmcmIHJlZmVycmVyLCBib29sIGFsbG93c1Njcm9sbGluZywgaW50IG1hcmdp
bldpZHRoLCBpbnQgbWFyZ2luSGVpZ2h0KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkVHJhbnNmZXJD
aGlsZEZyYW1lVG9OZXdEb2N1bWVudChXZWJDb3JlOjpQYWdlKik7Ci0gICAgdmlydHVhbCB2b2lk
IHRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UodW5zaWduZWQgbG9uZywgV2ViQ29yZTo6
RG9jdW1lbnRMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBXZWJDb3Jl
OjpQYWdlKik7CisgICAgdmlydHVhbCB2b2lkIHRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBh
Z2UoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBXZWJDb3JlOjpQYWdlKik7CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6Oldp
ZGdldD4gY3JlYXRlUGx1Z2luKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBXZWJDb3JlOjpIVE1M
UGx1Z0luRWxlbWVudCosIGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBWZWN0b3I8V1RGOjpT
dHJpbmc+JiwgY29uc3QgVmVjdG9yPFdURjo6U3RyaW5nPiYsIGNvbnN0IFdURjo6U3RyaW5nJiwg
Ym9vbCBsb2FkTWFudWFsbHkpOwogICAgIHZpcnR1YWwgdm9pZCByZWRpcmVjdERhdGFUb1BsdWdp
bihXZWJDb3JlOjpXaWRnZXQqIHBsdWdpbldpZGdldCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvd2luY2UvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKaW5k
ZXggNzI2MGRkYS4uMzgxMTJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW5jZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxMS0wOC0xMiAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSBk
b2VzIG5vdCBoYXZlIGVub3VnaCBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRX
aW5DRS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6OnRyYW5z
ZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50V2luQ0UuaDoKKwogMjAxMS0wOC0wMyAgUGF2ZWwgRmVsZG1hbiAgPHBm
ZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgTm9k
ZSBwYXJhbWV0ZXIgZnJvbSB0aGUgSW5zcGVjdG9yQ2xpZW50OjpoaWdobGlnaHQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRX
aW5DRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50V2luQ0UuY3BwCmluZGV4IDU0YzEyNjQuLjFlNDUzN2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXaW5DRS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVu
dFdpbkNFLmNwcApAQCAtMTc2LDcgKzE3Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRXaW5D
RTo6ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChQYWdlKikKIHsKIH0KIAotdm9p
ZCBGcmFtZUxvYWRlckNsaWVudFdpbkNFOjp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdl
KHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiwgUGFnZSopCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V2luQ0U6OnRyYW5zZmVyTG9h
ZGluZ1Jlc291cmNlRnJvbVBhZ2UoUmVzb3VyY2VMb2FkZXIqLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmLCBQYWdlKikKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93
aW5jZS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFdpbkNFLmggYi9Tb3VyY2UvV2Vi
S2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuaAppbmRleCBj
NWQzMDA5Li4wMDkxOGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNl
L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V2luQ0UuaApAQCAtMTEwLDcgKzExMCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IGNyZWF0
ZUZyYW1lKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUs
IFdlYkNvcmU6OkhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50LAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdURjo6U3RyaW5nJiByZWZlcnJlciwgYm9vbCBh
bGxvd3NTY3JvbGxpbmcsIGludCBtYXJnaW5XaWR0aCwgaW50IG1hcmdpbkhlaWdodCk7CiAgICAg
dmlydHVhbCB2b2lkIGRpZFRyYW5zZmVyQ2hpbGRGcmFtZVRvTmV3RG9jdW1lbnQoV2ViQ29yZTo6
UGFnZSopOwotICAgIHZpcnR1YWwgdm9pZCB0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdl
KHVuc2lnbmVkIGxvbmcsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKiwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOworICAgIHZpcnR1YWwgdm9pZCB0cmFu
c2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyKiwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViQ29yZTo6UGFnZSopOwogICAgIHZpcnR1
YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpXaWRnZXQ+IGNyZWF0ZVBsdWdpbihjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJiwgV2ViQ29yZTo6SFRNTFBsdWdJbkVsZW1lbnQqLCBjb25zdCBXZWJDb3JlOjpL
VVJMJiwgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpTdHJpbmc+JiwgY29uc3QgV1RGOjpWZWN0b3I8
V1RGOjpTdHJpbmc+JiwgY29uc3QgV1RGOjpTdHJpbmcmLCBib29sKTsKICAgICB2aXJ0dWFsIHZv
aWQgcmVkaXJlY3REYXRhVG9QbHVnaW4oV2ViQ29yZTo6V2lkZ2V0KiBwbHVnaW5XaWRnZXQpOwog
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJDb3JlOjpXaWRnZXQ+IGNyZWF0ZUphdmFBcHBsZXRX
aWRnZXQoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkhUTUxBcHBsZXRFbGVtZW50
KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgYmFzZVVSTCwgY29uc3QgV1RGOjpWZWN0b3I8V1RGOjpT
dHJpbmc+JiBwYXJhbU5hbWVzLCBjb25zdCBXVEY6OlZlY3RvcjxXVEY6OlN0cmluZz4mIHBhcmFt
VmFsdWVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC93eC9DaGFuZ2VMb2cKaW5kZXggMTQ2YzgyOC4uMWQ5MjlmMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC93eC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93eC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wOC0xMiAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZSBkb2VzIG5vdCBoYXZlIGVub3VnaCBwYXJhbWV0ZXJzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2NQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0U3VwcG9ydC9G
cmFtZUxvYWRlckNsaWVudFd4LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xp
ZW50V3g6OnRyYW5zZmVyTG9hZGluZ1Jlc291cmNlRnJvbVBhZ2UpOgorICAgICAgICAqIFdlYktp
dFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oOgorCiAyMDExLTA4LTA1ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFBsdWdpbkhhbHRl
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50V3guY3BwIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50V3guY3BwCmluZGV4IGUzODBmYjAuLjE4YzFkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5jcHAKQEAgLTg3
OCw3ICs4NzgsNyBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50V3g6OmRpZFRyYW5zZmVyQ2hpbGRG
cmFtZVRvTmV3RG9jdW1lbnQoUGFnZSopCiB7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXJDbGllbnRX
eDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBsb25nLCBEb2N1bWVu
dExvYWRlciosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIFBhZ2UqKQordm9pZCBGcmFtZUxvYWRl
ckNsaWVudFd4Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVy
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmggYi9Tb3Vy
Y2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oCmluZGV4IGUx
NDgxYzYuLjFjMjA3ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaApAQCAtMjE0LDcgKzIxNCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPEZyYW1lPiBjcmVhdGVGcmFtZShj
b25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgSFRNTEZyYW1lT3duZXJFbGVtZW50
KiBvd25lckVsZW1lbnQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xsaW5nLCBpbnQgbWFyZ2luV2lkdGgs
IGludCBtYXJnaW5IZWlnaHQpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkVHJhbnNmZXJDaGls
ZEZyYW1lVG9OZXdEb2N1bWVudChQYWdlKik7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCB0cmFuc2Zl
ckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVyKiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopOworICAgICAgICB2aXJ0dWFsIHZvaWQgdHJh
bnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZShSZXNvdXJjZUxvYWRlciosIGNvbnN0IFJlc291
cmNlUmVxdWVzdCYsIFBhZ2UqKTsKICAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdpZGdldD4g
Y3JlYXRlUGx1Z2luKGNvbnN0IEludFNpemUmLCBIVE1MUGx1Z0luRWxlbWVudCosIGNvbnN0IEtV
UkwmLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3Qg
U3RyaW5nJiwgYm9vbCBsb2FkTWFudWFsbHkpIDsKICAgICAgICAgdmlydHVhbCB2b2lkIHJlZGly
ZWN0RGF0YVRvUGx1Z2luKFdpZGdldCogcGx1Z2luV2lkZ2V0KTsKICAgICAgICAgdmlydHVhbCBS
ZXNvdXJjZUVycm9yIHBsdWdpbldpbGxIYW5kbGVMb2FkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXNw
b25zZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDRhYzZiNDAuLmI5YjI0M2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxMS0wOC0xMiAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VG
cm9tUGFnZSBkb2VzIG5vdCBoYXZlIGVub3VnaCBwYXJhbWV0ZXJzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjE2NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9h
ZGVyQ2xpZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lmg6CisKIDIwMTEt
MDgtMTIgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAgICBCZSBtb3JlIGZv
cndhcmQtbG9va2luZyBpbiB0aGUgY2hvaWNlIG9mIGNvbXBpbGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcAppbmRleCAzYmM4YWQyLi41YTYwNmRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTIzMSw3ICsxMjMxLDcgQEAgdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlkVHJhbnNmZXJDaGlsZEZyYW1lVG9OZXdEb2N1bWVudChQYWdlKikKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp0cmFu
c2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKHVuc2lnbmVkIGxvbmcsIERvY3VtZW50TG9hZGVy
KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCit2b2lkIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50Ojp0cmFuc2ZlckxvYWRpbmdSZXNvdXJjZUZyb21QYWdlKFJlc291cmNlTG9hZGVyKiwgY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiwgUGFnZSopCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCBmZTdjMTFlLi44MmEzYmMyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC0xODYsNyArMTg2LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29yZTo6RnJhbWU+IGNyZWF0ZUZyYW1lKGNvbnN0
IFdlYkNvcmU6OktVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBuYW1lLCBXZWJDb3JlOjpIVE1MRnJh
bWVPd25lckVsZW1lbnQqIG93bmVyRWxlbWVudCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIsIGJvb2wgYWxsb3dzU2Nyb2xs
aW5nLCBpbnQgbWFyZ2luV2lkdGgsIGludCBtYXJnaW5IZWlnaHQpOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRUcmFuc2ZlckNoaWxkRnJhbWVUb05ld0RvY3VtZW50KFdlYkNvcmU6OlBhZ2UqKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5nUmVzb3VyY2VGcm9tUGFnZSh1bnNpZ25lZCBs
b25nLCBXZWJDb3JlOjpEb2N1bWVudExvYWRlciosIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKKyAgICB2aXJ0dWFsIHZvaWQgdHJhbnNmZXJMb2FkaW5n
UmVzb3VyY2VGcm9tUGFnZShXZWJDb3JlOjpSZXNvdXJjZUxvYWRlciosIGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OlBhZ2UqKTsKICAgICAKICAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8V2ViQ29yZTo6V2lkZ2V0PiBjcmVhdGVQbHVnaW4oY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYsIFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYs
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgY29uc3QgVmVjdG9yPFN0cmluZz4mLCBjb25zdCBTdHJp
bmcmLCBib29sIGxvYWRNYW51YWxseSk7CiAgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0RGF0YVRv
UGx1Z2luKFdlYkNvcmU6OldpZGdldCogcGx1Z2luV2lkZ2V0KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>