<?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>41964</bug_id>
          
          <creation_ts>2010-07-09 10:19:04 -0700</creation_ts>
          <short_desc>[chromium] popup menu should have the capability of showing labels</short_desc>
          <delta_ts>2010-07-13 00:39:57 -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>0</everconfirmed>
          <reporter name="Jay Civelli">jcivelli</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>jhawkins</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>249087</commentid>
    <comment_count>0</comment_count>
    <who name="Jay Civelli">jcivelli</who>
    <bug_when>2010-07-09 10:19:04 -0700</bug_when>
    <thetext>For the Chromium autofill related feature, we need the PopupMenuChromium to be able to display a custom label on the right side for each entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249105</commentid>
    <comment_count>1</comment_count>
      <attachid>61060</attachid>
    <who name="Jay Civelli">jcivelli</who>
    <bug_when>2010-07-09 10:47:54 -0700</bug_when>
    <thetext>Created attachment 61060
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249354</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-09 16:48:11 -0700</bug_when>
    <thetext>Attachment 61060 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit/chromium/src/AutoFillPopupMenuClient.cpp:280:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
WebCore/platform/chromium/PopupMenuChromium.cpp:915:  One line control clauses should not use braces.  [whitespace/braces] [4]
WebCore/platform/chromium/PopupMenuChromium.cpp:961:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 3 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249357</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-09 16:55:59 -0700</bug_when>
    <thetext>Attachment 61060 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/3507040</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249358</commentid>
    <comment_count>4</comment_count>
      <attachid>61115</attachid>
    <who name="Jay Civelli">jcivelli</who>
    <bug_when>2010-07-09 16:58:49 -0700</bug_when>
    <thetext>Created attachment 61115
Fixed style issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249360</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-07-09 17:09:02 -0700</bug_when>
    <thetext>Attachment 61115 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/3488087</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249736</commentid>
    <comment_count>6</comment_count>
      <attachid>61115</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-12 03:02:12 -0700</bug_when>
    <thetext>Comment on attachment 61115
Fixed style issues

The code looks OK.  Please fix the build error:

/Users/eseidel/Projects/MacEWS/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/i386/RenderTextControlSingleLine.o
cc1plus: warnings being treated as errors
/Users/eseidel/Projects/MacEWS/WebCore/rendering/RenderTextControlSingleLine.cpp:879: warning: unused parameter &apos;listIndex&apos;
distcc[99406] ERROR: compile /Users/eseidel/Projects/MacEWS/WebCore/rendering/RenderTextControlSingleLine.cpp on localhost failed


WebCore/platform/chromium/PopupMenuChromium.cpp:73
 +  static const int kTextToLabelPadding = 10;
nit: We don&apos;t prepend &apos;k&apos; prefix to constant value symbols.  This change is ok for consistency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>249911</commentid>
    <comment_count>7</comment_count>
      <attachid>61245</attachid>
    <who name="Jay Civelli">jcivelli</who>
    <bug_when>2010-07-12 10:58:54 -0700</bug_when>
    <thetext>Created attachment 61245
Fixing Mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250132</commentid>
    <comment_count>8</comment_count>
      <attachid>61245</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-12 16:27:09 -0700</bug_when>
    <thetext>Comment on attachment 61245
Fixing Mac build

WebKit/chromium/src/AutoFillPopupMenuClient.cpp:70
 +      if (index == -1)
I don&apos;t think this code works.  A compiler warns &quot;signed vs. unsigned&quot; and removes the code by optimization.
convertListIndexToInternalIndex() should return signed int.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250171</commentid>
    <comment_count>9</comment_count>
      <attachid>61298</attachid>
    <who name="Jay Civelli">jcivelli</who>
    <bug_when>2010-07-12 17:16:54 -0700</bug_when>
    <thetext>Created attachment 61298
Changed  AutoFillPopupMenuClient::convertListIndexToInternalIndex to return a signed int</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250219</commentid>
    <comment_count>10</comment_count>
      <attachid>61298</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-07-12 18:28:02 -0700</bug_when>
    <thetext>Comment on attachment 61298
Changed  AutoFillPopupMenuClient::convertListIndexToInternalIndex to return a signed int

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250353</commentid>
    <comment_count>11</comment_count>
      <attachid>61298</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-12 23:41:25 -0700</bug_when>
    <thetext>Comment on attachment 61298
Changed  AutoFillPopupMenuClient::convertListIndexToInternalIndex to return a signed int

Clearing flags on attachment: 61298

Committed r63179: &lt;http://trac.webkit.org/changeset/63179&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250354</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-07-12 23:41:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>250365</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-07-13 00:39:57 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/63179 might have broken Chromium Win Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/63178
http://trac.webkit.org/changeset/63179
http://trac.webkit.org/changeset/63180
http://trac.webkit.org/changeset/63181</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61060</attachid>
            <date>2010-07-09 10:47:54 -0700</date>
            <delta_ts>2010-07-09 16:58:49 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>popup_label.patch</filename>
            <type>text/plain</type>
            <size>13114</size>
            <attacher name="Jay Civelli">jcivelli</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDYyOTY0KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNy0wOSAgSmF5IENpdmVsbGkgIDxqY2l2ZWxsaUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkaW5nIHJpZ2h0IGFsaWduZWQgdGV4dCBjYWxsZWQgbGFiZWxzIHRvIFBvcHVwTWVudXMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTk2NAor
CisgICAgICAgICogcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9w
dXBMaXN0Qm94OjpwYWludFJvdyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjppdGVtTGFiZWwpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtTGFiZWwpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDoKKwogMjAxMC0wNy0wOSAgQW5kZXJzIENhcmxz
c29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZy
YXNlci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCShyZXZpc2lvbiA2Mjk2
MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DbGVh
cmVkKCkgPSAwOwogCiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRleHQodW5zaWduZWQgbGlzdElu
ZGV4KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxp
c3RJbmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1Ub29sVGlwKHVuc2ln
bmVkIGxpc3RJbmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1BY2Nlc3Np
YmlsaXR5VGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJv
b2wgaXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwDQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
DQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHJl
dmlzaW9uIDYyOTYwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJv
bWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDYgKzcwLDcgQEAgdHlwZWRlZiB1bnNpZ25l
ZCBsb25nIGxvbmcgVGltZVN0YW1wOwogc3RhdGljIGNvbnN0IGludCBrTWF4VmlzaWJsZVJvd3Mg
PSAyMDsKIHN0YXRpYyBjb25zdCBpbnQga01heEhlaWdodCA9IDUwMDsKIHN0YXRpYyBjb25zdCBp
bnQga0JvcmRlclNpemUgPSAxOworc3RhdGljIGNvbnN0IGludCBrVGV4dFRvTGFiZWxQYWRkaW5n
ID0gMTA7CiBzdGF0aWMgY29uc3QgVGltZVN0YW1wIGtUeXBlQWhlYWRUaW1lb3V0TXMgPSAxMDAw
OwogCiAvLyBUaGUgc2V0dGluZ3MgdXNlZCBmb3IgdGhlIGRyb3AgZG93biBtZW51LgpAQCAtOTA5
LDE4ICs5MTAsMzEgQEAgdm9pZCBQb3B1cExpc3RCb3g6OnBhaW50Um93KEdyYXBoaWNzQ29udAog
ICAgIGJvb2wgcmlnaHRBbGlnbmVkID0gbV9wb3B1cENsaWVudC0+bWVudVN0eWxlKCkudGV4dERp
cmVjdGlvbigpID09IFJUTDsKICAgICBpbnQgdGV4dFggPSAwOwogICAgIGludCBtYXhXaWR0aCA9
IDA7Ci0gICAgaWYgKHJpZ2h0QWxpZ25lZCkKKyAgICBpZiAocmlnaHRBbGlnbmVkKSB7CiAgICAg
ICAgIG1heFdpZHRoID0gcm93UmVjdC53aWR0aCgpIC0gbWF4KDAsIG1fcG9wdXBDbGllbnQtPmNs
aWVudFBhZGRpbmdSaWdodCgpIC0gbV9wb3B1cENsaWVudC0+Y2xpZW50SW5zZXRSaWdodCgpKTsK
LSAgICBlbHNlIHsKKyAgICB9IGVsc2UgewogICAgICAgICB0ZXh0WCA9IG1heCgwLCBtX3BvcHVw
Q2xpZW50LT5jbGllbnRQYWRkaW5nTGVmdCgpIC0gbV9wb3B1cENsaWVudC0+Y2xpZW50SW5zZXRM
ZWZ0KCkpOwogICAgICAgICBtYXhXaWR0aCA9IHJvd1JlY3Qud2lkdGgoKSAtIHRleHRYOwogICAg
IH0KICAgICAvLyBQcmVwYXJlIHRleHQgdG8gYmUgZHJhd24uCiAgICAgU3RyaW5nIGl0ZW1UZXh0
ID0gbV9wb3B1cENsaWVudC0+aXRlbVRleHQocm93SW5kZXgpOwotICAgIGlmIChtX3NldHRpbmdz
LnJlc3RyaWN0V2lkdGhPZkxpc3RCb3gpICAvLyB0cnVuY2F0ZSBzdHJpbmcgdG8gZml0IGluLgot
ICAgICAgICBpdGVtVGV4dCA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShpdGVtVGV4
dCwgbWF4V2lkdGgsIGl0ZW1Gb250KTsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSBpdGVtVGV4dC5s
ZW5ndGgoKTsKLSAgICBjb25zdCBVQ2hhciogc3RyID0gaXRlbVRleHQuY2hhcmFjdGVycygpOwor
ICAgIFN0cmluZyBpdGVtTGFiZWwgPSBtX3BvcHVwQ2xpZW50LT5pdGVtTGFiZWwocm93SW5kZXgp
OworICAgIGlmIChtX3NldHRpbmdzLnJlc3RyaWN0V2lkdGhPZkxpc3RCb3gpIHsgLy8gVHJ1bmNh
dGUgc3RyaW5ncyB0byBmaXQgaW4uCisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbGVmdFRy
dW5jYXRlIGZvciB0aGUgcnRsIGNhc2UuCisgICAgICAgIC8vIFN0cmluZ1RydW5jYXRvcjo6bGVm
dFRydW5jYXRlIHdvdWxkIGhhdmUgdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgICAgIFN0cmluZyBz
dHIgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoaXRlbVRleHQsIG1heFdpZHRoLCBp
dGVtRm9udCk7CisgICAgICAgIGlmIChzdHIgIT0gaXRlbVRleHQpIHsKKyAgICAgICAgICAgIGl0
ZW1UZXh0ID0gc3RyOworICAgICAgICAgICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgbGFiZWwsIHdl
IGFscmVhZHkgZG9uJ3QgaGF2ZSBlbm91Z2ggcm9vbSBmb3IgdGhlCisgICAgICAgICAgICAvLyBp
dGVtIHRleHQuCisgICAgICAgICAgICBpdGVtTGFiZWwgPSAiIjsKKyAgICAgICAgfSBlbHNlIGlm
ICghaXRlbUxhYmVsLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgaW50IGF2YWlsYWJsZVdpZHRo
ID0gbWF4V2lkdGggLSBrVGV4dFRvTGFiZWxQYWRkaW5nIC0KKyAgICAgICAgICAgICAgICBTdHJp
bmdUcnVuY2F0b3I6OndpZHRoKGl0ZW1UZXh0LCBpdGVtRm9udCk7CisgICAgICAgICAgICBpdGVt
TGFiZWwgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoaXRlbUxhYmVsLCBhdmFpbGFi
bGVXaWR0aCwgaXRlbUZvbnQpOworICAgICAgICB9CisgICAgfQorCiAgICAgLy8gUHJlcGFyZSB0
aGUgZGlyZWN0aW9uYWxpdHkgdG8gZHJhdyB0ZXh0LgogICAgIGJvb2wgcnRsID0gZmFsc2U7CiAg
ICAgaWYgKG1fc2V0dGluZ3MuaXRlbVRleHREaXJlY3Rpb25hbGl0eUhpbnQgPT0gUG9wdXBDb250
YWluZXJTZXR0aW5nczo6RE9NRWxlbWVudERpcmVjdGlvbikKQEAgLTkyOCwxNCArOTQyLDMzIEBA
IHZvaWQgUG9wdXBMaXN0Qm94OjpwYWludFJvdyhHcmFwaGljc0NvbnQKICAgICBlbHNlIGlmICht
X3NldHRpbmdzLml0ZW1UZXh0RGlyZWN0aW9uYWxpdHlIaW50ID09CiAgICAgICAgICAgICAgUG9w
dXBDb250YWluZXJTZXR0aW5nczo6Rmlyc3RTdHJvbmdEaXJlY3Rpb25hbENoYXJhY3RlckRpcmVj
dGlvbikKICAgICAgICAgcnRsID0gaXRlbVRleHQuZGVmYXVsdFdyaXRpbmdEaXJlY3Rpb24oKSA9
PSBXVEY6OlVuaWNvZGU6OlJpZ2h0VG9MZWZ0OwotICAgIFRleHRSdW4gdGV4dFJ1bihzdHIsIGxl
bmd0aCwgZmFsc2UsIDAsIDAsIHJ0bCk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKGl0ZW1UZXh0LmNo
YXJhY3RlcnMoKSwgaXRlbVRleHQubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBydGwpOwogICAgIC8v
IElmIHRoZSB0ZXh0IGlzIHJpZ2h0LXRvLWxlZnQsIG1ha2UgaXQgcmlnaHQtYWxpZ25lZCBieSBh
ZGp1c3RpbmcgaXRzCiAgICAgLy8gYmVnaW5uaW5nIHBvc2l0aW9uLgogICAgIGlmIChyaWdodEFs
aWduZWQpCiAgICAgICAgIHRleHRYICs9IG1heFdpZHRoIC0gaXRlbUZvbnQud2lkdGgodGV4dFJ1
bik7CisKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQuCiAgICAgaW50IHRleHRZID0gcm93UmVj
dC55KCkgKyBpdGVtRm9udC5hc2NlbnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQu
aGVpZ2h0KCkpIC8gMjsKICAgICBnYy0+ZHJhd0JpZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJ
bnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKKworICAgIC8vIERyYXcgdGhlIHRoZSBsYWJlbCBpZiBh
cHBsaWNhYmxlLgorICAgIGlmIChpdGVtTGFiZWwuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47
CisgICAgVGV4dFJ1biBsYWJlbFRleHRSdW4oaXRlbUxhYmVsLmNoYXJhY3RlcnMoKSwgaXRlbUxh
YmVsLmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgcnRsKTsKKyAgICBpZiAocmlnaHRBbGlnbmVkKSB7
CisgICAgICAgIHRleHRYID0gbWF4KDAsIG1fcG9wdXBDbGllbnQtPmNsaWVudFBhZGRpbmdMZWZ0
KCkgLSBtX3BvcHVwQ2xpZW50LT5jbGllbnRJbnNldExlZnQoKSk7CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgLy8gV2UgYXJlIHVzaW5nIHRoZSBsZWZ0IHBhZGRpbmcgYXMgdGhlIHJpZ2h0IHBhZGRp
bmcgaW5jbHVkZXMgcm9vbSBmb3IgdGhlIHNjcm9sbC1iYXIgd2hpY2gKKyAgICAgICAgLy8gZG9l
cyBub3Qgc2hvdyBpbiB0aGlzIGNhc2UuCisgICAgICAgIGludCByaWdodFBhZGRpbmcgPSBtYXgo
MCwgbV9wb3B1cENsaWVudC0+Y2xpZW50UGFkZGluZ0xlZnQoKSAtIG1fcG9wdXBDbGllbnQtPmNs
aWVudEluc2V0TGVmdCgpKTsKKyAgICAgICAgdGV4dFggPSByb3dSZWN0LndpZHRoKCkgLSByaWdo
dFBhZGRpbmcgLSBpdGVtRm9udC53aWR0aChsYWJlbFRleHRSdW4pOworICAgIH0KKworICAgIC8v
IEZJWE1FOiBmb3Igbm93IHRoZSBsYWJlbCBjb2xvciBpcyBoYXJkLWNvZGVkLiBJdCBzaG91bGQg
YmUgYWRkZWQgdG8gdGhlCisgICAgLy8gICAgICAgIFBvcHVwTWVudVN0eWxlLgorICAgIGdjLT5z
ZXRGaWxsQ29sb3IoQ29sb3IoMTE1LCAxMTUsIDExNSksIERldmljZUNvbG9yU3BhY2UpOworICAg
IGdjLT5kcmF3QmlkaVRleHQoaXRlbUZvbnQsIGxhYmVsVGV4dFJ1biwgSW50UG9pbnQodGV4dFgs
IHRleHRZKSk7CiB9CiAKIEZvbnQgUG9wdXBMaXN0Qm94OjpnZXRSb3dGb250KGludCByb3dJbmRl
eCkKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcA0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkocmV2aXNpb24gNjI5
NjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1MCw2ICszNTAsMTEgQEAgU3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVtVGV4dCh1
bnNpZ25lZAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIFJlbmRlck1lbnVMaXN0
OjppdGVtTGFiZWwodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdAoreworICAgIHJldHVybiBTdHJp
bmcoKTsKK30KKwogU3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVtQWNjZXNzaWJpbGl0eVRleHQo
dW5zaWduZWQgbGlzdEluZGV4KSBjb25zdAogewogICAgIC8vIEFsbG93IHRoZSBhY2Nlc3NpYmxl
IG5hbWUgYmUgY2hhbmdlZCBpZiBuZWNlc3NhcnkuCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuaAkocmV2aXNpb24gNjI5NjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZW51TGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4Miw3IEBAIHByaXZhdGU6CiAKICAg
ICAvLyBQb3B1cE1lbnVDbGllbnQgbWV0aG9kcwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0
KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgaXRlbUxhYmVs
KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xU
aXAodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtQWNj
ZXNzaWJpbGl0eVRleHQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAgICB2aXJ0dWFsIGJv
b2wgaXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcA0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHJl
dmlzaW9uIDYyOTYwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODc2LDYgKzg3NiwxMSBAQCBTdHJpbmcgUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtCiAgICAgcmV0dXJuIG1fcmVjZW50U2VhcmNo
ZXNbbGlzdEluZGV4IC0gMV07CiB9CiAKK1N0cmluZyBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxp
bmU6Oml0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFN0
cmluZygpOworfQorCiBib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aXRlbUlzRW5h
YmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7CiAgICAgIGlmICghbGlzdEluZGV4IHx8
IGl0ZW1Jc1NlcGFyYXRvcihsaXN0SW5kZXgpKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAkocmV2aXNpb24gNjI5NjApCisrKyBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAkod29ya2luZyBj
b3B5KQpAQCAtMTE1LDYgKzExNSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNlbGVj
dGlvbkNoYW5nZWQodW5zaWduZWQsIGJvb2wpIHt9CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlv
bkNsZWFyZWQoKSB7fQogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJ
bmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJ
bmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQpIGNv
bnN0IHsgcmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbUFjY2Vzc2li
aWxpdHlUZXh0KHVuc2lnbmVkKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1
YWwgYm9vbCBpdGVtSXNFbmFibGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CkluZGV4OiBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkocmV2aXNpb24gNjI5NjQpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDctMDkgIEpheSBDaXZlbGxp
ICA8amNpdmVsbGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1ha2luZyB0aGUgYXV0b2ZpbGwgcG9wdXAgdXNlIGxhYmVscyB0
byBzaG93IHRoZSBsYWJlbAorICAgICAgICBhc3NvY2lhdGVkIHdpdGggYW4gaXRlbS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxOTY0CisKKyAgICAg
ICAgKiBzcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpB
dXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0U3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpnZXRMYWJlbCk6CisgICAgICAgIChXZWJLaXQ6OkF1
dG9GaWxsUG9wdXBNZW51Q2xpZW50OjppdGVtTGFiZWwpOgorICAgICAgICAoV2ViS2l0OjpBdXRv
RmlsbFBvcHVwTWVudUNsaWVudDo6c2V0U3VnZ2VzdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpB
dXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Y29udmVydExpc3RJbmRleFRvSW50ZXJuYWxJbmRleCk6
CisgICAgICAgICogc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50Lmg6CisKIDIwMTAtMDctMDkg
IE1pY2hhZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRHVtaXRydSBEYW5pbGl1Yy4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0Zp
bGxQb3B1cE1lbnVDbGllbnQuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3Ny
Yy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5jcHAJKHJldmlzaW9uIDYyOTYwKQorKysgV2ViS2l0
L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTY2LDIwICs2NiwyMiBAQCB1bnNpZ25lZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0
U3VnCiAKIFdlYlN0cmluZyBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0U3VnZ2VzdGlvbih1
bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7Ci0gICAgaWYgKGxpc3RJbmRleCA9PSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4obV9zZXBhcmF0b3JJbmRleCkpCisgICAgdW5zaWduZWQgaW5kZXggPSBj
b252ZXJ0TGlzdEluZGV4VG9JbnRlcm5hbEluZGV4KGxpc3RJbmRleCk7CisgICAgaWYgKGluZGV4
ID09IC0xKQogICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7CiAKLSAgICBpZiAobV9zZXBhcmF0
b3JJbmRleCAhPSAtMSAmJiBsaXN0SW5kZXggPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9zZXBh
cmF0b3JJbmRleCkpCi0gICAgICAgIC0tbGlzdEluZGV4OwotCi0gICAgLy8gRklYTUU6IE1vZGlm
eSB0aGUgUG9wdXBNZW51IHRvIGFkZCB0aGUgbGFiZWwgaW4gZ3JheSByaWdodC1qdXN0aWZpZWQu
Ci0gICAgQVNTRVJUKGxpc3RJbmRleCA8IG1fbmFtZXMuc2l6ZSgpKTsKKyAgICBBU1NFUlQoaW5k
ZXggPCBtX25hbWVzLnNpemUoKSk7CisgICAgcmV0dXJuIG1fbmFtZXNbaW5kZXhdOworfQogCi0g
ICAgV2ViU3RyaW5nIHN1Z2dlc3Rpb24gPSBtX25hbWVzW2xpc3RJbmRleF07Ci0gICAgaWYgKG1f
bGFiZWxzW2xpc3RJbmRleF0uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gc3VnZ2VzdGlvbjsK
K1dlYlN0cmluZyBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0TGFiZWwodW5zaWduZWQgbGlz
dEluZGV4KSBjb25zdAoreworICAgIHVuc2lnbmVkIGluZGV4ID0gY29udmVydExpc3RJbmRleFRv
SW50ZXJuYWxJbmRleChsaXN0SW5kZXgpOworICAgIGlmIChpbmRleCA9PSAtMSkKKyAgICAgICAg
cmV0dXJuIFdlYlN0cmluZygpOwogCi0gICAgcmV0dXJuIHN1Z2dlc3Rpb24gKyBTdHJpbmcoIiAo
IikgKyBtX2xhYmVsc1tsaXN0SW5kZXhdICsgU3RyaW5nKCIpIik7CisgICAgQVNTRVJUKGluZGV4
IDwgbV9sYWJlbHMuc2l6ZSgpKTsKKyAgICByZXR1cm4gbV9sYWJlbHNbaW5kZXhdOwogfQogCiB2
b2lkIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpyZW1vdmVTdWdnZXN0aW9uQXRJbmRleCh1bnNp
Z25lZCBsaXN0SW5kZXgpCkBAIC0xNTAsNiArMTUyLDExIEBAIFN0cmluZyBBdXRvRmlsbFBvcHVw
TWVudUNsaWVudDo6aXRlbVRleHQKICAgICByZXR1cm4gZ2V0U3VnZ2VzdGlvbihsaXN0SW5kZXgp
OwogfQogCitTdHJpbmcgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6Oml0ZW1MYWJlbCh1bnNpZ25l
ZCBsaXN0SW5kZXgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdldExhYmVsKGxpc3RJbmRleCk7Cit9
CisKIFBvcHVwTWVudVN0eWxlIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjppdGVtU3R5bGUodW5z
aWduZWQgbGlzdEluZGV4KSBjb25zdAogewogICAgIHJldHVybiAqbV9zdHlsZTsKQEAgLTI3MCw2
ICsyNzcsMTUgQEAgdm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6c2V0U3VnZ2VzdAogICAg
ICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTsKIH0KIAordW5zaWduZWQgQXV0b0ZpbGxQb3B1cE1l
bnVDbGllbnQ6OmNvbnZlcnRMaXN0SW5kZXhUb0ludGVybmFsSW5kZXgodW5zaWduZWQgbGlzdElu
ZGV4KSBjb25zdCB7CisgICAgaWYgKGxpc3RJbmRleCA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
bV9zZXBhcmF0b3JJbmRleCkpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlmIChtX3NlcGFy
YXRvckluZGV4ID09IC0xIHx8IGxpc3RJbmRleCA8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3Nl
cGFyYXRvckluZGV4KSkKKyAgICAgICAgcmV0dXJuIGxpc3RJbmRleDsKKyAgICByZXR1cm4gbGlz
dEluZGV4IC0gMTsKK30KKwogV2ViVmlld0ltcGwqIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50Ojpn
ZXRXZWJWaWV3KCkgY29uc3QKIHsKICAgICBGcmFtZSogZnJhbWUgPSBtX3RleHRGaWVsZC0+ZG9j
dW1lbnQoKS0+ZnJhbWUoKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1
cE1lbnVDbGllbnQuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0Zp
bGxQb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24gNjI5NjApCisrKyBXZWJLaXQvY2hyb21pdW0v
c3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3
LDkgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMgdGhlIHN1Z2dlc3Rpb24gYXQgfGxpc3RJbmRl
eHwuCiAgICAgdmlydHVhbCBXZWJTdHJpbmcgZ2V0U3VnZ2VzdGlvbih1bnNpZ25lZCBsaXN0SW5k
ZXgpIGNvbnN0OwogCisgICAgLy8gUmV0dXJucyB0aGUgbGFiZWwgYXQgfGxpc3RJbmRleHwuCisg
ICAgdmlydHVhbCBXZWJTdHJpbmcgZ2V0TGFiZWwodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsK
KyAgICAKICAgICAvLyBSZW1vdmVzIHRoZSBzdWdnZXN0aW9uIGF0IHxsaXN0SW5kZXh8IGZyb20g
dGhlIGxpc3Qgb2Ygc3VnZ2VzdGlvbnMuCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVN1Z2dlc3Rp
b25BdEluZGV4KHVuc2lnbmVkIGxpc3RJbmRleCk7CiAKQEAgLTY1LDYgKzY4LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2lnbmVkLCBib29sKTsKICAg
ICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2xlYXJlZCgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6
U3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBX
ZWJDb3JlOjpTdHJpbmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAg
dmlydHVhbCBXZWJDb3JlOjpTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQgbGFzdEluZGV4KSBj
b25zdCB7IHJldHVybiBXZWJDb3JlOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgV2ViQ29yZTo6
U3RyaW5nIGl0ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1bnNpZ25lZCBsYXN0SW5kZXgpIGNvbnN0IHsg
cmV0dXJuIFdlYkNvcmU6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCBib29sIGl0ZW1Jc0VuYWJs
ZWQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkBAIC0xMDQsNiAr
MTA4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEF1dG9jb21wbGV0ZU1vZGUoYm9vbCBlbmFi
bGVkKSB7IG1fQXV0b2NvbXBsZXRlTW9kZUVuYWJsZWQgPSBlbmFibGVkOyB9CiAKIHByaXZhdGU6
CisgICAgLy8gQ29udmVydCB0aGUgc3BlY2lmaWVkIGluZGV4IGZyb20gYW4gaW5kZXggaW50byB0
aGUgdmlzaWJsZSBsaXN0ICh3aGljaCBtaWdodAorICAgIC8vIGluY2x1ZGUgYSBzZXBhcmF0b3Ig
ZW50cnkpIHRvIGFuIGluZGV4IHRvIHxtX25hbWVzfCBhbmQgfG1fbGFiZWxzfC4KKyAgICAvLyBS
ZXR1cm5zIC0xIGlmIHRoZSBnaXZlbiBpbmRleCBwb2ludHMgdG8gdGhlIHNlcGFyYXRvci4KKyAg
ICB1bnNpZ25lZCBjb252ZXJ0TGlzdEluZGV4VG9JbnRlcm5hbEluZGV4KHVuc2lnbmVkKSBjb25z
dDsKICAgICBXZWJWaWV3SW1wbCogZ2V0V2ViVmlldygpIGNvbnN0OwogICAgIFdlYkNvcmU6OkhU
TUxJbnB1dEVsZW1lbnQqIGdldFRleHRGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dEZpZWxk
LmdldCgpOyB9CiAgICAgV2ViQ29yZTo6UmVuZGVyU3R5bGUqIHRleHRGaWVsZFN0eWxlKCkgY29u
c3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61115</attachid>
            <date>2010-07-09 16:58:49 -0700</date>
            <delta_ts>2010-07-12 10:58:54 -0700</delta_ts>
            <desc>Fixed style issues</desc>
            <filename>popup_label.patch</filename>
            <type>text/plain</type>
            <size>12653</size>
            <attacher name="Jay Civelli">jcivelli</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDYyOTkyKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNy0wOSAgSmF5IENpdmVsbGkgIDxqY2l2ZWxsaUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkaW5nIHJpZ2h0IGFsaWduZWQgdGV4dCBjYWxsZWQgbGFiZWxzIHRvIFBvcHVwTWVudXMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTk2NAor
CisgICAgICAgICogcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9w
dXBMaXN0Qm94OjpwYWludFJvdyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjppdGVtTGFiZWwpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtTGFiZWwpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDoKKwogMjAxMC0wNy0wOSAgQW5keSBFc3RlcyAg
PGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRlbGUgUGV0ZXJzb24u
CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24gNjI5OTIpCisr
KyBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00
Miw2ICs0Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2xlYXJlZCgp
ID0gMDsKIAogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkg
Y29uc3QgPSAwOworICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0SW5k
ZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVG9vbFRpcCh1bnNpZ25lZCBs
aXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtQWNjZXNzaWJpbGl0
eVRleHQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGl0
ZW1Jc0VuYWJsZWQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdCA9IDA7CkluZGV4OiBXZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcA0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCShyZXZpc2lv
biA2Mjk5MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MCw2ICs3MCw3IEBAIHR5cGVkZWYgdW5zaWduZWQgbG9u
ZyBsb25nIFRpbWVTdGFtcDsKIHN0YXRpYyBjb25zdCBpbnQga01heFZpc2libGVSb3dzID0gMjA7
CiBzdGF0aWMgY29uc3QgaW50IGtNYXhIZWlnaHQgPSA1MDA7CiBzdGF0aWMgY29uc3QgaW50IGtC
b3JkZXJTaXplID0gMTsKK3N0YXRpYyBjb25zdCBpbnQga1RleHRUb0xhYmVsUGFkZGluZyA9IDEw
Owogc3RhdGljIGNvbnN0IFRpbWVTdGFtcCBrVHlwZUFoZWFkVGltZW91dE1zID0gMTAwMDsKIAog
Ly8gVGhlIHNldHRpbmdzIHVzZWQgZm9yIHRoZSBkcm9wIGRvd24gbWVudS4KQEAgLTkxNywxMCAr
OTE4LDIzIEBAIHZvaWQgUG9wdXBMaXN0Qm94OjpwYWludFJvdyhHcmFwaGljc0NvbnQKICAgICB9
CiAgICAgLy8gUHJlcGFyZSB0ZXh0IHRvIGJlIGRyYXduLgogICAgIFN0cmluZyBpdGVtVGV4dCA9
IG1fcG9wdXBDbGllbnQtPml0ZW1UZXh0KHJvd0luZGV4KTsKLSAgICBpZiAobV9zZXR0aW5ncy5y
ZXN0cmljdFdpZHRoT2ZMaXN0Qm94KSAgLy8gdHJ1bmNhdGUgc3RyaW5nIHRvIGZpdCBpbi4KLSAg
ICAgICAgaXRlbVRleHQgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoaXRlbVRleHQs
IG1heFdpZHRoLCBpdGVtRm9udCk7Ci0gICAgdW5zaWduZWQgbGVuZ3RoID0gaXRlbVRleHQubGVu
Z3RoKCk7Ci0gICAgY29uc3QgVUNoYXIqIHN0ciA9IGl0ZW1UZXh0LmNoYXJhY3RlcnMoKTsKKyAg
ICBTdHJpbmcgaXRlbUxhYmVsID0gbV9wb3B1cENsaWVudC0+aXRlbUxhYmVsKHJvd0luZGV4KTsK
KyAgICBpZiAobV9zZXR0aW5ncy5yZXN0cmljdFdpZHRoT2ZMaXN0Qm94KSB7IC8vIFRydW5jYXRl
IHN0cmluZ3MgdG8gZml0IGluLgorICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGxlZnRUcnVu
Y2F0ZSBmb3IgdGhlIHJ0bCBjYXNlLgorICAgICAgICAvLyBTdHJpbmdUcnVuY2F0b3I6OmxlZnRU
cnVuY2F0ZSB3b3VsZCBoYXZlIHRvIGJlIGltcGxlbWVudGVkLgorICAgICAgICBTdHJpbmcgc3Ry
ID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGl0ZW1UZXh0LCBtYXhXaWR0aCwgaXRl
bUZvbnQpOworICAgICAgICBpZiAoc3RyICE9IGl0ZW1UZXh0KSB7CisgICAgICAgICAgICBpdGVt
VGV4dCA9IHN0cjsKKyAgICAgICAgICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIGxhYmVsLCB3ZSBh
bHJlYWR5IGRvbid0IGhhdmUgZW5vdWdoIHJvb20gZm9yIHRoZQorICAgICAgICAgICAgLy8gaXRl
bSB0ZXh0LgorICAgICAgICAgICAgaXRlbUxhYmVsID0gIiI7CisgICAgICAgIH0gZWxzZSBpZiAo
IWl0ZW1MYWJlbC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGludCBhdmFpbGFibGVXaWR0aCA9
IG1heFdpZHRoIC0ga1RleHRUb0xhYmVsUGFkZGluZyAtCisgICAgICAgICAgICAgICAgU3RyaW5n
VHJ1bmNhdG9yOjp3aWR0aChpdGVtVGV4dCwgaXRlbUZvbnQpOworICAgICAgICAgICAgaXRlbUxh
YmVsID0gU3RyaW5nVHJ1bmNhdG9yOjpyaWdodFRydW5jYXRlKGl0ZW1MYWJlbCwgYXZhaWxhYmxl
V2lkdGgsIGl0ZW1Gb250KTsKKyAgICAgICAgfQorICAgIH0KKwogICAgIC8vIFByZXBhcmUgdGhl
IGRpcmVjdGlvbmFsaXR5IHRvIGRyYXcgdGV4dC4KICAgICBib29sIHJ0bCA9IGZhbHNlOwogICAg
IGlmIChtX3NldHRpbmdzLml0ZW1UZXh0RGlyZWN0aW9uYWxpdHlIaW50ID09IFBvcHVwQ29udGFp
bmVyU2V0dGluZ3M6OkRPTUVsZW1lbnREaXJlY3Rpb24pCkBAIC05MjgsMTQgKzk0MiwzMyBAQCB2
b2lkIFBvcHVwTGlzdEJveDo6cGFpbnRSb3coR3JhcGhpY3NDb250CiAgICAgZWxzZSBpZiAobV9z
ZXR0aW5ncy5pdGVtVGV4dERpcmVjdGlvbmFsaXR5SGludCA9PQogICAgICAgICAgICAgIFBvcHVw
Q29udGFpbmVyU2V0dGluZ3M6OkZpcnN0U3Ryb25nRGlyZWN0aW9uYWxDaGFyYWN0ZXJEaXJlY3Rp
b24pCiAgICAgICAgIHJ0bCA9IGl0ZW1UZXh0LmRlZmF1bHRXcml0aW5nRGlyZWN0aW9uKCkgPT0g
V1RGOjpVbmljb2RlOjpSaWdodFRvTGVmdDsKLSAgICBUZXh0UnVuIHRleHRSdW4oc3RyLCBsZW5n
dGgsIGZhbHNlLCAwLCAwLCBydGwpOworICAgIFRleHRSdW4gdGV4dFJ1bihpdGVtVGV4dC5jaGFy
YWN0ZXJzKCksIGl0ZW1UZXh0Lmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgcnRsKTsKICAgICAvLyBJ
ZiB0aGUgdGV4dCBpcyByaWdodC10by1sZWZ0LCBtYWtlIGl0IHJpZ2h0LWFsaWduZWQgYnkgYWRq
dXN0aW5nIGl0cwogICAgIC8vIGJlZ2lubmluZyBwb3NpdGlvbi4KICAgICBpZiAocmlnaHRBbGln
bmVkKQogICAgICAgICB0ZXh0WCArPSBtYXhXaWR0aCAtIGl0ZW1Gb250LndpZHRoKHRleHRSdW4p
OworCiAgICAgLy8gRHJhdyB0aGUgaXRlbSB0ZXh0LgogICAgIGludCB0ZXh0WSA9IHJvd1JlY3Qu
eSgpICsgaXRlbUZvbnQuYXNjZW50KCkgKyAocm93UmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250Lmhl
aWdodCgpKSAvIDI7CiAgICAgZ2MtPmRyYXdCaWRpVGV4dChpdGVtRm9udCwgdGV4dFJ1biwgSW50
UG9pbnQodGV4dFgsIHRleHRZKSk7CisKKyAgICAvLyBEcmF3IHRoZSB0aGUgbGFiZWwgaWYgYXBw
bGljYWJsZS4KKyAgICBpZiAoaXRlbUxhYmVsLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIFRleHRSdW4gbGFiZWxUZXh0UnVuKGl0ZW1MYWJlbC5jaGFyYWN0ZXJzKCksIGl0ZW1MYWJl
bC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIHJ0bCk7CisgICAgaWYgKHJpZ2h0QWxpZ25lZCkKKyAg
ICAgICAgdGV4dFggPSBtYXgoMCwgbV9wb3B1cENsaWVudC0+Y2xpZW50UGFkZGluZ0xlZnQoKSAt
IG1fcG9wdXBDbGllbnQtPmNsaWVudEluc2V0TGVmdCgpKTsKKyAgICBlbHNlIHsKKyAgICAgICAg
Ly8gV2UgYXJlIHVzaW5nIHRoZSBsZWZ0IHBhZGRpbmcgYXMgdGhlIHJpZ2h0IHBhZGRpbmcgaW5j
bHVkZXMgcm9vbSBmb3IgdGhlIHNjcm9sbC1iYXIgd2hpY2gKKyAgICAgICAgLy8gZG9lcyBub3Qg
c2hvdyBpbiB0aGlzIGNhc2UuCisgICAgICAgIGludCByaWdodFBhZGRpbmcgPSBtYXgoMCwgbV9w
b3B1cENsaWVudC0+Y2xpZW50UGFkZGluZ0xlZnQoKSAtIG1fcG9wdXBDbGllbnQtPmNsaWVudElu
c2V0TGVmdCgpKTsKKyAgICAgICAgdGV4dFggPSByb3dSZWN0LndpZHRoKCkgLSByaWdodFBhZGRp
bmcgLSBpdGVtRm9udC53aWR0aChsYWJlbFRleHRSdW4pOworICAgIH0KKworICAgIC8vIEZJWE1F
OiBmb3Igbm93IHRoZSBsYWJlbCBjb2xvciBpcyBoYXJkLWNvZGVkLiBJdCBzaG91bGQgYmUgYWRk
ZWQgdG8gdGhlCisgICAgLy8gICAgICAgIFBvcHVwTWVudVN0eWxlLgorICAgIGdjLT5zZXRGaWxs
Q29sb3IoQ29sb3IoMTE1LCAxMTUsIDExNSksIERldmljZUNvbG9yU3BhY2UpOworICAgIGdjLT5k
cmF3QmlkaVRleHQoaXRlbUZvbnQsIGxhYmVsVGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZ
KSk7CiB9CiAKIEZvbnQgUG9wdXBMaXN0Qm94OjpnZXRSb3dGb250KGludCByb3dJbmRleCkKSW5k
ZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcA0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkocmV2aXNpb24gNjI5OTIpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM1MCw2ICszNTAsMTEgQEAgU3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVtVGV4dCh1bnNpZ25l
ZAogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVt
TGFiZWwodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdAoreworICAgIHJldHVybiBTdHJpbmcoKTsK
K30KKwogU3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWdu
ZWQgbGlzdEluZGV4KSBjb25zdAogewogICAgIC8vIEFsbG93IHRoZSBhY2Nlc3NpYmxlIG5hbWUg
YmUgY2hhbmdlZCBpZiBuZWNlc3NhcnkuCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZW51TGlzdC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxp
c3QuaAkocmV2aXNpb24gNjI5OTIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlz
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw2ICs4Miw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBQ
b3B1cE1lbnVDbGllbnQgbWV0aG9kcwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2ln
bmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgaXRlbUxhYmVsKHVuc2ln
bmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5z
aWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtQWNjZXNzaWJp
bGl0eVRleHQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXRl
bUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcA0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHJldmlzaW9u
IDYyOTkyKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODc2LDYgKzg3NiwxMSBAQCBTdHJpbmcgUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtCiAgICAgcmV0dXJuIG1fcmVjZW50U2VhcmNoZXNbbGlz
dEluZGV4IC0gMV07CiB9CiAKK1N0cmluZyBSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmU6Oml0
ZW1MYWJlbCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFN0cmluZygp
OworfQorCiBib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aXRlbUlzRW5hYmxlZCh1
bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7CiAgICAgIGlmICghbGlzdEluZGV4IHx8IGl0ZW1J
c1NlcGFyYXRvcihsaXN0SW5kZXgpKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lLmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAkocmV2aXNpb24gNjI5OTIpCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTE1LDYgKzExNSw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNo
YW5nZWQodW5zaWduZWQsIGJvb2wpIHt9CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFy
ZWQoKSB7fQogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkg
Y29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkg
Y29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQpIGNvbnN0IHsg
cmV0dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbUFjY2Vzc2liaWxpdHlU
ZXh0KHVuc2lnbmVkKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgYm9v
bCBpdGVtSXNFbmFibGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CkluZGV4OiBXZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwkocmV2aXNpb24gNjI5OTIpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTAtMDctMDkgIEpheSBDaXZlbGxpICA8amNp
dmVsbGlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2luZyB0aGUgYXV0b2ZpbGwgcG9wdXAgdXNlIGxhYmVscyB0byBzaG93
IHRoZSBsYWJlbAorICAgICAgICBhc3NvY2lhdGVkIHdpdGggYW4gaXRlbS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQxOTY0CisKKyAgICAgICAgKiBz
cmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmls
bFBvcHVwTWVudUNsaWVudDo6Z2V0U3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkF1dG9G
aWxsUG9wdXBNZW51Q2xpZW50OjpnZXRMYWJlbCk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9GaWxs
UG9wdXBNZW51Q2xpZW50OjppdGVtTGFiZWwpOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmlsbFBv
cHVwTWVudUNsaWVudDo6c2V0U3VnZ2VzdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmls
bFBvcHVwTWVudUNsaWVudDo6Y29udmVydExpc3RJbmRleFRvSW50ZXJuYWxJbmRleCk6CisgICAg
ICAgICogc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50Lmg6CisKIDIwMTAtMDctMDkgIE1pY2hh
ZWwgTm9yZG1hbiAgPG1pY2hhZWxuQGdvb2dsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RHVtaXRydSBEYW5pbGl1Yy4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1
cE1lbnVDbGllbnQuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRv
RmlsbFBvcHVwTWVudUNsaWVudC5jcHAJKHJldmlzaW9uIDYyOTkyKQorKysgV2ViS2l0L2Nocm9t
aXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2
LDIwICs2NiwyMiBAQCB1bnNpZ25lZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0U3VnCiAK
IFdlYlN0cmluZyBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0U3VnZ2VzdGlvbih1bnNpZ25l
ZCBsaXN0SW5kZXgpIGNvbnN0CiB7Ci0gICAgaWYgKGxpc3RJbmRleCA9PSBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4obV9zZXBhcmF0b3JJbmRleCkpCisgICAgdW5zaWduZWQgaW5kZXggPSBjb252ZXJ0
TGlzdEluZGV4VG9JbnRlcm5hbEluZGV4KGxpc3RJbmRleCk7CisgICAgaWYgKGluZGV4ID09IC0x
KQogICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7CiAKLSAgICBpZiAobV9zZXBhcmF0b3JJbmRl
eCAhPSAtMSAmJiBsaXN0SW5kZXggPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9zZXBhcmF0b3JJ
bmRleCkpCi0gICAgICAgIC0tbGlzdEluZGV4OwotCi0gICAgLy8gRklYTUU6IE1vZGlmeSB0aGUg
UG9wdXBNZW51IHRvIGFkZCB0aGUgbGFiZWwgaW4gZ3JheSByaWdodC1qdXN0aWZpZWQuCi0gICAg
QVNTRVJUKGxpc3RJbmRleCA8IG1fbmFtZXMuc2l6ZSgpKTsKKyAgICBBU1NFUlQoaW5kZXggPCBt
X25hbWVzLnNpemUoKSk7CisgICAgcmV0dXJuIG1fbmFtZXNbaW5kZXhdOworfQogCi0gICAgV2Vi
U3RyaW5nIHN1Z2dlc3Rpb24gPSBtX25hbWVzW2xpc3RJbmRleF07Ci0gICAgaWYgKG1fbGFiZWxz
W2xpc3RJbmRleF0uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gc3VnZ2VzdGlvbjsKK1dlYlN0
cmluZyBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0TGFiZWwodW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdAoreworICAgIHVuc2lnbmVkIGluZGV4ID0gY29udmVydExpc3RJbmRleFRvSW50ZXJu
YWxJbmRleChsaXN0SW5kZXgpOworICAgIGlmIChpbmRleCA9PSAtMSkKKyAgICAgICAgcmV0dXJu
IFdlYlN0cmluZygpOwogCi0gICAgcmV0dXJuIHN1Z2dlc3Rpb24gKyBTdHJpbmcoIiAoIikgKyBt
X2xhYmVsc1tsaXN0SW5kZXhdICsgU3RyaW5nKCIpIik7CisgICAgQVNTRVJUKGluZGV4IDwgbV9s
YWJlbHMuc2l6ZSgpKTsKKyAgICByZXR1cm4gbV9sYWJlbHNbaW5kZXhdOwogfQogCiB2b2lkIEF1
dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpyZW1vdmVTdWdnZXN0aW9uQXRJbmRleCh1bnNpZ25lZCBs
aXN0SW5kZXgpCkBAIC0xNTAsNiArMTUyLDExIEBAIFN0cmluZyBBdXRvRmlsbFBvcHVwTWVudUNs
aWVudDo6aXRlbVRleHQKICAgICByZXR1cm4gZ2V0U3VnZ2VzdGlvbihsaXN0SW5kZXgpOwogfQog
CitTdHJpbmcgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6Oml0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0
SW5kZXgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGdldExhYmVsKGxpc3RJbmRleCk7Cit9CisKIFBv
cHVwTWVudVN0eWxlIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjppdGVtU3R5bGUodW5zaWduZWQg
bGlzdEluZGV4KSBjb25zdAogewogICAgIHJldHVybiAqbV9zdHlsZTsKQEAgLTI3MCw2ICsyNzcs
MTYgQEAgdm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6c2V0U3VnZ2VzdAogICAgICAgICBz
ZXRTZWxlY3RlZEluZGV4KC0xKTsKIH0KIAordW5zaWduZWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGll
bnQ6OmNvbnZlcnRMaXN0SW5kZXhUb0ludGVybmFsSW5kZXgodW5zaWduZWQgbGlzdEluZGV4KSBj
b25zdAoreworICAgIGlmIChsaXN0SW5kZXggPT0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KG1fc2Vw
YXJhdG9ySW5kZXgpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAobV9zZXBhcmF0b3JJ
bmRleCA9PSAtMSB8fCBsaXN0SW5kZXggPCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9zZXBhcmF0
b3JJbmRleCkpCisgICAgICAgIHJldHVybiBsaXN0SW5kZXg7CisgICAgcmV0dXJuIGxpc3RJbmRl
eCAtIDE7Cit9CisKIFdlYlZpZXdJbXBsKiBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0V2Vi
VmlldygpIGNvbnN0CiB7CiAgICAgRnJhbWUqIGZyYW1lID0gbV90ZXh0RmllbGQtPmRvY3VtZW50
KCktPmZyYW1lKCk7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51
Q2xpZW50LmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9w
dXBNZW51Q2xpZW50LmgJKHJldmlzaW9uIDYyOTkyKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9B
dXRvRmlsbFBvcHVwTWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw5IEBA
IHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBzdWdnZXN0aW9uIGF0IHxsaXN0SW5kZXh8Lgog
ICAgIHZpcnR1YWwgV2ViU3RyaW5nIGdldFN1Z2dlc3Rpb24odW5zaWduZWQgbGlzdEluZGV4KSBj
b25zdDsKIAorICAgIC8vIFJldHVybnMgdGhlIGxhYmVsIGF0IHxsaXN0SW5kZXh8LgorICAgIHZp
cnR1YWwgV2ViU3RyaW5nIGdldExhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAg
CiAgICAgLy8gUmVtb3ZlcyB0aGUgc3VnZ2VzdGlvbiBhdCB8bGlzdEluZGV4fCBmcm9tIHRoZSBs
aXN0IG9mIHN1Z2dlc3Rpb25zLgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTdWdnZXN0aW9uQXRJ
bmRleCh1bnNpZ25lZCBsaXN0SW5kZXgpOwogCkBAIC02NSw2ICs2OCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZCh1bnNpZ25lZCwgYm9vbCk7CiAgICAgdmly
dHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFyZWQoKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmlu
ZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViQ29y
ZTo6U3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1Ub29sVGlwKHVuc2lnbmVkIGxhc3RJbmRleCkgY29uc3Qg
eyByZXR1cm4gV2ViQ29yZTo6U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmlu
ZyBpdGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWduZWQgbGFzdEluZGV4KSBjb25zdCB7IHJldHVy
biBXZWJDb3JlOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpdGVtSXNFbmFibGVkKHVu
c2lnbmVkIGxpc3RJbmRleCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtMTA0LDYgKzEwOCwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdXRvY29tcGxldGVNb2RlKGJvb2wgZW5hYmxlZCkg
eyBtX0F1dG9jb21wbGV0ZU1vZGVFbmFibGVkID0gZW5hYmxlZDsgfQogCiBwcml2YXRlOgorICAg
IC8vIENvbnZlcnQgdGhlIHNwZWNpZmllZCBpbmRleCBmcm9tIGFuIGluZGV4IGludG8gdGhlIHZp
c2libGUgbGlzdCAod2hpY2ggbWlnaHQKKyAgICAvLyBpbmNsdWRlIGEgc2VwYXJhdG9yIGVudHJ5
KSB0byBhbiBpbmRleCB0byB8bV9uYW1lc3wgYW5kIHxtX2xhYmVsc3wuCisgICAgLy8gUmV0dXJu
cyAtMSBpZiB0aGUgZ2l2ZW4gaW5kZXggcG9pbnRzIHRvIHRoZSBzZXBhcmF0b3IuCisgICAgdW5z
aWduZWQgY29udmVydExpc3RJbmRleFRvSW50ZXJuYWxJbmRleCh1bnNpZ25lZCkgY29uc3Q7CiAg
ICAgV2ViVmlld0ltcGwqIGdldFdlYlZpZXcoKSBjb25zdDsKICAgICBXZWJDb3JlOjpIVE1MSW5w
dXRFbGVtZW50KiBnZXRUZXh0RmllbGQoKSBjb25zdCB7IHJldHVybiBtX3RleHRGaWVsZC5nZXQo
KTsgfQogICAgIFdlYkNvcmU6OlJlbmRlclN0eWxlKiB0ZXh0RmllbGRTdHlsZSgpIGNvbnN0Owo=
</data>
<flag name="review"
          id="49094"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61245</attachid>
            <date>2010-07-12 10:58:54 -0700</date>
            <delta_ts>2010-07-12 17:16:54 -0700</delta_ts>
            <desc>Fixing Mac build</desc>
            <filename>popup_label.patch</filename>
            <type>text/plain</type>
            <size>12637</size>
            <attacher name="Jay Civelli">jcivelli</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDYzMDk4KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMCBAQAorMjAxMC0wNy0wOSAgSmF5IENpdmVsbGkgIDxqY2l2ZWxsaUBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkaW5nIHJpZ2h0IGFsaWduZWQgdGV4dCBjYWxsZWQgbGFiZWxzIHRvIFBvcHVwTWVudXMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MTk2NAor
CisgICAgICAgICogcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50Lmg6CisgICAgICAgICogcGxhdGZv
cm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UG9w
dXBMaXN0Qm94OjpwYWludFJvdyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1lbnVMaXN0OjppdGVtTGFiZWwpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGV4dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtTGFiZWwpOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaDoKKwogMjAxMC0wNy0wOSAgQWxleGV5IFByb3Nr
dXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgNCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCShyZXZpc2lvbiA2MzA5OCkK
KysrIFdlYkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQyLDYgKzQyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DbGVhcmVk
KCkgPSAwOwogCiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRleHQodW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTdHJpbmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJ
bmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1Ub29sVGlwKHVuc2lnbmVk
IGxpc3RJbmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1BY2Nlc3NpYmls
aXR5VGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
aXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKSW5kZXg6IFdlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHJldmlz
aW9uIDYzMDk4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1
bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTcwLDYgKzcwLDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBs
b25nIGxvbmcgVGltZVN0YW1wOwogc3RhdGljIGNvbnN0IGludCBrTWF4VmlzaWJsZVJvd3MgPSAy
MDsKIHN0YXRpYyBjb25zdCBpbnQga01heEhlaWdodCA9IDUwMDsKIHN0YXRpYyBjb25zdCBpbnQg
a0JvcmRlclNpemUgPSAxOworc3RhdGljIGNvbnN0IGludCBrVGV4dFRvTGFiZWxQYWRkaW5nID0g
MTA7CiBzdGF0aWMgY29uc3QgVGltZVN0YW1wIGtUeXBlQWhlYWRUaW1lb3V0TXMgPSAxMDAwOwog
CiAvLyBUaGUgc2V0dGluZ3MgdXNlZCBmb3IgdGhlIGRyb3AgZG93biBtZW51LgpAQCAtOTE3LDEw
ICs5MTgsMjMgQEAgdm9pZCBQb3B1cExpc3RCb3g6OnBhaW50Um93KEdyYXBoaWNzQ29udAogICAg
IH0KICAgICAvLyBQcmVwYXJlIHRleHQgdG8gYmUgZHJhd24uCiAgICAgU3RyaW5nIGl0ZW1UZXh0
ID0gbV9wb3B1cENsaWVudC0+aXRlbVRleHQocm93SW5kZXgpOwotICAgIGlmIChtX3NldHRpbmdz
LnJlc3RyaWN0V2lkdGhPZkxpc3RCb3gpICAvLyB0cnVuY2F0ZSBzdHJpbmcgdG8gZml0IGluLgot
ICAgICAgICBpdGVtVGV4dCA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShpdGVtVGV4
dCwgbWF4V2lkdGgsIGl0ZW1Gb250KTsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSBpdGVtVGV4dC5s
ZW5ndGgoKTsKLSAgICBjb25zdCBVQ2hhciogc3RyID0gaXRlbVRleHQuY2hhcmFjdGVycygpOwor
ICAgIFN0cmluZyBpdGVtTGFiZWwgPSBtX3BvcHVwQ2xpZW50LT5pdGVtTGFiZWwocm93SW5kZXgp
OworICAgIGlmIChtX3NldHRpbmdzLnJlc3RyaWN0V2lkdGhPZkxpc3RCb3gpIHsgLy8gVHJ1bmNh
dGUgc3RyaW5ncyB0byBmaXQgaW4uCisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbGVmdFRy
dW5jYXRlIGZvciB0aGUgcnRsIGNhc2UuCisgICAgICAgIC8vIFN0cmluZ1RydW5jYXRvcjo6bGVm
dFRydW5jYXRlIHdvdWxkIGhhdmUgdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgICAgIFN0cmluZyBz
dHIgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoaXRlbVRleHQsIG1heFdpZHRoLCBp
dGVtRm9udCk7CisgICAgICAgIGlmIChzdHIgIT0gaXRlbVRleHQpIHsKKyAgICAgICAgICAgIGl0
ZW1UZXh0ID0gc3RyOworICAgICAgICAgICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgbGFiZWwsIHdl
IGFscmVhZHkgZG9uJ3QgaGF2ZSBlbm91Z2ggcm9vbSBmb3IgdGhlCisgICAgICAgICAgICAvLyBp
dGVtIHRleHQuCisgICAgICAgICAgICBpdGVtTGFiZWwgPSAiIjsKKyAgICAgICAgfSBlbHNlIGlm
ICghaXRlbUxhYmVsLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgaW50IGF2YWlsYWJsZVdpZHRo
ID0gbWF4V2lkdGggLSBrVGV4dFRvTGFiZWxQYWRkaW5nIC0KKyAgICAgICAgICAgICAgICBTdHJp
bmdUcnVuY2F0b3I6OndpZHRoKGl0ZW1UZXh0LCBpdGVtRm9udCk7CisgICAgICAgICAgICBpdGVt
TGFiZWwgPSBTdHJpbmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoaXRlbUxhYmVsLCBhdmFpbGFi
bGVXaWR0aCwgaXRlbUZvbnQpOworICAgICAgICB9CisgICAgfQorCiAgICAgLy8gUHJlcGFyZSB0
aGUgZGlyZWN0aW9uYWxpdHkgdG8gZHJhdyB0ZXh0LgogICAgIGJvb2wgcnRsID0gZmFsc2U7CiAg
ICAgaWYgKG1fc2V0dGluZ3MuaXRlbVRleHREaXJlY3Rpb25hbGl0eUhpbnQgPT0gUG9wdXBDb250
YWluZXJTZXR0aW5nczo6RE9NRWxlbWVudERpcmVjdGlvbikKQEAgLTkyOCwxNCArOTQyLDMzIEBA
IHZvaWQgUG9wdXBMaXN0Qm94OjpwYWludFJvdyhHcmFwaGljc0NvbnQKICAgICBlbHNlIGlmICht
X3NldHRpbmdzLml0ZW1UZXh0RGlyZWN0aW9uYWxpdHlIaW50ID09CiAgICAgICAgICAgICAgUG9w
dXBDb250YWluZXJTZXR0aW5nczo6Rmlyc3RTdHJvbmdEaXJlY3Rpb25hbENoYXJhY3RlckRpcmVj
dGlvbikKICAgICAgICAgcnRsID0gaXRlbVRleHQuZGVmYXVsdFdyaXRpbmdEaXJlY3Rpb24oKSA9
PSBXVEY6OlVuaWNvZGU6OlJpZ2h0VG9MZWZ0OwotICAgIFRleHRSdW4gdGV4dFJ1bihzdHIsIGxl
bmd0aCwgZmFsc2UsIDAsIDAsIHJ0bCk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKGl0ZW1UZXh0LmNo
YXJhY3RlcnMoKSwgaXRlbVRleHQubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBydGwpOwogICAgIC8v
IElmIHRoZSB0ZXh0IGlzIHJpZ2h0LXRvLWxlZnQsIG1ha2UgaXQgcmlnaHQtYWxpZ25lZCBieSBh
ZGp1c3RpbmcgaXRzCiAgICAgLy8gYmVnaW5uaW5nIHBvc2l0aW9uLgogICAgIGlmIChyaWdodEFs
aWduZWQpCiAgICAgICAgIHRleHRYICs9IG1heFdpZHRoIC0gaXRlbUZvbnQud2lkdGgodGV4dFJ1
bik7CisKICAgICAvLyBEcmF3IHRoZSBpdGVtIHRleHQuCiAgICAgaW50IHRleHRZID0gcm93UmVj
dC55KCkgKyBpdGVtRm9udC5hc2NlbnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQu
aGVpZ2h0KCkpIC8gMjsKICAgICBnYy0+ZHJhd0JpZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJ
bnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKKworICAgIC8vIERyYXcgdGhlIHRoZSBsYWJlbCBpZiBh
cHBsaWNhYmxlLgorICAgIGlmIChpdGVtTGFiZWwuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47
CisgICAgVGV4dFJ1biBsYWJlbFRleHRSdW4oaXRlbUxhYmVsLmNoYXJhY3RlcnMoKSwgaXRlbUxh
YmVsLmxlbmd0aCgpLCBmYWxzZSwgMCwgMCwgcnRsKTsKKyAgICBpZiAocmlnaHRBbGlnbmVkKQor
ICAgICAgICB0ZXh0WCA9IG1heCgwLCBtX3BvcHVwQ2xpZW50LT5jbGllbnRQYWRkaW5nTGVmdCgp
IC0gbV9wb3B1cENsaWVudC0+Y2xpZW50SW5zZXRMZWZ0KCkpOworICAgIGVsc2UgeworICAgICAg
ICAvLyBXZSBhcmUgdXNpbmcgdGhlIGxlZnQgcGFkZGluZyBhcyB0aGUgcmlnaHQgcGFkZGluZyBp
bmNsdWRlcyByb29tIGZvciB0aGUgc2Nyb2xsLWJhciB3aGljaAorICAgICAgICAvLyBkb2VzIG5v
dCBzaG93IGluIHRoaXMgY2FzZS4KKyAgICAgICAgaW50IHJpZ2h0UGFkZGluZyA9IG1heCgwLCBt
X3BvcHVwQ2xpZW50LT5jbGllbnRQYWRkaW5nTGVmdCgpIC0gbV9wb3B1cENsaWVudC0+Y2xpZW50
SW5zZXRMZWZ0KCkpOworICAgICAgICB0ZXh0WCA9IHJvd1JlY3Qud2lkdGgoKSAtIHJpZ2h0UGFk
ZGluZyAtIGl0ZW1Gb250LndpZHRoKGxhYmVsVGV4dFJ1bik7CisgICAgfQorCisgICAgLy8gRklY
TUU6IGZvciBub3cgdGhlIGxhYmVsIGNvbG9yIGlzIGhhcmQtY29kZWQuIEl0IHNob3VsZCBiZSBh
ZGRlZCB0byB0aGUKKyAgICAvLyAgICAgICAgUG9wdXBNZW51U3R5bGUuCisgICAgZ2MtPnNldEZp
bGxDb2xvcihDb2xvcigxMTUsIDExNSwgMTE1KSwgRGV2aWNlQ29sb3JTcGFjZSk7CisgICAgZ2Mt
PmRyYXdCaWRpVGV4dChpdGVtRm9udCwgbGFiZWxUZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4
dFkpKTsKIH0KIAogRm9udCBQb3B1cExpc3RCb3g6OmdldFJvd0ZvbnQoaW50IHJvd0luZGV4KQpJ
bmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwDQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCShyZXZpc2lvbiA2MzA5OCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzUwLDYgKzM1MCwxMSBAQCBTdHJpbmcgUmVuZGVyTWVudUxpc3Q6Oml0ZW1UZXh0KHVuc2ln
bmVkCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitTdHJpbmcgUmVuZGVyTWVudUxpc3Q6Oml0
ZW1MYWJlbCh1bnNpZ25lZCkgY29uc3QKK3sKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKIFN0
cmluZyBSZW5kZXJNZW51TGlzdDo6aXRlbUFjY2Vzc2liaWxpdHlUZXh0KHVuc2lnbmVkIGxpc3RJ
bmRleCkgY29uc3QKIHsKICAgICAvLyBBbGxvdyB0aGUgYWNjZXNzaWJsZSBuYW1lIGJlIGNoYW5n
ZWQgaWYgbmVjZXNzYXJ5LgpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3Qu
aA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgJKHJl
dmlzaW9uIDYzMDk4KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAkod29y
a2luZyBjb3B5KQpAQCAtODIsNiArODIsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gUG9wdXBNZW51
Q2xpZW50IG1ldGhvZHMKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0
SW5kZXgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0
SW5kZXgpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1Ub29sVGlwKHVuc2lnbmVkIGxp
c3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbUFjY2Vzc2liaWxpdHlUZXh0
KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGl0ZW1Jc0VuYWJs
ZWQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCShyZXZpc2lvbiA2MzA5OCkK
KysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTg3Niw2ICs4NzYsMTEgQEAgU3RyaW5nIFJlbmRlclRleHRDb250cm9s
U2luZ2xlTGluZTo6aXRlbQogICAgIHJldHVybiBtX3JlY2VudFNlYXJjaGVzW2xpc3RJbmRleCAt
IDFdOwogfQogCitTdHJpbmcgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtTGFiZWwo
dW5zaWduZWQpIGNvbnN0Cit7CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCiBib29sIFJlbmRl
clRleHRDb250cm9sU2luZ2xlTGluZTo6aXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgp
IGNvbnN0CiB7CiAgICAgIGlmICghbGlzdEluZGV4IHx8IGl0ZW1Jc1NlcGFyYXRvcihsaXN0SW5k
ZXgpKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
LmgNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNp
bmdsZUxpbmUuaAkocmV2aXNpb24gNjMwOTgpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTE1LDYgKzExNSw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNoYW5nZWQodW5zaWduZWQsIGJv
b2wpIHt9CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFyZWQoKSB7fQogICAgIHZpcnR1
YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAgdmlydHVh
bCBTdHJpbmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVh
bCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9
CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbUFjY2Vzc2liaWxpdHlUZXh0KHVuc2lnbmVkKSBjb25z
dCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpdGVtSXNFbmFibGVkKHVu
c2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09DQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjMw
OTgpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTAtMDctMDkgIEpheSBDaXZlbGxpICA8amNpdmVsbGlAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2lu
ZyB0aGUgYXV0b2ZpbGwgcG9wdXAgdXNlIGxhYmVscyB0byBzaG93IHRoZSBsYWJlbAorICAgICAg
ICBhc3NvY2lhdGVkIHdpdGggYW4gaXRlbS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQxOTY0CisKKyAgICAgICAgKiBzcmMvQXV0b0ZpbGxQb3B1cE1l
bnVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6
Z2V0U3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50
OjpnZXRMYWJlbCk6CisgICAgICAgIChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50Ojpp
dGVtTGFiZWwpOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6c2V0
U3VnZ2VzdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6
Y29udmVydExpc3RJbmRleFRvSW50ZXJuYWxJbmRleCk6CisgICAgICAgICogc3JjL0F1dG9GaWxs
UG9wdXBNZW51Q2xpZW50Lmg6CisKIDIwMTAtMDctMTIgIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2
bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBZdXJ5IFNlbWlraGF0c2t5
LgpJbmRleDogV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5jcHAN
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCi0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xp
ZW50LmNwcAkocmV2aXNpb24gNjMwOTgpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxs
UG9wdXBNZW51Q2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsMjAgKzY2LDIyIEBAIHVu
c2lnbmVkIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpnZXRTdWcKIAogV2ViU3RyaW5nIEF1dG9G
aWxsUG9wdXBNZW51Q2xpZW50OjpnZXRTdWdnZXN0aW9uKHVuc2lnbmVkIGxpc3RJbmRleCkgY29u
c3QKIHsKLSAgICBpZiAobGlzdEluZGV4ID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3NlcGFy
YXRvckluZGV4KSkKKyAgICB1bnNpZ25lZCBpbmRleCA9IGNvbnZlcnRMaXN0SW5kZXhUb0ludGVy
bmFsSW5kZXgobGlzdEluZGV4KTsKKyAgICBpZiAoaW5kZXggPT0gLTEpCiAgICAgICAgIHJldHVy
biBXZWJTdHJpbmcoKTsKIAotICAgIGlmIChtX3NlcGFyYXRvckluZGV4ICE9IC0xICYmIGxpc3RJ
bmRleCA+IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3NlcGFyYXRvckluZGV4KSkKLSAgICAgICAg
LS1saXN0SW5kZXg7Ci0KLSAgICAvLyBGSVhNRTogTW9kaWZ5IHRoZSBQb3B1cE1lbnUgdG8gYWRk
IHRoZSBsYWJlbCBpbiBncmF5IHJpZ2h0LWp1c3RpZmllZC4KLSAgICBBU1NFUlQobGlzdEluZGV4
IDwgbV9uYW1lcy5zaXplKCkpOworICAgIEFTU0VSVChpbmRleCA8IG1fbmFtZXMuc2l6ZSgpKTsK
KyAgICByZXR1cm4gbV9uYW1lc1tpbmRleF07Cit9CiAKLSAgICBXZWJTdHJpbmcgc3VnZ2VzdGlv
biA9IG1fbmFtZXNbbGlzdEluZGV4XTsKLSAgICBpZiAobV9sYWJlbHNbbGlzdEluZGV4XS5pc0Vt
cHR5KCkpCi0gICAgICAgIHJldHVybiBzdWdnZXN0aW9uOworV2ViU3RyaW5nIEF1dG9GaWxsUG9w
dXBNZW51Q2xpZW50OjpnZXRMYWJlbCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0Cit7CisgICAg
dW5zaWduZWQgaW5kZXggPSBjb252ZXJ0TGlzdEluZGV4VG9JbnRlcm5hbEluZGV4KGxpc3RJbmRl
eCk7CisgICAgaWYgKGluZGV4ID09IC0xKQorICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7CiAK
LSAgICByZXR1cm4gc3VnZ2VzdGlvbiArIFN0cmluZygiICgiKSArIG1fbGFiZWxzW2xpc3RJbmRl
eF0gKyBTdHJpbmcoIikiKTsKKyAgICBBU1NFUlQoaW5kZXggPCBtX2xhYmVscy5zaXplKCkpOwor
ICAgIHJldHVybiBtX2xhYmVsc1tpbmRleF07CiB9CiAKIHZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVD
bGllbnQ6OnJlbW92ZVN1Z2dlc3Rpb25BdEluZGV4KHVuc2lnbmVkIGxpc3RJbmRleCkKQEAgLTE1
MCw2ICsxNTIsMTEgQEAgU3RyaW5nIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjppdGVtVGV4dAog
ICAgIHJldHVybiBnZXRTdWdnZXN0aW9uKGxpc3RJbmRleCk7CiB9CiAKK1N0cmluZyBBdXRvRmls
bFBvcHVwTWVudUNsaWVudDo6aXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZ2V0TGFiZWwobGlzdEluZGV4KTsKK30KKwogUG9wdXBNZW51U3R5bGUgQXV0
b0ZpbGxQb3B1cE1lbnVDbGllbnQ6Oml0ZW1TdHlsZSh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0
CiB7CiAgICAgcmV0dXJuICptX3N0eWxlOwpAQCAtMjcwLDYgKzI3NywxNiBAQCB2b2lkIEF1dG9G
aWxsUG9wdXBNZW51Q2xpZW50OjpzZXRTdWdnZXN0CiAgICAgICAgIHNldFNlbGVjdGVkSW5kZXgo
LTEpOwogfQogCit1bnNpZ25lZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Y29udmVydExpc3RJ
bmRleFRvSW50ZXJuYWxJbmRleCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0Cit7CisgICAgaWYg
KGxpc3RJbmRleCA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9zZXBhcmF0b3JJbmRleCkpCisg
ICAgICAgIHJldHVybiAtMTsKKworICAgIGlmIChtX3NlcGFyYXRvckluZGV4ID09IC0xIHx8IGxp
c3RJbmRleCA8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3NlcGFyYXRvckluZGV4KSkKKyAgICAg
ICAgcmV0dXJuIGxpc3RJbmRleDsKKyAgICByZXR1cm4gbGlzdEluZGV4IC0gMTsKK30KKwogV2Vi
Vmlld0ltcGwqIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpnZXRXZWJWaWV3KCkgY29uc3QKIHsK
ICAgICBGcmFtZSogZnJhbWUgPSBtX3RleHRGaWVsZC0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKSW5k
ZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuaA0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuaAko
cmV2aXNpb24gNjMwOTgpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51
Q2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDkgQEAgcHVibGljOgogICAgIC8v
IFJldHVybnMgdGhlIHN1Z2dlc3Rpb24gYXQgfGxpc3RJbmRleHwuCiAgICAgdmlydHVhbCBXZWJT
dHJpbmcgZ2V0U3VnZ2VzdGlvbih1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogCisgICAgLy8g
UmV0dXJucyB0aGUgbGFiZWwgYXQgfGxpc3RJbmRleHwuCisgICAgdmlydHVhbCBXZWJTdHJpbmcg
Z2V0TGFiZWwodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKKyAgICAKICAgICAvLyBSZW1vdmVz
IHRoZSBzdWdnZXN0aW9uIGF0IHxsaXN0SW5kZXh8IGZyb20gdGhlIGxpc3Qgb2Ygc3VnZ2VzdGlv
bnMuCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVN1Z2dlc3Rpb25BdEluZGV4KHVuc2lnbmVkIGxp
c3RJbmRleCk7CiAKQEAgLTY1LDYgKzY4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
ZWxlY3Rpb25DaGFuZ2VkKHVuc2lnbmVkLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0
aW9uQ2xlYXJlZCgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1UZXh0KHVuc2ln
bmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJDb3JlOjpTdHJpbmcgaXRlbUxh
YmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpTdHJp
bmcgaXRlbVRvb2xUaXAodW5zaWduZWQgbGFzdEluZGV4KSBjb25zdCB7IHJldHVybiBXZWJDb3Jl
OjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1BY2Nlc3NpYmls
aXR5VGV4dCh1bnNpZ25lZCBsYXN0SW5kZXgpIGNvbnN0IHsgcmV0dXJuIFdlYkNvcmU6OlN0cmlu
ZygpOyB9CiAgICAgdmlydHVhbCBib29sIGl0ZW1Jc0VuYWJsZWQodW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CkBAIC0xMDQsNiArMTA4LDEwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldEF1dG9jb21wbGV0ZU1vZGUoYm9vbCBlbmFibGVkKSB7IG1fQXV0b2NvbXBsZXRl
TW9kZUVuYWJsZWQgPSBlbmFibGVkOyB9CiAKIHByaXZhdGU6CisgICAgLy8gQ29udmVydCB0aGUg
c3BlY2lmaWVkIGluZGV4IGZyb20gYW4gaW5kZXggaW50byB0aGUgdmlzaWJsZSBsaXN0ICh3aGlj
aCBtaWdodAorICAgIC8vIGluY2x1ZGUgYSBzZXBhcmF0b3IgZW50cnkpIHRvIGFuIGluZGV4IHRv
IHxtX25hbWVzfCBhbmQgfG1fbGFiZWxzfC4KKyAgICAvLyBSZXR1cm5zIC0xIGlmIHRoZSBnaXZl
biBpbmRleCBwb2ludHMgdG8gdGhlIHNlcGFyYXRvci4KKyAgICB1bnNpZ25lZCBjb252ZXJ0TGlz
dEluZGV4VG9JbnRlcm5hbEluZGV4KHVuc2lnbmVkKSBjb25zdDsKICAgICBXZWJWaWV3SW1wbCog
Z2V0V2ViVmlldygpIGNvbnN0OwogICAgIFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQqIGdldFRl
eHRGaWVsZCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dEZpZWxkLmdldCgpOyB9CiAgICAgV2ViQ29y
ZTo6UmVuZGVyU3R5bGUqIHRleHRGaWVsZFN0eWxlKCkgY29uc3Q7Cg==
</data>
<flag name="review"
          id="49231"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>61298</attachid>
            <date>2010-07-12 17:16:54 -0700</date>
            <delta_ts>2010-07-12 23:41:25 -0700</delta_ts>
            <desc>Changed  AutoFillPopupMenuClient::convertListIndexToInternalIndex to return a signed int</desc>
            <filename>popup_label.patch</filename>
            <type>text/plain</type>
            <size>12591</size>
            <attacher name="Jay Civelli">jcivelli</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MzEzNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTAtMDctMDkgIEpheSBDaXZlbGxpICA8amNpdmVsbGlAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZGluZyByaWdodCBhbGlnbmVkIHRleHQgY2FsbGVkIGxhYmVscyB0byBQb3B1cE1lbnVzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE5NjQKKwor
ICAgICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVw
TGlzdEJveDo6cGFpbnRSb3cpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6aXRlbUxhYmVsKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZTo6aXRlbUxhYmVsKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmg6CisKIDIwMTAtMDctMTIgIEVyaWMgU2VpZGVsICA8
ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgJKHJldmlzaW9uIDYzMTM3KQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFyZWQoKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0ID0g
MDsKKyAgICB2aXJ0dWFsIFN0cmluZyBpdGVtTGFiZWwodW5zaWduZWQgbGlzdEluZGV4KSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbUFjY2Vzc2liaWxpdHlUZXh0KHVu
c2lnbmVkIGxpc3RJbmRleCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpdGVtSXNFbmFi
bGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QgPSAwOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDYzMTM3KQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1lbnVDaHJvbWl1bS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTcwLDYgKzcwLDcgQEAgdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgVGlt
ZVN0YW1wOwogc3RhdGljIGNvbnN0IGludCBrTWF4VmlzaWJsZVJvd3MgPSAyMDsKIHN0YXRpYyBj
b25zdCBpbnQga01heEhlaWdodCA9IDUwMDsKIHN0YXRpYyBjb25zdCBpbnQga0JvcmRlclNpemUg
PSAxOworc3RhdGljIGNvbnN0IGludCBrVGV4dFRvTGFiZWxQYWRkaW5nID0gMTA7CiBzdGF0aWMg
Y29uc3QgVGltZVN0YW1wIGtUeXBlQWhlYWRUaW1lb3V0TXMgPSAxMDAwOwogCiAvLyBUaGUgc2V0
dGluZ3MgdXNlZCBmb3IgdGhlIGRyb3AgZG93biBtZW51LgpAQCAtOTE3LDEwICs5MTgsMjMgQEAg
dm9pZCBQb3B1cExpc3RCb3g6OnBhaW50Um93KEdyYXBoaWNzQ29udAogICAgIH0KICAgICAvLyBQ
cmVwYXJlIHRleHQgdG8gYmUgZHJhd24uCiAgICAgU3RyaW5nIGl0ZW1UZXh0ID0gbV9wb3B1cENs
aWVudC0+aXRlbVRleHQocm93SW5kZXgpOwotICAgIGlmIChtX3NldHRpbmdzLnJlc3RyaWN0V2lk
dGhPZkxpc3RCb3gpICAvLyB0cnVuY2F0ZSBzdHJpbmcgdG8gZml0IGluLgotICAgICAgICBpdGVt
VGV4dCA9IFN0cmluZ1RydW5jYXRvcjo6cmlnaHRUcnVuY2F0ZShpdGVtVGV4dCwgbWF4V2lkdGgs
IGl0ZW1Gb250KTsKLSAgICB1bnNpZ25lZCBsZW5ndGggPSBpdGVtVGV4dC5sZW5ndGgoKTsKLSAg
ICBjb25zdCBVQ2hhciogc3RyID0gaXRlbVRleHQuY2hhcmFjdGVycygpOworICAgIFN0cmluZyBp
dGVtTGFiZWwgPSBtX3BvcHVwQ2xpZW50LT5pdGVtTGFiZWwocm93SW5kZXgpOworICAgIGlmICht
X3NldHRpbmdzLnJlc3RyaWN0V2lkdGhPZkxpc3RCb3gpIHsgLy8gVHJ1bmNhdGUgc3RyaW5ncyB0
byBmaXQgaW4uCisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgbGVmdFRydW5jYXRlIGZvciB0
aGUgcnRsIGNhc2UuCisgICAgICAgIC8vIFN0cmluZ1RydW5jYXRvcjo6bGVmdFRydW5jYXRlIHdv
dWxkIGhhdmUgdG8gYmUgaW1wbGVtZW50ZWQuCisgICAgICAgIFN0cmluZyBzdHIgPSBTdHJpbmdU
cnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoaXRlbVRleHQsIG1heFdpZHRoLCBpdGVtRm9udCk7Cisg
ICAgICAgIGlmIChzdHIgIT0gaXRlbVRleHQpIHsKKyAgICAgICAgICAgIGl0ZW1UZXh0ID0gc3Ry
OworICAgICAgICAgICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgbGFiZWwsIHdlIGFscmVhZHkgZG9u
J3QgaGF2ZSBlbm91Z2ggcm9vbSBmb3IgdGhlCisgICAgICAgICAgICAvLyBpdGVtIHRleHQuCisg
ICAgICAgICAgICBpdGVtTGFiZWwgPSAiIjsKKyAgICAgICAgfSBlbHNlIGlmICghaXRlbUxhYmVs
LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgaW50IGF2YWlsYWJsZVdpZHRoID0gbWF4V2lkdGgg
LSBrVGV4dFRvTGFiZWxQYWRkaW5nIC0KKyAgICAgICAgICAgICAgICBTdHJpbmdUcnVuY2F0b3I6
OndpZHRoKGl0ZW1UZXh0LCBpdGVtRm9udCk7CisgICAgICAgICAgICBpdGVtTGFiZWwgPSBTdHJp
bmdUcnVuY2F0b3I6OnJpZ2h0VHJ1bmNhdGUoaXRlbUxhYmVsLCBhdmFpbGFibGVXaWR0aCwgaXRl
bUZvbnQpOworICAgICAgICB9CisgICAgfQorCiAgICAgLy8gUHJlcGFyZSB0aGUgZGlyZWN0aW9u
YWxpdHkgdG8gZHJhdyB0ZXh0LgogICAgIGJvb2wgcnRsID0gZmFsc2U7CiAgICAgaWYgKG1fc2V0
dGluZ3MuaXRlbVRleHREaXJlY3Rpb25hbGl0eUhpbnQgPT0gUG9wdXBDb250YWluZXJTZXR0aW5n
czo6RE9NRWxlbWVudERpcmVjdGlvbikKQEAgLTkyOCwxNCArOTQyLDMzIEBAIHZvaWQgUG9wdXBM
aXN0Qm94OjpwYWludFJvdyhHcmFwaGljc0NvbnQKICAgICBlbHNlIGlmIChtX3NldHRpbmdzLml0
ZW1UZXh0RGlyZWN0aW9uYWxpdHlIaW50ID09CiAgICAgICAgICAgICAgUG9wdXBDb250YWluZXJT
ZXR0aW5nczo6Rmlyc3RTdHJvbmdEaXJlY3Rpb25hbENoYXJhY3RlckRpcmVjdGlvbikKICAgICAg
ICAgcnRsID0gaXRlbVRleHQuZGVmYXVsdFdyaXRpbmdEaXJlY3Rpb24oKSA9PSBXVEY6OlVuaWNv
ZGU6OlJpZ2h0VG9MZWZ0OwotICAgIFRleHRSdW4gdGV4dFJ1bihzdHIsIGxlbmd0aCwgZmFsc2Us
IDAsIDAsIHJ0bCk7CisgICAgVGV4dFJ1biB0ZXh0UnVuKGl0ZW1UZXh0LmNoYXJhY3RlcnMoKSwg
aXRlbVRleHQubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBydGwpOwogICAgIC8vIElmIHRoZSB0ZXh0
IGlzIHJpZ2h0LXRvLWxlZnQsIG1ha2UgaXQgcmlnaHQtYWxpZ25lZCBieSBhZGp1c3RpbmcgaXRz
CiAgICAgLy8gYmVnaW5uaW5nIHBvc2l0aW9uLgogICAgIGlmIChyaWdodEFsaWduZWQpCiAgICAg
ICAgIHRleHRYICs9IG1heFdpZHRoIC0gaXRlbUZvbnQud2lkdGgodGV4dFJ1bik7CisKICAgICAv
LyBEcmF3IHRoZSBpdGVtIHRleHQuCiAgICAgaW50IHRleHRZID0gcm93UmVjdC55KCkgKyBpdGVt
Rm9udC5hc2NlbnQoKSArIChyb3dSZWN0LmhlaWdodCgpIC0gaXRlbUZvbnQuaGVpZ2h0KCkpIC8g
MjsKICAgICBnYy0+ZHJhd0JpZGlUZXh0KGl0ZW1Gb250LCB0ZXh0UnVuLCBJbnRQb2ludCh0ZXh0
WCwgdGV4dFkpKTsKKworICAgIC8vIERyYXcgdGhlIHRoZSBsYWJlbCBpZiBhcHBsaWNhYmxlLgor
ICAgIGlmIChpdGVtTGFiZWwuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAgVGV4dFJ1
biBsYWJlbFRleHRSdW4oaXRlbUxhYmVsLmNoYXJhY3RlcnMoKSwgaXRlbUxhYmVsLmxlbmd0aCgp
LCBmYWxzZSwgMCwgMCwgcnRsKTsKKyAgICBpZiAocmlnaHRBbGlnbmVkKQorICAgICAgICB0ZXh0
WCA9IG1heCgwLCBtX3BvcHVwQ2xpZW50LT5jbGllbnRQYWRkaW5nTGVmdCgpIC0gbV9wb3B1cENs
aWVudC0+Y2xpZW50SW5zZXRMZWZ0KCkpOworICAgIGVsc2UgeworICAgICAgICAvLyBXZSBhcmUg
dXNpbmcgdGhlIGxlZnQgcGFkZGluZyBhcyB0aGUgcmlnaHQgcGFkZGluZyBpbmNsdWRlcyByb29t
IGZvciB0aGUgc2Nyb2xsLWJhciB3aGljaAorICAgICAgICAvLyBkb2VzIG5vdCBzaG93IGluIHRo
aXMgY2FzZS4KKyAgICAgICAgaW50IHJpZ2h0UGFkZGluZyA9IG1heCgwLCBtX3BvcHVwQ2xpZW50
LT5jbGllbnRQYWRkaW5nTGVmdCgpIC0gbV9wb3B1cENsaWVudC0+Y2xpZW50SW5zZXRMZWZ0KCkp
OworICAgICAgICB0ZXh0WCA9IHJvd1JlY3Qud2lkdGgoKSAtIHJpZ2h0UGFkZGluZyAtIGl0ZW1G
b250LndpZHRoKGxhYmVsVGV4dFJ1bik7CisgICAgfQorCisgICAgLy8gRklYTUU6IGZvciBub3cg
dGhlIGxhYmVsIGNvbG9yIGlzIGhhcmQtY29kZWQuIEl0IHNob3VsZCBiZSBhZGRlZCB0byB0aGUK
KyAgICAvLyAgICAgICAgUG9wdXBNZW51U3R5bGUuCisgICAgZ2MtPnNldEZpbGxDb2xvcihDb2xv
cigxMTUsIDExNSwgMTE1KSwgRGV2aWNlQ29sb3JTcGFjZSk7CisgICAgZ2MtPmRyYXdCaWRpVGV4
dChpdGVtRm9udCwgbGFiZWxUZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKIH0KIAog
Rm9udCBQb3B1cExpc3RCb3g6OmdldFJvd0ZvbnQoaW50IHJvd0luZGV4KQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAkocmV2aXNpb24gNjMxMzcpCisrKyBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1MCw2ICszNTAs
MTEgQEAgU3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVtVGV4dCh1bnNpZ25lZAogICAgIHJldHVy
biBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVtTGFiZWwodW5zaWdu
ZWQpIGNvbnN0Cit7CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCiBTdHJpbmcgUmVuZGVyTWVu
dUxpc3Q6Oml0ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7
CiAgICAgLy8gQWxsb3cgdGhlIGFjY2Vzc2libGUgbmFtZSBiZSBjaGFuZ2VkIGlmIG5lY2Vzc2Fy
eS4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAkocmV2aXNpb24gNjMxMzcpCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
Miw2ICs4Miw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBQb3B1cE1lbnVDbGllbnQgbWV0aG9kcwog
ICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBTdHJpbmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsK
ICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWduZWQgbGlzdElu
ZGV4KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0
SW5kZXgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xT
aW5nbGVMaW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbFNpbmdsZUxpbmUuY3BwCShyZXZpc2lvbiA2MzEzNykKKysrIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg3
Niw2ICs4NzYsMTEgQEAgU3RyaW5nIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aXRlbQog
ICAgIHJldHVybiBtX3JlY2VudFNlYXJjaGVzW2xpc3RJbmRleCAtIDFdOwogfQogCitTdHJpbmcg
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtTGFiZWwodW5zaWduZWQpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCiBib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xl
TGluZTo6aXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7CiAgICAgIGlm
ICghbGlzdEluZGV4IHx8IGl0ZW1Jc1NlcGFyYXRvcihsaXN0SW5kZXgpKQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgJKHJldmlzaW9u
IDYzMTM3KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5l
LmgJKHdvcmtpbmcgY29weSkKQEAgLTExNSw2ICsxMTUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1
YWwgdm9pZCBzZWxlY3Rpb25DaGFuZ2VkKHVuc2lnbmVkLCBib29sKSB7fQogICAgIHZpcnR1YWwg
dm9pZCBzZWxlY3Rpb25DbGVhcmVkKCkge30KICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1
bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OworICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1MYWJlbCh1
bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1Ub29sVGlw
KHVuc2lnbmVkKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgU3RyaW5n
IGl0ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1bnNpZ25lZCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7
IH0KICAgICB2aXJ0dWFsIGJvb2wgaXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNv
bnN0OwpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA2MzEzNykKKysrIFdlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMC0wNy0wOSAg
SmF5IENpdmVsbGkgIDxqY2l2ZWxsaUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFraW5nIHRoZSBhdXRvZmlsbCBwb3B1cCB1
c2UgbGFiZWxzIHRvIHNob3cgdGhlIGxhYmVsCisgICAgICAgIGFzc29jaWF0ZWQgd2l0aCBhbiBp
dGVtLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE5
NjQKKworICAgICAgICAqIHNyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpnZXRTdWdnZXN0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6QXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OmdldExhYmVsKToKKyAgICAgICAg
KFdlYktpdDo6QXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6Oml0ZW1MYWJlbCk6CisgICAgICAgIChX
ZWJLaXQ6OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpzZXRTdWdnZXN0aW9ucyk6CisgICAgICAg
IChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50Ojpjb252ZXJ0TGlzdEluZGV4VG9JbnRl
cm5hbEluZGV4KToKKyAgICAgICAgKiBzcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuaDoKKwog
MjAxMC0wNy0xMiAgQWxleGFuZGVyIFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IFl1cnkgU2VtaWtoYXRza3kuCkluZGV4OiBXZWJLaXQvY2hyb21p
dW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
Y2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmNwcAkocmV2aXNpb24gNjMxMzcp
CisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjYsMjAgKzY2LDIyIEBAIHVuc2lnbmVkIEF1dG9GaWxsUG9wdXBNZW51
Q2xpZW50OjpnZXRTdWcKIAogV2ViU3RyaW5nIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpnZXRT
dWdnZXN0aW9uKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QKIHsKLSAgICBpZiAobGlzdEluZGV4
ID09IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3NlcGFyYXRvckluZGV4KSkKKyAgICBpbnQgaW5k
ZXggPSBjb252ZXJ0TGlzdEluZGV4VG9JbnRlcm5hbEluZGV4KGxpc3RJbmRleCk7CisgICAgaWYg
KGluZGV4ID09IC0xKQogICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7CiAKLSAgICBpZiAobV9z
ZXBhcmF0b3JJbmRleCAhPSAtMSAmJiBsaXN0SW5kZXggPiBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
bV9zZXBhcmF0b3JJbmRleCkpCi0gICAgICAgIC0tbGlzdEluZGV4OwotCi0gICAgLy8gRklYTUU6
IE1vZGlmeSB0aGUgUG9wdXBNZW51IHRvIGFkZCB0aGUgbGFiZWwgaW4gZ3JheSByaWdodC1qdXN0
aWZpZWQuCi0gICAgQVNTRVJUKGxpc3RJbmRleCA8IG1fbmFtZXMuc2l6ZSgpKTsKKyAgICBBU1NF
UlQoaW5kZXggPCBtX25hbWVzLnNpemUoKSk7CisgICAgcmV0dXJuIG1fbmFtZXNbaW5kZXhdOwor
fQogCi0gICAgV2ViU3RyaW5nIHN1Z2dlc3Rpb24gPSBtX25hbWVzW2xpc3RJbmRleF07Ci0gICAg
aWYgKG1fbGFiZWxzW2xpc3RJbmRleF0uaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gc3VnZ2Vz
dGlvbjsKK1dlYlN0cmluZyBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0TGFiZWwodW5zaWdu
ZWQgbGlzdEluZGV4KSBjb25zdAoreworICAgIGludCBpbmRleCA9IGNvbnZlcnRMaXN0SW5kZXhU
b0ludGVybmFsSW5kZXgobGlzdEluZGV4KTsKKyAgICBpZiAoaW5kZXggPT0gLTEpCisgICAgICAg
IHJldHVybiBXZWJTdHJpbmcoKTsKIAotICAgIHJldHVybiBzdWdnZXN0aW9uICsgU3RyaW5nKCIg
KCIpICsgbV9sYWJlbHNbbGlzdEluZGV4XSArIFN0cmluZygiKSIpOworICAgIEFTU0VSVChpbmRl
eCA8IG1fbGFiZWxzLnNpemUoKSk7CisgICAgcmV0dXJuIG1fbGFiZWxzW2luZGV4XTsKIH0KIAog
dm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6cmVtb3ZlU3VnZ2VzdGlvbkF0SW5kZXgodW5z
aWduZWQgbGlzdEluZGV4KQpAQCAtMTUwLDYgKzE1MiwxMSBAQCBTdHJpbmcgQXV0b0ZpbGxQb3B1
cE1lbnVDbGllbnQ6Oml0ZW1UZXh0CiAgICAgcmV0dXJuIGdldFN1Z2dlc3Rpb24obGlzdEluZGV4
KTsKIH0KIAorU3RyaW5nIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjppdGVtTGFiZWwodW5zaWdu
ZWQgbGlzdEluZGV4KSBjb25zdAoreworICAgIHJldHVybiBnZXRMYWJlbChsaXN0SW5kZXgpOwor
fQorCiBQb3B1cE1lbnVTdHlsZSBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6aXRlbVN0eWxlKHVu
c2lnbmVkIGxpc3RJbmRleCkgY29uc3QKIHsKICAgICByZXR1cm4gKm1fc3R5bGU7CkBAIC0yNzAs
NiArMjc3LDE2IEBAIHZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OnNldFN1Z2dlc3QKICAg
ICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7CiB9CiAKK2ludCBBdXRvRmlsbFBvcHVwTWVudUNs
aWVudDo6Y29udmVydExpc3RJbmRleFRvSW50ZXJuYWxJbmRleCh1bnNpZ25lZCBsaXN0SW5kZXgp
IGNvbnN0Cit7CisgICAgaWYgKGxpc3RJbmRleCA9PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9z
ZXBhcmF0b3JJbmRleCkpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlmIChtX3NlcGFyYXRv
ckluZGV4ID09IC0xIHx8IGxpc3RJbmRleCA8IHN0YXRpY19jYXN0PHVuc2lnbmVkPihtX3NlcGFy
YXRvckluZGV4KSkKKyAgICAgICAgcmV0dXJuIGxpc3RJbmRleDsKKyAgICByZXR1cm4gbGlzdElu
ZGV4IC0gMTsKK30KKwogV2ViVmlld0ltcGwqIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpnZXRX
ZWJWaWV3KCkgY29uc3QKIHsKICAgICBGcmFtZSogZnJhbWUgPSBtX3RleHRGaWVsZC0+ZG9jdW1l
bnQoKS0+ZnJhbWUoKTsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1l
bnVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9w
dXBNZW51Q2xpZW50LmgJKHJldmlzaW9uIDYzMTM3KQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9B
dXRvRmlsbFBvcHVwTWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1Nyw5IEBA
IHB1YmxpYzoKICAgICAvLyBSZXR1cm5zIHRoZSBzdWdnZXN0aW9uIGF0IHxsaXN0SW5kZXh8Lgog
ICAgIHZpcnR1YWwgV2ViU3RyaW5nIGdldFN1Z2dlc3Rpb24odW5zaWduZWQgbGlzdEluZGV4KSBj
b25zdDsKIAorICAgIC8vIFJldHVybnMgdGhlIGxhYmVsIGF0IHxsaXN0SW5kZXh8LgorICAgIHZp
cnR1YWwgV2ViU3RyaW5nIGdldExhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAg
CiAgICAgLy8gUmVtb3ZlcyB0aGUgc3VnZ2VzdGlvbiBhdCB8bGlzdEluZGV4fCBmcm9tIHRoZSBs
aXN0IG9mIHN1Z2dlc3Rpb25zLgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTdWdnZXN0aW9uQXRJ
bmRleCh1bnNpZ25lZCBsaXN0SW5kZXgpOwogCkBAIC02NSw2ICs2OCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2hhbmdlZCh1bnNpZ25lZCwgYm9vbCk7CiAgICAgdmly
dHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFyZWQoKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmlu
ZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViQ29y
ZTo6U3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1Ub29sVGlwKHVuc2lnbmVkIGxhc3RJbmRleCkgY29uc3Qg
eyByZXR1cm4gV2ViQ29yZTo6U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmlu
ZyBpdGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWduZWQgbGFzdEluZGV4KSBjb25zdCB7IHJldHVy
biBXZWJDb3JlOjpTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpdGVtSXNFbmFibGVkKHVu
c2lnbmVkIGxpc3RJbmRleCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtMTA0LDYgKzEwOCwx
MCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdXRvY29tcGxldGVNb2RlKGJvb2wgZW5hYmxlZCkg
eyBtX0F1dG9jb21wbGV0ZU1vZGVFbmFibGVkID0gZW5hYmxlZDsgfQogCiBwcml2YXRlOgorICAg
IC8vIENvbnZlcnQgdGhlIHNwZWNpZmllZCBpbmRleCBmcm9tIGFuIGluZGV4IGludG8gdGhlIHZp
c2libGUgbGlzdCAod2hpY2ggbWlnaHQKKyAgICAvLyBpbmNsdWRlIGEgc2VwYXJhdG9yIGVudHJ5
KSB0byBhbiBpbmRleCB0byB8bV9uYW1lc3wgYW5kIHxtX2xhYmVsc3wuCisgICAgLy8gUmV0dXJu
cyAtMSBpZiB0aGUgZ2l2ZW4gaW5kZXggcG9pbnRzIHRvIHRoZSBzZXBhcmF0b3IuCisgICAgaW50
IGNvbnZlcnRMaXN0SW5kZXhUb0ludGVybmFsSW5kZXgodW5zaWduZWQpIGNvbnN0OwogICAgIFdl
YlZpZXdJbXBsKiBnZXRXZWJWaWV3KCkgY29uc3Q7CiAgICAgV2ViQ29yZTo6SFRNTElucHV0RWxl
bWVudCogZ2V0VGV4dEZpZWxkKCkgY29uc3QgeyByZXR1cm4gbV90ZXh0RmllbGQuZ2V0KCk7IH0K
ICAgICBXZWJDb3JlOjpSZW5kZXJTdHlsZSogdGV4dEZpZWxkU3R5bGUoKSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>