2008-04-15  Ulrich Drepper  <drepper@redhat.com>
	[BZ #5209]
	* sysdeps/unix/sysv/linux/times.c: New file.

	[BZ #5381]
	* nscd/nscd.h: Define enum in_flight, mem_in_flight, and
	mem_in_flight_list variables.  Add new parameter to mempool_alloc
	prototype.
	* nscd/mem.c (mempool_alloc): Take additional parameter.  Initialize
	appropriate mem_in_flight element.
	(gc): Take allocations which have not yet been committed to the
	database into account.
	* nscd/cache.c (cache_add): Add new parameter to mempool_alloc call.
	Reset mem_in_flight before returning.
	* nscd/connections.c (nscd_run_worker): Initialize mem_in_flight and
	cue it up in mem_in_flight_list.
	* nscd/aicache.c: Adjust mempool_alloc call.
	* nscd/grpcache.c: Likewise.
	* nscd/hstcache.c: Likewise.
	* nscd/initgrcache.c: Likewise.
	* nscd/pwdcache.c: Likewise.
	* nscd/servicescache.c: Likewise.
	* nscd/Makefile (nscd-flags): Until ld is fixed, use -fpic instead
	of -fpie.

	* nscd/connections.c (handle_request): Provide better error message
	in case SELinux forbids the service.

	* version.h (VERSION): Bump to 2.8.90.
This commit is contained in:
Ulrich Drepper 2008-04-19 16:42:41 +00:00
parent 87a71b8d67
commit c52137d391
15 changed files with 523 additions and 252 deletions

View file

@ -1,3 +1,34 @@
2008-04-15 Ulrich Drepper <drepper@redhat.com>
[BZ #5209]
* sysdeps/unix/sysv/linux/times.c: New file.
[BZ #5381]
* nscd/nscd.h: Define enum in_flight, mem_in_flight, and
mem_in_flight_list variables. Add new parameter to mempool_alloc
prototype.
* nscd/mem.c (mempool_alloc): Take additional parameter. Initialize
appropriate mem_in_flight element.
(gc): Take allocations which have not yet been committed to the
database into account.
* nscd/cache.c (cache_add): Add new parameter to mempool_alloc call.
Reset mem_in_flight before returning.
* nscd/connections.c (nscd_run_worker): Initialize mem_in_flight and
cue it up in mem_in_flight_list.
* nscd/aicache.c: Adjust mempool_alloc call.
* nscd/grpcache.c: Likewise.
* nscd/hstcache.c: Likewise.
* nscd/initgrcache.c: Likewise.
* nscd/pwdcache.c: Likewise.
* nscd/servicescache.c: Likewise.
* nscd/Makefile (nscd-flags): Until ld is fixed, use -fpic instead
of -fpie.
* nscd/connections.c (handle_request): Provide better error message
in case SELinux forbids the service.
* version.h (VERSION): Bump to 2.8.90.
2008-04-17 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/dl-osinfo.h: Include fcntl.h.

View file

@ -1,3 +1,8 @@
2008-04-15 Ulrich Drepper <drepper@redhat.com>
* charmaps/UTF-8: Update for Unicode v5.1.
* locales/i18n: Update for Unicode 5.
2008-04-09 Ulrich Drepper <drepper@redhat.com>
* tst-langinfo.sh: Adjust for latest fr_FR locale changes.

View file

@ -899,7 +899,6 @@ CHARMAP
<U037C> /xcd/xbc GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
<U037D> /xcd/xbd GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
<U037E> /xcd/xbe GREEK QUESTION MARK
<U037F> /xcd/xbf GREEK CAPITAL KAI SYMBOL
<U0384> /xce/x84 GREEK TONOS
<U0385> /xce/x85 GREEK DIALYTIKA TONOS
<U0386> /xce/x86 GREEK CAPITAL LETTER ALPHA WITH TONOS
@ -972,6 +971,7 @@ CHARMAP
<U03CC> /xcf/x8c GREEK SMALL LETTER OMICRON WITH TONOS
<U03CD> /xcf/x8d GREEK SMALL LETTER UPSILON WITH TONOS
<U03CE> /xcf/x8e GREEK SMALL LETTER OMEGA WITH TONOS
<U03CF> /xcf/x8f GREEK CAPITAL KAI SYMBOL
<U03D0> /xcf/x90 GREEK BETA SYMBOL
<U03D1> /xcf/x91 GREEK THETA SYMBOL
<U03D2> /xcf/x92 GREEK UPSILON WITH HOOK SYMBOL
@ -9443,71 +9443,71 @@ CHARMAP
<U2D23> /xe2/xb4/xa3 GEORGIAN SMALL LETTER WE
<U2D24> /xe2/xb4/xa4 GEORGIAN SMALL LETTER HAR
<U2D25> /xe2/xb4/xa5 GEORGIAN SMALL LETTER HOE
<U2D30> /xe2/xb4/xb0 TIFINAGH YA
<U2D31> /xe2/xb4/xb1 LETTRE TIFINAGHE YAB
<U2D32> /xe2/xb4/xb2 LETTRE TIFINAGHE YAB SPIRANT
<U2D33> /xe2/xb4/xb3 LETTRE TIFINAGHE YAG
<U2D34> /xe2/xb4/xb4 LETTRE TIFINAGHE YAG SPIRANT
<U2D35> /xe2/xb4/xb5 LETTRE TIFINAGHE YADJ KABYLE
<U2D36> /xe2/xb4/xb6 LETTRE TIFINAGHE YADJ
<U2D37> /xe2/xb4/xb7 LETTRE TIFINAGHE YAD
<U2D38> /xe2/xb4/xb8 LETTRE TIFINAGHE YAD SPIRANT (yadh)
<U2D39> /xe2/xb4/xb9 LETTRE TIFINAGHE YADD
<U2D3A> /xe2/xb4/xba LETTRE TIFINAGHE YADD SPIRANT
<U2D3B> /xe2/xb4/xbb LETTRE TIFINAGHE YEY
<U2D3C> /xe2/xb4/xbc LETTRE TIFINAGHE YAF
<U2D3D> /xe2/xb4/xbd LETTRE TIFINAGHE YAK
<U2D3E> /xe2/xb4/xbe LETTRE TIFINAGHE YAK TOUAREG
<U2D3F> /xe2/xb4/xbf LETTRE TIFINAGHE YAK SPIRANT
<U2D40> /xe2/xb5/x80 LETTRE TIFINAGHE YAH (yab touareg)
<U2D41> /xe2/xb5/x81 LETTRE TIFINAGHE YAH KABYLE
<U2D42> /xe2/xb5/x82 LETTRE TIFINAGHE YAH TOUAREG
<U2D43> /xe2/xb5/x83 LETTRE TIFINAGHE YAHH
<U2D44> /xe2/xb5/x84 LETTRE TIFINAGHE YA
<U2D45> /xe2/xb5/x85 LETTRE TIFINAGHE YAKH
<U2D46> /xe2/xb5/x86 LETTRE TIFINAGHE YAKH TOUAREG (quatre-points en carré touareg)
<U2D47> /xe2/xb5/x87 LETTRE TIFINAGHE YAQ
<U2D48> /xe2/xb5/x88 LETTRE TIFINAGHE YAQ TOUAREG
<U2D49> /xe2/xb5/x89 LETTRE TIFINAGHE YI
<U2D4A> /xe2/xb5/x8a LETTRE TIFINAGHE YAJ
<U2D4B> /xe2/xb5/x8b LETTRE TIFINAGHE YAJ DE LAHAGGAR
<U2D4C> /xe2/xb5/x8c LETTRE TIFINAGHE YAJ TOUAREG
<U2D4D> /xe2/xb5/x8d LETTRE TIFINAGHE YAL
<U2D4E> /xe2/xb5/x8e LETTRE TIFINAGHE YAM
<U2D4F> /xe2/xb5/x8f LETTRE TIFINAGHE YAN
<U2D50> /xe2/xb5/x90 LETTRE TIFINAGHE YAGN TOUAREG
<U2D51> /xe2/xb5/x91 LETTRE TIFINAGHE YANG TOUAREG
<U2D52> /xe2/xb5/x92 LETTRE TIFINAGHE YAP
<U2D53> /xe2/xb5/x93 LETTRE TIFINAGHE YOU (yaw touareg)
<U2D54> /xe2/xb5/x94 LETTRE TIFINAGHE YAR
<U2D55> /xe2/xb5/x95 LETTRE TIFINAGHE YARR
<U2D56> /xe2/xb5/x96 LETTRE TIFINAGHE YAGH
<U2D57> /xe2/xb5/x97 LETTRE TIFINAGHE YAGH TOUAREG
<U2D58> /xe2/xb5/x98 LETTRE TIFINAGHE YAGH DE LAÏR (yadj de lAdrar, cinq-points en quinconce touareg)
<U2D59> /xe2/xb5/x99 LETTRE TIFINAGHE YAS
<U2D5A> /xe2/xb5/x9a LETTRE TIFINAGHE YASS
<U2D5B> /xe2/xb5/x9b LETTRE TIFINAGHE YACH
<U2D5C> /xe2/xb5/x9c LETTRE TIFINAGHE YAT
<U2D5D> /xe2/xb5/x9d LETTRE TIFINAGHE YAT SPIRANT (yath)
<U2D5E> /xe2/xb5/x9e LETTRE TIFINAGHE YATCH
<U2D5F> /xe2/xb5/x9f LETTRE TIFINAGHE YATT
<U2D60> /xe2/xb5/xa0 LETTRE TIFINAGHE YAV
<U2D61> /xe2/xb5/xa1 LETTRE TIFINAGHE YAW
<U2D62> /xe2/xb5/xa2 LETTRE TIFINAGHE YAY
<U2D63> /xe2/xb5/xa3 LETTRE TIFINAGHE YAZ
<U2D64> /xe2/xb5/xa4 LETTRE TIFINAGHE YAZ TAWELLEMET (yaz harpon)
<U2D65> /xe2/xb5/xa5 LETTRE TIFINAGHE YAZZ
<U2D6F> /xe2/xb5/xaf LETTRE MODIFICATIVE TIFINAGHE DE LABIO-VÉLARISATION (tamatart)
<U2D80> /xe2/xb6/x80 ETHIOPIC SYLLALE LOA
<U2D81> /xe2/xb6/x81 ETHIOPIC SYLLALE MOA
<U2D82> /xe2/xb6/x82 ETHIOPIC SYLLALE ROA
<U2D83> /xe2/xb6/x83 ETHIOPIC SYLLALE SOA
<U2D84> /xe2/xb6/x84 ETHIOPIC SYLLALE SHOA
<U2D85> /xe2/xb6/x85 ETHIOPIC SYLLALE BOA
<U2D86> /xe2/xb6/x86 ETHIOPIC SYLLALE TOA
<U2D87> /xe2/xb6/x87 ETHIOPIC SYLLALE COA
<U2D88> /xe2/xb6/x88 ETHIOPIC SYLLALE NOA
<U2D89> /xe2/xb6/x89 ETHIOPIC SYLLALE NYOA
<U2D30> /xe2/xb4/xb0 TIFINAGH LETTER YA
<U2D31> /xe2/xb4/xb1 TIFINAGH LETTER YAB
<U2D32> /xe2/xb4/xb2 TIFINAGH LETTER YABH
<U2D33> /xe2/xb4/xb3 TIFINAGH LETTER YAG
<U2D34> /xe2/xb4/xb4 TIFINAGH LETTER YAGHH
<U2D35> /xe2/xb4/xb5 TIFINAGH LETTER BERBER ACADEMY YAJ
<U2D36> /xe2/xb4/xb6 TIFINAGH LETTER YAJ
<U2D37> /xe2/xb4/xb7 TIFINAGH LETTER YAD
<U2D38> /xe2/xb4/xb8 TIFINAGH LETTER YADH
<U2D39> /xe2/xb4/xb9 TIFINAGH LETTER YADD
<U2D3A> /xe2/xb4/xba TIFINAGH LETTER YADDH
<U2D3B> /xe2/xb4/xbb TIFINAGH LETTER YEY
<U2D3C> /xe2/xb4/xbc TIFINAGH LETTER YAF
<U2D3D> /xe2/xb4/xbd TIFINAGH LETTER YAK
<U2D3E> /xe2/xb4/xbe TIFINAGH LETTER TUAREG YAK
<U2D3F> /xe2/xb4/xbf TIFINAGH LETTER YAKHH
<U2D40> /xe2/xb5/x80 TIFINAGH LETTER YAH
<U2D41> /xe2/xb5/x81 TIFINAGH LETTER BERBER ACADEMY YAH
<U2D42> /xe2/xb5/x82 TIFINAGH LETTER TUAREG YAH
<U2D43> /xe2/xb5/x83 TIFINAGH LETTER YAHH
<U2D44> /xe2/xb5/x84 TIFINAGH LETTER YAA
<U2D45> /xe2/xb5/x85 TIFINAGH LETTER YAKH
<U2D46> /xe2/xb5/x86 TIFINAGH LETTER TUAREG YAKH
<U2D47> /xe2/xb5/x87 TIFINAGH LETTER YAQ
<U2D48> /xe2/xb5/x88 TIFINAGH LETTER TUAREG YAQ
<U2D49> /xe2/xb5/x89 TIFINAGH LETTER YI
<U2D4A> /xe2/xb5/x8a TIFINAGH LETTER YAZH
<U2D4B> /xe2/xb5/x8b TIFINAGH LETTER AHAGGAR YAZH
<U2D4C> /xe2/xb5/x8c TIFINAGH LETTER TUAREG YAZH
<U2D4D> /xe2/xb5/x8d TIFINAGH LETTER YAL
<U2D4E> /xe2/xb5/x8e TIFINAGH LETTER YAM
<U2D4F> /xe2/xb5/x8f TIFINAGH LETTER YAN
<U2D50> /xe2/xb5/x90 TIFINAGH LETTER TUAREG YAGN
<U2D51> /xe2/xb5/x91 TIFINAGH LETTER TUAREG YANG
<U2D52> /xe2/xb5/x92 TIFINAGH LETTER YAP
<U2D53> /xe2/xb5/x93 TIFINAGH LETTER YU
<U2D54> /xe2/xb5/x94 TIFINAGH LETTER YAR
<U2D55> /xe2/xb5/x95 TIFINAGH LETTER YARR
<U2D56> /xe2/xb5/x96 TIFINAGH LETTER YAGH
<U2D57> /xe2/xb5/x97 TIFINAGH LETTER TUAREG YAGH
<U2D58> /xe2/xb5/x98 TIFINAGH LETTER AYER YAGH
<U2D59> /xe2/xb5/x99 TIFINAGH LETTER YAS
<U2D5A> /xe2/xb5/x9a TIFINAGH LETTER YASS
<U2D5B> /xe2/xb5/x9b TIFINAGH LETTER YASH
<U2D5C> /xe2/xb5/x9c TIFINAGH LETTER YAT
<U2D5D> /xe2/xb5/x9d TIFINAGH LETTER YATH
<U2D5E> /xe2/xb5/x9e TIFINAGH LETTER YACH
<U2D5F> /xe2/xb5/x9f TIFINAGH LETTER YATT
<U2D60> /xe2/xb5/xa0 TIFINAGH LETTER YAV
<U2D61> /xe2/xb5/xa1 TIFINAGH LETTER YAW
<U2D62> /xe2/xb5/xa2 TIFINAGH LETTER YAY
<U2D63> /xe2/xb5/xa3 TIFINAGH LETTER YAZ
<U2D64> /xe2/xb5/xa4 TIFINAGH LETTER TAWELLEMET YAZ
<U2D65> /xe2/xb5/xa5 TIFINAGH LETTER YAZZ
<U2D6F> /xe2/xb5/xaf TIFINAGH MODIFIER LETTER LABIALIZATION MARK
<U2D80> /xe2/xb6/x80 ETHIOPIC SYLLABLE LOA
<U2D81> /xe2/xb6/x81 ETHIOPIC SYLLABLE MOA
<U2D82> /xe2/xb6/x82 ETHIOPIC SYLLABLE ROA
<U2D83> /xe2/xb6/x83 ETHIOPIC SYLLABLE SOA
<U2D84> /xe2/xb6/x84 ETHIOPIC SYLLABLE SHOA
<U2D85> /xe2/xb6/x85 ETHIOPIC SYLLABLE BOA
<U2D86> /xe2/xb6/x86 ETHIOPIC SYLLABLE TOA
<U2D87> /xe2/xb6/x87 ETHIOPIC SYLLABLE COA
<U2D88> /xe2/xb6/x88 ETHIOPIC SYLLABLE NOA
<U2D89> /xe2/xb6/x89 ETHIOPIC SYLLABLE NYOA
<U2D8A> /xe2/xb6/x8a ETHIOPIC SYLLABLE GLOTTAL OA
<U2D8B> /xe2/xb6/x8b ETHIOPIC SYLLABLE ZOA
<U2D8C> /xe2/xb6/x8c ETHIOPIC SYLLABLE DOA
@ -26425,7 +26425,6 @@ CHARMAP
<UFFFC> /xef/xbf/xbc OBJECT REPLACEMENT CHARACTER
<UFFFD> /xef/xbf/xbd REPLACEMENT CHARACTER
<U00010000> /xf0/x90/x80/x80 LINEAR B SYLLABLE B008 A
<U00010000> /xf0/x90/x80/x80 LINEAR B SYLLABLE B008 A
<U00010001> /xf0/x90/x80/x81 LINEAR B SYLLABLE B038 E
<U00010002> /xf0/x90/x80/x82 LINEAR B SYLLABLE B028 I
<U00010003> /xf0/x90/x80/x83 LINEAR B SYLLABLE B061 O

View file

@ -2,20 +2,17 @@ escape_char /
comment_char %
LC_IDENTIFICATION
% This is the ISO/IEC TR 14652 "i18n" definition for
% the LC_IDENTIFICATION category.
%
title "ISO/IEC TR 14652 i18n FDCC-set"
source "ISO/IEC Copyright Office"
address "Case postale 56, CH-1211 Geneve 20, Switzerland"
title ""
source ""
address ""
contact ""
email ""
tel ""
fax ""
language ""
territory "ISO"
revision "1.0"
date "2000-01-24"
territory ""
revision ""
date "2008-04-13"
%
category "i18n:2000";LC_IDENTIFICATION
category "i18n:2000";LC_CTYPE
@ -63,6 +60,7 @@ upper /
<U023A>;<U023B>;<U023D>;<U023E>;/
<U0241>;<U0243>..<U0246>;<U0248>;<U024A>;<U024C>;<U024E>;/
% BASIC GREEK/
<U0370>;<U0372>;<U0376>;/
<U0386>;<U0388>..<U038A>;<U038C>;<U038E>;<U038F>;<U0391>..<U03A1>;/
<U03A3>..<U03AB>;<U03D8>..(2)..<U03DE>;/
% GREEK SYMBOLS AND COPTIC/
@ -73,7 +71,7 @@ upper /
<U0480>;<U048A>..(2)..<U04BE>;<U04C0>;<U04C1>..(2)..<U04CD>;/
<U04D0>..(2)..<U04FE>;/
% CYRILLIC SUPPLEMENT/
<U0500>..(2)..<U0512>;/
<U0500>..(2)..<U0522>;/
% ARMENIAN/
<U0531>..<U0556>;/
% GEORGIAN/
@ -83,8 +81,8 @@ upper /
<U10A0>..<U10C5>;/
% LATIN EXTENDED ADDITIONAL/
<U1E00>..(2)..<U1E7E>;/
<U1E80>..(2)..<U1E94>;/
<U1EA0>..(2)..<U1EF8>;/
<U1E80>..(2)..<U1E94>;<U1E9E>;/
<U1EA0>..(2)..<U1EFE>;/
% GREEK EXTENDED/
<U1F08>..<U1F0F>;<U1F18>..<U1F1D>;<U1F28>..<U1F2F>;<U1F38>..<U1F3F>;/
<U1F48>..<U1F4D>;<U1F59>..(2)..<U1F5F>;<U1F68>..<U1F6F>;/
@ -101,9 +99,15 @@ upper /
% GLAGOLITIC/
<U2C00>..<U2C2E>;/
% LATIN EXTENDED-C/
<U2C60>;<U2C62>..<U2C64>;<U2C67>..(2)..<U2C6B>;<U2C75>;/
<U2C60>;<U2C62>..<U2C64>;<U2C67>..(2)..<U2C6B>;<U2C6D>..<U2C6F>;/
<U2C72>;<U2C75>;<UA78B>;/
% COPTIC/
<U2C80>..(2)..<U2CE2>;/
% CYRILLIC SUPPLEMENT 2/
<UA640>..(2)..<UA65E>;<UA662>..(2)..<UA66C>;<UA680>..(2)..<UA696>;/
% LATIN EXTENDED-D/
<UA722>..(2)..<UA72E>;<UA732>..(2)..<UA76E>;<UA779>..(2)..<UA77D>;/
<UA77E>..(2)..<UA786>;/
% HALFWIDTH AND FULLWIDTH FORMS/
<UFF21>..<UFF3A>;/
% DESERET/
@ -133,6 +137,7 @@ lower /
% COMBINING DIACRITICAL MARKS/
<U0345>;/
% BASIC GREEK/
<U0371>;<U0373>;<U0377>;/
<U037B>..<U037D>;/
<U03AC>..<U03AF>;<U03B1>..<U03CE>;/
% GREEK SYMBOLS AND COPTIC/
@ -142,13 +147,13 @@ lower /
<U0430>..<U045F>;<U0461>..(2)..<U047F>;/
<U0481>;<U048B>..(2)..<U04BF>;<U04C2>..(2)..<U04CE>;/
<U04CF>;/
<U04D1>..(2)..<U0513>;/
<U04D1>..(2)..<U0523>;/
% ARMENIAN/
<U0561>..<U0586>;/
% PHONETIC EXTENSIONS/
<U1D7D>;/
% LATIN EXTENDED ADDITIONAL/
<U1E01>..(2)..<U1E95>;<U1E9B>;<U1EA1>..(2)..<U1EF9>;/
<U1E01>..(2)..<U1E95>;<U1E9B>..<U1E9D>;<U1E9F>;<U1EA1>..(2)..<U1EFF>;/
% GREEK EXTENDED/
<U1F00>..<U1F07>;<U1F10>..<U1F15>;<U1F20>..<U1F27>;<U1F30>..<U1F37>;/
<U1F40>..<U1F45>;<U1F51>..(2)..<U1F57>;<U1F60>..<U1F67>;<U1F70>..<U1F7D>;/
@ -158,19 +163,25 @@ lower /
% LETTERLIKE SYMBOLS/
<U214E>;/
% NUMBER FORMS/
<U2170>..<U217F>;<U2184>;/
<U2170>..<U217F>;<U2188>;/
% ENCLOSED ALPHANUMERICS/
<U24D0>..<U24E9>;/
% GLAGOLITIC/
<U2C30>..<U2C5E>;/
% LATIN EXTENDED-C/
<U2C61>;<U2C65>;<U2C66>..(2)..<U2C6C>;<U2C76>;/
<U2C61>;<U2C65>;<U2C66>..(2)..<U2C6C>;<U2C71>;<U2C73>;<U2C74>;/
<U2C76>..<U2C7A>;/
% COPTIC/
<U2C81>..(2)..<U2CE3>;/
% GEORGIAN SUPPLEMENT/
% well, there are three georgian blocks defined; one caseless (the one usually/
% used), one defined as uppercase and one as lowercase. defining the lowercase one here/
<U2D00>..<U2D25>;/
% CYRILLIC SUPPLEMENT 2/
<UA641>..(2)..<UA65F>;<UA663>..(2)..<UA66D>;<UA681>..(2)..<UA697>;/
% LATIN EXTENDED-D/
<UA723>..(2)..<UA72F>;<UA730>;<UA731>..(2)..<UA76F>;<UA771>..<UA778>;/
<UA77A>..(2)..<UA77C>;<UA77F>..(2)..<UA787>;<UA78C>;/
% HALFWIDTH AND FULLWIDTH FORMS/
<UFF41>..<UFF5A>;/
% DESERET/
@ -196,7 +207,7 @@ alpha /
% COMBINING DIACRITICAL MARKS/
<U0345>;/
% BASIC GREEK/
<U037A>..<U037D>;<U0386>;/
<U0370>..<U0373>;<U0376>..<U0377>;<U037A>..<U037D>;<U0386>;/
<U0388>..<U038A>;<U038C>;<U038E>..<U03A1>;/
<U03A3>..<U03CE>;/
% GREEK SYMBOLS AND COPTIC/
@ -204,18 +215,18 @@ alpha /
% CYRILLIC/
<U0400>..<U0481>;<U048A>..<U04FF>;/
% CYRILLIC SUPPLEMENT/
<U0500>..<U0513>;/
<U0500>..<U0523>;/
% ARMENIAN/
<U0531>..<U0556>;<U0559>;<U0561>..<U0587>;/
% HEBREW/
<U05D0>..<U05EA>;<U05F0>..<U05F2>;/
% ARABIC/
<U0621>..<U063A>;<U0640>..<U064A>;<U066E>..<U066F>;<U0671>..<U06D3>;/
<U0621>..<U064A>;<U066E>..<U066F>;<U0671>..<U06D3>;/
<U06D5>;<U06E5>..<U06E6>;<U06EE>..<U06EF>;<U06FA>..<U06FC>;<U06FF>;/
% SYRIAC/
<U0710>;<U0712>..<U072F>;<U074D>..<U074F>;/
% ARABIC SUPPLEMENT/
<U0750>..<U076D>;/
<U0750>..<U077F>;/
% THAANA/
<U0780>..<U07A5>;<U07B1>;/
% NKO/
@ -238,20 +249,20 @@ alpha /
% ORIYA/
<U0B05>..<U0B0C>;<U0B0F>;<U0B10>;<U0B13>..<U0B28>;<U0B2A>..<U0B30>;/
<U0B32>;<U0B33>;<U0B35>..<U0B39>;<U0B3D>;<U0B5C>;<U0B5D>;/
<U0B5F>..<U0B61>;<U0B71>;/
<U0B5F>..<U0B63>;<U0B71>;/
% TAMIL/
<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;<U0B92>..<U0B95>;<U0B99>;/
<U0B9A>;<U0B9C>;<U0B9E>;<U0B9F>;<U0BA3>;<U0BA4>;<U0BA8>..<U0BAA>;/
<U0BAE>..<U0BB9>;/
% TELUGU/
<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;<U0C2A>..<U0C33>;/
<U0C35>..<U0C39>;<U0C60>..<U0C61>;/
<U0C35>..<U0C39>;<U0C3D>;<U0C58>..<U0C59>;<U0C60>..<U0C63>;/
% KANNADA/
<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;<U0CAA>..<U0CB3>;/
<U0CB5>..<U0CB9>;<U0CDE>;<U0CE0>..<U0CE1>;/
% MALAYALAM/
<U0D05>..<U0D0C>;<U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;/
<U0D60>..<U0D61>;/
<U0D3D>;<U0D60>..<U0D63>;/
% SINHALA/
<U0D85>..<U0D96>;<U0D9A>..<U0DB1>;<U0DB3>..<U0DBB>;<U0DBD>;/
<U0DC0>..<U0DC6>;/
@ -263,9 +274,10 @@ alpha /
<U0EAA>..<U0EAB>;<U0EAD>..<U0EB0>;<U0EB2>..<U0EB3>;<U0EBD>;/
<U0EC0>..<U0EC4>;<U0EC6>;<U0EDC>..<U0EDD>;/
% TIBETAN/
<U0F00>;<U0F40>..<U0F47>;<U0F49>..<U0F6A>;<U0F88>..<U0F8B>;/
<U0F00>;<U0F40>..<U0F47>;<U0F49>..<U0F6C>;<U0F88>..<U0F8B>;/
% MYANMAR/
<U1000>..<U1021>;<U1023>..<U1027>;<U1029>;<U102A>;<U1050>..<U1055>;/
<U1000>..<U102A>;<U1050>..<U1055>;<U105A>..<U105D>;<U1061>;<U0165>;/
<U1066>;<U106E>..<U1070>;<U1075>..<U1081>;<U108E>;/
% GEORGIAN/
<U10A0>..<U10C5>;<U10D0>..<U10FA>;<U10FC>;/
% HANGUL JAMO/
@ -298,7 +310,7 @@ alpha /
% KHMER/
<U1780>..<U17B3>;<U17D7>;<U17DC>;/
% MONGOLIAN/
<U1820>..<U1877>;<U1880>..<U18A8>;/
<U1820>..<U1877>;<U1880>..<U18A8>;<U18AA>;/
% LIMBU/
<U1900>..<U191C>;<U1946>..<U194F>;/
% TAI LE/
@ -309,10 +321,16 @@ alpha /
<U1A00>..<U1A16>;/
% BALINESE/
<U1B05>..<U1B33>;<U1B45>..<U1B4B>;<U1B50>..<U1B59>;/
% SUNDANESE/
<U1B83>..<U1BA0>;<U1BAE>..<U1BAF>;/
% LEPCHA/
<U1C00>..<U1C23>;<U1C4D>..<U1C4F>;/
% OL CHIKI/
<U1C5A>..<U1C7D>;/
% PHONETIC EXTENSIONS/
<U1D00>..<U1DBF>;/
% LATIN EXTENDED ADDITIONAL/
<U1E00>..<U1E9B>;<U1EA0>..<U1EF9>;/
<U1E00>..<U1E9F>;<U1EA0>..<U1EFF>;/
% GREEK EXTENDED/
<U1F00>..<U1F15>;<U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;/
<U1F50>..<U1F57>;<U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;/
@ -326,13 +344,13 @@ alpha /
<U2126>;<U2128>..<U212D>;<U212F>..<U2139>;/
<U213C>..<U213F>;<U2145>..<U2149>;<U214E>;/
% NUMBER FORMS/
<U2160>..<U2184>;/
<U2160>..<U2188>;/
% ENCLOSED ALPHANUMERICS/
<U249C>..<U24E9>;/
% GLAGOLITIC/
<U2C00>..<U2C2E>;<U2C30>..<U2C5E>;/
% LATIN EXTENDED-C/
<U2C60>..<U2C6C>;<U2C74>..<U2C77>;/
<U2C60>..<U2C6F>;<U2C71>..<U2C7D>;/
% COPTIC/
<U2C80>..<U2CE4>;/
% GEORGIAN SUPPLEMENT/
@ -350,7 +368,7 @@ alpha /
% KATAKANA/
<U30A1>..<U30FA>;<U30FC>..<U30FF>;/
% BOPOMOFO/
<U3105>..<U312C>;/
<U3105>..<U312D>;/
% HANGUL COMPATIBILITY JAMO/
<U3131>..<U318E>;/
% BOPOMOFO EXTENDED/
@ -363,12 +381,24 @@ alpha /
<U4E00>..<U9FBB>;/
% YI SYLLABLES/
<UA000>..<UA48C>;/
% VAI SYLLABLES/
<UA500>..<UA60B>;<UA610>..<UA61F>;<UA62A>..<UA62B>;/
% CYRILLIC SUPPLEMENT 2/
<UA640>..<UA65F>;<UA662>..<UA66E>;<UA680>..<UA697>;/
% LATIN EXTENDED-D/
<UA717>..<UA71A>;/
<UA717>..<UA71F>;<UA722>..<UA78C>;<UA7FB>..<UA7FF>;/
% SYLOTI NEGRI/
<UA800>;<UA801>;<UA803>..<UA805>;<UA807>..<UA80A>;<UA80C>..<UA822>;/
% PHAGS PA/
<UA840>..<UA873>;/
% SAURASHTRA/
<UA882>..<UA8B3>;/
% KAYAH LI/
<UA90A>..<UA92D>;/
% REJANG/
<UA930>..<UA946>;/
% CHAM/
<UAA00>..<UAA28>;<UAA40>..<UAA42>;<UAA44>..<UAA4B>;/
% HANGUL SYLLABLES/
<UAC00>..<UD7A3>;/
% CJK COMPATIBILITY IDEOGRAPHS/
@ -394,6 +424,10 @@ alpha /
<U00010080>..<U000100FA>;/
% ANCIENT GREEK NUMBERS/
<U00010140>..<U00010174>;/
% LYCIAN/
<U00010280>..<U0001029C>;/
% CARIAN/
<U000102A0>..<U000102D0>;/
% OLD ITALIC/
<U00010300>..<U0001031E>;/
% GOTHIC/
@ -458,11 +492,11 @@ alpha /
% TAMIL/
<U0BE6>..<U0BEF>;/
% TELUGU/
<U0C66>..<U0C6F>;/
<U0C66>..<U0C6F>;<U0C78>..<U0C7F>;/
% KANNADA/
<U0CE6>..<U0CEF>;/
% MALAYALAM/
<U0D66>..<U0D6F>;/
<U0D66>..<U0D75>;<U0D79>..<U0D7F>;/
% THAI/
<U0E50>..<U0E59>;/
% LAO/
@ -475,6 +509,20 @@ alpha /
<U17E0>..<U17E9>;/
% MONGOLIAN/
<U1810>..<U1819>;/
% SUNDANESE/
<U1BB0>..<U1BB9>;/
% LEPCHA/
<U1C40>..<U1C49>;/
% OL CHIKI/
<U1C50>..<U1C59>;/
% VAI/
<UA620>..<UA629>;/
% SAURASHTRA/
<UA8D0>..<UA8D9>;/
% KAYAH LI/
<UA900>..<UA909>;/
% CHAM/
<UAA50>..<UAA59>;/
% HALFWIDTH AND FULLWIDTH FORMS/
<UFF10>..<UFF19>
@ -514,57 +562,67 @@ punct /
<U02EF>..<U0344>;<U0346>..<U036F>;<U0374>..<U0375>;<U037E>;/
<U0384>..<U0385>;<U0387>;<U03F6>;<U0482>..<U0486>;<U0488>..<U0489>;/
<U055A>..<U055F>;<U0589>..<U058A>;<U0591>..<U05C7>;<U05F3>..<U05F4>;/
<U0600>..<U0603>;<U060B>..<U0615>;<U061B>;<U061E>..<U061F>;/
<U0600>..<U0603>;<U060B>..<U061B>;<U061E>..<U061F>;/
<U064B>..<U065E>;<U066A>..<U066D>;<U0670>;<U06D4>;<U06D6>..<U06E4>;/
<U06E7>..<U06ED>;<U06FD>..<U06FE>;<U0700>..<U070D>;<U070F>;<U0711>;/
<U0730>..<U074A>;<U07A6>..<U07B0>;<U07EB>..<U07F3>;<U07F6>..<U07F9>;/
<U0901>..<U0903>;<U093C>;<U093E>..<U094D>;<U0951>..<U0954>;/
<U0962>..<U0965>;<U0970>;<U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;/
<U0962>..<U0965>;<U0972>;<U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;/
<U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;<U09E2>..<U09E3>;/
<U09F2>..<U09FA>;<U0A01>..<U0A03>;<U0A3C>;<U0A3E>..<U0A42>;/
<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A70>..<U0A71>;<U0A81>..<U0A83>;/
<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;<U0A70>..<U0A71>;/
<U0A75>;<U0A81>..<U0A83>;/
<U0ABC>;<U0ABE>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
<U0AE2>..<U0AE3>;<U0AF1>;<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B43>;/
<U0AE2>..<U0AE3>;<U0AF1>;<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B44>;/
<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B70>;<U0B82>;/
<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;/
<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;/
<U0BF0>..<U0BFA>;<U0C01>..<U0C03>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;/
<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C82>..<U0C83>;<U0CBC>;/
<U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;/
<U0CE2>..<U0CE3>;<U0CF1>..<U0CF2>;<U0D02>..<U0D03>;<U0D3E>..<U0D43>;/
<U0CE2>..<U0CE3>;<U0CF1>..<U0CF2>;<U0D02>..<U0D03>;<U0D3E>..<U0D44>;/
<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D82>..<U0D83>;<U0DCA>;/
<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;<U0E2F>;/
<U0E3F>;<U0E46>;<U0E4F>;<U0E5A>..<U0E5B>;<U0EB1>;<U0EB4>..<U0EB9>;/
<U0EBB>..<U0EBC>;<U0EC8>..<U0ECD>;<U0F01>..<U0F1F>;<U0F2A>..<U0F3F>;/
<U0F71>..<U0F87>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;/
<U0FCF>..<U0FD1>;<U102C>..<U1032>;<U1036>..<U1039>;<U104A>..<U104F>;/
<U1056>..<U1059>;<U10FB>;<U135F>..<U137C>;<U1390>..<U1399>;/
<U0FCE>..<U0FD4>;<U102B>..<U103F>;<U104A>..<U104F>;<U1056>..<U1059>;/
<U105E>..<U1060>;<U1062>..<U1064>;<U1067>..<U106D>;<U1071>..<U1074>;/
<U1082>..<U108D>;<U108F>..<U1099>;<U109E>;<U109F>;/
<U10FB>;<U135F>..<U137C>;<U1390>..<U1399>;/
<U166D>..<U166E>;<U169B>..<U169C>;<U16EB>..<U16ED>;<U1712>..<U1714>;/
<U1732>..<U1736>;<U1752>..<U1753>;<U1772>..<U1773>;<U17B4>..<U17D6>;/
<U17D8>..<U17DB>;<U17DD>;<U17F0>..<U17F9>;<U1800>..<U180D>;<U18A9>;/
<U1920>..<U192B>;<U1930>..<U193B>;<U1940>;<U1944>..<U1945>;/
<U19B0>..<U19C0>;<U19C8>..<U19C9>;<U19DE>..<U19FF>;<U1A17>..<U1A1B>;/
<U1A1E>..<U1A1F>;<U1B00>..<U1B04>;<U1B34>..<U1B44>;<U1B5A>..<U1B7C>;/
<U1DC0>..<U1DCA>;<U1DFE>..<U1DFF>;<U1FBD>;<U1FBF>..<U1FC1>;/
<U1B80>..<U1B82>;<U1BA1>..<U1BAA>;<U1C24>..<U1C37>;<U1C3B>..<U1C3F>;/
<U1C7E>..<U1C7F>;/
<U1DC0>..<U1DE6>;<U1DFE>..<U1DFF>;<U1FBD>;<U1FBF>..<U1FC1>;/
<U1FCD>..<U1FCF>;<U1FDD>..<U1FDF>;<U1FED>..<U1FEF>;<U1FFD>..<U1FFE>;/
<U2007>;<U200B>..<U2027>;<U202A>..<U205E>;<U2060>..<U2063>;/
<U2007>;<U200B>..<U2027>;<U202A>..<U205E>;<U2060>..<U2064>;/
<U206A>..<U2070>;<U2074>..<U207E>;<U2080>..<U208E>;<U20A0>..<U20B5>;/
<U20D0>..<U20EF>;<U2100>..<U2101>;<U2103>..<U2106>;<U2108>..<U2109>;/
<U20D0>..<U20F0>;<U2100>..<U2101>;<U2103>..<U2106>;<U2108>..<U2109>;/
<U2114>;<U2116>..<U2118>;<U211E>..<U2123>;<U2125>;<U2127>;<U212E>;/
<U213A>..<U213B>;<U2140>..<U2144>;<U214A>..<U214D>;<U2153>..<U215F>;/
<U2190>..<U23E7>;<U2400>..<U2426>;<U2440>..<U244A>;<U2460>..<U249B>;/
<U24EA>..<U269C>;<U26A0>..<U26B2>;<U2701>..<U2704>;<U2706>..<U2709>;/
<U24EA>..<U269D>;<U26A0>..<U26C3>;<U2701>..<U2704>;<U2706>..<U2709>;/
<U270C>..<U2727>;<U2729>..<U274B>;<U274D>;<U274F>..<U2752>;<U2756>;/
<U2758>..<U275E>;<U2761>..<U2794>;<U2798>..<U27AF>;<U27B1>..<U27BE>;/
<U27C0>..<U27CA>;<U27D0>..<U27EB>;<U27F0>..<U2B1A>;<U2B20>..<U2B23>;/
<U2CE5>..<U2CEA>;<U2CF9>..<U2CFF>;<U2E00>..<U2E17>;<U2E1C>..<U2E1D>;/
<U27C0>..<U27CA>;<U27CC>;<U27D0>..<U27EF>;<U27F0>..<U2B4C>;/
<U2B50>..<U2B54>;<U2DE0>..<U2DFF>;/
<U2CE5>..<U2CEA>;<U2CF9>..<U2CFF>;<U2E00>..<U2E30>;/
<U2E80>..<U2E99>;<U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;<U2FF0>..<U2FFB>;/
<U3001>..<U3004>;<U3008>..<U3020>;<U302A>..<U3030>;<U3036>..<U3037>;/
<U303D>..<U303F>;<U3099>..<U309C>;<U30A0>;<U30FB>;<U3190>..<U319F>;/
<U31C0>..<U31CF>;<U3200>..<U321E>;<U3220>..<U3243>;<U3250>..<U32FE>;/
<U3300>..<U33FF>;<U4DC0>..<U4DFF>;<UA490>..<UA4C6>;<UA700>..<UA716>;/
<U3300>..<U33FF>;<U4DC0>..<U4DFF>;<UA490>..<UA4C6>;<UA60C>..<UA60F>;/
<UA66F>..<UA673>;<UA67C>..<UA67F>;<UA700>..<UA716>;/
<UA720>..<UA721>;<UA802>;<UA806>;<UA80B>;<UA823>..<UA82B>;/
<UA874>..<UA877>;<UE000>..<UF8FF>;<UFB1E>;<UFB29>;<UFD3E>..<UFD3F>;/
<UFDFC>..<UFDFD>;<UFE00>..<UFE19>;<UFE20>..<UFE23>;<UFE30>..<UFE52>;/
<UA874>..<UA877>;<UA880>;<UA881>;<UA8B4>..<UA8C4>;<UA8CE>..<UA8CF>;/
<UA92E>..<UA92F>;<UA947>..<UA953>;<UA95F>;<UAA29>..<UAA36>;<UAA43>;/
<UAA4C>..<UAA4D>;<UAA5C>..<UAA5F>;/
<UE000>..<UF8FF>;<UFB1E>;<UFB29>;<UFD3E>..<UFD3F>;/
<UFDFC>..<UFDFD>;<UFE00>..<UFE19>;<UFE20>..<UFE26>;<UFE30>..<UFE52>;/
<UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFEFF>;<UFF01>..<UFF0F>;/
<UFF1A>..<UFF20>;<UFF3B>..<UFF40>;<UFF5B>..<UFF65>;<UFFE0>..<UFFE6>;/
<UFFE8>..<UFFEE>;<UFFF9>..<UFFFD>;<U00010100>..<U00010102>;/
@ -575,7 +633,7 @@ punct /
<U00010A0C>..<U00010A0F>;<U00010A38>..<U00010A3A>;/
<U00010A3F>..<U00010A47>;<U00010A50>..<U00010A58>;/
<U00012470>..<U00012473>;<U0001D000>..<U0001D0F5>;/
<U0001D100>..<U0001D126>;<U0001D12A>..<U0001D1DD>;/
<U0001D100>..<U0001D126>;<U0001D129>..<U0001D1DD>;/
<U0001D200>..<U0001D245>;<U0001D300>..<U0001D356>;/
<U0001D360>..<U0001D371>;<U0001D6C1>;<U0001D6DB>;<U0001D6FB>;<U0001D715>;/
<U0001D735>;<U0001D74F>;<U0001D76F>;<U0001D789>;<U0001D7A9>;<U0001D7C3>;/
@ -583,52 +641,55 @@ punct /
<U000F0000>..<U000FFFFD>;<U00100000>..<U0010FFFD>
graph /
<U0021>..<U007E>;<U00A0>..<U036F>;<U0374>..<U0375>;<U037A>..<U037E>;/
<U0384>..<U038A>;<U038C>;<U038E>..<U03A1>;<U03A3>..<U03CE>;/
<U03D0>..<U0486>;<U0488>..<U0513>;<U0531>..<U0556>;<U0559>..<U055F>;/
<U0021>..<U007E>;<U00A0>..<U0377>;<U037A>..<U037E>;/
<U0384>..<U038A>;<U038C>;<U038E>..<U03A1>;<U03A3>..<U0486>;/
<U0488>..<U0523>;<U0531>..<U0556>;<U0559>..<U055F>;/
<U0561>..<U0587>;<U0589>..<U058A>;<U0591>..<U05C7>;<U05D0>..<U05EA>;/
<U05F0>..<U05F4>;<U0600>..<U0603>;<U060B>..<U0615>;<U061B>;/
<U061E>..<U061F>;<U0621>..<U063A>;<U0640>..<U065E>;<U0660>..<U070D>;/
<U070F>..<U074A>;<U074D>..<U076D>;<U0780>..<U07B1>;<U07C0>..<U07FA>;/
<U0901>..<U0939>;<U093C>..<U094D>;<U0950>..<U0954>;<U0958>..<U0970>;/
<U05F0>..<U05F4>;<U0600>..<U0603>;<U0606>..<U061B>;/
<U061E>..<U061F>;<U0621>..<U065E>;<U0660>..<U070D>;/
<U070F>..<U074A>;<U074D>..<U07B1>;<U07C0>..<U07FA>;/
<U0901>..<U0939>;<U093C>..<U094D>;<U0950>..<U0954>;<U0958>..<U0972>;/
<U097B>..<U097F>;<U0981>..<U0983>;<U0985>..<U098C>;<U098F>..<U0990>;/
<U0993>..<U09A8>;<U09AA>..<U09B0>;<U09B2>;<U09B6>..<U09B9>;/
<U09BC>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CE>;<U09D7>;/
<U09DC>..<U09DD>;<U09DF>..<U09E3>;<U09E6>..<U09FA>;<U0A01>..<U0A03>;/
<U0A05>..<U0A0A>;<U0A0F>..<U0A10>;<U0A13>..<U0A28>;<U0A2A>..<U0A30>;/
<U0A32>..<U0A33>;<U0A35>..<U0A36>;<U0A38>..<U0A39>;<U0A3C>;/
<U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A59>..<U0A5C>;/
<U0A5E>;<U0A66>..<U0A74>;<U0A81>..<U0A83>;<U0A85>..<U0A8D>;/
<U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
<U0A59>..<U0A5C>;/
<U0A5E>;<U0A66>..<U0A75>;<U0A81>..<U0A83>;<U0A85>..<U0A8D>;/
<U0A8F>..<U0A91>;<U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;<U0AB2>..<U0AB3>;/
<U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
<U0AD0>;<U0AE0>..<U0AE3>;<U0AE6>..<U0AEF>;<U0AF1>;<U0B01>..<U0B03>;/
<U0B05>..<U0B0C>;<U0B0F>..<U0B10>;<U0B13>..<U0B28>;<U0B2A>..<U0B30>;/
<U0B32>..<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B43>;<U0B47>..<U0B48>;/
<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>..<U0B5D>;<U0B5F>..<U0B61>;/
<U0B32>..<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B44>;<U0B47>..<U0B48>;/
<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>..<U0B5D>;<U0B5F>..<U0B63>;/
<U0B66>..<U0B71>;<U0B82>..<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;/
<U0B92>..<U0B95>;<U0B99>..<U0B9A>;<U0B9C>;<U0B9E>..<U0B9F>;/
<U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;<U0BAE>..<U0BB9>;<U0BBE>..<U0BC2>;/
<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;<U0BE6>..<U0BFA>;/
<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;<U0BE6>..<U0BFA>;/
<U0C01>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;/
<U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;/
<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C60>..<U0C61>;<U0C66>..<U0C6F>;/
<U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3D>..<U0C44>;<U0C46>..<U0C48>;/
<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C58>..<U0C59>;<U0C60>..<U0C63>;/
<U0C66>..<U0C6F>;<U0C78>..<U0C7F>;/
<U0C82>..<U0C83>;<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;/
<U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;<U0CBC>..<U0CC4>;<U0CC6>..<U0CC8>;/
<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE3>;/
<U0CE6>..<U0CEF>;<U0CF1>..<U0CF2>;<U0D02>..<U0D03>;<U0D05>..<U0D0C>;/
<U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;<U0D3E>..<U0D43>;/
<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D60>..<U0D61>;/
<U0D66>..<U0D6F>;<U0D82>..<U0D83>;<U0D85>..<U0D96>;<U0D9A>..<U0DB1>;/
<U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;<U0D3D>..<U0D44>;/
<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D60>..<U0D63>;/
<U0D66>..<U0D75>;<U0D79>..<U0D7F>;<U0D82>..<U0D83>;<U0D85>..<U0D96>;/
<U0D9A>..<U0DB1>;/
<U0DB3>..<U0DBB>;<U0DBD>;<U0DC0>..<U0DC6>;<U0DCA>;<U0DCF>..<U0DD4>;/
<U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;<U0E01>..<U0E3A>;/
<U0E3F>..<U0E5B>;<U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;<U0E8A>;/
<U0E8D>;<U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;/
<U0EA7>;<U0EAA>..<U0EAB>;<U0EAD>..<U0EB9>;<U0EBB>..<U0EBD>;/
<U0EC0>..<U0EC4>;<U0EC6>;<U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;/
<U0EDC>..<U0EDD>;<U0F00>..<U0F47>;<U0F49>..<U0F6A>;<U0F71>..<U0F8B>;/
<U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;<U0FCF>..<U0FD1>;/
<U1000>..<U1021>;<U1023>..<U1027>;<U1029>..<U102A>;<U102C>..<U1032>;/
<U1036>..<U1039>;<U1040>..<U1059>;<U10A0>..<U10C5>;<U10D0>..<U10FC>;/
<U0EDC>..<U0EDD>;<U0F00>..<U0F47>;<U0F49>..<U0F6C>;<U0F71>..<U0F8B>;/
<U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;<U0FCE>..<U0FD4>;/
<U1000>..<U102A>;<U102B>..<U103F>;<U1040>..<U1099>;<U109E>;<U109F>;/
<U10A0>..<U10C5>;<U10D0>..<U10FC>;/
<U1100>..<U1159>;<U115F>..<U11A2>;<U11A8>..<U11F9>;<U1200>..<U1248>;/
<U124A>..<U124D>;<U1250>..<U1256>;<U1258>;<U125A>..<U125D>;/
<U1260>..<U1288>;<U128A>..<U128D>;<U1290>..<U12B0>;<U12B2>..<U12B5>;/
@ -638,37 +699,43 @@ graph /
<U16A0>..<U16F0>;<U1700>..<U170C>;<U170E>..<U1714>;<U1720>..<U1736>;/
<U1740>..<U1753>;<U1760>..<U176C>;<U176E>..<U1770>;<U1772>..<U1773>;/
<U1780>..<U17DD>;<U17E0>..<U17E9>;<U17F0>..<U17F9>;<U1800>..<U180D>;/
<U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18A9>;<U1900>..<U191C>;/
<U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18AA>;<U1900>..<U191C>;/
<U1920>..<U192B>;<U1930>..<U193B>;<U1940>;<U1944>..<U196D>;/
<U1970>..<U1974>;<U1980>..<U19A9>;<U19B0>..<U19C9>;<U19D0>..<U19D9>;/
<U19DE>..<U1A1B>;<U1A1E>..<U1A1F>;<U1B00>..<U1B4B>;<U1B50>..<U1B7C>;/
<U1D00>..<U1DCA>;<U1DFE>..<U1E9B>;<U1EA0>..<U1EF9>;<U1F00>..<U1F15>;/
<U1B80>..<U1BAA>;<U1BAE>..<U1BB9>;<U1C00>..<U1C37>;<U1C3B>..<U1C49>;/
<U1C4D>..<U1C7F>;/
<U1D00>..<U1DE6>;<U1DFE>..<U1E9F>;<U1EA0>..<U1EFF>;<U1F00>..<U1F15>;/
<U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;<U1F50>..<U1F57>;/
<U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;/
<U1FB6>..<U1FC4>;<U1FC6>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FDD>..<U1FEF>;/
<U1FF2>..<U1FF4>;<U1FF6>..<U1FFE>;<U2007>;<U200B>..<U2027>;/
<U202A>..<U205E>;<U2060>..<U2063>;<U206A>..<U2071>;<U2074>..<U208E>;/
<U2090>..<U2094>;<U20A0>..<U20B5>;<U20D0>..<U20EF>;<U2100>..<U214E>;/
<U2153>..<U2184>;<U2190>..<U23E7>;<U2400>..<U2426>;<U2440>..<U244A>;/
<U2460>..<U269C>;<U26A0>..<U26B2>;<U2701>..<U2704>;<U2706>..<U2709>;/
<U202A>..<U205E>;<U2060>..<U2064>;<U206A>..<U2071>;<U2074>..<U208E>;/
<U2090>..<U2094>;<U20A0>..<U20B5>;<U20D0>..<U20F0>;<U2100>..<U214F>;/
<U2153>..<U2188>;<U2190>..<U23E7>;<U2400>..<U2426>;<U2440>..<U244A>;/
<U2460>..<U269D>;<U26A0>..<U26C3>;<U2701>..<U2704>;<U2706>..<U2709>;/
<U270C>..<U2727>;<U2729>..<U274B>;<U274D>;<U274F>..<U2752>;<U2756>;/
<U2758>..<U275E>;<U2761>..<U2794>;<U2798>..<U27AF>;<U27B1>..<U27BE>;/
<U27C0>..<U27CA>;<U27D0>..<U27EB>;<U27F0>..<U2B1A>;<U2B20>..<U2B23>;/
<U2C00>..<U2C2E>;<U2C30>..<U2C5E>;<U2C60>..<U2C6C>;<U2C74>..<U2C77>;/
<U27C0>..<U27CA>;<U27CC>;<U27D0>..<U27EF>;<U27F0>..<U2B4C>;/
<U2B50>..<U2B54>;/
<U2C00>..<U2C2E>;<U2C30>..<U2C5E>;<U2C60>..<U2C6F>;<U2C71>..<U2C7D>;/
<U2C80>..<U2CEA>;<U2CF9>..<U2D25>;<U2D30>..<U2D65>;<U2D6F>;/
<U2D80>..<U2D96>;<U2DA0>..<U2DA6>;<U2DA8>..<U2DAE>;<U2DB0>..<U2DB6>;/
<U2DB8>..<U2DBE>;<U2DC0>..<U2DC6>;<U2DC8>..<U2DCE>;<U2DD0>..<U2DD6>;/
<U2DD8>..<U2DDE>;<U2E00>..<U2E17>;<U2E1C>..<U2E1D>;<U2E80>..<U2E99>;/
<U2DD8>..<U2DDE>;<U2DE0>..<U2E30>;<U2E80>..<U2E99>;/
<U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;<U2FF0>..<U2FFB>;<U3001>..<U303F>;/
<U3041>..<U3096>;<U3099>..<U30FF>;<U3105>..<U312C>;<U3131>..<U318E>;/
<U3041>..<U3096>;<U3099>..<U30FF>;<U3105>..<U312D>;<U3131>..<U318E>;/
<U3190>..<U31B7>;<U31C0>..<U31CF>;<U31F0>..<U321E>;<U3220>..<U3243>;/
<U3250>..<U32FE>;<U3300>..<U4DB5>;<U4DC0>..<U9FBB>;<UA000>..<UA48C>;/
<UA490>..<UA4C6>;<UA700>..<UA71A>;<UA720>..<UA721>;<UA800>..<UA82B>;/
<UA840>..<UA877>;<UAC00>..<UD7A3>;<UE000>..<UFA2D>;<UFA30>..<UFA6A>;/
<UA490>..<UA4C6>;<UA500>..<UA62B>;<UA640>..<UA65F>;<UA662>..<UA673>;/
<UA67C>..<UA697>;<UA700>..<UA78C>;<UA7FB>..<UA7FF>;<UA800>..<UA82B>;/
<UA840>..<UA877>;<UA880>..<UA8C4>;<UA8CE>..<UA8D9>;<UA900>..<UA953>;/
<UA95F>;<UAA00>..<UAA36>;<UAA40>..<UAA4D>;<UAA50>..<UAA59>;/
<UAA5C>..<UAA5F>;<UAC00>..<UD7A3>;<UE000>..<UFA2D>;<UFA30>..<UFA6A>;/
<UFA70>..<UFAD9>;<UFB00>..<UFB06>;<UFB13>..<UFB17>;<UFB1D>..<UFB36>;/
<UFB38>..<UFB3C>;<UFB3E>;<UFB40>..<UFB41>;<UFB43>..<UFB44>;/
<UFB46>..<UFBB1>;<UFBD3>..<UFD3F>;<UFD50>..<UFD8F>;<UFD92>..<UFDC7>;/
<UFDF0>..<UFDFD>;<UFE00>..<UFE19>;<UFE20>..<UFE23>;<UFE30>..<UFE52>;/
<UFDF0>..<UFDFD>;<UFE00>..<UFE19>;<UFE20>..<UFE26>;<UFE30>..<UFE52>;/
<UFE54>..<UFE66>;<UFE68>..<UFE6B>;<UFE70>..<UFE74>;<UFE76>..<UFEFC>;/
<UFEFF>;<UFF01>..<UFFBE>;<UFFC2>..<UFFC7>;<UFFCA>..<UFFCF>;/
<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;<UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;/
@ -677,6 +744,8 @@ graph /
<U0001003F>..<U0001004D>;<U00010050>..<U0001005D>;/
<U00010080>..<U000100FA>;<U00010100>..<U00010102>;/
<U00010107>..<U00010133>;<U00010137>..<U0001018A>;/
<U00010190>..<U0001019B>;<U000101D0>..<U000101FD>;/
<U00010280>..<U0001029C>;<U000102A0>..<U000102D0>;/
<U00010300>..<U0001031E>;<U00010320>..<U00010323>;/
<U00010330>..<U0001034A>;<U00010380>..<U0001039D>;/
<U0001039F>..<U000103C3>;<U000103C8>..<U000103D5>;/
@ -690,7 +759,7 @@ graph /
<U00010A50>..<U00010A58>;<U00012000>..<U0001236E>;/
<U00012400>..<U00012462>;<U00012470>..<U00012473>;/
<U0001D000>..<U0001D0F5>;<U0001D100>..<U0001D126>;/
<U0001D12A>..<U0001D1DD>;<U0001D200>..<U0001D245>;/
<U0001D129>..<U0001D1DD>;<U0001D200>..<U0001D245>;/
<U0001D300>..<U0001D356>;<U0001D360>..<U0001D371>;/
<U0001D400>..<U0001D454>;<U0001D456>..<U0001D49C>;/
<U0001D49E>..<U0001D49F>;<U0001D4A2>;<U0001D4A5>..<U0001D4A6>;/
@ -701,57 +770,61 @@ graph /
<U0001D53B>..<U0001D53E>;<U0001D540>..<U0001D544>;<U0001D546>;/
<U0001D54A>..<U0001D550>;<U0001D552>..<U0001D6A5>;/
<U0001D6A8>..<U0001D7CB>;<U0001D7CE>..<U0001D7FF>;/
<U0001F000>..<U0001F02B>;<U0001F030>..<U0001F093>;/
<U00020000>..<U0002A6D6>;<U0002F800>..<U0002FA1D>;<U000E0001>;/
<U000E0020>..<U000E007F>;<U000E0100>..<U000E01EF>;/
<U000F0000>..<U000FFFFD>;<U00100000>..<U0010FFFD>
print /
<U0020>..<U007E>;<U00A0>..<U036F>;<U0374>..<U0375>;<U037A>..<U037E>;/
<U0384>..<U038A>;<U038C>;<U038E>..<U03A1>;<U03A3>..<U03CE>;/
<U03D0>..<U0486>;<U0488>..<U0513>;<U0531>..<U0556>;<U0559>..<U055F>;/
<U0020>..<U007E>;<U00A0>..<U0377>;<U037A>..<U037E>;/
<U0384>..<U038A>;<U038C>;<U038E>..<U03A1>;<U03A3>..<U0486>;/
<U0488>..<U0523>;<U0531>..<U0556>;<U0559>..<U055F>;/
<U0561>..<U0587>;<U0589>..<U058A>;<U0591>..<U05C7>;<U05D0>..<U05EA>;/
<U05F0>..<U05F4>;<U0600>..<U0603>;<U060B>..<U0615>;<U061B>;/
<U061E>..<U061F>;<U0621>..<U063A>;<U0640>..<U065E>;<U0660>..<U070D>;/
<U070F>..<U074A>;<U074D>..<U076D>;<U0780>..<U07B1>;<U07C0>..<U07FA>;/
<U0901>..<U0939>;<U093C>..<U094D>;<U0950>..<U0954>;<U0958>..<U0970>;/
<U05F0>..<U05F4>;<U0600>..<U0603>;<U0606>..<U061B>;/
<U061E>..<U061F>;<U0621>..<U065E>;<U0660>..<U070D>;/
<U070F>..<U074A>;<U074D>..<U07B1>;<U07C0>..<U07FA>;/
<U0901>..<U0939>;<U093C>..<U094D>;<U0950>..<U0954>;<U0958>..<U0972>;/
<U097B>..<U097F>;<U0981>..<U0983>;<U0985>..<U098C>;<U098F>..<U0990>;/
<U0993>..<U09A8>;<U09AA>..<U09B0>;<U09B2>;<U09B6>..<U09B9>;/
<U09BC>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CE>;<U09D7>;/
<U09DC>..<U09DD>;<U09DF>..<U09E3>;<U09E6>..<U09FA>;<U0A01>..<U0A03>;/
<U0A05>..<U0A0A>;<U0A0F>..<U0A10>;<U0A13>..<U0A28>;<U0A2A>..<U0A30>;/
<U0A32>..<U0A33>;<U0A35>..<U0A36>;<U0A38>..<U0A39>;<U0A3C>;/
<U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A59>..<U0A5C>;/
<U0A5E>;<U0A66>..<U0A74>;<U0A81>..<U0A83>;<U0A85>..<U0A8D>;/
<U0A3E>..<U0A42>;<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;/
<U0A59>..<U0A5C>;/
<U0A5E>;<U0A66>..<U0A75>;<U0A81>..<U0A83>;<U0A85>..<U0A8D>;/
<U0A8F>..<U0A91>;<U0A93>..<U0AA8>;<U0AAA>..<U0AB0>;<U0AB2>..<U0AB3>;/
<U0AB5>..<U0AB9>;<U0ABC>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
<U0AD0>;<U0AE0>..<U0AE3>;<U0AE6>..<U0AEF>;<U0AF1>;<U0B01>..<U0B03>;/
<U0B05>..<U0B0C>;<U0B0F>..<U0B10>;<U0B13>..<U0B28>;<U0B2A>..<U0B30>;/
<U0B32>..<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B43>;<U0B47>..<U0B48>;/
<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>..<U0B5D>;<U0B5F>..<U0B61>;/
<U0B32>..<U0B33>;<U0B35>..<U0B39>;<U0B3C>..<U0B44>;<U0B47>..<U0B48>;/
<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B5C>..<U0B5D>;<U0B5F>..<U0B63>;/
<U0B66>..<U0B71>;<U0B82>..<U0B83>;<U0B85>..<U0B8A>;<U0B8E>..<U0B90>;/
<U0B92>..<U0B95>;<U0B99>..<U0B9A>;<U0B9C>;<U0B9E>..<U0B9F>;/
<U0BA3>..<U0BA4>;<U0BA8>..<U0BAA>;<U0BAE>..<U0BB9>;<U0BBE>..<U0BC2>;/
<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;<U0BE6>..<U0BFA>;/
<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;<U0BE6>..<U0BFA>;/
<U0C01>..<U0C03>;<U0C05>..<U0C0C>;<U0C0E>..<U0C10>;<U0C12>..<U0C28>;/
<U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;/
<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C60>..<U0C61>;<U0C66>..<U0C6F>;/
<U0C2A>..<U0C33>;<U0C35>..<U0C39>;<U0C3D>..<U0C44>;<U0C46>..<U0C48>;/
<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;<U0C58>..<U0C59>;<U0C60>..<U0C63>;/
<U0C66>..<U0C6F>;<U0C78>..<U0C7F>;/
<U0C82>..<U0C83>;<U0C85>..<U0C8C>;<U0C8E>..<U0C90>;<U0C92>..<U0CA8>;/
<U0CAA>..<U0CB3>;<U0CB5>..<U0CB9>;<U0CBC>..<U0CC4>;<U0CC6>..<U0CC8>;/
<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CDE>;<U0CE0>..<U0CE3>;/
<U0CE6>..<U0CEF>;<U0CF1>..<U0CF2>;<U0D02>..<U0D03>;<U0D05>..<U0D0C>;/
<U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;<U0D3E>..<U0D43>;/
<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D60>..<U0D61>;/
<U0D66>..<U0D6F>;<U0D82>..<U0D83>;<U0D85>..<U0D96>;<U0D9A>..<U0DB1>;/
<U0D0E>..<U0D10>;<U0D12>..<U0D28>;<U0D2A>..<U0D39>;<U0D3D>..<U0D44>;/
<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;<U0D60>..<U0D63>;/
<U0D66>..<U0D75>;<U0D79>..<U0D7F>;<U0D82>..<U0D83>;<U0D85>..<U0D96>;/
<U0D9A>..<U0DB1>;/
<U0DB3>..<U0DBB>;<U0DBD>;<U0DC0>..<U0DC6>;<U0DCA>;<U0DCF>..<U0DD4>;/
<U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF4>;<U0E01>..<U0E3A>;/
<U0E3F>..<U0E5B>;<U0E81>..<U0E82>;<U0E84>;<U0E87>..<U0E88>;<U0E8A>;/
<U0E8D>;<U0E94>..<U0E97>;<U0E99>..<U0E9F>;<U0EA1>..<U0EA3>;<U0EA5>;/
<U0EA7>;<U0EAA>..<U0EAB>;<U0EAD>..<U0EB9>;<U0EBB>..<U0EBD>;/
<U0EC0>..<U0EC4>;<U0EC6>;<U0EC8>..<U0ECD>;<U0ED0>..<U0ED9>;/
<U0EDC>..<U0EDD>;<U0F00>..<U0F47>;<U0F49>..<U0F6A>;<U0F71>..<U0F8B>;/
<U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;<U0FCF>..<U0FD1>;/
<U1000>..<U1021>;<U1023>..<U1027>;<U1029>..<U102A>;<U102C>..<U1032>;/
<U1036>..<U1039>;<U1040>..<U1059>;<U10A0>..<U10C5>;<U10D0>..<U10FC>;/
<U0EDC>..<U0EDD>;<U0F00>..<U0F47>;<U0F49>..<U0F6C>;<U0F71>..<U0F8B>;/
<U0F90>..<U0F97>;<U0F99>..<U0FBC>;<U0FBE>..<U0FCC>;<U0FCE>..<U0FD4>;/
<U1000>..<U102A>;<U102B>..<U103F>;<U1040>..<U1099>;<U109E>;<U109F>;/
<U10A0>..<U10C5>;<U10D0>..<U10FC>;/
<U1100>..<U1159>;<U115F>..<U11A2>;<U11A8>..<U11F9>;<U1200>..<U1248>;/
<U124A>..<U124D>;<U1250>..<U1256>;<U1258>;<U125A>..<U125D>;/
<U1260>..<U1288>;<U128A>..<U128D>;<U1290>..<U12B0>;<U12B2>..<U12B5>;/
@ -761,37 +834,45 @@ print /
<U16A0>..<U16F0>;<U1700>..<U170C>;<U170E>..<U1714>;<U1720>..<U1736>;/
<U1740>..<U1753>;<U1760>..<U176C>;<U176E>..<U1770>;<U1772>..<U1773>;/
<U1780>..<U17DD>;<U17E0>..<U17E9>;<U17F0>..<U17F9>;<U1800>..<U180E>;/
<U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18A9>;<U1900>..<U191C>;/
<U1810>..<U1819>;<U1820>..<U1877>;<U1880>..<U18AA>;<U1900>..<U191C>;/
<U1920>..<U192B>;<U1930>..<U193B>;<U1940>;<U1944>..<U196D>;/
<U1970>..<U1974>;<U1980>..<U19A9>;<U19B0>..<U19C9>;<U19D0>..<U19D9>;/
<U19DE>..<U1A1B>;<U1A1E>..<U1A1F>;<U1B00>..<U1B4B>;<U1B50>..<U1B7C>;/
<U1D00>..<U1DCA>;<U1DFE>..<U1E9B>;<U1EA0>..<U1EF9>;<U1F00>..<U1F15>;/
<U1B80>..<U1BAA>;<U1BAE>..<U1BB9>;<U1C00>..<U1C37>;<U1C3B>..<U1C49>;/
<U1C4D>..<U1C7F>;/
<U1D00>..<U1DE6>;<U1DFE>..<U1E9F>;<U1EA0>..<U1EFF>;<U1F00>..<U1F15>;/
<U1F18>..<U1F1D>;<U1F20>..<U1F45>;<U1F48>..<U1F4D>;<U1F50>..<U1F57>;/
<U1F59>;<U1F5B>;<U1F5D>;<U1F5F>..<U1F7D>;<U1F80>..<U1FB4>;/
<U1FB6>..<U1FC4>;<U1FC6>..<U1FD3>;<U1FD6>..<U1FDB>;<U1FDD>..<U1FEF>;/
<U1FF2>..<U1FF4>;<U1FF6>..<U1FFE>;<U2000>..<U2027>;<U202A>..<U2063>;/
<U1FF2>..<U1FF4>;<U1FF6>..<U1FFE>;<U2000>..<U2027>;<U202A>..<U2064>;/
<U206A>..<U2071>;<U2074>..<U208E>;<U2090>..<U2094>;<U20A0>..<U20B5>;/
<U20D0>..<U20EF>;<U2100>..<U214E>;<U2153>..<U2184>;<U2190>..<U23E7>;/
<U2400>..<U2426>;<U2440>..<U244A>;<U2460>..<U269C>;<U26A0>..<U26B2>;/
<U20D0>..<U20F0>;<U2100>..<U214F>;<U2153>..<U2188>;<U2190>..<U23E7>;/
<U2400>..<U2426>;<U2440>..<U244A>;<U2460>..<U269D>;<U26A0>..<U26C3>;/
<U2701>..<U2704>;<U2706>..<U2709>;<U270C>..<U2727>;<U2729>..<U274B>;/
<U274D>;<U274F>..<U2752>;<U2756>;<U2758>..<U275E>;<U2761>..<U2794>;/
<U2798>..<U27AF>;<U27B1>..<U27BE>;<U27C0>..<U27CA>;<U27D0>..<U27EB>;/
<U27F0>..<U2B1A>;<U2B20>..<U2B23>;<U2C00>..<U2C2E>;<U2C30>..<U2C5E>;/
<U2C60>..<U2C6C>;<U2C74>..<U2C77>;<U2C80>..<U2CEA>;<U2CF9>..<U2D25>;/
<U2798>..<U27AF>;<U27B1>..<U27BE>;<U27C0>..<U27CA>;<U27CC>;/
<U27D0>..<U27EF>;/
<U27F0>..<U2B4C>;<U2B50>..<U2B54>;<U2C00>..<U2C2E>;<U2C30>..<U2C5E>;/
<U2C60>..<U2C6F>;<U2C71>..<U2C7D>;<U2C80>..<U2CEA>;<U2CF9>..<U2D25>;/
<U2D30>..<U2D65>;<U2D6F>;<U2D80>..<U2D96>;<U2DA0>..<U2DA6>;/
<U2DA8>..<U2DAE>;<U2DB0>..<U2DB6>;<U2DB8>..<U2DBE>;<U2DC0>..<U2DC6>;/
<U2DC8>..<U2DCE>;<U2DD0>..<U2DD6>;<U2DD8>..<U2DDE>;<U2E00>..<U2E17>;/
<U2E1C>..<U2E1D>;<U2E80>..<U2E99>;<U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;/
<U2DC8>..<U2DCE>;<U2DD0>..<U2DD6>;<U2DD8>..<U2DDE>;<U2DE0>..<U2E30>;/
<U2E80>..<U2E99>;<U2E9B>..<U2EF3>;<U2F00>..<U2FD5>;/
<U2FF0>..<U2FFB>;<U3000>..<U303F>;<U3041>..<U3096>;<U3099>..<U30FF>;/
<U3105>..<U312C>;<U3131>..<U318E>;<U3190>..<U31B7>;<U31C0>..<U31CF>;/
<U3105>..<U312D>;<U3131>..<U318E>;<U3190>..<U31B7>;<U31C0>..<U31CF>;/
<U31F0>..<U321E>;<U3220>..<U3243>;<U3250>..<U32FE>;<U3300>..<U4DB5>;/
<U4DC0>..<U9FBB>;<UA000>..<UA48C>;<UA490>..<UA4C6>;<UA700>..<UA71A>;/
<UA720>..<UA721>;<UA800>..<UA82B>;<UA840>..<UA877>;<UAC00>..<UD7A3>;/
<U4DC0>..<U9FBB>;<UA000>..<UA48C>;<UA490>..<UA4C6>;<UA500>..<UA62B>;/
<UA640>..<UA65F>;<UA662>..<UA673>;<UA67C>..<UA697>;<UA700>..<UA78C>;/
<UA7FB>..<UA7FF>;<UA800>..<UA82B>;<UA840>..<UA877>;/
<UA880>..<UA8C4>;<UA8CE>..<UA8D9>;<UAC00>..<UD7A3>;/
<UA840>..<UA877>;<UA880>..<UA8C4>;<UA8CE>..<UA8D9>;<UA900>..<UA953>;/
<UA95F>;<UAA00>..<UAA36>;<UAA40>..<UAA4D>;<UAA50>..<UAA59>;/
<UAA5C>..<UAA5F>;/
<UE000>..<UFA2D>;<UFA30>..<UFA6A>;<UFA70>..<UFAD9>;<UFB00>..<UFB06>;/
<UFB13>..<UFB17>;<UFB1D>..<UFB36>;<UFB38>..<UFB3C>;<UFB3E>;/
<UFB40>..<UFB41>;<UFB43>..<UFB44>;<UFB46>..<UFBB1>;<UFBD3>..<UFD3F>;/
<UFD50>..<UFD8F>;<UFD92>..<UFDC7>;<UFDF0>..<UFDFD>;<UFE00>..<UFE19>;/
<UFE20>..<UFE23>;<UFE30>..<UFE52>;<UFE54>..<UFE66>;<UFE68>..<UFE6B>;/
<UFE20>..<UFE26>;<UFE30>..<UFE52>;<UFE54>..<UFE66>;<UFE68>..<UFE6B>;/
<UFE70>..<UFE74>;<UFE76>..<UFEFC>;<UFEFF>;<UFF01>..<UFFBE>;/
<UFFC2>..<UFFC7>;<UFFCA>..<UFFCF>;<UFFD2>..<UFFD7>;<UFFDA>..<UFFDC>;/
<UFFE0>..<UFFE6>;<UFFE8>..<UFFEE>;<UFFF9>..<UFFFD>;/
@ -800,6 +881,8 @@ print /
<U0001003F>..<U0001004D>;<U00010050>..<U0001005D>;/
<U00010080>..<U000100FA>;<U00010100>..<U00010102>;/
<U00010107>..<U00010133>;<U00010137>..<U0001018A>;/
<U00010190>..<U0001019B>;<U000101D0>..<U000101FD>;/
<U00010280>..<U0001029C>;<U000102A0>..<U000102D0>;/
<U00010300>..<U0001031E>;<U00010320>..<U00010323>;/
<U00010330>..<U0001034A>;<U00010380>..<U0001039D>;/
<U0001039F>..<U000103C3>;<U000103C8>..<U000103D5>;/
@ -813,7 +896,7 @@ print /
<U00010A50>..<U00010A58>;<U00012000>..<U0001236E>;/
<U00012400>..<U00012462>;<U00012470>..<U00012473>;/
<U0001D000>..<U0001D0F5>;<U0001D100>..<U0001D126>;/
<U0001D12A>..<U0001D1DD>;<U0001D200>..<U0001D245>;/
<U0001D129>..<U0001D1DD>;<U0001D200>..<U0001D245>;/
<U0001D300>..<U0001D356>;<U0001D360>..<U0001D371>;/
<U0001D400>..<U0001D454>;<U0001D456>..<U0001D49C>;/
<U0001D49E>..<U0001D49F>;<U0001D4A2>;<U0001D4A5>..<U0001D4A6>;/
@ -824,6 +907,7 @@ print /
<U0001D53B>..<U0001D53E>;<U0001D540>..<U0001D544>;<U0001D546>;/
<U0001D54A>..<U0001D550>;<U0001D552>..<U0001D6A5>;/
<U0001D6A8>..<U0001D7CB>;<U0001D7CE>..<U0001D7FF>;/
<U0001F000>..<U0001F02B>;<U0001F030>..<U0001F093>;/
<U00020000>..<U0002A6D6>;<U0002F800>..<U0002FA1D>;<U000E0001>;/
<U000E0020>..<U000E007F>;<U000E0100>..<U000E01EF>;/
<U000F0000>..<U000FFFFD>;<U00100000>..<U0010FFFD>
@ -844,7 +928,8 @@ toupper /
(<U006D>,<U004D>);(<U006E>,<U004E>);(<U006F>,<U004F>);(<U0070>,<U0050>);/
(<U0071>,<U0051>);(<U0072>,<U0052>);(<U0073>,<U0053>);(<U0074>,<U0054>);/
(<U0075>,<U0055>);(<U0076>,<U0056>);(<U0077>,<U0057>);(<U0078>,<U0058>);/
(<U0079>,<U0059>);(<U007A>,<U005A>);(<U00B5>,<U039C>);(<U00E0>,<U00C0>);/
(<U0079>,<U0059>);(<U007A>,<U005A>);(<U00B5>,<U039C>);(<U00DF>,<U1E9E>);/
(<U00E0>,<U00C0>);/
(<U00E1>,<U00C1>);(<U00E2>,<U00C2>);(<U00E3>,<U00C3>);(<U00E4>,<U00C4>);/
(<U00E5>,<U00C5>);(<U00E6>,<U00C6>);(<U00E7>,<U00C7>);(<U00E8>,<U00C8>);/
(<U00E9>,<U00C9>);(<U00EA>,<U00CA>);(<U00EB>,<U00CB>);(<U00EC>,<U00CC>);/
@ -889,13 +974,16 @@ toupper /
(<U0229>,<U0228>);(<U022B>,<U022A>);(<U022D>,<U022C>);(<U022F>,<U022E>);/
(<U0231>,<U0230>);(<U0233>,<U0232>);(<U023C>,<U023B>);(<U0242>,<U0241>);/
(<U0247>,<U0246>);(<U0249>,<U0248>);(<U024B>,<U024A>);(<U024D>,<U024C>);/
(<U024F>,<U024E>);(<U0253>,<U0181>);(<U0254>,<U0186>);(<U0256>,<U0189>);/
(<U024F>,<U024E>);(<U0250>,<U2C6F>);(<U0251>,<U2C6D>);(<U0253>,<U0181>);/
(<U0254>,<U0186>);(<U0256>,<U0189>);/
(<U0257>,<U018A>);(<U0259>,<U018F>);(<U025B>,<U0190>);(<U0260>,<U0193>);/
(<U0263>,<U0194>);(<U0268>,<U0197>);(<U0269>,<U0196>);(<U026B>,<U2C62>);/
(<U026F>,<U019C>);(<U0272>,<U019D>);(<U0275>,<U019F>);(<U027D>,<U2C64>);/
(<U026F>,<U019C>);(<U0271>,<U2C6E>);(<U0272>,<U019D>);(<U0275>,<U019F>);/
(<U027D>,<U2C64>);/
(<U0280>,<U01A6>);(<U0283>,<U01A9>);(<U0288>,<U01AE>);(<U0289>,<U0244>);/
(<U028A>,<U01B1>);(<U028B>,<U01B2>);(<U028C>,<U0245>);(<U0292>,<U01B7>);/
(<U0345>,<U0399>);(<U037B>,<U03FD>);(<U037C>,<U03FE>);(<U037D>,<U03FF>);/
(<U0345>,<U0399>);(<U0371>,<U0370>);(<U0373>,<U0372>);(<U0377>,<U0376>);/
(<U037B>,<U03FD>);(<U037C>,<U03FE>);(<U037D>,<U03FF>);/
(<U03AC>,<U0386>);(<U03AD>,<U0388>);(<U03AE>,<U0389>);(<U03AF>,<U038A>);/
(<U03B1>,<U0391>);(<U03B2>,<U0392>);(<U03B3>,<U0393>);(<U03B4>,<U0394>);/
(<U03B5>,<U0395>);(<U03B6>,<U0396>);(<U03B7>,<U0397>);(<U03B8>,<U0398>);/
@ -943,7 +1031,9 @@ toupper /
(<U04F9>,<U04F8>);(<U04FB>,<U04FA>);(<U04FD>,<U04FC>);(<U04FF>,<U04FE>);/
(<U0501>,<U0500>);(<U0503>,<U0502>);(<U0505>,<U0504>);(<U0507>,<U0506>);/
(<U0509>,<U0508>);(<U050B>,<U050A>);(<U050D>,<U050C>);(<U050F>,<U050E>);/
(<U0511>,<U0510>);(<U0513>,<U0512>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
(<U0511>,<U0510>);(<U0513>,<U0512>);(<U0515>,<U0514>);(<U0517>,<U0516>);/
(<U0519>,<U0518>);(<U051B>,<U051A>);(<U051D>,<U051C>);(<U051F>,<U051E>);/
(<U0521>,<U0520>);(<U0523>,<U0522>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
(<U0563>,<U0533>);(<U0564>,<U0534>);(<U0565>,<U0535>);(<U0566>,<U0536>);/
(<U0567>,<U0537>);(<U0568>,<U0538>);(<U0569>,<U0539>);(<U056A>,<U053A>);/
(<U056B>,<U053B>);(<U056C>,<U053C>);(<U056D>,<U053D>);(<U056E>,<U053E>);/
@ -983,7 +1073,8 @@ toupper /
(<U1EDF>,<U1EDE>);(<U1EE1>,<U1EE0>);(<U1EE3>,<U1EE2>);(<U1EE5>,<U1EE4>);/
(<U1EE7>,<U1EE6>);(<U1EE9>,<U1EE8>);(<U1EEB>,<U1EEA>);(<U1EED>,<U1EEC>);/
(<U1EEF>,<U1EEE>);(<U1EF1>,<U1EF0>);(<U1EF3>,<U1EF2>);(<U1EF5>,<U1EF4>);/
(<U1EF7>,<U1EF6>);(<U1EF9>,<U1EF8>);(<U1F00>,<U1F08>);(<U1F01>,<U1F09>);/
(<U1EF7>,<U1EF6>);(<U1EF9>,<U1EF8>);(<U1EFB>,<U1EFA>);(<U1EFD>,<U1EFC>);/
(<U1EFF>,<U1EFE>);(<U1F00>,<U1F08>);(<U1F01>,<U1F09>);/
(<U1F02>,<U1F0A>);(<U1F03>,<U1F0B>);(<U1F04>,<U1F0C>);(<U1F05>,<U1F0D>);/
(<U1F06>,<U1F0E>);(<U1F07>,<U1F0F>);(<U1F10>,<U1F18>);(<U1F11>,<U1F19>);/
(<U1F12>,<U1F1A>);(<U1F13>,<U1F1B>);(<U1F14>,<U1F1C>);(<U1F15>,<U1F1D>);/
@ -1032,6 +1123,7 @@ toupper /
(<U2C59>,<U2C29>);(<U2C5A>,<U2C2A>);(<U2C5B>,<U2C2B>);(<U2C5C>,<U2C2C>);/
(<U2C5D>,<U2C2D>);(<U2C5E>,<U2C2E>);(<U2C61>,<U2C60>);(<U2C65>,<U023A>);/
(<U2C66>,<U023E>);(<U2C68>,<U2C67>);(<U2C6A>,<U2C69>);(<U2C6C>,<U2C6B>);/
(<U2C73>,<U2C72>);/
(<U2C76>,<U2C75>);(<U2C81>,<U2C80>);(<U2C83>,<U2C82>);(<U2C85>,<U2C84>);/
(<U2C87>,<U2C86>);(<U2C89>,<U2C88>);(<U2C8B>,<U2C8A>);(<U2C8D>,<U2C8C>);/
(<U2C8F>,<U2C8E>);(<U2C91>,<U2C90>);(<U2C93>,<U2C92>);(<U2C95>,<U2C94>);/
@ -1139,7 +1231,8 @@ tolower /
(<U0232>,<U0233>);(<U023A>,<U2C65>);(<U023B>,<U023C>);(<U023D>,<U019A>);/
(<U023E>,<U2C66>);(<U0241>,<U0242>);(<U0243>,<U0180>);(<U0244>,<U0289>);/
(<U0245>,<U028C>);(<U0246>,<U0247>);(<U0248>,<U0249>);(<U024A>,<U024B>);/
(<U024C>,<U024D>);(<U024E>,<U024F>);(<U0386>,<U03AC>);(<U0388>,<U03AD>);/
(<U024C>,<U024D>);(<U024E>,<U024F>);(<U0370>,<U0371>);(<U0372>,<U0373>);/
(<U0376>,<U0377>);(<U0386>,<U03AC>);(<U0388>,<U03AD>);/
(<U0389>,<U03AE>);(<U038A>,<U03AF>);(<U038C>,<U03CC>);(<U038E>,<U03CD>);/
(<U038F>,<U03CE>);(<U0391>,<U03B1>);(<U0392>,<U03B2>);(<U0393>,<U03B3>);/
(<U0394>,<U03B4>);(<U0395>,<U03B5>);(<U0396>,<U03B6>);(<U0397>,<U03B7>);/
@ -1186,6 +1279,8 @@ tolower /
(<U04FC>,<U04FD>);(<U04FE>,<U04FF>);(<U0500>,<U0501>);(<U0502>,<U0503>);/
(<U0504>,<U0505>);(<U0506>,<U0507>);(<U0508>,<U0509>);(<U050A>,<U050B>);/
(<U050C>,<U050D>);(<U050E>,<U050F>);(<U0510>,<U0511>);(<U0512>,<U0513>);/
(<U0514>,<U0515>);(<U0516>,<U0517>);(<U0518>,<U0519>);(<U051A>,<U051B>);/
(<U051C>,<U051D>);(<U051E>,<U051F>);(<U0520>,<U0521>);(<U0522>,<U0523>);/
(<U0531>,<U0561>);(<U0532>,<U0562>);(<U0533>,<U0563>);(<U0534>,<U0564>);/
(<U0535>,<U0565>);(<U0536>,<U0566>);(<U0537>,<U0567>);(<U0538>,<U0568>);/
(<U0539>,<U0569>);(<U053A>,<U056A>);(<U053B>,<U056B>);(<U053C>,<U056C>);/
@ -1223,7 +1318,8 @@ tolower /
(<U1E78>,<U1E79>);(<U1E7A>,<U1E7B>);(<U1E7C>,<U1E7D>);(<U1E7E>,<U1E7F>);/
(<U1E80>,<U1E81>);(<U1E82>,<U1E83>);(<U1E84>,<U1E85>);(<U1E86>,<U1E87>);/
(<U1E88>,<U1E89>);(<U1E8A>,<U1E8B>);(<U1E8C>,<U1E8D>);(<U1E8E>,<U1E8F>);/
(<U1E90>,<U1E91>);(<U1E92>,<U1E93>);(<U1E94>,<U1E95>);(<U1EA0>,<U1EA1>);/
(<U1E90>,<U1E91>);(<U1E92>,<U1E93>);(<U1E94>,<U1E95>);(<U1E9E>,<U00DF>);/
(<U1EA0>,<U1EA1>);/
(<U1EA2>,<U1EA3>);(<U1EA4>,<U1EA5>);(<U1EA6>,<U1EA7>);(<U1EA8>,<U1EA9>);/
(<U1EAA>,<U1EAB>);(<U1EAC>,<U1EAD>);(<U1EAE>,<U1EAF>);(<U1EB0>,<U1EB1>);/
(<U1EB2>,<U1EB3>);(<U1EB4>,<U1EB5>);(<U1EB6>,<U1EB7>);(<U1EB8>,<U1EB9>);/
@ -1235,6 +1331,7 @@ tolower /
(<U1EE2>,<U1EE3>);(<U1EE4>,<U1EE5>);(<U1EE6>,<U1EE7>);(<U1EE8>,<U1EE9>);/
(<U1EEA>,<U1EEB>);(<U1EEC>,<U1EED>);(<U1EEE>,<U1EEF>);(<U1EF0>,<U1EF1>);/
(<U1EF2>,<U1EF3>);(<U1EF4>,<U1EF5>);(<U1EF6>,<U1EF7>);(<U1EF8>,<U1EF9>);/
(<U1EFA>,<U1EFB>);(<U1EFC>,<U1EFD>);(<U1EFE>,<U1EFF>);/
(<U1F08>,<U1F00>);(<U1F09>,<U1F01>);(<U1F0A>,<U1F02>);(<U1F0B>,<U1F03>);/
(<U1F0C>,<U1F04>);(<U1F0D>,<U1F05>);(<U1F0E>,<U1F06>);(<U1F0F>,<U1F07>);/
(<U1F18>,<U1F10>);(<U1F19>,<U1F11>);(<U1F1A>,<U1F12>);(<U1F1B>,<U1F13>);/
@ -1284,7 +1381,8 @@ tolower /
(<U2C29>,<U2C59>);(<U2C2A>,<U2C5A>);(<U2C2B>,<U2C5B>);(<U2C2C>,<U2C5C>);/
(<U2C2D>,<U2C5D>);(<U2C2E>,<U2C5E>);(<U2C60>,<U2C61>);(<U2C62>,<U026B>);/
(<U2C63>,<U1D7D>);(<U2C64>,<U027D>);(<U2C67>,<U2C68>);(<U2C69>,<U2C6A>);/
(<U2C6B>,<U2C6C>);(<U2C75>,<U2C76>);(<U2C80>,<U2C81>);(<U2C82>,<U2C83>);/
(<U2C6B>,<U2C6C>);(<U2C6D>,<U0251>);(<U2C6E>,<U0271>);(<U2C6F>,<U0250>);/
(<U2C72>,<U2C73>);(<U2C75>,<U2C76>);(<U2C80>,<U2C81>);(<U2C82>,<U2C83>);/
(<U2C84>,<U2C85>);(<U2C86>,<U2C87>);(<U2C88>,<U2C89>);(<U2C8A>,<U2C8B>);/
(<U2C8C>,<U2C8D>);(<U2C8E>,<U2C8F>);(<U2C90>,<U2C91>);(<U2C92>,<U2C93>);/
(<U2C94>,<U2C95>);(<U2C96>,<U2C97>);(<U2C98>,<U2C99>);(<U2C9A>,<U2C9B>);/
@ -1431,7 +1529,9 @@ map "totitle"; /
(<U04F9>,<U04F8>);(<U04FB>,<U04FA>);(<U04FD>,<U04FC>);(<U04FF>,<U04FE>);/
(<U0501>,<U0500>);(<U0503>,<U0502>);(<U0505>,<U0504>);(<U0507>,<U0506>);/
(<U0509>,<U0508>);(<U050B>,<U050A>);(<U050D>,<U050C>);(<U050F>,<U050E>);/
(<U0511>,<U0510>);(<U0513>,<U0512>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
(<U0511>,<U0510>);(<U0513>,<U0512>);(<U0515>,<U0514>);(<U0517>,<U0516>);/
(<U0519>,<U0518>);(<U051B>,<U051A>);(<U051D>,<U051C>);(<U051F>,<U051E>);/
(<U0521>,<U0520>);(<U0523>,<U0522>);(<U0561>,<U0531>);(<U0562>,<U0532>);/
(<U0563>,<U0533>);(<U0564>,<U0534>);(<U0565>,<U0535>);(<U0566>,<U0536>);/
(<U0567>,<U0537>);(<U0568>,<U0538>);(<U0569>,<U0539>);(<U056A>,<U053A>);/
(<U056B>,<U053B>);(<U056C>,<U053C>);(<U056D>,<U053D>);(<U056E>,<U053E>);/
@ -1574,35 +1674,40 @@ map "totitle"; /
% That is, all combining characters (level 2+3).
class "combining"; /
<U0300>..<U036F>;<U0483>..<U0486>;<U0488>..<U0489>;<U0591>..<U05BD>;/
<U05BF>;<U05C1>..<U05C2>;<U05C4>..<U05C5>;<U05C7>;<U0610>..<U0615>;/
<U05BF>;<U05C1>..<U05C2>;<U05C4>..<U05C5>;<U05C7>;<U0610>..<U061A>;/
<U064B>..<U065E>;<U0670>;<U06D6>..<U06DC>;<U06DE>..<U06E4>;/
<U06E7>..<U06E8>;<U06EA>..<U06ED>;<U0711>;<U0730>..<U074A>;/
<U07A6>..<U07B0>;<U07EB>..<U07F3>;<U0901>..<U0903>;<U093C>;/
<U093E>..<U094D>;<U0951>..<U0954>;<U0962>..<U0963>;<U0981>..<U0983>;/
<U09BC>;<U09BE>..<U09C4>;<U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;/
<U09E2>..<U09E3>;<U0A01>..<U0A03>;<U0A3C>;<U0A3E>..<U0A42>;/
<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A70>..<U0A71>;<U0A81>..<U0A83>;/
<U0A47>..<U0A48>;<U0A4B>..<U0A4D>;<U0A51>;<U0A70>..<U0A71>;/
<U0A75>;<U0A81>..<U0A83>;/
<U0ABC>;<U0ABE>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;/
<U0AE2>..<U0AE3>;<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B43>;/
<U0AE2>..<U0AE3>;<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B44>;/
<U0B47>..<U0B48>;<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B82>;/
<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;/
<U0BBE>..<U0BC2>;<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;/
<U0C01>..<U0C03>;<U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;/
<U0C55>..<U0C56>;<U0C82>..<U0C83>;<U0CBC>;<U0CBE>..<U0CC4>;/
<U0C55>..<U0C56>;<U0C62>..<U0C63>;<U0C82>..<U0C83>;<U0CBC>;/
<U0CBE>..<U0CC4>;/
<U0CC6>..<U0CC8>;<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CE2>..<U0CE3>;/
<U0D02>..<U0D03>;<U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
<U0D57>;<U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;/
<U0DD8>..<U0DDF>;<U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;/
<U0D02>..<U0D03>;<U0D3E>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;/
<U0D57>;<U0D62>..<U0D63>;<U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;/
<U0DD6>;<U0DD8>..<U0DDF>;<U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;/
<U0E47>..<U0E4E>;<U0EB1>;<U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;/
<U0EC8>..<U0ECD>;<U0F18>..<U0F19>;<U0F35>;<U0F37>;<U0F39>;/
<U0F3E>..<U0F3F>;<U0F71>..<U0F84>;<U0F86>..<U0F87>;<U0F90>..<U0F97>;/
<U0F99>..<U0FBC>;<U0FC6>;<U102C>..<U1032>;<U1036>..<U1039>;/
<U1056>..<U1059>;<U135F>;<U1712>..<U1714>;<U1732>..<U1734>;/
<U0F99>..<U0FBC>;<U0FC6>;<U102B>..<U103F>;/
<U1056>..<U1059>;<U105E>..<U1060>;<U1062>..<U1064>;<U1067>..<U106D>;/
<U1071>..<U1074>;<U1082>..<U108D>;<U108F>;/
<U135F>;<U1712>..<U1714>;<U1732>..<U1734>;/
<U1752>..<U1753>;<U1772>..<U1773>;<U17B6>..<U17D3>;<U17DD>;/
<U180B>..<U180D>;<U18A9>;<U1920>..<U192B>;<U1930>..<U193B>;/
<U19B0>..<U19C0>;<U19C8>..<U19C9>;<U1A17>..<U1A1B>;<U1B00>..<U1B04>;/
<U1B34>..<U1B44>;<U1B6B>..<U1B73>;<U1DC0>..<U1DCA>;<U1DFE>..<U1DFF>;/
<U20D0>..<U20EF>;<U302A>..<U302F>;<U3099>..<U309A>;<UA802>;<UA806>;/
<UA80B>;<UA823>..<UA827>;<UFB1E>;<UFE00>..<UFE0F>;<UFE20>..<UFE23>;/
<U1B34>..<U1B44>;<U1B6B>..<U1B73>;<U1DC0>..<U1DE6>;<U1DFE>..<U1DFF>;/
<U20D0>..<U20F0>;<U2DE0>..<U2DFF>;<U302A>..<U302F>;<U3099>..<U309A>;/
<UA66F>..<UA672>;<UA67C>;<UA67D>;<UA802>;<UA806>;/
<UA80B>;<UA823>..<UA827>;<UFB1E>;<UFE00>..<UFE0F>;<UFE20>..<UFE26>;/
<U00010A01>..<U00010A03>;<U00010A05>..<U00010A06>;/
<U00010A0C>..<U00010A0F>;<U00010A38>..<U00010A3A>;<U00010A3F>;/
<U0001D165>..<U0001D169>;<U0001D16D>..<U0001D172>;/
@ -1619,20 +1724,25 @@ class "combining_level3"; /
<U0962>..<U0963>;<U0981>..<U0983>;<U09BC>;<U09BE>..<U09C4>;/
<U09C7>..<U09C8>;<U09CB>..<U09CD>;<U09D7>;<U09E2>..<U09E3>;/
<U0A01>..<U0A03>;<U0A3C>;<U0A3E>..<U0A42>;<U0A47>..<U0A48>;/
<U0A4B>..<U0A4D>;<U0A70>..<U0A71>;<U0A81>..<U0A83>;<U0ABC>;/
<U0A4B>..<U0A4D>;<U0A51>;<U0A70>..<U0A71>;<U0375>;<U0A81>..<U0A83>;/
<U0ABC>;/
<U0ABE>..<U0AC5>;<U0AC7>..<U0AC9>;<U0ACB>..<U0ACD>;<U0AE2>..<U0AE3>;/
<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B43>;<U0B47>..<U0B48>;/
<U0B01>..<U0B03>;<U0B3C>;<U0B3E>..<U0B44>;<U0B47>..<U0B48>;/
<U0B4B>..<U0B4D>;<U0B56>..<U0B57>;<U0B82>;<U0BBE>..<U0BC2>;/
<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD7>;<U0C01>..<U0C03>;/
<U0BC6>..<U0BC8>;<U0BCA>..<U0BCD>;<U0BD0>;<U0BD7>;<U0C01>..<U0C03>;/
<U0C3E>..<U0C44>;<U0C46>..<U0C48>;<U0C4A>..<U0C4D>;<U0C55>..<U0C56>;/
<U0C62>..<U0C63>;/
<U0C82>..<U0C83>;<U0CBC>;<U0CBE>..<U0CC4>;<U0CC6>..<U0CC8>;/
<U0CCA>..<U0CCD>;<U0CD5>..<U0CD6>;<U0CE2>..<U0CE3>;<U0D02>..<U0D03>;/
<U0D3E>..<U0D43>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;/
<U0D3E>..<U0D44>;<U0D46>..<U0D48>;<U0D4A>..<U0D4D>;<U0D57>;/
<U0D62>..<U0D63>;/
<U0D82>..<U0D83>;<U0DCA>;<U0DCF>..<U0DD4>;<U0DD6>;<U0DD8>..<U0DDF>;/
<U0DF2>..<U0DF3>;<U0E31>;<U0E34>..<U0E3A>;<U0E47>..<U0E4E>;<U0EB1>;/
<U0EB4>..<U0EB9>;<U0EBB>..<U0EBC>;<U0EC8>..<U0ECD>;<U0F3E>..<U0F3F>;/
<U0F71>..<U0F81>;<U0F84>;<U0F90>..<U0F97>;<U0F99>..<U0FBC>;/
<U102C>..<U1032>;<U1036>..<U1039>;<U1056>..<U1059>;<U1712>..<U1714>;/
<U102B>..<U103F>;<U1056>..<U1059>;<U105E>..<U1060>;<U1062>..<U1064>;/
<U1067>..<U106D>;/
<U1071>..<U1074>;<U1082>..<U108D>;<U108F>;<U1712>..<U1714>;/
<U1732>..<U1734>;<U1752>..<U1753>;<U1772>..<U1773>;<U17B6>..<U17D3>;/
<U180B>..<U180D>;<U1920>..<U192B>;<U1930>..<U1938>;<U19B0>..<U19C0>;/
<U19C8>..<U19C9>;<U1A19>..<U1A1B>;<U1B00>..<U1B04>;<U1B34>..<U1B44>;/

View file

@ -1,4 +1,4 @@
# Copyright (C) 1998,2000,2002,2003,2004,2005,2006,2007
# Copyright (C) 1998,2000,2002,2003,2004,2005,2006,2007,2008
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
@ -90,7 +90,8 @@ CFLAGS-nscd_initgroups.c = -fexceptions
nscd-cflags = -DIS_IN_nscd=1 -D_FORTIFY_SOURCE=2
ifeq (yesyes,$(have-fpie)$(build-shared))
nscd-cflags += -fpie
#nscd-cflags += -fpie
nscd-cflags += -fpic
endif
ifeq (yes,$(have-ssp))
nscd-cflags += -fstack-protector

View file

@ -1,5 +1,5 @@
/* Cache handling for host lookup.
Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
Copyright (C) 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
@ -262,7 +262,8 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
{
dataset = (struct dataset *) mempool_alloc (db,
total
+ req->key_len);
+ req->key_len,
IDX_result_data);
if (dataset == NULL)
++db->head->addfailed;
}
@ -338,7 +339,8 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
struct dataset *newp
= (struct dataset *) mempool_alloc (db,
total
+ req->key_len);
+ req->key_len,
IDX_result_data);
if (__builtin_expect (newp != NULL, 1))
{
/* Adjust pointer into the memory block. */
@ -424,7 +426,8 @@ addhstaiX (struct database_dyn *db, int fd, request_header *req,
if (fd != -1)
TEMP_FAILURE_RETRY (send (fd, &notfound, total, MSG_NOSIGNAL));
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len);
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
IDX_result_data);
/* If we cannot permanently store the result, so be it. */
if (dataset != NULL)
{

View file

@ -1,4 +1,4 @@
/* Copyright (c) 1998, 1999, 2003-2006, 2007 Free Software Foundation, Inc.
/* Copyright (c) 1998, 1999, 2003-2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@ -155,11 +155,16 @@ cache_add (int type, const void *key, size_t len, struct datahead *packet,
unsigned long int hash = __nis_hash (key, len) % table->head->module;
struct hashentry *newp;
newp = mempool_alloc (table, sizeof (struct hashentry));
newp = mempool_alloc (table, sizeof (struct hashentry), IDX_record_data);
/* If we cannot allocate memory, just do not do anything. */
if (newp == NULL)
{
++table->head->addfailed;
/* Mark the in-flight memory as unused. */
for (enum in_flight idx = 0; idx < IDX_record_data; ++idx)
mem_in_flight.block[idx].dbidx = -1;
return -1;
}
@ -215,6 +220,10 @@ cache_add (int type, const void *key, size_t len, struct datahead *packet,
else
next_wakeup = table->wakeup_time;
/* Mark the in-flight memory as unused. */
for (enum in_flight idx = 0; idx < IDX_last; ++idx)
mem_in_flight.block[idx].dbidx = -1;
return 0;
}

View file

@ -225,6 +225,11 @@ static int sock;
/* Number of times clients had to wait. */
unsigned long int client_queued;
/* Data structure for recording in-flight memory allocation. */
__thread struct mem_in_flight mem_in_flight;
/* Global list of the mem_in_flight variables of all the threads. */
struct mem_in_flight *mem_in_flight_list;
ssize_t
writeall (int fd, const void *buf, size_t len)
@ -964,7 +969,7 @@ send_ro_fd (struct database_dyn *db, char *key, int fd)
/* Handle new request. */
static void
handle_request (int fd, request_header *req, void *key, uid_t uid)
handle_request (int fd, request_header *req, void *key, uid_t uid, pid_t pid)
{
if (__builtin_expect (req->version, NSCD_VERSION) != NSCD_VERSION)
{
@ -979,7 +984,31 @@ cannot handle old request version %d; current version is %d"),
if (selinux_enabled && nscd_request_avc_has_perm (fd, req->type) != 0)
{
if (debug_level > 0)
dbg_log (_("request not handled due to missing permission"));
{
#ifdef SO_PEERCRED
# ifdef PATH_MAX
char buf[PATH_MAX];
# else
char buf[4096];
# endif
snprintf (buf, sizeof (buf), "/proc/%ld/exe", (long int) pid);
ssize_t n = readlink (buf, buf, sizeof (buf) - 1);
if (n <= 0)
dbg_log (_("\
request from %ld not handled due to missing permission"), (long int) pid);
else
{
buf[n] = '\0';
dbg_log (_("\
request from '%s' [%ld] not handled due to missing permission"),
buf, (long int) pid);
}
#else
dbg_log (_("request not handled due to missing permission"));
#endif
}
return;
}
@ -1426,6 +1455,16 @@ nscd_run_worker (void *p)
{
char buf[256];
/* Initialize the memory-in-flight list. */
for (enum in_flight idx = 0; idx < IDX_last; ++idx)
mem_in_flight.block[idx].dbidx = -1;
/* And queue this threads structure. */
do
mem_in_flight.next = mem_in_flight_list;
while (atomic_compare_and_exchange_bool_acq (&mem_in_flight_list,
&mem_in_flight,
mem_in_flight.next) != 0);
/* Initial locking. */
pthread_mutex_lock (&readylist_lock);
@ -1491,6 +1530,8 @@ nscd_run_worker (void *p)
if (getsockopt (fd, SOL_SOCKET, SO_PEERCRED, &caller, &optlen) == 0)
pid = caller.pid;
}
#else
const pid_t pid = 0;
#endif
/* It should not be possible to crash the nscd with a silly
@ -1531,7 +1572,7 @@ handle_request: request received (Version = %d)"), req.version);
}
/* Phew, we got all the data, now process it. */
handle_request (fd, &req, keybuf, uid);
handle_request (fd, &req, keybuf, uid, pid);
}
close_and_out:

View file

@ -1,5 +1,5 @@
/* Cache handling for group lookup.
Copyright (C) 1998-2005, 2006, 2007 Free Software Foundation, Inc.
Copyright (C) 1998-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@ -113,7 +113,8 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
MSG_NOSIGNAL));
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len);
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
IDX_result_data);
/* If we cannot permanently store the result, so be it. */
if (dataset != NULL)
{
@ -204,7 +205,8 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
if (he == NULL)
{
dataset = (struct dataset *) mempool_alloc (db, total + n);
dataset = (struct dataset *) mempool_alloc (db, total + n,
IDX_result_data);
if (dataset == NULL)
++db->head->addfailed;
}
@ -274,7 +276,8 @@ cache_addgr (struct database_dyn *db, int fd, request_header *req,
/* We have to create a new record. Just allocate
appropriate memory and copy it. */
struct dataset *newp
= (struct dataset *) mempool_alloc (db, total + n);
= (struct dataset *) mempool_alloc (db, total + n,
IDX_result_data);
if (newp != NULL)
{
/* Adjust pointers into the memory block. */

View file

@ -1,5 +1,5 @@
/* Cache handling for host lookup.
Copyright (C) 1998-2005, 2006, 2007 Free Software Foundation, Inc.
Copyright (C) 1998-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@ -121,7 +121,8 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
MSG_NOSIGNAL));
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len);
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
IDX_result_data);
/* If we cannot permanently store the result, so be it. */
if (dataset != NULL)
{
@ -226,7 +227,8 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
if (he == NULL && h_addr_list_cnt == 1)
{
dataset = (struct dataset *) mempool_alloc (db,
total + req->key_len);
total + req->key_len,
IDX_result_data);
if (dataset == NULL)
++db->head->addfailed;
}
@ -312,7 +314,8 @@ cache_addhst (struct database_dyn *db, int fd, request_header *req,
appropriate memory and copy it. */
struct dataset *newp
= (struct dataset *) mempool_alloc (db,
total + req->key_len);
total + req->key_len,
IDX_result_data);
if (newp != NULL)
{
/* Adjust pointers into the memory block. */

View file

@ -1,5 +1,5 @@
/* Cache handling for host lookup.
Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
@ -197,7 +197,8 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
MSG_NOSIGNAL));
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len);
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
IDX_result_data);
/* If we cannot permanently store the result, so be it. */
if (dataset != NULL)
{
@ -259,7 +260,8 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
if (he == NULL)
{
dataset = (struct dataset *) mempool_alloc (db,
total + req->key_len);
total + req->key_len,
IDX_result_data);
if (dataset == NULL)
++db->head->addfailed;
}
@ -329,7 +331,8 @@ addinitgroupsX (struct database_dyn *db, int fd, request_header *req,
/* We have to create a new record. Just allocate
appropriate memory and copy it. */
struct dataset *newp
= (struct dataset *) mempool_alloc (db, total + req->key_len);
= (struct dataset *) mempool_alloc (db, total + req->key_len,
IDX_result_data);
if (newp != NULL)
{
/* Adjust pointer into the memory block. */

View file

@ -1,5 +1,5 @@
/* Cache memory handling.
Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
@ -197,6 +197,31 @@ gc (struct database_dyn *db)
}
assert (cnt == db->head->nentries);
/* Go through the list of in-flight memory blocks. */
struct mem_in_flight *mrunp = mem_in_flight_list;
while (mrunp != NULL)
{
/* NB: There can be no race between this test and another thread
setting the field to the index we are looking for because
this would require the other thread to also have the memlock
for the database.
NB2: we do not have to look at latter blocks (higher indices) if
earlier blocks are not in flight. They are always allocated in
sequence. */
for (enum in_flight idx = IDX_result_data;
idx < IDX_last && mrunp->block[idx].dbidx == db - dbs; ++idx)
{
assert ((char *) mrunp->block[idx].blockaddr > db->data);
assert ((char *) mrunp->block[idx].blockaddr
+ mrunp->block[0].blocklen <= db->data + db->memsize);
markrange (mark, (char *) mrunp->block[idx].blockaddr - db->data,
mrunp->block[idx].blocklen);
}
mrunp = mrunp->next;
}
/* Sort the entries by the addresses of the referenced data. All
the entries pointing to the same DATAHEAD object will have the
same key. Stability of the sorting is unimportant. */
@ -503,7 +528,7 @@ gc (struct database_dyn *db)
void *
mempool_alloc (struct database_dyn *db, size_t len)
mempool_alloc (struct database_dyn *db, size_t len, enum in_flight idx)
{
/* Make sure LEN is a multiple of our maximum alignment so we can
keep track of used memory is multiples of this alignment value. */
@ -567,6 +592,12 @@ mempool_alloc (struct database_dyn *db, size_t len)
db->head->first_free += len;
db->last_alloc_failed = false;
/* Remember that we have allocated this memory. */
assert (idx >= 0 && idx < IDX_last);
mem_in_flight.block[idx].dbidx = db - dbs;
mem_in_flight.block[idx].blocklen = len;
mem_in_flight.block[idx].blockaddr = res;
}
pthread_mutex_unlock (&db->memlock);

View file

@ -181,6 +181,31 @@ extern uid_t old_uid;
extern gid_t old_gid;
/* Memory allocation in flight. Each thread can have a limited number
of allocation in flight. No need to create dynamic data
structures. We use fixed indices. */
enum in_flight
{
IDX_result_data = 0,
/* Keep the IDX_record_data entry last at all times. */
IDX_record_data = 1,
IDX_last
};
extern __thread struct mem_in_flight
{
struct
{
int dbidx;
nscd_ssize_t blocklen;
void *blockaddr;
} block[IDX_last];
struct mem_in_flight *next;
} mem_in_flight;
/* Global list of the mem_in_flight variables of all the threads. */
extern struct mem_in_flight *mem_in_flight_list;
/* Prototypes for global functions. */
/* nscd.c */
@ -271,7 +296,8 @@ extern void readdservbyport (struct database_dyn *db, struct hashentry *he,
struct datahead *dh);
/* mem.c */
extern void *mempool_alloc (struct database_dyn *db, size_t len);
extern void *mempool_alloc (struct database_dyn *db, size_t len,
enum in_flight idx);
extern void gc (struct database_dyn *db);

View file

@ -1,5 +1,5 @@
/* Cache handling for passwd lookup.
Copyright (C) 1998-2005, 2006, 2007 Free Software Foundation, Inc.
Copyright (C) 1998-2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@ -120,7 +120,8 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
MSG_NOSIGNAL));
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len);
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
IDX_result_data);
/* If we cannot permanently store the result, so be it. */
if (dataset != NULL)
{
@ -199,7 +200,8 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
if (he == NULL)
{
dataset = (struct dataset *) mempool_alloc (db, total + n);
dataset = (struct dataset *) mempool_alloc (db, total + n,
IDX_result_data);
if (dataset == NULL)
++db->head->addfailed;
}
@ -270,7 +272,8 @@ cache_addpw (struct database_dyn *db, int fd, request_header *req,
/* We have to create a new record. Just allocate
appropriate memory and copy it. */
struct dataset *newp
= (struct dataset *) mempool_alloc (db, total + n);
= (struct dataset *) mempool_alloc (db, total + n,
IDX_result_data);
if (newp != NULL)
{
/* Adjust pointer into the memory block. */

View file

@ -1,5 +1,5 @@
/* Cache handling for services lookup.
Copyright (C) 2007 Free Software Foundation, Inc.
Copyright (C) 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@drepper.com>, 2007.
@ -103,7 +103,8 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
written = TEMP_FAILURE_RETRY (send (fd, &notfound, total,
MSG_NOSIGNAL));
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len);
dataset = mempool_alloc (db, sizeof (struct dataset) + req->key_len,
IDX_result_data);
/* If we cannot permanently store the result, so be it. */
if (dataset != NULL)
{
@ -190,7 +191,8 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
if (he == NULL)
{
dataset = (struct dataset *) mempool_alloc (db,
total + req->key_len);
total + req->key_len,
IDX_result_data);
if (dataset == NULL)
++db->head->addfailed;
}
@ -261,7 +263,8 @@ cache_addserv (struct database_dyn *db, int fd, request_header *req,
/* We have to create a new record. Just allocate
appropriate memory and copy it. */
struct dataset *newp
= (struct dataset *) mempool_alloc (db, total + req->key_len);
= (struct dataset *) mempool_alloc (db, total + req->key_len,
IDX_result_data);
if (newp != NULL)
{
/* Adjust pointers into the memory block. */