SlideShare a Scribd company logo
1 of 55
Python 3.3
 ふるかわとおる
おまえ誰よ

• @torufurukawa
• 古川亨
• 株式会社バスキュール号
リリースが近づいてまいりました
  3.3.0 alpha 1: March 3, 2012
  3.3.0 alpha 2: March 31, 2012
  3.3.0 alpha 3: April 28, 2012
  3.3.0 alpha 4: May 26, 2012
  3.3.0 beta 1: June 23, 2012
  (No new features beyond this point.)


  3.3.0   beta 2: July 14, 2012
  3.3.0   candidate 1: July 28, 2012
  3.3.0   candidate 2: August 11, 2012
  3.3.0   final: August 18, 2012
リリースが近づいてまいりました
  3.3.0 alpha 1: March 3, 2012
  3.3.0 alpha 2: March 31, 2012
  3.3.0 alpha 3: April 28, 2012
  3.3.0 alpha 4: May 26, 2012
  3.3.0 beta 1: June 23, 2012
  (No new features beyond this point.)


  3.3.0   beta 2: July 14, 2012
  3.3.0   candidate 1: July 28, 2012
  3.3.0   candidate 2: August 11, 2012
  3.3.0   final: August 18, 2012
リリースが近づいてまいりました
  3.3.0 alpha 1: March 3, 2012
  3.3.0 alpha 2: March 31, 2012
  3.3.0 alpha 3: April 28, 2012
  3.3.0 alpha 4: May 26, 2012
  3.3.0 beta 1: June 23, 2012
  (No new features beyond this point.)


  3.3.0   beta 2: July 14, 2012
  3.3.0   candidate 1: July 28, 2012
  3.3.0   candidate 2: August 11, 2012
  3.3.0   final: August 18, 2012
チラ見
【u】文字列【またぁ?】
u
u
Python 3.2
u
Python 3.2
>>> 'ほげ'
u
Python 3.2
>>> 'ほげ'
'ほげ'
u
Python 3.2
>>> 'ほげ'
'ほげ'
>>> u'ほげ'
u
Python 3.2
>>> 'ほげ'
'ほげ'
>>> u'ほげ'
 File "<stdin>", line 1
u
Python 3.2
>>> 'ほげ'
'ほげ'
>>> u'ほげ'
 File "<stdin>", line 1
   u'ほげ'
u
Python 3.2
>>> 'ほげ'
'ほげ'
>>> u'ほげ'
 File "<stdin>", line 1
   u'ほげ'
         ^
u
Python 3.2
>>> 'ほげ'
'ほげ'
>>> u'ほげ'
 File "<stdin>", line 1
   u'ほげ'
         ^
SyntaxError: invalid syntax
u
Python 3.2                  Python 3.3
>>> 'ほげ'
'ほげ'
>>> u'ほげ'
 File "<stdin>", line 1
   u'ほげ'
         ^
SyntaxError: invalid syntax
u
Python 3.2                  Python 3.3
>>> 'ほげ'                    >>> 'ほげ'
'ほげ'
>>> u'ほげ'
 File "<stdin>", line 1
   u'ほげ'
         ^
SyntaxError: invalid syntax
u
Python 3.2                  Python 3.3
>>> 'ほげ'                    >>> 'ほげ'
'ほげ'                        'ほげ'
>>> u'ほげ'
 File "<stdin>", line 1
   u'ほげ'
         ^
SyntaxError: invalid syntax
u
Python 3.2                    Python 3.3
>>> 'ほげ'                      >>> 'ほげ'
'ほげ'                          'ほげ'
>>> u'ほげ'                     >>> u'ほげ'
 File "<stdin>", line 1
   u'ほげ'
         ^
SyntaxError: invalid syntax
u
Python 3.2                    Python 3.3
>>> 'ほげ'                      >>> 'ほげ'
'ほげ'                          'ほげ'
>>> u'ほげ'                     >>> u'ほげ'
 File "<stdin>", line 1       'ほげ'
   u'ほげ'
         ^
SyntaxError: invalid syntax
u
Python 3.2                    Python 3.3
>>> 'ほげ'                      >>> 'ほげ'
'ほげ'                          'ほげ'
>>> u'ほげ'                     >>> u'ほげ'
 File "<stdin>", line 1       'ほげ'
   u'ほげ'                      >>> 'ほげ' == u'ほげ'
         ^
SyntaxError: invalid syntax
u
Python 3.2                    Python 3.3
>>> 'ほげ'                      >>> 'ほげ'
'ほげ'                          'ほげ'
>>> u'ほげ'                     >>> u'ほげ'
 File "<stdin>", line 1       'ほげ'
   u'ほげ'                      >>> 'ほげ' == u'ほげ'
         ^                    True
SyntaxError: invalid syntax
non-BMP Unicode 文字
non-BMP Unicode 文字
Python 3.2
>>> 'U0001F344'
>>> len(x)
2
>>> x[0], x[1]
('ud83c', 'udf4c')
non-BMP Unicode 文字
Python 3.2             Python 3.3
>>> 'U0001F344'       >>> x = 'U0001F344'
>>> len(x)             >>> len(x)
2                      1
>>> x[0], x[1]         >>> x[0]
('ud83c', 'udf4c')   'ud83c'
【yield】サブジェネレータ【next】
>>> def g():
>>> def g():
...  yield 'START'
>>> def g():
...  yield 'START'
...  for i in range(5):
>>> def g():
...  yield 'START'
...  for i in range(5):
...         yield i
>>>   def g():
...    yield 'START'
...    for i in range(5):
...           yield i
...    yield 'END'
>>>   def g():
...    yield 'START'
...    for i in range(5):
...           yield i
...    yield 'END'
...
>>>   def g():
...    yield 'START'
...    for i in range(5):
...           yield i
...    yield 'END'
...
>>>   list(g())
>>> def g():
...   yield 'START'
...   for i in range(5):
...          yield i
...   yield 'END'
...
>>> list(g())
['START', 0, 1, 2, 3, 4, 'END']
サブジェネレータ
サブジェネレータ
>>> def g():
サブジェネレータ
>>> def g():
...  yield 'START'
サブジェネレータ
>>> def g():
...  yield 'START'
...  yield from range(5)
サブジェネレータ
>>>   def g():
...    yield 'START'
...    yield from range(5)
...    yield 'END'
サブジェネレータ
>>>   def g():
...    yield 'START'
...    yield from range(5)
...    yield 'END'
...
サブジェネレータ
>>>   def g():
...    yield 'START'
...    yield from range(5)
...    yield 'END'
...
>>>   list(g())
サブジェネレータ
>>> def g():
...   yield 'START'
...   yield from range(5)
...   yield 'END'
...
>>> list(g())
['START', 0, 1, 2, 3, 4, 'END']
細々ときれいになる
IOError のヒエラルキーがひどい
+-- EnvironmentError
   +-- IOError
      +-- io.BlockingIOError
      +-- io.UnsupportedOperation
      +-- socket.error
         +-- socket.gaierror
         +-- socket.herror
         +-- socket.timeout
   +-- OSError
      +-- VMSError
      +-- WindowsError
   +-- mmap.error
+-- select.error
シンプルに
+-- OSError (replacing IOError, WindowsError,
                EnvironmentError, etc.)
   +-- io.BlockingIOError
   +-- io.UnsupportedOperation
   +-- socket.gaierror
   +-- socket.herror
   +-- socket.timeout
distutils から packaging へ
さよなら
OS/2, VMS, Windows 2000
以上、チラ見せでした
まだ控えている PEP があります
PEP   362: Function Signature Object
PEP   395: Module Aliasing
PEP   397: Python launcher for Windows
PEP   402: Simplified Package Layout (likely a new PEP derived from it)
PEP   405: Python Virtual Environments
PEP   412: Key-Sharing Dictionary
PEP   3143: Standard daemon process library
PEP   3144: IP Address manipulation library


Other planned large-scale changes:


Addition of the "mock" library
Addition of the C decimal implementation
Addition of the "regex" module
Email version 6
Implementing __import__ using importlib
A standard event-loop interface (PEP by Jim Fulton pending)
Breaking out standard library and docs in separate repos?
PEP 3143: Standard
daemon process library
 import daemon
 from spam import do_main_program
 with daemon.DaemonContext():
    do_main_program()
PEP 405: Python
 Virtual Environments

python3 -m venv /wozozo
Python 3.3 をよろしく

More Related Content

What's hot

Plugins by tagomoris #fluentdcasual
Plugins by tagomoris #fluentdcasualPlugins by tagomoris #fluentdcasual
Plugins by tagomoris #fluentdcasual
SATOSHI TAGOMORI
 
Instalasi Network Monitoring System (Nagios) Ubuntu 12.04
Instalasi Network Monitoring System (Nagios) Ubuntu 12.04Instalasi Network Monitoring System (Nagios) Ubuntu 12.04
Instalasi Network Monitoring System (Nagios) Ubuntu 12.04
Febi Gelar Ramadhan
 
Gdc09 Minimissile
Gdc09 MinimissileGdc09 Minimissile
Gdc09 Minimissile
Susan Gold
 

What's hot (20)

Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012Pry at the Ruby Drink-up of Sophia, February 2012
Pry at the Ruby Drink-up of Sophia, February 2012
 
ZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made SimpleZeroMQ: Messaging Made Simple
ZeroMQ: Messaging Made Simple
 
ZeroMQ Is The Answer
ZeroMQ Is The AnswerZeroMQ Is The Answer
ZeroMQ Is The Answer
 
36 gotas de-sabiduria
36 gotas de-sabiduria36 gotas de-sabiduria
36 gotas de-sabiduria
 
gemdiff
gemdiffgemdiff
gemdiff
 
Software Exploits
Software ExploitsSoftware Exploits
Software Exploits
 
Crack.ba
Crack.baCrack.ba
Crack.ba
 
Sp ch05
Sp ch05Sp ch05
Sp ch05
 
Plugins by tagomoris #fluentdcasual
Plugins by tagomoris #fluentdcasualPlugins by tagomoris #fluentdcasual
Plugins by tagomoris #fluentdcasual
 
Strings
StringsStrings
Strings
 
Mongo db tailable cursors
Mongo db tailable cursorsMongo db tailable cursors
Mongo db tailable cursors
 
Vcs28
Vcs28Vcs28
Vcs28
 
RabbitMQ
RabbitMQRabbitMQ
RabbitMQ
 
Python for Linux System Administration
Python for Linux System AdministrationPython for Linux System Administration
Python for Linux System Administration
 
strace for Perl Mongers
strace for Perl Mongersstrace for Perl Mongers
strace for Perl Mongers
 
Instalasi Network Monitoring System (Nagios) Ubuntu 12.04
Instalasi Network Monitoring System (Nagios) Ubuntu 12.04Instalasi Network Monitoring System (Nagios) Ubuntu 12.04
Instalasi Network Monitoring System (Nagios) Ubuntu 12.04
 
Bash Programming
Bash ProgrammingBash Programming
Bash Programming
 
Spraykatz installation & basic usage
Spraykatz installation & basic usageSpraykatz installation & basic usage
Spraykatz installation & basic usage
 
As400 load all subfile
As400   load all subfileAs400   load all subfile
As400 load all subfile
 
Gdc09 Minimissile
Gdc09 MinimissileGdc09 Minimissile
Gdc09 Minimissile
 

Viewers also liked (6)

PyConJP2012 メンバ募集 -pyfes 2012.03-
PyConJP2012 メンバ募集 -pyfes 2012.03-PyConJP2012 メンバ募集 -pyfes 2012.03-
PyConJP2012 メンバ募集 -pyfes 2012.03-
 
BLUE*アルゴリズム
BLUE*アルゴリズムBLUE*アルゴリズム
BLUE*アルゴリズム
 
塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)
塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)
塹壕戦から揚陸艇強襲上陸まで (2012/03/17 pyfes)
 
絵で見てわかる 某分散データストア
絵で見てわかる 某分散データストア絵で見てわかる 某分散データストア
絵で見てわかる 某分散データストア
 
Python3と向かい合ってみる
Python3と向かい合ってみるPython3と向かい合ってみる
Python3と向かい合ってみる
 
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
『JUnit実践入門』写経・実践会 in 横浜 #6 (特別編) #junitbook
 

Similar to Python 3.3 チラ見

Computer 10 Quarter 3 Lesson .ppt
Computer 10 Quarter 3 Lesson .pptComputer 10 Quarter 3 Lesson .ppt
Computer 10 Quarter 3 Lesson .ppt
RedenOriola
 

Similar to Python 3.3 チラ見 (20)

Libraries
LibrariesLibraries
Libraries
 
Basics
BasicsBasics
Basics
 
2 × 3 = 6
2 × 3 = 62 × 3 = 6
2 × 3 = 6
 
Slicing
SlicingSlicing
Slicing
 
Introduction to Python for Bioinformatics
Introduction to Python for BioinformaticsIntroduction to Python for Bioinformatics
Introduction to Python for Bioinformatics
 
Python fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuanPython fundamentals - basic | WeiYuan
Python fundamentals - basic | WeiYuan
 
Tuples
TuplesTuples
Tuples
 
Python course Day 1
Python course Day 1Python course Day 1
Python course Day 1
 
Computer 10 Quarter 3 Lesson .ppt
Computer 10 Quarter 3 Lesson .pptComputer 10 Quarter 3 Lesson .ppt
Computer 10 Quarter 3 Lesson .ppt
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processing
 
Moving to Python 3
Moving to Python 3Moving to Python 3
Moving to Python 3
 
Τα Πολύ Βασικά για την Python
Τα Πολύ Βασικά για την PythonΤα Πολύ Βασικά για την Python
Τα Πολύ Βασικά για την Python
 
Pycon taiwan 2018_claudiu_popa
Pycon taiwan 2018_claudiu_popaPycon taiwan 2018_claudiu_popa
Pycon taiwan 2018_claudiu_popa
 
جلسه ششم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲- ارائه ۲
جلسه ششم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲- ارائه ۲جلسه ششم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲- ارائه ۲
جلسه ششم پایتون برای هکر های قانونی دوره مقدماتی پاییز ۹۲- ارائه ۲
 
Numbers obfuscation in Python
Numbers obfuscation in PythonNumbers obfuscation in Python
Numbers obfuscation in Python
 
Python 3
Python 3Python 3
Python 3
 
python-cheatsheets.pdf
python-cheatsheets.pdfpython-cheatsheets.pdf
python-cheatsheets.pdf
 
python-cheatsheets that will be for coders
python-cheatsheets that will be for coderspython-cheatsheets that will be for coders
python-cheatsheets that will be for coders
 
Python lecture 03
Python lecture 03Python lecture 03
Python lecture 03
 
Python course
Python coursePython course
Python course
 

More from Toru Furukawa

おまえらこのライブラリ使ってないの? m9 (2013-07)
おまえらこのライブラリ使ってないの? m9	(2013-07)おまえらこのライブラリ使ってないの? m9	(2013-07)
おまえらこのライブラリ使ってないの? m9 (2013-07)
Toru Furukawa
 
Trying Continuous Delivery - pyconjp 2012
Trying Continuous Delivery - pyconjp 2012Trying Continuous Delivery - pyconjp 2012
Trying Continuous Delivery - pyconjp 2012
Toru Furukawa
 

More from Toru Furukawa (11)

Twitter 広告と API を組み合わせたインタラクティブなキャンペーン
 Twitter 広告と API を組み合わせたインタラクティブなキャンペーン Twitter 広告と API を組み合わせたインタラクティブなキャンペーン
Twitter 広告と API を組み合わせたインタラクティブなキャンペーン
 
My client wanted their apps synced, and I made it with Go
My client wanted their apps synced, and I made it with GoMy client wanted their apps synced, and I made it with Go
My client wanted their apps synced, and I made it with Go
 
Introduction to Python 3.4 as of beta 1
Introduction to Python 3.4 as of beta 1Introduction to Python 3.4 as of beta 1
Introduction to Python 3.4 as of beta 1
 
Test Failed, Then...
Test Failed, Then...Test Failed, Then...
Test Failed, Then...
 
おまえらこのライブラリ使ってないの? m9 (2013-07)
おまえらこのライブラリ使ってないの? m9	(2013-07)おまえらこのライブラリ使ってないの? m9	(2013-07)
おまえらこのライブラリ使ってないの? m9 (2013-07)
 
Mock and patch
Mock and patchMock and patch
Mock and patch
 
Trying Continuous Delivery - pyconjp 2012
Trying Continuous Delivery - pyconjp 2012Trying Continuous Delivery - pyconjp 2012
Trying Continuous Delivery - pyconjp 2012
 
Python32 pyhackathon-201011
Python32 pyhackathon-201011Python32 pyhackathon-201011
Python32 pyhackathon-201011
 
Django
Django Django
Django
 
Python 2.7
Python 2.7Python 2.7
Python 2.7
 
BPStudy#34 導入
BPStudy#34 導入BPStudy#34 導入
BPStudy#34 導入
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Python 3.3 チラ見

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n