ffaker 2.18.0 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (241) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog.md +10 -0
  3. data/REFERENCE.md +1406 -1302
  4. data/ffaker.gemspec +2 -4
  5. data/lib/ffaker.rb +13 -3
  6. data/lib/ffaker/address_au.rb +1 -1
  7. data/lib/ffaker/address_br.rb +1 -1
  8. data/lib/ffaker/address_ca.rb +1 -1
  9. data/lib/ffaker/address_it.rb +37 -0
  10. data/lib/ffaker/address_mx.rb +2 -8
  11. data/lib/ffaker/company_fr.rb +35 -0
  12. data/lib/ffaker/{courses.rb → courses_fr.rb} +2 -0
  13. data/lib/ffaker/data/address_br/city +0 -1
  14. data/lib/ffaker/data/address_br/state +1 -1
  15. data/lib/ffaker/data/address_it/city +111 -0
  16. data/lib/ffaker/data/address_it/region +20 -0
  17. data/lib/ffaker/data/food_pl/fermented +1 -1
  18. data/lib/ffaker/data/food_pl/fruits +1 -1
  19. data/lib/ffaker/data/food_pl/herbs +1 -1
  20. data/lib/ffaker/data/food_pl/meats +1 -1
  21. data/lib/ffaker/data/food_pl/preserves +1 -1
  22. data/lib/ffaker/data/food_pl/spices +1 -1
  23. data/lib/ffaker/data/food_pl/vegetables +1 -1
  24. data/lib/ffaker/data/game/adj_and_adv +18 -0
  25. data/lib/ffaker/data/game/category +84 -0
  26. data/lib/ffaker/data/game/mechanic +182 -0
  27. data/lib/ffaker/data/game/nouns +37 -0
  28. data/lib/ffaker/data/game/prefixes +17 -0
  29. data/lib/ffaker/data/job_it/job_adj +37 -0
  30. data/lib/ffaker/data/job_it/job_noun +25 -0
  31. data/lib/ffaker/data/job_it/job_prefix +22 -0
  32. data/lib/ffaker/data/lorem_br/characters +36 -0
  33. data/lib/ffaker/data/lorem_br/words +183 -0
  34. data/lib/ffaker/data/lorem_it/words +321 -0
  35. data/lib/ffaker/data/name/pronouns +1 -1
  36. data/lib/ffaker/data/name_ga/first_names_male +286 -286
  37. data/lib/ffaker/data/sport_ru/summer +68 -0
  38. data/lib/ffaker/data/sport_ru/winter +20 -0
  39. data/lib/ffaker/freedom_ipsum.rb +1 -1
  40. data/lib/ffaker/game.rb +33 -0
  41. data/lib/ffaker/gender_it.rb +17 -0
  42. data/lib/ffaker/gender_ru.rb +22 -0
  43. data/lib/ffaker/identification_it.rb +30 -0
  44. data/lib/ffaker/job_it.rb +12 -0
  45. data/lib/ffaker/lorem_br.rb +45 -0
  46. data/lib/ffaker/lorem_it.rb +39 -0
  47. data/lib/ffaker/name_th_en.rb +1 -1
  48. data/lib/ffaker/sport_ru.rb +25 -0
  49. data/lib/ffaker/ssn_se.rb +0 -19
  50. data/lib/ffaker/utils/array_utils.rb +1 -1
  51. data/lib/ffaker/utils/module_utils.rb +23 -3
  52. data/lib/version.rb +1 -1
  53. data/scripts/profiling.rb +1 -1
  54. data/scripts/reference.rb +2 -3
  55. data/test/helper.rb +1 -1
  56. data/test/test_address.rb +1 -1
  57. data/test/test_address_au.rb +1 -1
  58. data/test/test_address_br.rb +1 -1
  59. data/test/test_address_ca.rb +1 -1
  60. data/test/test_address_ch.rb +1 -1
  61. data/test/test_address_ch_de.rb +1 -1
  62. data/test/test_address_ch_fr.rb +1 -1
  63. data/test/test_address_ch_it.rb +1 -1
  64. data/test/test_address_da.rb +1 -1
  65. data/test/test_address_de.rb +1 -1
  66. data/test/test_address_fi.rb +1 -1
  67. data/test/test_address_fr.rb +1 -1
  68. data/test/test_address_gr.rb +1 -1
  69. data/test/test_address_id.rb +1 -1
  70. data/test/test_address_in.rb +1 -1
  71. data/test/test_address_it.rb +12 -0
  72. data/test/test_address_ja.rb +1 -1
  73. data/test/test_address_kr.rb +1 -1
  74. data/test/test_address_mx.rb +1 -1
  75. data/test/test_address_nl.rb +1 -1
  76. data/test/test_address_pl.rb +1 -1
  77. data/test/test_address_ru.rb +1 -1
  78. data/test/test_address_se.rb +1 -1
  79. data/test/test_address_sn.rb +1 -1
  80. data/test/test_address_ua.rb +1 -1
  81. data/test/test_address_uk.rb +1 -1
  82. data/test/test_address_us.rb +1 -1
  83. data/test/test_airline.rb +1 -1
  84. data/test/test_animal.rb +1 -1
  85. data/test/test_animal_cn.rb +1 -1
  86. data/test/test_animal_es.rb +1 -1
  87. data/test/test_animal_pl.rb +1 -1
  88. data/test/test_animal_us.rb +1 -1
  89. data/test/test_array_utils.rb +2 -1
  90. data/test/test_avatar.rb +1 -1
  91. data/test/test_aws.rb +1 -1
  92. data/test/test_bacon_ipsum.rb +1 -1
  93. data/test/test_bank.rb +1 -1
  94. data/test/test_book.rb +1 -1
  95. data/test/test_boolean.rb +1 -1
  96. data/test/test_cheesy_lingo.rb +1 -1
  97. data/test/test_code.rb +1 -1
  98. data/test/test_color.rb +1 -1
  99. data/test/test_color_pl.rb +1 -1
  100. data/test/test_color_ua.rb +1 -1
  101. data/test/test_company.rb +1 -1
  102. data/test/test_company_cn.rb +1 -1
  103. data/test/test_company_fr.rb +33 -0
  104. data/test/test_company_it.rb +1 -1
  105. data/test/test_company_ja.rb +1 -1
  106. data/test/test_company_se.rb +1 -1
  107. data/test/test_conference.rb +1 -1
  108. data/test/test_course_mathematiques.rb +1 -1
  109. data/test/test_course_philosophie.rb +1 -1
  110. data/test/test_currency.rb +1 -1
  111. data/test/test_dizzle_ipsum.rb +1 -1
  112. data/test/test_education.rb +1 -1
  113. data/test/test_education_cn.rb +1 -1
  114. data/test/test_ffaker.rb +1 -1
  115. data/test/test_filesystem.rb +1 -1
  116. data/test/test_food.rb +1 -1
  117. data/test/test_food_pl.rb +1 -1
  118. data/test/test_freedom_ipsum.rb +1 -1
  119. data/test/test_game.rb +28 -0
  120. data/test/test_gender.rb +2 -2
  121. data/test/test_gender_br.rb +1 -1
  122. data/test/test_gender_cn.rb +1 -1
  123. data/test/test_gender_id.rb +1 -1
  124. data/test/test_gender_it.rb +27 -0
  125. data/test/test_gender_ja.rb +1 -1
  126. data/test/test_gender_jp.rb +1 -1
  127. data/test/test_gender_kr.rb +1 -1
  128. data/test/test_gender_pl.rb +1 -1
  129. data/test/test_gender_ru.rb +23 -0
  130. data/test/test_geolocation.rb +1 -1
  131. data/test/test_guid.rb +1 -1
  132. data/test/test_healthcare_ipsum.rb +1 -1
  133. data/test/test_healthcare_ru.rb +1 -1
  134. data/test/test_hipster_ipsum.rb +1 -1
  135. data/test/test_html_ipsum.rb +1 -1
  136. data/test/test_identification.rb +1 -1
  137. data/test/test_identification_br.rb +1 -1
  138. data/test/test_identification_co.rb +1 -1
  139. data/test/test_identification_es.rb +1 -1
  140. data/test/test_identification_es_cl.rb +1 -1
  141. data/test/test_identification_es_mx.rb +1 -1
  142. data/test/test_identification_in.rb +1 -1
  143. data/test/test_identification_it.rb +34 -0
  144. data/test/test_identification_kr.rb +1 -1
  145. data/test/test_identification_tw.rb +1 -1
  146. data/test/test_image.rb +1 -1
  147. data/test/test_internet.rb +1 -1
  148. data/test/test_internet_se.rb +1 -1
  149. data/test/test_job.rb +1 -1
  150. data/test/test_job_br.rb +1 -1
  151. data/test/test_job_cn.rb +1 -1
  152. data/test/test_job_fr.rb +1 -1
  153. data/test/test_job_it.rb +17 -0
  154. data/test/test_job_ja.rb +1 -1
  155. data/test/test_job_kr.rb +1 -1
  156. data/test/test_job_vn.rb +1 -1
  157. data/test/test_locale.rb +1 -1
  158. data/test/test_lorem.rb +1 -1
  159. data/test/test_lorem_ar.rb +1 -1
  160. data/test/test_lorem_br.rb +62 -0
  161. data/test/test_lorem_cn.rb +1 -1
  162. data/test/test_lorem_fr.rb +1 -1
  163. data/test/test_lorem_ie.rb +1 -1
  164. data/test/test_lorem_it.rb +51 -0
  165. data/test/test_lorem_ja.rb +1 -1
  166. data/test/test_lorem_kr.rb +1 -1
  167. data/test/test_lorem_pl.rb +1 -1
  168. data/test/test_lorem_ru.rb +1 -1
  169. data/test/test_lorem_ua.rb +1 -1
  170. data/test/test_module_utils.rb +1 -1
  171. data/test/test_movie.rb +1 -1
  172. data/test/test_music.rb +1 -1
  173. data/test/test_name.rb +1 -1
  174. data/test/test_name_ar.rb +1 -1
  175. data/test/test_name_br.rb +1 -1
  176. data/test/test_name_cn.rb +1 -1
  177. data/test/test_name_cs.rb +1 -1
  178. data/test/test_name_da.rb +1 -1
  179. data/test/test_name_de.rb +1 -1
  180. data/test/test_name_es.rb +1 -1
  181. data/test/test_name_fr.rb +1 -1
  182. data/test/test_name_ga.rb +1 -1
  183. data/test/test_name_gr.rb +1 -1
  184. data/test/test_name_id.rb +1 -1
  185. data/test/test_name_it.rb +1 -1
  186. data/test/test_name_ja.rb +1 -1
  187. data/test/test_name_kh.rb +1 -1
  188. data/test/test_name_kr.rb +1 -1
  189. data/test/test_name_mx.rb +1 -1
  190. data/test/test_name_nb.rb +1 -1
  191. data/test/test_name_nl.rb +1 -1
  192. data/test/test_name_ph.rb +1 -1
  193. data/test/test_name_pl.rb +1 -1
  194. data/test/test_name_ru.rb +1 -1
  195. data/test/test_name_se.rb +1 -1
  196. data/test/test_name_sn.rb +1 -1
  197. data/test/test_name_th.rb +1 -1
  198. data/test/test_name_th_en.rb +1 -1
  199. data/test/test_name_tw.rb +1 -1
  200. data/test/test_name_ua.rb +1 -1
  201. data/test/test_name_vn.rb +1 -1
  202. data/test/test_nato_alphabet.rb +1 -1
  203. data/test/test_phone_number.rb +1 -1
  204. data/test/test_phone_number_au.rb +1 -1
  205. data/test/test_phone_number_br.rb +1 -1
  206. data/test/test_phone_number_cu.rb +1 -1
  207. data/test/test_phone_number_da.rb +1 -1
  208. data/test/test_phone_number_de.rb +1 -1
  209. data/test/test_phone_number_fr.rb +1 -1
  210. data/test/test_phone_number_id.rb +1 -1
  211. data/test/test_phone_number_ja.rb +1 -1
  212. data/test/test_phone_number_kr.rb +1 -1
  213. data/test/test_phone_number_mx.rb +1 -1
  214. data/test/test_phone_number_nl.rb +1 -1
  215. data/test/test_phone_number_pl.rb +1 -1
  216. data/test/test_phone_number_se.rb +1 -1
  217. data/test/test_phone_number_sg.rb +1 -1
  218. data/test/test_phone_number_sn.rb +1 -1
  219. data/test/test_phone_number_tw.rb +1 -1
  220. data/test/test_phone_number_ua.rb +1 -1
  221. data/test/test_products.rb +1 -1
  222. data/test/test_sem_ver.rb +1 -1
  223. data/test/test_skill.rb +1 -1
  224. data/test/test_sport_pl.rb +1 -1
  225. data/test/test_sport_ru.rb +30 -0
  226. data/test/test_sport_us.rb +1 -1
  227. data/test/test_sports.rb +1 -1
  228. data/test/test_ssn.rb +1 -1
  229. data/test/test_ssn_mx.rb +1 -1
  230. data/test/test_ssn_se.rb +1 -1
  231. data/test/test_string.rb +1 -1
  232. data/test/test_time.rb +1 -1
  233. data/test/test_tweet.rb +1 -1
  234. data/test/test_unique_utils.rb +1 -1
  235. data/test/test_units.rb +2 -1
  236. data/test/test_units_english.rb +1 -1
  237. data/test/test_units_metric.rb +1 -1
  238. data/test/test_vehicle.rb +1 -1
  239. data/test/test_venue.rb +1 -1
  240. data/test/test_youtube.rb +1 -1
  241. metadata +206 -161
@@ -0,0 +1,84 @@
1
+ Abstract Strategy
2
+ Action / Dexterity
3
+ Adventure
4
+ Age of Reason
5
+ American Civil War
6
+ American Indian Wars
7
+ American Revolutionary War
8
+ American West
9
+ Ancient
10
+ Animals
11
+ Arabian
12
+ Aviation / Flight
13
+ Bluffing
14
+ Book
15
+ Card Game
16
+ Children's Game
17
+ City Building
18
+ Civil War
19
+ Civilization
20
+ Collectible Components
21
+ Comic Book / Strip
22
+ Deduction
23
+ Dice
24
+ Economic
25
+ Educational
26
+ Electronic
27
+ Environmental
28
+ Expansion for Base-game
29
+ Exploration
30
+ Fan Expansion
31
+ Fantasy
32
+ Farming
33
+ Fighting
34
+ Game System
35
+ Horror
36
+ Humor
37
+ Industry / Manufacturing
38
+ Korean War
39
+ Mafia
40
+ Math
41
+ Mature / Adult
42
+ Maze
43
+ Medical
44
+ Medieval
45
+ Memory
46
+ Miniatures
47
+ Modern Warfare
48
+ Movies / TV / Radio theme
49
+ Murder/Mystery
50
+ Music
51
+ Mythology
52
+ Napoleonic
53
+ Nautical
54
+ Negotiation
55
+ Novel-based
56
+ Number
57
+ Party Game
58
+ Pike and Shot
59
+ Pirates
60
+ Political
61
+ Post-Napoleonic
62
+ Prehistoric
63
+ Print & Play
64
+ Puzzle
65
+ Racing
66
+ Real-time
67
+ Religious
68
+ Renaissance
69
+ Science Fiction
70
+ Space Exploration
71
+ Spies/Secret Agents
72
+ Sports
73
+ Territory Building
74
+ Trains
75
+ Transportation
76
+ Travel
77
+ Trivia
78
+ Video Game Theme
79
+ Vietnam War
80
+ Wargame
81
+ Word Game
82
+ World War I
83
+ World War II
84
+ Zombies
@@ -0,0 +1,182 @@
1
+ Acting
2
+ Action Drafting
3
+ Action Points
4
+ Action Queue
5
+ Action Retrieval
6
+ Action Timer
7
+ Action/Event
8
+ Advantage Token
9
+ Alliances
10
+ Area Majority / Influence
11
+ Area Movement
12
+ Area-Impulse
13
+ Auction/Bidding
14
+ Auction: Dexterity
15
+ Auction: Dutch
16
+ Auction: Dutch Priority
17
+ Auction: English
18
+ Auction: Fixed Placement
19
+ Auction: Once Around
20
+ Auction: Sealed Bid
21
+ Auction: Turn Order Until Pass
22
+ Automatic Resource Growth
23
+ Betting and Bluffing
24
+ Bias
25
+ Bingo
26
+ Bribery
27
+ Campaign / Battle Card Driven
28
+ Card Drafting
29
+ Card Play Conflict Resolution
30
+ Catch the Leader
31
+ Chaining
32
+ Chit-Pull System
33
+ Closed Economy Auction
34
+ Command Cards
35
+ Commodity Speculation
36
+ Communication Limits
37
+ Connections
38
+ Constrained Bidding
39
+ Contracts
40
+ Cooperative Game
41
+ Crayon Rail System
42
+ Critical Hits and Failures
43
+ Cube Tower
44
+ Deck Construction
45
+ Deck, Bag, and Pool Building
46
+ Deduction
47
+ Delayed Purchase
48
+ Dice Rolling
49
+ Die Icon Resolution
50
+ Different Dice Movement
51
+ Drafting
52
+ Elapsed Real Time Ending
53
+ Enclosure
54
+ End Game Bonuses
55
+ Events
56
+ Finale Ending
57
+ Flicking
58
+ Follow
59
+ Force Commitment
60
+ Grid Coverage
61
+ Grid Movement
62
+ Hand Management
63
+ Hexagon Grid
64
+ Hidden Movement
65
+ Hidden Roles
66
+ Hidden Victory Points
67
+ Highest-Lowest Scoring
68
+ Hot Potato
69
+ I Cut, You Choose
70
+ Impulse Movement
71
+ Income
72
+ Increase Value of Unchosen Resources
73
+ Induction
74
+ Interrupts
75
+ Investment
76
+ Kill Steal
77
+ King of the Hill
78
+ Ladder Climbing
79
+ Layering
80
+ Legacy Game
81
+ Line Drawing
82
+ Line of Sight
83
+ Loans
84
+ Lose a Turn
85
+ Mancala
86
+ Map Addition
87
+ Map Deformation
88
+ Map Reduction
89
+ Market
90
+ Matching
91
+ Measurement Movement
92
+ Melding and Splaying
93
+ Memory
94
+ Minimap Resolution
95
+ Modular Board
96
+ Move Through Deck
97
+ Movement Points
98
+ Movement Template
99
+ Moving Multiple Units
100
+ Multiple Maps
101
+ Multiple-Lot Auction
102
+ Narrative Choice / Paragraph
103
+ Negotiation
104
+ Network and Route Building
105
+ Once-Per-Game Abilities
106
+ Order Counters
107
+ Ownership
108
+ Paper-and-Pencil
109
+ Passed Action Token
110
+ Pattern Building
111
+ Pattern Movement
112
+ Pattern Recognition
113
+ Physical Removal
114
+ Pick-up and Deliver
115
+ Pieces as Map
116
+ Player Elimination
117
+ Player Judge
118
+ Point to Point Movement
119
+ Predictive Bid
120
+ Prisoner's Dilemma
121
+ Programmed Movement
122
+ Push Your Luck
123
+ Race
124
+ Random Production
125
+ Ratio / Combat Results Table
126
+ Re-rolling and Locking
127
+ Real-Time
128
+ Relative Movement
129
+ Resource to Move
130
+ Rock-Paper-Scissors
131
+ Role Playing
132
+ Roles with Asymmetric Information
133
+ Roll / Spin and Move
134
+ Rondel
135
+ Scenario / Mission / Campaign Game
136
+ Score-and-Reset Game
137
+ Secret Unit Deployment
138
+ Selection Order Bid
139
+ Semi-Cooperative Game
140
+ Set Collection
141
+ Simulation
142
+ Simultaneous Action Selection
143
+ Singing
144
+ Single Loser Game
145
+ Slide/Push
146
+ Solo / Solitaire Game
147
+ Speed Matching
148
+ Square Grid
149
+ Stacking and Balancing
150
+ Stat Check Resolution
151
+ Static Capture
152
+ Stock Holding
153
+ Storytelling
154
+ Sudden Death Ending
155
+ Take That
156
+ Targeted Clues
157
+ Team-Based Game
158
+ Tech Trees / Tech Tracks
159
+ Three Dimensional Movement
160
+ Tile Placement
161
+ Time Track
162
+ Track Movement
163
+ Trading
164
+ Traitor Game
165
+ Trick-taking
166
+ Tug of War
167
+ Turn Order: Auction
168
+ Turn Order: Claim Action
169
+ Turn Order: Pass Order
170
+ Turn Order: Progressive
171
+ Turn Order: Random
172
+ Turn Order: Role Order
173
+ Turn Order: Stat-Based
174
+ Variable Phase Order
175
+ Variable Player Powers
176
+ Variable Set-up
177
+ Victory Points as a Resource
178
+ Voting
179
+ Worker Placement
180
+ Worker Placement with Dice Workers
181
+ Worker Placement, Different Worker Types
182
+ Zone of Control
@@ -0,0 +1,37 @@
1
+ Jungle
2
+ Witch
3
+ Woman
4
+ Women
5
+ Man
6
+ Men
7
+ Ninja
8
+ Ninjas
9
+ Pickpocket
10
+ Hills
11
+ Clash
12
+ Wizard
13
+ Wizards
14
+ World
15
+ Brain
16
+ Brains
17
+ Mutant
18
+ Dreams
19
+ Tears
20
+ City
21
+ Cat
22
+ Tentacle
23
+ Friday
24
+ Rain
25
+ Thief
26
+ Beast
27
+ Demon
28
+ Monster
29
+ Brew
30
+ Oath
31
+ School
32
+ Gods
33
+ Gods
34
+ Mars
35
+ Clan
36
+ Lion
37
+ Spirit
@@ -0,0 +1,17 @@
1
+ Time of the
2
+ Season of the
3
+ Return of the
4
+ I am
5
+ Planet of the
6
+ War of the
7
+ Invasion of the
8
+ I Married a
9
+ Legend of
10
+ Codename:
11
+ Case of the Missing
12
+ Day of the
13
+ Curse of the
14
+ Rise of the
15
+ The
16
+ A Fistful of
17
+ Journey of the
@@ -0,0 +1,37 @@
1
+ Soluzioni
2
+ Programma
3
+ Marca
4
+ Sicurezza
5
+ Ricerca
6
+ Marketing
7
+ Direttive
8
+ Implementazione
9
+ Integrazione
10
+ Funzionalità
11
+ Risposta
12
+ Paradigma
13
+ tattica
14
+ Identità
15
+ mercati
16
+ Gruppo
17
+ Divisione
18
+ Applicazioni
19
+ Ottimizzazione
20
+ operazioni
21
+ Infrastruttura
22
+ Intranet
23
+ Comunicazioni
24
+ ragnatela
25
+ marchio
26
+ Qualità
27
+ Assicurazione
28
+ Mobilità
29
+ Conti
30
+ Dati
31
+ Creativo
32
+ Configurazione
33
+ Responsabilità
34
+ Interazioni
35
+ Fattori
36
+ Usabilità
37
+ Metrica
@@ -0,0 +1,25 @@
1
+ Supervisore
2
+ Socio
3
+ Esecutivo
4
+ collegamento
5
+ Ufficiale
6
+ Manager
7
+ Ingegnere
8
+ Specialista
9
+ La direttrice
10
+ Coordinatore
11
+ Amministratore
12
+ Architetto
13
+ Analista
14
+ progettista
15
+ pianificatore
16
+ orchestratore
17
+ Tecnico
18
+ Sviluppatore
19
+ Produttore
20
+ Consulente
21
+ Assistente
22
+ Facilitatore
23
+ Agente
24
+ Rappresentante
25
+ Stratega
@@ -0,0 +1,22 @@
1
+ Guida
2
+ Anziano
3
+ Diretto
4
+ aziendale
5
+ Dinamico
6
+ Futuro
7
+ Prodotto
8
+ Nazionale
9
+ Regionale
10
+ Quartiere
11
+ Centrale
12
+ Globale
13
+ Cliente
14
+ Investitore
15
+ Dinamico
16
+ Internazionale
17
+ Eredità
18
+ Inoltrare
19
+ Interno
20
+ Umano
21
+ Capo
22
+ Principale
@@ -0,0 +1,36 @@
1
+ a
2
+ b
3
+ c
4
+ d
5
+ e
6
+ f
7
+ g
8
+ h
9
+ i
10
+ j
11
+ k
12
+ l
13
+ m
14
+ n
15
+ o
16
+ p
17
+ q
18
+ r
19
+ s
20
+ t
21
+ u
22
+ v
23
+ w
24
+ x
25
+ y
26
+ z
27
+ 0
28
+ 1
29
+ 2
30
+ 3
31
+ 4
32
+ 5
33
+ 6
34
+ 7
35
+ 8
36
+ 9