In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/cc2b46b563e1a9147700b04d0d2e529ae63e2e12?hp=392582f8c00033c1199d338baf72f42bbd9ef2dc>

- Log -----------------------------------------------------------------
commit cc2b46b563e1a9147700b04d0d2e529ae63e2e12
Author: Steve Hay <[email protected]>
Date:   Wed Nov 9 13:26:47 2016 +0000

    Upgrade Unicode-Collate from version 1.17 to 1.18

M       MANIFEST
M       Porting/Maintainers.pl
M       cpan/Unicode-Collate/Collate.pm
M       cpan/Unicode-Collate/Collate/CJK/Big5.pm
M       cpan/Unicode-Collate/Collate/CJK/GB2312.pm
M       cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
M       cpan/Unicode-Collate/Collate/CJK/Korean.pm
M       cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
M       cpan/Unicode-Collate/Collate/CJK/Stroke.pm
M       cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
M       cpan/Unicode-Collate/Collate/Locale.pm
M       cpan/Unicode-Collate/Collate/Locale/af.pl
M       cpan/Unicode-Collate/Collate/Locale/ar.pl
M       cpan/Unicode-Collate/Collate/Locale/as.pl
M       cpan/Unicode-Collate/Collate/Locale/az.pl
M       cpan/Unicode-Collate/Collate/Locale/be.pl
M       cpan/Unicode-Collate/Collate/Locale/bn.pl
M       cpan/Unicode-Collate/Collate/Locale/ca.pl
M       cpan/Unicode-Collate/Collate/Locale/cs.pl
M       cpan/Unicode-Collate/Collate/Locale/cy.pl
M       cpan/Unicode-Collate/Collate/Locale/da.pl
A       cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl
M       cpan/Unicode-Collate/Collate/Locale/de_phone.pl
M       cpan/Unicode-Collate/Collate/Locale/ee.pl
M       cpan/Unicode-Collate/Collate/Locale/eo.pl
M       cpan/Unicode-Collate/Collate/Locale/es.pl
M       cpan/Unicode-Collate/Collate/Locale/es_trad.pl
M       cpan/Unicode-Collate/Collate/Locale/et.pl
M       cpan/Unicode-Collate/Collate/Locale/fa.pl
M       cpan/Unicode-Collate/Collate/Locale/fi.pl
M       cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
M       cpan/Unicode-Collate/Collate/Locale/fil.pl
M       cpan/Unicode-Collate/Collate/Locale/fo.pl
D       cpan/Unicode-Collate/Collate/Locale/fr.pl
A       cpan/Unicode-Collate/Collate/Locale/fr_ca.pl
M       cpan/Unicode-Collate/Collate/Locale/gu.pl
M       cpan/Unicode-Collate/Collate/Locale/ha.pl
M       cpan/Unicode-Collate/Collate/Locale/haw.pl
M       cpan/Unicode-Collate/Collate/Locale/hi.pl
M       cpan/Unicode-Collate/Collate/Locale/hr.pl
M       cpan/Unicode-Collate/Collate/Locale/hu.pl
M       cpan/Unicode-Collate/Collate/Locale/hy.pl
M       cpan/Unicode-Collate/Collate/Locale/ig.pl
M       cpan/Unicode-Collate/Collate/Locale/is.pl
M       cpan/Unicode-Collate/Collate/Locale/ja.pl
M       cpan/Unicode-Collate/Collate/Locale/kk.pl
M       cpan/Unicode-Collate/Collate/Locale/kl.pl
M       cpan/Unicode-Collate/Collate/Locale/kn.pl
M       cpan/Unicode-Collate/Collate/Locale/ko.pl
M       cpan/Unicode-Collate/Collate/Locale/kok.pl
M       cpan/Unicode-Collate/Collate/Locale/ln.pl
M       cpan/Unicode-Collate/Collate/Locale/lt.pl
M       cpan/Unicode-Collate/Collate/Locale/lv.pl
M       cpan/Unicode-Collate/Collate/Locale/mk.pl
M       cpan/Unicode-Collate/Collate/Locale/ml.pl
M       cpan/Unicode-Collate/Collate/Locale/mr.pl
M       cpan/Unicode-Collate/Collate/Locale/mt.pl
M       cpan/Unicode-Collate/Collate/Locale/nb.pl
M       cpan/Unicode-Collate/Collate/Locale/nn.pl
M       cpan/Unicode-Collate/Collate/Locale/nso.pl
M       cpan/Unicode-Collate/Collate/Locale/om.pl
M       cpan/Unicode-Collate/Collate/Locale/or.pl
M       cpan/Unicode-Collate/Collate/Locale/pa.pl
M       cpan/Unicode-Collate/Collate/Locale/pl.pl
M       cpan/Unicode-Collate/Collate/Locale/ro.pl
M       cpan/Unicode-Collate/Collate/Locale/sa.pl
M       cpan/Unicode-Collate/Collate/Locale/se.pl
M       cpan/Unicode-Collate/Collate/Locale/si.pl
M       cpan/Unicode-Collate/Collate/Locale/si_dict.pl
M       cpan/Unicode-Collate/Collate/Locale/sk.pl
M       cpan/Unicode-Collate/Collate/Locale/sl.pl
M       cpan/Unicode-Collate/Collate/Locale/sq.pl
M       cpan/Unicode-Collate/Collate/Locale/sr.pl
M       cpan/Unicode-Collate/Collate/Locale/sv.pl
M       cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
M       cpan/Unicode-Collate/Collate/Locale/ta.pl
M       cpan/Unicode-Collate/Collate/Locale/te.pl
M       cpan/Unicode-Collate/Collate/Locale/th.pl
M       cpan/Unicode-Collate/Collate/Locale/tn.pl
M       cpan/Unicode-Collate/Collate/Locale/to.pl
M       cpan/Unicode-Collate/Collate/Locale/tr.pl
M       cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
M       cpan/Unicode-Collate/Collate/Locale/uk.pl
M       cpan/Unicode-Collate/Collate/Locale/ur.pl
M       cpan/Unicode-Collate/Collate/Locale/vi.pl
M       cpan/Unicode-Collate/Collate/Locale/wae.pl
M       cpan/Unicode-Collate/Collate/Locale/wo.pl
M       cpan/Unicode-Collate/Collate/Locale/yo.pl
M       cpan/Unicode-Collate/Collate/Locale/zh.pl
M       cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
M       cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
M       cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
M       cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
M       cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
M       cpan/Unicode-Collate/t/loc_as.t
M       cpan/Unicode-Collate/t/loc_bn.t
M       cpan/Unicode-Collate/t/loc_ca.t
M       cpan/Unicode-Collate/t/loc_cyrl.t
A       cpan/Unicode-Collate/t/loc_deat.t
M       cpan/Unicode-Collate/t/loc_deph.t
M       cpan/Unicode-Collate/t/loc_es.t
M       cpan/Unicode-Collate/t/loc_estr.t
M       cpan/Unicode-Collate/t/loc_fil.t
M       cpan/Unicode-Collate/t/loc_fr.t
A       cpan/Unicode-Collate/t/loc_frca.t
M       cpan/Unicode-Collate/t/loc_gu.t
M       cpan/Unicode-Collate/t/loc_hi.t
M       cpan/Unicode-Collate/t/loc_hy.t
M       cpan/Unicode-Collate/t/loc_kn.t
M       cpan/Unicode-Collate/t/loc_kok.t
M       cpan/Unicode-Collate/t/loc_mr.t
M       cpan/Unicode-Collate/t/loc_or.t
M       cpan/Unicode-Collate/t/loc_sa.t
M       cpan/Unicode-Collate/t/loc_si.t
M       cpan/Unicode-Collate/t/loc_sidt.t
M       cpan/Unicode-Collate/t/loc_te.t
M       cpan/Unicode-Collate/t/loc_test.t

commit 5cb90c3d43075068a442a44835bf1ecf37491f59
Author: Steve Hay <[email protected]>
Date:   Wed Nov 9 13:18:28 2016 +0000

    Upgrade Math::BigInt from vesion 1.999726(_01) to 1.999727
    
    This includes the blead customization.

M       Porting/Maintainers.pl
M       cpan/Math-BigInt/lib/Math/BigFloat.pm
M       cpan/Math-BigInt/lib/Math/BigInt.pm
M       cpan/Math-BigInt/lib/Math/BigInt/Calc.pm
M       cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
M       cpan/Math-BigInt/t/bigintpm.inc
M       cpan/Math-BigInt/t/calling.t
M       t/porting/customized.dat
-----------------------------------------------------------------------

Summary of changes:
 MANIFEST                                        |   5 +-
 Porting/Maintainers.pl                          |   8 +-
 cpan/Math-BigInt/lib/Math/BigFloat.pm           |   3 +-
 cpan/Math-BigInt/lib/Math/BigInt.pm             |   4 +-
 cpan/Math-BigInt/lib/Math/BigInt/Calc.pm        |   2 +-
 cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm     |   2 +-
 cpan/Math-BigInt/t/bigintpm.inc                 |  10 +-
 cpan/Math-BigInt/t/calling.t                    |   2 +-
 cpan/Unicode-Collate/Collate.pm                 |  13 +-
 cpan/Unicode-Collate/Collate/CJK/Big5.pm        |   2 +-
 cpan/Unicode-Collate/Collate/CJK/GB2312.pm      |   2 +-
 cpan/Unicode-Collate/Collate/CJK/JISX0208.pm    |   2 +-
 cpan/Unicode-Collate/Collate/CJK/Korean.pm      |   2 +-
 cpan/Unicode-Collate/Collate/CJK/Pinyin.pm      |   2 +-
 cpan/Unicode-Collate/Collate/CJK/Stroke.pm      |   2 +-
 cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm      |   2 +-
 cpan/Unicode-Collate/Collate/Locale.pm          |  89 +++----
 cpan/Unicode-Collate/Collate/Locale/af.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ar.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/as.pl       |   7 +-
 cpan/Unicode-Collate/Collate/Locale/az.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/be.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/bn.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ca.pl       |   3 +-
 cpan/Unicode-Collate/Collate/Locale/cs.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/cy.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/da.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl |  31 +++
 cpan/Unicode-Collate/Collate/Locale/de_phone.pl |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ee.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/eo.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/es.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/es_trad.pl  |   2 +-
 cpan/Unicode-Collate/Collate/Locale/et.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/fa.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/fi.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/fi_phone.pl |   2 +-
 cpan/Unicode-Collate/Collate/Locale/fil.pl      |   2 +-
 cpan/Unicode-Collate/Collate/Locale/fo.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/fr.pl       |   4 -
 cpan/Unicode-Collate/Collate/Locale/fr_ca.pl    |   4 +
 cpan/Unicode-Collate/Collate/Locale/gu.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ha.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/haw.pl      |   2 +-
 cpan/Unicode-Collate/Collate/Locale/hi.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/hr.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/hu.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/hy.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ig.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/is.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ja.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/kk.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/kl.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/kn.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ko.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/kok.pl      |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ln.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/lt.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/lv.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/mk.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ml.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/mr.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/mt.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/nb.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/nn.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/nso.pl      |   2 +-
 cpan/Unicode-Collate/Collate/Locale/om.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/or.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/pa.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/pl.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ro.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/sa.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/se.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/si.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/si_dict.pl  |   2 +-
 cpan/Unicode-Collate/Collate/Locale/sk.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/sl.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/sq.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/sr.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/sv.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/sv_refo.pl  |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ta.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/te.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/th.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/tn.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/to.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/tr.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl  |   2 +-
 cpan/Unicode-Collate/Collate/Locale/uk.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/ur.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/vi.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/wae.pl      |   2 +-
 cpan/Unicode-Collate/Collate/Locale/wo.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/yo.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/zh.pl       |   2 +-
 cpan/Unicode-Collate/Collate/Locale/zh_big5.pl  |   2 +-
 cpan/Unicode-Collate/Collate/Locale/zh_gb.pl    |   2 +-
 cpan/Unicode-Collate/Collate/Locale/zh_pin.pl   |   2 +-
 cpan/Unicode-Collate/Collate/Locale/zh_strk.pl  |   2 +-
 cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl   |   2 +-
 cpan/Unicode-Collate/t/loc_as.t                 |  16 +-
 cpan/Unicode-Collate/t/loc_bn.t                 |   5 +-
 cpan/Unicode-Collate/t/loc_ca.t                 |  37 ++-
 cpan/Unicode-Collate/t/loc_cyrl.t               | 300 ++++++++++++------------
 cpan/Unicode-Collate/t/loc_deat.t               | 131 +++++++++++
 cpan/Unicode-Collate/t/loc_deph.t               |  44 +++-
 cpan/Unicode-Collate/t/loc_es.t                 |   2 +-
 cpan/Unicode-Collate/t/loc_estr.t               |   2 +-
 cpan/Unicode-Collate/t/loc_fil.t                |  10 +-
 cpan/Unicode-Collate/t/loc_fr.t                 |   4 +-
 cpan/Unicode-Collate/t/{loc_af.t => loc_frca.t} |  25 +-
 cpan/Unicode-Collate/t/loc_gu.t                 |   3 +-
 cpan/Unicode-Collate/t/loc_hi.t                 |   8 +-
 cpan/Unicode-Collate/t/loc_hy.t                 |   3 +-
 cpan/Unicode-Collate/t/loc_kn.t                 |   4 +-
 cpan/Unicode-Collate/t/loc_kok.t                |   8 +-
 cpan/Unicode-Collate/t/loc_mr.t                 |   8 +-
 cpan/Unicode-Collate/t/loc_or.t                 |   3 +-
 cpan/Unicode-Collate/t/loc_sa.t                 |   8 +-
 cpan/Unicode-Collate/t/loc_si.t                 |   4 +-
 cpan/Unicode-Collate/t/loc_sidt.t               |   3 +-
 cpan/Unicode-Collate/t/loc_te.t                 |   5 +-
 cpan/Unicode-Collate/t/loc_test.t               |   4 +-
 t/porting/customized.dat                        |   2 -
 124 files changed, 608 insertions(+), 388 deletions(-)
 create mode 100644 cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl
 delete mode 100644 cpan/Unicode-Collate/Collate/Locale/fr.pl
 create mode 100644 cpan/Unicode-Collate/Collate/Locale/fr_ca.pl
 create mode 100644 cpan/Unicode-Collate/t/loc_deat.t
 copy cpan/Unicode-Collate/t/{loc_af.t => loc_frca.t} (56%)

diff --git a/MANIFEST b/MANIFEST
index 906eb97..ef902b8 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -2907,6 +2907,7 @@ cpan/Unicode-Collate/Collate/Locale/ca.pl                 
Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/cs.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/cy.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/da.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl                        
Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/de_phone.pl                        
Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ee.pl
 cpan/Unicode-Collate/Collate/Locale/eo.pl                      Unicode::Collate
@@ -2918,7 +2919,7 @@ cpan/Unicode-Collate/Collate/Locale/fi.pl                 
Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fi_phone.pl        Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fil.pl                     Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fo.pl                      Unicode::Collate
-cpan/Unicode-Collate/Collate/Locale/fr.pl                      Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/fr_ca.pl                   Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/gu.pl      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ha.pl                      Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/haw.pl                     Unicode::Collate
@@ -3018,6 +3019,7 @@ cpan/Unicode-Collate/t/loc_cy.t                   
Unicode::Collate
 cpan/Unicode-Collate/t/loc_cyrl.t                      Unicode::Collate
 cpan/Unicode-Collate/t/loc_da.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_de.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_deat.t                      Unicode::Collate
 cpan/Unicode-Collate/t/loc_deph.t                      Unicode::Collate
 cpan/Unicode-Collate/t/loc_ee.t
 cpan/Unicode-Collate/t/loc_eo.t                        Unicode::Collate
@@ -3030,6 +3032,7 @@ cpan/Unicode-Collate/t/loc_fil.t                  
Unicode::Collate
 cpan/Unicode-Collate/t/loc_fiph.t      Unicode::Collate
 cpan/Unicode-Collate/t/loc_fo.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_fr.t                        Unicode::Collate
+cpan/Unicode-Collate/t/loc_frca.t              Unicode::Collate
 cpan/Unicode-Collate/t/loc_gu.t        Unicode::Collate
 cpan/Unicode-Collate/t/loc_ha.t                        Unicode::Collate
 cpan/Unicode-Collate/t/loc_haw.t                       Unicode::Collate
diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl
index fb8ac04..51a417e 100755
--- a/Porting/Maintainers.pl
+++ b/Porting/Maintainers.pl
@@ -769,12 +769,8 @@ use File::Glob qw(:case);
     },
 
     'Math::BigInt' => {
-        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999726.tar.gz',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.999727.tar.gz',
         'FILES'        => q[cpan/Math-BigInt],
-        'CUSTOMIZED'   => [
-            'lib/Math/BigInt.pm', # CPAN RT 118468
-            't/bigintpm.inc',     # CPAN RT 118468
-        ],
         'EXCLUDED'     => [
             qr{^inc/},
             qr{^examples/},
@@ -1316,7 +1312,7 @@ use File::Glob qw(:case);
     },
 
     'Unicode::Collate' => {
-        'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.17.tar.gz',
+        'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-1.18.tar.gz',
         'FILES'        => q[cpan/Unicode-Collate],
         'EXCLUDED'     => [
             qr{N$},
diff --git a/cpan/Math-BigInt/lib/Math/BigFloat.pm 
b/cpan/Math-BigInt/lib/Math/BigFloat.pm
index dd625bd..190e2ee 100644
--- a/cpan/Math-BigInt/lib/Math/BigFloat.pm
+++ b/cpan/Math-BigInt/lib/Math/BigFloat.pm
@@ -19,7 +19,7 @@ use warnings;
 use Carp ();
 use Math::BigInt ();
 
-our $VERSION = '1.999726';
+our $VERSION = '1.999727';
 $VERSION = eval $VERSION;
 
 require Exporter;
@@ -272,6 +272,7 @@ sub DESTROY {
 }
 
 sub AUTOLOAD {
+    # make fxxx and bxxx both work by selectively mapping fxxx() to MBF::bxxx()
     my $name = $AUTOLOAD;
 
     $name =~ s/(.*):://;        # split package
diff --git a/cpan/Math-BigInt/lib/Math/BigInt.pm 
b/cpan/Math-BigInt/lib/Math/BigInt.pm
index ae5c618..24b14c4 100644
--- a/cpan/Math-BigInt/lib/Math/BigInt.pm
+++ b/cpan/Math-BigInt/lib/Math/BigInt.pm
@@ -20,7 +20,7 @@ use warnings;
 
 use Carp ();
 
-our $VERSION = '1.999726_01';
+our $VERSION = '1.999727';
 $VERSION = eval $VERSION;
 
 our @ISA = qw(Exporter);
@@ -4272,7 +4272,7 @@ If the string can not be interpreted, NaN is returned.
 
 Octal numbers are typically prefixed by "0", but since leading zeros are
 stripped, these methods can not automatically recognize octal numbers, so use
-the constructor from_oct() to intepret octal strings.
+the constructor from_oct() to interpret octal strings.
 
 Some examples of valid string input
 
diff --git a/cpan/Math-BigInt/lib/Math/BigInt/Calc.pm 
b/cpan/Math-BigInt/lib/Math/BigInt/Calc.pm
index 4be50f4..81146df 100644
--- a/cpan/Math-BigInt/lib/Math/BigInt/Calc.pm
+++ b/cpan/Math-BigInt/lib/Math/BigInt/Calc.pm
@@ -4,7 +4,7 @@ use 5.006001;
 use strict;
 use warnings;
 
-our $VERSION = '1.999726';
+our $VERSION = '1.999727';
 $VERSION = eval $VERSION;
 
 # Package to store unsigned big integers in decimal and do math with them
diff --git a/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm 
b/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
index 006a6ec..07929bc 100644
--- a/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
+++ b/cpan/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
@@ -4,7 +4,7 @@ use 5.006001;
 use strict;
 use warnings;
 
-our $VERSION = '1.999726';
+our $VERSION = '1.999727';
 $VERSION = eval $VERSION;
 
 package Math::BigInt;
diff --git a/cpan/Math-BigInt/t/bigintpm.inc b/cpan/Math-BigInt/t/bigintpm.inc
index d793ce1..7d36cd4 100644
--- a/cpan/Math-BigInt/t/bigintpm.inc
+++ b/cpan/Math-BigInt/t/bigintpm.inc
@@ -565,11 +565,11 @@ $z = 1e+129;                      # definitely a float 
(may fail on UTS)
 # don't compare to $z, since some Perl versions stringify $z into something
 # like '1.e+129' or something equally ugly
 SKIP:{
-my $vax_float = (pack("d",1) =~ /^[\x80\x10]\x40/);
-skip("vax float range smaller", 1) if $vax_float;
-$x = $CLASS->new($z);
-is($x->bsstr(), '1e+129',
-   qq|\$x = $CLASS->new($z); \$x->bsstr() = "1e+129"|);
+    my $vax_float = (pack("d", 1) =~ /^[\x80\x10]\x40/);
+    skip("vax float range smaller", 1) if $vax_float;
+    $x = $CLASS->new($z);
+    is($x -> bsstr(), '1e+129',
+       qq|\$x = $CLASS->new($z); \$x->bsstr() = "1e+129"|);
 }
 
 ###############################################################################
diff --git a/cpan/Math-BigInt/t/calling.t b/cpan/Math-BigInt/t/calling.t
index b81423c..699a216 100644
--- a/cpan/Math-BigInt/t/calling.t
+++ b/cpan/Math-BigInt/t/calling.t
@@ -6,7 +6,7 @@ use strict;
 use warnings;
 use lib 't';
 
-my $VERSION = '1.999726';       # adjust manually to match latest release
+my $VERSION = '1.999727';       # adjust manually to match latest release
 $VERSION = eval $VERSION;
 
 use Test::More tests => 5;
diff --git a/cpan/Unicode-Collate/Collate.pm b/cpan/Unicode-Collate/Collate.pm
index ea2f946..929e340 100644
--- a/cpan/Unicode-Collate/Collate.pm
+++ b/cpan/Unicode-Collate/Collate.pm
@@ -17,7 +17,7 @@ use File::Spec;
 
 no warnings 'utf8';
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 our $PACKAGE = __PACKAGE__;
 
 ### begin XS only ###
@@ -1116,7 +1116,7 @@ The following revisions are supported.  The default is 32.
      30             7.0.0               7.0.0 (7.0.0)
      32             8.0.0               8.0.0 (8.0.0)
 
-* See below C<long_contraction> with C<UCA_Version> 22 and 24.
+* See below for C<long_contraction> with C<UCA_Version> 22 and 24.
 
 * Noncharacters (e.g. U+FFFF) are not ignored, and can be overridden
 since C<UCA_Version> 22.
@@ -1231,7 +1231,7 @@ table beforehand.
 
 =item highestFFFF
 
--- see 5.14 Collation Elements, UTS #35.
+-- see 2.4 Tailored noncharacter weights, UTS #35 (LDML) Part 5: Collation.
 
 If the parameter is made true, C<U+FFFF> has a highest primary weight.
 When a boolean of C<$coll-E<gt>ge($str, "abc")> and
@@ -1375,7 +1375,7 @@ contraction C<0FB2 0F71> prohibits C<0FB2 0F71 0F80> from 
being detected.
 
 =item minimalFFFE
 
--- see 5.14 Collation Elements, UTS #35.
+-- see 1.1.1 U+FFFE, UTS #35 (LDML) Part 5: Collation.
 
 If the parameter is made true, C<U+FFFE> has a minimal primary weight.
 The comparison between C<"$a1\x{FFFE}$a2"> and C<"$b1\x{FFFE}$b2">
@@ -1652,8 +1652,7 @@ rewriting lines on reading an unmodified table every time.
 
 =item suppress
 
--- see suppress contractions in 5.14.11 Special-Purpose Commands,
-UTS #35 (LDML).
+-- see 3.12 Special-Purpose Commands, UTS #35 (LDML) Part 5: Collation.
 
 Contractions beginning with the specified characters are suppressed,
 even if those contractions are defined in C<table>.
@@ -1711,7 +1710,7 @@ specified as a comment (following C<#>) on each line.
 
 =item undefName
 
--- see 6.3.4 Reducing the Repertoire, UTS #10.
+-- see 6.3.3 Reducing the Repertoire, UTS #10.
 
 Undefines the collation element as if it were unassigned in the C<table>.
 This reduces the size of the table.
diff --git a/cpan/Unicode-Collate/Collate/CJK/Big5.pm 
b/cpan/Unicode-Collate/Collate/CJK/Big5.pm
index 5fd6d84..945ea5f 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Big5.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Big5.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 my %u2p;
 my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/GB2312.pm 
b/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
index 89c5a13..3e64542 100644
--- a/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 my %u2p;
 my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm 
b/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
index 97bc4a7..08b8163 100644
--- a/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 my %u2p;
 my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/Korean.pm 
b/cpan/Unicode-Collate/Collate/CJK/Korean.pm
index ae11969..a7aef7a 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Korean.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Korean.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 my %jamo2prim = (
     '1100', 0x3A5E,   '1101', 0x3A5F,   '1102', 0x3A60,   '1103', 0x3A61,
diff --git a/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm 
b/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
index 5b62e39..c3d4003 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 my %u2p;
 my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/Stroke.pm 
b/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
index 178044a..37e1b45 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 my %u2p;
 my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm 
b/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
index 8e6eec2..246905b 100644
--- a/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
+++ b/cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
@@ -4,7 +4,7 @@ use 5.006;
 use strict;
 use warnings;
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 my %u2p;
 my $wt = 0x8000;
diff --git a/cpan/Unicode-Collate/Collate/Locale.pm 
b/cpan/Unicode-Collate/Collate/Locale.pm
index 74c3cc3..24d3ec0 100644
--- a/cpan/Unicode-Collate/Collate/Locale.pm
+++ b/cpan/Unicode-Collate/Collate/Locale.pm
@@ -5,12 +5,12 @@ use warnings;
 use Carp;
 use base qw(Unicode::Collate);
 
-our $VERSION = '1.17';
+our $VERSION = '1.18';
 
 my $PL_EXT  = '.pl';
 
 my %LocaleFile = map { ($_, $_) } qw(
-   af ar as az be bn ca cs cy da ee eo es et fa fi fil fo fr
+   af ar as az be bn ca cs cy da ee eo es et fa fi fil fo
    gu ha haw hi hr hu hy ig is ja kk kl kn ko kok ln lt lv
    mk ml mr mt nb nn nso om or pa pl ro sa se si sk sl sq
    sr sv ta te th tn to tr uk ur vi wae wo yo zh
@@ -22,7 +22,9 @@ my %LocaleFile = map { ($_, $_) } qw(
    $LocaleFile{'sr_Latn'} = 'hr';
 # short file names
    $LocaleFile{'de__phonebook'}   = 'de_phone';
+   $LocaleFile{'de_AT_phonebook'} = 'de_at_ph';
    $LocaleFile{'es__traditional'} = 'es_trad';
+   $LocaleFile{'fr_CA'}           = 'fr_ca';
    $LocaleFile{'fi__phonebook'}   = 'fi_phone';
    $LocaleFile{'si__dictionary'}  = 'si_dict';
    $LocaleFile{'sv__reformed'}    = 'sv_refo';
@@ -162,8 +164,8 @@ The C<new> method returns a collator object.
 A parameter list for the constructor is a hash, which can include
 a special key C<locale> and its value (case-insensitive) standing
 for a Unicode base language code (two or three-letter).
-For example, C<Unicode::Collate::Locale-E<gt>new(locale =E<gt> 'FR')>
-returns a collator tailored for French.
+For example, C<Unicode::Collate::Locale-E<gt>new(locale =E<gt> 'ES')>
+returns a collator tailored for Spanish.
 
 C<$locale_name> may be suffixed with a Unicode script code (four-letter),
 a Unicode region code, a Unicode language variant code. These codes are
@@ -188,12 +190,12 @@ is always untailorable, since it is reserved for DUCET.
 However C<entry> is allowed, even if it is used for C<locale> support,
 to add or override mappings.
 
-E.g. a collator for French, which ignores diacritics and case difference
+E.g. a collator for Spanish, which ignores diacritics and case difference
 (i.e. level 1), with reversed case ordering and no normalization.
 
     Unicode::Collate::Locale->new(
         level => 1,
-        locale => 'fr',
+        locale => 'es',
         upper_before_lower => 1,
         normalization => undef
     )
@@ -257,6 +259,7 @@ a combination of return values from C<getlocale> and 
C<locale_version>.
       cy                Welsh
       da                Danish
       de__phonebook     German (umlaut as 'ae', 'oe', 'ue')
+      de_AT_phonebook   German in Austria (umlaut primary greater)
       ee                Ewe
       eo                Esperanto
       es                Spanish
@@ -267,7 +270,7 @@ a combination of return values from C<getlocale> and 
C<locale_version>.
       fi__phonebook     Finnish (v and w as separate characters)
       fil               Filipino
       fo                Faroese
-      fr                French
+      fr_CA             French in Canada
       gu                Gujarati
       ha                Hausa
       haw               Hawaiian
@@ -336,6 +339,7 @@ bg (Bulgarian) without C<[reorder Cyrl]>,
 chr (Cherokee) without C<[reorder Cher]>,
 de (German),
 en (English),
+fr (French),
 ga (Irish),
 id (Indonesian),
 it (Italian),
@@ -377,7 +381,7 @@ Tests for C<Unicode::Collate::Locale> are named 
F<t/loc_*.t>.
 
 =over 4
 
-=item tailoring is not maximum
+=item Tailoring is not maximum
 
 Even if a certain letter is tailored, its equivalent would not always
 tailored as well as it. For example, even though W is tailored,
@@ -386,91 +390,96 @@ tailored. The result may depend on whether source strings 
are
 normalized or not, and whether decomposed or composed.
 Thus C<(normalization =E<gt> undef)> is less preferred.
 
+=item Collation reordering is not supported
+
+The order of any groups including scripts are not changed.
+
 =back
 
 =head2 Reference
 
       locale            based CLDR or other reference
     --------------------------------------------------------------------
-      af                22.1 = 1.8.1
+      af                30 = 1.8.1
       ar                22.1 = 1.9.0
-      as                22.1 = 1.8.1
+      as                30 = 28 (without [reorder Beng..]) = 23
       az                22.1 = 1.8.1 (type="standard")
-      be                30 = 28 (type="standard" without [reorder Cyrl])
-      bn                22.1 = 2.0.1 (type="standard")
+      be                30 = 28 (without [reorder Cyrl])
+      bn                30 = 28 (type="standard" wo [reorder Beng..]) = 2.0.1
       bs                30 = 28 (type="standard": [import hr])
       bs_Cyrl           30 = 28 (type="standard": [import sr])
-      ca                22.1 = 1.8.1 (alt="proposed" type="standard")
+      ca                30 = 23 (alt="proposed" type="standard")
       cs                22.1 = 1.8.1 (type="standard")
-      cy                22.1 = 1.8.1
+      cy                30 = 1.8.1
       da                22.1 = 1.8.1 (type="standard")
-      de__phonebook     22.1 = 2.0   (type="phonebook")
+      de__phonebook     30 = 2.0 (type="phonebook")
+      de_AT_phonebook   30 = 27 (type="phonebook")
       ee                22.1 = 22
-      eo                22.1 = 1.8.1
-      es                22.1 = 1.9.0 (type="standard")
-      es__traditional   22.1 = 1.8.1 (type="traditional")
+      eo                30 = 1.8.1
+      es                30 = 1.9.0 (type="standard")
+      es__traditional   30 = 1.8.1 (type="traditional")
       et                22.1 = 1.8.1
       fa                22.1 = 1.8.1
       fi                22.1 = 1.8.1 (type="standard" alt="proposed")
       fi__phonebook     22.1 = 1.8.1 (type="phonebook")
-      fil               22.1 = 1.9.0 (type="standard") = 1.8.1
+      fil               30 = 1.9.0 (type="standard") = 1.8.1
       fo                22.1 = 1.8.1 (alt="proposed" type="standard")
-      fr                22.1 = 1.9.0 (fr_CA, backwards="on")
-      gu                22.1 = 1.9.0 (type="standard")
+      fr_CA             30 = 1.9.0
+      gu                30 = 28 (type="standard" wo [reorder Gujr..]) = 1.9.0
       ha                22.1 = 1.9.0
       haw               22.1 = 1.8.1
-      hi                22.1 = 1.9.0 (type="standard")
+      hi                30 = 28 (without [reorder Deva..]) = 1.9.0
       hr                22.1 = 1.9.0 (type="standard")
       hu                22.1 = 1.8.1 (alt="proposed" type="standard")
-      hy                22.1 = 1.8.1
+      hy                30 = 28 (without [reorder Armn]) = 1.8.1
       ig                22.1 = 1.8.1
       is                22.1 = 1.8.1 (type="standard")
       ja                22.1 = 1.8.1 (type="standard")
-      kk                30 = 28 (type="standard" without [reorder Cyrl])
+      kk                30 = 28 (without [reorder Cyrl])
       kl                22.1 = 1.8.1 (type="standard")
-      kn                22.1 = 1.9.0 (type="standard")
+      kn                30 = 28 (type="standard" wo [reorder Knda..]) = 1.9.0
       ko                22.1 = 1.8.1 (type="standard")
-      kok               22.1 = 1.8.1
-      ln                22.1 = 2.0   (type="standard") = 1.8.1
+      kok               30 = 28 (without [reorder Deva..]) = 1.8.1
+      ln                30 = 2.0 (type="standard") = 1.8.1
       lt                22.1 = 1.9.0
       lv                22.1 = 1.9.0 (type="standard") = 1.8.1
-      mk                30 = 28 (type="standard" without [reorder Cyrl])
+      mk                30 = 28 (without [reorder Cyrl])
       ml                22.1 = 1.9.0
-      mr                22.1 = 1.8.1
+      mr                30 = 28 (without [reorder Deva..]) = 1.8.1
       mt                22.1 = 1.9.0
       nb                22.1 = 2.0   (type="standard")
       nn                22.1 = 2.0   (type="standard")
-      nso               22.1 = 1.8.1
+      nso               26 = 1.8.1
       om                22.1 = 1.8.1
-      or                22.1 = 1.9.0
+      or                30 = 28 (without [reorder Orya..]) = 1.9.0
       pa                22.1 = 1.8.1
-      pl                22.1 = 1.8.1
-      ro                22.1 = 1.9.0 (type="standard")
+      pl                30 = 1.8.1
+      ro                30 = 1.9.0 (type="standard")
       sa                1.9.1 = 1.8.1 (type="standard" alt="proposed")
                                       [now in /seed]
       se                22.1 = 1.8.1 (type="standard")
-      si                22.1 = 1.9.0 (type="standard")
-      si__dictionary    22.1 = 1.9.0 (type="dictionary")
+      si                30 = 28 (type="standard" wo [reorder Sinh..]) = 1.9.0
+      si__dictionary    30 = 28 (type="dictionary" wo [reorder Sinh..]) = 1.9.0
       sk                22.1 = 1.9.0 (type="standard")
       sl                22.1 = 1.8.1 (type="standard" alt="proposed")
       sq                22.1 = 1.8.1 (alt="proposed" type="standard")
-      sr                30 = 28 (type="standard" without [reorder Cyrl])
+      sr                30 = 28 (without [reorder Cyrl])
       sr_Latn           30 = 28 (type="standard": [import hr])
       sv                22.1 = 1.9.0 (type="standard")
       sv__reformed      22.1 = 1.8.1 (type="reformed")
       ta                22.1 = 1.9.0
-      te                22.1 = 1.9.0
+      te                30 = 28 (without [reorder Telu..]) = 1.9.0
       th                22.1 = 22
-      tn                22.1 = 1.8.1
+      tn                26 = 1.8.1
       to                22.1 = 22
       tr                22.1 = 1.8.1 (type="standard")
-      uk                30 = 28 (type="standard" without [reorder Cyrl])
+      uk                30 = 28 (without [reorder Cyrl])
       ug_Cyrl           https://en.wikipedia.org/wiki/Uyghur_Cyrillic_alphabet
       ur                22.1 = 1.9.0
       vi                22.1 = 1.8.1
       wae               22.1 = 2.0
       wo                1.9.1 = 1.8.1 [now in /seed]
-      yo                22.1 = 1.8.1
+      yo                30 = 1.8.1
       zh                22.1 = 1.8.1 (type="standard")
       zh__big5han       22.1 = 1.8.1 (type="big5han")
       zh__gb2312han     22.1 = 1.8.1 (type="gb2312han")
diff --git a/cpan/Unicode-Collate/Collate/Locale/af.pl 
b/cpan/Unicode-Collate/Collate/Locale/af.pl
index b74b0a7..d5d2725 100644
--- a/cpan/Unicode-Collate/Collate/Locale/af.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/af.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0149      ; [.1D34.0020.0009] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
 ENTRY
diff --git a/cpan/Unicode-Collate/Collate/Locale/ar.pl 
b/cpan/Unicode-Collate/Collate/Locale/ar.pl
index 27738bb..0ac753f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ar.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ar.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0629      ; [.2296.0021.0002] # ARABIC LETTER TEH MARBUTA
 FE94      ; [.2296.0021.0019] # ARABIC LETTER TEH MARBUTA FINAL FORM
diff --git a/cpan/Unicode-Collate/Collate/Locale/as.pl 
b/cpan/Unicode-Collate/Collate/Locale/as.pl
index 6b2abec..79040d1 100644
--- a/cpan/Unicode-Collate/Collate/Locale/as.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/as.pl
@@ -1,12 +1,13 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0982      ; [.2640.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
 0981      ; [.2640.0020.0002][.FFF2.0000.0000] # BENGALI SIGN CANDRABINDU
 0983      ; [.2640.0020.0002][.FFF3.0000.0000] # BENGALI SIGN VISARGA
 0994      ; [.2640.0020.0002][.FFF0.0000.0000] # BENGALI LETTER AU
-09A4 09CD 200D ; [.264F.0020.0002][.FFF1.0000.0000] # <BENGALI LETTER TA, 
BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
-09A3      ; [.264F.0020.0002][.FFF0.0000.0000] # BENGALI LETTER NNA
+09CE      ; [.2650.0020.0002][.FFF0.0000.0000] # BENGALI LETTER KHANDA TA
+09A4 09CD 200D ; [.2650.0020.0002][.FFF0.0000.0000] # <BENGALI LETTER TA, 
BENGALI SIGN VIRAMA, ZERO WIDTH JOINER>
+09A4      ; [.2650.0020.0002][.FFF1.0000.0000] # BENGALI LETTER TA
 0995 09CD 09B7 ; [.2662.0020.0002][.FFF1.0000.0000] # <BENGALI LETTER KA, 
BENGALI SIGN VIRAMA, BENGALI LETTER SSA>
 09B9      ; [.2662.0020.0002][.FFF0.0000.0000] # BENGALI LETTER HA
 ENTRY
diff --git a/cpan/Unicode-Collate/Collate/Locale/az.pl 
b/cpan/Unicode-Collate/Collate/Locale/az.pl
index b0b7725..bf9bb93 100644
--- a/cpan/Unicode-Collate/Collate/Locale/az.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/az.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # schwa doesn't require tailoring
    entry => <<'ENTRY', # for DUCET v8.0.0
 00E7      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
diff --git a/cpan/Unicode-Collate/Collate/Locale/be.pl 
b/cpan/Unicode-Collate/Collate/Locale/be.pl
index d9a2bcd..97ba9e1 100644
--- a/cpan/Unicode-Collate/Collate/Locale/be.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/be.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0451      ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
 0435 0308 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
diff --git a/cpan/Unicode-Collate/Collate/Locale/bn.pl 
b/cpan/Unicode-Collate/Collate/Locale/bn.pl
index b6ac6dc..db42edb 100644
--- a/cpan/Unicode-Collate/Collate/Locale/bn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/bn.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0982      ; [.2640.0020.0002][.FFF1.0000.0000] # BENGALI SIGN ANUSVARA
 0983      ; [.2640.0020.0002][.FFF2.0000.0000] # BENGALI SIGN VISARGA
diff --git a/cpan/Unicode-Collate/Collate/Locale/ca.pl 
b/cpan/Unicode-Collate/Collate/Locale/ca.pl
index b25282b..37ea428 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ca.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ca.pl
@@ -1,6 +1,5 @@
 +{
-   locale_version => 1.17,
-   backwards => 2,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
 0063 0048 ; [.1BF6.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN 
CAPITAL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/cs.pl 
b/cpan/Unicode-Collate/Collate/Locale/cs.pl
index 807b39b..05c2a02 100644
--- a/cpan/Unicode-Collate/Collate/Locale/cs.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/cs.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 010D      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
 0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/cy.pl 
b/cpan/Unicode-Collate/Collate/Locale/cy.pl
index 2f94b34..4c38d0e 100644
--- a/cpan/Unicode-Collate/Collate/Locale/cy.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/cy.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
 0043 0068 ; [.1BF6.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/da.pl 
b/cpan/Unicode-Collate/Collate/Locale/da.pl
index ffc79dc..c27dd82 100644
--- a/cpan/Unicode-Collate/Collate/Locale/da.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/da.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    upper_before_lower => 1,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl 
b/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl
new file mode 100644
index 0000000..d1ea541
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/de_at_ph.pl
@@ -0,0 +1,31 @@
++{
+   locale_version => 1.18,
+   entry => <<'ENTRY', # for DUCET v8.0.0
+00E4      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1BC3.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER A WITH 
DIAERESIS AND MACRON
+01DE      ; [.1BC3.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER A WITH 
DIAERESIS AND MACRON
+00F6      ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1D59.0020.0002] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1D59.0020.0008] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1D59.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER O WITH 
DIAERESIS AND MACRON
+022A      ; [.1D59.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER O WITH 
DIAERESIS AND MACRON
+00FC      ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1E31.0020.0002] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1E31.0020.0008] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1E31.0020.0002][.0000.0025.0002] # LATIN SMALL LETTER U WITH 
DIAERESIS AND GRAVE
+01DB      ; [.1E31.0020.0008][.0000.0025.0002] # LATIN CAPITAL LETTER U WITH 
DIAERESIS AND GRAVE
+01D8      ; [.1E31.0020.0002][.0000.0024.0002] # LATIN SMALL LETTER U WITH 
DIAERESIS AND ACUTE
+01D7      ; [.1E31.0020.0008][.0000.0024.0002] # LATIN CAPITAL LETTER U WITH 
DIAERESIS AND ACUTE
+01D6      ; [.1E31.0020.0002][.0000.0032.0002] # LATIN SMALL LETTER U WITH 
DIAERESIS AND MACRON
+01D5      ; [.1E31.0020.0008][.0000.0032.0002] # LATIN CAPITAL LETTER U WITH 
DIAERESIS AND MACRON
+01DA      ; [.1E31.0020.0002][.0000.0028.0002] # LATIN SMALL LETTER U WITH 
DIAERESIS AND CARON
+01D9      ; [.1E31.0020.0008][.0000.0028.0002] # LATIN CAPITAL LETTER U WITH 
DIAERESIS AND CARON
+00DF      ; [.1DEC.0020.0002][.1DED.0020.0002] # LATIN SMALL LETTER SHARP S
+1E9E      ; [.1DEC.0020.0008][.1DED.0020.0008] # LATIN CAPITAL LETTER SHARP S
+ENTRY
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/de_phone.pl 
b/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
index e66615c..4be777f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00E4      ; [.1BC2.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER A WITH 
DIAERESIS
 0061 0308 ; [.1BC2.0021.0002][.1C25.0021.0002] # LATIN SMALL LETTER A WITH 
DIAERESIS
diff --git a/cpan/Unicode-Collate/Collate/Locale/ee.pl 
b/cpan/Unicode-Collate/Collate/Locale/ee.pl
index e6977e8..ebbc813 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ee.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ee.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # d-tail, open-e, f-hook, gamma, eng, open-o, v-hook don't require tailoring
    entry => <<'ENTRY', # for DUCET v8.0.0
 0302      ; [.0000.0029.0002] # COMBINING CIRCUMFLEX ACCENT
diff --git a/cpan/Unicode-Collate/Collate/Locale/eo.pl 
b/cpan/Unicode-Collate/Collate/Locale/eo.pl
index 507be3f..6a006a4 100644
--- a/cpan/Unicode-Collate/Collate/Locale/eo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/eo.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0109      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
 0063 0302 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CIRCUMFLEX
diff --git a/cpan/Unicode-Collate/Collate/Locale/es.pl 
b/cpan/Unicode-Collate/Collate/Locale/es.pl
index 2018481..2bc6ba1 100644
--- a/cpan/Unicode-Collate/Collate/Locale/es.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/es.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00F1      ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
 006E 0303 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
diff --git a/cpan/Unicode-Collate/Collate/Locale/es_trad.pl 
b/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
index 486572c..25c786a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0063 0068 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
 0043 0068 ; [.1BF6.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/et.pl 
b/cpan/Unicode-Collate/Collate/Locale/et.pl
index 1251508..3c678ce 100644
--- a/cpan/Unicode-Collate/Collate/Locale/et.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/et.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0161      ; [.1E0D.0020.0002] # LATIN SMALL LETTER S WITH CARON
 0073 030C ; [.1E0D.0020.0002] # LATIN SMALL LETTER S WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/fa.pl 
b/cpan/Unicode-Collate/Collate/Locale/fa.pl
index af2deb8..eea033a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fa.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fa.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0650      ; [.0000.0077.0002] # ARABIC KASRA
 064B      ; [.0000.007B.0002] # ARABIC FATHATAN
diff --git a/cpan/Unicode-Collate/Collate/Locale/fi.pl 
b/cpan/Unicode-Collate/Collate/Locale/fi.pl
index d360a3f..2d05969 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fi.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fi.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH 
STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl 
b/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
index 182310f..82f5f23 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fi_phone.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002][.0000.0039.0002] # LATIN SMALL LETTER D WITH 
STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fil.pl 
b/cpan/Unicode-Collate/Collate/Locale/fil.pl
index cdc3c31..af8983a 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fil.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fil.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00F1      ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
 006E 0303 ; [.1D35.0020.0002] # LATIN SMALL LETTER N WITH TILDE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fo.pl 
b/cpan/Unicode-Collate/Collate/Locale/fo.pl
index 354f2cd..99a36d0 100644
--- a/cpan/Unicode-Collate/Collate/Locale/fo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/fo.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
 0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/fr.pl 
b/cpan/Unicode-Collate/Collate/Locale/fr.pl
deleted file mode 100644
index a0b8b6a..0000000
--- a/cpan/Unicode-Collate/Collate/Locale/fr.pl
+++ /dev/null
@@ -1,4 +0,0 @@
-+{
-   locale_version => 1.17,
-   backwards => 2,
-};
diff --git a/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl 
b/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl
new file mode 100644
index 0000000..261182b
--- /dev/null
+++ b/cpan/Unicode-Collate/Collate/Locale/fr_ca.pl
@@ -0,0 +1,4 @@
++{
+   locale_version => 1.18,
+   backwards => 2,
+};
diff --git a/cpan/Unicode-Collate/Collate/Locale/gu.pl 
b/cpan/Unicode-Collate/Collate/Locale/gu.pl
index aa4b443..2deeb38 100644
--- a/cpan/Unicode-Collate/Collate/Locale/gu.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/gu.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0A82      ; [.26AC.0020.0002][.FFF1.0000.0000] # GUJARATI SIGN ANUSVARA
 0A81      ; [.26AC.0021.0002][.FFF1.0000.0000] # GUJARATI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/ha.pl 
b/cpan/Unicode-Collate/Collate/Locale/ha.pl
index 98ab660..a4286c2 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ha.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ha.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # b-hook, d-hook, k-hook, y-hook don't require tailoring
    entry => <<'ENTRY', # for DUCET v8.0.0
 0073 0068 ; [.1DED.0020.0002] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/haw.pl 
b/cpan/Unicode-Collate/Collate/Locale/haw.pl
index a453690..d9c3c3f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/haw.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/haw.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0065      ; [.1BC3.0020.0002] # LATIN SMALL LETTER E
 0045      ; [.1BC3.0020.0008] # LATIN CAPITAL LETTER E
diff --git a/cpan/Unicode-Collate/Collate/Locale/hi.pl 
b/cpan/Unicode-Collate/Collate/Locale/hi.pl
index 6775e8a..109f5d5 100644
--- a/cpan/Unicode-Collate/Collate/Locale/hi.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/hi.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0902      ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
 0901      ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/hr.pl 
b/cpan/Unicode-Collate/Collate/Locale/hr.pl
index 4ac43c3..d62aee0 100644
--- a/cpan/Unicode-Collate/Collate/Locale/hr.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/hr.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 010D      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
 0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/hu.pl 
b/cpan/Unicode-Collate/Collate/Locale/hu.pl
index ea21042..c1bef97 100644
--- a/cpan/Unicode-Collate/Collate/Locale/hu.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/hu.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0063 0073 ; [.1BF6.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
 0063 0053 ; [.1BF6.0020.0007][.0000.0000.0002] # <LATIN SMALL LETTER C, LATIN 
CAPITAL LETTER S>
diff --git a/cpan/Unicode-Collate/Collate/Locale/hy.pl 
b/cpan/Unicode-Collate/Collate/Locale/hy.pl
index b878134..7d6dc38 100644
--- a/cpan/Unicode-Collate/Collate/Locale/hy.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/hy.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0587      ; [.222E.0020.0002][.FFF1.0000.0000] # ARMENIAN SMALL LIGATURE ECH 
YIWN
 0584      ; [.222E.0020.0002][.FFF0.0000.0000] # ARMENIAN SMALL LETTER KEH
diff --git a/cpan/Unicode-Collate/Collate/Locale/ig.pl 
b/cpan/Unicode-Collate/Collate/Locale/ig.pl
index 32c08cc..d894562 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ig.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ig.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0063 0068 ; [.1BDC.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
 0043 0068 ; [.1BDC.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/is.pl 
b/cpan/Unicode-Collate/Collate/Locale/is.pl
index b43a31f..6b61f2e 100644
--- a/cpan/Unicode-Collate/Collate/Locale/is.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/is.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00E1      ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
 0061 0301 ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
diff --git a/cpan/Unicode-Collate/Collate/Locale/ja.pl 
b/cpan/Unicode-Collate/Collate/Locale/ja.pl
index e00c570..90ba6a4 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ja.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ja.pl
@@ -1,6 +1,6 @@
 use Unicode::Collate::CJK::JISX0208;
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
    entry => <<'ENTRY', # for DUCET v8.0.0
 30A1      ; [.3BC3.0020.000F.0002] # KATAKANA LETTER SMALL A
diff --git a/cpan/Unicode-Collate/Collate/Locale/kk.pl 
b/cpan/Unicode-Collate/Collate/Locale/kk.pl
index b42afea..0d9a73b 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kk.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0451      ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
 0435 0308 ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER IO
diff --git a/cpan/Unicode-Collate/Collate/Locale/kl.pl 
b/cpan/Unicode-Collate/Collate/Locale/kl.pl
index 89ec4a7..6adf89f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kl.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
 0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/kn.pl 
b/cpan/Unicode-Collate/Collate/Locale/kn.pl
index f7ccf84..74ebb69 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kn.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0C82      ; [.27BF.0020.0002][.FFF1.0000.0000] # KANNADA SIGN ANUSVARA
 0C83      ; [.27BF.0020.0002][.FFF2.0000.0000] # KANNADA SIGN VISARGA
diff --git a/cpan/Unicode-Collate/Collate/Locale/ko.pl 
b/cpan/Unicode-Collate/Collate/Locale/ko.pl
index 51d9e12..0ac3b93 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ko.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ko.pl
@@ -1,6 +1,6 @@
 use Unicode::Collate::CJK::Korean;
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
    entry => <<'ENTRY', # for DUCET v8.0.0
 F967      ; [.3A65.0021.0002.4E0D][.3AE9.0020.0002] # CJK COMPATIBILITY 
IDEOGRAPH-F967
diff --git a/cpan/Unicode-Collate/Collate/Locale/kok.pl 
b/cpan/Unicode-Collate/Collate/Locale/kok.pl
index d3e364d..5343adc 100644
--- a/cpan/Unicode-Collate/Collate/Locale/kok.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/kok.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0902      ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
 0901      ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/ln.pl 
b/cpan/Unicode-Collate/Collate/Locale/ln.pl
index f02cbaf..d23d6bd 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ln.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ln.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 025B      ; [.1C26.0020.0002] # LATIN SMALL LETTER OPEN E
 0190      ; [.1C26.0020.0008] # LATIN CAPITAL LETTER OPEN E
diff --git a/cpan/Unicode-Collate/Collate/Locale/lt.pl 
b/cpan/Unicode-Collate/Collate/Locale/lt.pl
index 4e63879..52a93e8 100644
--- a/cpan/Unicode-Collate/Collate/Locale/lt.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/lt.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ?
    entry => <<'ENTRY', # for DUCET v8.0.0
 0049 0307 ; [.1CAD.0020.0008][.0000.002E.0002] # <LATIN CAPITAL LETTER I, 
COMBINING DOT ABOVE>
diff --git a/cpan/Unicode-Collate/Collate/Locale/lv.pl 
b/cpan/Unicode-Collate/Collate/Locale/lv.pl
index 3c7bf05..cbdc0cd 100644
--- a/cpan/Unicode-Collate/Collate/Locale/lv.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/lv.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 010D      ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CARON
 0063 030C ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/mk.pl 
b/cpan/Unicode-Collate/Collate/Locale/mk.pl
index 1d53869..2cf8609 100644
--- a/cpan/Unicode-Collate/Collate/Locale/mk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/mk.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    suppress => [0x0418, 0x0438],
    entry => <<'ENTRY', # for DUCET v8.0.0
 0453      ; [.1FD1.0020.0002] # CYRILLIC SMALL LETTER GJE
diff --git a/cpan/Unicode-Collate/Collate/Locale/ml.pl 
b/cpan/Unicode-Collate/Collate/Locale/ml.pl
index 044a847..e3b7635 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ml.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ml.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0D3D      ; [.0000.00C1.0002] # MALAYALAM SIGN AVAGRAHA
 0D57      ; [.283F.0020.0002] # MALAYALAM AU LENGTH MARK
diff --git a/cpan/Unicode-Collate/Collate/Locale/mr.pl 
b/cpan/Unicode-Collate/Collate/Locale/mr.pl
index beef51a..a7a9467 100644
--- a/cpan/Unicode-Collate/Collate/Locale/mr.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/mr.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0902      ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
 0901      ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/mt.pl 
b/cpan/Unicode-Collate/Collate/Locale/mt.pl
index 95ee985..1b1f2c0 100644
--- a/cpan/Unicode-Collate/Collate/Locale/mt.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/mt.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    upper_before_lower => 1,
    entry => <<'ENTRY', # for DUCET v8.0.0
 010B      ; [.1BF4.0020.0002] # LATIN SMALL LETTER C WITH DOT ABOVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/nb.pl 
b/cpan/Unicode-Collate/Collate/Locale/nb.pl
index c9caf6f..4ff0eee 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nb.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nb.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
 0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/nn.pl 
b/cpan/Unicode-Collate/Collate/Locale/nn.pl
index c9caf6f..4ff0eee 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nn.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
 0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/nso.pl 
b/cpan/Unicode-Collate/Collate/Locale/nso.pl
index f9917bd..855a5fe 100644
--- a/cpan/Unicode-Collate/Collate/Locale/nso.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/nso.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00EA      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
 0065 0302 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
diff --git a/cpan/Unicode-Collate/Collate/Locale/om.pl 
b/cpan/Unicode-Collate/Collate/Locale/om.pl
index 15dc641..1af83e0 100644
--- a/cpan/Unicode-Collate/Collate/Locale/om.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/om.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0063 0068 ; [.1E9D.0020.0002] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
 0043 0068 ; [.1E9D.0020.0007] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
diff --git a/cpan/Unicode-Collate/Collate/Locale/or.pl 
b/cpan/Unicode-Collate/Collate/Locale/or.pl
index 4686d01..26a8e37 100644
--- a/cpan/Unicode-Collate/Collate/Locale/or.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/or.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0B01      ; [.26FE.0020.0002][.FFF1.0000.0000] # ORIYA SIGN CANDRABINDU
 0B02      ; [.26FE.0020.0002][.FFF2.0000.0000] # ORIYA SIGN ANUSVARA
diff --git a/cpan/Unicode-Collate/Collate/Locale/pa.pl 
b/cpan/Unicode-Collate/Collate/Locale/pa.pl
index 9e24d64..b0e7ce5 100644
--- a/cpan/Unicode-Collate/Collate/Locale/pa.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/pa.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0A71      ; [.0000.00BE.0002] # GURMUKHI ADDAK
 0A03      ; [.0000.00BD.0002] # GURMUKHI SIGN VISARGA
diff --git a/cpan/Unicode-Collate/Collate/Locale/pl.pl 
b/cpan/Unicode-Collate/Collate/Locale/pl.pl
index fde2273..155e2aa 100644
--- a/cpan/Unicode-Collate/Collate/Locale/pl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/pl.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0105      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
 0061 0328 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH OGONEK
diff --git a/cpan/Unicode-Collate/Collate/Locale/ro.pl 
b/cpan/Unicode-Collate/Collate/Locale/ro.pl
index b59e8f2..00125ae 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ro.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ro.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0103      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH BREVE
 0061 0306 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH BREVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/sa.pl 
b/cpan/Unicode-Collate/Collate/Locale/sa.pl
index beef51a..a7a9467 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sa.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sa.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0902      ; [.25CE.0020.0002][.FFF1.0000.0000] # DEVANAGARI SIGN ANUSVARA
 0901      ; [.25CE.0021.0002][.FFF1.0000.0000] # DEVANAGARI SIGN CANDRABINDU
diff --git a/cpan/Unicode-Collate/Collate/Locale/se.pl 
b/cpan/Unicode-Collate/Collate/Locale/se.pl
index d01374f..2ac1104 100644
--- a/cpan/Unicode-Collate/Collate/Locale/se.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/se.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # eng, g-stroke, t-stroke don't require tailoring
    entry => <<'ENTRY', # for DUCET v8.0.0
 00E1      ; [.1BDA.0020.0002] # LATIN SMALL LETTER A WITH ACUTE
diff --git a/cpan/Unicode-Collate/Collate/Locale/si.pl 
b/cpan/Unicode-Collate/Collate/Locale/si.pl
index 39877e0..a2bb148 100644
--- a/cpan/Unicode-Collate/Collate/Locale/si.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/si.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0D82      ; [.2853.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
 0D83      ; [.2853.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
diff --git a/cpan/Unicode-Collate/Collate/Locale/si_dict.pl 
b/cpan/Unicode-Collate/Collate/Locale/si_dict.pl
index 9be2be9..6e75e03 100644
--- a/cpan/Unicode-Collate/Collate/Locale/si_dict.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/si_dict.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0D82      ; [.2853.0020.0002][.FFF1.0000.0000] # SINHALA SIGN ANUSVARAYA
 0D83      ; [.2853.0020.0002][.FFF2.0000.0000] # SINHALA SIGN VISARGAYA
diff --git a/cpan/Unicode-Collate/Collate/Locale/sk.pl 
b/cpan/Unicode-Collate/Collate/Locale/sk.pl
index 953f38c..50092f6 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sk.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00E4      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
 0061 0308 ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH DIAERESIS
diff --git a/cpan/Unicode-Collate/Collate/Locale/sl.pl 
b/cpan/Unicode-Collate/Collate/Locale/sl.pl
index d3b3b43..03908ef 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sl.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 010D      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
 0063 030C ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CARON
diff --git a/cpan/Unicode-Collate/Collate/Locale/sq.pl 
b/cpan/Unicode-Collate/Collate/Locale/sq.pl
index 329ad37..0d81338 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sq.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sq.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00E7      ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
 0063 0327 ; [.1C09.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
diff --git a/cpan/Unicode-Collate/Collate/Locale/sr.pl 
b/cpan/Unicode-Collate/Collate/Locale/sr.pl
index 301d4f5..4988fc1 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sr.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sr.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    suppress => [0x0418, 0x0438],
    entry => <<'ENTRY', # for DUCET v8.0.0
 0439      ; [.1FFB.0020.0002][.0000.0026.0002] # CYRILLIC SMALL LETTER SHORT I
diff --git a/cpan/Unicode-Collate/Collate/Locale/sv.pl 
b/cpan/Unicode-Collate/Collate/Locale/sv.pl
index 479c8a7..deb511f 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sv.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sv.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
 0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl 
b/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
index c04279e..87d57aa 100644
--- a/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/sv_refo.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0111      ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
 0064 0335 ; [.1C0A.0021.0002] # LATIN SMALL LETTER D WITH STROKE
diff --git a/cpan/Unicode-Collate/Collate/Locale/ta.pl 
b/cpan/Unicode-Collate/Collate/Locale/ta.pl
index f09052c..3844536 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ta.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ta.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0B82      ; [.2741.0020.0002][.FFF0.0000.0000] # TAMIL SIGN ANUSVARA
 0B83      ; [.2741.0020.0002][.FFF1.0000.0000] # TAMIL SIGN VISARGA
diff --git a/cpan/Unicode-Collate/Collate/Locale/te.pl 
b/cpan/Unicode-Collate/Collate/Locale/te.pl
index 3bb2370..1b69f9c 100644
--- a/cpan/Unicode-Collate/Collate/Locale/te.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/te.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0C01      ; [.2775.0020.0002][.FFF1.0000.0000] # TELUGU SIGN CANDRABINDU
 0C02      ; [.2775.0020.0002][.FFF2.0000.0000] # TELUGU SIGN ANUSVARA
diff --git a/cpan/Unicode-Collate/Collate/Locale/th.pl 
b/cpan/Unicode-Collate/Collate/Locale/th.pl
index 5ba1ba6..bcbd15d 100644
--- a/cpan/Unicode-Collate/Collate/Locale/th.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/th.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    variable => 'shifted',
    alternate => 'shifted',
    entry => <<'ENTRY', # for DUCET v8.0.0
diff --git a/cpan/Unicode-Collate/Collate/Locale/tn.pl 
b/cpan/Unicode-Collate/Collate/Locale/tn.pl
index f9917bd..855a5fe 100644
--- a/cpan/Unicode-Collate/Collate/Locale/tn.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/tn.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00EA      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
 0065 0302 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH CIRCUMFLEX
diff --git a/cpan/Unicode-Collate/Collate/Locale/to.pl 
b/cpan/Unicode-Collate/Collate/Locale/to.pl
index b630a52..f040a66 100644
--- a/cpan/Unicode-Collate/Collate/Locale/to.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/to.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 006E 0067 ; [.1D35.0020.0002] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
 004E 0067 ; [.1D35.0020.0007] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
diff --git a/cpan/Unicode-Collate/Collate/Locale/tr.pl 
b/cpan/Unicode-Collate/Collate/Locale/tr.pl
index 077e8ae..c95bb6b 100644
--- a/cpan/Unicode-Collate/Collate/Locale/tr.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/tr.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 00E7      ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
 0063 0327 ; [.1BF6.0020.0002] # LATIN SMALL LETTER C WITH CEDILLA
diff --git a/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl 
b/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
index 4e8c7c4..27f372e 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ug_cyrl.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 04D9      ; [.1FD6.0020.0002] # CYRILLIC SMALL LETTER SCHWA
 04D8      ; [.1FD6.0020.0008] # CYRILLIC CAPITAL LETTER SCHWA
diff --git a/cpan/Unicode-Collate/Collate/Locale/uk.pl 
b/cpan/Unicode-Collate/Collate/Locale/uk.pl
index ad96930..20822b2 100644
--- a/cpan/Unicode-Collate/Collate/Locale/uk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/uk.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0491      ; [.1FB2.0020.0002] # CYRILLIC SMALL LETTER GHE WITH UPTURN
 0490      ; [.1FB2.0020.0008] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
diff --git a/cpan/Unicode-Collate/Collate/Locale/ur.pl 
b/cpan/Unicode-Collate/Collate/Locale/ur.pl
index 2bbdedb..4eb0f65 100644
--- a/cpan/Unicode-Collate/Collate/Locale/ur.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/ur.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0623      ; [.2286.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
 0627 0654 ; [.2286.0021.0002] # ARABIC LETTER ALEF WITH HAMZA ABOVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/vi.pl 
b/cpan/Unicode-Collate/Collate/Locale/vi.pl
index 1551ded..1c9f1e1 100644
--- a/cpan/Unicode-Collate/Collate/Locale/vi.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/vi.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # 0306 is not a Vietnamese tone, just to avoid \x{306} eq. to something.
    entry => <<'ENTRY', # for DUCET v8.0.0
 0309      ; [.0000.0026.0002][.0000.00F0.0000] # COMBINING HOOK ABOVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/wae.pl 
b/cpan/Unicode-Collate/Collate/Locale/wae.pl
index 7d77a5b..e606def 100644
--- a/cpan/Unicode-Collate/Collate/Locale/wae.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/wae.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0061 0061 ; [.1BC2.0020.0002][.0000.0024.0002] # <LATIN SMALL LETTER A, LATIN 
SMALL LETTER A>
 00E4 00E4 ; [.1BC2.0020.0002][.0000.002D.0002] # <LATIN SMALL LETTER A WITH 
DIAERESIS, LATIN SMALL LETTER A WITH DIAERESIS>
diff --git a/cpan/Unicode-Collate/Collate/Locale/wo.pl 
b/cpan/Unicode-Collate/Collate/Locale/wo.pl
index 01e90c2..dbdc2d9 100644
--- a/cpan/Unicode-Collate/Collate/Locale/wo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/wo.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
 # eng doesn't require tailoring
    entry => <<'ENTRY', # for DUCET v8.0.0
 00E0      ; [.1BC3.0020.0002] # LATIN SMALL LETTER A WITH GRAVE
diff --git a/cpan/Unicode-Collate/Collate/Locale/yo.pl 
b/cpan/Unicode-Collate/Collate/Locale/yo.pl
index 66dc25e..8521b18 100644
--- a/cpan/Unicode-Collate/Collate/Locale/yo.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/yo.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 1EB9      ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
 0065 0323 ; [.1C26.0020.0002] # LATIN SMALL LETTER E WITH DOT BELOW
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh.pl 
b/cpan/Unicode-Collate/Collate/Locale/zh.pl
index 3cf32f8..393cc47 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh.pl
@@ -1,5 +1,5 @@
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
 0061 0304 ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl 
b/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
index 0d3e34b..45cfe48 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
@@ -1,6 +1,6 @@
 use Unicode::Collate::CJK::Big5;
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl 
b/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
index c8998b1..e0febbe 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
@@ -1,6 +1,6 @@
 use Unicode::Collate::CJK::GB2312;
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl 
b/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
index 9ead52d..05e02fb 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
@@ -1,6 +1,6 @@
 use Unicode::Collate::CJK::Pinyin;
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl 
b/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
index 2dc0311..bb0abfd 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
@@ -1,6 +1,6 @@
 use Unicode::Collate::CJK::Stroke;
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
    entry => <<'ENTRY', # for DUCET v8.0.0
 0101      ; [.1BC2.001C.0002] # LATIN SMALL LETTER A WITH MACRON
diff --git a/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl 
b/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
index 0c9da33..3061df2 100644
--- a/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
+++ b/cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
@@ -1,6 +1,6 @@
 use Unicode::Collate::CJK::Zhuyin;
 +{
-   locale_version => 1.17,
+   locale_version => 1.18,
    overrideCJK => \&Unicode::Collate::CJK::Zhuyin::weightZhuyin,
    entry => <<'ENTRY', # for DUCET v8.0.0
 02C9      ; [.0000.0199.0002] # MODIFIER LETTER MACRON
diff --git a/cpan/Unicode-Collate/t/loc_as.t b/cpan/Unicode-Collate/t/loc_as.t
index 2d28f90..cbc87e4 100644
--- a/cpan/Unicode-Collate/t/loc_as.t
+++ b/cpan/Unicode-Collate/t/loc_as.t
@@ -16,7 +16,7 @@ BEGIN {
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..24\n"; }
+BEGIN { $| = 1; print "1..29\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -42,8 +42,7 @@ $objAs->change(level => 1);
 
 for my $h (0, 1) {
     no warnings 'utf8';
-    my $t = $h ? pack('U', 0xFFFF) : "";
-    $objAs->change(highestFFFF => 1) if $h;
+    my $t = $h ? pack('U', 0xFFFF) : 'z';
 
     ok($objAs->lt("\x{993}$t", "\x{994}"));
     ok($objAs->lt("\x{994}$t", "\x{982}"));
@@ -55,7 +54,18 @@ for my $h (0, 1) {
     ok($objAs->lt("\x{9A3}$t", "\x{9A4}\x{9CD}\x{200D}"));
     ok($objAs->lt("\x{9A4}\x{9CD}\x{200D}$t", "\x{9A4}"));
 
+    ok($objAs->lt("\x{9A3}$t", "\x{9CE}"));
+    ok($objAs->lt("\x{9CE}$t", "\x{9A4}"));
+
     ok($objAs->lt("\x{9B8}$t", "\x{9B9}"));
     ok($objAs->lt("\x{9B9}$t", "\x{995}\x{9CD}\x{9B7}"));
     ok($objAs->lt("\x{995}\x{9CD}\x{9B7}$t", "\x{9BD}"));
 }
+
+# 28
+
+$objAs->change(level => 3);
+
+ok($objAs->eq("\x{9A4}\x{9CD}\x{200D}", "\x{9CE}"));
+
+# 29
diff --git a/cpan/Unicode-Collate/t/loc_bn.t b/cpan/Unicode-Collate/t/loc_bn.t
index 385cf5b..2fe96dd 100644
--- a/cpan/Unicode-Collate/t/loc_bn.t
+++ b/cpan/Unicode-Collate/t/loc_bn.t
@@ -42,8 +42,7 @@ $objBn->change(level => 1);
 
 for my $h (0, 1) {
     no warnings 'utf8';
-    my $t = $h ? pack('U', 0xFFFF) : "";
-    $objBn->change(highestFFFF => 1) if $h;
+    my $t = $h ? pack('U', 0xFFFF) : 'z';
 
     ok($objBn->lt("\x{993}$t", "\x{994}"));
     ok($objBn->lt("\x{994}$t", "\x{982}"));
@@ -51,3 +50,5 @@ for my $h (0, 1) {
     ok($objBn->lt("\x{983}$t", "\x{981}"));
     ok($objBn->lt("\x{981}$t", "\x{995}"));
 }
+
+# 12
diff --git a/cpan/Unicode-Collate/t/loc_ca.t b/cpan/Unicode-Collate/t/loc_ca.t
index 80923ff..0e756bf 100644
--- a/cpan/Unicode-Collate/t/loc_ca.t
+++ b/cpan/Unicode-Collate/t/loc_ca.t
@@ -16,7 +16,7 @@ BEGIN {
 
 use strict;
 use warnings;
-BEGIN { $| = 1; print "1..41\n"; }
+BEGIN { $| = 1; print "1..54\n"; }
 my $count = 0;
 sub ok ($;$) {
     my $p = my $r = shift;
@@ -55,9 +55,9 @@ ok($objCa->eq("a\x{300}a", "aa\x{300}"));
 
 $objCa->change(level => 2);
 
-ok($objCa->lt("a\x{300}a", "aa\x{300}"));
-ok($objCa->gt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
-ok($objCa->gt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
+ok($objCa->gt("a\x{300}a", "aa\x{300}"));
+ok($objCa->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
+ok($objCa->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
 
 # 12
 
@@ -97,10 +97,29 @@ ok($objCa->lt("LL", "L${dot}L"));
 
 # 38
 
-$objCa->change(backwards => undef, level => 2);
+$objCa->change(upper_before_lower => 1);
 
-ok($objCa->gt("a\x{300}a", "aa\x{300}"));
-ok($objCa->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
-ok($objCa->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
+ok($objCa->gt("ch", "cH"));
+ok($objCa->gt("cH", "Ch"));
+ok($objCa->gt("Ch", "CH"));
+
+ok($objCa->gt("ll", "lL"));
+ok($objCa->gt("lL", "Ll"));
+ok($objCa->gt("Ll", "LL"));
+ok($objCa->lt("ll", "l${dot}l"));
+ok($objCa->lt("lL", "l${dot}l"));
+ok($objCa->lt("lL", "l${dot}L"));
+ok($objCa->lt("Ll", "l${dot}L"));
+ok($objCa->lt("Ll", "L${dot}l"));
+ok($objCa->lt("LL", "L${dot}l"));
+ok($objCa->lt("LL", "L${dot}L"));
+
+# 51
+
+$objCa->change(backwards => 2, level => 2);
+
+ok($objCa->lt("a\x{300}a", "aa\x{300}"));
+ok($objCa->gt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
+ok($objCa->gt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
 
-# 41
+# 54
diff --git a/cpan/Unicode-Collate/t/loc_cyrl.t 
b/cpan/Unicode-Collate/t/loc_cyrl.t
index 7366ed0..deff690 100644
--- a/cpan/Unicode-Collate/t/loc_cyrl.t
+++ b/cpan/Unicode-Collate/t/loc_cyrl.t
@@ -45,111 +45,111 @@ ok($objNoSuppress->gt("\x{419}", "\x{418}")); # not 
suppressed
 
 # 4
 
-ok($objNoSuppress->eq("\x{4D1}", "\x{430}")); # not contraction
-ok($objNoSuppress->eq("\x{4D0}", "\x{410}")); # not contraction
-ok($objNoSuppress->eq("\x{4D3}", "\x{430}")); # not contraction
-ok($objNoSuppress->eq("\x{4D2}", "\x{410}")); # not contraction
-ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}")); # not contraction
-ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}")); # not contraction
-ok($objNoSuppress->eq("\x{453}", "\x{433}")); # not contraction
-ok($objNoSuppress->eq("\x{403}", "\x{413}")); # not contraction
-ok($objNoSuppress->eq("\x{450}", "\x{435}")); # not contraction
-ok($objNoSuppress->eq("\x{400}", "\x{415}")); # not contraction
-ok($objNoSuppress->eq("\x{4D7}", "\x{435}")); # not contraction
-ok($objNoSuppress->eq("\x{4D6}", "\x{415}")); # not contraction
-ok($objNoSuppress->eq("\x{451}", "\x{435}")); # not contraction
-ok($objNoSuppress->eq("\x{401}", "\x{415}")); # not contraction
-ok($objNoSuppress->eq("\x{4C2}", "\x{436}")); # not contraction
-ok($objNoSuppress->eq("\x{4C1}", "\x{416}")); # not contraction
-ok($objNoSuppress->eq("\x{4DD}", "\x{436}")); # not contraction
-ok($objNoSuppress->eq("\x{4DC}", "\x{416}")); # not contraction
-ok($objNoSuppress->eq("\x{4DF}", "\x{437}")); # not contraction
-ok($objNoSuppress->eq("\x{4DE}", "\x{417}")); # not contraction
-ok($objNoSuppress->eq("\x{45D}", "\x{438}")); # not contraction
-ok($objNoSuppress->eq("\x{40D}", "\x{418}")); # not contraction
-ok($objNoSuppress->eq("\x{4E5}", "\x{438}")); # not contraction
-ok($objNoSuppress->eq("\x{4E4}", "\x{418}")); # not contraction
-ok($objNoSuppress->eq("\x{4E3}", "\x{438}")); # not contraction
-ok($objNoSuppress->eq("\x{4E2}", "\x{418}")); # not contraction
-ok($objNoSuppress->eq("\x{457}", "\x{456}")); # not contraction
-ok($objNoSuppress->eq("\x{407}", "\x{406}")); # not contraction
-ok($objNoSuppress->eq("\x{45C}", "\x{43A}")); # not contraction
-ok($objNoSuppress->eq("\x{40C}", "\x{41A}")); # not contraction
-ok($objNoSuppress->eq("\x{4E7}", "\x{43E}")); # not contraction
-ok($objNoSuppress->eq("\x{4E6}", "\x{41E}")); # not contraction
-ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}")); # not contraction
-ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}")); # not contraction
-ok($objNoSuppress->eq("\x{45E}", "\x{443}")); # not contraction
-ok($objNoSuppress->eq("\x{40E}", "\x{423}")); # not contraction
-ok($objNoSuppress->eq("\x{4F1}", "\x{443}")); # not contraction
-ok($objNoSuppress->eq("\x{4F0}", "\x{423}")); # not contraction
-ok($objNoSuppress->eq("\x{4F3}", "\x{443}")); # not contraction
-ok($objNoSuppress->eq("\x{4F2}", "\x{423}")); # not contraction
-ok($objNoSuppress->eq("\x{4EF}", "\x{443}")); # not contraction
-ok($objNoSuppress->eq("\x{4EE}", "\x{423}")); # not contraction
-ok($objNoSuppress->eq("\x{4F5}", "\x{447}")); # not contraction
-ok($objNoSuppress->eq("\x{4F4}", "\x{427}")); # not contraction
-ok($objNoSuppress->eq("\x{4F9}", "\x{44B}")); # not contraction
-ok($objNoSuppress->eq("\x{4F8}", "\x{42B}")); # not contraction
-ok($objNoSuppress->eq("\x{4ED}", "\x{44D}")); # not contraction
-ok($objNoSuppress->eq("\x{4EC}", "\x{42D}")); # not contraction
-ok($objNoSuppress->eq("\x{477}", "\x{475}")); # not contraction
-ok($objNoSuppress->eq("\x{476}", "\x{474}")); # not contraction
+ok($objNoSuppress->eq("\x{4D1}", "\x{430}"));
+ok($objNoSuppress->eq("\x{4D0}", "\x{410}"));
+ok($objNoSuppress->eq("\x{4D3}", "\x{430}"));
+ok($objNoSuppress->eq("\x{4D2}", "\x{410}"));
+ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}"));
+ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}"));
+ok($objNoSuppress->eq("\x{453}", "\x{433}"));
+ok($objNoSuppress->eq("\x{403}", "\x{413}"));
+ok($objNoSuppress->eq("\x{450}", "\x{435}"));
+ok($objNoSuppress->eq("\x{400}", "\x{415}"));
+ok($objNoSuppress->eq("\x{4D7}", "\x{435}"));
+ok($objNoSuppress->eq("\x{4D6}", "\x{415}"));
+ok($objNoSuppress->eq("\x{451}", "\x{435}"));
+ok($objNoSuppress->eq("\x{401}", "\x{415}"));
+ok($objNoSuppress->eq("\x{4C2}", "\x{436}"));
+ok($objNoSuppress->eq("\x{4C1}", "\x{416}"));
+ok($objNoSuppress->eq("\x{4DD}", "\x{436}"));
+ok($objNoSuppress->eq("\x{4DC}", "\x{416}"));
+ok($objNoSuppress->eq("\x{4DF}", "\x{437}"));
+ok($objNoSuppress->eq("\x{4DE}", "\x{417}"));
+ok($objNoSuppress->eq("\x{45D}", "\x{438}"));
+ok($objNoSuppress->eq("\x{40D}", "\x{418}"));
+ok($objNoSuppress->eq("\x{4E5}", "\x{438}"));
+ok($objNoSuppress->eq("\x{4E4}", "\x{418}"));
+ok($objNoSuppress->eq("\x{4E3}", "\x{438}"));
+ok($objNoSuppress->eq("\x{4E2}", "\x{418}"));
+ok($objNoSuppress->eq("\x{457}", "\x{456}"));
+ok($objNoSuppress->eq("\x{407}", "\x{406}"));
+ok($objNoSuppress->eq("\x{45C}", "\x{43A}"));
+ok($objNoSuppress->eq("\x{40C}", "\x{41A}"));
+ok($objNoSuppress->eq("\x{4E7}", "\x{43E}"));
+ok($objNoSuppress->eq("\x{4E6}", "\x{41E}"));
+ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}"));
+ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}"));
+ok($objNoSuppress->eq("\x{45E}", "\x{443}"));
+ok($objNoSuppress->eq("\x{40E}", "\x{423}"));
+ok($objNoSuppress->eq("\x{4F1}", "\x{443}"));
+ok($objNoSuppress->eq("\x{4F0}", "\x{423}"));
+ok($objNoSuppress->eq("\x{4F3}", "\x{443}"));
+ok($objNoSuppress->eq("\x{4F2}", "\x{423}"));
+ok($objNoSuppress->eq("\x{4EF}", "\x{443}"));
+ok($objNoSuppress->eq("\x{4EE}", "\x{423}"));
+ok($objNoSuppress->eq("\x{4F5}", "\x{447}"));
+ok($objNoSuppress->eq("\x{4F4}", "\x{427}"));
+ok($objNoSuppress->eq("\x{4F9}", "\x{44B}"));
+ok($objNoSuppress->eq("\x{4F8}", "\x{42B}"));
+ok($objNoSuppress->eq("\x{4ED}", "\x{44D}"));
+ok($objNoSuppress->eq("\x{4EC}", "\x{42D}"));
+ok($objNoSuppress->eq("\x{477}", "\x{475}"));
+ok($objNoSuppress->eq("\x{476}", "\x{474}"));
 
 # 54
 
 $objNoSuppress->change(level => 2);
 
-ok($objNoSuppress->gt("\x{4D1}", "\x{430}")); # not contraction
-ok($objNoSuppress->gt("\x{4D0}", "\x{410}")); # not contraction
-ok($objNoSuppress->gt("\x{4D3}", "\x{430}")); # not contraction
-ok($objNoSuppress->gt("\x{4D2}", "\x{410}")); # not contraction
-ok($objNoSuppress->gt("\x{4DB}", "\x{4D9}")); # not contraction
-ok($objNoSuppress->gt("\x{4DA}", "\x{4D8}")); # not contraction
-ok($objNoSuppress->gt("\x{453}", "\x{433}")); # not contraction
-ok($objNoSuppress->gt("\x{403}", "\x{413}")); # not contraction
-ok($objNoSuppress->gt("\x{450}", "\x{435}")); # not contraction
-ok($objNoSuppress->gt("\x{400}", "\x{415}")); # not contraction
-ok($objNoSuppress->gt("\x{4D7}", "\x{435}")); # not contraction
-ok($objNoSuppress->gt("\x{4D6}", "\x{415}")); # not contraction
-ok($objNoSuppress->gt("\x{451}", "\x{435}")); # not contraction
-ok($objNoSuppress->gt("\x{401}", "\x{415}")); # not contraction
-ok($objNoSuppress->gt("\x{4C2}", "\x{436}")); # not contraction
-ok($objNoSuppress->gt("\x{4C1}", "\x{416}")); # not contraction
-ok($objNoSuppress->gt("\x{4DD}", "\x{436}")); # not contraction
-ok($objNoSuppress->gt("\x{4DC}", "\x{416}")); # not contraction
-ok($objNoSuppress->gt("\x{4DF}", "\x{437}")); # not contraction
-ok($objNoSuppress->gt("\x{4DE}", "\x{417}")); # not contraction
-ok($objNoSuppress->gt("\x{45D}", "\x{438}")); # not contraction
-ok($objNoSuppress->gt("\x{40D}", "\x{418}")); # not contraction
-ok($objNoSuppress->gt("\x{4E5}", "\x{438}")); # not contraction
-ok($objNoSuppress->gt("\x{4E4}", "\x{418}")); # not contraction
-ok($objNoSuppress->gt("\x{4E3}", "\x{438}")); # not contraction
-ok($objNoSuppress->gt("\x{4E2}", "\x{418}")); # not contraction
-ok($objNoSuppress->gt("\x{457}", "\x{456}")); # not contraction
-ok($objNoSuppress->gt("\x{407}", "\x{406}")); # not contraction
-ok($objNoSuppress->gt("\x{45C}", "\x{43A}")); # not contraction
-ok($objNoSuppress->gt("\x{40C}", "\x{41A}")); # not contraction
-ok($objNoSuppress->gt("\x{4E7}", "\x{43E}")); # not contraction
-ok($objNoSuppress->gt("\x{4E6}", "\x{41E}")); # not contraction
-ok($objNoSuppress->gt("\x{4EB}", "\x{4E9}")); # not contraction
-ok($objNoSuppress->gt("\x{4EA}", "\x{4E8}")); # not contraction
-ok($objNoSuppress->gt("\x{45E}", "\x{443}")); # not contraction
-ok($objNoSuppress->gt("\x{40E}", "\x{423}")); # not contraction
-ok($objNoSuppress->gt("\x{4F1}", "\x{443}")); # not contraction
-ok($objNoSuppress->gt("\x{4F0}", "\x{423}")); # not contraction
-ok($objNoSuppress->gt("\x{4F3}", "\x{443}")); # not contraction
-ok($objNoSuppress->gt("\x{4F2}", "\x{423}")); # not contraction
-ok($objNoSuppress->gt("\x{4EF}", "\x{443}")); # not contraction
-ok($objNoSuppress->gt("\x{4EE}", "\x{423}")); # not contraction
-ok($objNoSuppress->gt("\x{4F5}", "\x{447}")); # not contraction
-ok($objNoSuppress->gt("\x{4F4}", "\x{427}")); # not contraction
-ok($objNoSuppress->gt("\x{4F9}", "\x{44B}")); # not contraction
-ok($objNoSuppress->gt("\x{4F8}", "\x{42B}")); # not contraction
-ok($objNoSuppress->gt("\x{4ED}", "\x{44D}")); # not contraction
-ok($objNoSuppress->gt("\x{4EC}", "\x{42D}")); # not contraction
-ok($objNoSuppress->gt("\x{477}", "\x{475}")); # not contraction
-ok($objNoSuppress->gt("\x{476}", "\x{474}")); # not contraction
+ok($objNoSuppress->gt("\x{4D1}", "\x{430}"));
+ok($objNoSuppress->gt("\x{4D0}", "\x{410}"));
+ok($objNoSuppress->gt("\x{4D3}", "\x{430}"));
+ok($objNoSuppress->gt("\x{4D2}", "\x{410}"));
+ok($objNoSuppress->gt("\x{4DB}", "\x{4D9}"));
+ok($objNoSuppress->gt("\x{4DA}", "\x{4D8}"));
+ok($objNoSuppress->gt("\x{453}", "\x{433}"));
+ok($objNoSuppress->gt("\x{403}", "\x{413}"));
+ok($objNoSuppress->gt("\x{450}", "\x{435}"));
+ok($objNoSuppress->gt("\x{400}", "\x{415}"));
+ok($objNoSuppress->gt("\x{4D7}", "\x{435}"));
+ok($objNoSuppress->gt("\x{4D6}", "\x{415}"));
+ok($objNoSuppress->gt("\x{451}", "\x{435}"));
+ok($objNoSuppress->gt("\x{401}", "\x{415}"));
+ok($objNoSuppress->gt("\x{4C2}", "\x{436}"));
+ok($objNoSuppress->gt("\x{4C1}", "\x{416}"));
+ok($objNoSuppress->gt("\x{4DD}", "\x{436}"));
+ok($objNoSuppress->gt("\x{4DC}", "\x{416}"));
+ok($objNoSuppress->gt("\x{4DF}", "\x{437}"));
+ok($objNoSuppress->gt("\x{4DE}", "\x{417}"));
+ok($objNoSuppress->gt("\x{45D}", "\x{438}"));
+ok($objNoSuppress->gt("\x{40D}", "\x{418}"));
+ok($objNoSuppress->gt("\x{4E5}", "\x{438}"));
+ok($objNoSuppress->gt("\x{4E4}", "\x{418}"));
+ok($objNoSuppress->gt("\x{4E3}", "\x{438}"));
+ok($objNoSuppress->gt("\x{4E2}", "\x{418}"));
+ok($objNoSuppress->gt("\x{457}", "\x{456}"));
+ok($objNoSuppress->gt("\x{407}", "\x{406}"));
+ok($objNoSuppress->gt("\x{45C}", "\x{43A}"));
+ok($objNoSuppress->gt("\x{40C}", "\x{41A}"));
+ok($objNoSuppress->gt("\x{4E7}", "\x{43E}"));
+ok($objNoSuppress->gt("\x{4E6}", "\x{41E}"));
+ok($objNoSuppress->gt("\x{4EB}", "\x{4E9}"));
+ok($objNoSuppress->gt("\x{4EA}", "\x{4E8}"));
+ok($objNoSuppress->gt("\x{45E}", "\x{443}"));
+ok($objNoSuppress->gt("\x{40E}", "\x{423}"));
+ok($objNoSuppress->gt("\x{4F1}", "\x{443}"));
+ok($objNoSuppress->gt("\x{4F0}", "\x{423}"));
+ok($objNoSuppress->gt("\x{4F3}", "\x{443}"));
+ok($objNoSuppress->gt("\x{4F2}", "\x{423}"));
+ok($objNoSuppress->gt("\x{4EF}", "\x{443}"));
+ok($objNoSuppress->gt("\x{4EE}", "\x{423}"));
+ok($objNoSuppress->gt("\x{4F5}", "\x{447}"));
+ok($objNoSuppress->gt("\x{4F4}", "\x{427}"));
+ok($objNoSuppress->gt("\x{4F9}", "\x{44B}"));
+ok($objNoSuppress->gt("\x{4F8}", "\x{42B}"));
+ok($objNoSuppress->gt("\x{4ED}", "\x{44D}"));
+ok($objNoSuppress->gt("\x{4EC}", "\x{42D}"));
+ok($objNoSuppress->gt("\x{477}", "\x{475}"));
+ok($objNoSuppress->gt("\x{476}", "\x{474}"));
 
 # 104
 
@@ -166,56 +166,56 @@ ok($objNoSuppress->gt("\x{419}", "\x{418}\0\x{306}")); # 
not suppressed
 # 108
 
 for my $i ("", "\0") {
-  ok($objNoSuppress->eq("\x{4D1}", "\x{430}$i\x{306}")); # not contraction
-  ok($objNoSuppress->eq("\x{4D0}", "\x{410}$i\x{306}")); # not contraction
-  ok($objNoSuppress->eq("\x{4D3}", "\x{430}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4D2}", "\x{410}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{453}", "\x{433}$i\x{301}")); # not contraction
-  ok($objNoSuppress->eq("\x{403}", "\x{413}$i\x{301}")); # not contraction
-  ok($objNoSuppress->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
-  ok($objNoSuppress->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
-  ok($objNoSuppress->eq("\x{4D7}", "\x{435}$i\x{306}")); # not contraction
-  ok($objNoSuppress->eq("\x{4D6}", "\x{415}$i\x{306}")); # not contraction
-  ok($objNoSuppress->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
-  ok($objNoSuppress->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
-  ok($objNoSuppress->eq("\x{4DD}", "\x{436}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4DC}", "\x{416}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4DF}", "\x{437}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4DE}", "\x{417}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
-  ok($objNoSuppress->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
-  ok($objNoSuppress->eq("\x{4E5}", "\x{438}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4E4}", "\x{418}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
-  ok($objNoSuppress->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
-  ok($objNoSuppress->eq("\x{457}", "\x{456}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{407}", "\x{406}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{45C}", "\x{43A}$i\x{301}")); # not contraction
-  ok($objNoSuppress->eq("\x{40C}", "\x{41A}$i\x{301}")); # not contraction
-  ok($objNoSuppress->eq("\x{4E7}", "\x{43E}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4E6}", "\x{41E}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{45E}", "\x{443}$i\x{306}")); # not contraction
-  ok($objNoSuppress->eq("\x{40E}", "\x{423}$i\x{306}")); # not contraction
-  ok($objNoSuppress->eq("\x{4F1}", "\x{443}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4F0}", "\x{423}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4F3}", "\x{443}$i\x{30B}")); # not contraction
-  ok($objNoSuppress->eq("\x{4F2}", "\x{423}$i\x{30B}")); # not contraction
-  ok($objNoSuppress->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
-  ok($objNoSuppress->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
-  ok($objNoSuppress->eq("\x{4F5}", "\x{447}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4F4}", "\x{427}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4F9}", "\x{44B}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4F8}", "\x{42B}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4ED}", "\x{44D}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{4EC}", "\x{42D}$i\x{308}")); # not contraction
-  ok($objNoSuppress->eq("\x{477}", "\x{475}$i\x{30F}")); # not contraction
-  ok($objNoSuppress->eq("\x{476}", "\x{474}$i\x{30F}")); # not contraction
+  ok($objNoSuppress->eq("\x{4D1}", "\x{430}$i\x{306}"));
+  ok($objNoSuppress->eq("\x{4D0}", "\x{410}$i\x{306}"));
+  ok($objNoSuppress->eq("\x{4D3}", "\x{430}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4D2}", "\x{410}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{453}", "\x{433}$i\x{301}"));
+  ok($objNoSuppress->eq("\x{403}", "\x{413}$i\x{301}"));
+  ok($objNoSuppress->eq("\x{450}", "\x{435}$i\x{300}"));
+  ok($objNoSuppress->eq("\x{400}", "\x{415}$i\x{300}"));
+  ok($objNoSuppress->eq("\x{4D7}", "\x{435}$i\x{306}"));
+  ok($objNoSuppress->eq("\x{4D6}", "\x{415}$i\x{306}"));
+  ok($objNoSuppress->eq("\x{451}", "\x{435}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{401}", "\x{415}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4C2}", "\x{436}$i\x{306}"));
+  ok($objNoSuppress->eq("\x{4C1}", "\x{416}$i\x{306}"));
+  ok($objNoSuppress->eq("\x{4DD}", "\x{436}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4DC}", "\x{416}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4DF}", "\x{437}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4DE}", "\x{417}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{45D}", "\x{438}$i\x{300}"));
+  ok($objNoSuppress->eq("\x{40D}", "\x{418}$i\x{300}"));
+  ok($objNoSuppress->eq("\x{4E5}", "\x{438}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4E4}", "\x{418}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4E3}", "\x{438}$i\x{304}"));
+  ok($objNoSuppress->eq("\x{4E2}", "\x{418}$i\x{304}"));
+  ok($objNoSuppress->eq("\x{457}", "\x{456}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{407}", "\x{406}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{45C}", "\x{43A}$i\x{301}"));
+  ok($objNoSuppress->eq("\x{40C}", "\x{41A}$i\x{301}"));
+  ok($objNoSuppress->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{45E}", "\x{443}$i\x{306}"));
+  ok($objNoSuppress->eq("\x{40E}", "\x{423}$i\x{306}"));
+  ok($objNoSuppress->eq("\x{4F1}", "\x{443}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4F0}", "\x{423}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+  ok($objNoSuppress->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+  ok($objNoSuppress->eq("\x{4EF}", "\x{443}$i\x{304}"));
+  ok($objNoSuppress->eq("\x{4EE}", "\x{423}$i\x{304}"));
+  ok($objNoSuppress->eq("\x{4F5}", "\x{447}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4F4}", "\x{427}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+  ok($objNoSuppress->eq("\x{477}", "\x{475}$i\x{30F}"));
+  ok($objNoSuppress->eq("\x{476}", "\x{474}$i\x{30F}"));
 }
 
 # 208
diff --git a/cpan/Unicode-Collate/t/loc_deat.t 
b/cpan/Unicode-Collate/t/loc_deat.t
new file mode 100644
index 0000000..6a97c6a
--- /dev/null
+++ b/cpan/Unicode-Collate/t/loc_deat.t
@@ -0,0 +1,131 @@
+
+BEGIN {
+    unless ('A' eq pack('U', 0x41)) {
+       print "1..0 # Unicode::Collate cannot pack a Unicode code point\n";
+       exit 0;
+    }
+    unless (0x41 == unpack('U', 'A')) {
+       print "1..0 # Unicode::Collate cannot get a Unicode code point\n";
+       exit 0;
+    }
+    if ($ENV{PERL_CORE}) {
+       chdir('t') if -d 't';
+       @INC = $^O eq 'MacOS' ? qw(::lib) : qw(../lib);
+    }
+}
+
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..46\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+       my $x = shift;
+       $p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
+use Unicode::Collate::Locale;
+
+ok(1);
+
+#########################
+
+my $auml = pack 'U', 0xE4;
+my $Auml = pack 'U', 0xC4;
+my $ouml = pack 'U', 0xF6;
+my $Ouml = pack 'U', 0xD6;
+my $uuml = pack 'U', 0xFC;
+my $Uuml = pack 'U', 0xDC;
+my $eses = pack 'U', 0xDF;
+my $Eses = pack 'U', 0x1E9E;
+
+my $objDeAtPhone = Unicode::Collate::Locale->
+    new(locale => 'DE_AT_phonebook', normalization => undef);
+
+ok($objDeAtPhone->getlocale, 'de_AT_phonebook');
+
+$objDeAtPhone->change(level => 1);
+
+ok($objDeAtPhone->gt($auml, 'az'));
+ok($objDeAtPhone->lt($auml, 'b'));
+ok($objDeAtPhone->gt($ouml, 'oz'));
+ok($objDeAtPhone->lt($ouml, 'p'));
+ok($objDeAtPhone->gt($uuml, 'uz'));
+ok($objDeAtPhone->lt($uuml, 'v'));
+ok($objDeAtPhone->gt($eses, 'ssz'));
**** PATCH TRUNCATED AT 2000 LINES -- 519 NOT SHOWN ****

--
Perl5 Master Repository

Reply via email to