[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SF.net SVN: ledger-smb:[4311] trunk
- Subject: SF.net SVN: ledger-smb:[4311] trunk
- From: ..hidden..
- Date: Tue, 14 Feb 2012 13:52:46 +0000
Revision: 4311
http://ledger-smb.svn.sourceforge.net/ledger-smb/?rev=4311&view=rev
Author: einhverfr
Date: 2012-02-14 13:52:46 +0000 (Tue, 14 Feb 2012)
Log Message:
-----------
Merging from branches/1.3
Modified Paths:
--------------
trunk/Changelog
trunk/LedgerSMB/AA.pm
trunk/LedgerSMB/DBObject/Asset.pm
trunk/LedgerSMB/GL.pm
trunk/LedgerSMB/Scripts/employee.pm
trunk/LedgerSMB/Scripts/payment.pm
trunk/LedgerSMB/User.pm
trunk/Makefile.PL
trunk/UI/payments/payments_detail.html
trunk/UI/payments/search.html
trunk/bin/aa.pl
trunk/bin/gl.pl
trunk/dists/rpm/ledgersmb.spec
trunk/doc/LedgerSMB-manual.pdf
trunk/doc/manual/LedgerSMB-manual.tex
trunk/sql/modules/Payment.sql
trunk/sql/modules/Roles.sql
Property Changed:
----------------
trunk/
trunk/LedgerSMB/Scripts/admin.pm
trunk/LedgerSMB/Scripts/customer.pm
trunk/LedgerSMB/Scripts/employee.pm
trunk/LedgerSMB/Scripts/file.pm
trunk/LedgerSMB/Scripts/journal.pm
trunk/LedgerSMB/Scripts/login.pm
trunk/LedgerSMB/Scripts/menu.pm
trunk/LedgerSMB/Scripts/payment.pm
trunk/LedgerSMB/Scripts/recon.pm
trunk/LedgerSMB/Scripts/setup.pm
trunk/LedgerSMB/Scripts/taxform.pm
trunk/LedgerSMB/Scripts/vendor.pm
trunk/sql/upgrade/1.2-1.3-manual.sql
Property changes on: trunk
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3:3711-4287
+ /branches/1.3:3711-4310
Modified: trunk/Changelog
===================================================================
--- trunk/Changelog 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/Changelog 2012-02-14 13:52:46 UTC (rev 4311)
@@ -25,7 +25,15 @@
* Fixed GL recurring transaction not posting (Chris T)
* Improved error handling when extensions/contrib scripts not found (Chris T)
* Fixed multicurrency handling in bulk payment interface (Chris T and Erik H)
+* Corrected a number of number parsing/i18n issues (Herman V)
+* Corrected pos_cashier inadequate permissions (Chris T)
+* Corrected templates directive not handled properly (Chris T)
+Chris T is Chris Travers
+Erik H is Erik Huelsmann
+Herman V is Herman Vierendeels
+Robert C is Robert James Clay
+
Changelog for 1.3.10
* Fixes for permissions for exchangerate table (Erik H)
* Fixes for POS cashier permissions. (Chris T)
Modified: trunk/LedgerSMB/AA.pm
===================================================================
--- trunk/LedgerSMB/AA.pm 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/LedgerSMB/AA.pm 2012-02-14 13:52:46 UTC (rev 4311)
@@ -893,6 +893,7 @@
AND charttype = 'A')
LEFT JOIN invoice i ON (i.id = ac.invoice_id)|;
}
+ #print STDERR localtime()." AA.pm transactions summary=$form->{summary} outstanding=$form->{outstanding} group_by_fields=$group_by_fields\n";
my $query;
if ($form->{outstanding}){
# $form->{ARAP} is safe since it is set in calling scripts and not passed from the UA
@@ -934,6 +935,7 @@
--a.ponumber, a.invoice
HAVING abs(sum(acs.amount::numeric(20,2))) > 0.000 |;
} else {
+ #HV typo error a.ponumber $acc_trans_fields -> a.ponumber $acc_trans_flds
$query = qq|
SELECT a.id, a.invnumber, a.ordnumber, a.transdate,
a.duedate, a.netamount, a.amount::numeric(20,$p),
@@ -948,7 +950,7 @@
ex.$buysell AS exchangerate,
d.description AS department,
as_array(p.projectnumber) as ac_projects,
- a.ponumber $acc_trans_fields
+ a.ponumber $acc_trans_flds
FROM $table a
JOIN entity_credit_account vc ON (a.entity_credit_account = vc.id)
JOIN acc_trans acs ON (acs.trans_id = a.id)
@@ -968,7 +970,7 @@
GROUP BY a.id, a.invnumber, a.ordnumber, a.transdate, a.duedate, a.netamount,
a.amount, a.terms, a.notes, a.shipvia, a.shippingpoint, vce.name,
vc.meta_number, a.entity_credit_account, a.till, ex.$buysell, d.description, vce.name,
- a.ponumber, a.invoice, a.datepaid $acc_trans_fields
+ a.ponumber, a.invoice, a.datepaid $acc_trans_flds
HAVING abs(sum(acs.amount::numeric(20,$p))) > 0 |;
}
} else {
@@ -1218,6 +1220,7 @@
$ref->{description} ||= $ref->{linedescription};
}
+ #print STDERR localtime()." AA.pm transactions row=".Data::Dumper::Dumper($ref)."\n";
push @{ $form->{transactions} }, $ref;
}
Modified: trunk/LedgerSMB/DBObject/Asset.pm
===================================================================
--- trunk/LedgerSMB/DBObject/Asset.pm 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/LedgerSMB/DBObject/Asset.pm 2012-02-14 13:52:46 UTC (rev 4311)
@@ -156,7 +156,7 @@
=item get
-Gets a fixed asset, sets all standard properties.
+Gets a fixed asset, sets all standard properties. The id property must be set.
=cut
Modified: trunk/LedgerSMB/GL.pm
===================================================================
--- trunk/LedgerSMB/GL.pm 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/LedgerSMB/GL.pm 2012-02-14 13:52:46 UTC (rev 4311)
@@ -548,7 +548,11 @@
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
+ my $minusOne=new Math::BigFloat(-1);#HV make sure BigFloat stays BigFloat
+ my $zeroBF=new Math::BigFloat(0);#HV make sure BigFloat stays BigFloat
+
while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
+ $form->db_parse_numeric(sth=>$sth,hashref=>$ref);
# gl
if ( $ref->{type} eq "gl" ) {
@@ -578,12 +582,12 @@
}
if ( $ref->{amount} < 0 ) {
- $ref->{debit} = $ref->{amount} * -1;
- $ref->{credit} = 0;
+ $ref->{debit} = $ref->{amount} * $minusOne;
+ $ref->{credit} = $zeroBF;
}
else {
$ref->{credit} = $ref->{amount};
- $ref->{debit} = 0;
+ $ref->{debit} = $zeroBF;
}
push @{ $form->{GL} }, $ref;
Property changes on: trunk/LedgerSMB/Scripts/admin.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/admin.pm:3901-4287
/branches/1.3/scripts/admin.pl:3711-3903,4273-4287
+ /branches/1.3/LedgerSMB/Scripts/admin.pm:3901-4310
/branches/1.3/scripts/admin.pl:3711-3903,4273-4287
Property changes on: trunk/LedgerSMB/Scripts/customer.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/scripts/customer.pl:4273-4287
+ /branches/1.3/LedgerSMB/Scripts/customer.pm:4288-4310
/branches/1.3/scripts/customer.pl:4273-4287
Modified: trunk/LedgerSMB/Scripts/employee.pm
===================================================================
--- trunk/LedgerSMB/Scripts/employee.pm 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/LedgerSMB/Scripts/employee.pm 2012-02-14 13:52:46 UTC (rev 4311)
@@ -249,9 +249,9 @@
sub search {
my $request = shift @_;
my $template = LedgerSMB::Template->new(
- user => $employee->{_user},
+ user => $request->{_user},
template => 'filter',
- locale => $employee->{_locale},
+ locale => $request->{_locale},
path => 'UI/employee',
format => 'HTML'
);
Property changes on: trunk/LedgerSMB/Scripts/employee.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/employee.pm:3712-4287
/branches/1.3/scripts/employee.pl:3842-3843,4273-4287
+ /branches/1.3/LedgerSMB/Scripts/employee.pm:3712-4310
/branches/1.3/scripts/employee.pl:3842-3843,4273-4287,4289-4310
Property changes on: trunk/LedgerSMB/Scripts/file.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/file.pm:3711-4287
/branches/1.3/scripts/file.pl:3711-4138
+ /branches/1.3/LedgerSMB/Scripts/file.pm:3711-4310
/branches/1.3/scripts/file.pl:3711-4138
Property changes on: trunk/LedgerSMB/Scripts/journal.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/scripts/journal.pl:4273-4287
+ /branches/1.3/LedgerSMB/Scripts/journal.pm:4288-4310
/branches/1.3/scripts/journal.pl:4273-4287
Property changes on: trunk/LedgerSMB/Scripts/login.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/login.pm:4193-4287
/branches/1.3/scripts/login.pl:3711-4192
+ /branches/1.3/LedgerSMB/Scripts/login.pm:4193-4310
/branches/1.3/scripts/login.pl:3711-4192
Property changes on: trunk/LedgerSMB/Scripts/menu.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/menu.pm:4155-4287
/branches/1.3/scripts/menu.pl:3711-4192,4273-4287
+ /branches/1.3/LedgerSMB/Scripts/menu.pm:4155-4310
/branches/1.3/scripts/menu.pl:3711-4192,4273-4287
Modified: trunk/LedgerSMB/Scripts/payment.pm
===================================================================
--- trunk/LedgerSMB/Scripts/payment.pm 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/LedgerSMB/Scripts/payment.pm 2012-02-14 13:52:46 UTC (rev 4311)
@@ -113,6 +113,7 @@
if ($payment->{batch_id} && $payment->{batch_date}){
$payment->{date_reversed} = $payment->{batch_date};
}
+ @{$payment->{currencies}} = $payment->get_open_currencies();
my $template = LedgerSMB::Template->new(
user => $request->{_user},
locale => $request->{_locale},
@@ -559,6 +560,14 @@
$payment->get_payment_detail_data();
$payment->open_form();
$payment->{dbh}->commit;
+ my $db_fx = $payment->get_exchange_rate($payment->{currency},
+ $payment->{batch_date});
+ if ($db_fx){
+ $payment->{exchangerate} = $db_fx->bstr;
+ $payment->{fx_from_db} = 1;
+ } else {
+ $payment->{exchangerate} = undef;
+ }
$payment->{grand_total} = 0;
for (@{$payment->{contact_invoices}}){
my $contact_total = 0;
Property changes on: trunk/LedgerSMB/Scripts/payment.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/payment.pm:4010-4287
/branches/1.3/scripts/payment.pl:3711-4263,4273-4287
+ /branches/1.3/LedgerSMB/Scripts/payment.pm:4010-4310
/branches/1.3/scripts/payment.pl:3711-4310
Property changes on: trunk/LedgerSMB/Scripts/recon.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/recon.pm:3711-4287
/branches/1.3/scripts/recon.pl:4194-4271,4273-4287
+ /branches/1.3/LedgerSMB/Scripts/recon.pm:3711-4310
/branches/1.3/scripts/recon.pl:4194-4271,4273-4287
Property changes on: trunk/LedgerSMB/Scripts/setup.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/setup.pm:3937-4287
/branches/1.3/scripts/setup.pl:3711-4216,4273-4287
+ /branches/1.3/LedgerSMB/Scripts/setup.pm:3937-4310
/branches/1.3/scripts/setup.pl:3711-4216,4273-4287
Property changes on: trunk/LedgerSMB/Scripts/taxform.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/LedgerSMB/Scripts/taxform.pm:4193-4287
/branches/1.3/scripts/taxform.pl:3711-4192,4273-4287
+ /branches/1.3/LedgerSMB/Scripts/taxform.pm:4193-4310
/branches/1.3/scripts/taxform.pl:3711-4192,4273-4287
Property changes on: trunk/LedgerSMB/Scripts/vendor.pm
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/1.3/scripts/vendor.pl:4273-4287
+ /branches/1.3/LedgerSMB/Scripts/vendor.pm:4288-4310
/branches/1.3/scripts/vendor.pl:4273-4287
Modified: trunk/LedgerSMB/User.pm
===================================================================
--- trunk/LedgerSMB/User.pm 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/LedgerSMB/User.pm 2012-02-14 13:52:46 UTC (rev 4311)
@@ -189,7 +189,8 @@
$sth = $dbh->prepare("SELECT value FROM defaults WHERE setting_key = 'templates'");
$sth->execute();
($templates) = $sth->fetchrow_array() || 'demo';
- $myconfig->{templates} = "templates/$templates";
+ $myconfig->{templates} = "$LedgerSMB::Sysconfig::templates/$templates";
+ print STDERR "$myconfig->{templates}\n";
return $myconfig;
}
Modified: trunk/Makefile.PL
===================================================================
--- trunk/Makefile.PL 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/Makefile.PL 2012-02-14 13:52:46 UTC (rev 4311)
@@ -5,7 +5,7 @@
use inc::Module::Install 0.65;
name 'LedgerSMB';
-version '1.3.10';
+version '1.3.11';
license 'GPL';
perl_version '5.8.1';
Modified: trunk/UI/payments/payments_detail.html
===================================================================
--- trunk/UI/payments/payments_detail.html 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/UI/payments/payments_detail.html 2012-02-14 13:52:46 UTC (rev 4311)
@@ -148,14 +148,24 @@
</div>
<?lsmb IF default_currency != currency ?>
<div class="info" id="exrate_row">
- <?lsmb PROCESS input element_data= {
+ <?lsmb IF fx_from_db ?>
+ <label><?lsmb text('Exchange Rate') ?>:</label> <?lsmb exchangerate ?>
+ <?lsmb PROCESS input element_data = {
+ name = 'exchangerate'
+ value = exchangerate
+ type = 'hidden'
+ };
+ ELSE ;
+
+ PROCESS input element_data= {
label = text('Exchange Rate') #'
type = 'text'
class = "numeric"
name = 'exchangerate'
value = exchangerate
size = 20
- } ?>
+ };
+ END ?>
</div>
<?lsmb END ?>
<?lsmb IF business ?>
Modified: trunk/UI/payments/search.html
===================================================================
--- trunk/UI/payments/search.html 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/UI/payments/search.html 2012-02-14 13:52:46 UTC (rev 4311)
@@ -102,6 +102,24 @@
label = text('Date Reversed') # '
} ?>
<?lsmb END # if batch_id ?></div>
+<div class="input" id="curr-exchange-div">
+ <?lsmb INCLUDE select element_data = {
+ name = 'currency'
+ options = currencies
+ text_attr = 'payments_get_open_currencies'
+ value_attr = 'payments_get_open_currencies'
+ default_optiopns = [default_currency]
+ label = text('Currency')
+ } ?>
+ <?lsmb INCLUDE input element_data = {
+ label = text('Exchange Rate') #'
+ type = 'text'
+ size = 10
+ name = 'exchangerate'
+ value = exchangerate
+ class = 'fxrate'
+ } ?>
+</div>
<?lsmb END # if ! search_only -?>
<div class="input" id="search_button_div">
<?lsmb INCLUDE button element_data = {
Modified: trunk/bin/aa.pl
===================================================================
--- trunk/bin/aa.pl 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/bin/aa.pl 2012-02-14 13:52:46 UTC (rev 4311)
@@ -2150,10 +2150,38 @@
foreach $ref ( @{ $form->{transactions} } ) {
$i++;
+ #print STDERR localtime()." aa.pl sub transactions row=".Data::Dumper::Dumper($ref)."\n";
+ #print STDERR localtime()." aa.pl sub transactions invnumber=$ref->{invnumber} projectnumber=$ref->{projectnumber}\n";
if ($form->{l_projectnumber} eq 'Y' and ref($ref->{ac_projects}) eq 'ARRAY' and ref($ref->{inv_projects}) eq 'ARRAY'){
- my @projects;
- push @projects, @{$ref->{ac_projects}};
- push @projects, @{$ref->{inv_projects}};
+ #HV $ref->{projectnumber} in this case is not filled by AA-->transactions
+ my @projects;
+ my %projects_hash;
+ foreach $acprjct(@{$ref->{ac_projects}})
+ {
+ if($acprjct)
+ {
+ if(! exists $projects_hash{$acprjct})
+ {
+ #print STDERR localtime()." aa.pl sub transactions acprjct=$acprjct\n";
+ $projects_hash{$acprjct}=1;
+ push @projects, $acprjct;
+ }
+ }
+ }
+ foreach $invprjct(@{$ref->{inv_projects}})
+ {
+ if($invprjct)
+ {
+ if(! exists $projects_hash{$invprjct})
+ {
+ #print STDERR localtime()." aa.pl sub transactions invprjct=$invprjct\n";
+ $projects_hash{$invprjct}=1;
+ push @projects, $invprjct;
+ }
+ }
+ }
+ #push @projects, @{$ref->{ac_projects}};
+ #push @projects, @{$ref->{inv_projects}};
$ref->{projectnumber} = join '<br />', @projects;
$ref->{projectnumber} =~ s/(<br \/>)+/<br \/>/;
} elsif ($form->{l_projectnumber} eq 'Y') { $form->error($locale->text('Invalid Project Data:').
Modified: trunk/bin/gl.pl
===================================================================
--- trunk/bin/gl.pl 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/bin/gl.pl 2012-02-14 13:52:46 UTC (rev 4311)
@@ -501,7 +501,7 @@
$form->{sort} = "transdate" unless $form->{sort};
$form->{amountfrom} = $form->parse_amount(\%myconfig, $form->{amountfrom});
$form->{amountto} = $form->parse_amount(\%myconfig, $form->{amountto});
- my ($totaldebit, $totalcredit) = (0, 0);
+ my ($totaldebit, $totalcredit)=(new Math::BigFloat(0),new Math::BigFloat(0));
GL->all_transactions( \%myconfig, \%$form );
@@ -534,7 +534,7 @@
} else {
$form->{title} = $locale->text('General Ledger');
}
- $ml = ( $form->{category} =~ /(A|E)/ ) ? -1 : 1;
+ $ml=new Math::BigFloat(($form->{category} =~ /(A|E)/)?-1:1);
if (defined $form->{category} and $form->{category} ne 'X' ) {
$form->{title} .=
@@ -715,12 +715,12 @@
$hiddens{sort} = $form->{sort};
$hiddens{callback} = $form->{callback};
- $cml = 1;
+ $cml=new Math::BigFloat(1);
# initial item for subtotals
if ( @{ $form->{GL} } ) {
$sameitem = $form->{GL}->[0]->{ $form->{sort} };
- $cml = -1 if $form->{contra};
+ $cml=new Math::BigFloat(-1) if $form->{contra};
}
my @rows;
Modified: trunk/dists/rpm/ledgersmb.spec
===================================================================
--- trunk/dists/rpm/ledgersmb.spec 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/dists/rpm/ledgersmb.spec 2012-02-14 13:52:46 UTC (rev 4311)
@@ -1,7 +1,7 @@
# RPM spec written for and tested on CentOS 4 and CentOS 5
Summary: LedgerSMB - Open Source accounting software
Name: ledgersmb
-Version: 1.3.10
+Version: 1.3.11
Release: 1
License: GPL
URL: http://www.ledgersmb.org/
Modified: trunk/doc/LedgerSMB-manual.pdf
===================================================================
--- trunk/doc/LedgerSMB-manual.pdf 2012-02-14 11:19:45 UTC (rev 4310)
+++ trunk/doc/LedgerSMB-manual.pdf 2012-02-14 13:52:46 UTC (rev 4311)
@@ -1371,2351 +1371,529 @@
917 0 obj
<< /S /GoTo /D [918 0 R /Fit ] >>
endobj
-933 0 obj <<
-/Length 1932
+920 0 obj <<
+/Length 1673
/Filter /FlateDecode
>>
stream
-x\xDA\xEDXÝ\xE2\xC8
-ß\x82\xBA\x973U\x83\xAF\xDB\xED\x9C<\xF00\xBE\x98\x8F\xD8fg\xB7\xEE\xF2\xE0\xEF\x8C\xC0lf\xB3\xFF}\xA4\x96\xCC\x96\xA9\xCC%u\xD9\xE4\x85\xEE\x96ÔZ\xFAI\xEEF\xF4z\xA27}'^GÙ\x9Fn\x95\xEAIÏ\xA4c\xF7\xB2\xCF=Kx\xE6p({\xAE\xE3\x98\xD2qzÙ\xF7\x8B\x9B\x87\xE2\x90\xCEF\xFD\x81\xE5c\x96\xEF\x8F\xF9\x96\xE6\xCF})\xA5a\xF6J
-C\x9A\xAA\xFF\x97\xECg\xD2)M\xDFq,\xAD\xD31]\xE1\xF4\xCA1\xD1j\xCC\xDA\xA1z\\xFArh03\xEB\xFB\x96Q\xE4;TÚ\xA49\x94\xC3\xDE\xC0R\xA6\xE7[\xA4f^=\xBBOÅÄ\xBA\xA1\x89%\xA4<9âk\xB9\xE8\xC7 d*K\x82'\xAE9tYG\xF8\x8Fu\xF1\xD4\xC0FO\x9F+T\xE5\xFAF\xA3\xFDJ\xB9_o\x8F\x9BbC\xE4z}(\x9F\x9A\x9AX\xBF
-G|y,×\xC4\xCBO\x9Eo[\xAE\x8B}\xAD\xB7\xC1\xEA\xB8\xDF\x97\x8A\xA7Ë(\xCFZ\xD3Û)\xA0[\xE2a<\xE7e\xC7\xE7j\xBB\xEDK\xA3\xFAR\xEE\x88\xF2Th\x9B\x9F\x81\xB4MßaÔ\xA7\xC3\xEDÊ.\x9F9\x9C\xEC- t\x87}M\x8B\xE6\xB1\xE4Ù\xEA\xF07Sën\=}=\x94\x8FMg\xE1\xE0\xC7\xE7t\xBD\x92Ô\xF6\xB2\xFAk\xB1n(\xC1\x96á\xB1i\x8A_]\x9E\x8B
-\xB9 ØKÖbS\xD6Í\xFCtl\xCAj\x9Al\xC7\xC8\xF7\x9C\xD8\xC6\x86\x94\x929uu\xD4\xD7 `\xBA\xE2*\\xD3\xF7\xD4Q\x81\xA0\xF0|\xBFg\x99\xC2cHW\xC0\xA3L_r:R\x99\xF6\xD16m\xDBC\xBAR\xECf\xC8\xF4\xA1-{\xF2\xCC\xE9\x85\xD3?\xAE\xAB\xDDS\xB9-6?\xF0\xB7\xABi\x8A\xEE\xA6\xD3Y|C\x92wOc9\xB9ÅhWUÝ\x967\x83\xA1B\xA7\xCF\x97\xF4\x95gd\xB7h\x8B\xCD[\x96!"\x98m\xC9=$)\x9BGbhL2\xA5:..hidden..'..hidden..@\xCB\xF0\xA1e\xE8-\xD2<\x97\xF9e\xE0q)
-Dß>\xD3\xD8E\xAE\xD7Õg\xAFc\xC96EX\x92oÂ\xBCÄ\xFB
-\x96\xAC+XBWvÇ\xA1ÅÉ