+
    Bi                     `   ^ RI t ^ RIt^ RIHt ^ RIHtHt ^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RItRtRtRtRt]! RR	R
R7      tRt. R%O. R&O. R'O. R(O. R)O.. R*O. R+O. R,O. R-O. R.O.. R/O. R0O. R1O. R2O. R3O... R%O. R&O. R'O. R(O. R4O.. R5O. R6O. R7O. R8O. R9O. R:O.. R;O. R<O. R=O. R>O. R?O... R%O. R&O. R'O. R(O. R)O.. R*O. R+O. R,O. R-O. R.O. R@O.. RAO. RBO. RCO. RDO. REO... RFO. RGO. RHO. RIO. RJO.. R/O. R0O. R1O. R2O. RKO.. RAO. RBO. RCO. RDO. RLO...t. RMO. RNO. ROO.. RPO. RQO. RRO.. RSO. RTO. RUO.. RVO. RWO. RXO..t ! R R]P.                  4      t ! R R]P.                  4      t ! R R]P.                  4      t ! R R]4      t ! R R]4      t ! R R]P.                  4      t ! R R]P.                  4      t ! R R]P.                  4      tR t  ! R R]P.                  4      t! ! R  R!]P.                  4      t" ! R" R#]P.                  4      t#]$R$8X  d   ]PJ                  ! 4        R# R# )Y    N)support)assert_python_okassert_python_failurez     February 0
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29
a                                     0

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6             1  2  3  4  5
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       6  7  8  9 10 11 12
10 11 12 13 14 15 16      14 15 16 17 18 19 20      13 14 15 16 17 18 19
17 18 19 20 21 22 23      21 22 23 24 25 26 27      20 21 22 23 24 25 26
24 25 26 27 28 29 30      28 29                     27 28 29 30 31
31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2       1  2  3  4  5  6  7                1  2  3  4
 3  4  5  6  7  8  9       8  9 10 11 12 13 14       5  6  7  8  9 10 11
10 11 12 13 14 15 16      15 16 17 18 19 20 21      12 13 14 15 16 17 18
17 18 19 20 21 22 23      22 23 24 25 26 27 28      19 20 21 22 23 24 25
24 25 26 27 28 29 30      29 30 31                  26 27 28 29 30

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6                   1  2  3
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       4  5  6  7  8  9 10
10 11 12 13 14 15 16      14 15 16 17 18 19 20      11 12 13 14 15 16 17
17 18 19 20 21 22 23      21 22 23 24 25 26 27      18 19 20 21 22 23 24
24 25 26 27 28 29 30      28 29 30 31               25 26 27 28 29 30
31

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                   1             1  2  3  4  5                   1  2  3
 2  3  4  5  6  7  8       6  7  8  9 10 11 12       4  5  6  7  8  9 10
 9 10 11 12 13 14 15      13 14 15 16 17 18 19      11 12 13 14 15 16 17
16 17 18 19 20 21 22      20 21 22 23 24 25 26      18 19 20 21 22 23 24
23 24 25 26 27 28 29      27 28 29 30               25 26 27 28 29 30 31
30 31
z    January 2004
Mo Tu We Th Fr Sa Su
          1  2  3  4
 5  6  7  8  9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
a!                                    2004

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
          1  2  3  4                         1       1  2  3  4  5  6  7
 5  6  7  8  9 10 11       2  3  4  5  6  7  8       8  9 10 11 12 13 14
12 13 14 15 16 17 18       9 10 11 12 13 14 15      15 16 17 18 19 20 21
19 20 21 22 23 24 25      16 17 18 19 20 21 22      22 23 24 25 26 27 28
26 27 28 29 30 31         23 24 25 26 27 28 29      29 30 31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
          1  2  3  4                      1  2          1  2  3  4  5  6
 5  6  7  8  9 10 11       3  4  5  6  7  8  9       7  8  9 10 11 12 13
12 13 14 15 16 17 18      10 11 12 13 14 15 16      14 15 16 17 18 19 20
19 20 21 22 23 24 25      17 18 19 20 21 22 23      21 22 23 24 25 26 27
26 27 28 29 30            24 25 26 27 28 29 30      28 29 30
                          31

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
          1  2  3  4                         1             1  2  3  4  5
 5  6  7  8  9 10 11       2  3  4  5  6  7  8       6  7  8  9 10 11 12
12 13 14 15 16 17 18       9 10 11 12 13 14 15      13 14 15 16 17 18 19
19 20 21 22 23 24 25      16 17 18 19 20 21 22      20 21 22 23 24 25 26
26 27 28 29 30 31         23 24 25 26 27 28 29      27 28 29 30
                          30 31

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3       1  2  3  4  5  6  7             1  2  3  4  5
 4  5  6  7  8  9 10       8  9 10 11 12 13 14       6  7  8  9 10 11 12
11 12 13 14 15 16 17      15 16 17 18 19 20 21      13 14 15 16 17 18 19
18 19 20 21 22 23 24      22 23 24 25 26 27 28      20 21 22 23 24 25 26
25 26 27 28 29 30 31      29 30                     27 28 29 30 31
yearmonthascii)r   r   encodingax;  <?xml version="1.0" encoding="{encoding}"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset={encoding}" />
<link rel="stylesheet" type="text/css" href="calendar.css" />
<title>Calendar for 2004</title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" class="{year}">
<tr><th colspan="3" class="{year}">2004</th></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">January</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="thu">1</td><td class="fri">2</td><td class="sat">3</td><td class="sun">4</td></tr>
<tr><td class="mon">5</td><td class="tue">6</td><td class="wed">7</td><td class="thu">8</td><td class="fri">9</td><td class="sat">10</td><td class="sun">11</td></tr>
<tr><td class="mon">12</td><td class="tue">13</td><td class="wed">14</td><td class="thu">15</td><td class="fri">16</td><td class="sat">17</td><td class="sun">18</td></tr>
<tr><td class="mon">19</td><td class="tue">20</td><td class="wed">21</td><td class="thu">22</td><td class="fri">23</td><td class="sat">24</td><td class="sun">25</td></tr>
<tr><td class="mon">26</td><td class="tue">27</td><td class="wed">28</td><td class="thu">29</td><td class="fri">30</td><td class="sat">31</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">February</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="sun">1</td></tr>
<tr><td class="mon">2</td><td class="tue">3</td><td class="wed">4</td><td class="thu">5</td><td class="fri">6</td><td class="sat">7</td><td class="sun">8</td></tr>
<tr><td class="mon">9</td><td class="tue">10</td><td class="wed">11</td><td class="thu">12</td><td class="fri">13</td><td class="sat">14</td><td class="sun">15</td></tr>
<tr><td class="mon">16</td><td class="tue">17</td><td class="wed">18</td><td class="thu">19</td><td class="fri">20</td><td class="sat">21</td><td class="sun">22</td></tr>
<tr><td class="mon">23</td><td class="tue">24</td><td class="wed">25</td><td class="thu">26</td><td class="fri">27</td><td class="sat">28</td><td class="sun">29</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">March</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="mon">1</td><td class="tue">2</td><td class="wed">3</td><td class="thu">4</td><td class="fri">5</td><td class="sat">6</td><td class="sun">7</td></tr>
<tr><td class="mon">8</td><td class="tue">9</td><td class="wed">10</td><td class="thu">11</td><td class="fri">12</td><td class="sat">13</td><td class="sun">14</td></tr>
<tr><td class="mon">15</td><td class="tue">16</td><td class="wed">17</td><td class="thu">18</td><td class="fri">19</td><td class="sat">20</td><td class="sun">21</td></tr>
<tr><td class="mon">22</td><td class="tue">23</td><td class="wed">24</td><td class="thu">25</td><td class="fri">26</td><td class="sat">27</td><td class="sun">28</td></tr>
<tr><td class="mon">29</td><td class="tue">30</td><td class="wed">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">April</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="thu">1</td><td class="fri">2</td><td class="sat">3</td><td class="sun">4</td></tr>
<tr><td class="mon">5</td><td class="tue">6</td><td class="wed">7</td><td class="thu">8</td><td class="fri">9</td><td class="sat">10</td><td class="sun">11</td></tr>
<tr><td class="mon">12</td><td class="tue">13</td><td class="wed">14</td><td class="thu">15</td><td class="fri">16</td><td class="sat">17</td><td class="sun">18</td></tr>
<tr><td class="mon">19</td><td class="tue">20</td><td class="wed">21</td><td class="thu">22</td><td class="fri">23</td><td class="sat">24</td><td class="sun">25</td></tr>
<tr><td class="mon">26</td><td class="tue">27</td><td class="wed">28</td><td class="thu">29</td><td class="fri">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">May</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="sat">1</td><td class="sun">2</td></tr>
<tr><td class="mon">3</td><td class="tue">4</td><td class="wed">5</td><td class="thu">6</td><td class="fri">7</td><td class="sat">8</td><td class="sun">9</td></tr>
<tr><td class="mon">10</td><td class="tue">11</td><td class="wed">12</td><td class="thu">13</td><td class="fri">14</td><td class="sat">15</td><td class="sun">16</td></tr>
<tr><td class="mon">17</td><td class="tue">18</td><td class="wed">19</td><td class="thu">20</td><td class="fri">21</td><td class="sat">22</td><td class="sun">23</td></tr>
<tr><td class="mon">24</td><td class="tue">25</td><td class="wed">26</td><td class="thu">27</td><td class="fri">28</td><td class="sat">29</td><td class="sun">30</td></tr>
<tr><td class="mon">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">June</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="tue">1</td><td class="wed">2</td><td class="thu">3</td><td class="fri">4</td><td class="sat">5</td><td class="sun">6</td></tr>
<tr><td class="mon">7</td><td class="tue">8</td><td class="wed">9</td><td class="thu">10</td><td class="fri">11</td><td class="sat">12</td><td class="sun">13</td></tr>
<tr><td class="mon">14</td><td class="tue">15</td><td class="wed">16</td><td class="thu">17</td><td class="fri">18</td><td class="sat">19</td><td class="sun">20</td></tr>
<tr><td class="mon">21</td><td class="tue">22</td><td class="wed">23</td><td class="thu">24</td><td class="fri">25</td><td class="sat">26</td><td class="sun">27</td></tr>
<tr><td class="mon">28</td><td class="tue">29</td><td class="wed">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">July</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="thu">1</td><td class="fri">2</td><td class="sat">3</td><td class="sun">4</td></tr>
<tr><td class="mon">5</td><td class="tue">6</td><td class="wed">7</td><td class="thu">8</td><td class="fri">9</td><td class="sat">10</td><td class="sun">11</td></tr>
<tr><td class="mon">12</td><td class="tue">13</td><td class="wed">14</td><td class="thu">15</td><td class="fri">16</td><td class="sat">17</td><td class="sun">18</td></tr>
<tr><td class="mon">19</td><td class="tue">20</td><td class="wed">21</td><td class="thu">22</td><td class="fri">23</td><td class="sat">24</td><td class="sun">25</td></tr>
<tr><td class="mon">26</td><td class="tue">27</td><td class="wed">28</td><td class="thu">29</td><td class="fri">30</td><td class="sat">31</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">August</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="sun">1</td></tr>
<tr><td class="mon">2</td><td class="tue">3</td><td class="wed">4</td><td class="thu">5</td><td class="fri">6</td><td class="sat">7</td><td class="sun">8</td></tr>
<tr><td class="mon">9</td><td class="tue">10</td><td class="wed">11</td><td class="thu">12</td><td class="fri">13</td><td class="sat">14</td><td class="sun">15</td></tr>
<tr><td class="mon">16</td><td class="tue">17</td><td class="wed">18</td><td class="thu">19</td><td class="fri">20</td><td class="sat">21</td><td class="sun">22</td></tr>
<tr><td class="mon">23</td><td class="tue">24</td><td class="wed">25</td><td class="thu">26</td><td class="fri">27</td><td class="sat">28</td><td class="sun">29</td></tr>
<tr><td class="mon">30</td><td class="tue">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">September</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="wed">1</td><td class="thu">2</td><td class="fri">3</td><td class="sat">4</td><td class="sun">5</td></tr>
<tr><td class="mon">6</td><td class="tue">7</td><td class="wed">8</td><td class="thu">9</td><td class="fri">10</td><td class="sat">11</td><td class="sun">12</td></tr>
<tr><td class="mon">13</td><td class="tue">14</td><td class="wed">15</td><td class="thu">16</td><td class="fri">17</td><td class="sat">18</td><td class="sun">19</td></tr>
<tr><td class="mon">20</td><td class="tue">21</td><td class="wed">22</td><td class="thu">23</td><td class="fri">24</td><td class="sat">25</td><td class="sun">26</td></tr>
<tr><td class="mon">27</td><td class="tue">28</td><td class="wed">29</td><td class="thu">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td></tr><tr><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">October</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="fri">1</td><td class="sat">2</td><td class="sun">3</td></tr>
<tr><td class="mon">4</td><td class="tue">5</td><td class="wed">6</td><td class="thu">7</td><td class="fri">8</td><td class="sat">9</td><td class="sun">10</td></tr>
<tr><td class="mon">11</td><td class="tue">12</td><td class="wed">13</td><td class="thu">14</td><td class="fri">15</td><td class="sat">16</td><td class="sun">17</td></tr>
<tr><td class="mon">18</td><td class="tue">19</td><td class="wed">20</td><td class="thu">21</td><td class="fri">22</td><td class="sat">23</td><td class="sun">24</td></tr>
<tr><td class="mon">25</td><td class="tue">26</td><td class="wed">27</td><td class="thu">28</td><td class="fri">29</td><td class="sat">30</td><td class="sun">31</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">November</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="mon">1</td><td class="tue">2</td><td class="wed">3</td><td class="thu">4</td><td class="fri">5</td><td class="sat">6</td><td class="sun">7</td></tr>
<tr><td class="mon">8</td><td class="tue">9</td><td class="wed">10</td><td class="thu">11</td><td class="fri">12</td><td class="sat">13</td><td class="sun">14</td></tr>
<tr><td class="mon">15</td><td class="tue">16</td><td class="wed">17</td><td class="thu">18</td><td class="fri">19</td><td class="sat">20</td><td class="sun">21</td></tr>
<tr><td class="mon">22</td><td class="tue">23</td><td class="wed">24</td><td class="thu">25</td><td class="fri">26</td><td class="sat">27</td><td class="sun">28</td></tr>
<tr><td class="mon">29</td><td class="tue">30</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td><td><table border="0" cellpadding="0" cellspacing="0" class="{month}">
<tr><th colspan="7" class="{month}">December</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td><td class="wed">1</td><td class="thu">2</td><td class="fri">3</td><td class="sat">4</td><td class="sun">5</td></tr>
<tr><td class="mon">6</td><td class="tue">7</td><td class="wed">8</td><td class="thu">9</td><td class="fri">10</td><td class="sat">11</td><td class="sun">12</td></tr>
<tr><td class="mon">13</td><td class="tue">14</td><td class="wed">15</td><td class="thu">16</td><td class="fri">17</td><td class="sat">18</td><td class="sun">19</td></tr>
<tr><td class="mon">20</td><td class="tue">21</td><td class="wed">22</td><td class="thu">23</td><td class="fri">24</td><td class="sat">25</td><td class="sun">26</td></tr>
<tr><td class="mon">27</td><td class="tue">28</td><td class="wed">29</td><td class="thu">30</td><td class="fri">31</td><td class="noday">&nbsp;</td><td class="noday">&nbsp;</td></tr>
</table>
</td></tr></table></body>
</html>
c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tRtV tR# )OutputTestCaseir  c                    R  p. pVP                  RR7       F1  pV'       g   K  \        W$4      '       d   K   VP                  V4       K3  	  V# )c                 f    V P                  4       '       * ;'       d    V P                  4       '       * # N)isspaceisdigit)cs   &)/usr/lib/python3.14/test/test_calendar.pyneitherspacenordigit?OutputTestCase.normalize_calendar.<locals>.neitherspacenordigitu  s     yy{?66199;6    F)keepends)
splitlinesfilterappend)selfsr   lineslines   &&   r   normalize_calendar!OutputTestCase.normalize_calendars  sF    	7 LL%L0DtF#7>>T" 1 r   c                   \         P                  ! 4       p\        P                  4       pT;'       g    R VR&   VP	                  RVR7      pV P                  V\        P                  ! R/ VB P                  V4      4       R# )utf-8r	     )r	   N )	calendarHTMLCalendardefault_formatcopyformatyearpageassertEqualresult_2004_htmlformatencode)r   reqrescalformat_outputs   &&&   r   check_htmlcalendar_encoding*OutputTestCase.check_htmlcalendar_encoding  sp    ##% %%'!nnW
##D3#7##.g.55c:	
r   c                &   V P                  V P                  \        P                  ! R 4      4      V P                  \        4      4       V P                  V P                  \        P                  ! ^ 4      4      V P                  \        4      4       R# r"   N)r)   r   r$   result_2004_textresult_0_textr   s   &r   test_outputOutputTestCase.test_output  so    ##H$5$5d$;<##$45	
 	##H$5$5a$89##M2	
r   c                    V P                  \        P                  ! 4       P                  R 4      \        4       V P                  \        P                  ! 4       P                  ^ 4      \
        4       R# r5   )r)   r$   TextCalendar
formatyearr6   r7   r8   s   &r   test_output_textcalendar'OutputTestCase.test_output_textcalendar  sT    !!#..t4	
 	!!#..q1	
r   c                *    V P                  R R 4       R# )r   Nr2   r8   s   &r   'test_output_htmlcalendar_encoding_ascii6OutputTestCase.test_output_htmlcalendar_encoding_ascii      ((':r   c                *    V P                  R R 4       R# )r!   NrA   r8   s   &r   &test_output_htmlcalendar_encoding_utf85OutputTestCase.test_output_htmlcalendar_encoding_utf8  rD   r   c                P    V P                  R \        P                  ! 4       4       R # r   )r2   sysgetdefaultencodingr8   s   &r   )test_output_htmlcalendar_encoding_default8OutputTestCase.test_output_htmlcalendar_encoding_default  s    ((s/E/E/GHr   c                    R  pV P                  V! \        P                  ! 4       P                  R4      4      \        4       R# )c                     V  UUUu. uF;  q UUu. uF*  q" Uu. uF  pR P                  R V 4       4      NK  	  upNK,  	  uppNK=  	  uppp# u upi u uppi u upppi ) c              3      "   T FB  pR P                  VP                  VP                  \        VP                  4      RR 4      x  KD  	  R# 5i)z{:02d}/{:02d}/{}N)r+   r   daystrr   ).0ds   & r   	<genexpr>HOutputTestCase.test_yeardatescalendar.<locals>.shrink.<locals>.<genexpr>  sH      NKLa  288 !AFFBC0@ B  BKLs   A
A)join)r/   xyzs   &   r   shrink5OutputTestCase.test_yeardatescalendar.<locals>.shrink  s{     >AB=@412AQ(%& hh NKLN N%&(124=@B B ( 4 Bs&   	AA!AA AAAr"   N)r)   r$   Calendaryeardatescalendarresult_2004_dates)r   r\   s   & r   test_yeardatescalendar%OutputTestCase.test_yeardatescalendar  s7    	B 	8$$&88>?	
r   c                v    V P                  \        P                  ! 4       P                  R 4      \        4       R# r5   )r)   r$   r^   yeardayscalendarresult_2004_daysr8   s   &r   test_yeardayscalendar$OutputTestCase.test_yeardayscalendar  s*    006	
r   c                n    V P                  \        P                  ! 4       P                  ^4      R4       R# )   zMo Tu We Th Fr Sa SuNr)   r$   r<   formatweekheaderr8   s   &r   test_formatweekheader_short*OutputTestCase.test_formatweekheader_short  s*    !!#44Q7"	
r   c                n    V P                  \        P                  ! 4       P                  ^	4      R4       R# )	   zE  Monday   Tuesday  Wednesday  Thursday   Friday   Saturday   Sunday Nrj   r8   s   &r   test_formatweekheader_long)OutputTestCase.test_formatweekheader_long  s,    !!#44Q7,	
r   c                    V P                  \        P                  ! 4       P                  R ^4      \        4       V P                  \        P                  ! 4       P                  ^ ^4      \
        4       R# r5   )r)   r$   r<   formatmonthresult_2004_01_textresult_0_02_textr8   s   &r   test_formatmonthOutputTestCase.test_formatmonth  sX    !!#//a8	
 	!!#//15	
r   c                   V P                  \        P                  4      ;_uu_ 4        \        P                  ! 4       P	                  R ^4       RRR4       V P                  \        P                  4      ;_uu_ 4        \        P                  ! 4       P	                  R R4       RRR4       R#   + '       g   i     Lg; i  + '       g   i     R# ; i  N)assertRaisesr$   IllegalMonthErrorr<   rs   r8   s   &r   #test_formatmonth_with_invalid_month2OutputTestCase.test_formatmonth_with_invalid_month  s    x99::!!#//b9 ;x99::!!#//b9 ;: ;::::s   &B-=&C -B=	 C	c                t    V P                  \        P                  ! 4       P                  R ^RR7      R4       R# )r"   Twithyearz8<tr><th colspan="7" class="month">January 2004</th></tr>Nr)   r$   r%   formatmonthnamer8   s   &r   test_formatmonthname_with_year-OutputTestCase.test_formatmonthname_with_year  s1    !!#33D!d3KF	
r   c                t    V P                  \        P                  ! 4       P                  R ^RR7      R4       R# )r"   Fr   z3<tr><th colspan="7" class="month">January</th></tr>Nr   r8   s   &r   !test_formatmonthname_without_year0OutputTestCase.test_formatmonthname_without_year  s1    !!#33D!e3LA	
r   c                   \         P                  ! 4       ;_uu_ 4       p. ROp\        P                  ! 4       P	                  V^4       V P                  VP                  4       R4       RRR4       R#   + '       g   i     R# ; i)   z 1  2  3  4  5  6  7N))r   r   )ri   r   )   ri   )   r   )   r   )   r   )   r   )r   captured_stdoutr$   r<   prweekr)   getvalue)r   outweeks   &  r   test_prweekOutputTestCase.test_prweek  sW    $$&&#DD!!#**43S\\^-CD '&&&   A
A22B	c                   \         P                  ! 4       ;_uu_ 4       p\        P                  ! 4       P	                  R ^4       V P                  VP                  4       \        4       RRR4       R#   + '       g   i     R# ; ir5   )r   r   r$   r<   prmonthr)   r   rt   r   r   s   & r   test_prmonthOutputTestCase.test_prmonth  sR    $$&&#!!#++D!4S\\^-@A '&&&r   c                
   \         P                  ! 4       ;_uu_ 4       p\        P                  ! 4       P	                  R 4       V P                  VP                  4       \        4       RRR4       R#   + '       g   i     R# ; ir5   )r   r   r$   r<   pryearr)   r   r6   r   s   & r   test_pryearOutputTestCase.test_pryear  sP    $$&&#!!#**40S\\^-=> '&&&s   A	A11B	c                   \         P                  ! 4       ;_uu_ 4       p\        P                  ! . RO^^R7       V P	                  VP                  4       P                  4       R4       RRR4       R#   + '       g   i     R# ; i)1)colwidthspacingz	1   2   3N)r   23)r   r   r$   r+   r)   r   stripr   s   & r   test_formatOutputTestCase.test_format  sQ    $$&&#OOOaCS\\^113[A '&&&r   r#   N)__name__
__module____qualname____firstlineno__r   r2   r9   r>   rB   rF   rK   ra   rf   rl   rp   rv   r~   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r   r  sn     



;;I




:

EB
?
B Br   r   c                      a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tRtV tR# )CalendarTestCasei  c                    V P                  \        R 4      ;_uu_ 4        \        P                   RRR4       R#   + '       g   i     R# ; i)z<The 'January' attribute is deprecated, use 'JANUARY' insteadN)assertWarnsRegexDeprecationWarningr$   Januaryr8   s   &r   test_deprecation_warning)CalendarTestCase.test_deprecation_warning  s;    ""J
 
 	
 
 
 
s	   :A	c                6   V P                  \        P                  ! R 4      ^4       V P                  \        P                  ! R4      ^ 4       V P                  \        P                  ! R4      ^ 4       V P                  \        P                  ! R4      ^ 4       R# )i    i  i  N)r)   r$   isleapr8   s   &r   test_isleapCalendarTestCase.test_isleap  sh    
 	.2.2.2.2r   c                   V P                  \        \        P                  R 4       V P                  \        \        P                  R4       V P                  \        \        P                  ^4       \        P
                  ! 4       p\        P                  ! \        P                  4       V P                  \        P
                  ! 4       \        P                  4       \        P                  ! \        P                  4       V P                  \        P
                  ! 4       \        P                  4       \        P                  ! V4       R# )flabberNr{   )	r|   	TypeErrorr$   setfirstweekday
ValueErrorfirstweekdaySUNDAYr)   MONDAY)r   origs   & r   test_setfirstweekday%CalendarTestCase.test_setfirstweekday  s    )X%=%=yI*h&>&>C*h&>&>D$$&  1..0(//B  1..0(//B  &r   c                    V P                  \        P                  R 4      ;_uu_ 4        \        P                  ! ^{4       RRR4       R#   + '       g   i     R# ; i)123N)assertRaisesRegexr$   IllegalWeekdayErrorr   r8   s   &r   test_illegal_weekday_reported.CalendarTestCase.test_illegal_weekday_reported  s9    ##H$@$@%HH$$S) IHHHs   A

A	c                <   V P                  \        \        P                  P                  R4       V P                  \        \        P
                  P                  ^
4       T P                  \        \        P                   Uu. uF  qNK  	  up4      ^4       R# u upi )
   Ni)r|   
IndexErrorr$   day_abbr__getitem__day_namer)   len)r   rU   s   & r   test_enumerate_weekdays(CalendarTestCase.test_enumerate_weekdays  sm    *h&7&7&C&CSI*h&7&7&C&CRH):):;):Aa):;<a@;s   
Bc           	     V   R F  p\        \        V4      pV P                  \        V4      ^4       V P                  \        VR,          4      ^4       V P                  \        \	        V4      4      ^4       V P                  VRRR1,          \        \        V4      4      4       K  	  R# )r   NNNN)r   r   r{   getattrr$   r)   r   setlistreversedr   attrvalues   &  r   	test_daysCalendarTestCase.test_days  s}    *DHd+ESZ+Sq]A.SU_a0U4R4[$x*?@ +r   c           	        R F  p\        \        V4      pV P                  \        V4      ^4       V P                  \        VR,          4      ^4       V P                  V^ ,          R4       V P                  \        \	        V4      4      ^4       V P                  VRRR1,          \        \        V4      4      4       K  	  R# )
month_namer    N)r   
month_abbrr{   r   r   s   &  r   test_monthsCalendarTestCase.test_months$  s    .DHd+ESZ,Sq]B/U1Xr*SU_b1U4R4[$x*?@ /r   c                    \         P                  ! R R7      pVP                  ^^
4      pVP                  ^^4      pVP                  R^
^
4      pT P                  T\        4       T P                  T\        4       T P                  T\        4       T P                  \        T4      ^
4       T P                  \        T4      ^4       T P                  \        T4      ^
4       \         P                  ! RR7      pTP                  ^^
4      pTP                  ^^4      pTP                  R^
^
4      pT P                  T\        4       T P                  T\        4       T P                  T\        4       T P                  \        T4      ^
4       T P                  \        T4      ^4       T P                  \        T4      ^
4       \         P                  ! RR7      pTP                  ^^
4      pTP                  ^^4      pTP                  R^
^
4      pT P                  T\        4       T P                  T\        4       T P                  T\        4       T P                  \        T4      ^
4       T P                  \        T4      ^4       T P                  \        T4      ^
4       R#   \        P
                   d    \        P                  ! R4      hi ; ir   locale  $cannot set the system default localeNC)r$   LocaleTextCalendarformatweekdayr   r   ErrorunittestSkipTestassertIsInstancerS   r)   r   assertGreaterEqual)r   r/   local_weekdaylocal_weekday_abbrlocal_months   &    r   test_locale_text_calendar*CalendarTestCase.test_locale_text_calendar/  sa   	L--R8C--a4M!$!2!21a!8--dB;K 	mS10#6k3/]+R0/0!4K 0"5))6))!R0 ..q!4))$B7mS10#6k3/]+R0/0!4K 0"5))5))!R0 ..q!4))$B7mS10#6k3/]+R0/0!4K 0"5= || 	L##$JKK	Ls   AJ' ',Kc                    \         P                  ! R R7      pVP                  ^4      pVP                  R^
4      pT P                  T\        4       T P                  T\        4       \         P                  ! RR7      pTP                  ^4      pTP                  R^
4      pT P                  T\        4       T P                  T\        4       \         P                  ! RR7      pTP                  ^4      pTP                  R^
4      pT P                  T\        4       T P                  T\        4       R#   \        P
                   d    \        P                  ! R4      hi ; ir   )
r$   LocaleHTMLCalendarr   r   r   r   r   r   r   rS   )r   r/   r   r   s   &   r   test_locale_html_calendar*CalendarTestCase.test_locale_html_calendarU  s)   	L--R8C--a0M--dB7K 	mS1k3/))6))!,))$3mS1k3/))5))!,))$3mS1k3/! || 	L##$JKK	Ls   :D6 6,E"c                   \         P                  ! 4       P                  R ^
^
4      p \         P                  ! RR7      pVP	                  ^^
4      pVP	                  ^^4      pVP                  R ^
^
4      pT P                  T\        4       T P                  T\        4       T P                  T\        4       T P                  \        T4      ^
4       T P                  \        T4      ^4       T P                  \        T4      ^
4       \         P                  ! RR7      pTP	                  ^4      pTP                  R ^
4      pT P                  T\        4       T P                  T\        4       \         P                  ! 4       P                  R ^
^
4      pT P                  Y4       R#   \
        P                   d    \        P                  ! R4      hi ; i)r   r   r   r   N)r$   r<   r   r   r   r   r   r   r   r   rS   r)   r   r   r   )r   old_octoberr/   r   r   r   new_octobers   &      r   +test_locale_calendars_reset_locale_properly<CalendarTestCase.test_locale_calendars_reset_locale_properlyl  s    ++-==dBK	L--R8C--a4M!$!2!21a!8--dB;K 	mS10#6k3/]+R0/0!4K 0"5))4))!,))$3mS1k3/++-==dBK2# || 	L##$JKK	Ls   AF( (,Gc                p    \         P                  ! R R7      pV P                  VP                  ^ ^4      R4       V P                  VP                  ^ ^4      R4       V P                  VP                  ^ ^4      R4       V P                  VP                  ^ ^4      R4       V P                  VP                  ^ ^4      R4       V P                  VP                  ^ ^	4      R4       V P                  VP                  ^ ^
4      R4       R
#   \        P
                   d    \        P                  ! R	4      hi ; i)en_USr   MMoMonz Mon z  Mon   z	  Monday z
  Monday  cannot set the en_US localeN)r$   r   r)   r   r   r   r   r   r   r/   s   & r   "test_locale_calendar_formatweekday3CalendarTestCase.test_locale_calendar_formatweekday  s
   	C--W=CS..q!4c:S..q!4d;S..q!4e<S..q!4g>S..q!4jAS..q!4kBS..q"5|D|| 	C##$ABB	Cs   DD	 	,D5c           	     P    \         P                  ! R R7      pV P                  VP                  R^^RR7      R4       V P                  VP                  R^^RR7      R4       V P                  VP                  R^^RR7      R4       V P                  VP                  R^^RR7      R4       V P                  VP                  R^^
RR7      R4       V P                  VP                  R^^RR7      R	4       R#   \        P
                   d    \        P                  ! R
4      hi ; i)r	  r   i  Fr   JuneTz	June 2022z
   June   z   June 2022   r  N)r$   r   r)   r   r   r   r   r   r  s   & r   $test_locale_calendar_formatmonthname5CalendarTestCase.test_locale_calendar_formatmonthname  s   	C--W=CS00q!e0LfUS00q!d0K[YS00q!e0LfUS00q!d0K[YS00q"u0M|\S00q"t0LN_`|| 	C##$ABB	Cs   C5C9 9,D%c                6    \         P                  ! R R7      pVP                  R^
^
4      pT P                  RT4       RTn        TP                  R^
^
4      pT P                  RT4       R#   \        P                   d    \
        P                  ! R4      hi ; i)r   r   r   r   zclass="month"text-center monthclass="text-center month"N)	r$   r   r   r   r   r   r   assertIncssclass_month_head)r   r/   r   s   &  r   5test_locale_html_calendar_custom_css_class_month_nameFCalendarTestCase.test_locale_html_calendar_custom_css_class_month_name  s    	L--R8C--dB;K 	o{3"5))$B71;? || 	L##$JKK	Ls   *A, ,,Bc                2    \         P                  ! R R7      pVP                  ^4      pT P                  RT4       . ROTn        TP                  ^4      pT P                  RT4       R#   \        P                   d    \
        P                  ! R4      hi ; i)r   r   r   zclass="sun"zclass="sun2"N)mon2tue2wed2thu2fri2sat2sun2)	r$   r   r   r   r   r   r   r  cssclasses_weekday_head)r   r/   r   s   &  r   2test_locale_html_calendar_custom_css_class_weekdayCCalendarTestCase.test_locale_html_calendar_custom_css_class_weekday  s    	L--R8C--a0M 	m]3&^#))!,nm4 || 	L##$JKK	Ls   (A* *,Bc                ~    \        \        P                  ! 4       P                  \        P
                  ^4      4       R# )   N)r   r$   r^   itermonthdays3datetimeMAXYEARr8   s   &r   test_itermonthdays3$CalendarTestCase.test_itermonthdays3  s&    X //0@0@"EFr   c                    \         P                  ! ^R7      p\        VP                  R^4      4      pV P	                  V^ ,          R4       V P	                  VR,          R4       R# )r   r   r   N)r   ri   r   r   r{   )r   ri      ri   )r$   r^   r   itermonthdays4r)   )r   r/   dayss   &  r   test_itermonthdays4$CalendarTestCase.test_itermonthdays4  sR    Q/C&&tQ/0a/2b#34r   c           	        \        ^4       FY  p\        P                  ! V4      pR F:  w  r4\        VP	                  W44      4      pV P                  \        V4      R4       K<  	  K[  	  \        P                  ! ^R7      p\        VP	                  R^4      4      pV P                  V\        \        ^^4      4      4       R# )r   r/  r   N)r   r   )i'  r(  )#   *   )ranger$   r^   r   itermonthdaysr  r   r)   r   r   r/   rZ   mr2  s   &     r   test_itermonthdays#CalendarTestCase.test_itermonthdays  s    !!HL##L1C,C--a34c$i2 - % Q/C%%dA./tE!RL12r   c                <   \        ^4       F  p\        P                  ! V4      pR Fm  w  r4\        VP	                  W44      4      pV P                  V^ ,          ^,          V4       V P                  VR,          ^,          V^,
          ^,          4       Ko  	  K  	  R# )r   Nr6  r{   )r9  r$   r^   r   itermonthdays2r)   r;  s   &     r   test_itermonthdays2$CalendarTestCase.test_itermonthdays2  s{    !!HL##L1C,C..q45  a\:  b!|a/?1.DE - %r   c                    \        \        ^4      4      p\        ^4       FQ  p\        P                  ! V4      p\        VP	                  4       4      pWR VRV ,           pV P                  WE4       KS  	  R# )r   N)r   r9  r$   r^   iterweekdaysr)   )r   week0r   r/   r   expecteds   &     r   test_iterweekdays"CalendarTestCase.test_iterweekdays  sd    U1X!!HL##L1C((*+D]+eM\.BBHT,	 %r   r#   N)r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r%  r,  r3  r=  rA  rG  r   r   r   s   @r   r   r     sr     3	'*A
A	A$6L0.38C"C
@
5G5
3F- -r   r   c                   2   a  ] tR tRt o R tR tR tRtV tR# )MonthCalendarTestCasei  c                z    \         P                  ! 4       V n        \         P                  ! V P                  4       R # r   )r$   r   oldfirstweekdayr   r8   s   &r   setUpMonthCalendarTestCase.setUp  s'    '446  !2!23r   c                F    \         P                  ! V P                  4       R # r   )r$   r   rL  r8   s   &r   tearDownMonthCalendarTestCase.tearDown  s      !5!56r   c           	        \         P                  ! W4      pV P                  \        V4      \        V4      4       \	        \        V4      4       F1  pV P                  W5,          \        R  WE,           4       4      4       K3  	  R# )c              3   *   "   T F	  q^ 8g  x  K  	  R# 5ir   Nr#   )rT   rR   s   & r   rV   4MonthCalendarTestCase.check_weeks.<locals>.<genexpr>  s     *Fv!8vs   N)r$   monthcalendarr)   r   r9  sum)r   r   r   weeksr/   is   &&&&  r   check_weeks!MonthCalendarTestCase.check_weeks  s\    $$T1S3u:.s5z"AUXs*Fsv*F'FG #r   )rL  N)	r   r   r   r   rM  rP  rZ  r   r   r   s   @r   rJ  rJ    s     47H Hr   rJ  c                   J   a  ] tR tRt o ]P
                  tR tR tR t	Rt
V tR# )MondayTestCasei  c                    V P                  R ^R4       V P                  R^R4       V P                  R^R	4       V P                  R^R
4       V P                  R^R4       V P                  R^R4       R# )  i      i  r"   Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ri   r   r   r   r   r   rZ  r8   s   &r   test_februaryMondayTestCase.test_february  x    q,/ 	q/2 	q/2 	q/2 	q/2 	q/2r   c                    V P                  R ^R4       V P                  R^R4       V P                  R^R4       V P                  R^R	4       V P                  R^R
4       R# )i  i  i    i  Nr   r   r   r   ri   r   r   r   r   r   r   r   r   r   r   r   ri   r   r   r   r   r   r   r   r   r   rh  r8   s   &r   
test_aprilMondayTestCase.test_april  e    q/2 	q/2 	q"45 	q/2 	q/2r   c                    V P                  R ^R4       V P                  R^R4       V P                  R^R	4       V P                  R^R
4       V P                  R^R4       V P                  R^R4       R# )i  r`  i  ra  rz   i  Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   ri   r   r   r   r   r   r   r   r   r   r   ri   r   r   r   r   r   rh  r8   s   &r   test_decemberMondayTestCase.test_december  z    r?3 	r?3 	r#56 	r?3 	r?3 	r#56r   r#   N)r   r   r   r   r$   r   r   ri  rs  r}  r   r   r   s   @r   r]  r]    "     ??L3&3 7 7r   r]  c                   J   a  ] tR tRt o ]P
                  tR tR tR t	Rt
V tR# )SundayTestCasei1  c                    V P                  R ^R4       V P                  R^R4       V P                  R^R	4       V P                  R^R
4       V P                  R^R4       V P                  R^R4       R# )i  r_    r"     i  Nrb  rc  rd  re  rf  rg  rh  r8   s   &r   ri  SundayTestCase.test_february4  rk  r   c                    V P                  R ^R4       V P                  R^R4       V P                  R^R4       V P                  R^R	4       V P                  R^R
4       R# )  i~  i  r  iu  Nrn  ro  rp  rq  rr  rh  r8   s   &r   rs  SundayTestCase.test_aprilG  ru  r   c                    V P                  R ^R4       V P                  R^R4       V P                  R^R	4       V P                  R^R
4       V P                  R^R4       V P                  R^R4       R# )i   i  r  i  i  rm  Nrw  rx  ry  rz  r{  r|  rh  r8   s   &r   r}  SundayTestCase.test_decemberW  r  r   r#   N)r   r   r   r   r$   r   r   ri  rs  r}  r   r   r   s   @r   r  r  1  r  r   r  c                   .   a  ] tR tRt o . ROtR tRtV tR# )TimegmTestCaseij  c                    V P                    F?  p\        P                  ! V4      pV P                  V\        P
                  ! V4      4       KA  	  R # r   )
TIMESTAMPStimegmtimer)   r$   timegm)r   secstuples   &  r   test_timegmTimegmTestCase.test_timegmm  s7    OODKK%ET8??5#9: $r   r#   N)
r   r   d   i  i'  i i@B iIi ;=Ki
L)r   r   r   r   r  r  r   r   r   s   @r   r  r  j  s     7J; ;r   r  c                   J   a  ] tR tRt o R tR tR tR tR tR t	R t
R	tV tR
# )MonthRangeTestCaseir  c                T    V P                  \        P                  ! R ^4      R4       R# )r"   N)r      r)   r$   
monthranger8   s   &r   test_januaryMonthRangeTestCase.test_januarys      ,,T!4f=r   c                T    V P                  \        P                  ! R ^4      R4       R# )r"   N)r      r  r8   s   &r   test_february_leap%MonthRangeTestCase.test_february_leapw  r  r   c                T    V P                  \        P                  ! R ^4      R4       R# )r   N)r   r0  r  r8   s   &r   test_february_nonleap(MonthRangeTestCase.test_february_nonleap{  r  r   c                T    V P                  \        P                  ! R ^4      R4       R# )r"   N)ri   r  r  r8   s   &r   r}   MonthRangeTestCase.test_december  s    ,,T"5v>r   c                    V P                  \        P                  4      ;_uu_ 4        \        P                  ! R ^ 4       RRR4       R#   + '       g   i     R# ; ir5   r|   r$   r}   r  r8   s   &r   test_zeroth_month$MonthRangeTestCase.test_zeroth_month  s8    x99::a( ;:::   A

A	c                    V P                  \        P                  4      ;_uu_ 4        \        P                  ! R ^4       RRR4       R#   + '       g   i     R# ; ir5   r  r8   s   &r   test_thirteenth_month(MonthRangeTestCase.test_thirteenth_month  s8    x99::b) ;:::r  c                    V P                  \        P                  R 4      ;_uu_ 4        \        P                  ! R^A4       RRR4       R#   + '       g   i     R# ; i)65r"   N)r   r$   r}   r  r8   s   &r   test_illegal_month_reported.MonthRangeTestCase.test_illegal_month_reported  s;    ##H$>$>EEb) FEEEs   AA	r#   N)r   r   r   r   r  r  r  r}  r  r  r  r   r   r   s   @r   r  r  r  s-     >>>?)
*
* *r   r  c                   >   a  ] tR tRt o R tR tR tR tR tRt	V t
R# )	LeapdaysTestCasei  c                T    V P                  \        P                  ! R R 4      ^ 4       R# )r   Nr)   r$   leapdaysr8   s   &r   test_no_rangeLeapdaysTestCase.test_no_range      **45q9r   c                T    V P                  \        P                  ! R R4      ^ 4       R# )r   i  Nr  r8   s   &r   test_no_leapdays!LeapdaysTestCase.test_no_leapdays  r  r   c                T    V P                  \        P                  ! R R4      ^ 4       R# )r     Nr  r8   s   &r   test_no_leapdays_upper_boundary0LeapdaysTestCase.test_no_leapdays_upper_boundary  r  r   c                T    V P                  \        P                  ! R R4      ^4       R# )r  i  Nr  r8   s   &r   test_one_leapday_lower_boundary0LeapdaysTestCase.test_one_leapday_lower_boundary  r  r   c                T    V P                  \        P                  ! R R4      ^4       R# )r  i  Nr  r8   s   &r   test_several_leapyears_in_range0LeapdaysTestCase.test_several_leapyears_in_range  s    **45q9r   r#   N)r   r   r   r   r  r  r  r  r  r   r   r   s   @r   r  r    s#     ::::: :r   r  c                 ^    V P                  R \        P                  4      P                  4       # )
)replaceoslinesepr,   )r   s   &r   convr    s     99T2::&--//r   c                     a  ] tR tRt o R t]P                  R 4       t]P                  R 4       tR t	R t
R tR tR	 t]P                  R
 4       tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV t R# )CommandLineTestCasei  c                @    V P                   V P                  .V n        R # r   )
run_cli_ok
run_cmd_okrunnersr8   s   &r   rM  CommandLineTestCase.setUp  s    9r   c              #    "   \         P                  p\        P                  ! 4       p\        P                  ! V4      \         n         \         P                  x  \         P                  P                  4        \         P                  P                  P                  ^ 4       V\         n        R#   \         P                  P                  4        \         P                  P                  P                  ^ 4       T\         n        i ; i5irT  )rI   stdoutioBytesIOTextIOWrapperflushbufferseek)r   orig_stdoutr  s   &  r   captured_stdout_with_buffer/CommandLineTestCase.captured_stdout_with_buffer       jj%%f-
	%**JJJJ""1%$CJ JJJJ""1%$CJ    ADB. AD.ADDc              #    "   \         P                  p\        P                  ! 4       p\        P                  ! V4      \         n         \         P                  x  \         P                  P                  4        \         P                  P                  P                  ^ 4       V\         n        R#   \         P                  P                  4        \         P                  P                  P                  ^ 4       T\         n        i ; i5irT  )rI   stderrr  r  r  r  r  r  )r   orig_stderrr  s   &  r   captured_stderr_with_buffer/CommandLineTestCase.captured_stderr_with_buffer  r  r  c                    V P                  4       ;_uu_ 4       p\        P                  ! V4       R R R 4       XP                  P	                  4       #   + '       g   i     L*; ir   )r  r$   mainr  read)r   argsr  s   &* r   r  CommandLineTestCase.run_cli_ok  s@    --//6MM$ 0}}!!## 0/s   AA"	c                ,    \        R R.VO5!  ^,          # )-mr$   )r   r   r  s   &*r   r  CommandLineTestCase.run_cmd_ok  s    j848;;r   c                   V P                  4       ;_uu_ 4       pV P                  \        \        P                  V4       R R R 4       XP
                  P                  4       pV P                  RV4       V#   + '       g   i     L>; i)N   usage:)r  r|   
SystemExitr$   r  r  r  r  )r   r  r  s   &* r   assertCLIFails"CommandLineTestCase.assertCLIFails  s\    --//6j(--> 0##%i(	 0/s   &A55B	c                t    \        R R.VO5!  w  r#pV P                  RV4       V P                  V^4       W#V3# )r  r$   r  )r   r  r)   )r   r  rcr  r  s   &*   r   assertCmdFails"CommandLineTestCase.assertCmdFails  sA    24KdKFi(Q6!!r   c                F    V P                   ! V!   V P                  ! V!   R # r   )r  r  r  s   &*r   assertFailure!CommandLineTestCase.assertFailure  s    T"T"r   c                   V P                  R 4      pV P                  RV4       V P                  RV4       V P                  RV4       V P                  4       ;_uu_ 4       pV P                  \        \
        P                  R .4       RRR4       XP                  P                  4       pV P                  RV4       V P                  RV4       R#   + '       g   i     LP; i)z-hr  s    -m calendar s   --helpN)	r  r  r  r|   r  r$   r  r  r  )r   r  r1   s   &  r   	test_helpCommandLineTestCase.test_help  s    &i(&/i( --//6j(--$@ 0##%i(i(	 0/s    'CC	c                
   V P                  R 4       V P                  R4       V P                  RR4       V P                  RRR4       V P                  RRR4       V P                  RRRR4       V P                  RRRR4       R# )z-zspam2004r   -thtmlN)r  r8   s   &r   test_illegal_arguments*CommandLineTestCase.test_illegal_arguments  sz    4 6"66*63/63,63V445r   c                   V P                    Fx  pV! 4       p\        P                  P                  4       P                  pV P	                  \        R V,          4      V4       V P	                  RV4       V P	                  RV4       Kz  	  R# )z %ss   Januarys   Mo Tu We Th Fr Sa SuN)r  r*  nowr   r  r  r   runr1   r   s   &   r   test_output_current_year,CommandLineTestCase.test_output_current_year  se    <<CUF$$((*//DMM$ut|,f5MM*f-MM16:  r   c                z    V P                    F*  pV! R 4      pV P                  V\        \        4      4       K,  	  R# )r  N)r  r)   r  r6   r   r  r1   s   &  r   test_output_year$CommandLineTestCase.test_output_year  s/    <<C[FVT*:%;<  r   c                |    V P                    F+  pV! R R4      pV P                  V\        \        4      4       K-  	  R# )r  r   N)r  r)   r  rt   r  s   &  r   test_output_month%CommandLineTestCase.test_output_month  s2    <<C%FVT*=%>?  r   c                    V P                  R 4       V P                  R4       V P                   F2  pV! RRR4      pV P                  V\        P	                  R4      4       K4  	  R# )z-e
--encodingz	utf-16-ler  N)r  r  r)   r6   r,   r  s   &  r   test_option_encoding(CommandLineTestCase.test_option_encoding  sV    4 <(<<C{F;FV%5%<%<[%IJ  r   c                   V P                  R 4       V P                  R4       V P                  R R4       \        P                  ! 4       w  rT;'       g    RpT;'       g    Rp \        P                  ! \        P                  4      p \        P                  ! \        P                  W34       \        P                  ! \        P                  V4       T P                   F;  pR
 F2  pT! RTRTRTR4      pT P                  RP                  T4      T4       K4  	  K=  	  R	#   \        P                  ! \        P                  T4       i ; i  \        P
                  \        3 d    T P                  R4        Li ; i)z-Lz--localeenr   zUTF-8r   --typer  r  N)textr  )r  r   	getlocaleLC_TIME	setlocaler   r   skipTestr  r  r,   )r   langenc	oldlocaler  typer1   s   &      r   test_option_locale&CommandLineTestCase.test_option_locale  s'   4 :&4&$$&	{{snnW	B((8I<  $=  ; <<C(dJlC fmmC0&9	 )     ;j) 	BMM@A	Bs*   %$E 
&D" 0%E "'E		E ,E;:E;c                    V P                  R 4       V P                  R4       V P                  R R4       V P                   F  pV! RRR4      pV P                  RV4       K!  	  R# )z-wz--widthr  r   r  s   Mon Tue Wed Thu Fri Sat SunNr  r  r  r  s   &  r   test_option_width%CommandLineTestCase.test_option_width%  sY    4 9%4(<<CC0FMM8&A  r   c                    V P                  R 4       V P                  R4       V P                  R R4       V P                   F(  pV! RRR4      pV P                  \        R4      V4       K*  	  R# )z-lz--linesr  r   r  zDecember

Mo Tu WeNr  r  r  r  r  s   &  r   test_option_lines%CommandLineTestCase.test_option_lines-  s^    4 9%4(<<CC0FMM$56?  r   c                    V P                  R 4       V P                  R4       V P                  R R4       V P                   F  pV! RRR4      pV P                  RV4       K!  	  R# )z-sz	--spacingr  8r  s   Su        MoNr)  r  s   &  r   test_option_spacing'CommandLineTestCase.test_option_spacing5  sX    4 ;'4(<<Cc62FMM/62  r   c                    V P                  R 4       V P                  R4       V P                  R R4       V P                   F(  pV! RRR4      pV P                  \        R4      V4       K*  	  R# )r  z--monthr  z--monthsr   r  z
Mo Tu We Th Fr Sa Su
Nr-  r  s   &  r   test_option_months&CommandLineTestCase.test_option_months=  s^    4 9%4(<<CS&1FMM$9:FC  r   c                B   V P                  R 4       V P                  R4       V P                  R R4       V P                   FZ  pV! RRR4      pV P                  V\        \        4      4       V! RRR4      pV P                  VR4       V P                  RV4       K\  	  R# )	r  r  r  r  r  r  s   <?xml s    <title>Calendar for 2004</title>N)r  r  r)   r  r6   assertStartsWithr  r  s   &  r   test_option_type$CommandLineTestCase.test_option_typeE  s    4 8$4(<<C662FVT*:%;<662F!!&)4MM=vF  r   c                    V P                    Fm  pV! R R4      p\        P                  P                  4       P                  pV P	                  RV,          P                  4       V4       V P	                  RV4       Ko  	  R# )r  r  z<title>Calendar for %s</title>s3   <tr><th colspan="7" class="month">January</th></tr>N)r  r*  r
  r   r  r,   r  s   &   r   test_html_output_current_year1CommandLineTestCase.test_html_output_current_yearP  sc    <<C6*F$$((*//DMM;dBJJLfUMMPRXY	  r   c           	         V P                    FH  pV! R RRRR4      pV P                  V\        P                  ! R/ \        B P                  R4      4       KJ  	  R# )r  r  r  r   r  Nr#   )r  r)   r*   r+   r&   r,   r  s   &  r   test_html_output_year_encoding2CommandLineTestCase.test_html_output_year_encodingW  sM    <<Cv|WfEFV%5%<%<%N~%N%U%UV]%^_  r   c                    V P                  R RR4       V P                  R RR4       V P                   F!  pV! R RRRR4      pV P                  RV4       K#  	  R# )r  r  z-cz--cssz
custom.cssr  s;   <link rel="stylesheet" type="text/css" href="custom.css" />Nr)  r  s   &  r   test_html_output_year_css-CommandLineTestCase.test_html_output_year_css\  sZ    4.41<<CvwfEFMM 239;  r   )r  N)!r   r   r   r   rM  
contextlibcontextmanagerr  r  r  r  r  r  r  r   force_not_colorizedr   r  r  r  r  r  r&  r*  r.  r2  r5  r9  r<  r?  rB  r   r   r   s   @r   r  r    s     : 	% 	% 	% 	%$
<"#   ) !)6;=
@
K:.B@3D	GZ`
; ;r   r  c                   &   a  ] tR tRt o R tRtV tR# )MiscTestCaseie  c                H    0 Rmp\         P                  ! V \        VR7       R# )mdays)not_exportedN>   r   r   r  r   EPOCHrJ  r+   r   r   Februarymonthlen	nextmonth	prevmonthformatstringdifferent_locale)r   check__all__r$   )r   rK  s   & r   test__all__MiscTestCase.test__all__f  s    N 	T8,Gr   r#   N)r   r   r   r   rT  r   r   r   s   @r   rH  rH  e  s     H Hr   rH  c                   P   a  ] tR tRt o R tR tR tR tR tR t	R t
R	 tR
tV tR# )TestSubClassingCasein  c                P     ! R  R\         P                  4      pV! 4       V n        R# )c                       ] tR tRt]P
                  P                   U u. uF  q R,           NK  	  up t. R	OtRtRt	Rt
RtRtR# u up i )
0TestSubClassingCase.setUp.<locals>.CustomHTMLCalir  z text-nowrapztext-center month-headr  ztext-italic zlead r#   N)redbluegreenlilacyelloworangepink)r   r   r   r   r$   r%   
cssclassesr$  r  cssclass_monthcssclass_yearcssclass_year_headr   )styles   0r   CustomHTMLCalrZ  r  sU    "//::<: 6;.00:<J'C#":0N*M!(<s   Arg  N)r$   r%   r/   )r   rg  s   & r   rM  TestSubClassingCase.setUpp  s    	)H11 	) !?r   c                ^    V P                  R V P                  P                  R^4      4       R# )zclass="text-center month-head"rz   N)r  r/   r   r8   s   &r   test_formatmonthname(TestSubClassingCase.test_formatmonthname~  s%    6hh..tQ7	9r   c                ^    V P                  R V P                  P                  R^4      4       R# )r  rz   N)r  r/   rs   r8   s   &r   rv   $TestSubClassingCase.test_formatmonth  s%    1hh**43	5r   c                   V P                  \        P                  4      ;_uu_ 4        V P                  P	                  R ^4       RRR4       V P                  \        P                  4      ;_uu_ 4        V P                  P	                  R R4       RRR4       R#   + '       g   i     L^; i  + '       g   i     R# ; iry   )r|   r$   r}   r/   rs   r8   s   &r   r~   7TestSubClassingCase.test_formatmonth_with_invalid_month  sx    x99::HH  r* ;x99::HH  r* ;: ;::::s   B4B.B+	.B?	c                    V P                   P                  R ^4      pV P                  RV P                   P                  V^ ,          4      4       R# )rz   zclass="wed text-nowrap"N)r/   monthdays2calendarr  
formatweek)r   rX  s   & r   test_formatweek#TestSubClassingCase.test_formatweek  s:    ++D!4/1D1DU1X1NOr   c                    V P                   P                  4       pV P                   P                   F  pV P                  R V,          V4       K  	  R# )z<th class="%s">N)r/   rk   r$  r  )r   headercolors   &  r   test_formatweek_head(TestSubClassingCase.test_formatweek_head  s<    **,XX55EMM+e3V< 6r   c                    V P                  R V P                  P                  ,          V P                  P                  R4      4       R# )z=<table border="0" cellpadding="0" cellspacing="0" class="%s">rz   N)r  r/   rd  r=   r8   s   &r   test_format_year$TestSubClassingCase.test_format_year  s6    LXX##$&*hh&9&9$&?	Ar   c                    V P                  R ^V P                  P                  R3,          V P                  P                  R4      4       R# )z,<tr><th colspan="%d" class="%s">%s</th></tr>rz   N)r  r/   re  r=   r8   s   &r   test_format_year_head)TestSubClassingCase.test_format_year_head  s@    Dtxx**DH2 237883F3Ft3L	Nr   )r/   N)r   r   r   r   rM  rj  rv   r~   rs  rx  r{  r~  r   r   r   s   @r   rW  rW  n  s6     #95+P=
A
N Nr   rW  __main__)r   r   r   r   ri   r   r   )r   r   r      ro   r      )r(                    )                     )      r0  r     r  r   )r   r   r   r   r   r   r   )ri   r   r   r   r   r   r  )ro   r   r  r(  r  r  r  )r  r  r  r  r  r  r  )r  r  r  r  r  r0  r  )r   ri   r   r   r   r   r   )r  ro   r   r  r(  r  r  )r  r  r  r  r  r  r  )r  r  r  r  r  r  r0  )r  r  r  r   r   r   r   )r  r  r0  r  r  r   r   )r   r   r   r   r   r   ri   )r   r   r   r   r   r  ro   )r   r  r(  r  r  r  r  )r  r  r  r  r  r  r  )r  r  r  r  r0  r  r  )r  r   r   r   r   r   r   )r   r   ri   r   r   r   r   )r   r  ro   r   r  r(  r  )r  r  r  r  r  r  r  )r  r  r  r  r  r  r  )r0  r  r  r   r   r   r   )r  r  r   r   r   r   r   )r   r   r   ri   r   r   r   )r   r   r  ro   r   r  r(  )r  r  r  r  r  r  r  )r  r  r  r  r  r  r  )r  r0  r  r  r   r   r   )r   r   r   r   r   ri   r   )r   r   r   r   r  ro   r   )r  r(  r  r  r  r  r  )r  r  r  r  r  r  r  )r  r  r  r0  r  r  r  )r  r  r   r   r   r   r   )r  r0  r  r  r  r   r   )z>12/29/03 12/30/03 12/31/03 01/01/04 01/02/04 01/03/04 01/04/04z>01/05/04 01/06/04 01/07/04 01/08/04 01/09/04 01/10/04 01/11/04z>01/12/04 01/13/04 01/14/04 01/15/04 01/16/04 01/17/04 01/18/04z>01/19/04 01/20/04 01/21/04 01/22/04 01/23/04 01/24/04 01/25/04>01/26/04 01/27/04 01/28/04 01/29/04 01/30/04 01/31/04 02/01/04)r  z>02/02/04 02/03/04 02/04/04 02/05/04 02/06/04 02/07/04 02/08/04z>02/09/04 02/10/04 02/11/04 02/12/04 02/13/04 02/14/04 02/15/04z>02/16/04 02/17/04 02/18/04 02/19/04 02/20/04 02/21/04 02/22/04z>02/23/04 02/24/04 02/25/04 02/26/04 02/27/04 02/28/04 02/29/04)z>03/01/04 03/02/04 03/03/04 03/04/04 03/05/04 03/06/04 03/07/04z>03/08/04 03/09/04 03/10/04 03/11/04 03/12/04 03/13/04 03/14/04z>03/15/04 03/16/04 03/17/04 03/18/04 03/19/04 03/20/04 03/21/04z>03/22/04 03/23/04 03/24/04 03/25/04 03/26/04 03/27/04 03/28/04>03/29/04 03/30/04 03/31/04 04/01/04 04/02/04 04/03/04 04/04/04)r  z>04/05/04 04/06/04 04/07/04 04/08/04 04/09/04 04/10/04 04/11/04z>04/12/04 04/13/04 04/14/04 04/15/04 04/16/04 04/17/04 04/18/04z>04/19/04 04/20/04 04/21/04 04/22/04 04/23/04 04/24/04 04/25/04>04/26/04 04/27/04 04/28/04 04/29/04 04/30/04 05/01/04 05/02/04)r  z>05/03/04 05/04/04 05/05/04 05/06/04 05/07/04 05/08/04 05/09/04z>05/10/04 05/11/04 05/12/04 05/13/04 05/14/04 05/15/04 05/16/04z>05/17/04 05/18/04 05/19/04 05/20/04 05/21/04 05/22/04 05/23/04z>05/24/04 05/25/04 05/26/04 05/27/04 05/28/04 05/29/04 05/30/04>05/31/04 06/01/04 06/02/04 06/03/04 06/04/04 06/05/04 06/06/04)r  z>06/07/04 06/08/04 06/09/04 06/10/04 06/11/04 06/12/04 06/13/04z>06/14/04 06/15/04 06/16/04 06/17/04 06/18/04 06/19/04 06/20/04z>06/21/04 06/22/04 06/23/04 06/24/04 06/25/04 06/26/04 06/27/04>06/28/04 06/29/04 06/30/04 07/01/04 07/02/04 07/03/04 07/04/04)r  z>07/05/04 07/06/04 07/07/04 07/08/04 07/09/04 07/10/04 07/11/04z>07/12/04 07/13/04 07/14/04 07/15/04 07/16/04 07/17/04 07/18/04z>07/19/04 07/20/04 07/21/04 07/22/04 07/23/04 07/24/04 07/25/04>07/26/04 07/27/04 07/28/04 07/29/04 07/30/04 07/31/04 08/01/04)r  z>08/02/04 08/03/04 08/04/04 08/05/04 08/06/04 08/07/04 08/08/04z>08/09/04 08/10/04 08/11/04 08/12/04 08/13/04 08/14/04 08/15/04z>08/16/04 08/17/04 08/18/04 08/19/04 08/20/04 08/21/04 08/22/04z>08/23/04 08/24/04 08/25/04 08/26/04 08/27/04 08/28/04 08/29/04>08/30/04 08/31/04 09/01/04 09/02/04 09/03/04 09/04/04 09/05/04)r  z>09/06/04 09/07/04 09/08/04 09/09/04 09/10/04 09/11/04 09/12/04z>09/13/04 09/14/04 09/15/04 09/16/04 09/17/04 09/18/04 09/19/04z>09/20/04 09/21/04 09/22/04 09/23/04 09/24/04 09/25/04 09/26/04>09/27/04 09/28/04 09/29/04 09/30/04 10/01/04 10/02/04 10/03/04)r  z>10/04/04 10/05/04 10/06/04 10/07/04 10/08/04 10/09/04 10/10/04z>10/11/04 10/12/04 10/13/04 10/14/04 10/15/04 10/16/04 10/17/04z>10/18/04 10/19/04 10/20/04 10/21/04 10/22/04 10/23/04 10/24/04z>10/25/04 10/26/04 10/27/04 10/28/04 10/29/04 10/30/04 10/31/04)z>11/01/04 11/02/04 11/03/04 11/04/04 11/05/04 11/06/04 11/07/04z>11/08/04 11/09/04 11/10/04 11/11/04 11/12/04 11/13/04 11/14/04z>11/15/04 11/16/04 11/17/04 11/18/04 11/19/04 11/20/04 11/21/04z>11/22/04 11/23/04 11/24/04 11/25/04 11/26/04 11/27/04 11/28/04>11/29/04 11/30/04 12/01/04 12/02/04 12/03/04 12/04/04 12/05/04)r  z>12/06/04 12/07/04 12/08/04 12/09/04 12/10/04 12/11/04 12/12/04z>12/13/04 12/14/04 12/15/04 12/16/04 12/17/04 12/18/04 12/19/04z>12/20/04 12/21/04 12/22/04 12/23/04 12/24/04 12/25/04 12/26/04z>12/27/04 12/28/04 12/29/04 12/30/04 12/31/04 01/01/05 01/02/05)&r$   r   testr   test.support.script_helperr   r   rD  r*  r  r   r  rI   r  ru   r7   rt   r6   dictr&   r*   re   r`   TestCaser   r   rJ  r]  r  r  r  r  r  r  rH  rW  r   r  r#   r   r   <module>r     s      N   	  	 
  %N $ N 67C{ | ""!	#
 !""	$
  ""	 ! "" 	"
 """ ""	 !  ""!	#
 !"" ""	!"  """	$
  ""	
 "" 	"#a? DI
I
IJI
IIJ I
IIJ I
I
IJ_=K BBX&& BBr-x(( r-jHH-- H77* 77t77* 77r;X&& ;*** *>:x(( :*0y;(++ y;xH8$$ H/N(++ /Nb zMMO r   