phonelib 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/{README.rdoc → README.md} +116 -75
- data/data/extended_data.dat +0 -0
- data/data/libphonenumber/FALSEHOODS.md +16 -0
- data/data/libphonenumber/FAQ.md +8 -0
- data/data/libphonenumber/README.md +1 -1
- data/data/libphonenumber/cpp/src/phonenumbers/alternate_format.cc +108 -100
- data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +10070 -10016
- data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +10938 -10884
- data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +2481 -2455
- data/data/libphonenumber/java/carrier/pom.xml +26 -4
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/255_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/374_ru +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/421_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/66_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/91_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/93_fa +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/973_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_fa +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/992_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/994_en +0 -0
- data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/config +0 -0
- data/data/libphonenumber/java/demo/pom.xml +6 -6
- data/data/libphonenumber/java/geocoder/pom.xml +26 -4
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1747_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/1934_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/371_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/44_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/504_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_bg +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ca +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_el +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_es +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_fi +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hi +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_hu +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_iw +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_ja +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/82_tr +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/91_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/93_fa +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/98_fa +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/992_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/994_en +0 -0
- data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
- data/data/libphonenumber/java/internal/prefixmapper/pom.xml +25 -3
- data/data/libphonenumber/java/libphonenumber/pom.xml +23 -2
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataLoader.java +2 -1
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java +63 -70
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberAlternateFormatsProto_595 +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BD +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BG +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BH +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CI +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_CN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_LV +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PY +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TC +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TH +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TJ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TZ +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_US +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AE +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_AR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BR +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_GB +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_IN +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_SK +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_ZA +0 -0
- data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto +0 -0
- data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java +25 -5
- data/data/libphonenumber/java/pom.xml +2 -2
- data/data/libphonenumber/java/release_notes.txt +45 -0
- data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +72 -70
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +38 -32
- data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +38 -32
- data/data/libphonenumber/resources/PhoneNumberAlternateFormats.xml +16 -0
- data/data/libphonenumber/resources/PhoneNumberMetadata.xml +232 -96
- data/data/libphonenumber/resources/ShortNumberMetadata.xml +188 -44
- data/data/libphonenumber/resources/carrier/en/255.txt +2 -0
- data/data/libphonenumber/resources/carrier/en/374.txt +3 -3
- data/data/libphonenumber/resources/carrier/en/421.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/66.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/91.txt +419 -253
- data/data/libphonenumber/resources/carrier/en/973.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/992.txt +1 -0
- data/data/libphonenumber/resources/carrier/en/994.txt +3 -0
- data/data/libphonenumber/resources/carrier/fa/93.txt +24 -0
- data/data/libphonenumber/resources/carrier/fa/98.txt +30 -0
- data/data/libphonenumber/resources/carrier/ru/374.txt +28 -0
- data/data/libphonenumber/resources/geocoding/bg/82.txt +34 -0
- data/data/libphonenumber/resources/geocoding/ca/82.txt +34 -0
- data/data/libphonenumber/resources/geocoding/el/82.txt +28 -0
- data/data/libphonenumber/resources/geocoding/en/1.txt +2 -0
- data/data/libphonenumber/resources/geocoding/en/371.txt +3 -0
- data/data/libphonenumber/resources/geocoding/en/44.txt +19 -1
- data/data/libphonenumber/resources/geocoding/en/504.txt +19 -0
- data/data/libphonenumber/resources/geocoding/en/91.txt +1 -5
- data/data/libphonenumber/resources/geocoding/en/93.txt +52 -0
- data/data/libphonenumber/resources/geocoding/en/98.txt +0 -2
- data/data/libphonenumber/resources/geocoding/en/992.txt +77 -0
- data/data/libphonenumber/resources/geocoding/en/994.txt +98 -0
- data/data/libphonenumber/resources/geocoding/es/82.txt +33 -0
- data/data/libphonenumber/resources/geocoding/fa/93.txt +53 -0
- data/data/libphonenumber/resources/geocoding/fa/98.txt +0 -2
- data/data/libphonenumber/resources/geocoding/fi/82.txt +34 -0
- data/data/libphonenumber/resources/geocoding/hi/82.txt +36 -0
- data/data/libphonenumber/resources/geocoding/hu/82.txt +35 -0
- data/data/libphonenumber/resources/geocoding/iw/82.txt +37 -0
- data/data/libphonenumber/resources/geocoding/ja/82.txt +35 -0
- data/data/libphonenumber/resources/geocoding/tr/82.txt +35 -0
- data/data/libphonenumber/tools/java/common/pom.xml +2 -0
- data/data/libphonenumber/tools/java/cpp-build/pom.xml +4 -0
- data/data/libphonenumber/tools/java/data/pom.xml +1 -11
- data/data/libphonenumber/tools/java/java-build/pom.xml +2 -0
- data/data/phone_data.dat +0 -0
- data/lib/phonelib.rb +7 -6
- data/lib/phonelib/core.rb +116 -68
- data/lib/phonelib/data_importer.rb +23 -19
- data/lib/phonelib/data_importer_helper.rb +16 -16
- data/lib/phonelib/phone.rb +47 -137
- data/lib/phonelib/phone_analyzer.rb +27 -25
- data/lib/phonelib/phone_analyzer_helper.rb +16 -9
- data/lib/phonelib/phone_extended_data.rb +27 -17
- data/lib/phonelib/phone_formatter.rb +131 -0
- data/lib/phonelib/version.rb +2 -3
- data/lib/tasks/phonelib_tasks.rake +0 -2
- data/lib/validators/phone_validator.rb +24 -14
- metadata +42 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0948595a30bc21e38ef24ed13df490cdc9655780
|
|
4
|
+
data.tar.gz: 7edd2aae83d4c0c6e55515047a975b6c141484c9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7eef376febc6a3df6e34c84149c3cdcb11345a448898ad23efdc434dfdf12a85d39ec5edb706895a6525d4d43a0a64c2df689794a563d11132f5d80724a858cb
|
|
7
|
+
data.tar.gz: 6ace660f5fb3a50018c5b5197fc7db98336c85c319c46e02bcdece1fc14baa09af0027a63eb40583ea9b574ae942f7f8544d1d66c16240306d4918c5bb427ccd
|
data/{README.rdoc → README.md}
RENAMED
|
@@ -1,132 +1,155 @@
|
|
|
1
|
-
|
|
1
|
+
## Phonelib
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
[](http://badge.fury.io/rb/phonelib)
|
|
4
|
+
[](http://travis-ci.org/daddyz/phonelib)
|
|
5
|
+
[](https://codeclimate.com/github/daddyz/phonelib/coverage)
|
|
6
|
+
[](https://codeclimate.com/github/daddyz/phonelib)
|
|
7
|
+
[](https://gemnasium.com/daddyz/phonelib)
|
|
8
|
+
[](http://inch-ci.org/github/daddyz/phonelib)
|
|
9
9
|
|
|
10
|
-
Phonelib is a gem allowing you to validate phone number. All validations are based on
|
|
10
|
+
Phonelib is a gem allowing you to validate phone number. All validations are based on [Google libphonenumber](http://code.google.com/p/libphonenumber/).
|
|
11
11
|
Currently it can make basic validations and formatting to e164 international number format and national number format with prefix.
|
|
12
12
|
But it still doesn't include all Google's library functionality.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
## Information
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
### Change Log
|
|
17
17
|
|
|
18
18
|
Change log can be found in repo's wiki
|
|
19
19
|
https://github.com/daddyz/phonelib/wiki/Change-Log
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
RDoc documentation can be found here
|
|
24
|
-
http://rubydoc.info/gems/phonelib/frames
|
|
25
|
-
|
|
26
|
-
=== Bug reports
|
|
21
|
+
### Bug reports
|
|
27
22
|
|
|
28
23
|
If you discover a problem with Phonelib gem, let us know about it.
|
|
29
24
|
https://github.com/daddyz/phonelib/issues
|
|
30
25
|
|
|
31
|
-
|
|
26
|
+
### Example application
|
|
32
27
|
|
|
33
28
|
You can see an example of ActiveRecord validation by phonelib working in spec/dummy application of this gem
|
|
34
29
|
|
|
35
|
-
|
|
30
|
+
## Getting started
|
|
36
31
|
|
|
37
32
|
Phonelib was written and tested on Rails >= 3.1. You can install it by adding in to your Gemfile with:
|
|
38
33
|
|
|
39
|
-
|
|
34
|
+
``` ruby
|
|
35
|
+
gem 'phonelib'
|
|
36
|
+
```
|
|
40
37
|
|
|
41
38
|
Run the bundle command to install it.
|
|
42
39
|
|
|
43
|
-
To set the default country (country names are
|
|
40
|
+
To set the default country (country names are [ISO 3166-1 Alpha-2](http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) codes), create a initializer in <tt>config/initializers/phonelib.rb</tt>:
|
|
44
41
|
|
|
45
|
-
|
|
42
|
+
``` ruby
|
|
43
|
+
Phonelib.default_country = "CN"
|
|
44
|
+
```
|
|
46
45
|
|
|
47
46
|
To use the ability to parse special numbers (Short Codes, Emergency etc.) you can set ```Phonelib.parse_special```. This is disabled by default
|
|
48
47
|
|
|
49
|
-
|
|
48
|
+
``` ruby
|
|
49
|
+
Phonelib.parse_special = true
|
|
50
|
+
```
|
|
50
51
|
|
|
51
52
|
To disable sanitizing of passed phone number (keeping digits only)
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
``` ruby
|
|
55
|
+
Phonelib.strict_check = true
|
|
56
|
+
```
|
|
54
57
|
|
|
55
58
|
To set different extension separator on formatting, this setting doesn't affect parsing. Default setting is ';'
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
``` ruby
|
|
61
|
+
Phonelib.extension_separator = ';'
|
|
62
|
+
```
|
|
58
63
|
|
|
59
64
|
To set symbols that are used for separating extension from phone number for parsing use ```Phonelib.extension_separate_symbols``` method. Default value is '#;'.
|
|
60
65
|
|
|
61
|
-
|
|
66
|
+
``` ruby
|
|
67
|
+
Phonelib.extension_separate_symbols = '#;'
|
|
68
|
+
```
|
|
62
69
|
|
|
63
70
|
In case phone number that was passed for parsing has "+" sign in the beginning, library will try to detect a country regarding the provided one.
|
|
64
71
|
|
|
65
|
-
|
|
72
|
+
### ActiveRecord Integration
|
|
66
73
|
|
|
67
74
|
This gem adds validator for active record.
|
|
68
75
|
Basic usage:
|
|
69
76
|
|
|
70
|
-
|
|
77
|
+
``` ruby
|
|
78
|
+
validates :attribute, phone: true
|
|
79
|
+
```
|
|
71
80
|
|
|
72
81
|
This will enable Phonelib validator for field "attribute". This validator checks that passed value is valid phone number.
|
|
73
82
|
Please note that passing blank value also fails.
|
|
74
83
|
|
|
75
84
|
Additional options:
|
|
76
85
|
|
|
77
|
-
|
|
86
|
+
``` ruby
|
|
87
|
+
validates :attribute, phone: { possible: true, allow_blank: true, types: [:voip, :mobile] }
|
|
88
|
+
```
|
|
78
89
|
|
|
79
90
|
<tt>possible: true</tt> - enables validation to check whether the passed number is a possible phone number (not strict check).
|
|
80
|
-
Refer to
|
|
91
|
+
Refer to [Google libphonenumber](http://code.google.com/p/libphonenumber/) for more information on it.
|
|
81
92
|
|
|
82
93
|
<tt>allow_blank: true</tt> - when no value passed then validation passes
|
|
83
94
|
|
|
84
95
|
<tt>types: :mobile</tt> or <tt>types: [:voip, :mobile]</tt> - allows to validate against specific phone types patterns,
|
|
85
96
|
if mixed with <tt>possible</tt> will check if number is possible for specified type
|
|
86
97
|
|
|
87
|
-
|
|
98
|
+
### Basic usage
|
|
88
99
|
|
|
89
100
|
To check if phone number is valid simply run:
|
|
90
101
|
|
|
91
|
-
|
|
102
|
+
``` ruby
|
|
103
|
+
Phonelib.valid?('123456789') # returns true or false
|
|
104
|
+
```
|
|
92
105
|
|
|
93
106
|
Additional methods:
|
|
94
107
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
108
|
+
``` ruby
|
|
109
|
+
Phonelib.valid? '123456789' # checks if passed value is valid number
|
|
110
|
+
Phonelib.invalid? '123456789' # checks if passed value is invalid number
|
|
111
|
+
Phonelib.possible? '123456789' # checks if passed value is possible number
|
|
112
|
+
Phonelib.impossible? '123456789' # checks if passed value is impossible number
|
|
113
|
+
```
|
|
99
114
|
|
|
100
115
|
There is also option to check if provided phone is valid for specified country.
|
|
101
116
|
Country should be specified as two letters country code (like "US" for United States).
|
|
102
117
|
Country can be specified as String <tt>'US'</tt> or <tt>'us'</tt> as well as symbol <tt>:us</tt>.
|
|
103
118
|
|
|
104
|
-
|
|
105
|
-
|
|
119
|
+
``` ruby
|
|
120
|
+
Phonelib.valid_for_country? '123456789', 'XX' # checks if passed value is valid number for specified country
|
|
121
|
+
Phonelib.invalid_for_country? '123456789', 'XX' # checks if passed value is invalid number for specified country
|
|
122
|
+
```
|
|
106
123
|
|
|
107
124
|
Additionally you can run:
|
|
108
125
|
|
|
109
|
-
|
|
126
|
+
``` ruby
|
|
127
|
+
phone = Phonelib.parse('123456789')
|
|
128
|
+
```
|
|
110
129
|
|
|
111
130
|
You can pass phone number with extension, it should be separated with <tt>;</tt> or <tt>#</tt> signs from the phone number.
|
|
112
131
|
|
|
113
132
|
Returned value is object of <tt>Phonelib::Phone</tt> class which have following methods:
|
|
114
133
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
134
|
+
``` ruby
|
|
135
|
+
# basic validation methods
|
|
136
|
+
phone.valid?
|
|
137
|
+
phone.invalid?
|
|
138
|
+
phone.possible?
|
|
139
|
+
phone.impossible?
|
|
120
140
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
141
|
+
# validations for countries
|
|
142
|
+
phone.valid_for_country? 'XX'
|
|
143
|
+
phone.invalid_for_country? 'XX'
|
|
144
|
+
```
|
|
124
145
|
|
|
125
146
|
You can also fetch matched valid phone types
|
|
126
147
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
148
|
+
``` ruby
|
|
149
|
+
phone.types # returns array of all valid types
|
|
150
|
+
phone.type # returns first element from array of all valid types
|
|
151
|
+
phone.possible_types # returns array of all possible types
|
|
152
|
+
```
|
|
130
153
|
|
|
131
154
|
Possible types:
|
|
132
155
|
* <tt>:premium_rate</tt> - Premium Rate
|
|
@@ -154,64 +177,82 @@ Possible types:
|
|
|
154
177
|
|
|
155
178
|
Or you can get human representation of matched types
|
|
156
179
|
|
|
157
|
-
|
|
158
|
-
|
|
180
|
+
``` ruby
|
|
181
|
+
phone.human_types # return array of human representations of valid types
|
|
182
|
+
phone.human_type # return human representation of first valid type
|
|
183
|
+
```
|
|
159
184
|
|
|
160
185
|
Also you can fetch all matched countries
|
|
161
186
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
187
|
+
``` ruby
|
|
188
|
+
phone.countries # returns array of all matched countries
|
|
189
|
+
phone.country # returns first element from array of all matched countries
|
|
190
|
+
phone.valid_countries # returns array of countries where phone was matched against valid pattern
|
|
191
|
+
phone.valid_country # returns first valid country from array of valid countries
|
|
192
|
+
phone.country_code # returns country phone prefix
|
|
193
|
+
```
|
|
167
194
|
|
|
168
195
|
Also it is possible to get formatted phone number
|
|
169
196
|
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
197
|
+
``` ruby
|
|
198
|
+
phone.international # returns formatted e164 international phone number
|
|
199
|
+
phone.national # returns formatted national number with national prefix
|
|
200
|
+
phone.area_code # returns area code of parsed number or nil
|
|
201
|
+
phone.local_number # returns local number
|
|
202
|
+
phone.extension # returns extension provided with phone
|
|
203
|
+
phone.full_e164 # returns e164 phone representation with extension
|
|
204
|
+
phone.full_international # returns formatted international number with extension
|
|
205
|
+
```
|
|
177
206
|
|
|
178
207
|
You can pass <tt>false</tt> to <tt>national</tt> and <tt>international</tt> methods in order to get unformatted representaions
|
|
179
208
|
|
|
180
|
-
|
|
181
|
-
|
|
209
|
+
``` ruby
|
|
210
|
+
phone.international(false) # returns unformatted international phone
|
|
211
|
+
phone.national(false) # returns unformatted national phone
|
|
212
|
+
```
|
|
182
213
|
|
|
183
214
|
You can get E164 formatted number
|
|
184
215
|
|
|
185
|
-
|
|
216
|
+
``` ruby
|
|
217
|
+
phone.e164 # returns number in E164 format
|
|
218
|
+
```
|
|
186
219
|
|
|
187
220
|
There is extended data available for numbers. It will return <tt>nil</tt> in case there is no data or phone is impossible.
|
|
188
221
|
Can return array of values in case there are some results for specified number
|
|
189
222
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
223
|
+
``` ruby
|
|
224
|
+
phone.geo_name # returns geo name of parsed phone
|
|
225
|
+
phone.timezone # returns timezone name of parsed phone
|
|
226
|
+
phone.carrier # returns carrier name of parsed phone
|
|
227
|
+
```
|
|
193
228
|
|
|
194
229
|
Phone class has following attributes
|
|
195
230
|
|
|
196
|
-
|
|
197
|
-
|
|
231
|
+
``` ruby
|
|
232
|
+
phone.original # string that was passed as phone number
|
|
233
|
+
phone.sanitized # sanitized phone number (only digits left)
|
|
234
|
+
```
|
|
198
235
|
|
|
199
|
-
|
|
236
|
+
### How it works
|
|
200
237
|
|
|
201
238
|
Gem includes data from Google libphonenumber which has regex patterns for validations.
|
|
202
239
|
Valid patterns are more specific to phone type and country.
|
|
203
240
|
Possible patterns as usual are patterns with number of digits in number.
|
|
204
241
|
|
|
205
|
-
|
|
242
|
+
### Development and tests
|
|
206
243
|
|
|
207
244
|
Everyone can do whatever he wants, the only limit is your imagination.
|
|
208
245
|
Just don't forget to write test before the pull request.
|
|
209
246
|
In order to run test without Rails functionality simply use
|
|
210
247
|
|
|
211
|
-
|
|
248
|
+
```
|
|
249
|
+
bundle exec rake spec
|
|
250
|
+
```
|
|
212
251
|
|
|
213
252
|
If you want to run including Rails environment, you need to set <tt>BUNDLE_GEMFILE</tt> while running the spec task, for example:
|
|
214
253
|
|
|
215
|
-
|
|
254
|
+
```
|
|
255
|
+
BUNDLE_GEMFILE=gemfiles/Gemfile.rails-3.2.x bundle exec rake spec
|
|
256
|
+
```
|
|
216
257
|
|
|
217
258
|
Gemfiles can be found in <tt>gemfiles</tt> folder, there are gemfiles for Rails 3.1, 3.2 and 4.
|
data/data/extended_data.dat
CHANGED
|
Binary file
|
|
@@ -219,3 +219,19 @@ surprising how many false assumptions programmers continue to make about them.
|
|
|
219
219
|
`1-555-123-4567`. This is technically incorrect. To call this number from
|
|
220
220
|
Japan, where the international call prefix is `010`, one may dial either `+1
|
|
221
221
|
555 123 4567` or `010 1 555 123 4567`.
|
|
222
|
+
|
|
223
|
+
1. **Users will only store phone numbers in your product's phone number fields**
|
|
224
|
+
|
|
225
|
+
Some users use their contact lists to store things like birthdays or other
|
|
226
|
+
information. Unless a piece of user-supplied data has actually been verified
|
|
227
|
+
to be a phone number, it should be stored as-is as entered by the user.
|
|
228
|
+
|
|
229
|
+
1. **Phone numbering plans published by governments or telecoms represent
|
|
230
|
+
reality**
|
|
231
|
+
|
|
232
|
+
National numbering plans, such as those administered by the
|
|
233
|
+
[ITU](http://www.itu.int/oth/T0202.aspx?parent=T0202), represent the
|
|
234
|
+
intentions of the government or telecom. These may be published before,
|
|
235
|
+
during, or after the actual implementation of numbering plan changes in the
|
|
236
|
+
real world. The actual date on which a phone number range becomes active may
|
|
237
|
+
not always adhere to official announcements.
|
data/data/libphonenumber/FAQ.md
CHANGED
|
@@ -68,6 +68,14 @@ Some number ranges are explicitly defined as being for fixed-line or mobile
|
|
|
68
68
|
phones. We even represent ranges defined as being "Mostly land-line" in this
|
|
69
69
|
way.
|
|
70
70
|
|
|
71
|
+
### What is mobile number portability?
|
|
72
|
+
|
|
73
|
+
The ability to keep your mobile phone number when changing carriers. To see whether a region supports mobile number portability use [isMobileNumberPortableRegion](https://github.com/googlei18n/libphonenumber/blob/master/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3275).
|
|
74
|
+
|
|
75
|
+
### Since it's possible to change the carrier for a phone number, how is the data kept up-to-date?
|
|
76
|
+
|
|
77
|
+
Not all regions support mobile number portability. For those that don't, we return the carrier when available. For those that do, we return the original carrier for the supplied number.
|
|
78
|
+
|
|
71
79
|
### What about M2M (machine to machine) numbers?
|
|
72
80
|
|
|
73
81
|
libphonenumber does not support M2M numbers at the moment, but might in the
|
|
@@ -17,7 +17,7 @@ If you want to report an issue, or to contribute to the project, please read the
|
|
|
17
17
|
* ` PhoneNumberOfflineGeocoder ` - provides geographical information related to a phone number.
|
|
18
18
|
* ` PhoneNumberToCarrierMapper ` - provides carrier information related to a phone number.
|
|
19
19
|
|
|
20
|
-
# Demo (v7.
|
|
20
|
+
# Demo (v7.5.1)
|
|
21
21
|
[Java](http://libphonenumber.appspot.com/)
|
|
22
22
|
|
|
23
23
|
[JavaScript](https://rawgit.com/googlei18n/libphonenumber/master/javascript/i18n/phonenumbers/demo-compiled.html)
|
|
@@ -778,112 +778,120 @@ static const unsigned char data[] = {
|
|
|
778
778
|
0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D,
|
|
779
779
|
0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32,
|
|
780
780
|
0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20,
|
|
781
|
-
0x24, 0x34, 0x1A, 0x07, 0x32, 0x5B, 0x31, 0x32, 0x5D, 0x7C, 0x39, 0x0A,
|
|
782
|
-
0x4A, 0x00, 0x50, 0xD3, 0x04, 0x9A, 0x01, 0x4C, 0x0A, 0x15, 0x28, 0x5C,
|
|
781
|
+
0x24, 0x34, 0x1A, 0x07, 0x32, 0x5B, 0x31, 0x32, 0x5D, 0x7C, 0x39, 0x0A, 0xC1,
|
|
782
|
+
0x01, 0x4A, 0x00, 0x50, 0xD3, 0x04, 0x9A, 0x01, 0x4C, 0x0A, 0x15, 0x28, 0x5C,
|
|
783
|
+
0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28,
|
|
784
|
+
0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32,
|
|
785
|
+
0x20, 0x24, 0x33, 0x1A, 0x29, 0x28, 0x3F, 0x3A, 0x5B, 0x32, 0x36, 0x5D, 0x31,
|
|
786
|
+
0x7C, 0x33, 0x5B, 0x32, 0x38, 0x39, 0x5D, 0x7C, 0x34, 0x5B, 0x31, 0x32, 0x34,
|
|
787
|
+
0x36, 0x37, 0x38, 0x5D, 0x7C, 0x37, 0x5B, 0x31, 0x32, 0x33, 0x5D, 0x7C, 0x38,
|
|
788
|
+
0x5B, 0x31, 0x32, 0x33, 0x36, 0x5D, 0x29, 0x9A, 0x01, 0x44, 0x0A, 0x10, 0x28,
|
|
789
|
+
0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x36, 0x2C, 0x37,
|
|
790
|
+
0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x29, 0x28, 0x3F,
|
|
791
|
+
0x3A, 0x5B, 0x32, 0x36, 0x5D, 0x31, 0x7C, 0x33, 0x5B, 0x32, 0x38, 0x39, 0x5D,
|
|
792
|
+
0x7C, 0x34, 0x5B, 0x31, 0x32, 0x34, 0x36, 0x37, 0x38, 0x5D, 0x7C, 0x37, 0x5B,
|
|
793
|
+
0x31, 0x32, 0x33, 0x5D, 0x7C, 0x38, 0x5B, 0x31, 0x32, 0x33, 0x36, 0x5D, 0x29,
|
|
794
|
+
0x9A, 0x01, 0x23, 0x0A, 0x0E, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28,
|
|
795
|
+
0x5C, 0x64, 0x7B, 0x36, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32,
|
|
796
|
+
0x1A, 0x0A, 0x5B, 0x32, 0x2D, 0x38, 0x5D, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x0A,
|
|
797
|
+
0xBB, 0x02, 0x4A, 0x00, 0x50, 0xFD, 0x02, 0x9A, 0x01, 0x2D, 0x0A, 0x14, 0x28,
|
|
798
|
+
0x5B, 0x32, 0x33, 0x5D, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
799
|
+
0x7B, 0x34, 0x2C, 0x39, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32,
|
|
800
|
+
0x1A, 0x0E, 0x28, 0x3F, 0x3A, 0x32, 0x5B, 0x33, 0x38, 0x39, 0x5D, 0x7C, 0x33,
|
|
801
|
+
0x39, 0x29, 0x30, 0x9A, 0x01, 0x51, 0x0A, 0x17, 0x28, 0x5B, 0x31, 0x2D, 0x33,
|
|
802
|
+
0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C,
|
|
803
|
+
0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
|
|
804
|
+
0x24, 0x33, 0x1A, 0x2C, 0x31, 0x7C, 0x32, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D,
|
|
805
|
+
0x32, 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x5B, 0x33, 0x38, 0x39, 0x5D, 0x5B, 0x31,
|
|
806
|
+
0x2D, 0x39, 0x5D, 0x29, 0x7C, 0x33, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x38,
|
|
807
|
+
0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x9A, 0x01, 0x5B, 0x0A,
|
|
808
|
+
0x1E, 0x28, 0x5B, 0x31, 0x2D, 0x33, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64,
|
|
783
809
|
0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
|
|
810
|
+
0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
|
|
811
|
+
0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x2C, 0x31, 0x7C, 0x32, 0x28, 0x3F, 0x3A,
|
|
812
|
+
0x5B, 0x30, 0x2D, 0x32, 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x5B, 0x33, 0x38, 0x39,
|
|
813
|
+
0x5D, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x7C, 0x33, 0x28, 0x3F, 0x3A, 0x5B,
|
|
814
|
+
0x30, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x9A,
|
|
815
|
+
0x01, 0x2C, 0x0A, 0x1A, 0x28, 0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B,
|
|
816
|
+
0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
817
|
+
0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24,
|
|
818
|
+
0x33, 0x20, 0x24, 0x34, 0x1A, 0x01, 0x36, 0x9A, 0x01, 0x22, 0x0A, 0x13, 0x28,
|
|
819
|
+
0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C,
|
|
784
820
|
0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
|
|
785
|
-
0x24, 0x33, 0x1A,
|
|
786
|
-
|
|
787
|
-
0x37, 0x38, 0x5D, 0x7C, 0x37, 0x5B, 0x31, 0x32, 0x33, 0x5D, 0x7C, 0x38, 0x5B,
|
|
788
|
-
0x31, 0x32, 0x33, 0x36, 0x5D, 0x29, 0x0A, 0xBB, 0x02, 0x4A, 0x00, 0x50, 0xFD,
|
|
789
|
-
0x02, 0x9A, 0x01, 0x2D, 0x0A, 0x14, 0x28, 0x5B, 0x32, 0x33, 0x5D, 0x5C, 0x64,
|
|
790
|
-
0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x2C, 0x39, 0x7D, 0x29,
|
|
791
|
-
0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x0E, 0x28, 0x3F, 0x3A, 0x32,
|
|
792
|
-
0x5B, 0x33, 0x38, 0x39, 0x5D, 0x7C, 0x33, 0x39, 0x29, 0x30, 0x9A, 0x01, 0x51,
|
|
793
|
-
0x0A, 0x17, 0x28, 0x5B, 0x31, 0x2D, 0x33, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C,
|
|
794
|
-
0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12,
|
|
795
|
-
0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x2C, 0x31, 0x7C,
|
|
796
|
-
0x32, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x32, 0x34, 0x2D, 0x37, 0x5D, 0x7C,
|
|
797
|
-
0x5B, 0x33, 0x38, 0x39, 0x5D, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x7C, 0x33,
|
|
798
|
-
0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D,
|
|
799
|
-
0x39, 0x5D, 0x29, 0x9A, 0x01, 0x5B, 0x0A, 0x1E, 0x28, 0x5B, 0x31, 0x2D, 0x33,
|
|
800
|
-
0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
|
|
801
|
-
0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12,
|
|
802
|
-
0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A,
|
|
803
|
-
0x2C, 0x31, 0x7C, 0x32, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x32, 0x34, 0x2D,
|
|
804
|
-
0x37, 0x5D, 0x7C, 0x5B, 0x33, 0x38, 0x39, 0x5D, 0x5B, 0x31, 0x2D, 0x39, 0x5D,
|
|
805
|
-
0x29, 0x7C, 0x33, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x38, 0x5D, 0x7C, 0x39,
|
|
806
|
-
0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x29, 0x9A, 0x01, 0x2C, 0x0A, 0x1A, 0x28, 0x36,
|
|
807
|
-
0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
808
|
-
0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B,
|
|
809
|
-
0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x01,
|
|
810
|
-
0x36, 0x9A, 0x01, 0x22, 0x0A, 0x13, 0x28, 0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C,
|
|
821
|
+
0x24, 0x33, 0x1A, 0x01, 0x36, 0x0A, 0x80, 0x02, 0x4A, 0x00, 0x50, 0x07, 0x9A,
|
|
822
|
+
0x01, 0x2A, 0x0A, 0x15, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C,
|
|
811
823
|
0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12,
|
|
812
|
-
0x08, 0x24, 0x31, 0x20, 0x24, 0x32,
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
0x64, 0x7B, 0x35, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A,
|
|
819
|
-
0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x34, 0x0A, 0x1C,
|
|
820
|
-
0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D,
|
|
821
|
-
0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32,
|
|
822
|
-
0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x2D, 0x24, 0x33, 0x2D,
|
|
823
|
-
0x24, 0x34, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01,
|
|
824
|
-
0x34, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
825
|
-
0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
|
|
826
|
-
0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x2D,
|
|
827
|
-
0x24, 0x33, 0x2D, 0x24, 0x34, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39,
|
|
828
|
-
0x5D, 0x9A, 0x01, 0x3B, 0x0A, 0x20, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29,
|
|
829
|
-
0x28, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
|
|
830
|
-
0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12,
|
|
831
|
-
0x0E, 0x24, 0x31, 0x2D, 0x24, 0x32, 0x20, 0x24, 0x33, 0x2D, 0x24, 0x34, 0x2D,
|
|
832
|
-
0x24, 0x35, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x0A, 0x22,
|
|
833
|
-
0x4A, 0x00, 0x50, 0x42, 0x9A, 0x01, 0x1B, 0x0A, 0x0F, 0x28, 0x32, 0x5C, 0x64,
|
|
834
|
-
0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x12, 0x05,
|
|
835
|
-
0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x01, 0x32, 0x0A, 0x2F, 0x4A, 0x00, 0x50,
|
|
836
|
-
0xA4, 0x05, 0x9A, 0x01, 0x27, 0x0A, 0x0E, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D,
|
|
837
|
-
0x29, 0x28, 0x5C, 0x64, 0x7B, 0x35, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20,
|
|
838
|
-
0x24, 0x32, 0x1A, 0x0E, 0x37, 0x5B, 0x35, 0x2D, 0x39, 0x5D, 0x7C, 0x38, 0x5B,
|
|
839
|
-
0x34, 0x37, 0x2D, 0x39, 0x5D, 0x0A, 0x53, 0x4A, 0x00, 0x50, 0x5A, 0x9A, 0x01,
|
|
840
|
-
0x4C, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
841
|
-
0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
|
|
842
|
-
0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
|
|
843
|
-
0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x1F, 0x5B, 0x32, 0x33, 0x35, 0x38, 0x39,
|
|
844
|
-
0x5D, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B, 0x30, 0x2D, 0x33, 0x35, 0x2D, 0x39,
|
|
845
|
-
0x5D, 0x7C, 0x34, 0x5B, 0x30, 0x2D, 0x33, 0x35, 0x2D, 0x39, 0x5D, 0x29, 0x0A,
|
|
846
|
-
0x5B, 0x4A, 0x00, 0x50, 0xFF, 0x01, 0x9A, 0x01, 0x28, 0x0A, 0x16, 0x28, 0x5B,
|
|
847
|
-
0x36, 0x37, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29,
|
|
848
|
-
0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24,
|
|
849
|
-
0x32, 0x20, 0x24, 0x33, 0x1A, 0x04, 0x5B, 0x36, 0x37, 0x5D, 0x9A, 0x01, 0x28,
|
|
850
|
-
0x0A, 0x16, 0x28, 0x5B, 0x36, 0x37, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64,
|
|
851
|
-
0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08,
|
|
852
|
-
0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x04, 0x5B, 0x36, 0x37,
|
|
853
|
-
0x5D, 0x0A, 0xF1, 0x01, 0x4A, 0x00, 0x50, 0xFC, 0x02, 0x9A, 0x01, 0x73, 0x0A,
|
|
854
|
-
0x20, 0x28, 0x5B, 0x33, 0x2D, 0x36, 0x38, 0x39, 0x5D, 0x5C, 0x64, 0x29, 0x28,
|
|
855
|
-
0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
|
|
856
|
-
0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24,
|
|
857
|
-
0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x42, 0x5B, 0x33, 0x38, 0x5D,
|
|
858
|
-
0x39, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B, 0x34, 0x35, 0x5D, 0x5B, 0x30, 0x2D,
|
|
859
|
-
0x35, 0x5D, 0x7C, 0x38, 0x37, 0x29, 0x7C, 0x35, 0x28, 0x3F, 0x3A, 0x30, 0x7C,
|
|
860
|
-
0x36, 0x28, 0x3F, 0x3A, 0x33, 0x5B, 0x31, 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x37,
|
|
861
|
-
0x29, 0x7C, 0x37, 0x5B, 0x33, 0x37, 0x5D, 0x29, 0x7C, 0x36, 0x5B, 0x33, 0x36,
|
|
862
|
-
0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x73,
|
|
863
|
-
0x0A, 0x20, 0x28, 0x5B, 0x33, 0x2D, 0x36, 0x38, 0x39, 0x5D, 0x5C, 0x64, 0x29,
|
|
864
|
-
0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D,
|
|
824
|
+
0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x2D, 0x24, 0x33, 0x1A, 0x07, 0x5B, 0x33,
|
|
825
|
+
0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x20, 0x0A, 0x0E, 0x28, 0x5C, 0x64,
|
|
826
|
+
0x7B, 0x35, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x35, 0x7D, 0x29, 0x12, 0x05,
|
|
827
|
+
0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x07, 0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39,
|
|
828
|
+
0x5D, 0x9A, 0x01, 0x34, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29,
|
|
829
|
+
0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D,
|
|
865
830
|
0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20,
|
|
866
|
-
0x24, 0x32,
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
831
|
+
0x24, 0x32, 0x2D, 0x24, 0x33, 0x2D, 0x24, 0x34, 0x1A, 0x07, 0x5B, 0x33, 0x34,
|
|
832
|
+
0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x34, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B,
|
|
833
|
+
0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
834
|
+
0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x0B,
|
|
835
|
+
0x24, 0x31, 0x20, 0x24, 0x32, 0x2D, 0x24, 0x33, 0x2D, 0x24, 0x34, 0x1A, 0x07,
|
|
836
|
+
0x5B, 0x33, 0x34, 0x36, 0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x3B, 0x0A, 0x20, 0x28,
|
|
837
|
+
0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64,
|
|
838
|
+
0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C,
|
|
839
|
+
0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0E, 0x24, 0x31, 0x2D, 0x24, 0x32, 0x20,
|
|
840
|
+
0x24, 0x33, 0x2D, 0x24, 0x34, 0x2D, 0x24, 0x35, 0x1A, 0x07, 0x5B, 0x33, 0x34,
|
|
841
|
+
0x36, 0x2D, 0x39, 0x5D, 0x0A, 0x22, 0x4A, 0x00, 0x50, 0x42, 0x9A, 0x01, 0x1B,
|
|
842
|
+
0x0A, 0x0F, 0x28, 0x32, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
843
|
+
0x7B, 0x34, 0x7D, 0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x01,
|
|
844
|
+
0x32, 0x0A, 0x2F, 0x4A, 0x00, 0x50, 0xA4, 0x05, 0x9A, 0x01, 0x27, 0x0A, 0x0E,
|
|
845
|
+
0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x35, 0x7D,
|
|
846
|
+
0x29, 0x12, 0x05, 0x24, 0x31, 0x20, 0x24, 0x32, 0x1A, 0x0E, 0x37, 0x5B, 0x35,
|
|
847
|
+
0x2D, 0x39, 0x5D, 0x7C, 0x38, 0x5B, 0x34, 0x37, 0x2D, 0x39, 0x5D, 0x0A, 0x53,
|
|
848
|
+
0x4A, 0x00, 0x50, 0x5A, 0x9A, 0x01, 0x4C, 0x0A, 0x1C, 0x28, 0x5C, 0x64, 0x7B,
|
|
873
849
|
0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
874
|
-
0x7B,
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
850
|
+
0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x12, 0x0B,
|
|
851
|
+
0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x1F,
|
|
852
|
+
0x5B, 0x32, 0x33, 0x35, 0x38, 0x39, 0x5D, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B,
|
|
853
|
+
0x30, 0x2D, 0x33, 0x35, 0x2D, 0x39, 0x5D, 0x7C, 0x34, 0x5B, 0x30, 0x2D, 0x33,
|
|
854
|
+
0x35, 0x2D, 0x39, 0x5D, 0x29, 0x0A, 0x5B, 0x4A, 0x00, 0x50, 0xFF, 0x01, 0x9A,
|
|
855
|
+
0x01, 0x28, 0x0A, 0x16, 0x28, 0x5B, 0x36, 0x37, 0x5D, 0x5C, 0x64, 0x29, 0x28,
|
|
856
|
+
0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29,
|
|
857
|
+
0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x04, 0x5B,
|
|
858
|
+
0x36, 0x37, 0x5D, 0x9A, 0x01, 0x28, 0x0A, 0x16, 0x28, 0x5B, 0x36, 0x37, 0x5D,
|
|
859
|
+
0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x28, 0x5C, 0x64,
|
|
860
|
+
0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24,
|
|
861
|
+
0x33, 0x1A, 0x04, 0x5B, 0x36, 0x37, 0x5D, 0x0A, 0xF1, 0x01, 0x4A, 0x00, 0x50,
|
|
862
|
+
0xFC, 0x02, 0x9A, 0x01, 0x73, 0x0A, 0x20, 0x28, 0x5B, 0x33, 0x2D, 0x36, 0x38,
|
|
863
|
+
0x39, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28,
|
|
864
|
+
0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
|
|
865
|
+
0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34,
|
|
866
|
+
0x1A, 0x42, 0x5B, 0x33, 0x38, 0x5D, 0x39, 0x7C, 0x34, 0x28, 0x3F, 0x3A, 0x5B,
|
|
867
|
+
0x34, 0x35, 0x5D, 0x5B, 0x30, 0x2D, 0x35, 0x5D, 0x7C, 0x38, 0x37, 0x29, 0x7C,
|
|
868
|
+
0x35, 0x28, 0x3F, 0x3A, 0x30, 0x7C, 0x36, 0x28, 0x3F, 0x3A, 0x33, 0x5B, 0x31,
|
|
869
|
+
0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x37, 0x29, 0x7C, 0x37, 0x5B, 0x33, 0x37, 0x5D,
|
|
870
|
+
0x29, 0x7C, 0x36, 0x5B, 0x33, 0x36, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B, 0x31,
|
|
871
|
+
0x2D, 0x39, 0x5D, 0x9A, 0x01, 0x73, 0x0A, 0x20, 0x28, 0x5B, 0x33, 0x2D, 0x36,
|
|
872
|
+
0x38, 0x39, 0x5D, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
|
|
873
|
+
0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x32, 0x7D,
|
|
881
874
|
0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x20, 0x24,
|
|
882
|
-
0x34, 0x1A,
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
0x5B,
|
|
875
|
+
0x34, 0x1A, 0x42, 0x5B, 0x33, 0x38, 0x5D, 0x39, 0x7C, 0x34, 0x28, 0x3F, 0x3A,
|
|
876
|
+
0x5B, 0x34, 0x35, 0x5D, 0x5B, 0x30, 0x2D, 0x35, 0x5D, 0x7C, 0x38, 0x37, 0x29,
|
|
877
|
+
0x7C, 0x35, 0x28, 0x3F, 0x3A, 0x30, 0x7C, 0x36, 0x28, 0x3F, 0x3A, 0x33, 0x5B,
|
|
878
|
+
0x31, 0x34, 0x2D, 0x37, 0x5D, 0x7C, 0x37, 0x29, 0x7C, 0x37, 0x5B, 0x33, 0x37,
|
|
879
|
+
0x5D, 0x29, 0x7C, 0x36, 0x5B, 0x33, 0x36, 0x2D, 0x38, 0x5D, 0x7C, 0x39, 0x5B,
|
|
880
|
+
0x31, 0x2D, 0x39, 0x5D, 0x0A, 0x28, 0x4A, 0x00, 0x50, 0x3A, 0x9A, 0x01, 0x21,
|
|
881
|
+
0x0A, 0x15, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B,
|
|
882
|
+
0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x34, 0x7D, 0x29, 0x12, 0x08, 0x24,
|
|
883
|
+
0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x0A, 0x5F, 0x4A, 0x00, 0x50, 0x54,
|
|
884
|
+
0x9A, 0x01, 0x25, 0x0A, 0x16, 0x28, 0x39, 0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29,
|
|
885
|
+
0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D,
|
|
886
|
+
0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20, 0x24, 0x33, 0x1A, 0x01,
|
|
887
|
+
0x39, 0x9A, 0x01, 0x30, 0x0A, 0x1B, 0x28, 0x5B, 0x34, 0x38, 0x5D, 0x29, 0x28,
|
|
888
|
+
0x5C, 0x64, 0x7B, 0x32, 0x7D, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29,
|
|
889
|
+
0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x0B, 0x24, 0x31, 0x20, 0x24,
|
|
890
|
+
0x32, 0x20, 0x24, 0x33, 0x20, 0x24, 0x34, 0x1A, 0x04, 0x5B, 0x34, 0x38, 0x5D,
|
|
891
|
+
0x0A, 0x30, 0x4A, 0x00, 0x50, 0x1B, 0x9A, 0x01, 0x29, 0x0A, 0x14, 0x28, 0x38,
|
|
892
|
+
0x36, 0x5C, 0x64, 0x29, 0x28, 0x5C, 0x64, 0x7B, 0x33, 0x7D, 0x29, 0x28, 0x5C,
|
|
893
|
+
0x64, 0x7B, 0x33, 0x7D, 0x29, 0x12, 0x08, 0x24, 0x31, 0x20, 0x24, 0x32, 0x20,
|
|
894
|
+
0x24, 0x33, 0x1A, 0x07, 0x38, 0x36, 0x5B, 0x31, 0x2D, 0x39, 0x5D
|
|
887
895
|
};
|
|
888
896
|
} // namespace
|
|
889
897
|
|