phonelib 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Gem Version](https://badge.fury.io/rb/phonelib.svg)](http://badge.fury.io/rb/phonelib)
|
4
|
+
[![Build Status](https://travis-ci.org/daddyz/phonelib.png?branch=master)](http://travis-ci.org/daddyz/phonelib)
|
5
|
+
[![](https://codeclimate.com/github/daddyz/phonelib/badges/coverage.svg)](https://codeclimate.com/github/daddyz/phonelib/coverage)
|
6
|
+
[![](https://codeclimate.com/github/daddyz/phonelib/badges/gpa.svg)](https://codeclimate.com/github/daddyz/phonelib)
|
7
|
+
[![Dependency Status](https://gemnasium.com/daddyz/phonelib.svg)](https://gemnasium.com/daddyz/phonelib)
|
8
|
+
[![Inline docs](http://inch-ci.org/github/daddyz/phonelib.svg?branch=master)](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
|
|