<?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>58746</bug_id>
          
          <creation_ts>2011-04-17 13:03:00 -0700</creation_ts>
          <short_desc>Move WebNodeHighlighter into its own file</short_desc>
          <delta_ts>2011-04-17 13:42:23 -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>WebKit Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>387394</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-17 13:03:00 -0700</bug_when>
    <thetext>Extract this class into its own file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387397</commentid>
    <comment_count>1</comment_count>
      <attachid>89958</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-17 13:11:21 -0700</bug_when>
    <thetext>Created attachment 89958
[PATCH] Extract into its own file

Some minor cleanup in the process:

  - fix WebInspectorClient constructor
  - remove &quot;WebNodeHightlighter delegate&quot; methods on WebInspectorWindowController
    which were never called because it was never set to be the delegate.
  - added [super init] boilerplate to WebNodeHighligher&apos;s constructor

Also, the ObjC classes in WebInspectorClient don&apos;t properly initialize self.
They just call the super methods but don&apos;t assign to self. Should I fix those
up as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387399</commentid>
    <comment_count>2</comment_count>
      <attachid>89959</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-17 13:18:36 -0700</bug_when>
    <thetext>Created attachment 89959
[PATCH] Extract into its own file

Fixed a typo in the ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387400</commentid>
    <comment_count>3</comment_count>
      <attachid>89958</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-04-17 13:20:55 -0700</bug_when>
    <thetext>Comment on attachment 89958
[PATCH] Extract into its own file

View in context: https://bugs.webkit.org/attachment.cgi?id=89958&amp;action=review

&gt; Source/WebKit/mac/WebInspector/WebNodeHighlighter.mm:42
&gt; +    self = [super init];
&gt; +    if (!self)
&gt; +        return nil;

I like this form:

if (!(self = [super init]))
    return nil;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387402</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-17 13:33:23 -0700</bug_when>
    <thetext>I like this form:
&gt; 
&gt; if (!(self = [super init]))
&gt;     return nil;

Gross! But acceptable. =)

Should I open up a new bug and do the same for -[WebInspectorWindowController init]
and -[WebInspectorWindowController initWithWebView]?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387403</commentid>
    <comment_count>5</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2011-04-17 13:36:58 -0700</bug_when>
    <thetext>Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387406</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2011-04-17 13:42:16 -0700</bug_when>
    <thetext>Landed in &lt;http://trac.webkit.org/changeset/84108&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89958</attachid>
            <date>2011-04-17 13:11:21 -0700</date>
            <delta_ts>2011-04-17 13:21:21 -0700</delta_ts>
            <desc>[PATCH] Extract into its own file</desc>
            <filename>extract.patch</filename>
            <type>text/plain</type>
            <size>15442</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMzQ5NjY3NC4uMGY2YTM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxMS0wNC0xNyAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgV2ViTm9kZUhp
Z2hsaWdodGVyIGludG8gaXRzIG93biBmaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01ODc0NgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IEFkZCBXZWJOb2RlSGlnaGxpZ2h0ZXIue2gsbW19LgorCiAyMDExLTA0
LTEzICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAyNTM0MDAuLmUwZGMxNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MzI4LDYgKzMyOCw4IEBACiAJCTkzRUIxNzhEMDlGODhENDYwMDkxRjhGRiAvKiBXZWJTeXN0ZW1J
bnRlcmZhY2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0VCMTc4QzA5Rjg4RDQ2MDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLm1tICovOyB9
OwogCQk5M0VCMTc4RjA5Rjg4RDUxMDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0VCMTc4RTA5Rjg4
RDUxMDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggKi87IH07CiAJCTkzRkRFOTMzMEQ3
OUNBRjMwMDc0RjAyOSAvKiBXZWJIaXN0b3J5SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRkRFOTMyMEQ3OUNBRjMwMDc0RjAyOSAvKiBX
ZWJIaXN0b3J5SW50ZXJuYWwuaCAqLzsgfTsKKwkJQTU2ODdCREExMzVCNzkxQTAwNzRDQkNCIC8q
IFdlYk5vZGVIaWdobGlnaHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTU2ODdCRDgxMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRl
ci5oICovOyB9OworCQlBNTY4N0JEQjEzNUI3OTFBMDA3NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdo
dGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU2
ODdCRDkxMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRlci5tbSAqLzsgfTsKIAkJ
QTU3RTJGMjQxMjA3NDlFNjAwMDQ4REYzIC8qIFdlYlF1b3RhTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3RTJGMjIxMjA3NDlFNjAwMDQ4
REYzIC8qIFdlYlF1b3RhTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUE1REVGQzBBMTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0
eU9yaWdpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1REVGQzA3MTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdpbi5tbSAqLzsgfTsK
IAkJQTVERUZDMEIxMUQ1MzMxQzAwODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luSW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1REVGQzA4
MTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmggKi87IH07CkBA
IC02NDUsNiArNjQ3LDggQEAKIAkJOUNBRTlEMDcwMjUyQTQxMzBFQ0ExNkVBIC8qIFdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJOUNFMUY4QTMwMkE1QzZGMzBFQ0Ey
QUNEIC8qIFdlYkltYWdlUmVuZGVyZXJGYWN0b3J5Lm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gV2ViSW1hZ2VSZW5kZXJlckZhY3RvcnkubTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJ
CTlDRjBFMjQ5MDIxMzYxQjAwRUNBMTZFQSAvKiBXZWJGcmFtZVByaXZhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJGcmFtZVByaXZhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CisJCUE1Njg3QkQ4MTM1Qjc5MUEwMDc0Q0JDQiAvKiBXZWJOb2RlSGlnaGxpZ2h0ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTm9kZUhpZ2hsaWdodGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1Njg3QkQ5MTM1Qjc5MUEwMDc0Q0JDQiAvKiBXZWJO
b2RlSGlnaGxpZ2h0ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJOb2RlSGlnaGxpZ2h0ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1
N0UyRjIyMTIwNzQ5RTYwMDA0OERGMyAvKiBXZWJRdW90YU1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUXVvdGFNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE1REVGQzA3MTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdp
bi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlNlY3VyaXR5
T3JpZ2luLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNURFRkMwODExRDUzMzFD
MDA4ODUyNzMgLyogV2ViU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC05MTQsNiArOTE4LDggQEAKIAkJCQlCODA0MTc2RTEyMTdBODMx
MDA0NjZCQUUgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmQubW0gKi8sCiAJCQkJMUM2OEY2NjMwOTVC
NUZDMTAwQzI5ODRFIC8qIFdlYk5vZGVIaWdobGlnaHQuaCAqLywKIAkJCQkxQzY4RjY2NDA5NUI1
RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhpZ2hsaWdodC5tbSAqLywKKwkJCQlBNTY4N0JEODEzNUI3
OTFBMDA3NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdodGVyLmggKi8sCisJCQkJQTU2ODdCRDkxMzVC
NzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRlci5tbSAqLywKIAkJCQkxQzY4RjY2NTA5
NUI1RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhpZ2hsaWdodFZpZXcuaCAqLywKIAkJCQkxQzY4RjY2
NjA5NUI1RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhpZ2hsaWdodFZpZXcubW0gKi8sCiAJCQkpOwpA
QCAtMTY0OCw2ICsxNjU0LDcgQEAKIAkJCQkzQUJCM0M3QTEzMDlDM0I1MDBFOTNEOTQgLyogV2Vi
U3RvcmFnZVRyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDJEMzI0MTMxRUQx
RTAwMDc1RkE0QiAvKiBXZWJMb2NhbGl6YWJsZVN0cmluZ3NJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjgyOTU4RDMxMzI3MDdEMDAwMEQwRTc5IC8qIENvcnJlY3Rpb25QYW5lbC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTU2ODdCREExMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdo
bGlnaHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMDE5LDYgKzIwMjYsNyBAQAogCQkJCTNBQkIz
QzdCMTMwOUMzQjUwMEU5M0Q5NCAvKiBXZWJTdG9yYWdlVHJhY2tlckNsaWVudC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDNDJEMzREMTMxRUQzODgwMDc1RkE0QiAvKiBXZWJMb2NhbGl6YWJsZVN0
cmluZ3NJbnRlcm5hbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUI4Mjk1OEQ0MTMyNzA3RDAwMDBE
MEU3OSAvKiBDb3JyZWN0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNTY4N0JEQjEz
NUI3OTFBMDA3NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdodGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKaW5kZXggMmIxOTQ2Mi4uZGEzMDI1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDExLTA0LTE3ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TW92ZSBXZWJOb2RlSGlnaGxpZ2h0ZXIgaW50byBpdHMgb3duIGZpbGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NzQ2CisKKyAgICAgICAgRXh0cmFj
dCB0aGlzIGNsYXNzIGludG8gaXRzIG93biBmaWxlIGFsb25nc2lkZSB0aGUKKyAgICAgICAgb3Ro
ZXIgV2ViTm9kZUhpZ2h0bGlnaHQgZmlsZXMuIEluIGRvaW5nIHNvIGRvIHNvbWUKKyAgICAgICAg
Y2xlYW51cCBvbiBXZWJJbnNwZWN0b3JDbGllbnQgcmVtb3Zpbmcgc29tZSBtZXRob2RzCisgICAg
ICAgIHRoYXQgd2VyZSBuZXZlciBjYWxsZWQuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQubW06CisgICAgICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6OldlYklu
c3BlY3RvckNsaWVudCk6IHN0eWxlIGZpeC4KKyAgICAgICAgKiBXZWJJbnNwZWN0b3IvV2ViTm9k
ZUhpZ2hsaWdodGVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYkluc3BlY3Rvci9XZWJOb2RlSGln
aGxpZ2h0ZXIubW06IEFkZGVkLgorICAgICAgICAoLVtXZWJOb2RlSGlnaGxpZ2h0ZXIgaW5pdFdp
dGhJbnNwZWN0ZWRXZWJWaWV3Ol0pOiBjYWxsIHN1cGVyIGluaXQuCisgICAgICAgICgtW1dlYk5v
ZGVIaWdobGlnaHRlciBkZWFsbG9jXSk6CisgICAgICAgICgtW1dlYk5vZGVIaWdobGlnaHRlciBo
aWdobGlnaHROb2RlOl0pOgorICAgICAgICAoLVtXZWJOb2RlSGlnaGxpZ2h0ZXIgaGlkZUhpZ2hs
aWdodF0pOgorICAgICAgICAoLVtXZWJOb2RlSGlnaGxpZ2h0ZXIgZGlkQXR0YWNoV2ViTm9kZUhp
Z2hsaWdodDpdKToKKyAgICAgICAgKC1bV2ViTm9kZUhpZ2hsaWdodGVyIHdpbGxEZXRhY2hXZWJO
b2RlSGlnaGxpZ2h0Ol0pOgorCiAyMDExLTA0LTE1ICBKaWEgUHUgIDxqcHVAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KaW5kZXggOWIw
Yzg5My4uNjczYTJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVT
dXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQpAQCAtMzYsNyArMzYsNyBAQAogI2ltcG9ydCAi
V2ViSW5zcGVjdG9yUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViSW5zcGVjdG9yRnJvbnRlbmQuaCIK
ICNpbXBvcnQgIldlYkxvY2FsaXphYmxlU3RyaW5nc0ludGVybmFsLmgiCi0jaW1wb3J0ICJXZWJO
b2RlSGlnaGxpZ2h0LmgiCisjaW1wb3J0ICJXZWJOb2RlSGlnaGxpZ2h0ZXIuaCIKICNpbXBvcnQg
IldlYlVJRGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCA8
V2ViQ29yZS9JbnNwZWN0b3JDb250cm9sbGVyLmg+CkBAIC03MCwyNSArNzAsMTMgQEAgdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiAtICh2b2lkKWRlc3Ryb3lJbnNwZWN0b3JWaWV3Oihib29sKW5v
dGlmeUluc3BlY3RvckNvbnRyb2xsZXI7CiBAZW5kCiAKLS8vIE1BUks6IC0KLQotQGludGVyZmFj
ZSBXZWJOb2RlSGlnaGxpZ2h0ZXIgOiBOU09iamVjdCB7Ci1AcHJpdmF0ZQotICAgIFdlYlZpZXcg
Kl9pbnNwZWN0ZWRXZWJWaWV3OwotICAgIFdlYk5vZGVIaWdobGlnaHQgKl9jdXJyZW50SGlnaGxp
Z2h0OwotfQotLSAoaWQpaW5pdFdpdGhJbnNwZWN0ZWRXZWJWaWV3OihXZWJWaWV3ICopd2ViVmll
dzsKLS0gKHZvaWQpaGlnaGxpZ2h0Tm9kZTooRE9NTm9kZSAqKW5vZGU7Ci0tICh2b2lkKWhpZGVI
aWdobGlnaHQ7Ci1AZW5kCiAKIC8vIE1BUks6IC0KIAotCiBXZWJJbnNwZWN0b3JDbGllbnQ6Oldl
Ykluc3BlY3RvckNsaWVudChXZWJWaWV3ICp3ZWJWaWV3KQotOiBtX3dlYlZpZXcod2ViVmlldykK
LSwgbV9oaWdobGlnaHRlcihBZG9wdE5TLCBbW1dlYk5vZGVIaWdobGlnaHRlciBhbGxvY10gaW5p
dFdpdGhJbnNwZWN0ZWRXZWJWaWV3OndlYlZpZXddKQotLCBtX2Zyb250ZW5kUGFnZSgwKQorICAg
IDogbV93ZWJWaWV3KHdlYlZpZXcpCisgICAgLCBtX2hpZ2hsaWdodGVyKEFkb3B0TlMsIFtbV2Vi
Tm9kZUhpZ2hsaWdodGVyIGFsbG9jXSBpbml0V2l0aEluc3BlY3RlZFdlYlZpZXc6d2ViVmlld10p
CisgICAgLCBtX2Zyb250ZW5kUGFnZSgwKQogewogfQogCkBAIC00ODIsMTkgKzQ3MCw2IEBAIHZv
aWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OnVwZGF0ZVdpbmRvd1RpdGxlKCkgY29uc3QK
IH0KIAogLy8gTUFSSzogLQotLy8gTUFSSzogV2ViTm9kZUhpZ2hsaWdodCBkZWxlZ2F0ZQotCi0t
ICh2b2lkKWRpZEF0dGFjaFdlYk5vZGVIaWdobGlnaHQ6KFdlYk5vZGVIaWdobGlnaHQgKiloaWdo
bGlnaHQKLXsKLSAgICBbX2luc3BlY3RlZFdlYlZpZXcgc2V0Q3VycmVudE5vZGVIaWdobGlnaHQ6
aGlnaGxpZ2h0XTsKLX0KLQotLSAodm9pZCl3aWxsRGV0YWNoV2ViTm9kZUhpZ2hsaWdodDooV2Vi
Tm9kZUhpZ2hsaWdodCAqKWhpZ2hsaWdodAotewotICAgIFtfaW5zcGVjdGVkV2ViVmlldyBzZXRD
dXJyZW50Tm9kZUhpZ2hsaWdodDpuaWxdOwotfQotCi0vLyBNQVJLOiAtCiAvLyBNQVJLOiBVSSBk
ZWxlZ2F0ZQogCiAtIChOU1VJbnRlZ2VyKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uTWFza0ZvckRyYWdnaW5nSW5mbzooaWQgPE5TRHJhZ2dpbmdJbmZvPilk
cmFnZ2luZ0luZm8KQEAgLTU0OCw2MCArNTIzLDMgQEAgdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVu
ZENsaWVudDo6dXBkYXRlV2luZG93VGl0bGUoKSBjb25zdAogfQogCiBAZW5kCi0KLQotLy8gTUFS
SzogLQotCi1AaW1wbGVtZW50YXRpb24gV2ViTm9kZUhpZ2hsaWdodGVyCi0tIChpZClpbml0V2l0
aEluc3BlY3RlZFdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3Ci17Ci0gICAgLy8gRG9uJ3QgcmV0
YWluIHRvIGF2b2lkIGEgY2lyY3VsYXIgcmVmZXJlbmNlCi0gICAgX2luc3BlY3RlZFdlYlZpZXcg
PSB3ZWJWaWV3OwotICAgIHJldHVybiBzZWxmOwotfQotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAg
ICBBU1NFUlQoIV9jdXJyZW50SGlnaGxpZ2h0KTsKLSAgICBbc3VwZXIgZGVhbGxvY107Ci19Ci0K
LS8vIE1BUks6IC0KLQotLSAodm9pZCloaWdobGlnaHROb2RlOihET01Ob2RlICopbm9kZQotewot
ICAgIC8vIFRoZSBzY3JvbGx2aWV3J3MgY29udGVudCB2aWV3IHN0YXlzIGFyb3VuZCBiZXR3ZWVu
IHBhZ2UgbmF2aWdhdGlvbnMsIHNvIHRhcmdldCBpdAotICAgIE5TVmlldyAqdmlldyA9IFtbW1tb
X2luc3BlY3RlZFdlYlZpZXcgbWFpbkZyYW1lXSBmcmFtZVZpZXddIGRvY3VtZW50Vmlld10gZW5j
bG9zaW5nU2Nyb2xsVmlld10gY29udGVudFZpZXddOwotICAgIGlmICghW3ZpZXcgd2luZG93XSkK
LSAgICAgICAgcmV0dXJuOyAvLyBza2lwIHRoZSBoaWdobGlnaHQgaWYgd2UgaGF2ZSBubyB3aW5k
b3cgKGUuZy4gaGlkZGVuIHRhYikKLSAgICAKLSAgICBpZiAoIV9jdXJyZW50SGlnaGxpZ2h0KSB7
Ci0gICAgICAgIF9jdXJyZW50SGlnaGxpZ2h0ID0gW1tXZWJOb2RlSGlnaGxpZ2h0IGFsbG9jXSBp
bml0V2l0aFRhcmdldFZpZXc6dmlldyBpbnNwZWN0b3JDb250cm9sbGVyOltfaW5zcGVjdGVkV2Vi
VmlldyBwYWdlXS0+aW5zcGVjdG9yQ29udHJvbGxlcigpXTsKLSAgICAgICAgW19jdXJyZW50SGln
aGxpZ2h0IHNldERlbGVnYXRlOnNlbGZdOwotICAgICAgICBbX2N1cnJlbnRIaWdobGlnaHQgYXR0
YWNoXTsKLSAgICB9IGVsc2UKLSAgICAgICAgW1tfY3VycmVudEhpZ2hsaWdodCBoaWdobGlnaHRW
aWV3XSBzZXROZWVkc0Rpc3BsYXk6WUVTXTsKLX0KLQotLSAodm9pZCloaWRlSGlnaGxpZ2h0Ci17
Ci0gICAgW19jdXJyZW50SGlnaGxpZ2h0IGRldGFjaF07Ci0gICAgW19jdXJyZW50SGlnaGxpZ2h0
IHNldERlbGVnYXRlOm5pbF07Ci0gICAgW19jdXJyZW50SGlnaGxpZ2h0IHJlbGVhc2VdOwotICAg
IF9jdXJyZW50SGlnaGxpZ2h0ID0gbmlsOwotfQotCi0vLyBNQVJLOiAtCi0vLyBNQVJLOiBXZWJO
b2RlSGlnaGxpZ2h0IGRlbGVnYXRlCi0KLS0gKHZvaWQpZGlkQXR0YWNoV2ViTm9kZUhpZ2hsaWdo
dDooV2ViTm9kZUhpZ2hsaWdodCAqKWhpZ2hsaWdodAotewotICAgIFtfaW5zcGVjdGVkV2ViVmll
dyBzZXRDdXJyZW50Tm9kZUhpZ2hsaWdodDpoaWdobGlnaHRdOwotfQotCi0tICh2b2lkKXdpbGxE
ZXRhY2hXZWJOb2RlSGlnaGxpZ2h0OihXZWJOb2RlSGlnaGxpZ2h0ICopaGlnaGxpZ2h0Ci17Ci0g
ICAgW19pbnNwZWN0ZWRXZWJWaWV3IHNldEN1cnJlbnROb2RlSGlnaGxpZ2h0Om5pbF07Ci19Ci0g
ICAgCi1AZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2Vi
Tm9kZUhpZ2hsaWdodGVyLmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0b3IvV2ViTm9k
ZUhpZ2hsaWdodGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGZjYTcz
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJO
b2RlSGlnaGxpZ2h0ZXIuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDA3IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLiAKKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLiAKKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgi
QXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4g
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworQGNsYXNzIERPTU5v
ZGU7CitAY2xhc3MgV2ViVmlldzsKK0BjbGFzcyBXZWJOb2RlSGlnaGxpZ2h0OworCitAaW50ZXJm
YWNlIFdlYk5vZGVIaWdobGlnaHRlciA6IE5TT2JqZWN0IHsKK0Bwcml2YXRlCisgICAgV2ViVmll
dyAqX2luc3BlY3RlZFdlYlZpZXc7CisgICAgV2ViTm9kZUhpZ2hsaWdodCAqX2N1cnJlbnRIaWdo
bGlnaHQ7Cit9CistIChpZClpbml0V2l0aEluc3BlY3RlZFdlYlZpZXc6KFdlYlZpZXcgKil3ZWJW
aWV3OworLSAodm9pZCloaWdobGlnaHROb2RlOihET01Ob2RlICopbm9kZTsKKy0gKHZvaWQpaGlk
ZUhpZ2hsaWdodDsKK0BlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3Bl
Y3Rvci9XZWJOb2RlSGlnaGxpZ2h0ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNwZWN0
b3IvV2ViTm9kZUhpZ2hsaWdodGVyLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjk3NWI3OGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJJbnNw
ZWN0b3IvV2ViTm9kZUhpZ2hsaWdodGVyLm1tCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuIAorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uIAorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0
ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisg
KiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLiAKKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW1wb3J0ICJXZWJOb2RlSGlnaGxpZ2h0ZXIuaCIKKworI2ltcG9ydCAiRE9NTm9kZUludGVybmFs
LmgiCisjaW1wb3J0ICJXZWJOb2RlSGlnaGxpZ2h0LmgiCisjaW1wb3J0ICJXZWJWaWV3SW50ZXJu
YWwuaCIKKyNpbXBvcnQgPFdlYkNvcmUvUGFnZS5oPgorCitAaW1wbGVtZW50YXRpb24gV2ViTm9k
ZUhpZ2hsaWdodGVyCisKKy0gKGlkKWluaXRXaXRoSW5zcGVjdGVkV2ViVmlldzooV2ViVmlldyAq
KXdlYlZpZXcKK3sKKyAgICBzZWxmID0gW3N1cGVyIGluaXRdOworICAgIGlmICghc2VsZikKKyAg
ICAgICAgcmV0dXJuIG5pbDsKKworICAgIC8vIERvbid0IHJldGFpbiB0byBhdm9pZCBhIGNpcmN1
bGFyIHJlZmVyZW5jZS4KKyAgICBfaW5zcGVjdGVkV2ViVmlldyA9IHdlYlZpZXc7CisKKyAgICBy
ZXR1cm4gc2VsZjsKK30KKworLSAodm9pZClkZWFsbG9jCit7CisgICAgQVNTRVJUKCFfY3VycmVu
dEhpZ2hsaWdodCk7CisgICAgW3N1cGVyIGRlYWxsb2NdOworfQorCisvLyBNQVJLOiAtCisKKy0g
KHZvaWQpaGlnaGxpZ2h0Tm9kZTooRE9NTm9kZSAqKW5vZGUKK3sKKyAgICAvLyBUaGUgc2Nyb2xs
dmlldydzIGNvbnRlbnQgdmlldyBzdGF5cyBhcm91bmQgYmV0d2VlbiBwYWdlIG5hdmlnYXRpb25z
LCBzbyB0YXJnZXQgaXQuCisgICAgTlNWaWV3ICp2aWV3ID0gW1tbW1tfaW5zcGVjdGVkV2ViVmll
dyBtYWluRnJhbWVdIGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XSBlbmNsb3NpbmdTY3JvbGxWaWV3
XSBjb250ZW50Vmlld107CisgICAgaWYgKCFbdmlldyB3aW5kb3ddKQorICAgICAgICByZXR1cm47
IC8vIFNraXAgdGhlIGhpZ2hsaWdodCBpZiB3ZSBoYXZlIG5vIHdpbmRvdyAoZS5nLiBoaWRkZW4g
dGFiKS4KKyAgICAKKyAgICBpZiAoIV9jdXJyZW50SGlnaGxpZ2h0KSB7CisgICAgICAgIF9jdXJy
ZW50SGlnaGxpZ2h0ID0gW1tXZWJOb2RlSGlnaGxpZ2h0IGFsbG9jXSBpbml0V2l0aFRhcmdldFZp
ZXc6dmlldyBpbnNwZWN0b3JDb250cm9sbGVyOltfaW5zcGVjdGVkV2ViVmlldyBwYWdlXS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpXTsKKyAgICAgICAgW19jdXJyZW50SGlnaGxpZ2h0IHNldERlbGVn
YXRlOnNlbGZdOworICAgICAgICBbX2N1cnJlbnRIaWdobGlnaHQgYXR0YWNoXTsKKyAgICB9IGVs
c2UKKyAgICAgICAgW1tfY3VycmVudEhpZ2hsaWdodCBoaWdobGlnaHRWaWV3XSBzZXROZWVkc0Rp
c3BsYXk6WUVTXTsKK30KKworLSAodm9pZCloaWRlSGlnaGxpZ2h0Cit7CisgICAgW19jdXJyZW50
SGlnaGxpZ2h0IGRldGFjaF07CisgICAgW19jdXJyZW50SGlnaGxpZ2h0IHNldERlbGVnYXRlOm5p
bF07CisgICAgW19jdXJyZW50SGlnaGxpZ2h0IHJlbGVhc2VdOworICAgIF9jdXJyZW50SGlnaGxp
Z2h0ID0gbmlsOworfQorCisvLyBNQVJLOiAtCisvLyBNQVJLOiBXZWJOb2RlSGlnaGxpZ2h0IGRl
bGVnYXRlCisKKy0gKHZvaWQpZGlkQXR0YWNoV2ViTm9kZUhpZ2hsaWdodDooV2ViTm9kZUhpZ2hs
aWdodCAqKWhpZ2hsaWdodAoreworICAgIFtfaW5zcGVjdGVkV2ViVmlldyBzZXRDdXJyZW50Tm9k
ZUhpZ2hsaWdodDpoaWdobGlnaHRdOworfQorCistICh2b2lkKXdpbGxEZXRhY2hXZWJOb2RlSGln
aGxpZ2h0OihXZWJOb2RlSGlnaGxpZ2h0ICopaGlnaGxpZ2h0Cit7CisgICAgW19pbnNwZWN0ZWRX
ZWJWaWV3IHNldEN1cnJlbnROb2RlSGlnaGxpZ2h0Om5pbF07Cit9CisgICAgCitAZW5kCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89959</attachid>
            <date>2011-04-17 13:18:36 -0700</date>
            <delta_ts>2011-04-17 13:42:23 -0700</delta_ts>
            <desc>[PATCH] Extract into its own file</desc>
            <filename>extract2.patch</filename>
            <type>text/plain</type>
            <size>15441</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggMzQ5NjY3NC4uMGY2YTM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAxMS0wNC0xNyAgSm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUgV2ViTm9kZUhp
Z2hsaWdodGVyIGludG8gaXRzIG93biBmaWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01ODc0NgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IEFkZCBXZWJOb2RlSGlnaGxpZ2h0ZXIue2gsbW19LgorCiAyMDExLTA0
LTEzICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dl
YktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAyNTM0MDAuLmUwZGMxNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
MzI4LDYgKzMyOCw4IEBACiAJCTkzRUIxNzhEMDlGODhENDYwMDkxRjhGRiAvKiBXZWJTeXN0ZW1J
bnRlcmZhY2UubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0VCMTc4QzA5Rjg4RDQ2MDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLm1tICovOyB9
OwogCQk5M0VCMTc4RjA5Rjg4RDUxMDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0VCMTc4RTA5Rjg4
RDUxMDA5MUY4RkYgLyogV2ViU3lzdGVtSW50ZXJmYWNlLmggKi87IH07CiAJCTkzRkRFOTMzMEQ3
OUNBRjMwMDc0RjAyOSAvKiBXZWJIaXN0b3J5SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRkRFOTMyMEQ3OUNBRjMwMDc0RjAyOSAvKiBX
ZWJIaXN0b3J5SW50ZXJuYWwuaCAqLzsgfTsKKwkJQTU2ODdCREExMzVCNzkxQTAwNzRDQkNCIC8q
IFdlYk5vZGVIaWdobGlnaHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTU2ODdCRDgxMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRl
ci5oICovOyB9OworCQlBNTY4N0JEQjEzNUI3OTFBMDA3NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdo
dGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU2
ODdCRDkxMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRlci5tbSAqLzsgfTsKIAkJ
QTU3RTJGMjQxMjA3NDlFNjAwMDQ4REYzIC8qIFdlYlF1b3RhTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTU3RTJGMjIxMjA3NDlFNjAwMDQ4
REYzIC8qIFdlYlF1b3RhTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCUE1REVGQzBBMTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0
eU9yaWdpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE1REVGQzA3MTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdpbi5tbSAqLzsgfTsK
IAkJQTVERUZDMEIxMUQ1MzMxQzAwODg1MjczIC8qIFdlYlNlY3VyaXR5T3JpZ2luSW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE1REVGQzA4
MTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmggKi87IH07CkBA
IC02NDUsNiArNjQ3LDggQEAKIAkJOUNBRTlEMDcwMjUyQTQxMzBFQ0ExNkVBIC8qIFdlYlByZWZl
cmVuY2VzUHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJOUNFMUY4QTMwMkE1QzZGMzBFQ0Ey
QUNEIC8qIFdlYkltYWdlUmVuZGVyZXJGYWN0b3J5Lm0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5vYmpjOyBwYXRoID0gV2ViSW1hZ2VSZW5kZXJlckZhY3RvcnkubTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJ
CTlDRjBFMjQ5MDIxMzYxQjAwRUNBMTZFQSAvKiBXZWJGcmFtZVByaXZhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJGcmFtZVByaXZhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07
CisJCUE1Njg3QkQ4MTM1Qjc5MUEwMDc0Q0JDQiAvKiBXZWJOb2RlSGlnaGxpZ2h0ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTm9kZUhpZ2hsaWdodGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE1Njg3QkQ5MTM1Qjc5MUEwMDc0Q0JDQiAvKiBXZWJO
b2RlSGlnaGxpZ2h0ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXZWJOb2RlSGlnaGxpZ2h0ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE1
N0UyRjIyMTIwNzQ5RTYwMDA0OERGMyAvKiBXZWJRdW90YU1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUXVvdGFNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUE1REVGQzA3MTFENTMzMUMwMDg4NTI3MyAvKiBXZWJTZWN1cml0eU9yaWdp
bi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlNlY3VyaXR5
T3JpZ2luLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBNURFRkMwODExRDUzMzFD
MDA4ODUyNzMgLyogV2ViU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC05MTQsNiArOTE4LDggQEAKIAkJCQlCODA0MTc2RTEyMTdBODMx
MDA0NjZCQUUgLyogV2ViSW5zcGVjdG9yRnJvbnRlbmQubW0gKi8sCiAJCQkJMUM2OEY2NjMwOTVC
NUZDMTAwQzI5ODRFIC8qIFdlYk5vZGVIaWdobGlnaHQuaCAqLywKIAkJCQkxQzY4RjY2NDA5NUI1
RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhpZ2hsaWdodC5tbSAqLywKKwkJCQlBNTY4N0JEODEzNUI3
OTFBMDA3NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdodGVyLmggKi8sCisJCQkJQTU2ODdCRDkxMzVC
NzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdobGlnaHRlci5tbSAqLywKIAkJCQkxQzY4RjY2NTA5
NUI1RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhpZ2hsaWdodFZpZXcuaCAqLywKIAkJCQkxQzY4RjY2
NjA5NUI1RkMxMDBDMjk4NEUgLyogV2ViTm9kZUhpZ2hsaWdodFZpZXcubW0gKi8sCiAJCQkpOwpA
QCAtMTY0OCw2ICsxNjU0LDcgQEAKIAkJCQkzQUJCM0M3QTEzMDlDM0I1MDBFOTNEOTQgLyogV2Vi
U3RvcmFnZVRyYWNrZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDJEMzI0MTMxRUQx
RTAwMDc1RkE0QiAvKiBXZWJMb2NhbGl6YWJsZVN0cmluZ3NJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjgyOTU4RDMxMzI3MDdEMDAwMEQwRTc5IC8qIENvcnJlY3Rpb25QYW5lbC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQTU2ODdCREExMzVCNzkxQTAwNzRDQkNCIC8qIFdlYk5vZGVIaWdo
bGlnaHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yMDE5LDYgKzIwMjYsNyBAQAogCQkJCTNBQkIz
QzdCMTMwOUMzQjUwMEU5M0Q5NCAvKiBXZWJTdG9yYWdlVHJhY2tlckNsaWVudC5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDNDJEMzREMTMxRUQzODgwMDc1RkE0QiAvKiBXZWJMb2NhbGl6YWJsZVN0
cmluZ3NJbnRlcm5hbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUI4Mjk1OEQ0MTMyNzA3RDAwMDBE
MEU3OSAvKiBDb3JyZWN0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLywKKwkJCQlBNTY4N0JEQjEz
NUI3OTFBMDA3NENCQ0IgLyogV2ViTm9kZUhpZ2hsaWdodGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKaW5kZXggMmIxOTQ2Mi4uMDc5YjY4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI2IEBACisyMDExLTA0LTE3ICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TW92ZSBXZWJOb2RlSGlnaGxpZ2h0ZXIgaW50byBpdHMgb3duIGZpbGUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU4NzQ2CisKKyAgICAgICAgRXh0cmFj
dCB0aGlzIGNsYXNzIGludG8gaXRzIG93biBmaWxlIGFsb25nc2lkZSB0aGUKKyAgICAgICAgb3Ro
ZXIgV2ViTm9kZUhpZ2hsaWdodCBmaWxlcy4gSW4gZG9pbmcgc28gZG8gc29tZQorICAgICAgICBj
bGVhbnVwIG9uIFdlYkluc3BlY3RvckNsaWVudCByZW1vdmluZyBzb21lIG1ldGhvZHMKKyAgICAg
ICAgdGhhdCB3ZXJlIG5ldmVyIGNhbGxlZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5tbToKKyAgICAgICAgKFdlYkluc3BlY3RvckNsaWVudDo6V2ViSW5z
cGVjdG9yQ2xpZW50KTogc3R5bGUgZml4LgorICAgICAgICAqIFdlYkluc3BlY3Rvci9XZWJOb2Rl
SGlnaGxpZ2h0ZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViSW5zcGVjdG9yL1dlYk5vZGVIaWdo
bGlnaHRlci5tbTogQWRkZWQuCisgICAgICAgICgtW1dlYk5vZGVIaWdobGlnaHRlciBpbml0V2l0
aEluc3BlY3RlZFdlYlZpZXc6XSk6IGNhbGwgc3VwZXIgaW5pdC4KKyAgICAgICAgKC1bV2ViTm9k
ZUhpZ2hsaWdodGVyIGRlYWxsb2NdKToKKyAgICAgICAgKC1bV2ViTm9kZUhpZ2hsaWdodGVyIGhp
Z2hsaWdodE5vZGU6XSk6CisgICAgICAgICgtW1dlYk5vZGVIaWdobGlnaHRlciBoaWRlSGlnaGxp
Z2h0XSk6CisgICAgICAgICgtW1dlYk5vZGVIaWdobGlnaHRlciBkaWRBdHRhY2hXZWJOb2RlSGln
aGxpZ2h0Ol0pOgorICAgICAgICAoLVtXZWJOb2RlSGlnaGxpZ2h0ZXIgd2lsbERldGFjaFdlYk5v
ZGVIaWdobGlnaHQ6XSk6CisKIDIwMTEtMDQtMTUgIEppYSBQdSAgPGpwdUBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQppbmRleCA5YjBj
ODkzLi42NzNhMmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBAIC0zNiw3ICszNiw3IEBACiAjaW1wb3J0ICJX
ZWJJbnNwZWN0b3JQcml2YXRlLmgiCiAjaW1wb3J0ICJXZWJJbnNwZWN0b3JGcm9udGVuZC5oIgog
I2ltcG9ydCAiV2ViTG9jYWxpemFibGVTdHJpbmdzSW50ZXJuYWwuaCIKLSNpbXBvcnQgIldlYk5v
ZGVIaWdobGlnaHQuaCIKKyNpbXBvcnQgIldlYk5vZGVIaWdobGlnaHRlci5oIgogI2ltcG9ydCAi
V2ViVUlEZWxlZ2F0ZS5oIgogI2ltcG9ydCAiV2ViVmlld0ludGVybmFsLmgiCiAjaW1wb3J0IDxX
ZWJDb3JlL0luc3BlY3RvckNvbnRyb2xsZXIuaD4KQEAgLTcwLDI1ICs3MCwxMyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIC0gKHZvaWQpZGVzdHJveUluc3BlY3RvclZpZXc6KGJvb2wpbm90
aWZ5SW5zcGVjdG9yQ29udHJvbGxlcjsKIEBlbmQKIAotLy8gTUFSSzogLQotCi1AaW50ZXJmYWNl
IFdlYk5vZGVIaWdobGlnaHRlciA6IE5TT2JqZWN0IHsKLUBwcml2YXRlCi0gICAgV2ViVmlldyAq
X2luc3BlY3RlZFdlYlZpZXc7Ci0gICAgV2ViTm9kZUhpZ2hsaWdodCAqX2N1cnJlbnRIaWdobGln
aHQ7Ci19Ci0tIChpZClpbml0V2l0aEluc3BlY3RlZFdlYlZpZXc6KFdlYlZpZXcgKil3ZWJWaWV3
OwotLSAodm9pZCloaWdobGlnaHROb2RlOihET01Ob2RlICopbm9kZTsKLS0gKHZvaWQpaGlkZUhp
Z2hsaWdodDsKLUBlbmQKIAogLy8gTUFSSzogLQogCi0KIFdlYkluc3BlY3RvckNsaWVudDo6V2Vi
SW5zcGVjdG9yQ2xpZW50KFdlYlZpZXcgKndlYlZpZXcpCi06IG1fd2ViVmlldyh3ZWJWaWV3KQot
LCBtX2hpZ2hsaWdodGVyKEFkb3B0TlMsIFtbV2ViTm9kZUhpZ2hsaWdodGVyIGFsbG9jXSBpbml0
V2l0aEluc3BlY3RlZFdlYlZpZXc6d2ViVmlld10pCi0sIG1fZnJvbnRlbmRQYWdlKDApCisgICAg
OiBtX3dlYlZpZXcod2ViVmlldykKKyAgICAsIG1faGlnaGxpZ2h0ZXIoQWRvcHROUywgW1tXZWJO
b2RlSGlnaGxpZ2h0ZXIgYWxsb2NdIGluaXRXaXRoSW5zcGVjdGVkV2ViVmlldzp3ZWJWaWV3XSkK
KyAgICAsIG1fZnJvbnRlbmRQYWdlKDApCiB7CiB9CiAKQEAgLTQ4MiwxOSArNDcwLDYgQEAgdm9p
ZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6dXBkYXRlV2luZG93VGl0bGUoKSBjb25zdAog
fQogCiAvLyBNQVJLOiAtCi0vLyBNQVJLOiBXZWJOb2RlSGlnaGxpZ2h0IGRlbGVnYXRlCi0KLS0g
KHZvaWQpZGlkQXR0YWNoV2ViTm9kZUhpZ2hsaWdodDooV2ViTm9kZUhpZ2hsaWdodCAqKWhpZ2hs
aWdodAotewotICAgIFtfaW5zcGVjdGVkV2ViVmlldyBzZXRDdXJyZW50Tm9kZUhpZ2hsaWdodDpo
aWdobGlnaHRdOwotfQotCi0tICh2b2lkKXdpbGxEZXRhY2hXZWJOb2RlSGlnaGxpZ2h0OihXZWJO
b2RlSGlnaGxpZ2h0ICopaGlnaGxpZ2h0Ci17Ci0gICAgW19pbnNwZWN0ZWRXZWJWaWV3IHNldEN1
cnJlbnROb2RlSGlnaGxpZ2h0Om5pbF07Ci19Ci0KLS8vIE1BUks6IC0KIC8vIE1BUks6IFVJIGRl
bGVnYXRlCiAKIC0gKE5TVUludGVnZXIpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBkcmFnRGVz
dGluYXRpb25BY3Rpb25NYXNrRm9yRHJhZ2dpbmdJbmZvOihpZCA8TlNEcmFnZ2luZ0luZm8+KWRy
YWdnaW5nSW5mbwpAQCAtNTQ4LDYwICs1MjMsMyBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5k
Q2xpZW50Ojp1cGRhdGVXaW5kb3dUaXRsZSgpIGNvbnN0CiB9CiAKIEBlbmQKLQotCi0vLyBNQVJL
OiAtCi0KLUBpbXBsZW1lbnRhdGlvbiBXZWJOb2RlSGlnaGxpZ2h0ZXIKLS0gKGlkKWluaXRXaXRo
SW5zcGVjdGVkV2ViVmlldzooV2ViVmlldyAqKXdlYlZpZXcKLXsKLSAgICAvLyBEb24ndCByZXRh
aW4gdG8gYXZvaWQgYSBjaXJjdWxhciByZWZlcmVuY2UKLSAgICBfaW5zcGVjdGVkV2ViVmlldyA9
IHdlYlZpZXc7Ci0gICAgcmV0dXJuIHNlbGY7Ci19Ci0KLS0gKHZvaWQpZGVhbGxvYwotewotICAg
IEFTU0VSVCghX2N1cnJlbnRIaWdobGlnaHQpOwotICAgIFtzdXBlciBkZWFsbG9jXTsKLX0KLQot
Ly8gTUFSSzogLQotCi0tICh2b2lkKWhpZ2hsaWdodE5vZGU6KERPTU5vZGUgKilub2RlCi17Ci0g
ICAgLy8gVGhlIHNjcm9sbHZpZXcncyBjb250ZW50IHZpZXcgc3RheXMgYXJvdW5kIGJldHdlZW4g
cGFnZSBuYXZpZ2F0aW9ucywgc28gdGFyZ2V0IGl0Ci0gICAgTlNWaWV3ICp2aWV3ID0gW1tbW1tf
aW5zcGVjdGVkV2ViVmlldyBtYWluRnJhbWVdIGZyYW1lVmlld10gZG9jdW1lbnRWaWV3XSBlbmNs
b3NpbmdTY3JvbGxWaWV3XSBjb250ZW50Vmlld107Ci0gICAgaWYgKCFbdmlldyB3aW5kb3ddKQot
ICAgICAgICByZXR1cm47IC8vIHNraXAgdGhlIGhpZ2hsaWdodCBpZiB3ZSBoYXZlIG5vIHdpbmRv
dyAoZS5nLiBoaWRkZW4gdGFiKQotICAgIAotICAgIGlmICghX2N1cnJlbnRIaWdobGlnaHQpIHsK
LSAgICAgICAgX2N1cnJlbnRIaWdobGlnaHQgPSBbW1dlYk5vZGVIaWdobGlnaHQgYWxsb2NdIGlu
aXRXaXRoVGFyZ2V0Vmlldzp2aWV3IGluc3BlY3RvckNvbnRyb2xsZXI6W19pbnNwZWN0ZWRXZWJW
aWV3IHBhZ2VdLT5pbnNwZWN0b3JDb250cm9sbGVyKCldOwotICAgICAgICBbX2N1cnJlbnRIaWdo
bGlnaHQgc2V0RGVsZWdhdGU6c2VsZl07Ci0gICAgICAgIFtfY3VycmVudEhpZ2hsaWdodCBhdHRh
Y2hdOwotICAgIH0gZWxzZQotICAgICAgICBbW19jdXJyZW50SGlnaGxpZ2h0IGhpZ2hsaWdodFZp
ZXddIHNldE5lZWRzRGlzcGxheTpZRVNdOwotfQotCi0tICh2b2lkKWhpZGVIaWdobGlnaHQKLXsK
LSAgICBbX2N1cnJlbnRIaWdobGlnaHQgZGV0YWNoXTsKLSAgICBbX2N1cnJlbnRIaWdobGlnaHQg
c2V0RGVsZWdhdGU6bmlsXTsKLSAgICBbX2N1cnJlbnRIaWdobGlnaHQgcmVsZWFzZV07Ci0gICAg
X2N1cnJlbnRIaWdobGlnaHQgPSBuaWw7Ci19Ci0KLS8vIE1BUks6IC0KLS8vIE1BUks6IFdlYk5v
ZGVIaWdobGlnaHQgZGVsZWdhdGUKLQotLSAodm9pZClkaWRBdHRhY2hXZWJOb2RlSGlnaGxpZ2h0
OihXZWJOb2RlSGlnaGxpZ2h0ICopaGlnaGxpZ2h0Ci17Ci0gICAgW19pbnNwZWN0ZWRXZWJWaWV3
IHNldEN1cnJlbnROb2RlSGlnaGxpZ2h0OmhpZ2hsaWdodF07Ci19Ci0KLS0gKHZvaWQpd2lsbERl
dGFjaFdlYk5vZGVIaWdobGlnaHQ6KFdlYk5vZGVIaWdobGlnaHQgKiloaWdobGlnaHQKLXsKLSAg
ICBbX2luc3BlY3RlZFdlYlZpZXcgc2V0Q3VycmVudE5vZGVIaWdobGlnaHQ6bmlsXTsKLX0KLSAg
ICAKLUBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJO
b2RlSGlnaGxpZ2h0ZXIuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rvci9XZWJOb2Rl
SGlnaGxpZ2h0ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZmNhNzMy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVjdG9yL1dlYk5v
ZGVIaWdobGlnaHRlci5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDYsIDIwMDcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuIAorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uIAorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJB
cHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAK
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitAY2xhc3MgRE9NTm9k
ZTsKK0BjbGFzcyBXZWJWaWV3OworQGNsYXNzIFdlYk5vZGVIaWdobGlnaHQ7CisKK0BpbnRlcmZh
Y2UgV2ViTm9kZUhpZ2hsaWdodGVyIDogTlNPYmplY3QgeworQHByaXZhdGUKKyAgICBXZWJWaWV3
ICpfaW5zcGVjdGVkV2ViVmlldzsKKyAgICBXZWJOb2RlSGlnaGxpZ2h0ICpfY3VycmVudEhpZ2hs
aWdodDsKK30KKy0gKGlkKWluaXRXaXRoSW5zcGVjdGVkV2ViVmlldzooV2ViVmlldyAqKXdlYlZp
ZXc7CistICh2b2lkKWhpZ2hsaWdodE5vZGU6KERPTU5vZGUgKilub2RlOworLSAodm9pZCloaWRl
SGlnaGxpZ2h0OworQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViSW5zcGVj
dG9yL1dlYk5vZGVIaWdobGlnaHRlci5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3BlY3Rv
ci9XZWJOb2RlSGlnaGxpZ2h0ZXIubW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uOTc1Yjc4ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkluc3Bl
Y3Rvci9XZWJOb2RlSGlnaGxpZ2h0ZXIubW0KQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4gCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4gCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uIAorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bXBvcnQgIldlYk5vZGVIaWdobGlnaHRlci5oIgorCisjaW1wb3J0ICJET01Ob2RlSW50ZXJuYWwu
aCIKKyNpbXBvcnQgIldlYk5vZGVIaWdobGlnaHQuaCIKKyNpbXBvcnQgIldlYlZpZXdJbnRlcm5h
bC5oIgorI2ltcG9ydCA8V2ViQ29yZS9QYWdlLmg+CisKK0BpbXBsZW1lbnRhdGlvbiBXZWJOb2Rl
SGlnaGxpZ2h0ZXIKKworLSAoaWQpaW5pdFdpdGhJbnNwZWN0ZWRXZWJWaWV3OihXZWJWaWV3ICop
d2ViVmlldworeworICAgIHNlbGYgPSBbc3VwZXIgaW5pdF07CisgICAgaWYgKCFzZWxmKQorICAg
ICAgICByZXR1cm4gbmlsOworCisgICAgLy8gRG9uJ3QgcmV0YWluIHRvIGF2b2lkIGEgY2lyY3Vs
YXIgcmVmZXJlbmNlLgorICAgIF9pbnNwZWN0ZWRXZWJWaWV3ID0gd2ViVmlldzsKKworICAgIHJl
dHVybiBzZWxmOworfQorCistICh2b2lkKWRlYWxsb2MKK3sKKyAgICBBU1NFUlQoIV9jdXJyZW50
SGlnaGxpZ2h0KTsKKyAgICBbc3VwZXIgZGVhbGxvY107Cit9CisKKy8vIE1BUks6IC0KKworLSAo
dm9pZCloaWdobGlnaHROb2RlOihET01Ob2RlICopbm9kZQoreworICAgIC8vIFRoZSBzY3JvbGx2
aWV3J3MgY29udGVudCB2aWV3IHN0YXlzIGFyb3VuZCBiZXR3ZWVuIHBhZ2UgbmF2aWdhdGlvbnMs
IHNvIHRhcmdldCBpdC4KKyAgICBOU1ZpZXcgKnZpZXcgPSBbW1tbW19pbnNwZWN0ZWRXZWJWaWV3
IG1haW5GcmFtZV0gZnJhbWVWaWV3XSBkb2N1bWVudFZpZXddIGVuY2xvc2luZ1Njcm9sbFZpZXdd
IGNvbnRlbnRWaWV3XTsKKyAgICBpZiAoIVt2aWV3IHdpbmRvd10pCisgICAgICAgIHJldHVybjsg
Ly8gU2tpcCB0aGUgaGlnaGxpZ2h0IGlmIHdlIGhhdmUgbm8gd2luZG93IChlLmcuIGhpZGRlbiB0
YWIpLgorICAgIAorICAgIGlmICghX2N1cnJlbnRIaWdobGlnaHQpIHsKKyAgICAgICAgX2N1cnJl
bnRIaWdobGlnaHQgPSBbW1dlYk5vZGVIaWdobGlnaHQgYWxsb2NdIGluaXRXaXRoVGFyZ2V0Vmll
dzp2aWV3IGluc3BlY3RvckNvbnRyb2xsZXI6W19pbnNwZWN0ZWRXZWJWaWV3IHBhZ2VdLT5pbnNw
ZWN0b3JDb250cm9sbGVyKCldOworICAgICAgICBbX2N1cnJlbnRIaWdobGlnaHQgc2V0RGVsZWdh
dGU6c2VsZl07CisgICAgICAgIFtfY3VycmVudEhpZ2hsaWdodCBhdHRhY2hdOworICAgIH0gZWxz
ZQorICAgICAgICBbW19jdXJyZW50SGlnaGxpZ2h0IGhpZ2hsaWdodFZpZXddIHNldE5lZWRzRGlz
cGxheTpZRVNdOworfQorCistICh2b2lkKWhpZGVIaWdobGlnaHQKK3sKKyAgICBbX2N1cnJlbnRI
aWdobGlnaHQgZGV0YWNoXTsKKyAgICBbX2N1cnJlbnRIaWdobGlnaHQgc2V0RGVsZWdhdGU6bmls
XTsKKyAgICBbX2N1cnJlbnRIaWdobGlnaHQgcmVsZWFzZV07CisgICAgX2N1cnJlbnRIaWdobGln
aHQgPSBuaWw7Cit9CisKKy8vIE1BUks6IC0KKy8vIE1BUks6IFdlYk5vZGVIaWdobGlnaHQgZGVs
ZWdhdGUKKworLSAodm9pZClkaWRBdHRhY2hXZWJOb2RlSGlnaGxpZ2h0OihXZWJOb2RlSGlnaGxp
Z2h0ICopaGlnaGxpZ2h0Cit7CisgICAgW19pbnNwZWN0ZWRXZWJWaWV3IHNldEN1cnJlbnROb2Rl
SGlnaGxpZ2h0OmhpZ2hsaWdodF07Cit9CisKKy0gKHZvaWQpd2lsbERldGFjaFdlYk5vZGVIaWdo
bGlnaHQ6KFdlYk5vZGVIaWdobGlnaHQgKiloaWdobGlnaHQKK3sKKyAgICBbX2luc3BlY3RlZFdl
YlZpZXcgc2V0Q3VycmVudE5vZGVIaWdobGlnaHQ6bmlsXTsKK30KKyAgICAKK0BlbmQK
</data>
<flag name="review"
          id="82674"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>