<?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>107200</bug_id>
          
          <creation_ts>2013-01-17 16:35:22 -0800</creation_ts>
          <short_desc>[WK2] Minimum layout width auto-sizing should use FrameView::enableAutoSizeMode so that it can shrink the viewport</short_desc>
          <delta_ts>2013-01-18 00:52:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>809954</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-01-17 16:35:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/12849029&gt;

Using minimum layout width auto-sizing currently doesn&apos;t shrink past the current viewport size, so it can only get *taller*, never shorter. FrameView::enableAutoSizeMode already fiddles with layout to fix this, so we should make use of it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809964</commentid>
    <comment_count>1</comment_count>
      <attachid>183316</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-01-17 16:50:26 -0800</bug_when>
    <thetext>Created attachment 183316
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809966</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-01-17 16:51:48 -0800</bug_when>
    <thetext>Hmm, I should probably support falling back out of auto-sizing mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809971</commentid>
    <comment_count>3</comment_count>
      <attachid>183319</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-01-17 16:59:44 -0800</bug_when>
    <thetext>Created attachment 183319
patch with a const and WebPage will disable the mode if needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>809982</commentid>
    <comment_count>4</comment_count>
      <attachid>183319</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-17 17:12:53 -0800</bug_when>
    <thetext>Comment on attachment 183319
patch with a const and WebPage will disable the mode if needed

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

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3787
&gt; +    if (!m_minimumLayoutWidth)
&gt; +        corePage()-&gt;mainFrame()-&gt;view()-&gt;enableAutoSizeMode(false, IntSize(), IntSize());

It&apos;s weird that you disable auto size mode here, but enable it in the drawing area. I think this should be fixed; this mode should be indpendent of what kind of drawing area is being used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810062</commentid>
    <comment_count>5</comment_count>
      <attachid>183341</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-01-17 18:22:25 -0800</bug_when>
    <thetext>Created attachment 183341
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810066</commentid>
    <comment_count>6</comment_count>
      <attachid>183341</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-17 18:30:04 -0800</bug_when>
    <thetext>Comment on attachment 183341
patch

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

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3789
&gt; +    m_minimumLayoutWidth = minimumLayoutWidth;
&gt; +
&gt; +    if (minimumLayoutWidth &gt; 0)
&gt; +        corePage()-&gt;mainFrame()-&gt;view()-&gt;enableAutoSizeMode(true, IntSize(minimumLayoutWidth, 1), IntSize(minimumLayoutWidth, INT_MAX));
&gt; +    else
&gt; +        corePage()-&gt;mainFrame()-&gt;view()-&gt;enableAutoSizeMode(false, IntSize(), IntSize());

Do we have to call enableAutoSizeMode() even when m_minimumLayoutWidth doesn&apos;t change?

&gt; Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:-375
&gt; -    if (m_minimumLayoutWidth &gt; 0) {
&gt; -        m_webPage-&gt;setSize(IntSize(m_minimumLayoutWidth, 0));
&gt; -        m_webPage-&gt;layoutIfNeeded();
&gt; +    if (!m_webPage-&gt;minimumLayoutWidth())
&gt; +        m_webPage-&gt;setSize(size);
&gt; +
&gt; +    m_webPage-&gt;layoutIfNeeded();
&gt;  
&gt; +    if (m_webPage-&gt;minimumLayoutWidth()) {
&gt;          contentSize = m_webPage-&gt;mainWebFrame()-&gt;contentBounds().size();
&gt;          size = contentSize;
&gt;      }
&gt;  
&gt; -    m_webPage-&gt;setSize(size);
&gt; -    m_webPage-&gt;layoutIfNeeded();

This is pretty confusing. I don&apos;t know whose responsibility it is to set the size of the WebPage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810078</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-01-17 18:41:02 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/140087</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810284</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-01-17 23:19:11 -0800</bug_when>
    <thetext>Aahhhh, all the random assertion failures. I&apos;m investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810337</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-01-18 00:52:59 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Aahhhh, all the random assertion failures. I&apos;m investigating.

I can reproduce with this rolled out, must be something else.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183316</attachid>
            <date>2013-01-17 16:50:26 -0800</date>
            <delta_ts>2013-01-17 16:59:44 -0800</delta_ts>
            <desc>patch</desc>
            <filename>ics.diff</filename>
            <type>text/plain</type>
            <size>9756</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMWNmNzE2Li43ZDM3OWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTMtMDEtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dLMl0gTWluaW11bSBsYXlvdXQgd2lkdGggYXV0by1zaXppbmcgc2hvdWxkIHVz
ZSBGcmFtZVZpZXc6OmVuYWJsZUF1dG9TaXplTW9kZSBzbyB0aGF0IGl0IGNhbiBzaHJpbmsgdGhl
IHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDcyMDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyODQ5MDI5PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4
cG9ydCBGcmFtZVZpZXc6OmVuYWJsZUF1dG9TaXplKC4uLikuCisKIDIwMTMtMDEtMTYgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgbWlzc2lu
ZyAjaWYgdG8gZml4IHRoZSBNYWMgYnVpbGQgc2FucyBFTkFCTEVfQ1NTX0ZJTFRFUlMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCmluZGV4IDgxYTA5YjAuLmVkZGMxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC0xMDE4LDYgKzEwMTgsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdhZGRTY3JvbGxh
YmxlQXJlYUVQTlNfMTRTY3JvbGxhYmxlQXJlYUUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3Bh
aW50Q29udHJvbFRpbnRzRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFNjcm9sbFBvc2l0
aW9uRVJLTlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlOUZyYW1lVmlldzE4dXBkYXRlQ29udHJv
bFRpbnRzRXYKK19fWk43V2ViQ29yZTlGcmFtZVZpZXcxOGVuYWJsZUF1dG9TaXplTW9kZUViUktO
U183SW50U2l6ZUVTM18KIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1Jl
Y3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJlY3RFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjBl
bnRlckNvbXBvc2l0aW5nTW9kZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjByZW1vdmVTY3Jv
bGxhYmxlQXJlYUVQTlNfMTRTY3JvbGxhYmxlQXJlYUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3ZGQ2ZDY2Li44
ZTNlZTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTMtMDEtMTcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gTWluaW11bSBs
YXlvdXQgd2lkdGggYXV0by1zaXppbmcgc2hvdWxkIHVzZSBGcmFtZVZpZXc6OmVuYWJsZUF1dG9T
aXplTW9kZSBzbyB0aGF0IGl0IGNhbiBzaHJpbmsgdGhlIHZpZXdwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDcyMDAKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEyODQ5MDI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2UgdXNlIG9mIEZyYW1lVmlldydzIGF1dG8tc2l6ZSBtb2RlIHRvIGFs
bG93IFdLVmlldydzIGNvbXB1dGVkIGludHJpbnNpYyBjb250ZW50CisgICAgICAgIHNpemUgdG8g
c2hyaW5rIGJlbG93IHRoZSBjdXJyZW50IHZpZXdwb3J0IHNpemUuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpz
ZXRNaW5pbXVtTGF5b3V0V2lkdGgpOiBGb3J3YXJkIG1pbmltdW1MYXlvdXRXaWR0aCBjaGFuZ2Vz
IHRvIFdlYlBhZ2UuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50
Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKTogRW5hYmxlIGF1dG8tc2l6ZSBtb2Rl
IG9uIHRoZSBuZXcgRnJhbWVWaWV3IGlmIG5lZWRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOiBJ
bml0aWFsaXplIG1fbWluaW11bUxheW91dFdpZHRoIHRvIDAuCisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnNldE1pbmltdW1MYXlvdXRXaWR0aCk6IEtlZXAgdHJhY2sgb2YgbWluaW11bUxheW91
dFdpZHRoIG9uIFdlYlBhZ2UuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6bWluaW11bUxheW91dFdpZHRoKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjogQWRkIFNldE1pbmlt
dW1MYXlvdXRXaWR0aC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmg6CisgICAgICAgIChUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYSk6IFJlbW92ZSBzdG9yYWdlIGZvciBtX21pbmltdW1MYXlvdXRXaWR0aC4gV2UgY2Fu
IGdldCBpdCBmcm9tIFdlYlBhZ2UgaW5zdGVhZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0
OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWEpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6
bWFpbkZyYW1lQ29udGVudFNpemVDaGFuZ2VkKTogR3JhYiBtaW5pbXVtTGF5b3V0V2lkdGggZnJv
bSBXZWJQYWdlLgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YTo6dXBkYXRlR2VvbWV0cnkpOiBFbmFibGUgYXV0by1zaXplIG1vZGUgb24gdGhlIEZyYW1lVmll
dyBpZiBuZWVkZWQuCisKIDIwMTMtMDEtMTUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5j
b20+CiAKICAgICAgICAgQWRkIGEgU2V0dGluZyB0byBkaXNhYmxlIFFUS2l0IG1lZGlhIGVuZ2lu
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYTg3ZTQx
YS4uOGZmNTZkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
QEAgLTQyMTQsNiArNDIxNCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRNaW5pbXVtTGF5b3V0
V2lkdGgoZG91YmxlIG1pbmltdW1MYXlvdXRXaWR0aCkKIAogICAgIG1fbWluaW11bUxheW91dFdp
ZHRoID0gbWluaW11bUxheW91dFdpZHRoOwogICAgIG1fZHJhd2luZ0FyZWEtPm1pbmltdW1MYXlv
dXRXaWR0aERpZENoYW5nZSgpOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6U2V0TWluaW11bUxheW91dFdpZHRoKG1pbmltdW1MYXlvdXRXaWR0aCksIG1fcGFnZUlELCAw
KTsKIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBpZiAobV9taW5pbXVtTGF5b3V0V2lkdGggPD0g
MCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggYmM2ODk1MS4uMmNjMWJh
MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xMjQyLDYgKzEyNDIs
MTAgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9y
TmV3UGFnZSgpCiAgICAgICAgIEludFNpemUoKSwgY3VycmVudEZpeGVkVmlzaWJsZUNvbnRlbnRS
ZWN0LCBzaG91bGRVc2VGaXhlZExheW91dCwKICAgICAgICAgZGVmYXVsdFNjcm9sbGJhck1vZGUs
IC8qIGxvY2sgKi8gc2hvdWxkSGlkZVNjcm9sbGJhcnMsIGRlZmF1bHRTY3JvbGxiYXJNb2RlLCAv
KiBsb2NrICovIHNob3VsZEhpZGVTY3JvbGxiYXJzKTsKIAorICAgIGludCBtaW5pbXVtTGF5b3V0
V2lkdGggPSB3ZWJQYWdlLT5taW5pbXVtTGF5b3V0V2lkdGgoKTsKKyAgICBpZiAobWluaW11bUxh
eW91dFdpZHRoKQorICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5lbmFibGVB
dXRvU2l6ZU1vZGUodHJ1ZSwgSW50U2l6ZShtaW5pbXVtTGF5b3V0V2lkdGgsIDEpLCBJbnRTaXpl
KG1pbmltdW1MYXlvdXRXaWR0aCwgSU5UX01BWCkpOworCiAgICAgbV9mcmFtZS0+Y29yZUZyYW1l
KCktPnZpZXcoKS0+c2V0UHJvaGliaXRzU2Nyb2xsaW5nKHNob3VsZERpc2FibGVTY3JvbGxpbmcp
OwogCiAjaWYgVVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjRkZWVlZi4uNGQwMzY3OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjczLDYg
KzI3Myw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgICwgbV9jYW5TaG9ydENpcmN1aXRI
b3Jpem9udGFsV2hlZWxFdmVudHMoZmFsc2UpCiAgICAgLCBtX251bVdoZWVsRXZlbnRIYW5kbGVy
cygwKQogICAgICwgbV9jYWNoZWRQYWdlQ291bnQoMCkKKyAgICAsIG1fbWluaW11bUxheW91dFdp
ZHRoKDApCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgLCBtX2lzU2hvd2luZ0NvbnRl
eHRNZW51KGZhbHNlKQogI2VuZGlmCkBAIC0zNzc4LDQgKzM3NzksOSBAQCB2b2lkIFdlYlBhZ2U6
OnNldE1haW5GcmFtZUluVmlld1NvdXJjZU1vZGUoYm9vbCBpblZpZXdTb3VyY2VNb2RlKQogICAg
IG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+c2V0SW5WaWV3U291cmNlTW9kZShpblZpZXdTb3Vy
Y2VNb2RlKTsKIH0KIAordm9pZCBXZWJQYWdlOjpzZXRNaW5pbXVtTGF5b3V0V2lkdGgoZG91Ymxl
IG1pbmltdW1MYXlvdXRXaWR0aCkKK3sKKyAgICBtX21pbmltdW1MYXlvdXRXaWR0aCA9IG1pbmlt
dW1MYXlvdXRXaWR0aDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBiMjE5MmI0Li45MTYwYWM3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTYwNiw2
ICs2MDYsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIG1haW5GcmFtZUlzU2Nyb2xsYWJsZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlOyB9CiAKKyAgICB2b2lkIHNldE1p
bmltdW1MYXlvdXRXaWR0aChkb3VibGUpOworICAgIGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lkdGgo
KSB7IHJldHVybiBtX21pbmltdW1MYXlvdXRXaWR0aDsgfQorCiBwcml2YXRlOgogICAgIFdlYlBh
Z2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAK
QEAgLTkzMyw2ICs5MzYsOCBAQCBwcml2YXRlOgogCiAgICAgdW5zaWduZWQgbV9jYWNoZWRQYWdl
Q291bnQ7CiAKKyAgICBkb3VibGUgbV9taW5pbXVtTGF5b3V0V2lkdGg7CisKICNpZiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKICAgICBib29sIG1faXNTaG93aW5nQ29udGV4dE1lbnU7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KaW5kZXggNTFjNjFhMy4uZTMyODkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTI4NCw2ICsy
ODQsOSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBBY2NlcHRzRmlyc3RNb3VzZShpbnQg
ZXZlbnROdW1iZXIsIFdlYktpdDo6V2ViTW91c2VFdmVudCBldmVudCkgLT4gKGJvb2wgcmVzdWx0
KQogICAgIEluc2VydERpY3RhdGVkVGV4dChXVEY6OlN0cmluZyB0ZXh0LCB1aW50NjRfdCByZXBs
YWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQsIFdURjo6VmVj
dG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0aXZlPiBkaWN0YXRpb25BbHRlcm5hdGl2ZXMp
IC0+IChib29sIGhhbmRsZWQsIFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUpCiAjZW5kaWYK
KworICAgIFNldE1pbmltdW1MYXlvdXRXaWR0aChkb3VibGUgbWluaW11bUxheW91dFdpZHRoKQor
CiAjaWYgUExBVEZPUk0oRUZMKQogICAgIENvbmZpcm1Db21wb3NpdGlvbihXVEY6OlN0cmluZyBj
b21wb3NpdGlvblN0cmluZykKICAgICBTZXRDb21wb3NpdGlvbihXVEY6OlN0cmluZyBjb21wb3Np
dGlvblN0cmluZywgV1RGOjpWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRlcmxpbmU+IHVu
ZGVybGluZXMsIHVpbnQ2NF90IGN1cnNvclBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYS5oCmluZGV4IGJjNTcxNjQuLjhmZDNlMjIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKQEAgLTExOCw3ICsxMTgsNiBAQCBwcml2YXRl
OgogCiAgICAgV2ViQ29yZTo6SW50UmVjdCBtX2V4cG9zZWRSZWN0OwogCi0gICAgZG91YmxlIG1f
bWluaW11bUxheW91dFdpZHRoOwogICAgIFdlYkNvcmU6OkludFNpemUgbV9sYXN0U2VudEludHJp
bnNpY0NvbnRlbnRTaXplOwogICAgIGJvb2wgbV9pblVwZGF0ZUdlb21ldHJ5OwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDgwZTgwNWQuLjMxMzE2
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAtNzAs
NyArNzAsNiBAQCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6VGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWEoV2ViUGFnZSogd2ViUGFnZSwgYwogICAgICwgbV9sYXllclRyZWVTdGF0
ZUlzRnJvemVuKGZhbHNlKQogICAgICwgbV9sYXllckZsdXNoU2NoZWR1bGVyKHRoaXMpCiAgICAg
LCBtX2lzUGFpbnRpbmdTdXNwZW5kZWQoIXBhcmFtZXRlcnMuaXNWaXNpYmxlKQotICAgICwgbV9t
aW5pbXVtTGF5b3V0V2lkdGgoMCkKIHsKICAgICBQYWdlKiBwYWdlID0gbV93ZWJQYWdlLT5jb3Jl
UGFnZSgpOwogCkBAIC0yMjcsNyArMjI2LDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYKIAog
dm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6bWFpbkZyYW1lQ29udGVudFNpemVD
aGFuZ2VkKGNvbnN0IEludFNpemUmIGNvbnRlbnRTaXplKQogewotICAgIGlmICghbV9taW5pbXVt
TGF5b3V0V2lkdGgpCisgICAgaWYgKCFtX3dlYlBhZ2UtPm1pbmltdW1MYXlvdXRXaWR0aCgpKQog
ICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9pblVwZGF0ZUdlb21ldHJ5KQpAQCAtMzU4LDIy
ICszNTcsMjAgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlR2Vv
bWV0cnkoY29uc3QgSW50U2l6ZSYgdmlld1NpemUsIGRvdWIKIHsKICAgICBtX2luVXBkYXRlR2Vv
bWV0cnkgPSB0cnVlOwogCi0gICAgbV9taW5pbXVtTGF5b3V0V2lkdGggPSBtaW5pbXVtTGF5b3V0
V2lkdGg7Ci0KICAgICBJbnRTaXplIHNpemUgPSB2aWV3U2l6ZTsKICAgICBJbnRTaXplIGNvbnRl
bnRTaXplID0gSW50U2l6ZSgtMSwgLTEpOwogCi0gICAgaWYgKG1fbWluaW11bUxheW91dFdpZHRo
ID4gMCkgewotICAgICAgICBtX3dlYlBhZ2UtPnNldFNpemUoSW50U2l6ZShtX21pbmltdW1MYXlv
dXRXaWR0aCwgMCkpOworICAgIGlmIChtaW5pbXVtTGF5b3V0V2lkdGggPiAwKSB7CisgICAgICAg
IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+ZW5hYmxlQXV0b1Np
emVNb2RlKHRydWUsIEludFNpemUobWluaW11bUxheW91dFdpZHRoLCAxKSwgSW50U2l6ZShtaW5p
bXVtTGF5b3V0V2lkdGgsIElOVF9NQVgpKTsKICAgICAgICAgbV93ZWJQYWdlLT5sYXlvdXRJZk5l
ZWRlZCgpOwogCiAgICAgICAgIGNvbnRlbnRTaXplID0gbV93ZWJQYWdlLT5tYWluV2ViRnJhbWUo
KS0+Y29udGVudEJvdW5kcygpLnNpemUoKTsKICAgICAgICAgc2l6ZSA9IGNvbnRlbnRTaXplOwor
ICAgIH0gZWxzZSB7CisgICAgICAgIG1fd2ViUGFnZS0+c2V0U2l6ZShzaXplKTsKKyAgICAgICAg
bV93ZWJQYWdlLT5sYXlvdXRJZk5lZWRlZCgpOwogICAgIH0KIAotICAgIG1fd2ViUGFnZS0+c2V0
U2l6ZShzaXplKTsKLSAgICBtX3dlYlBhZ2UtPmxheW91dElmTmVlZGVkKCk7Ci0KICAgICBpZiAo
bV9wYWdlT3ZlcmxheUxheWVyKQogICAgICAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPnNldFNpemUo
c2l6ZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183319</attachid>
            <date>2013-01-17 16:59:44 -0800</date>
            <delta_ts>2013-01-17 18:22:25 -0800</delta_ts>
            <desc>patch with a const and WebPage will disable the mode if needed</desc>
            <filename>ics.diff</filename>
            <type>text/plain</type>
            <size>9936</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMWNmNzE2Li43ZDM3OWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTMtMDEtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dLMl0gTWluaW11bSBsYXlvdXQgd2lkdGggYXV0by1zaXppbmcgc2hvdWxkIHVz
ZSBGcmFtZVZpZXc6OmVuYWJsZUF1dG9TaXplTW9kZSBzbyB0aGF0IGl0IGNhbiBzaHJpbmsgdGhl
IHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDcyMDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyODQ5MDI5PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4
cG9ydCBGcmFtZVZpZXc6OmVuYWJsZUF1dG9TaXplKC4uLikuCisKIDIwMTMtMDEtMTYgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgbWlzc2lu
ZyAjaWYgdG8gZml4IHRoZSBNYWMgYnVpbGQgc2FucyBFTkFCTEVfQ1NTX0ZJTFRFUlMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCmluZGV4IDgxYTA5YjAuLmVkZGMxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC0xMDE4LDYgKzEwMTgsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdhZGRTY3JvbGxh
YmxlQXJlYUVQTlNfMTRTY3JvbGxhYmxlQXJlYUUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3Bh
aW50Q29udHJvbFRpbnRzRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFNjcm9sbFBvc2l0
aW9uRVJLTlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlOUZyYW1lVmlldzE4dXBkYXRlQ29udHJv
bFRpbnRzRXYKK19fWk43V2ViQ29yZTlGcmFtZVZpZXcxOGVuYWJsZUF1dG9TaXplTW9kZUViUktO
U183SW50U2l6ZUVTM18KIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1Jl
Y3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJlY3RFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjBl
bnRlckNvbXBvc2l0aW5nTW9kZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjByZW1vdmVTY3Jv
bGxhYmxlQXJlYUVQTlNfMTRTY3JvbGxhYmxlQXJlYUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3ZGQ2ZDY2Li40
MjA1OTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTMtMDEtMTcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gTWluaW11bSBs
YXlvdXQgd2lkdGggYXV0by1zaXppbmcgc2hvdWxkIHVzZSBGcmFtZVZpZXc6OmVuYWJsZUF1dG9T
aXplTW9kZSBzbyB0aGF0IGl0IGNhbiBzaHJpbmsgdGhlIHZpZXdwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDcyMDAKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEyODQ5MDI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2UgdXNlIG9mIEZyYW1lVmlldydzIGF1dG8tc2l6ZSBtb2RlIHRvIGFs
bG93IFdLVmlldydzIGNvbXB1dGVkIGludHJpbnNpYyBjb250ZW50CisgICAgICAgIHNpemUgdG8g
c2hyaW5rIGJlbG93IHRoZSBjdXJyZW50IHZpZXdwb3J0IHNpemUuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpz
ZXRNaW5pbXVtTGF5b3V0V2lkdGgpOiBGb3J3YXJkIG1pbmltdW1MYXlvdXRXaWR0aCBjaGFuZ2Vz
IHRvIFdlYlBhZ2UuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lTG9hZGVyQ2xpZW50
Ojp0cmFuc2l0aW9uVG9Db21taXR0ZWRGb3JOZXdQYWdlKTogRW5hYmxlIGF1dG8tc2l6ZSBtb2Rl
IG9uIHRoZSBuZXcgRnJhbWVWaWV3IGlmIG5lZWRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OldlYlBhZ2UpOiBJ
bml0aWFsaXplIG1fbWluaW11bUxheW91dFdpZHRoIHRvIDAuCisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnNldE1pbmltdW1MYXlvdXRXaWR0aCk6IEtlZXAgdHJhY2sgb2YgbWluaW11bUxheW91
dFdpZHRoIG9uIFdlYlBhZ2UuIERpc2FibGUgYXV0by1zaXppbmcgaWYgbWluaW11bUxheW91dFdp
ZHRoIGlzIDAuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6bWluaW11bUxheW91dFdpZHRoKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjogQWRkIFNldE1pbmltdW1MYXlvdXRX
aWR0aC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhLmg6CisgICAgICAgIChUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYSk6
IFJlbW92ZSBzdG9yYWdlIGZvciBtX21pbmltdW1MYXlvdXRXaWR0aC4gV2UgY2FuIGdldCBpdCBm
cm9tIFdlYlBhZ2UgaW5zdGVhZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYTo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEpOgor
ICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6bWFpbkZyYW1l
Q29udGVudFNpemVDaGFuZ2VkKTogR3JhYiBtaW5pbXVtTGF5b3V0V2lkdGggZnJvbSBXZWJQYWdl
LgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6dXBkYXRl
R2VvbWV0cnkpOiBFbmFibGUgYXV0by1zaXplIG1vZGUgb24gdGhlIEZyYW1lVmlldyBpZiBuZWVk
ZWQuCisKIDIwMTMtMDEtMTUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIGEgU2V0dGluZyB0byBkaXNhYmxlIFFUS2l0IG1lZGlhIGVuZ2luZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYTg3ZTQxYS4uOGZmNTZk
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTQyMTQs
NiArNDIxNCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRNaW5pbXVtTGF5b3V0V2lkdGgoZG91
YmxlIG1pbmltdW1MYXlvdXRXaWR0aCkKIAogICAgIG1fbWluaW11bUxheW91dFdpZHRoID0gbWlu
aW11bUxheW91dFdpZHRoOwogICAgIG1fZHJhd2luZ0FyZWEtPm1pbmltdW1MYXlvdXRXaWR0aERp
ZENoYW5nZSgpOworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0TWlu
aW11bUxheW91dFdpZHRoKG1pbmltdW1MYXlvdXRXaWR0aCksIG1fcGFnZUlELCAwKTsKIAogI2lm
IFBMQVRGT1JNKE1BQykKICAgICBpZiAobV9taW5pbXVtTGF5b3V0V2lkdGggPD0gMCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggYmM2ODk1MS4uMmNjMWJhMTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC0xMjQyLDYgKzEyNDIsMTAgQEAgdm9p
ZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSgp
CiAgICAgICAgIEludFNpemUoKSwgY3VycmVudEZpeGVkVmlzaWJsZUNvbnRlbnRSZWN0LCBzaG91
bGRVc2VGaXhlZExheW91dCwKICAgICAgICAgZGVmYXVsdFNjcm9sbGJhck1vZGUsIC8qIGxvY2sg
Ki8gc2hvdWxkSGlkZVNjcm9sbGJhcnMsIGRlZmF1bHRTY3JvbGxiYXJNb2RlLCAvKiBsb2NrICov
IHNob3VsZEhpZGVTY3JvbGxiYXJzKTsKIAorICAgIGludCBtaW5pbXVtTGF5b3V0V2lkdGggPSB3
ZWJQYWdlLT5taW5pbXVtTGF5b3V0V2lkdGgoKTsKKyAgICBpZiAobWluaW11bUxheW91dFdpZHRo
KQorICAgICAgICBtX2ZyYW1lLT5jb3JlRnJhbWUoKS0+dmlldygpLT5lbmFibGVBdXRvU2l6ZU1v
ZGUodHJ1ZSwgSW50U2l6ZShtaW5pbXVtTGF5b3V0V2lkdGgsIDEpLCBJbnRTaXplKG1pbmltdW1M
YXlvdXRXaWR0aCwgSU5UX01BWCkpOworCiAgICAgbV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXco
KS0+c2V0UHJvaGliaXRzU2Nyb2xsaW5nKHNob3VsZERpc2FibGVTY3JvbGxpbmcpOwogCiAjaWYg
VVNFKFRJTEVEX0JBQ0tJTkdfU1RPUkUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjRkZWVlZi4uZjk2NWU4ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMjczLDYgKzI3Myw3IEBA
IFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25Q
YXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgICwgbV9jYW5TaG9ydENpcmN1aXRIb3Jpem9udGFs
V2hlZWxFdmVudHMoZmFsc2UpCiAgICAgLCBtX251bVdoZWVsRXZlbnRIYW5kbGVycygwKQogICAg
ICwgbV9jYWNoZWRQYWdlQ291bnQoMCkKKyAgICAsIG1fbWluaW11bUxheW91dFdpZHRoKDApCiAj
aWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAgICAgLCBtX2lzU2hvd2luZ0NvbnRleHRNZW51KGZh
bHNlKQogI2VuZGlmCkBAIC0zNzc4LDQgKzM3NzksMTIgQEAgdm9pZCBXZWJQYWdlOjpzZXRNYWlu
RnJhbWVJblZpZXdTb3VyY2VNb2RlKGJvb2wgaW5WaWV3U291cmNlTW9kZSkKICAgICBtX21haW5G
cmFtZS0+Y29yZUZyYW1lKCktPnNldEluVmlld1NvdXJjZU1vZGUoaW5WaWV3U291cmNlTW9kZSk7
CiB9CiAKK3ZvaWQgV2ViUGFnZTo6c2V0TWluaW11bUxheW91dFdpZHRoKGRvdWJsZSBtaW5pbXVt
TGF5b3V0V2lkdGgpCit7CisgICAgbV9taW5pbXVtTGF5b3V0V2lkdGggPSBtaW5pbXVtTGF5b3V0
V2lkdGg7CisKKyAgICBpZiAoIW1fbWluaW11bUxheW91dFdpZHRoKQorICAgICAgICBjb3JlUGFn
ZSgpLT5tYWluRnJhbWUoKS0+dmlldygpLT5lbmFibGVBdXRvU2l6ZU1vZGUoZmFsc2UsIEludFNp
emUoKSwgSW50U2l6ZSgpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCBiMjE5MmI0Li43YjViOTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTYw
Niw2ICs2MDYsOSBAQCBwdWJsaWM6CiAKICAgICBib29sIG1haW5GcmFtZUlzU2Nyb2xsYWJsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbWFpbkZyYW1lSXNTY3JvbGxhYmxlOyB9CiAKKyAgICB2b2lkIHNl
dE1pbmltdW1MYXlvdXRXaWR0aChkb3VibGUpOworICAgIGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lk
dGgoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1MYXlvdXRXaWR0aDsgfQorCiBwcml2YXRlOgog
ICAgIFdlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzJik7CiAKQEAgLTkzMyw2ICs5MzYsOCBAQCBwcml2YXRlOgogCiAgICAgdW5zaWduZWQgbV9j
YWNoZWRQYWdlQ291bnQ7CiAKKyAgICBkb3VibGUgbV9taW5pbXVtTGF5b3V0V2lkdGg7CisKICNp
ZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICBib29sIG1faXNTaG93aW5nQ29udGV4dE1lbnU7
CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggNTFjNjFhMy4uZTMyODkyYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAg
LTI4NCw2ICsyODQsOSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBBY2NlcHRzRmlyc3RN
b3VzZShpbnQgZXZlbnROdW1iZXIsIFdlYktpdDo6V2ViTW91c2VFdmVudCBldmVudCkgLT4gKGJv
b2wgcmVzdWx0KQogICAgIEluc2VydERpY3RhdGVkVGV4dChXVEY6OlN0cmluZyB0ZXh0LCB1aW50
NjRfdCByZXBsYWNlbWVudFJhbmdlU3RhcnQsIHVpbnQ2NF90IHJlcGxhY2VtZW50UmFuZ2VFbmQs
IFdURjo6VmVjdG9yPFdlYkNvcmU6OkRpY3RhdGlvbkFsdGVybmF0aXZlPiBkaWN0YXRpb25BbHRl
cm5hdGl2ZXMpIC0+IChib29sIGhhbmRsZWQsIFdlYktpdDo6RWRpdG9yU3RhdGUgbmV3U3RhdGUp
CiAjZW5kaWYKKworICAgIFNldE1pbmltdW1MYXlvdXRXaWR0aChkb3VibGUgbWluaW11bUxheW91
dFdpZHRoKQorCiAjaWYgUExBVEZPUk0oRUZMKQogICAgIENvbmZpcm1Db21wb3NpdGlvbihXVEY6
OlN0cmluZyBjb21wb3NpdGlvblN0cmluZykKICAgICBTZXRDb21wb3NpdGlvbihXVEY6OlN0cmlu
ZyBjb21wb3NpdGlvblN0cmluZywgV1RGOjpWZWN0b3I8V2ViQ29yZTo6Q29tcG9zaXRpb25VbmRl
cmxpbmU+IHVuZGVybGluZXMsIHVpbnQ2NF90IGN1cnNvclBvc2l0aW9uKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCmluZGV4IGJjNTcxNjQuLjhmZDNlMjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKQEAgLTExOCw3ICsxMTgsNiBA
QCBwcml2YXRlOgogCiAgICAgV2ViQ29yZTo6SW50UmVjdCBtX2V4cG9zZWRSZWN0OwogCi0gICAg
ZG91YmxlIG1fbWluaW11bUxheW91dFdpZHRoOwogICAgIFdlYkNvcmU6OkludFNpemUgbV9sYXN0
U2VudEludHJpbnNpY0NvbnRlbnRTaXplOwogICAgIGJvb2wgbV9pblVwZGF0ZUdlb21ldHJ5Owog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDgwZTgw
NWQuLjMxMzE2ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5t
bQpAQCAtNzAsNyArNzAsNiBAQCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6VGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEoV2ViUGFnZSogd2ViUGFnZSwgYwogICAgICwgbV9sYXll
clRyZWVTdGF0ZUlzRnJvemVuKGZhbHNlKQogICAgICwgbV9sYXllckZsdXNoU2NoZWR1bGVyKHRo
aXMpCiAgICAgLCBtX2lzUGFpbnRpbmdTdXNwZW5kZWQoIXBhcmFtZXRlcnMuaXNWaXNpYmxlKQot
ICAgICwgbV9taW5pbXVtTGF5b3V0V2lkdGgoMCkKIHsKICAgICBQYWdlKiBwYWdlID0gbV93ZWJQ
YWdlLT5jb3JlUGFnZSgpOwogCkBAIC0yMjcsNyArMjI2LDcgQEAgdm9pZCBUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNT
dG9yZSYKIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6bWFpbkZyYW1lQ29u
dGVudFNpemVDaGFuZ2VkKGNvbnN0IEludFNpemUmIGNvbnRlbnRTaXplKQogewotICAgIGlmICgh
bV9taW5pbXVtTGF5b3V0V2lkdGgpCisgICAgaWYgKCFtX3dlYlBhZ2UtPm1pbmltdW1MYXlvdXRX
aWR0aCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9pblVwZGF0ZUdlb21ldHJ5KQpA
QCAtMzU4LDIyICszNTcsMjAgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYTo6
dXBkYXRlR2VvbWV0cnkoY29uc3QgSW50U2l6ZSYgdmlld1NpemUsIGRvdWIKIHsKICAgICBtX2lu
VXBkYXRlR2VvbWV0cnkgPSB0cnVlOwogCi0gICAgbV9taW5pbXVtTGF5b3V0V2lkdGggPSBtaW5p
bXVtTGF5b3V0V2lkdGg7Ci0KICAgICBJbnRTaXplIHNpemUgPSB2aWV3U2l6ZTsKICAgICBJbnRT
aXplIGNvbnRlbnRTaXplID0gSW50U2l6ZSgtMSwgLTEpOwogCi0gICAgaWYgKG1fbWluaW11bUxh
eW91dFdpZHRoID4gMCkgewotICAgICAgICBtX3dlYlBhZ2UtPnNldFNpemUoSW50U2l6ZShtX21p
bmltdW1MYXlvdXRXaWR0aCwgMCkpOworICAgIGlmIChtaW5pbXVtTGF5b3V0V2lkdGggPiAwKSB7
CisgICAgICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPnZpZXcoKS0+ZW5h
YmxlQXV0b1NpemVNb2RlKHRydWUsIEludFNpemUobWluaW11bUxheW91dFdpZHRoLCAxKSwgSW50
U2l6ZShtaW5pbXVtTGF5b3V0V2lkdGgsIElOVF9NQVgpKTsKICAgICAgICAgbV93ZWJQYWdlLT5s
YXlvdXRJZk5lZWRlZCgpOwogCiAgICAgICAgIGNvbnRlbnRTaXplID0gbV93ZWJQYWdlLT5tYWlu
V2ViRnJhbWUoKS0+Y29udGVudEJvdW5kcygpLnNpemUoKTsKICAgICAgICAgc2l6ZSA9IGNvbnRl
bnRTaXplOworICAgIH0gZWxzZSB7CisgICAgICAgIG1fd2ViUGFnZS0+c2V0U2l6ZShzaXplKTsK
KyAgICAgICAgbV93ZWJQYWdlLT5sYXlvdXRJZk5lZWRlZCgpOwogICAgIH0KIAotICAgIG1fd2Vi
UGFnZS0+c2V0U2l6ZShzaXplKTsKLSAgICBtX3dlYlBhZ2UtPmxheW91dElmTmVlZGVkKCk7Ci0K
ICAgICBpZiAobV9wYWdlT3ZlcmxheUxheWVyKQogICAgICAgICBtX3BhZ2VPdmVybGF5TGF5ZXIt
PnNldFNpemUoc2l6ZSk7CiAK
</data>
<flag name="review"
          id="201645"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183341</attachid>
            <date>2013-01-17 18:22:25 -0800</date>
            <delta_ts>2013-01-17 18:30:04 -0800</delta_ts>
            <desc>patch</desc>
            <filename>ics.diff</filename>
            <type>text/plain</type>
            <size>13240</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwMWNmNzE2Li43ZDM3OWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTMtMDEtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW1dLMl0gTWluaW11bSBsYXlvdXQgd2lkdGggYXV0by1zaXppbmcgc2hvdWxkIHVz
ZSBGcmFtZVZpZXc6OmVuYWJsZUF1dG9TaXplTW9kZSBzbyB0aGF0IGl0IGNhbiBzaHJpbmsgdGhl
IHZpZXdwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDcyMDAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyODQ5MDI5PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46IEV4
cG9ydCBGcmFtZVZpZXc6OmVuYWJsZUF1dG9TaXplKC4uLikuCisKIDIwMTMtMDEtMTYgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgbWlzc2lu
ZyAjaWYgdG8gZml4IHRoZSBNYWMgYnVpbGQgc2FucyBFTkFCTEVfQ1NTX0ZJTFRFUlMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCmluZGV4IDgxYTA5YjAuLmVkZGMxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CkBAIC0xMDE4LDYgKzEwMTgsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTdhZGRTY3JvbGxh
YmxlQXJlYUVQTlNfMTRTY3JvbGxhYmxlQXJlYUUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3Bh
aW50Q29udHJvbFRpbnRzRXYKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxN3NldFNjcm9sbFBvc2l0
aW9uRVJLTlNfOEludFBvaW50RQogX19aTjdXZWJDb3JlOUZyYW1lVmlldzE4dXBkYXRlQ29udHJv
bFRpbnRzRXYKK19fWk43V2ViQ29yZTlGcmFtZVZpZXcxOGVuYWJsZUF1dG9TaXplTW9kZUViUktO
U183SW50U2l6ZUVTM18KIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1Jl
Y3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJlY3RFCiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjBl
bnRlckNvbXBvc2l0aW5nTW9kZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjByZW1vdmVTY3Jv
bGxhYmxlQXJlYUVQTlNfMTRTY3JvbGxhYmxlQXJlYUUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3ZGQ2ZDY2Li4y
NmE2MzkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTMtMDEtMTcgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gTWluaW11bSBs
YXlvdXQgd2lkdGggYXV0by1zaXppbmcgc2hvdWxkIHVzZSBGcmFtZVZpZXc6OmVuYWJsZUF1dG9T
aXplTW9kZSBzbyB0aGF0IGl0IGNhbiBzaHJpbmsgdGhlIHZpZXdwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDcyMDAKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzEyODQ5MDI5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE1ha2UgdXNlIG9mIEZyYW1lVmlldydzIGF1dG8tc2l6ZSBtb2RlIHRvIGFs
bG93IFdLVmlldydzIGNvbXB1dGVkIGludHJpbnNpYyBjb250ZW50CisgICAgICAgIHNpemUgdG8g
c2hyaW5rIGJlbG93IHRoZSBjdXJyZW50IHZpZXdwb3J0IHNpemUuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpz
ZXRNaW5pbXVtTGF5b3V0V2lkdGgpOiBGb3J3YXJkIG1pbmltdW1MYXlvdXRXaWR0aCBjaGFuZ2Vz
IHRvIFdlYlBhZ2UuCisgICAgICAgICogVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYVByb3h5Lm1tOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYVByb3h5OjpzZW5kVXBkYXRlR2VvbWV0cnkpOiBSZW1vdmUgbWluaW11bUxheW91
dFdpZHRoIGFyZ3VtZW50IG9uIHVwZGF0ZUdlb21ldHJ5LgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6dHJhbnNpdGlvblRvQ29tbWl0dGVkRm9yTmV3UGFnZSk6
IEVuYWJsZSBhdXRvLXNpemUgbW9kZSBvbiB0aGUgbmV3IEZyYW1lVmlldyBpZiBuZWVkZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6CisgICAgICAgIChXZWJL
aXQ6OkRyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeSk6IFJlbW92ZSBtaW5pbXVtTGF5b3V0V2lk
dGggYXJndW1lbnQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1l
c3NhZ2VzLmluOiBSZW1vdmUgbWluaW11bUxheW91dFdpZHRoIGFyZ3VtZW50IG9uIHVwZGF0ZUdl
b21ldHJ5LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6IEluaXRpYWxpemUgbV9taW5pbXVtTGF5b3V0
V2lkdGggdG8gMC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0TWluaW11bUxheW91dFdp
ZHRoKTogS2VlcCB0cmFjayBvZiBtaW5pbXVtTGF5b3V0V2lkdGggb24gV2ViUGFnZS4gVXBkYXRl
IGF1dG8tc2l6aW5nIHN0YXRlIGlmIG5lZWRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjptaW5pbXVtTGF5b3V0V2lk
dGgpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOiBB
ZGQgU2V0TWluaW11bUxheW91dFdpZHRoLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhKTogUmVtb3ZlIHN0b3JhZ2UgZm9yIG1fbWluaW11bUxheW91dFdp
ZHRoLiBXZSBjYW4gZ2V0IGl0IGZyb20gV2ViUGFnZSBpbnN0ZWFkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW06CisgICAg
ICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjpUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhOjptYWluRnJhbWVDb250ZW50U2l6ZUNoYW5nZWQpOiBHcmFiIG1pbmltdW1MYXlv
dXRXaWR0aCBmcm9tIFdlYlBhZ2UuCisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlv
bkRyYXdpbmdBcmVhOjp1cGRhdGVHZW9tZXRyeSk6IERvbid0IHNldFNpemUoKSBpZiBhdXRvLXNp
emluZyBpcyBlbmFibGVkOyBGcmFtZVZpZXcgd2lsbCBkbyB0aGUgcmlnaHQgdGhpbmcuCisKIDIw
MTMtMDEtMTUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRk
IGEgU2V0dGluZyB0byBkaXNhYmxlIFFUS2l0IG1lZGlhIGVuZ2luZS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYTg3ZTQxYS4uNmQ5ODVjMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTQyMTMsNiArNDIxMyw3
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzZXRNaW5pbXVtTGF5b3V0V2lkdGgoZG91YmxlIG1pbmlt
dW1MYXlvdXRXaWR0aCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9taW5pbXVtTGF5b3V0V2lk
dGggPSBtaW5pbXVtTGF5b3V0V2lkdGg7CisgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpTZXRNaW5pbXVtTGF5b3V0V2lkdGgobWluaW11bUxheW91dFdpZHRoKSwgbV9wYWdl
SUQsIDApOwogICAgIG1fZHJhd2luZ0FyZWEtPm1pbmltdW1MYXlvdXRXaWR0aERpZENoYW5nZSgp
OwogCiAjaWYgUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1t
CmluZGV4IDNkZThiZTcuLmE3MTNkNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJv
eHkubW0KQEAgLTE2Miw3ICsxNjIsNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdB
cmVhUHJveHk6OnNlbmRVcGRhdGVHZW9tZXRyeSgpCiAKICAgICBtX2xhc3RTZW50TWluaW11bUxh
eW91dFdpZHRoID0gbV93ZWJQYWdlUHJveHktPm1pbmltdW1MYXlvdXRXaWR0aCgpOwogICAgIG1f
bGFzdFNlbnRTaXplID0gbV9zaXplOwotICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCktPnNl
bmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpVcGRhdGVHZW9tZXRyeShtX3NpemUsIG1fbGFzdFNl
bnRNaW5pbXVtTGF5b3V0V2lkdGgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOworICAgIG1f
d2ViUGFnZVByb3h5LT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpVcGRh
dGVHZW9tZXRyeShtX3NpemUpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOwogICAgIG1faXNX
YWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkgPSB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCmluZGV4IGJjNjg5NTEuLjJjYzFiYTE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMTI0Miw2ICsxMjQyLDEwIEBAIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnRyYW5zaXRpb25Ub0NvbW1pdHRlZEZvck5ld1BhZ2UoKQogICAgICAgICBJ
bnRTaXplKCksIGN1cnJlbnRGaXhlZFZpc2libGVDb250ZW50UmVjdCwgc2hvdWxkVXNlRml4ZWRM
YXlvdXQsCiAgICAgICAgIGRlZmF1bHRTY3JvbGxiYXJNb2RlLCAvKiBsb2NrICovIHNob3VsZEhp
ZGVTY3JvbGxiYXJzLCBkZWZhdWx0U2Nyb2xsYmFyTW9kZSwgLyogbG9jayAqLyBzaG91bGRIaWRl
U2Nyb2xsYmFycyk7CiAKKyAgICBpbnQgbWluaW11bUxheW91dFdpZHRoID0gd2ViUGFnZS0+bWlu
aW11bUxheW91dFdpZHRoKCk7CisgICAgaWYgKG1pbmltdW1MYXlvdXRXaWR0aCkKKyAgICAgICAg
bV9mcmFtZS0+Y29yZUZyYW1lKCktPnZpZXcoKS0+ZW5hYmxlQXV0b1NpemVNb2RlKHRydWUsIElu
dFNpemUobWluaW11bUxheW91dFdpZHRoLCAxKSwgSW50U2l6ZShtaW5pbXVtTGF5b3V0V2lkdGgs
IElOVF9NQVgpKTsKKwogICAgIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT52aWV3KCktPnNldFByb2hp
Yml0c1Njcm9sbGluZyhzaG91bGREaXNhYmxlU2Nyb2xsaW5nKTsKIAogI2lmIFVTRShUSUxFRF9C
QUNLSU5HX1NUT1JFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuaAppbmRleCA4Y2ZlMjY2Li4xMjE1MTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaApAQCAtMTE3LDcgKzExNyw3IEBAIHBy
aXZhdGU6CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gVXNlZCBieSBUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYS4KLSAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlR2VvbWV0cnkoY29uc3Qg
V2ViQ29yZTo6SW50U2l6ZSYgdmlld1NpemUsIGRvdWJsZSBtaW5pbXVtTGF5b3V0V2lkdGgpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVHZW9tZXRyeShjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiB2aWV3U2l6ZSkgeyB9CiAgICAgdmlydHVhbCB2b2lkIHNldERldmljZVNjYWxlRmFjdG9yKGZs
b2F0KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29sb3JTcGFjZShjb25zdCBDb2xvclNwYWNl
RGF0YSYpIHsgfQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KaW5kZXggZGVjODZlYy4uZmU5OGM3
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9E
cmF3aW5nQXJlYS5tZXNzYWdlcy5pbgpAQCAtMzAsNyArMzAsNyBAQCBtZXNzYWdlcyAtPiBEcmF3
aW5nQXJlYSB7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gVXNlZCBieSBUaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYS4KLSAgICBVcGRhdGVHZW9tZXRyeShXZWJDb3JlOjpJbnRTaXpl
IHZpZXdTaXplLCBkb3VibGUgbWluaW11bUxheW91dFdpZHRoKQorICAgIFVwZGF0ZUdlb21ldHJ5
KFdlYkNvcmU6OkludFNpemUgdmlld1NpemUpCiAgICAgU2V0RGV2aWNlU2NhbGVGYWN0b3IoZmxv
YXQgZGV2aWNlU2NhbGVGYWN0b3IpCiAgICAgU2V0Q29sb3JTcGFjZShXZWJLaXQ6OkNvbG9yU3Bh
Y2VEYXRhIGNvbG9yU3BhY2UpCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAyNGRlZWVmLi45MTU3OTAwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yNzMsNiArMjczLDcg
QEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlv
blBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgLCBtX2NhblNob3J0Q2lyY3VpdEhvcml6b250
YWxXaGVlbEV2ZW50cyhmYWxzZSkKICAgICAsIG1fbnVtV2hlZWxFdmVudEhhbmRsZXJzKDApCiAg
ICAgLCBtX2NhY2hlZFBhZ2VDb3VudCgwKQorICAgICwgbV9taW5pbXVtTGF5b3V0V2lkdGgoMCkK
ICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKICAgICAsIG1faXNTaG93aW5nQ29udGV4dE1lbnUo
ZmFsc2UpCiAjZW5kaWYKQEAgLTM3NzgsNCArMzc3OSwxNCBAQCB2b2lkIFdlYlBhZ2U6OnNldE1h
aW5GcmFtZUluVmlld1NvdXJjZU1vZGUoYm9vbCBpblZpZXdTb3VyY2VNb2RlKQogICAgIG1fbWFp
bkZyYW1lLT5jb3JlRnJhbWUoKS0+c2V0SW5WaWV3U291cmNlTW9kZShpblZpZXdTb3VyY2VNb2Rl
KTsKIH0KIAordm9pZCBXZWJQYWdlOjpzZXRNaW5pbXVtTGF5b3V0V2lkdGgoZG91YmxlIG1pbmlt
dW1MYXlvdXRXaWR0aCkKK3sKKyAgICBtX21pbmltdW1MYXlvdXRXaWR0aCA9IG1pbmltdW1MYXlv
dXRXaWR0aDsKKworICAgIGlmIChtaW5pbXVtTGF5b3V0V2lkdGggPiAwKQorICAgICAgICBjb3Jl
UGFnZSgpLT5tYWluRnJhbWUoKS0+dmlldygpLT5lbmFibGVBdXRvU2l6ZU1vZGUodHJ1ZSwgSW50
U2l6ZShtaW5pbXVtTGF5b3V0V2lkdGgsIDEpLCBJbnRTaXplKG1pbmltdW1MYXlvdXRXaWR0aCwg
SU5UX01BWCkpOworICAgIGVsc2UKKyAgICAgICAgY29yZVBhZ2UoKS0+bWFpbkZyYW1lKCktPnZp
ZXcoKS0+ZW5hYmxlQXV0b1NpemVNb2RlKGZhbHNlLCBJbnRTaXplKCksIEludFNpemUoKSk7Cit9
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKaW5kZXggYjIxOTJiNC4uN2I1YjkzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC02MDYsNiArNjA2LDkgQEAgcHVibGlj
OgogCiAgICAgYm9vbCBtYWluRnJhbWVJc1Njcm9sbGFibGUoKSBjb25zdCB7IHJldHVybiBtX21h
aW5GcmFtZUlzU2Nyb2xsYWJsZTsgfQogCisgICAgdm9pZCBzZXRNaW5pbXVtTGF5b3V0V2lkdGgo
ZG91YmxlKTsKKyAgICBkb3VibGUgbWluaW11bUxheW91dFdpZHRoKCkgY29uc3QgeyByZXR1cm4g
bV9taW5pbXVtTGF5b3V0V2lkdGg7IH0KKwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90
IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYpOwogCkBAIC05MzMsNiAr
OTM2LDggQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fY2FjaGVkUGFnZUNvdW50OwogCisg
ICAgZG91YmxlIG1fbWluaW11bUxheW91dFdpZHRoOworCiAjaWYgRU5BQkxFKENPTlRFWFRfTUVO
VVMpCiAgICAgYm9vbCBtX2lzU2hvd2luZ0NvbnRleHRNZW51OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmlu
ZGV4IDUxYzYxYTMuLmUzMjg5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yODQsNiArMjg0LDkgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZSB7CiAgICAgQWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVy
LCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpIC0+IChib29sIHJlc3VsdCkKICAgICBJbnNl
cnREaWN0YXRlZFRleHQoV1RGOjpTdHJpbmcgdGV4dCwgdWludDY0X3QgcmVwbGFjZW1lbnRSYW5n
ZVN0YXJ0LCB1aW50NjRfdCByZXBsYWNlbWVudFJhbmdlRW5kLCBXVEY6OlZlY3RvcjxXZWJDb3Jl
OjpEaWN0YXRpb25BbHRlcm5hdGl2ZT4gZGljdGF0aW9uQWx0ZXJuYXRpdmVzKSAtPiAoYm9vbCBo
YW5kbGVkLCBXZWJLaXQ6OkVkaXRvclN0YXRlIG5ld1N0YXRlKQogI2VuZGlmCisKKyAgICBTZXRN
aW5pbXVtTGF5b3V0V2lkdGgoZG91YmxlIG1pbmltdW1MYXlvdXRXaWR0aCkKKwogI2lmIFBMQVRG
T1JNKEVGTCkKICAgICBDb25maXJtQ29tcG9zaXRpb24oV1RGOjpTdHJpbmcgY29tcG9zaXRpb25T
dHJpbmcpCiAgICAgU2V0Q29tcG9zaXRpb24oV1RGOjpTdHJpbmcgY29tcG9zaXRpb25TdHJpbmcs
IFdURjo6VmVjdG9yPFdlYkNvcmU6OkNvbXBvc2l0aW9uVW5kZXJsaW5lPiB1bmRlcmxpbmVzLCB1
aW50NjRfdCBjdXJzb3JQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWEuaAppbmRleCBiYzU3MTY0Li5mMzkxY2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYS5oCkBAIC04OCw3ICs4OCw3IEBAIHByaXZhdGU6CiAgICAgLy8gTWVz
c2FnZSBoYW5kbGVycy4KICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZFBhaW50aW5nKCkgT1ZFUlJJ
REU7CiAgICAgdmlydHVhbCB2b2lkIHJlc3VtZVBhaW50aW5nKCkgT1ZFUlJJREU7Ci0gICAgdmly
dHVhbCB2b2lkIHVwZGF0ZUdlb21ldHJ5KGNvbnN0IFdlYkNvcmU6OkludFNpemUmIHZpZXdTaXpl
LCBkb3VibGUgbWluaW11bUxheW91dFdpZHRoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlR2VvbWV0cnkoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgdmlld1NpemUpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzZXREZXZpY2VTY2FsZUZhY3RvcihmbG9hdCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIHNldExheWVySG9zdGluZ01vZGUodWludDMyX3QpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb2xvclNwYWNlKGNvbnN0IENvbG9yU3BhY2VEYXRhJikg
T1ZFUlJJREU7CkBAIC0xMTgsNyArMTE4LDYgQEAgcHJpdmF0ZToKIAogICAgIFdlYkNvcmU6Oklu
dFJlY3QgbV9leHBvc2VkUmVjdDsKIAotICAgIGRvdWJsZSBtX21pbmltdW1MYXlvdXRXaWR0aDsK
ICAgICBXZWJDb3JlOjpJbnRTaXplIG1fbGFzdFNlbnRJbnRyaW5zaWNDb250ZW50U2l6ZTsKICAg
ICBib29sIG1faW5VcGRhdGVHZW9tZXRyeTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1t
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYS5tbQppbmRleCA4MGU4MDVkLi40ZjVmOWVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KQEAgLTcwLDcgKzcwLDYgQEAgVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWE6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhKFdlYlBh
Z2UqIHdlYlBhZ2UsIGMKICAgICAsIG1fbGF5ZXJUcmVlU3RhdGVJc0Zyb3plbihmYWxzZSkKICAg
ICAsIG1fbGF5ZXJGbHVzaFNjaGVkdWxlcih0aGlzKQogICAgICwgbV9pc1BhaW50aW5nU3VzcGVu
ZGVkKCFwYXJhbWV0ZXJzLmlzVmlzaWJsZSkKLSAgICAsIG1fbWluaW11bUxheW91dFdpZHRoKDAp
CiB7CiAgICAgUGFnZSogcGFnZSA9IG1fd2ViUGFnZS0+Y29yZVBhZ2UoKTsKIApAQCAtMjI3LDcg
KzIyNiw3IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnVwZGF0ZVByZWZl
cmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmCiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0
aW9uRHJhd2luZ0FyZWE6Om1haW5GcmFtZUNvbnRlbnRTaXplQ2hhbmdlZChjb25zdCBJbnRTaXpl
JiBjb250ZW50U2l6ZSkKIHsKLSAgICBpZiAoIW1fbWluaW11bUxheW91dFdpZHRoKQorICAgIGlm
ICghbV93ZWJQYWdlLT5taW5pbXVtTGF5b3V0V2lkdGgoKSkKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgaWYgKG1faW5VcGRhdGVHZW9tZXRyeSkKQEAgLTM1NCwyNiArMzUzLDIzIEBAIHZvaWQgVGls
ZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6Om1haW5GcmFtZVNjcm9sbGFiaWxpdHlDaGFuZ2Vk
KGJvb2wgaXNTY3JvbGxhCiAgICAgbWFpbkZyYW1lVGlsZWRCYWNraW5nKCktPnNldENsaXBzVG9F
eHBvc2VkUmVjdCghaXNTY3JvbGxhYmxlKTsKIH0KIAotdm9pZCBUaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYTo6dXBkYXRlR2VvbWV0cnkoY29uc3QgSW50U2l6ZSYgdmlld1NpemUsIGRvdWJs
ZSBtaW5pbXVtTGF5b3V0V2lkdGgpCit2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVh
Ojp1cGRhdGVHZW9tZXRyeShjb25zdCBJbnRTaXplJiB2aWV3U2l6ZSkKIHsKICAgICBtX2luVXBk
YXRlR2VvbWV0cnkgPSB0cnVlOwogCi0gICAgbV9taW5pbXVtTGF5b3V0V2lkdGggPSBtaW5pbXVt
TGF5b3V0V2lkdGg7Ci0KICAgICBJbnRTaXplIHNpemUgPSB2aWV3U2l6ZTsKICAgICBJbnRTaXpl
IGNvbnRlbnRTaXplID0gSW50U2l6ZSgtMSwgLTEpOwogCi0gICAgaWYgKG1fbWluaW11bUxheW91
dFdpZHRoID4gMCkgewotICAgICAgICBtX3dlYlBhZ2UtPnNldFNpemUoSW50U2l6ZShtX21pbmlt
dW1MYXlvdXRXaWR0aCwgMCkpOwotICAgICAgICBtX3dlYlBhZ2UtPmxheW91dElmTmVlZGVkKCk7
CisgICAgaWYgKCFtX3dlYlBhZ2UtPm1pbmltdW1MYXlvdXRXaWR0aCgpKQorICAgICAgICBtX3dl
YlBhZ2UtPnNldFNpemUoc2l6ZSk7CisKKyAgICBtX3dlYlBhZ2UtPmxheW91dElmTmVlZGVkKCk7
CiAKKyAgICBpZiAobV93ZWJQYWdlLT5taW5pbXVtTGF5b3V0V2lkdGgoKSkgewogICAgICAgICBj
b250ZW50U2l6ZSA9IG1fd2ViUGFnZS0+bWFpbldlYkZyYW1lKCktPmNvbnRlbnRCb3VuZHMoKS5z
aXplKCk7CiAgICAgICAgIHNpemUgPSBjb250ZW50U2l6ZTsKICAgICB9CiAKLSAgICBtX3dlYlBh
Z2UtPnNldFNpemUoc2l6ZSk7Ci0gICAgbV93ZWJQYWdlLT5sYXlvdXRJZk5lZWRlZCgpOwotCiAg
ICAgaWYgKG1fcGFnZU92ZXJsYXlMYXllcikKICAgICAgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5z
ZXRTaXplKHNpemUpOwogCg==
</data>
<flag name="review"
          id="201676"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>