<?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>147579</bug_id>
          
          <creation_ts>2015-08-03 11:50:46 -0700</creation_ts>
          <short_desc>Web Inspector: Add autocomplete controller for Visual property editors</short_desc>
          <delta_ts>2015-08-14 11:44:15 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>147563</blocked>
    
    <blocked>147570</blocked>
    
    <blocked>147578</blocked>
    
    <blocked>147711</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1114282</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-03 11:50:46 -0700</bug_when>
    <thetext>For use with properties that are able to have autocompletion in the new Visual style details panel in the CSS sidebar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114287</commentid>
    <comment_count>1</comment_count>
      <attachid>258096</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-03 11:58:21 -0700</bug_when>
    <thetext>Created attachment 258096
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116892</commentid>
    <comment_count>2</comment_count>
      <attachid>258096</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-08-11 22:57:10 -0700</bug_when>
    <thetext>Comment on attachment 258096
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/VisualStyleCompletionsController.js:35
&gt; +        if (this._delegate &amp;&amp; typeof this._delegate.completionSuggestionsOnItemCreated === &quot;function&quot;)
&gt; +            this.completionSuggestionsOnItemCreated = this._delegate.completionSuggestionsOnItemCreated;

Delegates should be prefixed with the class name. So visualStyleCompletionsControllerCompletionSuggestionsOnItemCreated. It is also bad mojo to pass through a delegate. It would be better to either expose suggestionsView publicly so some other object can be its delegate, so likely the best option is to just bounce the delegate call though a similar delegate here. Delegates should also take &quot;this&quot; as the first argument, which ties to the reason the class name is in the method. It should not be assumes that the delegate is a 1-to-1 relationship, and they might need to know who is calling them.

Also completionSuggestionsOnItemCreated does not make much sense to me currently. Would visualStyleCompletionsControllerCustomizeCompletionElement make sense?

&gt; Source/WebInspectorUI/UserInterface/Views/CompletionSuggestionsView.js:180
&gt; +                this._delegate.completionSuggestionsOnItemCreated(itemElement, completions[i]);

This would have a new method signature that includes the class name. It should also pass this to that method. So:

this._delegate.completionSuggestionsViewCustomizeCompletionElement(this, itemElement, completions[i]);

Then VisualStyleCompletionsController would implement that, and fire off visualStyleCompletionsControllerCustomizeCompletionElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117603</commentid>
    <comment_count>3</comment_count>
      <attachid>258992</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-14 00:19:58 -0700</bug_when>
    <thetext>Created attachment 258992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117606</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-08-14 00:20:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/22283821&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117685</commentid>
    <comment_count>5</comment_count>
      <attachid>258992</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-14 11:44:10 -0700</bug_when>
    <thetext>Comment on attachment 258992
Patch

Clearing flags on attachment: 258992

Committed r188480: &lt;http://trac.webkit.org/changeset/188480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117686</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-14 11:44:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258096</attachid>
            <date>2015-08-03 11:58:21 -0700</date>
            <delta_ts>2015-08-14 00:19:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147579-20150803115815.patch</filename>
            <type>text/plain</type>
            <size>8904</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGQzYzhiODQyZTNjZGQ1ODc0N2E4MzFmN2M0MmM2
OTUyZTMzNzA0OWEuLjA4ZDc2NzMzMjZhOTA5MjE0NjUyNDBiMDk2OGIyOGQ2ZmY2NDk1YjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTA4LTAzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBB
ZGQgYXV0b2NvbXBsZXRlIGNvbnRyb2xsZXIgZm9yIFZpc3VhbCBwcm9wZXJ0eSBlZGl0b3JzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc1NzkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvVmlzdWFsU3R5bGVDb21wbGV0aW9uc0NvbnRyb2xsZXIuanM6IEFk
ZGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlQ29tcGxldGlvbnNDb250cm9s
bGVyKToKKyAgICAgICAgVGFrZXMgaW4gYSBDU1NDb21wbGV0aW9ucyBhbmQgZGlzcGxheXMgYSBs
aXN0IG9mIHN1Z2dlc3Rpb25zIGJhc2VkIG9uIGEgZ2l2ZW4gcHJlZml4IGluIGEgcG9wb3Zlci4K
KyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlci5w
cm90b3R5cGUuZ2V0IHZpc2libGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxl
Q29tcGxldGlvbnNDb250cm9sbGVyLnByb3RvdHlwZS5nZXQgaGFzQ29tcGxldGlvbnMpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlQ29tcGxldGlvbnNDb250cm9sbGVyLnByb3Rv
dHlwZS5nZXQgY3VycmVudENvbXBsZXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3Vh
bFN0eWxlQ29tcGxldGlvbnNDb250cm9sbGVyLnByb3RvdHlwZS5zZXQgY29tcGxldGlvbnMpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlQ29tcGxldGlvbnNDb250cm9sbGVyLnBy
b3RvdHlwZS5jb21wbGV0aW9uU3VnZ2VzdGlvbnNDbGlja2VkQ29tcGxldGlvbik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVDb21wbGV0aW9uc0NvbnRyb2xsZXIucHJvdG90eXBl
LnByZXZpb3VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNvbXBsZXRpb25z
Q29udHJvbGxlci5wcm90b3R5cGUubmV4dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFs
U3R5bGVDb21wbGV0aW9uc0NvbnRyb2xsZXIucHJvdG90eXBlLnVwZGF0ZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVDb21wbGV0aW9uc0NvbnRyb2xsZXIucHJvdG90eXBlLnNo
b3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlQ29tcGxldGlvbnNDb250cm9s
bGVyLnByb3RvdHlwZS5oaWRlKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL0NT
U0tleXdvcmRDb21wbGV0aW9ucy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NLZXl3b3Jk
Q29tcGxldGlvbnMuZm9yUHJvcGVydHkpOgorICAgICAgICBNYWtlIHN1cmUgdGhhdCB0aGUgY3Nz
TmFtZUNvbXBsZXRpb25zIGV4aXN0IGJlZm9yZSB0cnlpbmcgdG8gYWRkIHRoZW0uCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbXBsZXRpb25TdWdnZXN0aW9uc1ZpZXcuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29tcGxldGlvblN1Z2dlc3Rpb25zVmlldy5wcm90b3R5cGUu
dXBkYXRlKToKKyAgICAgICAgQWxsb3cgdGhlIGRlbGVnYXRlIHRvIG1vZGlmeSB0aGUgbmV3bHkg
Y3JlYXRlZCBjb21wbGV0aW9uIHN1Z2dlc3Rpb24gaXRlbS4KKwogMjAxNS0wOC0wMiAgTWF0dCBC
YWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogVW5u
YW1lc3BhY2VkIEZvcm1hdHRlciBjbGFzc2VzIGJyZWFrIENTU1N0eWxlRGVjbGFyYXRpb25UZXh0
RWRpdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9WaXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlci5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1Zpc3VhbFN0eWxlQ29tcGxl
dGlvbnNDb250cm9sbGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0NGY5MjlkNGU1NmIzOTg3OGNhMDE2YjE5
MGVkYzA3MWNiOTAwMjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9WaXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxl
ci5qcwpAQCAtMCwwICsxLDEzMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1dlYkluc3BlY3Rvci5WaXN1YWxT
dHlsZUNvbXBsZXRpb25zQ29udHJvbGxlciA9IGNsYXNzIFZpc3VhbFN0eWxlQ29tcGxldGlvbnND
b250cm9sbGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAoreworICAgIGNvbnN0cnVjdG9y
KGRlbGVnYXRlKQorICAgIHsKKyAgICAgICAgc3VwZXIoKTsKKworICAgICAgICB0aGlzLl9kZWxl
Z2F0ZSA9IGRlbGVnYXRlIHx8IG51bGw7CisKKyAgICAgICAgaWYgKHRoaXMuX2RlbGVnYXRlICYm
IHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS5jb21wbGV0aW9uU3VnZ2VzdGlvbnNPbkl0ZW1DcmVhdGVk
ID09PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgdGhpcy5jb21wbGV0aW9uU3VnZ2VzdGlvbnNP
bkl0ZW1DcmVhdGVkID0gdGhpcy5fZGVsZWdhdGUuY29tcGxldGlvblN1Z2dlc3Rpb25zT25JdGVt
Q3JlYXRlZDsKKworICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcgPSBuZXcgV2ViSW5zcGVj
dG9yLkNvbXBsZXRpb25TdWdnZXN0aW9uc1ZpZXcodGhpcyk7CisgICAgICAgIHRoaXMuX2NvbXBs
ZXRpb25zID0gbnVsbDsKKyAgICAgICAgdGhpcy5fY3VycmVudENvbXBsZXRpb25zID0gW107Cisg
ICAgICAgIHRoaXMuX3NlbGVjdGVkQ29tcGxldGlvbkluZGV4ID0gMDsKKyAgICB9CisKKyAgICAv
LyBQdWJsaWMKKworICAgIGdldCB2aXNpYmxlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlz
Ll9jb21wbGV0aW9ucyAmJiB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMubGVuZ3RoICYmIHRoaXMu
X3N1Z2dlc3Rpb25zVmlldy52aXNpYmxlOworICAgIH0KKworICAgIGdldCBoYXNDb21wbGV0aW9u
cygpCisgICAgeworICAgICAgICByZXR1cm4gISF0aGlzLl9jb21wbGV0aW9uczsKKyAgICB9CisK
KyAgICBnZXQgY3VycmVudENvbXBsZXRpb24oKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLmhh
c0NvbXBsZXRpb25zKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHJldHVybiB0aGlz
Ll9jdXJyZW50Q29tcGxldGlvbnNbdGhpcy5fc2VsZWN0ZWRDb21wbGV0aW9uSW5kZXhdIHx8IG51
bGw7CisgICAgfQorCisgICAgc2V0IGNvbXBsZXRpb25zKGNvbXBsZXRpb25zKQorICAgIHsKKyAg
ICAgICAgdGhpcy5fY29tcGxldGlvbnMgPSBjb21wbGV0aW9ucyB8fCBudWxsOworICAgIH0KKwor
ICAgIGNvbXBsZXRpb25TdWdnZXN0aW9uc0NsaWNrZWRDb21wbGV0aW9uKHN1Z2dlc3Rpb25zVmll
dywgdGV4dCkKKyAgICB7CisgICAgICAgIHN1Z2dlc3Rpb25zVmlldy5oaWRlKCk7CisgICAgICAg
IHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNv
bXBsZXRpb25zQ29udHJvbGxlci5FdmVudC5Db21wbGV0aW9uU2VsZWN0ZWQsIHt0ZXh0fSk7Cisg
ICAgfQorCisgICAgcHJldmlvdXMoKQorICAgIHsKKyAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNW
aWV3LnNlbGVjdFByZXZpb3VzKCk7CisgICAgICAgIHRoaXMuX3NlbGVjdGVkQ29tcGxldGlvbklu
ZGV4ID0gdGhpcy5fc3VnZ2VzdGlvbnNWaWV3LnNlbGVjdGVkSW5kZXg7CisgICAgfQorCisgICAg
bmV4dCgpCisgICAgeworICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcuc2VsZWN0TmV4dCgp
OworICAgICAgICB0aGlzLl9zZWxlY3RlZENvbXBsZXRpb25JbmRleCA9IHRoaXMuX3N1Z2dlc3Rp
b25zVmlldy5zZWxlY3RlZEluZGV4OworICAgIH0KKworICAgIHVwZGF0ZSh2YWx1ZSkKKyAgICB7
CisgICAgICAgIGlmICghdGhpcy5oYXNDb21wbGV0aW9ucykKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgICAgICB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMgPSB0aGlzLl9jb21wbGV0
aW9ucy5zdGFydHNXaXRoKHZhbHVlKTsKKworICAgICAgICB2YXIgY3VycmVudENvbXBsZXRpb25z
TGVuZ3RoID0gdGhpcy5fY3VycmVudENvbXBsZXRpb25zLmxlbmd0aDsKKyAgICAgICAgaWYgKGN1
cnJlbnRDb21wbGV0aW9uc0xlbmd0aCkgeworICAgICAgICAgICAgaWYgKGN1cnJlbnRDb21wbGV0
aW9uc0xlbmd0aCA9PT0gMSAmJiB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnNbMF0gPT09IHZhbHVl
KSB7CisgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7CisgICAgICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRD
b21wbGV0aW9uSW5kZXggPj0gY3VycmVudENvbXBsZXRpb25zTGVuZ3RoKQorICAgICAgICAgICAg
ICAgIHRoaXMuX3NlbGVjdGVkQ29tcGxldGlvbkluZGV4ID0gMDsKKworICAgICAgICAgICAgdGhp
cy5fc3VnZ2VzdGlvbnNWaWV3LnVwZGF0ZSh0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMsIHRoaXMu
X3NlbGVjdGVkQ29tcGxldGlvbkluZGV4KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAg
ICAgICB9CisKKyAgICAgICAgdGhpcy5oaWRlKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICBzaG93KGJvdW5kcywgcGFkZGluZykKKyAgICB7CisgICAgICAgIGlmICghYm91
bmRzKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3N1Z2dlc3Rpb25zVmll
dy5zaG93KGJvdW5kcy5wYWQocGFkZGluZyB8fCAwKSk7CisgICAgfQorCisgICAgaGlkZSgpCisg
ICAgeworICAgICAgICBpZiAodGhpcy5fc3VnZ2VzdGlvbnNWaWV3LmlzSGFuZGxpbmdDbGlja0V2
ZW50KCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNW
aWV3LmhpZGUoKTsKKyAgICB9Cit9OworCitXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVDb21wbGV0
aW9uc0NvbnRyb2xsZXIuRXZlbnQgPSB7CisgICAgQ29tcGxldGlvblNlbGVjdGVkOiAidmlzdWFs
LXN0eWxlLWNvbXBsZXRpb25zLWNvbnRyb2xsZXItY29tcGxldGlvbi1zZWxlY3RlZCIKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NL
ZXl3b3JkQ29tcGxldGlvbnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzCmluZGV4IDQzNDhhZmI1Njg0MzUxNzk0
NTk3ZDc4ZDAzYjA2YWNhMWY1ZjFlN2YuLmU4NThkYmQ1OTMzYTFjZjkxZTNmM2Y1ZjQ0ZTUxNjhj
NjljNDU5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcwpAQCAtNTQs
NyArNTQsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmZvclByb3BlcnR5
ID0gZnVuY3Rpb24ocHJvcGVydHlOYW1lKQogICAgIGVsc2UgaWYgKGlzTm90UHJlZml4ZWQgJiYg
KCItd2Via2l0LSIgKyBwcm9wZXJ0eU5hbWUpIGluIFdlYkluc3BlY3Rvci5DU1NLZXl3b3JkQ29t
cGxldGlvbnMuSW5oZXJpdGVkUHJvcGVydGllcykKICAgICAgICAgYWNjZXB0ZWRLZXl3b3Jkcy5w
dXNoKCJpbmhlcml0Iik7CiAKLSAgICBpZiAoYWNjZXB0ZWRLZXl3b3Jkcy5pbmNsdWRlcyhXZWJJ
bnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLkFsbFByb3BlcnR5TmFtZXNQbGFjZWhvbGRl
cikpIHsKKyAgICBpZiAoYWNjZXB0ZWRLZXl3b3Jkcy5pbmNsdWRlcyhXZWJJbnNwZWN0b3IuQ1NT
S2V5d29yZENvbXBsZXRpb25zLkFsbFByb3BlcnR5TmFtZXNQbGFjZWhvbGRlcikgJiYgV2ViSW5z
cGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc05hbWVDb21wbGV0aW9ucykgewogICAgICAgICBhY2Nl
cHRlZEtleXdvcmRzLnJlbW92ZShXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLkFs
bFByb3BlcnR5TmFtZXNQbGFjZWhvbGRlcik7CiAgICAgICAgIGFjY2VwdGVkS2V5d29yZHMgPSBh
Y2NlcHRlZEtleXdvcmRzLmNvbmNhdChXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuY3NzTmFt
ZUNvbXBsZXRpb25zLnZhbHVlcyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcGxldGlvblN1Z2dlc3Rpb25zVmlldy5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbXBsZXRpb25TdWdn
ZXN0aW9uc1ZpZXcuanMKaW5kZXggOGU3ODAxNDdhNGNjMmEwZmQ2NzY4ZTQwMWJmMmJmMTFlNzkz
MTM0Yi4uMDZhOWFmMmIyYzZmNmVhMzQ4NTg3NDgxYzIyMTVmODAwMmVhODY2NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcGxldGlvblN1
Z2dlc3Rpb25zVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9Db21wbGV0aW9uU3VnZ2VzdGlvbnNWaWV3LmpzCkBAIC0xNzUsNiArMTc1LDkgQEAg
V2ViSW5zcGVjdG9yLkNvbXBsZXRpb25TdWdnZXN0aW9uc1ZpZXcgPSBjbGFzcyBDb21wbGV0aW9u
U3VnZ2VzdGlvbnNWaWV3IGV4dGVuZHMKICAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9zZWxl
Y3RlZEluZGV4KQogICAgICAgICAgICAgICAgIGl0ZW1FbGVtZW50LmNsYXNzTGlzdC5hZGQoV2Vi
SW5zcGVjdG9yLkNvbXBsZXRpb25TdWdnZXN0aW9uc1ZpZXcuU2VsZWN0ZWRJdGVtU3R5bGVDbGFz
c05hbWUpOwogICAgICAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5hcHBlbmRDaGlsZChp
dGVtRWxlbWVudCk7CisKKyAgICAgICAgICAgIGlmICh0aGlzLl9kZWxlZ2F0ZSAmJiB0eXBlb2Yg
dGhpcy5fZGVsZWdhdGUuY29tcGxldGlvblN1Z2dlc3Rpb25zT25JdGVtQ3JlYXRlZCA9PT0gImZ1
bmN0aW9uIikKKyAgICAgICAgICAgICAgICB0aGlzLl9kZWxlZ2F0ZS5jb21wbGV0aW9uU3VnZ2Vz
dGlvbnNPbkl0ZW1DcmVhdGVkKGl0ZW1FbGVtZW50LCBjb21wbGV0aW9uc1tpXSk7CiAgICAgICAg
IH0KICAgICB9CiAK
</data>
<flag name="review"
          id="283267"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258992</attachid>
            <date>2015-08-14 00:19:58 -0700</date>
            <delta_ts>2015-08-14 11:44:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>147579.txt</filename>
            <type>text/plain</type>
            <size>8824</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDM4MjVhMDIuLmIwNjhlODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE1LTA4LTEzICBEZXZpbiBSb3Vzc28g
IDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgYXV0b2Nv
bXBsZXRlIGNvbnRyb2xsZXIgZm9yIFZpc3VhbCBwcm9wZXJ0eSBlZGl0b3JzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDc1NzkKKworICAgICAgICBS
ZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL1Zpc3VhbFN0eWxlQ29tcGxldGlvbnNDb250cm9sbGVyLmpzOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlcik6Cisg
ICAgICAgIFRha2VzIGluIGEgQ1NTQ29tcGxldGlvbnMgYW5kIGRpc3BsYXlzIGEgbGlzdCBvZiBz
dWdnZXN0aW9ucyBiYXNlZCBvbiBhIGdpdmVuIHByZWZpeCBpbiBhIHBvcG92ZXIuCisgICAgICAg
IChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVDb21wbGV0aW9uc0NvbnRyb2xsZXIucHJvdG90eXBl
LmdldCB2aXNpYmxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNvbXBsZXRp
b25zQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0IGhhc0NvbXBsZXRpb25zKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5WaXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlci5wcm90b3R5cGUuZ2V0
IGN1cnJlbnRDb21wbGV0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNv
bXBsZXRpb25zQ29udHJvbGxlci5wcm90b3R5cGUuc2V0IGNvbXBsZXRpb25zKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlci5wcm90b3R5cGUu
Y29tcGxldGlvblN1Z2dlc3Rpb25zVmlld0N1c3RvbWl6ZUNvbXBsZXRpb25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlci5wcm90
b3R5cGUucHJldmlvdXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlQ29tcGxl
dGlvbnNDb250cm9sbGVyLnByb3RvdHlwZS5uZXh0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5W
aXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlci5wcm90b3R5cGUudXBkYXRlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlci5wcm90b3R5
cGUuc2hvdyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVDb21wbGV0aW9uc0Nv
bnRyb2xsZXIucHJvdG90eXBlLmhpZGUpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2Rl
bHMvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU0tl
eXdvcmRDb21wbGV0aW9ucy5mb3JQcm9wZXJ0eSk6CisgICAgICAgIE1ha2Ugc3VyZSB0aGF0IHRo
ZSBjc3NOYW1lQ29tcGxldGlvbnMgZXhpc3QgYmVmb3JlIHRyeWluZyB0byBhZGQgdGhlbS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29tcGxldGlvblN1Z2dlc3Rpb25zVmlldy5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db21wbGV0aW9uU3VnZ2VzdGlvbnNWaWV3LnByb3Rv
dHlwZS51cGRhdGUpOgorICAgICAgICBBbGxvdyB0aGUgZGVsZWdhdGUgdG8gbW9kaWZ5IHRoZSBu
ZXdseSBjcmVhdGVkIGNvbXBsZXRpb24gc3VnZ2VzdGlvbiBpdGVtLgorCiAyMDE1LTA4LTEzICBO
aWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IENhbid0IHJlc2l6ZSBzcGxpdCBjb25zb2xlIHdoZW4gd2luZG93IGlzIHRvbyBuYXJy
b3cKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL1Zpc3VhbFN0eWxlQ29tcGxldGlvbnNDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvVmlzdWFsU3R5bGVDb21wbGV0aW9u
c0NvbnRyb2xsZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2E5OTlh
OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0NvbnRyb2xsZXJzL1Zpc3VhbFN0eWxlQ29tcGxldGlvbnNDb250cm9sbGVyLmpzCkBAIC0wLDAg
KzEsMTMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlQ29tcGxldGlv
bnNDb250cm9sbGVyID0gY2xhc3MgVmlzdWFsU3R5bGVDb21wbGV0aW9uc0NvbnRyb2xsZXIgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0Cit7CisgICAgY29uc3RydWN0b3IoZGVsZWdhdGUpCisg
ICAgeworICAgICAgICBzdXBlcigpOworCisgICAgICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdh
dGUgfHwgbnVsbDsKKyAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNWaWV3ID0gbmV3IFdlYkluc3Bl
Y3Rvci5Db21wbGV0aW9uU3VnZ2VzdGlvbnNWaWV3KHRoaXMpOworICAgICAgICB0aGlzLl9jb21w
bGV0aW9ucyA9IG51bGw7CisgICAgICAgIHRoaXMuX2N1cnJlbnRDb21wbGV0aW9ucyA9IFtdOwor
ICAgICAgICB0aGlzLl9zZWxlY3RlZENvbXBsZXRpb25JbmRleCA9IDA7CisgICAgfQorCisgICAg
Ly8gUHVibGljCisKKyAgICBnZXQgdmlzaWJsZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhp
cy5fY29tcGxldGlvbnMgJiYgdGhpcy5fY3VycmVudENvbXBsZXRpb25zLmxlbmd0aCAmJiB0aGlz
Ll9zdWdnZXN0aW9uc1ZpZXcudmlzaWJsZTsKKyAgICB9CisKKyAgICBnZXQgaGFzQ29tcGxldGlv
bnMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuICEhdGhpcy5fY29tcGxldGlvbnM7CisgICAgfQor
CisgICAgZ2V0IGN1cnJlbnRDb21wbGV0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5o
YXNDb21wbGV0aW9ucykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICByZXR1cm4gdGhp
cy5fY3VycmVudENvbXBsZXRpb25zW3RoaXMuX3NlbGVjdGVkQ29tcGxldGlvbkluZGV4XSB8fCBu
dWxsOworICAgIH0KKworICAgIHNldCBjb21wbGV0aW9ucyhjb21wbGV0aW9ucykKKyAgICB7Cisg
ICAgICAgIHRoaXMuX2NvbXBsZXRpb25zID0gY29tcGxldGlvbnMgfHwgbnVsbDsKKyAgICB9CisK
KyAgICBjb21wbGV0aW9uU3VnZ2VzdGlvbnNWaWV3Q3VzdG9taXplQ29tcGxldGlvbkVsZW1lbnQo
c3VnZ2VzdGlvbnNWaWV3LCBlbGVtZW50LCBpdGVtKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMu
X2RlbGVnYXRlICYmIHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS52aXN1YWxTdHlsZUNvbXBsZXRpb25z
Q29udHJvbGxlckN1c3RvbWl6ZUNvbXBsZXRpb25FbGVtZW50ID09PSAiZnVuY3Rpb24iKQorICAg
ICAgICAgICAgdGhpcy5fZGVsZWdhdGUudmlzdWFsU3R5bGVDb21wbGV0aW9uc0NvbnRyb2xsZXJD
dXN0b21pemVDb21wbGV0aW9uRWxlbWVudChzdWdnZXN0aW9uc1ZpZXcsIGVsZW1lbnQsIGl0ZW0p
OworICAgIH0KKworICAgIGNvbXBsZXRpb25TdWdnZXN0aW9uc0NsaWNrZWRDb21wbGV0aW9uKHN1
Z2dlc3Rpb25zVmlldywgdGV4dCkKKyAgICB7CisgICAgICAgIHN1Z2dlc3Rpb25zVmlldy5oaWRl
KCk7CisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5W
aXN1YWxTdHlsZUNvbXBsZXRpb25zQ29udHJvbGxlci5FdmVudC5Db21wbGV0aW9uU2VsZWN0ZWQs
IHt0ZXh0fSk7CisgICAgfQorCisgICAgcHJldmlvdXMoKQorICAgIHsKKyAgICAgICAgdGhpcy5f
c3VnZ2VzdGlvbnNWaWV3LnNlbGVjdFByZXZpb3VzKCk7CisgICAgICAgIHRoaXMuX3NlbGVjdGVk
Q29tcGxldGlvbkluZGV4ID0gdGhpcy5fc3VnZ2VzdGlvbnNWaWV3LnNlbGVjdGVkSW5kZXg7Cisg
ICAgfQorCisgICAgbmV4dCgpCisgICAgeworICAgICAgICB0aGlzLl9zdWdnZXN0aW9uc1ZpZXcu
c2VsZWN0TmV4dCgpOworICAgICAgICB0aGlzLl9zZWxlY3RlZENvbXBsZXRpb25JbmRleCA9IHRo
aXMuX3N1Z2dlc3Rpb25zVmlldy5zZWxlY3RlZEluZGV4OworICAgIH0KKworICAgIHVwZGF0ZSh2
YWx1ZSkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5oYXNDb21wbGV0aW9ucykKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnMgPSB0
aGlzLl9jb21wbGV0aW9ucy5zdGFydHNXaXRoKHZhbHVlKTsKKworICAgICAgICB2YXIgY3VycmVu
dENvbXBsZXRpb25zTGVuZ3RoID0gdGhpcy5fY3VycmVudENvbXBsZXRpb25zLmxlbmd0aDsKKyAg
ICAgICAgaWYgKGN1cnJlbnRDb21wbGV0aW9uc0xlbmd0aCkgeworICAgICAgICAgICAgaWYgKGN1
cnJlbnRDb21wbGV0aW9uc0xlbmd0aCA9PT0gMSAmJiB0aGlzLl9jdXJyZW50Q29tcGxldGlvbnNb
MF0gPT09IHZhbHVlKSB7CisgICAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAodGhp
cy5fc2VsZWN0ZWRDb21wbGV0aW9uSW5kZXggPj0gY3VycmVudENvbXBsZXRpb25zTGVuZ3RoKQor
ICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkQ29tcGxldGlvbkluZGV4ID0gMDsKKworICAg
ICAgICAgICAgdGhpcy5fc3VnZ2VzdGlvbnNWaWV3LnVwZGF0ZSh0aGlzLl9jdXJyZW50Q29tcGxl
dGlvbnMsIHRoaXMuX3NlbGVjdGVkQ29tcGxldGlvbkluZGV4KTsKKyAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5oaWRlKCk7CisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICB9CisKKyAgICBzaG93KGJvdW5kcywgcGFkZGluZykKKyAgICB7CisgICAg
ICAgIGlmICghYm91bmRzKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3N1
Z2dlc3Rpb25zVmlldy5zaG93KGJvdW5kcy5wYWQocGFkZGluZyB8fCAwKSk7CisgICAgfQorCisg
ICAgaGlkZSgpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc3VnZ2VzdGlvbnNWaWV3LmlzSGFu
ZGxpbmdDbGlja0V2ZW50KCkpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5f
c3VnZ2VzdGlvbnNWaWV3LmhpZGUoKTsKKyAgICB9Cit9OworCitXZWJJbnNwZWN0b3IuVmlzdWFs
U3R5bGVDb21wbGV0aW9uc0NvbnRyb2xsZXIuRXZlbnQgPSB7CisgICAgQ29tcGxldGlvblNlbGVj
dGVkOiAidmlzdWFsLXN0eWxlLWNvbXBsZXRpb25zLWNvbnRyb2xsZXItY29tcGxldGlvbi1zZWxl
Y3RlZCIKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzCmluZGV4IDQzNDhh
ZmIuLmU4NThkYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL01vZGVscy9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcwpAQCAt
NTQsNyArNTQsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLmZvclByb3Bl
cnR5ID0gZnVuY3Rpb24ocHJvcGVydHlOYW1lKQogICAgIGVsc2UgaWYgKGlzTm90UHJlZml4ZWQg
JiYgKCItd2Via2l0LSIgKyBwcm9wZXJ0eU5hbWUpIGluIFdlYkluc3BlY3Rvci5DU1NLZXl3b3Jk
Q29tcGxldGlvbnMuSW5oZXJpdGVkUHJvcGVydGllcykKICAgICAgICAgYWNjZXB0ZWRLZXl3b3Jk
cy5wdXNoKCJpbmhlcml0Iik7CiAKLSAgICBpZiAoYWNjZXB0ZWRLZXl3b3Jkcy5pbmNsdWRlcyhX
ZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25zLkFsbFByb3BlcnR5TmFtZXNQbGFjZWhv
bGRlcikpIHsKKyAgICBpZiAoYWNjZXB0ZWRLZXl3b3Jkcy5pbmNsdWRlcyhXZWJJbnNwZWN0b3Iu
Q1NTS2V5d29yZENvbXBsZXRpb25zLkFsbFByb3BlcnR5TmFtZXNQbGFjZWhvbGRlcikgJiYgV2Vi
SW5zcGVjdG9yLkNTU0NvbXBsZXRpb25zLmNzc05hbWVDb21wbGV0aW9ucykgewogICAgICAgICBh
Y2NlcHRlZEtleXdvcmRzLnJlbW92ZShXZWJJbnNwZWN0b3IuQ1NTS2V5d29yZENvbXBsZXRpb25z
LkFsbFByb3BlcnR5TmFtZXNQbGFjZWhvbGRlcik7CiAgICAgICAgIGFjY2VwdGVkS2V5d29yZHMg
PSBhY2NlcHRlZEtleXdvcmRzLmNvbmNhdChXZWJJbnNwZWN0b3IuQ1NTQ29tcGxldGlvbnMuY3Nz
TmFtZUNvbXBsZXRpb25zLnZhbHVlcyk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcGxldGlvblN1Z2dlc3Rpb25zVmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbXBsZXRpb25T
dWdnZXN0aW9uc1ZpZXcuanMKaW5kZXggYTdhNTk0Yi4uNzczMmRiYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29tcGxldGlvblN1Z2dlc3Rp
b25zVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Db21wbGV0aW9uU3VnZ2VzdGlvbnNWaWV3LmpzCkBAIC0xNzUsNiArMTc1LDkgQEAgV2ViSW5z
cGVjdG9yLkNvbXBsZXRpb25TdWdnZXN0aW9uc1ZpZXcgPSBjbGFzcyBDb21wbGV0aW9uU3VnZ2Vz
dGlvbnNWaWV3IGV4dGVuZHMKICAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9zZWxlY3RlZElu
ZGV4KQogICAgICAgICAgICAgICAgIGl0ZW1FbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVj
dG9yLkNvbXBsZXRpb25TdWdnZXN0aW9uc1ZpZXcuU2VsZWN0ZWRJdGVtU3R5bGVDbGFzc05hbWUp
OwogICAgICAgICAgICAgdGhpcy5fY29udGFpbmVyRWxlbWVudC5hcHBlbmRDaGlsZChpdGVtRWxl
bWVudCk7CisKKyAgICAgICAgICAgIGlmICh0aGlzLl9kZWxlZ2F0ZSAmJiB0eXBlb2YgdGhpcy5f
ZGVsZWdhdGUuY29tcGxldGlvblN1Z2dlc3Rpb25zVmlld0N1c3RvbWl6ZUNvbXBsZXRpb25FbGVt
ZW50ID09PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgICAgIHRoaXMuX2RlbGVnYXRlLmNvbXBs
ZXRpb25TdWdnZXN0aW9uc1ZpZXdDdXN0b21pemVDb21wbGV0aW9uRWxlbWVudCh0aGlzLCBpdGVt
RWxlbWVudCwgY29tcGxldGlvbnNbaV0pOwogICAgICAgICB9CiAgICAgfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>