<?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>4963</bug_id>
          
          <creation_ts>2005-09-13 01:29:20 -0700</creation_ts>
          <short_desc>Would like to simulate human interaction with webview</short_desc>
          <delta_ts>2005-09-24 06:54:16 -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>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Duncan Wilcox">duncan</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>19556</commentid>
    <comment_count>0</comment_count>
    <who name="Duncan Wilcox">duncan</who>
    <bug_when>2005-09-13 01:29:20 -0700</bug_when>
    <thetext>The attached patch adds a Javascript interface for &quot;injecting&quot; mouse events into a webview, that lets us 
regression test some of the code paths in WebHTMLView.m.

Implemented via Javascript as per Maciej&apos;s suggestion, so that events are fed in different run loops.

Supplied test cases currently test a double click becoming a word selection, and a drag becoming a 
selection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19557</commentid>
    <comment_count>1</comment_count>
      <attachid>3886</attachid>
    <who name="Duncan Wilcox">duncan</who>
    <bug_when>2005-09-13 01:30:41 -0700</bug_when>
    <thetext>Created attachment 3886
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19559</commentid>
    <comment_count>2</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-09-13 02:56:29 -0700</bug_when>
    <thetext>I like the idea behind this patch. Duncan and I discussed some possible naming alternatives on IRC. 
Instead of:

eventInjectController.injectMouseDown()

perhaps something like:

eventController.mouseDown()
eventInjector.mouseDown()
eventSource.mouseDown()
syntheticEventSource.mouseDown()
layoutTestController.eventSource.mouseDown()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20143</commentid>
    <comment_count>3</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-09-21 00:52:58 -0700</bug_when>
    <thetext>Other than the name issue, the patch looks fine to me. marking r- so Duncan can reconsider the name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20214</commentid>
    <comment_count>4</comment_count>
      <attachid>4000</attachid>
    <who name="Duncan Wilcox">duncan</who>
    <bug_when>2005-09-22 02:20:31 -0700</bug_when>
    <thetext>Created attachment 4000
patch

Renamed to eventSender.mouseDown and similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20420</commentid>
    <comment_count>5</comment_count>
      <attachid>4000</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-09-23 18:28:03 -0700</bug_when>
    <thetext>Comment on attachment 4000
patch

Looks great to me. r=me

Future extensions that might be useful would include keyboard events and the
ability to click other buttons besides the main one (and also modified clicks).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3886</attachid>
            <date>2005-09-13 01:30:41 -0700</date>
            <delta_ts>2005-09-22 02:20:31 -0700</delta_ts>
            <desc>patch</desc>
            <filename>inject.patch</filename>
            <type>text/plain</type>
            <size>14869</size>
            <attacher name="Duncan Wilcox">duncan</attacher>
            
              <data encoding="base64">SW5kZXg6IGVkaXRpbmcvc2VsZWN0aW9uL2luamVjdC1kb3VibGVjbGljay1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpkaWZmIC1OcHUgZWRpdGluZy9zZWxlY3Rpb24vaW5qZWN0LWRvdWJsZWNsaWNr
LWV4cGVjdGVkLnR4dAotLS0gZWRpdGluZy9zZWxlY3Rpb24vaW5qZWN0LWRvdWJsZWNsaWNrLWV4
cGVjdGVkLnR4dAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBlZGl0aW5nL3NlbGVjdGlv
bi9pbmplY3QtZG91YmxlY2xpY2stZXhwZWN0ZWQudHh0CTEzIFNlcCAyMDA1IDA3OjQ2OjEzIC0w
MDAwCkBAIC0wLDAgKzEsMTUgQEAKK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZEJlZ2luRWRpdGlu
Z0luRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50
IHRvIDEgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJv
bSAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiAjdGV4
dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZm
aW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3
ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmlj
YXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFu
Z2UgZnJvbSAxIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBv
ZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2Ug
ZnJvbSAwIG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNiBvZiAj
dGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9u
QWZmaW5pdHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRF
OiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3Rp
ZmljYXRpb24KK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJDYW52YXMgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkg
c2l6ZSA4MDB4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSAxOTN4
MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxOTM6ICJTZWxlY3QgbWUsIHNl
bGVjdCBtZSwgc2VsZWN0IG1lIgorc2VsZWN0aW9uIHN0YXJ0OiBwb3NpdGlvbiAwIG9mIGNoaWxk
IDAge1RFWFR9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7
SFRNTH0gb2YgZG9jdW1lbnQKK3NlbGVjdGlvbiBlbmQ6ICAgcG9zaXRpb24gNiBvZiBjaGlsZCAw
IHtURVhUfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hU
TUx9IG9mIGRvY3VtZW50CkluZGV4OiBlZGl0aW5nL3NlbGVjdGlvbi9pbmplY3QtZG91YmxlY2xp
Y2suaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09CmRpZmYgLU5wdSBlZGl0aW5nL3NlbGVjdGlvbi9pbmplY3QtZG91
YmxlY2xpY2suaHRtbAotLS0gZWRpdGluZy9zZWxlY3Rpb24vaW5qZWN0LWRvdWJsZWNsaWNrLmh0
bWwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgZWRpdGluZy9zZWxlY3Rpb24vaW5qZWN0
LWRvdWJsZWNsaWNrLmh0bWwJMTMgU2VwIDIwMDUgMDc6NDM6NDAgLTAwMDAKQEAgLTAsMCArMSw0
NCBAQAorPGh0bWw+DQorPGhlYWQ+DQorPHN0eWxlPg0KK2JvZHkgeyBtYXJnaW46IDA7IHBhZGRp
bmc6IDAgfQ0KKzwvc3R5bGU+DQorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KK2Z1
bmN0aW9uIHN0ZXA0KCkNCit7DQorICAgIGV2ZW50SW5qZWN0Q29udHJvbGxlci5pbmplY3RNb3Vz
ZVVwKCk7DQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsNCit9DQorDQor
ZnVuY3Rpb24gc3RlcDMoKQ0KK3sNCisgICAgZXZlbnRJbmplY3RDb250cm9sbGVyLmluamVjdE1v
dXNlRG93bigpOw0KKyAgICB3aW5kb3cuc2V0VGltZW91dChzdGVwNCwgMSk7DQorfQ0KKw0KK2Z1
bmN0aW9uIHN0ZXAyKCkNCit7DQorICAgIGV2ZW50SW5qZWN0Q29udHJvbGxlci5pbmplY3RNb3Vz
ZVVwKCk7DQorICAgIHdpbmRvdy5zZXRUaW1lb3V0KHN0ZXAzLCAxMDApOw0KK30NCisNCitmdW5j
dGlvbiBzdGVwMSgpDQorew0KKyAgICBldmVudEluamVjdENvbnRyb2xsZXIuaW5qZWN0TW91c2VE
b3duKCk7DQorICAgIHdpbmRvdy5zZXRUaW1lb3V0KHN0ZXAyLCAxKTsNCit9DQorDQorZnVuY3Rp
b24gc3RlcDAoKQ0KK3sNCisgICAgZXZlbnRJbmplY3RDb250cm9sbGVyLmluamVjdE1vdXNlTW92
ZVRvKDEwLCAxMCk7DQorICAgIHdpbmRvdy5zZXRUaW1lb3V0KHN0ZXAxLCAxKTsNCit9DQorDQor
c3RlcDAoKTsNCitsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7DQorPC9zY3Jp
cHQ+DQorPC9oZWFkPg0KKzxib2R5Pg0KKzxkaXYgY29udGVudGVkaXRhYmxlPlNlbGVjdCBtZSwg
c2VsZWN0IG1lLCBzZWxlY3QgbWU8L2Rpdj4NCis8L2JvZHk+DQorPC9odG1sPg0KSW5kZXg6IGVk
aXRpbmcvc2VsZWN0aW9uL2luamVjdC1kcmFnLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYg
LU5wdSBlZGl0aW5nL3NlbGVjdGlvbi9pbmplY3QtZHJhZy1leHBlY3RlZC50eHQKLS0tIGVkaXRp
bmcvc2VsZWN0aW9uL2luamVjdC1kcmFnLWV4cGVjdGVkLnR4dAkxIEphbiAxOTcwIDAwOjAwOjAw
IC0wMDAwCisrKyBlZGl0aW5nL3NlbGVjdGlvbi9pbmplY3QtZHJhZy1leHBlY3RlZC50eHQJMTMg
U2VwIDIwMDUgMDc6NDY6MTQgLTAwMDAKQEAgLTAsMCArMSwxOSBAQAorRURJVElORyBERUxFR0FU
RTogc2hvdWxkQmVnaW5FZGl0aW5nSW5ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9E
WSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dAorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hhbmdlU2VsZWN0ZWRET01SYW5nZToobnVsbCkg
dG9ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdl
OnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA0IG9mICN0
ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+IERJViA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3du
c3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlk
Q2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSA0
IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNCBvZiAjdGV4dCA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA1IG9m
ICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNSBvZiAjdGV4dCA+IERJ
ViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlE
b3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24K
K0VESVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJv
bSA1IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gNSBvZiAjdGV4
dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvRE9NUmFuZ2U6cmFuZ2UgZnJvbSA1
IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gOCBvZiAjdGV4dCA+
IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5p
dHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRp
b24KK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJDYW52YXMgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICgw
LDApIHNpemUgODAweDYwMAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA4
MDB4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSAxOTN4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxOTM6ICJTZWxlY3QgbWUsIHNlbGVjdCBt
ZSwgc2VsZWN0IG1lIgorc2VsZWN0aW9uIHN0YXJ0OiBwb3NpdGlvbiA1IG9mIGNoaWxkIDAge1RF
WFR9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0g
b2YgZG9jdW1lbnQKK3NlbGVjdGlvbiBlbmQ6ICAgcG9zaXRpb24gOCBvZiBjaGlsZCAwIHtURVhU
fSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9m
IGRvY3VtZW50CkluZGV4OiBlZGl0aW5nL3NlbGVjdGlvbi9pbmplY3QtZHJhZy5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KZGlmZiAtTnB1IGVkaXRpbmcvc2VsZWN0aW9uL2luamVjdC1kcmFnLmh0bWwKLS0tIGVk
aXRpbmcvc2VsZWN0aW9uL2luamVjdC1kcmFnLmh0bWwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAw
MAorKysgZWRpdGluZy9zZWxlY3Rpb24vaW5qZWN0LWRyYWcuaHRtbAkxMyBTZXAgMjAwNSAwNzo0
Mzo0MCAtMDAwMApAQCAtMCwwICsxLDYyIEBACis8aHRtbD4NCis8aGVhZD4NCis8c3R5bGU+DQor
Ym9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMCB9DQorPC9zdHlsZT4NCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+DQorZnVuY3Rpb24gc3RlcDcoKQ0KK3sNCisgICAgZXZlbnRJbmpl
Y3RDb250cm9sbGVyLmluamVjdE1vdXNlVXAoKTsNCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
bm90aWZ5RG9uZSgpOw0KK30NCisNCitmdW5jdGlvbiBzdGVwNigpDQorew0KKyAgICBldmVudElu
amVjdENvbnRyb2xsZXIuaW5qZWN0TW91c2VNb3ZlVG8oNTAsIDEwKTsNCisgICAgd2luZG93LnNl
dFRpbWVvdXQoc3RlcDcsIDEpOw0KK30NCisNCitmdW5jdGlvbiBzdGVwNSgpDQorew0KKyAgICBl
dmVudEluamVjdENvbnRyb2xsZXIuaW5qZWN0TW91c2VNb3ZlVG8oMzEsIDEwKTsNCisgICAgd2lu
ZG93LnNldFRpbWVvdXQoc3RlcDYsIDEpOw0KK30NCisNCitmdW5jdGlvbiBzdGVwNCgpDQorew0K
KyAgICBldmVudEluamVjdENvbnRyb2xsZXIuaW5qZWN0TW91c2VEb3duKCk7DQorICAgIHdpbmRv
dy5zZXRUaW1lb3V0KHN0ZXA1LCAxKTsNCit9DQorDQorZnVuY3Rpb24gc3RlcDMoKQ0KK3sNCisg
ICAgZXZlbnRJbmplY3RDb250cm9sbGVyLmluamVjdE1vdXNlTW92ZVRvKDMwLCAxMCk7DQorICAg
IHdpbmRvdy5zZXRUaW1lb3V0KHN0ZXA0LCAxMDAwKTsNCit9DQorDQorZnVuY3Rpb24gc3RlcDIo
KQ0KK3sNCisgICAgZXZlbnRJbmplY3RDb250cm9sbGVyLmluamVjdE1vdXNlVXAoKTsNCisgICAg
d2luZG93LnNldFRpbWVvdXQoc3RlcDMsIDEpOw0KK30NCisNCitmdW5jdGlvbiBzdGVwMSgpDQor
ew0KKyAgICBldmVudEluamVjdENvbnRyb2xsZXIuaW5qZWN0TW91c2VEb3duKCk7DQorICAgIHdp
bmRvdy5zZXRUaW1lb3V0KHN0ZXAyLCAxKTsNCit9DQorDQorZnVuY3Rpb24gc3RlcDAoKQ0KK3sN
CisgICAgZXZlbnRJbmplY3RDb250cm9sbGVyLmluamVjdE1vdXNlTW92ZVRvKDEsIDEwKTsNCisg
ICAgd2luZG93LnNldFRpbWVvdXQoc3RlcDEsIDEpOw0KK30NCisNCitzdGVwMCgpOw0KK2xheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsNCis8L3NjcmlwdD4NCis8L2hlYWQ+DQor
PGJvZHk+DQorPGRpdiBjb250ZW50ZWRpdGFibGU+U2VsZWN0IG1lLCBzZWxlY3QgbWUsIHNlbGVj
dCBtZTwvZGl2Pg0KKzwvYm9keT4NCis8L2h0bWw+DQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvRHVtcFJlbmRlclRyZWUubQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3Qv
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUubSx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4xNApkaWZmIC1wIC11IC1yMS4xNCBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9EdW1wUmVuZGVyVHJlZS5tCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVu
ZGVyVHJlZS5tCTEgU2VwIDIwMDUgMDY6NDI6NTggLTAwMDAJMS4xNAorKysgV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUubQkxMyBTZXAgMjAwNSAwNzo1ODo1NyAtMDAw
MApAQCAtNDAsNiArNDAsOCBAQAogI2ltcG9ydCA8V2ViS2l0L1dlYlByZWZlcmVuY2VzLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV2ViVmlldy5oPgogCisjaW1wb3J0IDxDYXJib24vQ2FyYm9uLmg+IC8v
IGZvciBHZXRDdXJyZW50RXZlbnRUaW1lKCkKKwogI2RlZmluZSBDT01NT05fRElHRVNUX0ZPUl9P
UEVOU1NMCiAjaW1wb3J0IDxDb21tb25DcnlwdG8vQ29tbW9uRGlnZXN0Lmg+CiAjaW1wb3J0IDxn
ZXRvcHQuaD4KQEAgLTUzLDYgKzU1LDE2IEBACiBAaW50ZXJmYWNlIExheW91dFRlc3RDb250cm9s
bGVyIDogTlNPYmplY3QKIEBlbmQKIAorQGludGVyZmFjZSBFdmVudEluamVjdENvbnRyb2xsZXIg
OiBOU09iamVjdAoreworICAgIE5TUG9pbnQgbGFzdDsKKyAgICBCT09MIGRvd247CisgICAgaW50
IGNsaWNrQ291bnQ7CisgICAgTlNUaW1lSW50ZXJ2YWwgbGFzdENsaWNrOworfQorCitAZW5kCisK
IHN0YXRpYyB2b2lkIGR1bXBSZW5kZXJUcmVlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKIHN0YXRp
YyBOU1N0cmluZyAqbWQ1SGFzaFN0cmluZ0ZvckJpdG1hcChOU0JpdG1hcEltYWdlUmVwICpiaXRt
YXApOwogCkBAIC0yNjMsNiArMjc1LDkgQEAgc3RhdGljIHZvaWQgZHVtcCh2b2lkKQogICAgIExh
eW91dFRlc3RDb250cm9sbGVyICpsdGMgPSBbW0xheW91dFRlc3RDb250cm9sbGVyIGFsbG9jXSBp
bml0XTsKICAgICBbKGlkKW9iaiBzZXRWYWx1ZTpsdGMgZm9yS2V5OkAibGF5b3V0VGVzdENvbnRy
b2xsZXIiXTsKICAgICBbbHRjIHJlbGVhc2VdOworICAgIEV2ZW50SW5qZWN0Q29udHJvbGxlciAq
ZWljID0gW1tFdmVudEluamVjdENvbnRyb2xsZXIgYWxsb2NdIGluaXRdOworICAgIFsoaWQpb2Jq
IHNldFZhbHVlOmVpYyBmb3JLZXk6QCJldmVudEluamVjdENvbnRyb2xsZXIiXTsKKyAgICBbZWlj
IHJlbGVhc2VdOwogCiB9CiAKQEAgLTQ0Myw2ICs0NTgsNzYgQEAgc3RhdGljIHZvaWQgZHVtcCh2
b2lkKQogCiBAZW5kCiAKK0BpbXBsZW1lbnRhdGlvbiBFdmVudEluamVjdENvbnRyb2xsZXIKKwor
KyAoQk9PTClpc1NlbGVjdG9yRXhjbHVkZWRGcm9tV2ViU2NyaXB0OihTRUwpYVNlbGVjdG9yCit7
CisgICAgaWYgKGFTZWxlY3RvciA9PSBAc2VsZWN0b3IoaW5qZWN0TW91c2VEb3duKQorICAgICAg
ICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihpbmplY3RNb3VzZVVwKQorICAgICAgICAg
ICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3RvcihpbmplY3RNb3VzZU1vdmVUb1g6WTopKQorICAg
ICAgICByZXR1cm4gTk87CisgICAgcmV0dXJuIFlFUzsKK30KKworKyAoTlNTdHJpbmcgKil3ZWJT
Y3JpcHROYW1lRm9yU2VsZWN0b3I6KFNFTClhU2VsZWN0b3IKK3sKKyAgICBpZihhU2VsZWN0b3Ig
PT0gQHNlbGVjdG9yKGluamVjdE1vdXNlTW92ZVRvWDpZOikpCisgICAgICAgIHJldHVybiBAImlu
amVjdE1vdXNlTW92ZVRvIjsKKyAgICByZXR1cm4gbmlsOworfQorCistIChpZClpbml0Cit7Cisg
ICAgbGFzdCA9IE5TTWFrZVBvaW50KDAsIDApOworICAgIGRvd24gPSBOTzsKKyAgICBjbGlja0Nv
dW50ID0gMDsKKyAgICBsYXN0Q2xpY2sgPSAwOworICAgIHJldHVybiBzZWxmOworfQorCistICh2
b2lkKWluamVjdE1vdXNlRG93bgoreworICAgIGlmKEdldEN1cnJlbnRFdmVudFRpbWUoKSAtIGxh
c3RDbGljayA+PSAxKQorICAgICAgICBjbGlja0NvdW50ID0gMTsKKyAgICBlbHNlCisgICAgICAg
IGNsaWNrQ291bnQrKzsKKyAgICBOU0V2ZW50ICpldmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRX
aXRoVHlwZTpOU0xlZnRNb3VzZURvd24gbG9jYXRpb246bGFzdCBtb2RpZmllckZsYWdzOm5pbCB0
aW1lc3RhbXA6R2V0Q3VycmVudEV2ZW50VGltZSgpIHdpbmRvd051bWJlcjowIGNvbnRleHQ6W05T
R3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBldmVudE51bWJlcjpuaWwgY2xpY2tDb3Vu
dDpjbGlja0NvdW50IHByZXNzdXJlOm5pbF07CisKKyAgICBOU1ZpZXcgKnN1YlZpZXcgPSBbW2Zy
YW1lIHdlYlZpZXddIGhpdFRlc3Q6W2V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddXTsKKyAgICBpZiAo
c3ViVmlldykgeworICAgICAgICBbc3ViVmlldyBtb3VzZURvd246ZXZlbnRdOworICAgICAgICBk
b3duID0gWUVTOworICAgIH0KK30KKworLSAodm9pZClpbmplY3RNb3VzZVVwCit7CisgICAgTlNF
dmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNMZWZ0TW91c2VVcCBs
b2NhdGlvbjpsYXN0IG1vZGlmaWVyRmxhZ3M6bmlsIHRpbWVzdGFtcDpHZXRDdXJyZW50RXZlbnRU
aW1lKCkgd2luZG93TnVtYmVyOjAgY29udGV4dDpbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENv
bnRleHRdIGV2ZW50TnVtYmVyOm5pbCBjbGlja0NvdW50OmNsaWNrQ291bnQgcHJlc3N1cmU6bmls
XTsKKworICAgIE5TVmlldyAqc3ViVmlldyA9IFtbZnJhbWUgd2ViVmlld10gaGl0VGVzdDpbZXZl
bnQgbG9jYXRpb25JbldpbmRvd11dOworICAgIGlmIChzdWJWaWV3KSB7CisgICAgICAgIFtzdWJW
aWV3IG1vdXNlVXA6ZXZlbnRdOworICAgICAgICBkb3duID0gTk87CisgICAgICAgIGxhc3RDbGlj
ayA9IFtldmVudCB0aW1lc3RhbXBdOworICAgIH0KK30KKworLSAodm9pZClpbmplY3RNb3VzZU1v
dmVUb1g6KGludCl4IFk6KGludCl5Cit7CisgICAgbGFzdCA9IE5TTWFrZVBvaW50KHgsIFtbZnJh
bWUgd2ViVmlld10gZnJhbWVdLnNpemUuaGVpZ2h0IC0geSk7CisgICAgTlNFdmVudCAqZXZlbnQg
PSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6KGRvd24gPyBOU0xlZnRNb3VzZURyYWdnZWQg
OiBOU01vdXNlTW92ZWQpIGxvY2F0aW9uOmxhc3QgbW9kaWZpZXJGbGFnczpuaWwgdGltZXN0YW1w
OkdldEN1cnJlbnRFdmVudFRpbWUoKSB3aW5kb3dOdW1iZXI6MCBjb250ZXh0OltOU0dyYXBoaWNz
Q29udGV4dCBjdXJyZW50Q29udGV4dF0gZXZlbnROdW1iZXI6bmlsIGNsaWNrQ291bnQ6KGRvd24g
PyBjbGlja0NvdW50IDogMCkgcHJlc3N1cmU6bmlsXTsKKworICAgIE5TVmlldyAqc3ViVmlldyA9
IFtbZnJhbWUgd2ViVmlld10gaGl0VGVzdDpbZXZlbnQgbG9jYXRpb25JbldpbmRvd11dOworICAg
IGlmIChzdWJWaWV3KSB7CisgICAgICAgIGlmIChkb3duKQorICAgICAgICAgICAgW3N1YlZpZXcg
bW91c2VEcmFnZ2VkOmV2ZW50XTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgW3N1YlZpZXcg
bW91c2VNb3ZlZDpldmVudF07CisgICAgfQorfQorCitAZW5kCisKIHN0YXRpYyB2b2lkIGR1bXBS
ZW5kZXJUcmVlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQogewogICAgIENGU3RyaW5nUmVmIGZpbGVu
YW1lU3RyaW5nID0gQ0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZyhOVUxMLCBmaWxlbmFtZSwga0NG
U3RyaW5nRW5jb2RpbmdVVEY4KTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1
bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2N2cy9yb290L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2osdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNQpkaWZmIC1w
IC11IC1yMS41IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBS
ZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJMTggQXVnIDIwMDUgMDU6NTk6MDcg
LTAwMDAJMS41CisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCTEzIFNlcCAyMDA1IDA3OjU4OjU3IC0wMDAwCkBAIC00
Miw2ICs0Miw4IEBACiAJCUE4MTcwOTAyMDhCMTY0MzgwMENDQjlGQiAvKiBXZWJDb3JlLmZyYW1l
d29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4
MTcwOTAxMDhCMTY0MzgwMENDQjlGQiAvKiBXZWJDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJQTgx
NzA5MDQwOEIxNjREMzAwQ0NCOUZCIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MTcwOTAzMDhCMTY0
RDMwMENDQjlGQiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCUE4NEY2MDhB
MDhCMTM2REEwMEU5NzQ1RiAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODRGNjA4OTA4QjEzNkRBMDBFOTc0NUYgLyog
Q29jb2EuZnJhbWV3b3JrICovOyB9OworCQlBRTgyNTlGMzA4RDIyNDYzMDAwNTA3QUIgLyogQ2Fy
Ym9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEFFODI1N0VGMDhEMjIzODkwMDA1MDdBQiAvKiBDYXJib24uZnJhbWV3b3JrICovOyB9
OworCQlBRTgyNTlGNDA4RDIyNDYzMDAwNTA3QUIgLyogQ2FyYm9uLmZyYW1ld29yayBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFFODI1N0VGMDhEMjIz
ODkwMDA1MDdBQiAvKiBDYXJib24uZnJhbWV3b3JrICovOyB9OwogCQlCNUE3NTJBMDA4QUY1Q0Q0
MDAxMzhFNDUgLyogSW1hZ2VEaWZmLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCNUE3NTI1ODA4QUY0QTM2MDAxMzhFNDUgLyogSW1hZ2VEaWZmLm0gKi87
IH07CiAJCUI1QTc1MkEyMDhBRjVEMUYwMDEzOEU0NSAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1QTc1MkEx
MDhBRjVEMUYwMDEzOEU0NSAvKiBRdWFydHpDb3JlLmZyYW1ld29yayAqLzsgfTsKIC8qIEVuZCBQ
QlhCdWlsZEZpbGUgc2VjdGlvbiAqLwpAQCAtODgsNiArOTAsNyBAQAogCQlBODE3MDkwMTA4QjE2
NDM4MDBDQ0I5RkIgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IFdlYkNv
cmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlBODE3
MDkwMzA4QjE2NEQzMDBDQ0I5RkIgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdv
cms7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9Q
Uk9EVUNUU19ESVI7IH07CiAJCUE4NEY2MDg5MDhCMTM2REEwMEU5NzQ1RiAvKiBDb2NvYS5mcmFt
ZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3
cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IENvY29hLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0v
TGlicmFyeS9GcmFtZXdvcmtzL0NvY29hLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1
dGU+IjsgfTsKKwkJQUU4MjU3RUYwOEQyMjM4OTAwMDUwN0FCIC8qIENhcmJvbi5mcmFtZXdvcmsg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVy
LmZyYW1ld29yazsgbmFtZSA9IENhcmJvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJh
cnkvRnJhbWV3b3Jrcy9DYXJib24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4i
OyB9OwogCQlCNUE3NTI1ODA4QUY0QTM2MDAxMzhFNDUgLyogSW1hZ2VEaWZmLm0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLm9iamM7IHBhdGggPSBJbWFnZURpZmYubTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQjVBNzUyNjcwOEFGNEE0QTAwMTM4RTQ1IC8qIEltYWdlRGlmZiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1h
Y2gtby5leGVjdXRhYmxlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gSW1hZ2VEaWZmOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlCNUE3NTJBMTA4QUY1RDFGMDAx
MzhFNDUgLyogUXVhcnR6Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFF1YXJ0ekNv
cmUuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVhcnR6Q29y
ZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CkBAIC0xMDIsNiArMTA1
LDcgQEAKIAkJCQlBODRGNjA4QTA4QjEzNkRBMDBFOTc0NUYgLyogQ29jb2EuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8sCiAJCQkJQTgxNzA5MDIwOEIxNjQzODAwQ0NCOUZCIC8qIFdlYkNvcmUu
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJQTgxNzA5MDQwOEIxNjREMzAwQ0NCOUZC
IC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCUFFODI1
OUYzMDhEMjI0NjMwMDA1MDdBQiAvKiBDYXJib24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8s
CiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07
CkBAIC0xMTEsNiArMTE1LDcgQEAKIAkJCWZpbGVzID0gKAogCQkJCUI1QTc1MkEyMDhBRjVEMUYw
MDEzOEU0NSAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUE4
MTcwOTAwMDhCMTYzRUYwMENDQjlGQiAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LywKKwkJCQlBRTgyNTlGNDA4RDIyNDYzMDAwNTA3QUIgLyogQ2FyYm9uLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtMTI4LDYgKzEzMyw3IEBACiAJCQkJQTgxNzA5MDEwOEIxNjQzODAw
Q0NCOUZCIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovLAogCQkJCUI1QTc1MkExMDhBRjVEMUYwMDEz
OEU0NSAvKiBRdWFydHpDb3JlLmZyYW1ld29yayAqLywKIAkJCQlBODRGNjA4OTA4QjEzNkRBMDBF
OTc0NUYgLyogQ29jb2EuZnJhbWV3b3JrICovLAorCQkJCUFFODI1N0VGMDhEMjIzODkwMDA1MDdB
QiAvKiBDYXJib24uZnJhbWV3b3JrICovLAogCQkJCTkzNDA5OTU1MDg1NDBDQUYwMDdGM0JDOCAv
KiBQcm9kdWN0cyAqLywKIAkJCSk7CiAJCQluYW1lID0gRHVtcFJlbmRlclRyZWU7Cg==
</data>
<flag name="review"
          id="572"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4000</attachid>
            <date>2005-09-22 02:20:31 -0700</date>
            <delta_ts>2005-09-23 18:28:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>inject.patch</filename>
            <type>text/plain</type>
            <size>16561</size>
            <attacher name="Duncan Wilcox">duncan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJDb3JlL0NoYW5nZUxvZyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xNDUKZGlmZiAtcCAtdSAt
cjEuMTQ1IFdlYkNvcmUvQ2hhbmdlTG9nCi0tLSBXZWJDb3JlL0NoYW5nZUxvZwkyMSBTZXAgMjAw
NSAyMTowNTo1NCAtMDAwMAkxLjE0NQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJMjIgU2VwIDIwMDUg
MDk6MjE6MjMgLTAwMDAKQEAgLTEsMyArMSwxNSBAQAorMjAwNS0wOS0yMiAgRHVuY2FuIFdpbGNv
eCAgPGR1bmNhbkBtY2xpbmsuaXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgLSBwYXRjaCBmb3IgPGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDk2Mz4KKyAgICAgICAgIldvdWxkIGxpa2UgdG8gc2ltdWxhdGUg
aHVtYW4gaW50ZXJhY3Rpb24gd2l0aCB3ZWJ2aWV3IgorCisgICAgICAgIFRlc3QgY2FzZXMgYWRk
ZWQ6CisKKyAgICAgICAgKiBsYXlvdXQtdGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmFrZS1kcmFn
OiBBZGRlZC4KKyAgICAgICAgKiBsYXlvdXQtdGVzdHMvZWRpdGluZy9zZWxlY3Rpb24vZmFrZS1k
b3VibGVjbGljazogQWRkZWQuCisKIDIwMDUtMDktMjEgIFZpY2tpIE11cmxleSAgPHZpY2tpQGFw
cGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2VzIGJ5IFJvbWFpbiBCcmVzdGFjLCByZXZpZXdlZCBi
eSBEYXJpbi4KSW5kZXg6IGVkaXRpbmcvc2VsZWN0aW9uL2Zha2UtZG91YmxlY2xpY2stZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KZGlmZiAtTnB1IGVkaXRpbmcvc2VsZWN0aW9uL2Zha2UtZG91Ymxl
Y2xpY2stZXhwZWN0ZWQudHh0Ci0tLSBlZGl0aW5nL3NlbGVjdGlvbi9mYWtlLWRvdWJsZWNsaWNr
LWV4cGVjdGVkLnR4dAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBlZGl0aW5nL3NlbGVj
dGlvbi9mYWtlLWRvdWJsZWNsaWNrLWV4cGVjdGVkLnR4dAkyMSBTZXAgMjAwNSAxMToyNDoyMiAt
MDAwMApAQCAtMCwwICsxLDE1IEBACitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRCZWdpbkVkaXRp
bmdJbkRPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVu
dCB0byAxIG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRF
OiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZy
b20gMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgI3Rl
eHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFm
ZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTog
d2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZp
Y2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOnJh
bmdlIGZyb20gMSBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEg
b2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0b0RPTVJhbmdlOnJhbmdl
IGZyb20gMCBvZiAjdGV4dCA+IERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDYgb2Yg
I3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlv
bkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQ2FudmFzIGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDAp
IHNpemUgODAweDE4CisgICAgICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgwLDApIHNpemUgMTkz
eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTkzOiAiU2VsZWN0IG1lLCBz
ZWxlY3QgbWUsIHNlbGVjdCBtZSIKK3NlbGVjdGlvbiBzdGFydDogcG9zaXRpb24gMCBvZiBjaGls
ZCAwIHtURVhUfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAg
e0hUTUx9IG9mIGRvY3VtZW50CitzZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDYgb2YgY2hpbGQg
MCB7VEVYVH0gb2YgY2hpbGQgMSB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtI
VE1MfSBvZiBkb2N1bWVudApJbmRleDogZWRpdGluZy9zZWxlY3Rpb24vZmFrZS1kb3VibGVjbGlj
ay5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KZGlmZiAtTnB1IGVkaXRpbmcvc2VsZWN0aW9uL2Zha2UtZG91Ymxl
Y2xpY2suaHRtbAotLS0gZWRpdGluZy9zZWxlY3Rpb24vZmFrZS1kb3VibGVjbGljay5odG1sCTEg
SmFuIDE5NzAgMDA6MDA6MDAgLTAwMDAKKysrIGVkaXRpbmcvc2VsZWN0aW9uL2Zha2UtZG91Ymxl
Y2xpY2suaHRtbAkyMSBTZXAgMjAwNSAwODoyMjo1MiAtMDAwMApAQCAtMCwwICsxLDQ0IEBACis8
aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMCB9Cis8
L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZnVuY3Rpb24gc3RlcDQo
KQoreworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAzKCkKK3sKKyAgICBldmVudFNlbmRl
ci5tb3VzZURvd24oKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dChzdGVwNCwgMSk7Cit9CisKK2Z1
bmN0aW9uIHN0ZXAyKCkKK3sKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgd2luZG93
LnNldFRpbWVvdXQoc3RlcDMsIDEwMCk7Cit9CisKK2Z1bmN0aW9uIHN0ZXAxKCkKK3sKKyAgICBl
dmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dChzdGVwMiwgMSk7
Cit9CisKK2Z1bmN0aW9uIHN0ZXAwKCkKK3sKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygx
MCwgMTApOworICAgIHdpbmRvdy5zZXRUaW1lb3V0KHN0ZXAxLCAxKTsKK30KKworc3RlcDAoKTsK
K2xheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT5TZWxlY3QgbWUsIHNlbGVjdCBtZSwgc2Vs
ZWN0IG1lPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBlZGl0aW5nL3NlbGVjdGlvbi9m
YWtlLWRyYWctZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtTnB1IGVkaXRpbmcvc2VsZWN0
aW9uL2Zha2UtZHJhZy1leHBlY3RlZC50eHQKLS0tIGVkaXRpbmcvc2VsZWN0aW9uL2Zha2UtZHJh
Zy1leHBlY3RlZC50eHQJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMAorKysgZWRpdGluZy9zZWxl
Y3Rpb24vZmFrZS1kcmFnLWV4cGVjdGVkLnR4dAkyMSBTZXAgMjAwNSAxMToyNDoyMyAtMDAwMApA
QCAtMCwwICsxLDE5IEBACitFRElUSU5HIERFTEVHQVRFOiBzaG91bGRCZWdpbkVkaXRpbmdJbkRP
TVJhbmdlOnJhbmdlIGZyb20gMCBvZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAx
IG9mIERJViA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiBzaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBv
ZiBESVYgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAwIG9mIERJViA+IEJPRFkgPiBIVE1M
ID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5pdHlEb3duc3RyZWFtIHN0aWxs
U2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0
aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdB
VEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IEJP
RFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDAgb2YgRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDQgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRNTCA+
ICNkb2N1bWVudCB0byA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
YWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFM
U0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxkQ2hh
bmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDQgb2YgI3RleHQgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byA0IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDUgb2YgI3RleHQgPiBESVYgPiBCT0RZID4gSFRN
TCA+ICNkb2N1bWVudCB0byA1IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1l
bnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6
RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmll
d0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogc2hvdWxk
Q2hhbmdlU2VsZWN0ZWRET01SYW5nZTpyYW5nZSBmcm9tIDUgb2YgI3RleHQgPiBESVYgPiBCT0RZ
ID4gSFRNTCA+ICNkb2N1bWVudCB0byA1IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAj
ZG9jdW1lbnQgdG9ET01SYW5nZTpyYW5nZSBmcm9tIDUgb2YgI3RleHQgPiBESVYgPiBCT0RZID4g
SFRNTCA+ICNkb2N1bWVudCB0byA4IG9mICN0ZXh0ID4gRElWID4gQk9EWSA+IEhUTUwgPiAjZG9j
dW1lbnQgYWZmaW5pdHk6TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rp
bmc6RkFMU0UKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2Vi
Vmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckNhbnZhcyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDgwMHgxOAorICAgICAgICBSZW5kZXJUZXh0
IHtURVhUfSBhdCAoMCwwKSBzaXplIDE5M3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDE5MzogIlNlbGVjdCBtZSwgc2VsZWN0IG1lLCBzZWxlY3QgbWUiCitzZWxlY3Rpb24g
c3RhcnQ6IHBvc2l0aW9uIDUgb2YgY2hpbGQgMCB7VEVYVH0gb2YgY2hpbGQgMSB7RElWfSBvZiBj
aGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2VsZWN0aW9uIGVu
ZDogICBwb3NpdGlvbiA4IG9mIGNoaWxkIDAge1RFWFR9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hp
bGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKSW5kZXg6IGVkaXRpbmcv
c2VsZWN0aW9uL2Zha2UtZHJhZy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtTnB1IGVkaXRpbmcvc2Vs
ZWN0aW9uL2Zha2UtZHJhZy5odG1sCi0tLSBlZGl0aW5nL3NlbGVjdGlvbi9mYWtlLWRyYWcuaHRt
bAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwCisrKyBlZGl0aW5nL3NlbGVjdGlvbi9mYWtlLWRy
YWcuaHRtbAkyMSBTZXAgMjAwNSAwODoyMjo1MyAtMDAwMApAQCAtMCwwICsxLDYyIEBACis8aHRt
bD4KKzxoZWFkPgorPHN0eWxlPgorYm9keSB7IG1hcmdpbjogMDsgcGFkZGluZzogMCB9Cis8L3N0
eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZnVuY3Rpb24gc3RlcDcoKQor
eworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5u
b3RpZnlEb25lKCk7Cit9CisKK2Z1bmN0aW9uIHN0ZXA2KCkKK3sKKyAgICBldmVudFNlbmRlci5t
b3VzZU1vdmVUbyg1MCwgMTApOworICAgIHdpbmRvdy5zZXRUaW1lb3V0KHN0ZXA3LCAxKTsKK30K
KworZnVuY3Rpb24gc3RlcDUoKQoreworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDMxLCAx
MCk7CisgICAgd2luZG93LnNldFRpbWVvdXQoc3RlcDYsIDEpOworfQorCitmdW5jdGlvbiBzdGVw
NCgpCit7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgd2luZG93LnNldFRpbWVv
dXQoc3RlcDUsIDEpOworfQorCitmdW5jdGlvbiBzdGVwMygpCit7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oMzAsIDEwKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dChzdGVwNCwgMTAwMCk7
Cit9CisKK2Z1bmN0aW9uIHN0ZXAyKCkKK3sKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Cisg
ICAgd2luZG93LnNldFRpbWVvdXQoc3RlcDMsIDEpOworfQorCitmdW5jdGlvbiBzdGVwMSgpCit7
CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgd2luZG93LnNldFRpbWVvdXQoc3Rl
cDIsIDEpOworfQorCitmdW5jdGlvbiBzdGVwMCgpCit7CisgICAgZXZlbnRTZW5kZXIubW91c2VN
b3ZlVG8oMSwgMTApOworICAgIHdpbmRvdy5zZXRUaW1lb3V0KHN0ZXAxLCAxKTsKK30KKworc3Rl
cDAoKTsKK2xheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZT5TZWxlY3QgbWUsIHNlbGVjdCBt
ZSwgc2VsZWN0IG1lPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBXZWJLaXRUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdFRvb2xzL0NoYW5n
ZUxvZyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMDMKZGlmZiAtcCAtdSAtcjEuMTAzIFdlYktp
dFRvb2xzL0NoYW5nZUxvZwotLS0gV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCTIwIFNlcCAyMDA1IDAx
OjIzOjExIC0wMDAwCTEuMTAzCisrKyBXZWJLaXRUb29scy9DaGFuZ2VMb2cJMjIgU2VwIDIwMDUg
MDk6MjE6NDggLTAwMDAKQEAgLTEsMyArMSwyMyBAQAorMjAwNS0wOS0yMiAgRHVuY2FuIFdpbGNv
eCAgPGR1bmNhbkBtY2xpbmsuaXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgLSBwYXRjaCBmb3IgPGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDk2Mz4KKyAgICAgICAgIldvdWxkIGxpa2UgdG8gc2ltdWxhdGUg
aHVtYW4gaW50ZXJhY3Rpb24gd2l0aCB3ZWJ2aWV3IgorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvRHVtcFJlbmRlclRyZWUubToKKyAgICAgICAgKC1bV2FpdFVudGlsRG9uZURlbGVnYXRlIHdl
YlZpZXc6d2luZG93U2NyaXB0T2JqZWN0QXZhaWxhYmxlOl0pOgorICAgICAgICAoK1tFdmVudFNl
bmRpbmdDb250cm9sbGVyIGlzU2VsZWN0b3JFeGNsdWRlZEZyb21XZWJTY3JpcHQ6XSk6CisgICAg
ICAgICgrW0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIgd2ViU2NyaXB0TmFtZUZvclNlbGVjdG9yOl0p
OgorICAgICAgICAoLVtFdmVudFNlbmRpbmdDb250cm9sbGVyIGluaXRdKToKKyAgICAgICAgKC1b
RXZlbnRTZW5kaW5nQ29udHJvbGxlciBtb3VzZURvd25dKToKKyAgICAgICAgKC1bRXZlbnRTZW5k
aW5nQ29udHJvbGxlciBtb3VzZVVwXSk6CisgICAgICAgICgtW0V2ZW50U2VuZGluZ0NvbnRyb2xs
ZXIgbW91c2VNb3ZlVG9YOlk6XSk6CisgICAgICAgIEFkZCBldmVudFNlbmRlciBqYXZhc2NyaXB0
IG9iamVjdCwgdGhhdCBzZW5kcyBmYWtlIG1vdXNlIGV2ZW50cyB0byB0aGUgd2Vidmlldy4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgIGxpbmsgd2l0aCBDYXJib24uZnJhbWV3b3JrCisKIDIwMDUtMDkt
MTkgIEVyaWMgU2VpZGVsICA8ZXNlaWRlbEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgZGFyaW4uCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJl
ZS5tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS9EdW1wUmVuZGVyVHJlZS5tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE1CmRpZmYgLXAg
LXUgLXIxLjE1IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLm0KLS0t
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLm0JMTUgU2VwIDIwMDUg
MDU6MTM6NTIgLTAwMDAJMS4xNQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJl
bmRlclRyZWUubQkyMiBTZXAgMjAwNSAwOToyMTo1MCAtMDAwMApAQCAtNDAsNiArNDAsOCBAQAog
I2ltcG9ydCA8V2ViS2l0L1dlYlByZWZlcmVuY2VzLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViVmll
dy5oPgogCisjaW1wb3J0IDxDYXJib24vQ2FyYm9uLmg+IC8vIGZvciBHZXRDdXJyZW50RXZlbnRU
aW1lKCkKKwogI2RlZmluZSBDT01NT05fRElHRVNUX0ZPUl9PUEVOU1NMCiAjaW1wb3J0IDxDb21t
b25DcnlwdG8vQ29tbW9uRGlnZXN0Lmg+CiAjaW1wb3J0IDxnZXRvcHQuaD4KQEAgLTUzLDYgKzU1
LDE2IEBACiBAaW50ZXJmYWNlIExheW91dFRlc3RDb250cm9sbGVyIDogTlNPYmplY3QKIEBlbmQK
IAorQGludGVyZmFjZSBFdmVudFNlbmRpbmdDb250cm9sbGVyIDogTlNPYmplY3QKK3sKKyAgICBO
U1BvaW50IGxhc3Q7CisgICAgQk9PTCBkb3duOworICAgIGludCBjbGlja0NvdW50OworICAgIE5T
VGltZUludGVydmFsIGxhc3RDbGljazsKK30KKworQGVuZAorCiBzdGF0aWMgdm9pZCBkdW1wUmVu
ZGVyVHJlZShjb25zdCBjaGFyICpmaWxlbmFtZSk7CiBzdGF0aWMgTlNTdHJpbmcgKm1kNUhhc2hT
dHJpbmdGb3JCaXRtYXAoTlNCaXRtYXBJbWFnZVJlcCAqYml0bWFwKTsKIApAQCAtMjYzLDYgKzI3
NSw5IEBAIHN0YXRpYyB2b2lkIGR1bXAodm9pZCkKICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciAq
bHRjID0gW1tMYXlvdXRUZXN0Q29udHJvbGxlciBhbGxvY10gaW5pdF07CiAgICAgWyhpZClvYmog
c2V0VmFsdWU6bHRjIGZvcktleTpAImxheW91dFRlc3RDb250cm9sbGVyIl07CiAgICAgW2x0YyBy
ZWxlYXNlXTsKKyAgICBFdmVudFNlbmRpbmdDb250cm9sbGVyICplc2MgPSBbW0V2ZW50U2VuZGlu
Z0NvbnRyb2xsZXIgYWxsb2NdIGluaXRdOworICAgIFsoaWQpb2JqIHNldFZhbHVlOmVzYyBmb3JL
ZXk6QCJldmVudFNlbmRlciJdOworICAgIFtlc2MgcmVsZWFzZV07CiAKIH0KIApAQCAtNDQzLDYg
KzQ1OCw3NiBAQCBzdGF0aWMgdm9pZCBkdW1wKHZvaWQpCiAKIEBlbmQKIAorQGltcGxlbWVudGF0
aW9uIEV2ZW50U2VuZGluZ0NvbnRyb2xsZXIKKworKyAoQk9PTClpc1NlbGVjdG9yRXhjbHVkZWRG
cm9tV2ViU2NyaXB0OihTRUwpYVNlbGVjdG9yCit7CisgICAgaWYgKGFTZWxlY3RvciA9PSBAc2Vs
ZWN0b3IobW91c2VEb3duKQorICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvciht
b3VzZVVwKQorICAgICAgICAgICAgfHwgYVNlbGVjdG9yID09IEBzZWxlY3Rvcihtb3VzZU1vdmVU
b1g6WTopKQorICAgICAgICByZXR1cm4gTk87CisgICAgcmV0dXJuIFlFUzsKK30KKworKyAoTlNT
dHJpbmcgKil3ZWJTY3JpcHROYW1lRm9yU2VsZWN0b3I6KFNFTClhU2VsZWN0b3IKK3sKKyAgICBp
ZihhU2VsZWN0b3IgPT0gQHNlbGVjdG9yKG1vdXNlTW92ZVRvWDpZOikpCisgICAgICAgIHJldHVy
biBAIm1vdXNlTW92ZVRvIjsKKyAgICByZXR1cm4gbmlsOworfQorCistIChpZClpbml0Cit7Cisg
ICAgbGFzdCA9IE5TTWFrZVBvaW50KDAsIDApOworICAgIGRvd24gPSBOTzsKKyAgICBjbGlja0Nv
dW50ID0gMDsKKyAgICBsYXN0Q2xpY2sgPSAwOworICAgIHJldHVybiBzZWxmOworfQorCistICh2
b2lkKW1vdXNlRG93bgoreworICAgIGlmKEdldEN1cnJlbnRFdmVudFRpbWUoKSAtIGxhc3RDbGlj
ayA+PSAxKQorICAgICAgICBjbGlja0NvdW50ID0gMTsKKyAgICBlbHNlCisgICAgICAgIGNsaWNr
Q291bnQrKzsKKyAgICBOU0V2ZW50ICpldmVudCA9IFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlw
ZTpOU0xlZnRNb3VzZURvd24gbG9jYXRpb246bGFzdCBtb2RpZmllckZsYWdzOm5pbCB0aW1lc3Rh
bXA6R2V0Q3VycmVudEV2ZW50VGltZSgpIHdpbmRvd051bWJlcjowIGNvbnRleHQ6W05TR3JhcGhp
Y3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBldmVudE51bWJlcjpuaWwgY2xpY2tDb3VudDpjbGlj
a0NvdW50IHByZXNzdXJlOm5pbF07CisKKyAgICBOU1ZpZXcgKnN1YlZpZXcgPSBbW2ZyYW1lIHdl
YlZpZXddIGhpdFRlc3Q6W2V2ZW50IGxvY2F0aW9uSW5XaW5kb3ddXTsKKyAgICBpZiAoc3ViVmll
dykgeworICAgICAgICBbc3ViVmlldyBtb3VzZURvd246ZXZlbnRdOworICAgICAgICBkb3duID0g
WUVTOworICAgIH0KK30KKworLSAodm9pZCltb3VzZVVwCit7CisgICAgTlNFdmVudCAqZXZlbnQg
PSBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5cGU6TlNMZWZ0TW91c2VVcCBsb2NhdGlvbjpsYXN0
IG1vZGlmaWVyRmxhZ3M6bmlsIHRpbWVzdGFtcDpHZXRDdXJyZW50RXZlbnRUaW1lKCkgd2luZG93
TnVtYmVyOjAgY29udGV4dDpbTlNHcmFwaGljc0NvbnRleHQgY3VycmVudENvbnRleHRdIGV2ZW50
TnVtYmVyOm5pbCBjbGlja0NvdW50OmNsaWNrQ291bnQgcHJlc3N1cmU6bmlsXTsKKworICAgIE5T
VmlldyAqc3ViVmlldyA9IFtbZnJhbWUgd2ViVmlld10gaGl0VGVzdDpbZXZlbnQgbG9jYXRpb25J
bldpbmRvd11dOworICAgIGlmIChzdWJWaWV3KSB7CisgICAgICAgIFtzdWJWaWV3IG1vdXNlVXA6
ZXZlbnRdOworICAgICAgICBkb3duID0gTk87CisgICAgICAgIGxhc3RDbGljayA9IFtldmVudCB0
aW1lc3RhbXBdOworICAgIH0KK30KKworLSAodm9pZCltb3VzZU1vdmVUb1g6KGludCl4IFk6KGlu
dCl5Cit7CisgICAgbGFzdCA9IE5TTWFrZVBvaW50KHgsIFtbZnJhbWUgd2ViVmlld10gZnJhbWVd
LnNpemUuaGVpZ2h0IC0geSk7CisgICAgTlNFdmVudCAqZXZlbnQgPSBbTlNFdmVudCBtb3VzZUV2
ZW50V2l0aFR5cGU6KGRvd24gPyBOU0xlZnRNb3VzZURyYWdnZWQgOiBOU01vdXNlTW92ZWQpIGxv
Y2F0aW9uOmxhc3QgbW9kaWZpZXJGbGFnczpuaWwgdGltZXN0YW1wOkdldEN1cnJlbnRFdmVudFRp
bWUoKSB3aW5kb3dOdW1iZXI6MCBjb250ZXh0OltOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29u
dGV4dF0gZXZlbnROdW1iZXI6bmlsIGNsaWNrQ291bnQ6KGRvd24gPyBjbGlja0NvdW50IDogMCkg
cHJlc3N1cmU6bmlsXTsKKworICAgIE5TVmlldyAqc3ViVmlldyA9IFtbZnJhbWUgd2ViVmlld10g
aGl0VGVzdDpbZXZlbnQgbG9jYXRpb25JbldpbmRvd11dOworICAgIGlmIChzdWJWaWV3KSB7Cisg
ICAgICAgIGlmIChkb3duKQorICAgICAgICAgICAgW3N1YlZpZXcgbW91c2VEcmFnZ2VkOmV2ZW50
XTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgW3N1YlZpZXcgbW91c2VNb3ZlZDpldmVudF07
CisgICAgfQorfQorCitAZW5kCisKIHN0YXRpYyB2b2lkIGR1bXBSZW5kZXJUcmVlKGNvbnN0IGNo
YXIgKmZpbGVuYW1lKQogewogICAgIENGU3RyaW5nUmVmIGZpbGVuYW1lU3RyaW5nID0gQ0ZTdHJp
bmdDcmVhdGVXaXRoQ1N0cmluZyhOVUxMLCBmaWxlbmFtZSwga0NGU3RyaW5nRW5jb2RpbmdVVEY4
KTsKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2osdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNQpkaWZmIC1wIC11IC1yMS41IFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJMTggQXVnIDIwMDUgMDU6NTk6MDcgLTAwMDAJMS41CisrKyBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCTIyIFNlcCAyMDA1IDA5OjIxOjUxIC0wMDAwCkBAIC00Miw2ICs0Miw4IEBACiAJCUE4
MTcwOTAyMDhCMTY0MzgwMENDQjlGQiAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MTcwOTAxMDhCMTY0MzgwMEND
QjlGQiAvKiBXZWJDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJQTgxNzA5MDQwOEIxNjREMzAwQ0NC
OUZCIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MTcwOTAzMDhCMTY0RDMwMENDQjlGQiAvKiBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCUE4NEY2MDhBMDhCMTM2REEwMEU5NzQ1RiAv
KiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBODRGNjA4OTA4QjEzNkRBMDBFOTc0NUYgLyogQ29jb2EuZnJhbWV3b3JrICov
OyB9OworCQlBRTgyNTlGMzA4RDIyNDYzMDAwNTA3QUIgLyogQ2FyYm9uLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFFODI1N0VGMDhE
MjIzODkwMDA1MDdBQiAvKiBDYXJib24uZnJhbWV3b3JrICovOyB9OworCQlBRTgyNTlGNDA4RDIy
NDYzMDAwNTA3QUIgLyogQ2FyYm9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFFODI1N0VGMDhEMjIzODkwMDA1MDdBQiAvKiBDYXJi
b24uZnJhbWV3b3JrICovOyB9OwogCQlCNUE3NTJBMDA4QUY1Q0Q0MDAxMzhFNDUgLyogSW1hZ2VE
aWZmLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCNUE3
NTI1ODA4QUY0QTM2MDAxMzhFNDUgLyogSW1hZ2VEaWZmLm0gKi87IH07CiAJCUI1QTc1MkEyMDhB
RjVEMUYwMDEzOEU0NSAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEI1QTc1MkExMDhBRjVEMUYwMDEzOEU0NSAv
KiBRdWFydHpDb3JlLmZyYW1ld29yayAqLzsgfTsKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlv
biAqLwpAQCAtODgsNiArOTAsNyBAQAogCQlBODE3MDkwMTA4QjE2NDM4MDBDQ0I5RkIgLyogV2Vi
Q29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9IFdlYkNvcmUuZnJhbWV3b3JrOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlBODE3MDkwMzA4QjE2NEQzMDBDQ0I5
RkIgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBKYXZhU2Ny
aXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CUE4NEY2MDg5MDhCMTM2REEwMEU5NzQ1RiAvKiBDb2NvYS5mcmFtZXdvcmsgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsg
bmFtZSA9IENvY29hLmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtz
L0NvY29hLmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJQUU4MjU3
RUYwOEQyMjM4OTAwMDUwN0FCIC8qIENhcmJvbi5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9
IENhcmJvbi5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9DYXJi
b24uZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwogCQlCNUE3NTI1ODA4
QUY0QTM2MDAxMzhFNDUgLyogSW1hZ2VEaWZmLm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9i
amM7IHBhdGggPSBJbWFnZURpZmYubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjVB
NzUyNjcwOEFGNEE0QTAwMTM4RTQ1IC8qIEltYWdlRGlmZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5leGVjdXRhYmxlIjsg
aW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gSW1hZ2VEaWZmOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OwogCQlCNUE3NTJBMTA4QUY1RDFGMDAxMzhFNDUgLyogUXVhcnR6Q29y
ZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IFF1YXJ0ekNvcmUuZnJhbWV3b3JrOyBwYXRo
ID0gL1N5c3RlbS9MaWJyYXJ5L0ZyYW1ld29ya3MvUXVhcnR6Q29yZS5mcmFtZXdvcms7IHNvdXJj
ZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CkBAIC0xMDIsNiArMTA1LDcgQEAKIAkJCQlBODRGNjA4
QTA4QjEzNkRBMDBFOTc0NUYgLyogQ29jb2EuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJ
CQkJQTgxNzA5MDIwOEIxNjQzODAwQ0NCOUZCIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8sCiAJCQkJQTgxNzA5MDQwOEIxNjREMzAwQ0NCOUZCIC8qIEphdmFTY3JpcHRDb3Jl
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCUFFODI1OUYzMDhEMjI0NjMwMDA1MDdB
QiAvKiBDYXJib24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0xMTEsNiArMTE1LDcg
QEAKIAkJCWZpbGVzID0gKAogCQkJCUI1QTc1MkEyMDhBRjVEMUYwMDEzOEU0NSAvKiBRdWFydHpD
b3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUE4MTcwOTAwMDhCMTYzRUYwMEND
QjlGQiAvKiBDb2NvYS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQlBRTgyNTlGNDA4
RDIyNDYzMDAwNTA3QUIgLyogQ2FyYm9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAt
MTI4LDYgKzEzMyw3IEBACiAJCQkJQTgxNzA5MDEwOEIxNjQzODAwQ0NCOUZCIC8qIFdlYkNvcmUu
ZnJhbWV3b3JrICovLAogCQkJCUI1QTc1MkExMDhBRjVEMUYwMDEzOEU0NSAvKiBRdWFydHpDb3Jl
LmZyYW1ld29yayAqLywKIAkJCQlBODRGNjA4OTA4QjEzNkRBMDBFOTc0NUYgLyogQ29jb2EuZnJh
bWV3b3JrICovLAorCQkJCUFFODI1N0VGMDhEMjIzODkwMDA1MDdBQiAvKiBDYXJib24uZnJhbWV3
b3JrICovLAogCQkJCTkzNDA5OTU1MDg1NDBDQUYwMDdGM0JDOCAvKiBQcm9kdWN0cyAqLywKIAkJ
CSk7CiAJCQluYW1lID0gRHVtcFJlbmRlclRyZWU7Cg==
</data>
<flag name="review"
          id="605"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>