File Coverage

blib/lib/JE/LValue.pm
Criterion Covered Total %
statement 4653 4653 100.0
branch 23 44 52.2
condition 6 9 66.6
subroutine 4653 4653 100.0
pod 6 7 85.7
total 9341 9366 99.7


line stmt bran cond sub pod time code
1             package JE::LValue;
2              
3             our $VERSION = '0.064';
4              
5 109     109   32639 use strict;
  109         266  
  109         3236  
6 109     109   879 use warnings; no warnings 'utf8';
  109     109   259  
  109         2256  
  109         466  
  109         251  
  109         2903  
7              
8 109     109   541 use List::Util 'first';
  109         273  
  109         6148  
9 109     109   673 use Scalar::Util 'blessed';
  109         272  
  109         37236  
10              
11             require JE::Code;
12             require JE::Object::Error::TypeError;
13             require JE::Object::Error::ReferenceError;
14              
15             import JE::Code 'add_line_number';
16             sub add_line_number;
17              
18              
19             our $ovl_infix = join ' ', @overload::ops{qw[
20             with_assign assign num_comparison 3way_comparison str_comparison binary
21             ]};
22             our $ovl_prefix = join ' ', grep !/^(?:neg|atan2)\z/,
23             map split(/ /), @overload::ops{qw[ unary mutators func ]};
24              
25             use overload
26             fallback => !1,
27             nomethod => sub {
28 13410     13411   16166 my $at = $@;
29 13410         19180 my ($self, $other, $reversed, $symbol) = @_;
30 13410 50       24082 return $self if $symbol eq '=';
31 13410         20171 $self = $self->get;
32 13407         68321 my $sym_regexp = qr/(?:^| )\Q$symbol\E(?:$| )/;
33 13407         13513 my $val;
34 13407 50       104058 if ($overload::ops{conversion} =~ $sym_regexp) {
    50          
    0          
    0          
    0          
    0          
35 7         110 return $self;
36             }
37             elsif($ovl_infix =~ $sym_regexp) {
38 13407         46437 my $bits = (caller 0)[9];
39 13407 100   24   913133 $val = eval 'BEGIN{${^WARNING_BITS} = $bits}'
  23     22   349  
  21     22   290  
  21     21   294  
  20     21   274  
  20     21   268  
  20     21   615  
  19     21   252  
  19     21   263  
  19     21   240  
  19     19   263  
  18     19   253  
  18     19   268  
  18     19   266  
  18     19   246  
  18     19   257  
  18     19   241  
  18     19   234  
  18     19   243  
  18     19   256  
  18     18   233  
  17     17   222  
  16     17   233  
  16     17   199  
  16     17   219  
  16     17   211  
  16     17   248  
  16     17   212  
  16     17   211  
  16     17   213  
  16     16   227  
  15     16   214  
  15     16   191  
  15     16   205  
  15     16   198  
  15     16   201  
  15     16   204  
  15     16   200  
  15     16   212  
  15     16   196  
  15     16   223  
  15     15   226  
  14     15   193  
  14     15   217  
  14     15   218  
  14     15   186  
  14     15   193  
  14     15   173  
  14     15   188  
  14     15   193  
  14     15   180  
  14     15   206  
  14     15   183  
  14     15   185  
  14     15   194  
  14     15   182  
  14     15   186  
  14     15   195  
  14     15   191  
  14     14   176  
  14     13   518  
  13     13   198  
  13     13   176  
  13     13   180  
  13     13   181  
  13     13   182  
  13     13   182  
  13     13   176  
  13     13   192  
  13     13   194  
  13     13   177  
  13     13   198  
  13     13   180  
  13     13   192  
  13     13   180  
  13     13   173  
  13     13   185  
  13     13   177  
  13     13   173  
  13     13   170  
  13     13   171  
  13     13   184  
  13     13   185  
  13     13   164  
  13     13   177  
  13     13   180  
  13     13   216  
  13     13   166  
  13     13   173  
  13     13   200  
  13     13   175  
  13     13   178  
  13     13   174  
  13     13   175  
  13     13   181  
  13     13   175  
  13     13   217  
  13     13   161  
  13     13   209  
  13     13   179  
  13     13   190  
  13     13   190  
  13     13   203  
  13     13   172  
  13     13   165  
  13     13   172  
  13     13   181  
  13     13   205  
  13     13   179  
  13     13   182  
  13     13   173  
  13     13   176  
  13     5   171  
  5     5   72  
  5     5   66  
  5     5   62  
  5     5   68  
  5     5   66  
  5     5   72  
  5     5   71  
  5     5   76  
  5     5   64  
  5     5   64  
  5     5   72  
  5     5   72  
  5     5   68  
  5     5   64  
  5     5   61  
  5     5   72  
  5     5   62  
  5     5   65  
  5     5   92  
  5     5   70  
  5     5   74  
  5     5   88  
  5     5   75  
  5     5   73  
  5     5   65  
  5     5   71  
  5     5   81  
  5     5   67  
  5     5   64  
  5     5   71  
  5     5   71  
  5     5   81  
  5     5   75  
  5     5   77  
  5     5   202  
  5     5   68  
  5     5   76  
  5     5   61  
  5     5   65  
  5     5   80  
  5     5   69  
  5     5   68  
  5     5   67  
  5     5   73  
  5     5   62  
  5     5   73  
  5     5   64  
  5     5   70  
  5     5   65  
  5     5   67  
  5     5   61  
  5     5   67  
  5     5   72  
  5     5   66  
  5     5   78  
  5     5   71  
  5     5   65  
  5     5   73  
  5     5   65  
  5     5   69  
  5     5   72  
  5     5   59  
  5     5   73  
  5     5   70  
  5     5   61  
  5     5   61  
  5     5   84  
  5     5   67  
  5     5   68  
  5     5   73  
  5     5   74  
  5     5   67  
  5     5   66  
  5     5   63  
  5     5   64  
  5     5   70  
  5     5   68  
  5     5   67  
  5     5   63  
  5     5   61  
  5     5   59  
  5     5   62  
  5     5   72  
  5     5   68  
  5     5   63  
  5     5   67  
  5     5   65  
  5     5   64  
  5     5   62  
  5     5   70  
  5     5   63  
  5     5   65  
  5     5   72  
  5     5   67  
  5     5   62  
  5     5   70  
  5     5   67  
  5     5   70  
  5     5   67  
  5     5   65  
  5     5   66  
  5     5   66  
  5     5   74  
  5     5   70  
  5     5   63  
  5     5   77  
  5     5   87  
  5     5   63  
  5     5   85  
  5     5   67  
  5     5   67  
  5     5   76  
  5     5   65  
  5     5   72  
  5     5   100  
  5     5   70  
  5     5   61  
  5     5   66  
  5     5   67  
  5     5   63  
  5     5   65  
  5     5   79  
  5     5   61  
  5     5   60  
  5     5   58  
  4     5   51  
  4     5   59  
  4     5   53  
  4     5   51  
  4     5   52  
  4     5   50  
  4     5   52  
  4     5   65  
  4     5   57  
  4     5   52  
  4     5   65  
  4     5   56  
  4     5   48  
  4     5   53  
  4     5   48  
  4     5   55  
  4     5   64  
  4     5   54  
  4     5   49  
  4     5   151  
  4     5   54  
  4     5   50  
  4     5   55  
  4     5   55  
  4     5   57  
  4     5   56  
  4     5   57  
  4     5   56  
  4     5   50  
  4     5   56  
  4     5   50  
  4     5   51  
  4     5   50  
  4     5   54  
  4     5   52  
  4     5   49  
  4     5   58  
  4     5   57  
  4     5   66  
  4     5   62  
  4     5   53  
  4     5   48  
  4     5   54  
  4     5   65  
  4     5   49  
  4     5   66  
  4     5   52  
  4     5   67  
  4     5   61  
  4     5   56  
  4     5   50  
  4     5   50  
  4     4   57  
  4     4   49  
  4     4   59  
  4     4   49  
  4     4   52  
  4     4   50  
  4     4   55  
  4     4   53  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   65  
  4     4   56  
  4     4   52  
  4     4   60  
  4     4   60  
  4     4   58  
  4     4   72  
  4     4   57  
  4     4   84  
  4     4   57  
  4     4   59  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   59  
  4     4   52  
  4     4   63  
  4     4   55  
  4     4   52  
  4     4   53  
  4     4   54  
  4     4   60  
  4     4   52  
  4     4   57  
  4     4   53  
  4     4   55  
  4     4   67  
  4     4   52  
  4     4   56  
  4     4   55  
  4     4   50  
  4     4   52  
  4     4   51  
  4     4   50  
  4     4   60  
  4     4   61  
  4     4   55  
  4     4   59  
  4     4   57  
  4     4   52  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   52  
  4     4   53  
  4     4   60  
  4     4   53  
  4     4   53  
  4     4   70  
  4     4   51  
  4     4   52  
  4     4   52  
  4     4   51  
  4     4   49  
  4     4   59  
  4     4   52  
  4     4   56  
  4     4   51  
  4     4   51  
  4     4   67  
  4     4   59  
  4     4   53  
  4     4   53  
  4     4   56  
  4     4   57  
  4     4   79  
  4     4   50  
  4     4   51  
  4     4   67  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   59  
  4     4   61  
  4     4   60  
  4     4   52  
  4     4   63  
  4     4   51  
  4     4   58  
  4     4   53  
  4     4   67  
  4     4   53  
  4     4   64  
  4     4   57  
  4     4   55  
  4     4   49  
  4     4   55  
  4     4   60  
  4     4   50  
  4     4   60  
  4     4   53  
  4     4   53  
  4     4   52  
  4     4   55  
  4     4   60  
  4     4   52  
  4     4   54  
  4     4   60  
  4     4   55  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   55  
  4     4   52  
  4     4   60  
  4     4   50  
  4     4   58  
  4     4   55  
  4     4   59  
  4     4   54  
  4     4   51  
  4     4   51  
  4     4   68  
  4     4   52  
  4     4   52  
  4     4   55  
  4     4   56  
  4     4   52  
  4     4   52  
  4     4   52  
  4     4   51  
  4     4   57  
  4     4   62  
  4     4   54  
  4     4   62  
  4     4   58  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   49  
  4     4   55  
  4     4   52  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   56  
  4     4   56  
  4     4   54  
  4     4   53  
  4     4   57  
  4     4   63  
  4     4   53  
  4     4   58  
  4     4   56  
  4     4   54  
  4     4   52  
  4     4   53  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   56  
  4     4   52  
  4     4   65  
  4     4   61  
  4     4   85  
  4     4   63  
  4     4   51  
  4     4   55  
  4     4   59  
  4     4   66  
  4     4   83  
  4     4   68  
  4     4   63  
  4     4   63  
  4     4   76  
  4     4   64  
  4     4   61  
  4     4   58  
  4     4   60  
  4     4   55  
  4     4   57  
  4     4   52  
  4     4   49  
  4     4   56  
  4     4   60  
  4     4   54  
  4     4   55  
  4     4   56  
  4     4   89  
  4     4   87  
  4     4   53  
  4     4   54  
  4     4   59  
  4     4   58  
  4     4   57  
  4     4   55  
  4     4   59  
  4     4   52  
  4     4   61  
  4     4   54  
  4     4   60  
  4     4   51  
  4     4   52  
  4     4   52  
  4     4   57  
  4     4   74  
  4     4   51  
  4     4   51  
  4     4   50  
  4     4   62  
  4     4   55  
  4     4   53  
  4     4   56  
  4     4   55  
  4     4   60  
  4     4   54  
  4     4   55  
  4     4   50  
  4     4   57  
  4     4   56  
  4     4   63  
  4     4   51  
  4     4   53  
  4     4   50  
  4     4   53  
  4     4   50  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   57  
  4     4   60  
  4     4   57  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   59  
  4     4   57  
  4     4   61  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   1957  
  4     4   49  
  4     4   57  
  4     4   51  
  4     4   50  
  4     4   52  
  4     4   52  
  4     4   53  
  4     4   52  
  4     4   50  
  4     4   55  
  4     4   47  
  4     4   71  
  4     4   52  
  4     4   56  
  4     4   51  
  4     4   65  
  4     4   54  
  4     4   81  
  4     4   62  
  4     4   57  
  4     4   51  
  4     4   53  
  4     4   51  
  4     4   51  
  4     4   50  
  4     4   52  
  4     4   53  
  4     4   49  
  4     4   54  
  4     4   59  
  4     4   54  
  4     4   58  
  4     4   52  
  4     4   63  
  4     4   50  
  4     4   52  
  4     4   59  
  4     4   62  
  4     4   54  
  4     4   53  
  4     4   84  
  4     4   57  
  4     4   58  
  4     4   73  
  4     4   60  
  4     4   56  
  4     4   58  
  4     4   55  
  4     4   56  
  4     4   57  
  4     4   54  
  4     4   57  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   52  
  4     4   53  
  4     4   55  
  4     4   58  
  4     4   56  
  4     4   52  
  4     4   55  
  4     4   60  
  4     4   61  
  4     4   52  
  4     4   60  
  4     4   51  
  4     4   56  
  4     4   53  
  4     4   55  
  4     4   51  
  4     4   53  
  4     4   51  
  4     4   56  
  4     4   60  
  4     4   59  
  4     4   53  
  4     4   53  
  4     4   86  
  4     4   52  
  4     4   53  
  4     4   56  
  4     4   54  
  4     4   55  
  4     4   56  
  4     4   53  
  4     4   54  
  4     4   56  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   63  
  4     4   58  
  4     4   53  
  4     4   55  
  4     4   57  
  4     4   55  
  4     4   55  
  4     4   55  
  4     4   57  
  4     4   54  
  4     4   52  
  4     4   61  
  4     4   54  
  4     4   53  
  4     4   56  
  4     4   54  
  4     4   62  
  4     4   59  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   65  
  4     4   61  
  4     4   54  
  4     4   53  
  4     4   61  
  4     4   53  
  4     4   93  
  4     4   56  
  4     4   67  
  4     4   56  
  4     4   55  
  4     4   54  
  4     4   58  
  4     4   80  
  4     4   53  
  4     4   67  
  4     4   52  
  4     4   59  
  4     4   92  
  4     4   55  
  4     4   56  
  4     4   58  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   54  
  4     4   51  
  4     4   64  
  4     4   58  
  4     4   53  
  4     4   80  
  4     4   53  
  4     4   59  
  4     4   59  
  4     4   55  
  4     4   58  
  4     4   60  
  4     4   65  
  4     4   55  
  4     4   55  
  4     4   56  
  4     4   52  
  4     4   54  
  4     4   62  
  4     4   62  
  4     4   59  
  4     4   55  
  4     4   57  
  4     4   62  
  4     4   54  
  4     4   55  
  4     4   84  
  4     4   54  
  4     4   57  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   55  
  4     4   59  
  4     4   61  
  4     4   81  
  4     4   53  
  4     4   56  
  4     4   56  
  4     4   63  
  4     4   67  
  4     4   61  
  4     4   49  
  4     4   52  
  4     4   53  
  4     4   50  
  4     4   53  
  4     4   59  
  4     4   62  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   62  
  4     4   56  
  4     4   51  
  4     4   56  
  4     4   52  
  4     4   53  
  4     4   57  
  4     4   53  
  4     4   53  
  4     4   58  
  4     4   116  
  4     4   53  
  4     4   55  
  4     4   124  
  4     4   56  
  4     4   50  
  4     4   65  
  4     4   52  
  4     4   59  
  4     4   54  
  4     4   51  
  4     4   51  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   60  
  4     4   54  
  4     4   59  
  4     4   52  
  4     4   58  
  4     4   53  
  4     4   61  
  4     4   53  
  4     4   56  
  4     4   52  
  4     4   57  
  4     4   51  
  4     4   69  
  4     4   55  
  4     4   54  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   52  
  4     4   58  
  4     4   55  
  4     4   52  
  4     4   59  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   53  
  4     4   62  
  4     4   56  
  4     4   68  
  4     4   58  
  4     4   62  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   59  
  4     4   51  
  4     4   66  
  4     4   51  
  4     4   63  
  4     4   58  
  4     4   58  
  4     4   53  
  4     4   56  
  4     4   62  
  4     4   53  
  4     4   53  
  4     4   60  
  4     4   52  
  4     4   104  
  4     4   57  
  4     4   54  
  4     4   57  
  4     4   52  
  4     4   54  
  4     4   52  
  4     4   51  
  4     4   62  
  4     4   59  
  4     4   54  
  4     4   56  
  4     4   54  
  4     4   61  
  4     4   51  
  4     4   56  
  4     4   53  
  4     4   51  
  4     4   51  
  4     4   54  
  4     4   53  
  4     4   65  
  4     4   53  
  4     4   62  
  4     4   53  
  4     4   57  
  4     4   59  
  4     4   58  
  4     4   52  
  4     4   56  
  4     4   54  
  4     4   55  
  4     4   50  
  4     4   52  
  4     4   56  
  4     4   52  
  4     4   50  
  4     4   52  
  4     4   74  
  4     4   52  
  4     4   52  
  4     4   65  
  4     4   63  
  4     4   51  
  4     4   64  
  4     4   58  
  4     4   50  
  4     4   60  
  4     4   66  
  4     4   55  
  4     4   59  
  4     4   59  
  4     4   56  
  4     4   55  
  4     4   62  
  4     4   58  
  4     4   73  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   866  
  4     4   54  
  4     4   57  
  4     4   55  
  4     4   53  
  4     4   50  
  4     4   62  
  4     4   57  
  4     4   59  
  4     4   53  
  4     4   70  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   62  
  4     4   54  
  4     4   55  
  4     4   58  
  4     4   52  
  4     4   52  
  4     4   50  
  4     4   50  
  4     4   54  
  4     4   62  
  4     4   55  
  4     4   55  
  4     4   58  
  4     4   53  
  4     4   51  
  4     4   61  
  4     4   66  
  4     4   54  
  4     4   50  
  4     4   52  
  4     4   56  
  4     4   53  
  4     4   54  
  4     4   57  
  4     4   53  
  4     4   62  
  4     4   50  
  4     4   54  
  4     4   66  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   61  
  4     4   51  
  4     4   84  
  4     4   51  
  4     4   57  
  4     4   57  
  4     4   52  
  4     4   62  
  4     4   52  
  4     4   52  
  4     4   58  
  4     4   52  
  4     4   50  
  4     4   50  
  4     4   51  
  4     4   54  
  4     4   55  
  4     4   57  
  4     4   54  
  4     4   56  
  4     4   62  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   51  
  4     4   53  
  4     4   54  
  4     4   58  
  4     4   65  
  4     4   49  
  4     4   64  
  4     4   61  
  4     4   61  
  4     4   58  
  4     4   62  
  4     4   58  
  4     4   61  
  4     4   61  
  4     4   70  
  4     4   66  
  4     4   67  
  4     4   70  
  4     4   61  
  4     4   94  
  4     4   69  
  4     4   85  
  4     4   61  
  4     4   63  
  4     4   60  
  4     4   62  
  4     4   61  
  4     4   66  
  4     4   67  
  4     4   63  
  4     4   63  
  4     4   60  
  4     4   69  
  4     4   59  
  4     4   61  
  4     4   73  
  4     4   64  
  4     4   75  
  4     4   58  
  4     4   58  
  4     4   62  
  4     4   61  
  4     4   73  
  4     4   75  
  4     4   60  
  4     4   63  
  4     4   71  
  4     4   60  
  4     4   66  
  4     4   62  
  4     4   60  
  4     4   60  
  4     4   58  
  4     4   58  
  4     4   65  
  4     4   58  
  4     4   65  
  4     4   60  
  4     4   69  
  4     4   61  
  4     4   59  
  4     4   67  
  4     4   64  
  4     4   64  
  4     4   58  
  4     4   63  
  4     4   63  
  4     4   60  
  4     4   73  
  4     4   57  
  4     4   59  
  4     4   59  
  4     4   59  
  4     4   65  
  4     4   63  
  4     4   61  
  4     4   62  
  4     4   62  
  4     4   60  
  4     4   69  
  4     4   92  
  4     4   69  
  4     4   64  
  4     4   63  
  4     4   54  
  4     4   63  
  4     4   50  
  4     4   61  
  4     4   52  
  4     4   69  
  4     4   63  
  4     4   55  
  4     4   53  
  4     4   52  
  4     4   59  
  4     4   55  
  4     4   52  
  4     4   55  
  4     4   54  
  4     4   65  
  4     4   51  
  4     4   58  
  4     4   53  
  4     4   51  
  4     4   51  
  4     4   51  
  4     4   51  
  4     4   64  
  4     4   62  
  4     4   58  
  4     4   58  
  4     4   69  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   48  
  4     4   57  
  4     4   55  
  4     4   51  
  4     4   50  
  4     4   52  
  4     4   53  
  4     4   55  
  4     4   57  
  4     4   56  
  4     4   51  
  4     4   51  
  4     4   50  
  4     4   60  
  4     4   56  
  4     4   52  
  4     4   52  
  4     4   53  
  4     4   57  
  4     4   54  
  4     4   51  
  4     4   53  
  4     4   64  
  4     4   56  
  4     4   51  
  4     4   49  
  4     4   56  
  4     4   53  
  4     4   52  
  4     4   50  
  4     4   56  
  4     4   50  
  4     4   50  
  4     4   51  
  4     4   55  
  4     4   53  
  4     4   60  
  4     4   53  
  4     4   52  
  4     4   51  
  4     4   69  
  4     4   49  
  4     4   54  
  4     4   62  
  4     4   60  
  4     4   57  
  4     4   49  
  4     4   57  
  4     4   50  
  4     4   62  
  4     4   52  
  4     4   66  
  4     4   56  
  4     4   57  
  4     4   63  
  4     4   49  
  4     4   53  
  4     4   57  
  4     4   55  
  4     4   52  
  4     4   50  
  4     4   49  
  4     4   136  
  4     4   53  
  4     4   52  
  4     4   58  
  4     4   53  
  4     4   52  
  4     4   57  
  4     4   58  
  4     4   52  
  4     4   55  
  4     4   50  
  4     4   50  
  4     4   49  
  4     4   56  
  4     4   50  
  4     4   67  
  4     4   61  
  4     4   54  
  4     4   51  
  4     4   58  
  4     4   55  
  4     4   51  
  4     4   55  
  4     4   84  
  4     4   51  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   51  
  4     4   53  
  4     4   50  
  4     4   59  
  4     4   54  
  4     4   58  
  4     4   50  
  4     4   49  
  4     4   50  
  4     4   59  
  4     4   53  
  4     4   65  
  4     4   52  
  4     4   51  
  4     4   57  
  4     4   68  
  4     4   54  
  4     4   55  
  4     4   59  
  4     4   50  
  4     4   58  
  4     4   51  
  4     4   52  
  4     4   49  
  4     4   791  
  4     4   52  
  4     4   55  
  4     4   59  
  4     4   49  
  4     4   51  
  4     4   48  
  4     4   52  
  4     4   54  
  4     4   57  
  4     4   53  
  4     4   54  
  4     4   58  
  4     4   57  
  4     4   49  
  4     4   52  
  4     4   54  
  4     4   52  
  4     4   56  
  4     4   57  
  4     4   52  
  4     4   51  
  4     4   52  
  4     4   55  
  4     4   50  
  4     4   49  
  4     4   62  
  4     4   53  
  4     4   51  
  4     4   59  
  4     4   53  
  4     4   52  
  4     4   61  
  4     4   53  
  4     4   54  
  4     4   52  
  4     4   50  
  4     4   49  
  4     4   50  
  4     4   51  
  4     4   53  
  4     4   54  
  4     4   56  
  4     4   49  
  4     4   61  
  4     4   53  
  4     4   51  
  4     4   46  
  4     4   56  
  4     4   51  
  4     4   48  
  4     4   54  
  4     4   61  
  4     4   57  
  4     4   52  
  4     4   52  
  4     4   54  
  4     4   50  
  4     4   67  
  4     4   54  
  4     4   65  
  4     4   50  
  4     4   56  
  4     4   53  
  4     4   50  
  4     4   56  
  4     4   51  
  4     4   49  
  4     4   57  
  4     4   57  
  4     4   58  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   60  
  4     4   54  
  4     4   52  
  4     4   68  
  4     4   58  
  4     4   53  
  4     4   51  
  4     4   52  
  4     4   52  
  4     4   58  
  4     4   57  
  4     4   55  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   56  
  4     4   55  
  4     4   52  
  4     4   51  
  4     4   54  
  4     4   60  
  4     4   48  
  4     4   52  
  4     4   57  
  4     4   50  
  4     4   55  
  4     4   51  
  4     4   56  
  4     4   55  
  4     4   53  
  4     4   61  
  4     4   49  
  4     4   52  
  4     4   50  
  4     4   50  
  4     4   54  
  4     4   77  
  4     4   60  
  4     4   67  
  4     4   55  
  4     4   49  
  4     4   51  
  4     4   55  
  4     4   50  
  4     4   50  
  4     4   51  
  4     4   49  
  4     4   60  
  4     4   55  
  4     4   52  
  4     4   51  
  4     4   53  
  4     4   51  
  4     4   56  
  4     4   60  
  4     4   54  
  4     4   50  
  4     4   55  
  4     4   53  
  4     4   58  
  4     4   65  
  4     4   57  
  4     4   54  
  4     4   53  
  4     4   59  
  4     4   51  
  4     4   52  
  4     4   50  
  4     4   53  
  4     4   53  
  4     4   71  
  4     4   57  
  4     4   58  
  4     4   53  
  4     4   60  
  4     4   81  
  4     4   51  
  4     4   65  
  4     4   60  
  4     4   58  
  4     4   54  
  4     4   60  
  4     4   59  
  4     4   62  
  4     4   69  
  4     4   65  
  4     4   54  
  4     4   57  
  4     4   59  
  4     4   55  
  4     4   56  
  4     4   68  
  4     4   84  
  4     4   51  
  4     4   63  
  4     4   58  
  4     4   60  
  4     4   54  
  4     4   54  
  4     4   86  
  4     4   54  
  4     4   57  
  4     4   55  
  4     4   54  
  4     4   53  
  4     4   64  
  4     4   54  
  4     4   51  
  4     4   60  
  4     4   56  
  4     4   71  
  4     4   56  
  4     4   70  
  4     4   53  
  4     4   53  
  4     4   57  
  4     4   55  
  4     4   56  
  4     4   65  
  4     4   53  
  4     4   51  
  4     4   62  
  4     4   62  
  4     4   52  
  4     4   55  
  4     4   57  
  4     4   54  
  4     4   59  
  4     4   75  
  4     4   57  
  4     4   62  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   53  
  4     4   61  
  4     4   72  
  4     4   56  
  4     4   62  
  4     4   60  
  4     4   57  
  4     4   62  
  4     4   66  
  4     4   61  
  4     4   58  
  4     4   55  
  4     4   61  
  4     4   52  
  4     4   53  
  4     4   55  
  4     4   51  
  4     4   53  
  4     4   51  
  4     4   54  
  4     4   52  
  4     4   56  
  4     4   54  
  4     4   59  
  4     4   51  
  4     4   57  
  4     4   61  
  4     4   60  
  4     4   62  
  4     4   58  
  4     4   62  
  4     4   53  
  4     4   55  
  4     4   59  
  4     4   59  
  4     4   54  
  4     4   57  
  4     4   59  
  4     4   58  
  4     4   57  
  4     4   67  
  4     4   58  
  4     4   53  
  4     4   60  
  4     4   53  
  4     4   58  
  4     4   59  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   58  
  4     4   64  
  4     4   61  
  4     4   74  
  4     4   64  
  4     4   54  
  4     4   52  
  4     4   55  
  4     4   64  
  4     4   59  
  4     4   63  
  4     4   52  
  4     4   58  
  4     4   55  
  4     4   55  
  4     4   56  
  4     4   53  
  4     4   57  
  4     4   53  
  4     4   63  
  4     4   56  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   53  
  4     4   57  
  4     4   52  
  4     4   73  
  4     4   63  
  4     4   61  
  4     4   63  
  4     4   62  
  4     4   59  
  4     4   64  
  4     4   53  
  4     4   66  
  4     4   56  
  4     4   53  
  4     4   58  
  4     4   51  
  4     4   90  
  4     4   96  
  4     4   53  
  4     4   55  
  4     4   64  
  4     4   56  
  4     4   90  
  4     4   54  
  4     4   65  
  4     4   59  
  4     4   65  
  4     4   60  
  4     4   64  
  4     4   55  
  4     4   55  
  4     4   56  
  4     4   1753  
  4     4   61  
  4     4   55  
  4     4   62  
  4     4   54  
  4     4   55  
  4     4   129  
  4     4   55  
  4     4   56  
  4     4   55  
  4     4   67  
  4     4   62  
  4     4   65  
  4     4   56  
  4     4   58  
  4     4   62  
  4     4   65  
  4     4   66  
  4     4   71  
  4     4   55  
  4     4   57  
  4     4   60  
  4     4   60  
  4     4   65  
  4     4   56  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   67  
  4     4   58  
  4     4   55  
  4     4   52  
  4     4   56  
  4     4   54  
  4     4   56  
  4     4   57  
  4     4   57  
  4     4   63  
  4     4   57  
  4     4   57  
  4     4   54  
  4     4   55  
  4     4   52  
  4     4   63  
  4     4   57  
  4     4   52  
  4     4   58  
  4     4   70  
  4     4   58  
  4     4   55  
  4     4   55  
  4     4   68  
  4     4   55  
  4     4   62  
  4     4   62  
  4     4   57  
  4     4   55  
  4     4   79  
  4     4   65  
  4     4   76  
  4     4   65  
  4     4   68  
  4     4   62  
  4     4   168  
  4     4   85  
  4     4   63  
  4     4   53  
  4     4   57  
  4     4   65  
  4     4   54  
  4     4   57  
  4     4   58  
  4     4   51  
  4     4   59  
  4     4   66  
  4     4   57  
  4     4   84  
  4     4   57  
  4     4   57  
  4     4   64  
  4     4   54  
  4     4   57  
  4     4   55  
  4     4   56  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   66  
  4     4   55  
  4     4   63  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   60  
  4     4   62  
  4     4   52  
  4     4   59  
  4     4   52  
  4     4   67  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   55  
  4     4   66  
  4     4   55  
  4     4   58  
  4     4   54  
  4     4   64  
  4     4   59  
  4     4   65  
  4     4   56  
  4     4   54  
  4     4   56  
  4     4   65  
  4     4   54  
  4     4   56  
  4     4   59  
  4     4   53  
  4     4   56  
  4     4   58  
  4     4   60  
  4     4   55  
  4     4   54  
  4     4   60  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   57  
  4     4   62  
  4     4   53  
  4     4   56  
  4     4   61  
  4     4   61  
  4     4   56  
  4     4   72  
  4     4   65  
  4     4   58  
  4     4   54  
  4     4   61  
  4     4   57  
  4     4   56  
  4     4   53  
  4     4   54  
  4     4   55  
  4     4   57  
  4     4   55  
  4     4   61  
  4     4   52  
  4     4   59  
  4     4   53  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   62  
  4     4   53  
  4     4   61  
  4     4   56  
  4     4   60  
  4     4   65  
  4     4   53  
  4     4   54  
  4     4   61  
  4     4   60  
  4     4   101  
  4     4   62  
  4     4   56  
  4     4   62  
  4     4   52  
  4     4   56  
  4     4   57  
  4     4   64  
  4     4   55  
  4     4   62  
  4     4   57  
  4     4   62  
  4     4   56  
  4     4   56  
  4     4   67  
  4     4   62  
  4     4   63  
  4     4   56  
  4     4   61  
  4     4   58  
  4     4   56  
  4     4   53  
  4     4   57  
  4     4   54  
  4     4   72  
  4     4   54  
  4     4   57  
  4     4   53  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   61  
  4     4   56  
  4     4   54  
  4     4   54  
  4     4   56  
  4     4   60  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   56  
  4     4   62  
  4     4   66  
  4     4   58  
  4     4   79  
  4     4   63  
  4     4   64  
  4     4   58  
  4     4   53  
  4     4   63  
  4     4   56  
  4     4   55  
  4     4   57  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   53  
  4     4   57  
  4     4   53  
  4     4   64  
  4     4   50  
  4     4   54  
  4     4   56  
  4     4   59  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   59  
  4     4   55  
  4     4   52  
  4     4   51  
  4     4   55  
  4     4   51  
  4     4   63  
  4     4   56  
  4     4   52  
  4     4   91  
  4     4   53  
  4     4   55  
  4     4   65  
  4     4   61  
  4     4   65  
  4     4   55  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   56  
  4     4   53  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   52  
  4     4   52  
  4     4   65  
  4     4   52  
  4     4   54  
  4     4   56  
  4     4   53  
  4     4   65  
  4     4   64  
  4     4   55  
  4     4   59  
  4     4   58  
  4     4   57  
  4     4   63  
  4     4   76  
  4     4   62  
  4     4   57  
  4     4   62  
  4     4   53  
  4     4   63  
  4     4   53  
  4     4   52  
  4     4   59  
  4     4   58  
  4     4   60  
  4     4   54  
  4     4   61  
  4     4   53  
  4     4   51  
  4     4   62  
  4     4   57  
  4     4   51  
  4     4   57  
  4     4   54  
  4     4   68  
  4     4   52  
  4     4   55  
  4     4   56  
  4     4   83  
  4     4   59  
  4     4   54  
  4     4   51  
  4     4   52  
  4     4   62  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   76  
  4     4   52  
  4     4   58  
  4     4   88  
  4     4   53  
  4     4   56  
  4     4   54  
  4     4   55  
  4     4   54  
  4     4   51  
  4     4   57  
  4     4   63  
  4     4   57  
  4     4   56  
  4     4   55  
  4     4   60  
  4     4   52  
  4     4   53  
  4     4   54  
  4     4   57  
  4     4   56  
  4     4   51  
  4     4   51  
  4     4   58  
  4     4   54  
  4     4   57  
  4     4   64  
  4     4   67  
  4     4   58  
  4     4   59  
  4     4   53  
  4     4   55  
  4     4   53  
  4     4   52  
  4     4   51  
  4     4   59  
  4     4   57  
  4     4   54  
  4     4   52  
  4     4   60  
  4     4   52  
  4     4   52  
  4     4   59  
  4     4   54  
  4     4   52  
  4     4   54  
  4     4   52  
  4     4   56  
  4     4   54  
  4     4   51  
  4     4   54  
  4     4   53  
  4     4   63  
  4     4   56  
  4     4   63  
  4     4   51  
  4     4   54  
  4     4   64  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   59  
  4     4   53  
  4     4   59  
  4     4   53  
  4     4   59  
  4     4   62  
  4     4   53  
  4     4   51  
  4     4   52  
  4     4   50  
  4     4   50  
  4     4   57  
  4     4   61  
  4     4   64  
  4     4   63  
  4     4   67  
  4     4   56  
  4     4   63  
  4     4   53  
  4     4   57  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   57  
  4     4   53  
  4     4   56  
  4     4   52  
  4     4   56  
  4     4   51  
  4     4   56  
  4     4   113  
  4     4   58  
  4     4   54  
  4     4   51  
  4     4   52  
  4     4   62  
  4     4   51  
  4     4   52  
  4     4   52  
  4     4   53  
  4     4   57  
  4     4   53  
  4     4   54  
  4     4   51  
  4     4   55  
  4     4   54  
  4     4   51  
  4     4   58  
  4     4   64  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   57  
  4     4   51  
  4     4   52  
  4     4   52  
  4     4   58  
  4     4   52  
  4     4   56  
  4     4   66  
  4     4   50  
  4     4   54  
  4     4   49  
  4     4   51  
  4     4   53  
  4     4   52  
  4     4   51  
  4     4   55  
  4     4   50  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   56  
  4     4   53  
  4     4   54  
  4     4   55  
  4     4   52  
  4     4   51  
  4     4   52  
  4     4   57  
  4     4   63  
  4     4   53  
  4     4   54  
  4     4   52  
  4     4   58  
  4     4   59  
  4     4   53  
  4     4   52  
  4     4   58  
  4     4   68  
  4     4   57  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   59  
  4     4   55  
  4     4   57  
  4     4   61  
  4     4   57  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   52  
  4     4   54  
  4     4   51  
  4     4   56  
  4     4   50  
  4     4   55  
  4     4   51  
  4     4   56  
  4     4   52  
  4     4   57  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   55  
  4     4   58  
  4     4   52  
  4     4   57  
  4     4   51  
  4     4   54  
  4     4   100  
  4     4   55  
  4     4   55  
  4     4   55  
  4     4   59  
  4     4   53  
  4     4   54  
  4     4   58  
  4     4   51  
  4     4   52  
  4     4   54  
  4     4   52  
  4     4   53  
  4     4   55  
  4     4   52  
  4     4   51  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   52  
  4     4   55  
  4     4   50  
  4     4   231  
  4     4   51  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   54  
  4     4   51  
  4     4   55  
  4     4   56  
  4     4   60  
  4     4   58  
  4     4   53  
  4     4   57  
  4     4   58  
  4     4   66  
  4     4   51  
  4     4   51  
  4     4   52  
  4     4   54  
  4     4   50  
  4     4   51  
  4     4   52  
  4     4   80  
  4     4   54  
  4     4   56  
  4     4   55  
  4     4   53  
  4     4   57  
  4     4   52  
  4     4   56  
  4     4   52  
  4     4   51  
  4     4   52  
  4     4   54  
  4     4   53  
  4     4   53  
  4     4   60  
  4     4   55  
  4     4   53  
  4     4   52  
  4     4   60  
  4     4   50  
  4     4   56  
  4     4   53  
  4     4   50  
  4     4   57  
  4     4   54  
  4     4   51  
  4     4   59  
  4     4   55  
  4     4   55  
  4     4   57  
  4     4   58  
  4     4   61  
  4     4   54  
  4     4   64  
  4     4   54  
  4     4   50  
  4     4   55  
  4     4   52  
  4     4   55  
  4     4   59  
  4     4   58  
  4     4   59  
  4     4   53  
  4     4   51  
  4     4   50  
  4     4   52  
  4     4   53  
  4     4   61  
  4     4   57  
  4     4   56  
  4     4   63  
  4     4   52  
  4     4   53  
  4     4   53  
  4     4   52  
  4     4   53  
  4     4   55  
  4     4   52  
  4     4   62  
  4     4   84  
  4     4   60  
  4     4   60  
  4     4   53  
  4     4   57  
  4     4   51  
  4     4   53  
  4     4   53  
  4     4   61  
  4     4   63  
  4     4   53  
  4     4   78  
  4     4   54  
  4     4   52  
  4     4   51  
  4     4   54  
  4     4   51  
  4     4   53  
  4     4   53  
  4     4   58  
  4     4   54  
  4     4   51  
  4     4   51  
  4     4   56  
  4     4   55  
  4     4   57  
  4     4   50  
  4     4   55  
  4     4   51  
  4     4   54  
  4     4   59  
  4     4   53  
  4     4   56  
  4     4   52  
  4     4   50  
  4     4   54  
  4     4   53  
  4     4   56  
  4     4   54  
  4     4   53  
  4     4   51  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   52  
  4     4   56  
  4     4   53  
  4     4   53  
  4     4   59  
  4     4   51  
  4     4   52  
  4     4   67  
  4     4   55  
  4     4   53  
  4     4   54  
  4     4   53  
  4     4   50  
  4     4   50  
  4     4   56  
  4     4   55  
  4     4   51  
  4     4   57  
  4     4   54  
  4     4   53  
  4     4   63  
  4     4   51  
  4     4   50  
  4     4   59  
  4     4   52  
  4     4   52  
  4     4   54  
  4     4   54  
  4     4   60  
  4     4   54  
  4     4   58  
  4     4   55  
  4     4   54  
  4     4   54  
  4     4   53  
  4     4   55  
  4     4   56  
  4     4   52  
  4     4   53  
  4     4   58  
  4     4   55  
  4     4   67  
  4     4   53  
  4     4   57  
  4     4   59  
  4     4   54  
  4     4   52  
  4     4   53  
  4     4   59  
  4     4   53  
  4     4   51  
  4     4   52  
  4     4   52  
  4     4   57  
  4     4   56  
  4     4   54  
  4     4   55  
  4     4   53  
  4     4   57  
  4     4   51  
  4     4   57  
  4     4   53  
  4     4   51  
  4     4   85  
  4     4   50  
  4     4   52  
  4     4   53  
  4     4   54  
  4     4   58  
  4     4   53  
  4     4   62  
  4     4   59  
  4     4   53  
  4     4   53  
  4     4   54  
  4     4   54  
  4     4   68  
  4     4   71  
  4     4   53  
  4     4   239  
  4     4   60  
  4     4   53  
  4     4   57  
  4     4   53  
  4     4   53  
  4     4   75  
  4     4   54  
  4     4   58  
  4     4   51  
  4     4   51  
  4     4   51  
  4     4   52  
  4     4   52  
  4     4   55  
  4     4   121  
  4     4   52  
  4     4   52  
  4     4   55  
  4     4   55  
  4     4   51  
  4     4   66  
  4     4   55  
  4     4   57  
  4     4   51  
  4     4   64  
  4     4   57  
  4     4   56  
  4     4   60  
  4     4   54  
  4     4   62  
  4     4   54  
  4     4   69  
  4     4   56  
  4     4   54  
  4     4   60  
  4     4   53  
  4     4   63  
  4     4   51  
  4     4   59  
  4     4   69  
  4     4   59  
  4     4   65  
  4     4   63  
  4     4   71  
  4     4   61  
  4     4   59  
  4     4   64  
  4     4   58  
  4     4   75  
  4     4   66  
  4     4   91  
  4     4   56  
  4     4   84  
  4     4   67  
  4     4   58  
  4     4   70  
  4     4   57  
  4     4   61  
  4     4   59  
  4     4   59  
  4     4   57  
  4     4   58  
  4     4   69  
  4     4   63  
  4     4   66  
  4     4   77  
  4     4   58  
  4     4   78  
  4     4   58  
  4     4   60  
  4     4   68  
  4     4   71  
  4     4   60  
  4     4   61  
  4     4   61  
  4     4   57  
  4     4   68  
  4     4   60  
  4     4   61  
  4     4   61  
  4     4   66  
  4     4   69  
  4     4   61  
  4     4   68  
  4     4   62  
  4     4   70  
  4     4   78  
  4     4   61  
  4     4   64  
  4     4   66  
  4     4   58  
  4     4   64  
  4     4   61  
  4     4   84  
  4     4   69  
  4     4   68  
  4     4   61  
  4     4   55  
  4     4   52  
  4     4   59  
  4     4   68  
  4     4   53  
  4     4   70  
  4     4   56  
  4     4   50  
  4     4   52  
  4     4   54  
  4     4   51  
  4     4   52  
  4     4   54  
  4     4   58  
  4     4   51  
  4     4   56  
  4     4   52  
  4     4   53  
  4     4   59  
  4     4   55  
  4     4   54  
  1     4   14  
  1     4   12  
  1     4   13  
  1     4   12  
  1     4   13  
  1     4   25  
  1     4   13  
  1     4   12  
  1     4   13  
  1     4   13  
  1     4   12  
  1     4   13  
  1     4   13  
  1     4   17  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   16  
  1     4   14  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   13  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   13  
  1     4   13  
  1     4   13  
  1     4   17  
  1     4   19  
  1     4   14  
  1     4   13  
  1     4   13  
  1     4   12  
  1     4   17  
  1     4   14  
  1     4   13  
  1     4   16  
  1     4   13  
  1     4   12  
  1     4   13  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   12  
  1     4   13  
  1     4   25  
  1     4   13  
  1     4   12  
  1     4   12  
  1     4   13  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   36  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   17  
  1     1   16  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   17  
  1     1   17  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   12  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   22  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   30  
  1     1   15  
  1     1   23  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   24  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   17  
  1     1   16  
  1     1   19  
  1     1   15  
  1     1   12  
  1     1   15  
  1     1   17  
  1     1   20  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   24  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   22  
  1     1   16  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   18  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   25  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   20  
  1     1   22  
  1     1   24  
  1     1   21  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   24  
  1     1   21  
  1     1   20  
  1     1   18  
  1     1   21  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   48  
  1     1   13  
  1     1   21  
  1     1   23  
  1     1   15  
  1     1   17  
  1     1   16  
  1     1   20  
  1     1   16  
  1     1   23  
  1     1   20  
  1     1   22  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   18  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   17  
  1     1   17  
  1     1   18  
  1     1   22  
  1     1   20  
  1     1   19  
  1     1   19  
  1     1   20  
  1     1   20  
  1     1   19  
  1     1   21  
  1     1   20  
  1     1   20  
  1     1   20  
  1     1   19  
  1     1   19  
  1     1   19  
  1     1   21  
  1     1   19  
  1     1   22  
  1     1   20  
  1     1   20  
  1     1   20  
  1     1   19  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   16  
  1     1   18  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   18  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   11  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   26  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   11  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   28  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   20  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   16  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   25  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   17  
  1     1   18  
  1     1   15  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   11  
  1     1   22  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   19  
  1     1   17  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   58  
  1     1   14  
  1     1   13  
  1     1   19  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   24  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   18  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   22  
  1     1   13  
  1     1   30  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   20  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   21  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   23  
  1     1   13  
  1     1   18  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   23  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   24  
  1     1   29  
  1     1   22  
  1     1   13  
  1     1   24  
  1     1   14  
  1     1   22  
  1     1   16  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   19  
  1     1   22  
  1     1   14  
  1     1   16  
  1     1   16  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   25  
  1     1   18  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   25  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   15  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   23  
  1     1   24  
  1     1   17  
  1     1   24  
  1     1   25  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   21  
  1     1   16  
  1     1   14  
  1     1   24  
  1     1   13  
  1     1   13  
  1     1   26  
  1     1   20  
  1     1   22  
  1     1   14  
  1     1   19  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   20  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   11  
  1     1   17  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   11  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   17  
  1     1   19  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   28  
  1     1   23  
  1     1   23  
  1     1   14  
  1     1   36  
  1     1   23  
  1     1   24  
  1     1   22  
  1     1   13  
  1     1   23  
  1     1   27  
  1     1   20  
  1     1   17  
  1     1   18  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   25  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   16  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   29  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   11  
  1     1   12  
  1     1   18  
  1     1   17  
  1     1   21  
  1     1   13  
  1     1   12  
  1     1   18  
  1     1   36  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   16  
  1     1   17  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   20  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   27  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   19  
  1     1   12  
  1     1   20  
  1     1   12  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   22  
  1     1   19  
  1     1   14  
  1     1   18  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   19  
  1     1   18  
  1     1   17  
  1     1   18  
  1     1   17  
  1     1   17  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   17  
  1     1   25  
  1     1   24  
  1     1   22  
  1     1   21  
  1     1   19  
  1     1   18  
  1     1   19  
  1     1   19  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   18  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   16  
  1     1   18  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   18  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   19  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   22  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   18  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   11  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   11  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   11  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   20  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   11  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   17  
  1     1   17  
  1     1   12  
  1     1   17  
  1     1   11  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   79  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   20  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   11  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   17  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   19  
  1     1   14  
  1     1   22  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   51  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   17  
  1     1   17  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   11  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   21  
  1     1   14  
  1     1   14  
  1     1   25  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   59  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   17  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   17  
  1     1   20  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   24  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   24  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   21  
  1     1   13  
  1     1   11  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   24  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   16  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   12  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   15  
  1     1   26  
  1     1   14  
  1     1   12  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   55  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   11  
  1     1   13  
  1     1   14  
  1     1   18  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   13  
  1     1   16  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   18  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   17  
  1     1   15  
  1     1   13  
  1     1   15  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   11  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   12  
  1     1   17  
  1     1   11  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   16  
  1     1   13  
  1     1   11  
  1     1   13  
  1     1   19  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   14  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   17  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   22  
  1     1   14  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   24  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   11  
  1     1   12  
  1     1   12  
  1     1   12  
  1     1   11  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   17  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   18  
  1     1   12  
  1     1   13  
  1     1   18  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   11  
  1     1   13  
  1     1   11  
  1     1   12  
  1     1   13  
  1     1   21  
  1     1   12  
  1     1   16  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   16  
  1     1   12  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   17  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   18  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   15  
  1     1   20  
  1     1   13  
  1     1   13  
  1     1   19  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   14  
  1     1   20  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   12  
  1     1   12  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   14  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   14  
  1     1   13  
  1     1   12  
  1     1   15  
  1     1   13  
  1     1   14  
  1     1   14  
  1     1   13  
  1     1   26  
  1     1   13  
  1     1   13  
  1     1   13  
  1     1   16  
  1     1   13  
  1     1   12  
  1     1   13  
  1     1   13  
  1     1   12  
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
        1      
40             . ( $reversed ? "\$other $symbol \$self"
41             : "\$self $symbol \$other" );
42             }
43             elsif($ovl_prefix =~ $sym_regexp) {
44 6         79 my $bits = (caller 0)[9];
45 6         86 $val
46             = eval "BEGIN{\${^WARNING_BITS} = \$bits}$symbol \$self";
47             }
48             elsif($symbol eq 'neg') {
49 6         84 return -$self;
50             }
51             elsif($symbol eq 'atan2') {
52 6         76 return atan2 $self, $other;
53             }
54             elsif($symbol eq '<>') {
55 6         74 return <$self>;
56             }
57             else {
58 6         85 die "Oh no! Something is terribly wrong with " .
59             "JE::LValue's overloading mechanism. It can't deal " .
60             "with < $symbol >. Please send a bug report.";
61             }
62 13406 50       28985 $@ and die $@;
63 13406         14101 $@ = $at;
64 13406         65750 return $val;
65             },
66             '@{}' => sub {
67 338844 50   338846   973129 caller eq __PACKAGE__ and return shift;
68 6         82 $_[0]->get;
69             },
70 109     109   2758 '%{}' => 'get', '&{}' => 'get', '*{}' => 'get', '${}' => 'get';
  109         1791  
  109         1494  
71              
72             sub new {
73 152398     152400 1 180098 my ($class, $obj, $prop) = @_; # prop is a string
74 152398 100 100     880791 if(defined blessed $obj && can $obj 'id'){
75 144945         260156 my $id = $obj->id;
76 144945 100 100     542392 $id eq 'null' || $id eq 'undef' and die
77             new JE::Object::Error::TypeError $obj->global,
78             add_line_number
79             $obj->to_string->value . " has no properties"
80             .", not even one named $prop";
81             }
82 152396         776101 bless [$obj, $prop], $class;
83             }
84              
85             sub get {
86 142140     142142 1 533248 my $base = (my $self = shift)->[0];
87 142140 100       349819 defined blessed $base or die new
88             JE::Object::Error::ReferenceError $$base, add_line_number
89             "The variable $$self[1] has not been declared";
90            
91 142123         170317 my $val = $base->prop($self->[1]);
92 142123 100       380119 defined $val ? $val : $base->global->undefined;
93             # If we have a Perl undef, then the property does not
94             # not exist, and we have to return a JS undefined val.
95             }
96              
97             sub set {
98 15655     15657 1 28807 my $obj = (my $self = shift)->[0];
99 15655 100       40663 defined blessed $obj or $obj = $$self[0] = $$obj;
100 15655         20366 $obj->prop($self->[1], shift);
101             }
102              
103             sub call {
104 22139     22141 1 39173 my $base_obj = (my $self = shift)->[0];
105 22139         36237 my $prop = $self->get; # dies here if $base_obj is not blessed
106 22139 50       38306 defined $prop or
107             die new JE::Object::Error::TypeError $base_obj->global,
108             add_line_number "The object's '" . $self->[1] .
109             "' property (undefined) is not a function";
110 22139 100       66766 $prop->can('apply') or
111             die new JE::Object::Error::TypeError $base_obj->global,
112             add_line_number "The object's '" . $self->[1] .
113             "' property ($prop) is not a function";
114 22137         52766 $prop->apply($base_obj, @_);
115             }
116              
117             sub base {
118 375     377 1 3441 my $base = $_[0][0];
119 375 100       2178 defined blessed $base ? $base : ()
120             }
121              
122 221     223 1 484 sub property { shift->[1] }
123              
124             our $AUTOLOAD;
125              
126             sub AUTOLOAD {
127 29247     29249   154704 my($method) = $AUTOLOAD =~ /([^:]+)\z/;
128              
129 29247 50       58806 return if $method eq 'DESTROY';
130              
131             #my $l = $_[0]; my $ret, my @ret;;
132 107     109   47164 no warnings 'uninitialized';
  107         255  
  107         15124  
133             #eval {
134             # $ret =
135 29247         46046 return shift->get->$method(@_); # ~~~ Maybe I should use goto
136             # to remove AUTOLOAD from
137             # the call stack.
138             #1} or die add_line_number $l->base . ' ' . $l->property . ' ' . $l->get . #' ' . ref $_->get . qq': $@';
139             #return $ret;
140             }
141              
142             sub can { # I think this returns a *canned* lvalue, as opposed to a fresh
143             # one. :-)
144            
145 6 0 0 8 0 86 !ref $_[0] || $_[1] eq 'DESTROY' and goto &UNIVERSAL::can;
146              
147 6 0       78 &UNIVERSAL::can || do {
148 6 0       80 my $sub = (my $obj = shift->get)->can(@_)
149             or return undef;
150 6     8   79 sub { splice @'_, 0, 1, $obj; goto &$sub }
  6         85  
151 6         84 };
152             }
153              
154              
155              
156             =head1 NAME
157              
158             JE::LValue - JavaScript lvalue class
159              
160             =head1 SYNOPSIS
161              
162             use JE::LValue;
163              
164             $lv = new JE::LValue $some_obj, 'property_name';
165              
166             $lv->get; # get property
167             $lv->set($value) # set property
168              
169             $lv->some_other_method # same as $lv->get->some_other_method
170              
171             =head1 DESCRIPTION
172              
173             This class implements JavaScript lvalues (called "Reference Types" by the
174             ECMAScript specification).
175              
176             =head1 METHODS AND OVERLOADING
177              
178             If a method is called that is not listed here, it will be passed to the
179             property referenced by the lvalue. (See the last item in the L,
180             above.) For this reason, you should never call C on a
181             JE::LValue, but, rather, call it as a method (C<< $lv->can(...) >>), unless
182             you really know what you are doing.
183              
184             Similarly, if you try to use an overloaded operator, it will be passed on
185             to
186             the object that the lvalue references, such that C is the same
187             as calling C<< !$lvalue->get >>.
188              
189             =over 4
190              
191             =item $lv = new JE::LValue $obj, $property
192              
193             Creates an lvalue/reference with $obj as the base object and $property
194             as the property name. If $obj is undefined or null, a TypeError is thrown.
195             To create a lvalue that has no base object, and which will throw a
196             ReferenceError when
197             C<< ->get >> is
198             called and create a global property upon invocation of C<< ->set >>, pass
199             an unblessed reference to a global object as the first argument. (This is
200             used by bare identifiers in JS expressions.)
201              
202             =item $lv->get
203              
204             Gets the value of the property.
205              
206             =item $lv->set($value)
207              
208             Sets the property to $value and returns $value. If the lvalue has no base
209             object, the global object will become its base object automatically.
210             Whether the lvalue object itself is modified in the latter case is
211             not set in stone yet. (Currently it is modified, but that may change.)
212              
213             =item $lv->call(@args)
214              
215             If the property is a function, this calls the function with the
216             base object as the 'this' value.
217              
218             =item $lv->base
219              
220             Returns the base object. If there isn't any, it returns undef or an empty
221             list, depending on context.
222              
223             =item $lv->property
224              
225             Returns the property name.
226              
227             =back
228              
229             =cut
230              
231              
232              
233              
234             1;