<?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>57415</bug_id>
          
          <creation_ts>2011-03-29 19:03:53 -0700</creation_ts>
          <short_desc>Expose shadowRoot to JSC in DumpRenderTree tests</short_desc>
          <delta_ts>2011-03-30 20:35:56 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>56573</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Dominic Cooney">dominicc</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>fischman</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>375993</commentid>
    <comment_count>0</comment_count>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-03-29 19:03:53 -0700</bug_when>
    <thetext>JavaScript can not access shadow DOM, however DumpRenderTree tests should be able to access shadow DOM to make programmatic assertions about shadow DOM.

I’m filing this to track the Mac port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376005</commentid>
    <comment_count>1</comment_count>
      <attachid>87454</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-03-29 19:45:02 -0700</bug_when>
    <thetext>Created attachment 87454
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376006</commentid>
    <comment_count>2</comment_count>
      <attachid>87454</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-03-29 19:46:39 -0700</bug_when>
    <thetext>Comment on attachment 87454
Patch

This does a drive-by on keygen.html to exercise the new DRT functionality. Thoughts? (OK? Don’t bother? Separate test?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376029</commentid>
    <comment_count>3</comment_count>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-03-29 21:36:27 -0700</bug_when>
    <thetext>Attachment 87454 did not build on gtk:
Build output: http://queues.webkit.org/results/8285609</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376047</commentid>
    <comment_count>4</comment_count>
      <attachid>87454</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-03-29 22:58:56 -0700</bug_when>
    <thetext>Comment on attachment 87454
Patch

Oops—broke GTK. I will have another go at this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376471</commentid>
    <comment_count>5</comment_count>
      <attachid>87573</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-03-30 10:52:36 -0700</bug_when>
    <thetext>Created attachment 87573
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376612</commentid>
    <comment_count>6</comment_count>
      <attachid>87601</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-03-30 13:04:55 -0700</bug_when>
    <thetext>Created attachment 87601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376775</commentid>
    <comment_count>7</comment_count>
      <attachid>87601</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-03-30 16:26:33 -0700</bug_when>
    <thetext>Comment on attachment 87601
Patch

yay us. Let&apos;s go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376872</commentid>
    <comment_count>8</comment_count>
      <attachid>87601</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-30 19:34:02 -0700</bug_when>
    <thetext>Comment on attachment 87601
Patch

Clearing flags on attachment: 87601

Committed r82536: &lt;http://trac.webkit.org/changeset/82536&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376873</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-30 19:34:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376907</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-30 20:35:56 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/82536 might have broken GTK Linux 32-bit Debug</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87454</attachid>
            <date>2011-03-29 19:45:02 -0700</date>
            <delta_ts>2011-03-29 22:58:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57415-20110329194500.patch</filename>
            <type>text/plain</type>
            <size>14410</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODIzNzYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMzc1YTdmNzU1OWMyNjYwZDE4NWE0
MGI0MWYyMzY0OTFjNjk3NWQ5Li44Mjg5YzkzZDAxYzY5MTk5YzM4Mzk2YzRlNTVmZTM2OTlkNDlm
OTE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDMtMjkgIERvbWluaWMgQ29vbmV5ICA8
ZG9taW5pY2NAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRzIGxheW91dFRlc3RDb250cm9sbGVyLnNoYWRvd1Jvb3QgYWNjZXNz
b3IgdG8gTWFjIERSVC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3NDE1CisKKyAgICAgICAgVXBkYXRlcyB0aGUga2V5Z2VuIHRlc3QgdG8gZXhlcmNp
c2UgbmV3IERSVCBmdW5jdGlvbmFsaXR5OyBza2lwcworICAgICAgICBvbiBvdGhlciBwb3J0cyBm
b3Igbm93LgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEtleWdlbkVsZW1lbnQva2V5Z2VuLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4u
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0wMy0yOSAg
TWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10g
W0RSVF0gR3RrU2Nyb2xsZWRXaW5kb3cgYWRkcyB0aHJlZSBwaXhlbHMgb2YgcGFkZGluZyBiZXR3
ZWVuIHRoZSBXZWJWaWV3IGFuZCB0aGUgc2Nyb2xsYmFyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4tZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vSFRNTEtleWdlbkVsZW1lbnQva2V5Z2VuLWV4cGVjdGVkLnR4dAppbmRl
eCA0ZDdlMWYwZmQwNzE5MjBkOTI0MmQyMmFiZmMzNjJjYjBiMjQ4N2MxLi43NDVmMDE2N2Y2MzNi
YmI1NjE3MDQxYWY1NzA5OTJiMWRjOTJiNTkzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL0hUTUxLZXlnZW5FbGVtZW50L2tleWdlbi1leHBlY3RlZC50eHQKQEAgLTEs
OCArMSwxMCBAQAogCi1UZXN0cyB0aGUga2V5Z2VuIGVsZW1lbnQuCitUaGlzIHRlc3RzIHRoZSBr
ZXlnZW4gZWxlbWVudC4KIAotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorUEFTUyBrZXlnZW4u
b3B0aW9ucyBpcyB1bmRlZmluZWQKK1BBU1Mgc2hhZG93LnRhZ05hbWUgaXMgIlNFTEVDVCIKK1BB
U1MgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2hhZG93Um9vdChzaGFkb3cpIGlzIG51bGwKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAotCi1QQVNTIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJrZXlzIikub3B0aW9ucyBpcyB1bmRlZmluZWQKK1RFU1QgQ09NUExFVEUKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEtleWdlbkVsZW1lbnQva2V5Z2VuLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4uaHRtbAppbmRl
eCA1OTE5NmFjNjFjNThmYmE5MjgxOWZjMzhiNDc4NTRiY2NhMjdjYTExLi5lZDljZGNhY2VmZWZm
ZjM5ZWMyZGNhMjQ4MzI3YzQ3ZTBiYjk0MThjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4uaHRtbApAQCAtMSwyNyArMSwyNiBAQAorPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KIDxrZXlnZW4gaWQ9ImtleXMiIC8+Cis8cHJlIGlkPSJjb25zb2xlIj4KK1RoaXMgdGVzdHMg
dGhlIGtleWdlbiBlbGVtZW50LgogCi08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgotCis8L3ByZT4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQotICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKLQot
ZnVuY3Rpb24gdGVzdChlbGVtZW50SWQpCi17Ci0gICAgZGVzY3JpcHRpb24oJ1Rlc3RzIHRoZSBr
ZXlnZW4gZWxlbWVudC4nKTsKK3ZhciBrZXlnZW4gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
a2V5cycpOworc2hvdWxkQmUoJ2tleWdlbi5vcHRpb25zJywgJ3VuZGVmaW5lZCcpOyAgLy8ga2V5
Z2VuIGlzIG5vdCBhIHNlbGVjdAogCi0gICAgc2hvdWxkQmUoJ2RvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJrZXlzIikub3B0aW9ucycsICd1bmRlZmluZWQnKTsgICAgCitpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgIHZhciBzaGFkb3cgPSBsYXlvdXRUZXN0Q29udHJvbGxlci5z
aGFkb3dSb290KGtleWdlbik7CisgIHNob3VsZEJlKCdzaGFkb3cudGFnTmFtZScsICciU0VMRUNU
IicpOworICBzaG91bGRCZSgnbGF5b3V0VGVzdENvbnRyb2xsZXIuc2hhZG93Um9vdChzaGFkb3cp
JywgJ251bGwnKTsKIH0KIAotdGVzdCgia2V5cyIpOwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7CiA8L3NjcmlwdD4KLQorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgogPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CmluZGV4IGFiNWE0
NmM1MjYwMzZjZDM3ZTczZGE2Njg4OTMwZjdlMWNkZDAxMjIuLmU1NDdiNDQ2YmIwMWM5ZDE5ODYz
NGQzNWFiOWE4MWNkZjhlZjI5ZDkgMTAwNzU1Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKQEAgLTMzNTQsMyArMzM1NCw2IEBAIEJVR1hY
WCBHUFUgTUFDIFNOT1dMRU9QQVJEIDogY29tcG9zaXRpbmcvc2VsZi1wYWludGluZy1sYXllcnMu
aHRtbCA9IEZBSUwKIAogLy8gQ2hyb21lIGRvZXNuJ3QgbG9hZCBmYXZpY29ucyBpbiBEUlQgdGVz
dHMuCiBCVUdXSzU3MjU5IDogaHR0cC90ZXN0cy9taXNjL2xpbmstcmVsLWljb24tYmVmb3JlbG9h
ZC5odG1sID0gRkFJTCBQQVNTCisKKy8vIFVuc2tpcCB3aGVuIENocm9taXVtIERSVCBsYXlvdXRU
ZXN0Q29udHJvbGxlciBpbXBsZW1lbnRzIHNoYWRvd1Jvb3QgYWNjZXNzb3IKK0JVR1dLNTY1NzMg
OiBmYXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4uaHRtbCA9IEZBSUwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQKaW5kZXggN2ZjNmY1OTZlYWFhYjFhOWJkMTFhNjgwM2QzZmVmZTdjMjRj
ZjgzYi4uNjZhYTIyZGNmNTQyNGIxOGJiYWIyMTI1ZGUwZThmNzFlNzZiYzhhNSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKQEAgLTQ3Nyw2ICs0NzcsMTAgQEAgZmFzdC9jYW52YXMvcGF0dGVy
bmZpbGwtcmVwZWF0Lmh0bWwKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU0MTM2CiBmYXN0L2h0bWwva2V5Z2VuLmh0bWwKIAorIyBsYXlvdXRUZXN0Q29udHJvbGxl
ciBkb2VzIG5vdCBpbXBsZW1lbnQgc2hhZG93Um9vdCBhY2Nlc3NvcgorIyBTZWUgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTczCitmYXN0L2RvbS9IVE1MS2V5Z2Vu
RWxlbWVudC9rZXlnZW4uaHRtbAorCiAjIFtHVEtdIEdUSysgZG9lcyBub3Qgc3VwcG9ydCBoeXBo
ZW5hdGlvbgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ0NzgK
IGZhc3QvdGV4dC9oeXBoZW5hdGUtY2hhcmFjdGVyLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
CmluZGV4IGI2NzA0YWExY2UyOTJjOTdhZDIwM2U1NjUxMTFlZDhhMzUwNjExYjAuLjU3NDBiNDQx
NTBiN2JlNzVhYzQzYWIwY2JkMjgyYmQ2N2M5OWU2NDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBl
ZApAQCAtMjAyMCw2ICsyMDIwLDggQEAgZmFzdC9kb20vSFRNTEhlYWRFbGVtZW50L3RleHRJbkhl
YWQ0Lmh0bWwKIGZhc3QvZG9tL0hUTUxIZWFkRWxlbWVudC90ZXh0SW5IZWFkNS5odG1sCiBmYXN0
L2RvbS9IVE1MSW1hZ2VFbGVtZW50L2ltYWdlLWFsdC10ZXh0Lmh0bWwKIGZhc3QvZG9tL0hUTUxJ
bnB1dEVsZW1lbnQvaW5wdXQtaW1hZ2UtYWx0LXRleHQuaHRtbAorIyBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2NTczCitmYXN0L2RvbS9IVE1MS2V5Z2VuRWxl
bWVudC9rZXlnZW4uaHRtbAogZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3BlbmRpbmctc3R5bGVz
aGVldC1jb3VudC5odG1sCiAjIG1ldGVyLWVsZW1lbnQuaHRtbCBpcyB0ZW1wb3JhbGx5IGRpc2Fi
bGVkLldlIG5lZWQgdG8gcmViYXNlbGluZS4KIGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0
ZXItZWxlbWVudC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tp
cHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IDA4ZjBlNGVlY2Jl
ZDEzMGI2ZWQ4NzMyNGVlYWU4ZTg4N2NmNDJhZmIuLjJlYmY5YzY5OGNiYjk1ZjkwNzljMDAxMzA5
YmQ2YmQwODA4MGRlZmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0xMjA1LDMgKzEy
MDUsNiBAQCBwbHVnaW5zL3JlZmNvdW50LWxlYWtzLmh0bWwKIAogIyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY0OTYKIGZhc3QvanMvYXJyYXktc29ydC1tb2RpZnlp
bmctdG9zdHJpbmcuaHRtbAorCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01NjU3MworZmFzdC9kb20vSFRNTEtleWdlbkVsZW1lbnQva2V5Z2VuLmh0bWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBmZjkzMGUyMTkzODkwODk4MDBkZTk1MzU2ODA4NThmMWIyZDJlMGU5Li5hOGYxYTY2
ZTBmMDBlNDQ1OTgyYTEzNTc5MTA0OWQ3ZTU1YjFhNzc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTEtMDMtMjkgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAZ29vZ2xlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIGxh
eW91dFRlc3RDb250cm9sbGVyLnNoYWRvd1Jvb3QgYWNjZXNzb3IgdG8gTWFjIERSVC4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDE1CisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjogRFJUIG5lZWRzIHRvIGxpbmsgV2ViQ29yZTo6RWxlbWVudDo6
c2hhZG93Um9vdAorCiAyMDExLTAzLTI5ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
ZXhwLmluCmluZGV4IGVhNjFkODFhYWI2YTBmNTQ1YWE2ZGJmOTA2MDBiNzQ5NWUyZTgzYTcuLjkz
NDhmZDViOTIzOGZhNDE0YjQzMTBiNzIyYzhjMGI2MjQwOGJmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCkBAIC03OTEsNiArNzkxLDcgQEAgX19aTjdXZWJDb3JlNldpZGdldEQyRXYKIF9fWk43V2Vi
Q29yZTZ0b05vZGVFTjNKU0M3SlNWYWx1ZUUKIF9fWk43V2ViQ29yZTdDb25zb2xlMjFzaG91bGRQ
cmludEV4Y2VwdGlvbnNFdgogX19aTjdXZWJDb3JlN0NvbnNvbGUyNHNldFNob3VsZFByaW50RXhj
ZXB0aW9uc0ViCitfX1pON1dlYkNvcmU3RWxlbWVudDEwc2hhZG93Um9vdEV2CiBfX1pON1dlYkNv
cmU3SW50UmVjdDVzY2FsZUVmCiBfX1pON1dlYkNvcmU3SW50UmVjdDV1bml0ZUVSS1MwXwogX19a
TjdXZWJDb3JlN0ludFJlY3Q5aW50ZXJzZWN0RVJLUzBfCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZmJl
OThkMmU4OGQ1ODZkOWM1NDg0YTVkNzVhNjdhYWEyN2I5N2ZiMS4uY2UxYmI3YmQ3NjAyNmQ5MDE1
ZTNmMjIzMDU5ZjBhMTU2NzliNTM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDExLTAzLTI5ICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGdvb2dsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zaGFkb3dSb290IGFjY2Vzc29yIHRvIE1hYyBEUlQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQxNQorCisgICAgICAgICog
RE9NL1dlYkRPTU9wZXJhdGlvbnMubW06CisgICAgICAgICgtW0RPTUVsZW1lbnQgX3NoYWRvd1Jv
b3Q6XSk6CisgICAgICAgICogRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmg6CisKIDIwMTEt
MDMtMjkgIFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSB0aGUgb3JkZXIgb2YgdGhlIGNvbnRleHQgbWVudSB0byBiZXR0ZXIgbWF0Y2ggQXBwS2l0
IG9uIE1hYy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRp
b25zLm1tIGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnMubW0KaW5kZXgg
OTc5NDMzZDZlYjNlNDMyOWI3NjRjMWFiNDAzZmIxZDIzMjQ4OGVmZS4uMjBlOWFjZTUyNmQ5OTMw
NjU3Mzk4NTU2OTkzZjMwY2IzNDRiNWI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMv
RE9NL1dlYkRPTU9wZXJhdGlvbnMubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRP
TU9wZXJhdGlvbnMubW0KQEAgLTM5LDYgKzM5LDcgQEAKICNpbXBvcnQgIldlYktpdE5TU3RyaW5n
RXh0cmFzLmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0RvY3VtZW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0VsZW1lbnQuaD4KICNpbXBvcnQg
PFdlYkNvcmUvSFRNTElucHV0RWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9IVE1MUGFyc2Vy
SWRpb21zLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0pTRWxlbWVudC5oPgpAQCAtNzMsNiArNzQsMTMg
QEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKICAgICByZXR1cm4gV2ViQ29yZTo6bWFya2VyVGV4dEZv
ckxpc3RJdGVtKGNvcmUoc2VsZikpOwogfQogCistIChKU1ZhbHVlUmVmKV9zaGFkb3dSb290OihK
U0NvbnRleHRSZWYpY29udGV4dAoreworICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25z
T25seSk7CisgICAgRXhlY1N0YXRlKiBleGVjU3RhdGUgPSB0b0pTKGNvbnRleHQpOworICAgIHJl
dHVybiB0b1JlZihleGVjU3RhdGUsIHRvSlMoZXhlY1N0YXRlLCBjb3JlKHNlbGYpLT5zaGFkb3dS
b290KCkpKTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24gRE9NTm9kZSAoV2ViRE9NTm9k
ZU9wZXJhdGlvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2ViRE9NT3Bl
cmF0aW9uc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25z
UHJpdmF0ZS5oCmluZGV4IGI1NzlhNmY4N2QwMWYxOWEzZjNmOWMwODk2MjBlNjQ5M2RiMjUyZTYu
LmNkNWZmMjA1Yzg1N2RlMjkyNTEzZTA2ZmNhNGQ1NjIwZGY1ODc5NDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oCkBAIC0zMiw2ICszMiw3
IEBACiBAaW50ZXJmYWNlIERPTUVsZW1lbnQgKFdlYkRPTUVsZW1lbnRPcGVyYXRpb25zUHJpdmF0
ZSkKICsgKERPTUVsZW1lbnQgKilfRE9NRWxlbWVudEZyb21KU0NvbnRleHQ6KEpTQ29udGV4dFJl
Ziljb250ZXh0IHZhbHVlOihKU1ZhbHVlUmVmKXZhbHVlOwogLSAoTlNTdHJpbmcgKilfbWFya2Vy
VGV4dEZvckxpc3RJdGVtOworLSAoSlNWYWx1ZVJlZilfc2hhZG93Um9vdDooSlNDb250ZXh0UmVm
KWNvbnRleHQ7CiBAZW5kCiAKIEBpbnRlcmZhY2UgRE9NRG9jdW1lbnQgKFdlYkRPTURvY3VtZW50
T3BlcmF0aW9uc1ByaXZhdGUpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggMWRjMjhiMzYyOGZjNDVkMDlkNzVkY2U5ZGJhYzUyODFkYTYyMzFmNi4u
NTcwYjNhMWU3MmZlYjhmMDNhZGExNTA4ODc0NDZhNWJiZGJmNDY4YyAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEx
LTAzLTI5ICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGdvb2dsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zaGFkb3dSb290IGFjY2Vzc29yIHRvIE1hYyBEUlQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQxNQorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoc2hhZG93Um9vdENh
bGxiYWNrKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMp
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmg6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tOgorICAg
ICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNoYWRvd1Jvb3QpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2hhZG93Um9vdCk6CisKIDIwMTEtMDMtMjkgIENoYW5nIFNodSAg
PGNzaHVAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENo
cmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RD
b250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVy
LmNwcAppbmRleCAxOGIzZGNkNTYyYmFiOTJlZWM3MDgyNzBiMmQ5NjJiNDJmYmM5ZDkwLi4zOTQw
NzRkY2MyZGI2OGFiOWJlNTI5NmNhZWE1OGJmZDQ0MWQ4Y2EwIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNjg3LDYgKzE2ODcsMTQgQEAg
c3RhdGljIEpTVmFsdWVSZWYgc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWRDYWxs
YmFjayhKU0NvbnRleHRSZWYgY29udGUKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQo
Y29udGV4dCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVmIHNoYWRvd1Jvb3RDYWxsYmFjayhKU0Nv
bnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNP
YmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1td
LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgaWYgKGFyZ3VtZW50Q291bnQgIT0gMSkK
KyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworICAgIExheW91
dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8TGF5b3V0VGVzdENvbnRy
b2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkpOworICAgIHJldHVybiBjb250
cm9sbGVyLT5zaGFkb3dSb290KGNvbnRleHQsIGFyZ3VtZW50c1swXSk7Cit9CisKIHN0YXRpYyBK
U1ZhbHVlUmVmIHNob3dXZWJJbnNwZWN0b3JDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCiB7CiAgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNf
Y2FzdDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0
KSk7CkBAIC0yMjY0LDYgKzIyNzIsNyBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKCkKICAgICAgICAgeyAic2V0SmF2YVNjcmlwdENhbkFj
Y2Vzc0NsaXBib2FyZCIsIHNldEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmRDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJzZXRYU1NBdWRpdG9yRW5hYmxlZCIsIHNldFhTU0F1ZGl0b3JF
bmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0QXN5bmNocm9ub3VzU3BlbGxD
aGVja2luZ0VuYWJsZWQiLCBzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZENhbGxi
YWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCisgICAgICAgIHsgInNoYWRvd1Jvb3QiLCBzaGFkb3dSb290Q2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKICAgICAgICAgeyAic2hvd1dlYkluc3BlY3RvciIsIHNob3dXZWJJbnNwZWN0b3JD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJ0ZXN0T25zY3JlZW4iLCB0ZXN0T25zY3JlZW5D
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJ0ZXN0UmVwYWludCIsIHRlc3RSZXBhaW50Q2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRl
c3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oCmluZGV4IDRhNmU1OWNjYTI0MzZkOWNhN2U1ZjJmZGRkNmE0OTE1YTZhODc1YmYuLjQzNmZh
ODJjYmRkNWRiNWYzYjc4ZDBlZDg2NDEyYTJhY2VhMTUzZTAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMTIyLDYgKzEyMiw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZChib29sIGVuYWJsZSk7CiAgICAg
dm9pZCBzZXRTY3JvbGxiYXJQb2xpY3koSlNTdHJpbmdSZWYgb3JpZW50YXRpb24sIEpTU3RyaW5n
UmVmIHBvbGljeSk7CiAgICAgdm9pZCBzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgY2hhciogZWRp
dGluZ0JlaGF2aW9yKTsKKyAgICBKU1ZhbHVlUmVmIHNoYWRvd1Jvb3QoSlNDb250ZXh0UmVmLCBK
U1ZhbHVlUmVmKTsKIAogICAgIHZvaWQgd2FpdEZvclBvbGljeURlbGVnYXRlKCk7CiAgICAgc2l6
ZV90IHdlYkhpc3RvcnlJdGVtQ291bnQoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQppbmRleCA2NmMwY2NlMjgwMWEyMDc5MTQy
OGZmNzFiNGJjYjA3M2Q1N2RhOTAwLi4zMmQwNTMzOGVlY2RlNDc0MTY3NzRiZDNkMGM2MzRlNjRk
MDI1YTM5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENv
bnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RD
b250cm9sbGVyTWFjLm1tCkBAIC0xMDY4LDYgKzEwNjgsMTQgQEAgdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c2V0RWRpdGluZ0JlaGF2aW9yKGNvbnN0IGNoYXIqIGVkaXRpbmdCZWhhdmlvcikK
ICAgICBbZWRpdGluZ0JlaGF2aW9yTlMgcmVsZWFzZV07CiB9CiAKK0pTVmFsdWVSZWYgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNoYWRvd1Jvb3QoSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVS
ZWYganNFbGVtZW50KQoreworICAgIERPTUVsZW1lbnQgKmVsZW1lbnQgPSBbRE9NRWxlbWVudCBf
RE9NRWxlbWVudEZyb21KU0NvbnRleHQ6Y29udGV4dCB2YWx1ZTpqc0VsZW1lbnRdOworICAgIGlm
ICghZWxlbWVudCkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQp
OworICAgIHJldHVybiBbZWxlbWVudCBfc2hhZG93Um9vdDpjb250ZXh0XTsKK30KKwogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6YWJvcnRNb2RhbCgpCiB7CiAgICAgW05TQXBwIGFib3J0TW9k
YWxdOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250
cm9sbGVyV2luLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJv
bGxlcldpbi5jcHAKaW5kZXggMWQyZjNkODUwMGQ0NWU0ODgwMDQ5YTUzZTVmOTFlODFhZGEzZjEz
OS4uMjA4NmFlNzFjNDhjMDk0NDJiZmEyNjcyNjkzNDk0NjQ3ODFmYzFhMiAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCkBA
IC0xNDQxLDYgKzE0NDEsMTIgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RWRpdGlu
Z0JlaGF2aW9yKGNvbnN0IGNoYXIqIGVkaXRpbmdCZWhhdmlvcikKICAgICAgICAgcHJlZmVyZW5j
ZXMtPnNldEVkaXRpbmdCZWhhdmlvcihXZWJLaXRFZGl0aW5nVW5peEJlaGF2aW9yKTsKIH0KIAor
SlNWYWx1ZVJlZiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hhZG93Um9vdChKU0NvbnRleHRSZWYg
Y29udGV4dCwgSlNWYWx1ZVJlZiBqc0VsZW1lbnQpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVu
dCB0aGlzLgorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwog
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWJvcnRNb2RhbCgpCiB7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87573</attachid>
            <date>2011-03-30 10:52:36 -0700</date>
            <delta_ts>2011-03-30 13:04:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57415-20110330105235.patch</filename>
            <type>text/plain</type>
            <size>15063</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI0NTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmMzFmNDQ1YmZiMzQzZGZlOWJkNzk3
ZDIxNWM0NDY1ZDUwODI0Y2I0Li5mYjEzZWQxMmFlZmI3ZjRiNmQ4MGIwNzU5ZWZkY2M0ZGMyNWNj
YTdlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDMtMjkgIERvbWluaWMgQ29vbmV5ICA8
ZG9taW5pY2NAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRzIGxheW91dFRlc3RDb250cm9sbGVyLnNoYWRvd1Jvb3QgYWNjZXNz
b3IgdG8gTWFjIERSVC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3NDE1CisKKyAgICAgICAgVXBkYXRlcyB0aGUga2V5Z2VuIHRlc3QgdG8gZXhlcmNp
c2UgbmV3IERSVCBmdW5jdGlvbmFsaXR5OyBza2lwcworICAgICAgICBvbiBvdGhlciBwb3J0cyBm
b3Igbm93LgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEtleWdlbkVsZW1lbnQva2V5Z2VuLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4u
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0wMy0zMCAg
SmVzc2llIEJlcmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMZW9wYXJkIElu
dGVsIFJlbGVhc2UgVGVzdHNdIGZhc3QvdGV4dC9qdXN0aWZ5LWlkZW9ncmFwaC1sZWFkaW5nLWV4
cGFuc2lvbi5odG1sIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxLZXlnZW5FbGVtZW50L2tleWdlbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4tZXhwZWN0ZWQudHh0CmluZGV4IDRkN2UxZjBmZDA3
MTkyMGQ5MjQyZDIyYWJmYzM2MmNiMGIyNDg3YzEuLjc0NWYwMTY3ZjYzM2JiYjU2MTcwNDFhZjU3
MDk5MmIxZGM5MmI1OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxLZXln
ZW5FbGVtZW50L2tleWdlbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEtleWdlbkVsZW1lbnQva2V5Z2VuLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDEwIEBACiAK
LVRlc3RzIHRoZSBrZXlnZW4gZWxlbWVudC4KK1RoaXMgdGVzdHMgdGhlIGtleWdlbiBlbGVtZW50
LgogCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCitQQVNTIGtleWdlbi5vcHRpb25zIGlzIHVu
ZGVmaW5lZAorUEFTUyBzaGFkb3cudGFnTmFtZSBpcyAiU0VMRUNUIgorUEFTUyBsYXlvdXRUZXN0
Q29udHJvbGxlci5zaGFkb3dSb290KHNoYWRvdykgaXMgbnVsbAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCi0KLVBBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImtleXMiKS5v
cHRpb25zIGlzIHVuZGVmaW5lZAorVEVTVCBDT01QTEVURQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4uaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxLZXlnZW5FbGVtZW50L2tleWdlbi5odG1sCmluZGV4IDU5MTk2YWM2MWM1
OGZiYTkyODE5ZmMzOGI0Nzg1NGJjY2EyN2NhMTEuLmVkOWNkY2FjZWZlZmZmMzllYzJkY2EyNDgz
MjdjNDdlMGJiOTQxOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxLZXln
ZW5FbGVtZW50L2tleWdlbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxLZXln
ZW5FbGVtZW50L2tleWdlbi5odG1sCkBAIC0xLDI3ICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGtleWdlbiBp
ZD0ia2V5cyIgLz4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorVGhpcyB0ZXN0cyB0aGUga2V5Z2VuIGVs
ZW1lbnQuCiAKLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Ci0KKzwvcHJlPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
Ci0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi1mdW5jdGlvbiB0ZXN0
KGVsZW1lbnRJZCkKLXsKLSAgICBkZXNjcmlwdGlvbignVGVzdHMgdGhlIGtleWdlbiBlbGVtZW50
LicpOwordmFyIGtleWdlbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrZXlzJyk7CitzaG91
bGRCZSgna2V5Z2VuLm9wdGlvbnMnLCAndW5kZWZpbmVkJyk7ICAvLyBrZXlnZW4gaXMgbm90IGEg
c2VsZWN0CiAKLSAgICBzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImtleXMiKS5v
cHRpb25zJywgJ3VuZGVmaW5lZCcpOyAgICAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpIHsKKyAgdmFyIHNoYWRvdyA9IGxheW91dFRlc3RDb250cm9sbGVyLnNoYWRvd1Jvb3Qoa2V5
Z2VuKTsKKyAgc2hvdWxkQmUoJ3NoYWRvdy50YWdOYW1lJywgJyJTRUxFQ1QiJyk7CisgIHNob3Vs
ZEJlKCdsYXlvdXRUZXN0Q29udHJvbGxlci5zaGFkb3dSb290KHNoYWRvdyknLCAnbnVsbCcpOwog
fQogCi10ZXN0KCJrZXlzIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIDwvc2Ny
aXB0PgotCis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggYjBjNWU2ZTU3ZTI1NTc0ZDc0
Yzg3NTc5MDgxYzEzMzk0YmFlN2Y1Ni4uYjQ3MDhlZjQ1YzQ4NTI1N2JiYmI4N2EwZGNiNjI5NWFl
OGIyZjI3MSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dApAQCAtMzMyNywzICszMzI3LDcgQEAgQlVHV0s1NzI1OSA6IGh0dHAv
dGVzdHMvbWlzYy9saW5rLXJlbC1pY29uLWJlZm9yZWxvYWQuaHRtbCA9IEZBSUwgUEFTUwogCiAv
LyByODI0MTkuCiBCVUdXSzU3NDQyIDogZmFzdC9ib3gtc2hhZG93L2Jhc2ljLXNoYWRvd3MuaHRt
bCA9IElNQUdFCisKKy8vIFVuc2tpcCB3aGVuIENocm9taXVtIERSVCBsYXlvdXRUZXN0Q29udHJv
bGxlciBpbXBsZW1lbnRzIHNoYWRvd1Jvb3QgYWNjZXNzb3IKK0JVR1dLNTY1NzMgOiBmYXN0L2Rv
bS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4uaHRtbCA9IEZBSUwKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZAppbmRleCBmZDc4N2Q3YWRiNDE0ZWRhNWNhNGRjNjJkY2NiOWI2OTk1NzZhMDA0Li5j
YzViNDI5YzI1N2YzOGEwYTcxMTk3ZmRmODY3NmViOGU1MGE0OThhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZApAQCAtNDc3LDYgKzQ3NywxMCBAQCBmYXN0L2NhbnZhcy9wYXR0ZXJuZmlsbC1y
ZXBlYXQuaHRtbAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQx
MzYKIGZhc3QvaHRtbC9rZXlnZW4uaHRtbAogCisjIGxheW91dFRlc3RDb250cm9sbGVyIGRvZXMg
bm90IGltcGxlbWVudCBzaGFkb3dSb290IGFjY2Vzc29yCisjIFNlZSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1NzMKK2Zhc3QvZG9tL0hUTUxLZXlnZW5FbGVtZW50
L2tleWdlbi5odG1sCisKICMgW0dUS10gR1RLKyBkb2VzIG5vdCBzdXBwb3J0IGh5cGhlbmF0aW9u
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NDQ3OAogZmFzdC90
ZXh0L2h5cGhlbmF0ZS1jaGFyYWN0ZXIuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXgg
Y2ZhMzFjOTRmZmNkNTczY2I4MGIzZjQzMzk4MDU3MjZlZjFiYTEzMC4uOWY0NTQ1YTIyNWZjMjc4
YWQ2NTZlMThlNjJlNzVlNGU0MTIzMzkxOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vcXQvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0y
MDIwLDYgKzIwMjAsOCBAQCBmYXN0L2RvbS9IVE1MSGVhZEVsZW1lbnQvdGV4dEluSGVhZDQuaHRt
bAogZmFzdC9kb20vSFRNTEhlYWRFbGVtZW50L3RleHRJbkhlYWQ1Lmh0bWwKIGZhc3QvZG9tL0hU
TUxJbWFnZUVsZW1lbnQvaW1hZ2UtYWx0LXRleHQuaHRtbAogZmFzdC9kb20vSFRNTElucHV0RWxl
bWVudC9pbnB1dC1pbWFnZS1hbHQtdGV4dC5odG1sCisjIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTY1NzMKK2Zhc3QvZG9tL0hUTUxLZXlnZW5FbGVtZW50L2tl
eWdlbi5odG1sCiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcGVuZGluZy1zdHlsZXNoZWV0LWNv
dW50Lmh0bWwKICMgbWV0ZXItZWxlbWVudC5odG1sIGlzIHRlbXBvcmFsbHkgZGlzYWJsZWQuV2Ug
bmVlZCB0byByZWJhc2VsaW5lLgogZmFzdC9kb20vSFRNTE1ldGVyRWxlbWVudC9tZXRlci1lbGVt
ZW50Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKaW5kZXggNTRkOWU3YmQwYmI5OWIyM2Ey
ZjY4ZTZjZTg1NGUyMGNhM2QxMWYzYS4uMTg0MmU1MjI0NmQyYjM5YjQxY2IyOTFmOTIzM2I0Njhi
ZWNkYzI1NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKQEAgLTEyMDYsMyArMTIwNiw2IEBA
IHBsdWdpbnMvcmVmY291bnQtbGVha3MuaHRtbAogCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01NjQ5NgogZmFzdC9qcy9hcnJheS1zb3J0LW1vZGlmeWluZy10b3N0
cmluZy5odG1sCisKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU2
NTczCitmYXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4uaHRtbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDYzMzljNmU4ZTUyNWQ3MTczYWQyZmJkNTI4OGE4OWM1MGI2MzllNGEuLjJjZDRkMDkxYTQ3ZDVl
NWJmOWI2NDUxNGVhMDU2ZTI1MWRhNTlhMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxMS0wMy0yOSAgRG9taW5pYyBDb29uZXkgIDxkb21pbmljY0Bnb29nbGUuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgbGF5b3V0VGVz
dENvbnRyb2xsZXIuc2hhZG93Um9vdCBhY2Nlc3NvciB0byBNYWMgRFJULgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0MTUKKworICAgICAgICAqIFdl
YkNvcmUuZXhwLmluOiBEUlQgbmVlZHMgdG8gbGluayBXZWJDb3JlOjpFbGVtZW50OjpzaGFkb3dS
b290CisKIDIwMTEtMDMtMzAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZC4gQnVpbGQgZml4IGZvciBFZmwgYW5kIFF0IFdpbi4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4KaW5kZXggZWE2MWQ4MWFhYjZhMGY1NDVhYTZkYmY5MDYwMGI3NDk1ZTJl
ODNhNy4uOTM0OGZkNWI5MjM4ZmE0MTRiNDMxMGI3MjJjOGMwYjYyNDA4YmY5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KQEAgLTc5MSw2ICs3OTEsNyBAQCBfX1pON1dlYkNvcmU2V2lkZ2V0RDJFdgog
X19aTjdXZWJDb3JlNnRvTm9kZUVOM0pTQzdKU1ZhbHVlRQogX19aTjdXZWJDb3JlN0NvbnNvbGUy
MXNob3VsZFByaW50RXhjZXB0aW9uc0V2CiBfX1pON1dlYkNvcmU3Q29uc29sZTI0c2V0U2hvdWxk
UHJpbnRFeGNlcHRpb25zRWIKK19fWk43V2ViQ29yZTdFbGVtZW50MTBzaGFkb3dSb290RXYKIF9f
Wk43V2ViQ29yZTdJbnRSZWN0NXNjYWxlRWYKIF9fWk43V2ViQ29yZTdJbnRSZWN0NXVuaXRlRVJL
UzBfCiBfX1pON1dlYkNvcmU3SW50UmVjdDlpbnRlcnNlY3RFUktTMF8KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpp
bmRleCA1ZjcxNjFlMDQxYjAzNDkzMzU3NjYzMjJkMjlmYTRiYzcyNzYzMzc3Li4xYzgyODY1YWU2
Yzc2ZTc3MjExMTcyOGNiZTQ2ZDQ2MDExMmM4NmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMTEtMDMtMjkgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAZ29vZ2xlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRz
IGxheW91dFRlc3RDb250cm9sbGVyLnNoYWRvd1Jvb3QgYWNjZXNzb3IgdG8gTWFjIERSVC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDE1CisKKyAg
ICAgICAgKiBET00vV2ViRE9NT3BlcmF0aW9ucy5tbToKKyAgICAgICAgKC1bRE9NRWxlbWVudCBf
c2hhZG93Um9vdDpdKToKKyAgICAgICAgKiBET00vV2ViRE9NT3BlcmF0aW9uc1ByaXZhdGUuaDoK
KwogMjAxMS0wMy0yOSAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L21hYy9ET00vV2ViRE9NT3BlcmF0aW9ucy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJE
T01PcGVyYXRpb25zLm1tCmluZGV4IDk3OTQzM2Q2ZWIzZTQzMjliNzY0YzFhYjQwM2ZiMWQyMzI0
ODhlZmUuLjIwZTlhY2U1MjZkOTkzMDY1NzM5ODU1Njk5M2YzMGNiMzQ0YjViNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25zLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0RPTS9XZWJET01PcGVyYXRpb25zLm1tCkBAIC0zOSw2ICszOSw3IEBACiAj
aW1wb3J0ICJXZWJLaXROU1N0cmluZ0V4dHJhcy5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUv
QVBJQ2FzdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVudC5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9FbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hUTUxJbnB1dEVsZW1lbnQuaD4KICNpbXBv
cnQgPFdlYkNvcmUvSFRNTFBhcnNlcklkaW9tcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9KU0VsZW1l
bnQuaD4KQEAgLTczLDYgKzc0LDEzIEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAgICAgcmV0dXJu
IFdlYkNvcmU6Om1hcmtlclRleHRGb3JMaXN0SXRlbShjb3JlKHNlbGYpKTsKIH0KIAorLSAoSlNW
YWx1ZVJlZilfc2hhZG93Um9vdDooSlNDb250ZXh0UmVmKWNvbnRleHQKK3sKKyAgICBKU0xvY2sg
bG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworICAgIEV4ZWNTdGF0ZSogZXhlY1N0YXRlID0g
dG9KUyhjb250ZXh0KTsKKyAgICByZXR1cm4gdG9SZWYoZXhlY1N0YXRlLCB0b0pTKGV4ZWNTdGF0
ZSwgY29yZShzZWxmKS0+c2hhZG93Um9vdCgpKSk7Cit9CisKIEBlbmQKIAogQGltcGxlbWVudGF0
aW9uIERPTU5vZGUgKFdlYkRPTU5vZGVPcGVyYXRpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L21h
Yy9ET00vV2ViRE9NT3BlcmF0aW9uc1ByaXZhdGUuaAppbmRleCBiNTc5YTZmODdkMDFmMTlhM2Yz
ZjljMDg5NjIwZTY0OTNkYjI1MmU2Li5jZDVmZjIwNWM4NTdkZTI5MjUxM2UwNmZjYTRkNTYyMGRm
NTg3OTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2ViRE9NT3BlcmF0aW9u
c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2ViRE9NT3BlcmF0aW9uc1By
aXZhdGUuaApAQCAtMzIsNiArMzIsNyBAQAogQGludGVyZmFjZSBET01FbGVtZW50IChXZWJET01F
bGVtZW50T3BlcmF0aW9uc1ByaXZhdGUpCiArIChET01FbGVtZW50ICopX0RPTUVsZW1lbnRGcm9t
SlNDb250ZXh0OihKU0NvbnRleHRSZWYpY29udGV4dCB2YWx1ZTooSlNWYWx1ZVJlZil2YWx1ZTsK
IC0gKE5TU3RyaW5nICopX21hcmtlclRleHRGb3JMaXN0SXRlbTsKKy0gKEpTVmFsdWVSZWYpX3No
YWRvd1Jvb3Q6KEpTQ29udGV4dFJlZiljb250ZXh0OwogQGVuZAogCiBAaW50ZXJmYWNlIERPTURv
Y3VtZW50IChXZWJET01Eb2N1bWVudE9wZXJhdGlvbnNQcml2YXRlKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDM3ZjhiOGJjMzhlMTg3NTdkMGRj
ODAxMDQwNWU4MmQ3ZTg0YjczYTIuLjc1MGU4NjVjMDhmYzljODBiZmI1NTA3ZGUxYTY5NDAxNTA0
YWE1OTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOSBAQAorMjAxMS0wMy0yOSAgRG9taW5pYyBDb29uZXkgIDxkb21pbmljY0Bn
b29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZHMgbGF5b3V0VGVzdENvbnRyb2xsZXIuc2hhZG93Um9vdCBhY2Nlc3NvciB0byBNYWMg
RFJULgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0
MTUKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoK
KyAgICAgICAgKHNoYWRvd1Jvb3RDYWxsYmFjayk6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c3RhdGljRnVuY3Rpb25zKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0
Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaGFkb3dS
b290KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJX
aW4uY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNoYWRvd1Jvb3QpOgorCiAy
MDExLTAzLTMwICBZdXRhIEtpdGFtdXJhICA8eXV0YWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDE4YjNkY2Q1NjJiYWI5MmVlYzcwODI3MGIyZDk2MmI0
MmZiYzlkOTAuLjM5NDA3NGRjYzJkYjY4YWI5YmU1Mjk2Y2FlYTU4YmZkNDQxZDhjYTAgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKQEAgLTE2ODcs
NiArMTY4NywxNCBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRBc3luY2hyb25vdXNTcGVsbENoZWNr
aW5nRW5hYmxlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZQogICAgIHJldHVybiBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjb250ZXh0KTsKIH0KIAorc3RhdGljIEpTVmFsdWVSZWYgc2hhZG93Um9v
dENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNP
YmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVS
ZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBpZiAoYXJndW1l
bnRDb3VudCAhPSAxKQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4
dCk7CisgICAgTGF5b3V0VGVzdENvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBzdGF0aWNfY2FzdDxM
YXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7Cisg
ICAgcmV0dXJuIGNvbnRyb2xsZXItPnNoYWRvd1Jvb3QoY29udGV4dCwgYXJndW1lbnRzWzBdKTsK
K30KKwogc3RhdGljIEpTVmFsdWVSZWYgc2hvd1dlYkluc3BlY3RvckNhbGxiYWNrKEpTQ29udGV4
dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpT
VmFsdWVSZWYqIGV4Y2VwdGlvbikKIHsKICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJv
bGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2
YXRlKHRoaXNPYmplY3QpKTsKQEAgLTIyNjQsNiArMjI3Miw3IEBAIEpTU3RhdGljRnVuY3Rpb24q
IExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJzZXRK
YXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkIiwgc2V0SmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBi
b2FyZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlB
dHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldFhTU0F1ZGl0b3JFbmFibGVkIiwg
c2V0WFNTQXVkaXRvckVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRBc3lu
Y2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZCIsIHNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAic2hhZG93Um9vdCIsIHNoYWRv
d1Jvb3RDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzaG93V2ViSW5zcGVjdG9yIiwgc2hv
d1dlYkluc3BlY3RvckNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInRlc3RPbnNjcmVlbiIs
IHRlc3RPbnNjcmVlbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInRlc3RSZXBhaW50Iiwg
dGVzdFJlcGFpbnRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91
dFRlc3RDb250cm9sbGVyLmgKaW5kZXggNGE2ZTU5Y2NhMjQzNmQ5Y2E3ZTVmMmZkZGQ2YTQ5MTVh
NmE4NzViZi4uNDM2ZmE4MmNiZGQ1ZGI1ZjNiNzhkMGVkODY0MTJhMmFjZWExNTNlMCAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0xMjIsNiArMTIy
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkKGJvb2wg
ZW5hYmxlKTsKICAgICB2b2lkIHNldFNjcm9sbGJhclBvbGljeShKU1N0cmluZ1JlZiBvcmllbnRh
dGlvbiwgSlNTdHJpbmdSZWYgcG9saWN5KTsKICAgICB2b2lkIHNldEVkaXRpbmdCZWhhdmlvcihj
b25zdCBjaGFyKiBlZGl0aW5nQmVoYXZpb3IpOworICAgIEpTVmFsdWVSZWYgc2hhZG93Um9vdChK
U0NvbnRleHRSZWYsIEpTVmFsdWVSZWYpOwogCiAgICAgdm9pZCB3YWl0Rm9yUG9saWN5RGVsZWdh
dGUoKTsKICAgICBzaXplX3Qgd2ViSGlzdG9yeUl0ZW1Db3VudCgpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29udHJvbGxlckd0ay5jcHAKaW5kZXggYzI2
ZTJkYmQ2YmU2YTY5ZjVlYWE5M2ViYjRmMjU2MDVlY2QyNjJiNy4uODQ5MjA1YTNlZmM0NjA0MTMy
OGE3NWI1ZWY0NjU0OWNiMTg3M2IwMSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Z3RrL0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwCkBAIC05MTcsNiArOTE3LDEyIEBAIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEVkaXRpbmdCZWhhdmlvcihjb25zdCBjaGFyKiBl
ZGl0aW5nQmVoYXZpb3IpCiAgICAgICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzZXR0aW5ncyks
ICJlZGl0aW5nLWJlaGF2aW9yIiwgV0VCS0lUX0VESVRJTkdfQkVIQVZJT1JfVU5JWCwgTlVMTCk7
CiB9CiAKK0pTVmFsdWVSZWYgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNoYWRvd1Jvb3QoSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVSZWYganNFbGVtZW50KQoreworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgdGhpcy4KKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7
Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFib3J0TW9kYWwoKQogewogfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFj
Lm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1t
CmluZGV4IDY2YzBjY2UyODAxYTIwNzkxNDI4ZmY3MWI0YmNiMDczZDU3ZGE5MDAuLjMyZDA1MzM4
ZWVjZGU0NzQxNjc3NGJkM2QwYzYzNGU2NGQwMjVhMzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KQEAgLTEwNjgsNiArMTA2
OCwxNCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRFZGl0aW5nQmVoYXZpb3IoY29u
c3QgY2hhciogZWRpdGluZ0JlaGF2aW9yKQogICAgIFtlZGl0aW5nQmVoYXZpb3JOUyByZWxlYXNl
XTsKIH0KIAorSlNWYWx1ZVJlZiBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hhZG93Um9vdChKU0Nv
bnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBqc0VsZW1lbnQpCit7CisgICAgRE9NRWxlbWVu
dCAqZWxlbWVudCA9IFtET01FbGVtZW50IF9ET01FbGVtZW50RnJvbUpTQ29udGV4dDpjb250ZXh0
IHZhbHVlOmpzRWxlbWVudF07CisgICAgaWYgKCFlbGVtZW50KQorICAgICAgICByZXR1cm4gSlNW
YWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisgICAgcmV0dXJuIFtlbGVtZW50IF9zaGFkb3dS
b290OmNvbnRleHRdOworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphYm9ydE1vZGFs
KCkKIHsKICAgICBbTlNBcHAgYWJvcnRNb2RhbF07CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcAppbmRleCAxZDJmM2Q4NTAwZDQ1
ZTQ4ODAwNDlhNTNlNWY5MWU4MWFkYTNmMTM5Li4yMDg2YWU3MWM0OGMwOTQ0MmJmYTI2NzI2OTM0
OTQ2NDc4MWZjMWEyIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0
VGVzdENvbnRyb2xsZXJXaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlv
dXRUZXN0Q29udHJvbGxlcldpbi5jcHAKQEAgLTE0NDEsNiArMTQ0MSwxMiBAQCB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgY2hhciogZWRpdGluZ0Jl
aGF2aW9yKQogICAgICAgICBwcmVmZXJlbmNlcy0+c2V0RWRpdGluZ0JlaGF2aW9yKFdlYktpdEVk
aXRpbmdVbml4QmVoYXZpb3IpOwogfQogCitKU1ZhbHVlUmVmIExheW91dFRlc3RDb250cm9sbGVy
OjpzaGFkb3dSb290KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU1ZhbHVlUmVmIGpzRWxlbWVudCkK
K3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMuCisgICAgcmV0dXJuIEpTVmFsdWVNYWtl
VW5kZWZpbmVkKGNvbnRleHQpOworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjphYm9y
dE1vZGFsKCkKIHsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87601</attachid>
            <date>2011-03-30 13:04:55 -0700</date>
            <delta_ts>2011-03-30 19:34:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57415-20110330130454.patch</filename>
            <type>text/plain</type>
            <size>15158</size>
            <attacher name="Dominic Cooney">dominicc</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI0ODcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMzI3ZmQxMjc2NDQzZWE0NmJjODk5
YTFiOGZiNDBkYWY4ZTkwMDUyLi41ODE0NjljMTA1OWYyYjkwMDczOGY5ZjVkNjMzMTFjMDA3YzI2
NDY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDMtMjkgIERvbWluaWMgQ29vbmV5ICA8
ZG9taW5pY2NAZ29vZ2xlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGRzIGxheW91dFRlc3RDb250cm9sbGVyLnNoYWRvd1Jvb3QgYWNjZXNz
b3IgdG8gTWFjIERSVC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTU3NDE1CisKKyAgICAgICAgVXBkYXRlcyB0aGUga2V5Z2VuIHRlc3QgdG8gZXhlcmNp
c2UgbmV3IERSVCBmdW5jdGlvbmFsaXR5OyBza2lwcworICAgICAgICBvbiBvdGhlciBwb3J0cyBm
b3Igbm93LgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEtleWdlbkVsZW1lbnQva2V5Z2VuLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4u
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vU2tpcHBlZDoKKwogMjAxMS0wMy0zMCAg
TWloYWkgUGFycGFyaXRhICA8bWloYWlwQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdGRUNvbnZvbHZlTWF0cml4RWxlbWVudCogZm9yIENocm9taXVt
IFNub3cgTGVvcGFyZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxLZXln
ZW5FbGVtZW50L2tleWdlbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
S2V5Z2VuRWxlbWVudC9rZXlnZW4tZXhwZWN0ZWQudHh0CmluZGV4IDRkN2UxZjBmZDA3MTkyMGQ5
MjQyZDIyYWJmYzM2MmNiMGIyNDg3YzEuLjc0NWYwMTY3ZjYzM2JiYjU2MTcwNDFhZjU3MDk5MmIx
ZGM5MmI1OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxLZXlnZW5FbGVt
ZW50L2tleWdlbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEtl
eWdlbkVsZW1lbnQva2V5Z2VuLWV4cGVjdGVkLnR4dApAQCAtMSw4ICsxLDEwIEBACiAKLVRlc3Rz
IHRoZSBrZXlnZW4gZWxlbWVudC4KK1RoaXMgdGVzdHMgdGhlIGtleWdlbiBlbGVtZW50LgogCi1P
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCitQQVNTIGtleWdlbi5vcHRpb25zIGlzIHVuZGVmaW5l
ZAorUEFTUyBzaGFkb3cudGFnTmFtZSBpcyAiU0VMRUNUIgorUEFTUyBsYXlvdXRUZXN0Q29udHJv
bGxlci5zaGFkb3dSb290KHNoYWRvdykgaXMgbnVsbAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQogCi0KLVBBU1MgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImtleXMiKS5vcHRpb25z
IGlzIHVuZGVmaW5lZAorVEVTVCBDT01QTEVURQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MS2V5Z2VuRWxlbWVudC9rZXlnZW4uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxLZXlnZW5FbGVtZW50L2tleWdlbi5odG1sCmluZGV4IDU5MTk2YWM2MWM1OGZiYTky
ODE5ZmMzOGI0Nzg1NGJjY2EyN2NhMTEuLmVkOWNkY2FjZWZlZmZmMzllYzJkY2EyNDgzMjdjNDdl
MGJiOTQxOGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxLZXlnZW5FbGVt
ZW50L2tleWdlbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxLZXlnZW5FbGVt
ZW50L2tleWdlbi5odG1sCkBAIC0xLDI3ICsxLDI2IEBACis8IURPQ1RZUEUgaHRtbD4KIDxodG1s
PgogPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+CiA8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGtleWdlbiBpZD0ia2V5
cyIgLz4KKzxwcmUgaWQ9ImNvbnNvbGUiPgorVGhpcyB0ZXN0cyB0aGUga2V5Z2VuIGVsZW1lbnQu
CiAKLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0K
KzwvcHJlPgogPHNjcmlwdD4KLWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwotCi1mdW5jdGlvbiB0ZXN0KGVsZW1l
bnRJZCkKLXsKLSAgICBkZXNjcmlwdGlvbignVGVzdHMgdGhlIGtleWdlbiBlbGVtZW50LicpOwor
dmFyIGtleWdlbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdrZXlzJyk7CitzaG91bGRCZSgn
a2V5Z2VuLm9wdGlvbnMnLCAndW5kZWZpbmVkJyk7ICAvLyBrZXlnZW4gaXMgbm90IGEgc2VsZWN0
CiAKLSAgICBzaG91bGRCZSgnZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImtleXMiKS5vcHRpb25z
JywgJ3VuZGVmaW5lZCcpOyAgICAKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgdmFyIHNoYWRvdyA9IGxheW91dFRlc3RDb250cm9sbGVyLnNoYWRvd1Jvb3Qoa2V5Z2VuKTsK
KyAgc2hvdWxkQmUoJ3NoYWRvdy50YWdOYW1lJywgJyJTRUxFQ1QiJyk7CisgIHNob3VsZEJlKCds
YXlvdXRUZXN0Q29udHJvbGxlci5zaGFkb3dSb290KHNoYWRvdyknLCAnbnVsbCcpOwogfQogCi10
ZXN0KCJrZXlzIik7Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKIDwvc2NyaXB0Pgot
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CiA8L2JvZHk+CiA8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXggYTJmYTJiYmE5NDBmYTE0ZjExZDgyN2Jl
MWQyNmU0YjIyYWEzNmVhMy4uOWUwYTRjYTc4MjY2ZmNlMmY1OTFjY2Y1OTVmYWUxZTE0ZTNhY2E0
MSAxMDA3NTUKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3Rh
dGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0
YXRpb25zLnR4dApAQCAtMzMyNSw2ICszMzI1LDkgQEAgQlVHWFhYIEdQVSBNQUMgU05PV0xFT1BB
UkQgOiBjb21wb3NpdGluZy9zZWxmLXBhaW50aW5nLWxheWVycy5odG1sID0gRkFJTAogLy8gQ2hy
b21lIGRvZXNuJ3QgbG9hZCBmYXZpY29ucyBpbiBEUlQgdGVzdHMuCiBCVUdXSzU3MjU5IDogaHR0
cC90ZXN0cy9taXNjL2xpbmstcmVsLWljb24tYmVmb3JlbG9hZC5odG1sID0gRkFJTCBQQVNTCiAK
Ky8vIFVuc2tpcCB3aGVuIENocm9taXVtIERSVCBsYXlvdXRUZXN0Q29udHJvbGxlciBpbXBsZW1l
bnRzIHNoYWRvd1Jvb3QgYWNjZXNzb3IKK0JVR1dLNTY1NzMgOiBmYXN0L2RvbS9IVE1MS2V5Z2Vu
RWxlbWVudC9rZXlnZW4uaHRtbCA9IEZBSUwKKwogLy8gcjgyNDE5LgogQlVHV0s1NzQ0MiA6IGZh
c3QvYm94LXNoYWRvdy9iYXNpYy1zaGFkb3dzLmh0bWwgPSBJTUFHRQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0
ay9Ta2lwcGVkCmluZGV4IGZkNzg3ZDdhZGI0MTRlZGE1Y2E0ZGM2MmRjY2I5YjY5OTU3NmEwMDQu
LmNjNWI0MjljMjU3ZjM4YTBhNzExOTdmZGY4Njc2ZWI4ZTUwYTQ5OGEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9Ta2lwcGVkCkBAIC00NzcsNiArNDc3LDEwIEBAIGZhc3QvY2FudmFzL3BhdHRlcm5maWxs
LXJlcGVhdC5odG1sCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
NDEzNgogZmFzdC9odG1sL2tleWdlbi5odG1sCiAKKyMgbGF5b3V0VGVzdENvbnRyb2xsZXIgZG9l
cyBub3QgaW1wbGVtZW50IHNoYWRvd1Jvb3QgYWNjZXNzb3IKKyMgU2VlIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjU3MworZmFzdC9kb20vSFRNTEtleWdlbkVsZW1l
bnQva2V5Z2VuLmh0bWwKKwogIyBbR1RLXSBHVEsrIGRvZXMgbm90IHN1cHBvcnQgaHlwaGVuYXRp
b24KICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0NDc4CiBmYXN0
L3RleHQvaHlwaGVuYXRlLWNoYXJhY3Rlci5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRl
eCAzYjNkN2Q0Y2M3OTNiZWIwMzRiYjYxNGE5M2M0NzJmNzhkODg1ZmZlLi5mMTExMDQ5ZTAyYWQ5
YmFiZjI0OWNmZjdjYTViMzI2YTNkYmU2ZDRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAg
LTIwMjAsNiArMjAyMCw4IEBAIGZhc3QvZG9tL0hUTUxIZWFkRWxlbWVudC90ZXh0SW5IZWFkNC5o
dG1sCiBmYXN0L2RvbS9IVE1MSGVhZEVsZW1lbnQvdGV4dEluSGVhZDUuaHRtbAogZmFzdC9kb20v
SFRNTEltYWdlRWxlbWVudC9pbWFnZS1hbHQtdGV4dC5odG1sCiBmYXN0L2RvbS9IVE1MSW5wdXRF
bGVtZW50L2lucHV0LWltYWdlLWFsdC10ZXh0Lmh0bWwKKyMgU2VlIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NjU3MworZmFzdC9kb20vSFRNTEtleWdlbkVsZW1lbnQv
a2V5Z2VuLmh0bWwKIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9wZW5kaW5nLXN0eWxlc2hlZXQt
Y291bnQuaHRtbAogIyBtZXRlci1lbGVtZW50Lmh0bWwgaXMgdGVtcG9yYWxseSBkaXNhYmxlZC5X
ZSBuZWVkIHRvIHJlYmFzZWxpbmUuCiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLWVs
ZW1lbnQuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCA1NGQ5ZTdiZDBiYjk5YjIz
YTJmNjhlNmNlODU0ZTIwY2EzZDExZjNhLi4xODQyZTUyMjQ2ZDJiMzliNDFjYjI5MWY5MjMzYjQ2
OGJlY2RjMjU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTIwNiwzICsxMjA2LDYg
QEAgcGx1Z2lucy9yZWZjb3VudC1sZWFrcy5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTU2NDk2CiBmYXN0L2pzL2FycmF5LXNvcnQtbW9kaWZ5aW5nLXRv
c3RyaW5nLmh0bWwKKworIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTY1NzMKK2Zhc3QvZG9tL0hUTUxLZXlnZW5FbGVtZW50L2tleWdlbi5odG1sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggYzE5MDhhYWE5NGUyZmM2MjIzNGY4MDA4NThhZDFiMDlmMDllZDhlOS4uN2QyNWE3MTZiYWI2
YTg3YTA4YTdkNzhmMTkzNGMwOTFiYTkwZTE5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBA
CisyMDExLTAzLTI5ICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGdvb2dsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBsYXlvdXRU
ZXN0Q29udHJvbGxlci5zaGFkb3dSb290IGFjY2Vzc29yIHRvIE1hYyBEUlQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQxNQorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46IERSVCBuZWVkcyB0byBsaW5rIFdlYkNvcmU6OkVsZW1lbnQ6OnNoYWRv
d1Jvb3QKKwogMjAxMS0wMy0zMCAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CmluZGV4IDUxMTExZWYyNTg1NmUyMzkxMDQzOTZlMTBlYjRlY2M3ZDlhOTFmMzcuLmJkZWMzMGI5
N2Y1YWNkMTdiMjg3NDFiNDdkNjc0Nzk3ZTk2MTVhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBA
IC03OTIsNiArNzkyLDcgQEAgX19aTjdXZWJDb3JlNldpZGdldEQyRXYKIF9fWk43V2ViQ29yZTZ0
b05vZGVFTjNKU0M3SlNWYWx1ZUUKIF9fWk43V2ViQ29yZTdDb25zb2xlMjFzaG91bGRQcmludEV4
Y2VwdGlvbnNFdgogX19aTjdXZWJDb3JlN0NvbnNvbGUyNHNldFNob3VsZFByaW50RXhjZXB0aW9u
c0ViCitfX1pON1dlYkNvcmU3RWxlbWVudDEwc2hhZG93Um9vdEV2CiBfX1pON1dlYkNvcmU3SW50
UmVjdDVzY2FsZUVmCiBfX1pON1dlYkNvcmU3SW50UmVjdDV1bml0ZUVSS1MwXwogX19aTjdXZWJD
b3JlN0ludFJlY3Q5aW50ZXJzZWN0RVJLUzBfCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggNWY3MTYxZTA0
MWIwMzQ5MzM1NzY2MzIyZDI5ZmE0YmM3Mjc2MzM3Ny4uMWM4Mjg2NWFlNmM3NmU3NzIxMTE3Mjhj
YmU0NmQ0NjAxMTJjODZmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEx
LTAzLTI5ICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGdvb2dsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBsYXlvdXRUZXN0Q29u
dHJvbGxlci5zaGFkb3dSb290IGFjY2Vzc29yIHRvIE1hYyBEUlQuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQxNQorCisgICAgICAgICogRE9NL1dl
YkRPTU9wZXJhdGlvbnMubW06CisgICAgICAgICgtW0RPTUVsZW1lbnQgX3NoYWRvd1Jvb3Q6XSk6
CisgICAgICAgICogRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmg6CisKIDIwMTEtMDMtMjkg
IEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1h
Y2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRP
TU9wZXJhdGlvbnMubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9ET00vV2ViRE9NT3BlcmF0aW9ucy5t
bQppbmRleCA5Nzk0MzNkNmViM2U0MzI5Yjc2NGMxYWI0MDNmYjFkMjMyNDg4ZWZlLi4yMGU5YWNl
NTI2ZDk5MzA2NTczOTg1NTY5OTNmMzBjYjM0NGI1YjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9ET00vV2ViRE9NT3BlcmF0aW9ucy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9E
T00vV2ViRE9NT3BlcmF0aW9ucy5tbQpAQCAtMzksNiArMzksNyBAQAogI2ltcG9ydCAiV2ViS2l0
TlNTdHJpbmdFeHRyYXMuaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3QuaD4KICNp
bXBvcnQgPFdlYkNvcmUvRG9jdW1lbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvRWxlbWVudC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9IVE1MSW5wdXRFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0hU
TUxQYXJzZXJJZGlvbXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvSlNFbGVtZW50Lmg+CkBAIC03Myw2
ICs3NCwxMyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogICAgIHJldHVybiBXZWJDb3JlOjptYXJr
ZXJUZXh0Rm9yTGlzdEl0ZW0oY29yZShzZWxmKSk7CiB9CiAKKy0gKEpTVmFsdWVSZWYpX3NoYWRv
d1Jvb3Q6KEpTQ29udGV4dFJlZiljb250ZXh0Cit7CisgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFz
c2VydGlvbnNPbmx5KTsKKyAgICBFeGVjU3RhdGUqIGV4ZWNTdGF0ZSA9IHRvSlMoY29udGV4dCk7
CisgICAgcmV0dXJuIHRvUmVmKGV4ZWNTdGF0ZSwgdG9KUyhleGVjU3RhdGUsIGNvcmUoc2VsZikt
PnNoYWRvd1Jvb3QoKSkpOworfQorCiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBET01Ob2RlIChX
ZWJET01Ob2RlT3BlcmF0aW9ucykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0RPTS9X
ZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9w
ZXJhdGlvbnNQcml2YXRlLmgKaW5kZXggYjU3OWE2Zjg3ZDAxZjE5YTNmM2Y5YzA4OTYyMGU2NDkz
ZGIyNTJlNi4uY2Q1ZmYyMDVjODU3ZGUyOTI1MTNlMDZmY2E0ZDU2MjBkZjU4Nzk0OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmgKKysr
IGIvU291cmNlL1dlYktpdC9tYWMvRE9NL1dlYkRPTU9wZXJhdGlvbnNQcml2YXRlLmgKQEAgLTMy
LDYgKzMyLDcgQEAKIEBpbnRlcmZhY2UgRE9NRWxlbWVudCAoV2ViRE9NRWxlbWVudE9wZXJhdGlv
bnNQcml2YXRlKQogKyAoRE9NRWxlbWVudCAqKV9ET01FbGVtZW50RnJvbUpTQ29udGV4dDooSlND
b250ZXh0UmVmKWNvbnRleHQgdmFsdWU6KEpTVmFsdWVSZWYpdmFsdWU7CiAtIChOU1N0cmluZyAq
KV9tYXJrZXJUZXh0Rm9yTGlzdEl0ZW07CistIChKU1ZhbHVlUmVmKV9zaGFkb3dSb290OihKU0Nv
bnRleHRSZWYpY29udGV4dDsKIEBlbmQKIAogQGludGVyZmFjZSBET01Eb2N1bWVudCAoV2ViRE9N
RG9jdW1lbnRPcGVyYXRpb25zUHJpdmF0ZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4OTY0ZDBjMGUzZThhNzc3OWNjYzRhZjNlODkzNGUxMTI0
N2E0ZmZhLi42MTg4N2M2ZmZjZGI2ZWRmMGM5Y2U1OGIwMTIwOTc2OWYwYmY1MTkzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDMtMjkgIERvbWluaWMgQ29vbmV5ICA8ZG9taW5pY2NAZ29vZ2xlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRzIGxheW91
dFRlc3RDb250cm9sbGVyLnNoYWRvd1Jvb3QgYWNjZXNzb3IgdG8gTWFjIERSVC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NDE1CisKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChzaGFk
b3dSb290Q2FsbGJhY2spOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnN0YXRpY0Z1
bmN0aW9ucyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
aDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMu
bW06CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hhZG93Um9vdCk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcDoKKyAgICAg
ICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaGFkb3dSb290KToKKwogMjAxMS0wMy0zMCAgQWRh
bSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
Um9iZW4uCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
aW5kZXggMThiM2RjZDU2MmJhYjkyZWVjNzA4MjcwYjJkOTYyYjQyZmJjOWQ5MC4uMzk0MDc0ZGNj
MmRiNjhhYjliZTUyOTZjYWVhNThiZmQ0NDFkOGNhMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTY4Nyw2ICsxNjg3LDE0IEBAIHN0YXRp
YyBKU1ZhbHVlUmVmIHNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkQ2FsbGJhY2so
SlNDb250ZXh0UmVmIGNvbnRlCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiBzaGFkb3dSb290Q2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIGlmIChhcmd1bWVudENvdW50ICE9IDEpCisgICAg
ICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKyAgICBMYXlvdXRUZXN0
Q29udHJvbGxlciogY29udHJvbGxlciA9IHN0YXRpY19jYXN0PExheW91dFRlc3RDb250cm9sbGVy
Kj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKKyAgICByZXR1cm4gY29udHJvbGxl
ci0+c2hhZG93Um9vdChjb250ZXh0LCBhcmd1bWVudHNbMF0pOworfQorCiBzdGF0aWMgSlNWYWx1
ZVJlZiBzaG93V2ViSW5zcGVjdG9yQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2Jq
ZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRD
b3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9u
KQogewogICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8
TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkpOwpA
QCAtMjI2NCw2ICsyMjcyLDcgQEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnN0YXRpY0Z1bmN0aW9ucygpCiAgICAgICAgIHsgInNldEphdmFTY3JpcHRDYW5BY2Nlc3ND
bGlwYm9hcmQiLCBzZXRKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkQ2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKICAgICAgICAgeyAic2V0WFNTQXVkaXRvckVuYWJsZWQiLCBzZXRYU1NBdWRpdG9yRW5hYmxl
ZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgInNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkIiwgc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWRDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAorICAgICAgICB7ICJzaGFkb3dSb290Iiwgc2hhZG93Um9vdENhbGxiYWNrLCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRl
IH0sCiAgICAgICAgIHsgInNob3dXZWJJbnNwZWN0b3IiLCBzaG93V2ViSW5zcGVjdG9yQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAidGVzdE9uc2NyZWVuIiwgdGVzdE9uc2NyZWVuQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKICAgICAgICAgeyAidGVzdFJlcGFpbnQiLCB0ZXN0UmVwYWludENhbGxiYWNr
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaApp
bmRleCA0YTZlNTljY2EyNDM2ZDljYTdlNWYyZmRkZDZhNDkxNWE2YTg3NWJmLi40MzZmYTgyY2Jk
ZDVkYjVmM2I3OGQwZWQ4NjQxMmEyYWNlYTE1M2UwIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTEyMiw2ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzZXRTcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQoYm9vbCBlbmFibGUpOwogICAgIHZvaWQg
c2V0U2Nyb2xsYmFyUG9saWN5KEpTU3RyaW5nUmVmIG9yaWVudGF0aW9uLCBKU1N0cmluZ1JlZiBw
b2xpY3kpOwogICAgIHZvaWQgc2V0RWRpdGluZ0JlaGF2aW9yKGNvbnN0IGNoYXIqIGVkaXRpbmdC
ZWhhdmlvcik7CisgICAgSlNWYWx1ZVJlZiBzaGFkb3dSb290KEpTQ29udGV4dFJlZiwgSlNWYWx1
ZVJlZik7CiAKICAgICB2b2lkIHdhaXRGb3JQb2xpY3lEZWxlZ2F0ZSgpOwogICAgIHNpemVfdCB3
ZWJIaXN0b3J5SXRlbUNvdW50KCk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9n
dGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0xheW91dFRlc3RDb250cm9sbGVyR3RrLmNwcAppbmRleCBjMjZlMmRiZDZiZTZhNjlmNWVhYTkz
ZWJiNGYyNTYwNWVjZDI2MmI3Li44NDkyMDVhM2VmYzQ2MDQxMzI4YTc1YjVlZjQ2NTQ5Y2IxODcz
YjAxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRy
b2xsZXJHdGsuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0Q29u
dHJvbGxlckd0ay5jcHAKQEAgLTkxNyw2ICs5MTcsMTIgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0RWRpdGluZ0JlaGF2aW9yKGNvbnN0IGNoYXIqIGVkaXRpbmdCZWhhdmlvcikKICAg
ICAgICAgZ19vYmplY3Rfc2V0KEdfT0JKRUNUKHNldHRpbmdzKSwgImVkaXRpbmctYmVoYXZpb3Ii
LCBXRUJLSVRfRURJVElOR19CRUhBVklPUl9VTklYLCBOVUxMKTsKIH0KIAorSlNWYWx1ZVJlZiBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2hhZG93Um9vdChKU0NvbnRleHRSZWYgY29udGV4dCwgSlNW
YWx1ZVJlZiBqc0VsZW1lbnQpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzLgorICAg
IHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwogdm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6YWJvcnRNb2RhbCgpCiB7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW0KaW5kZXggNjZjMGNjZTI4MDFh
MjA3OTE0MjhmZjcxYjRiY2IwNzNkNTdkYTkwMC4uMzJkMDUzMzhlZWNkZTQ3NDE2Nzc0YmQzZDBj
NjM0ZTY0ZDAyNWEzOSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0xheW91
dFRlc3RDb250cm9sbGVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlv
dXRUZXN0Q29udHJvbGxlck1hYy5tbQpAQCAtMTA2OCw2ICsxMDY4LDE0IEBAIHZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldEVkaXRpbmdCZWhhdmlvcihjb25zdCBjaGFyKiBlZGl0aW5nQmVo
YXZpb3IpCiAgICAgW2VkaXRpbmdCZWhhdmlvck5TIHJlbGVhc2VdOwogfQogCitKU1ZhbHVlUmVm
IExheW91dFRlc3RDb250cm9sbGVyOjpzaGFkb3dSb290KEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U1ZhbHVlUmVmIGpzRWxlbWVudCkKK3sKKyAgICBET01FbGVtZW50ICplbGVtZW50ID0gW0RPTUVs
ZW1lbnQgX0RPTUVsZW1lbnRGcm9tSlNDb250ZXh0OmNvbnRleHQgdmFsdWU6anNFbGVtZW50XTsK
KyAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChj
b250ZXh0KTsKKyAgICByZXR1cm4gW2VsZW1lbnQgX3NoYWRvd1Jvb3Q6Y29udGV4dF07Cit9CisK
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFib3J0TW9kYWwoKQogewogICAgIFtOU0FwcCBh
Ym9ydE1vZGFsXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRU
ZXN0Q29udHJvbGxlcldpbi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVz
dENvbnRyb2xsZXJXaW4uY3BwCmluZGV4IDFkMmYzZDg1MDBkNDVlNDg4MDA0OWE1M2U1ZjkxZTgx
YWRhM2YxMzkuLjIwODZhZTcxYzQ4YzA5NDQyYmZhMjY3MjY5MzQ5NDY0NzgxZmMxYTIgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2lu
LmNwcApAQCAtMTQ0MSw2ICsxNDQxLDEyIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNl
dEVkaXRpbmdCZWhhdmlvcihjb25zdCBjaGFyKiBlZGl0aW5nQmVoYXZpb3IpCiAgICAgICAgIHBy
ZWZlcmVuY2VzLT5zZXRFZGl0aW5nQmVoYXZpb3IoV2ViS2l0RWRpdGluZ1VuaXhCZWhhdmlvcik7
CiB9CiAKK0pTVmFsdWVSZWYgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNoYWRvd1Jvb3QoSlNDb250
ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVSZWYganNFbGVtZW50KQoreworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgdGhpcy4KKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7
Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmFib3J0TW9kYWwoKQogewogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>